论小生成树算法的动态演示

时间:2022-06-27 04:20:01

论小生成树算法的动态演示

摘 要:本设计经过对数据结构最小生成树算法的深入研究,在Visual C++6.0的环境编译平台下,开发一个用于帮助学生理解数据结构算法的动态演示系统。此系统能将交互性、可视性、拓展性紧密的结合起来,它能在很大程度上改良传统教学上的缺点。

关键词:最小生成树;Visual C++6.0;动态演示

1概述

通常情况下,《数据结构》算法是基于用Turboc为代表的DOS的开发环境。所以它的呈现出来的可视化效果非常差。正是由于在这种环境下使学习者的理解能力和深入探讨的能力出现了很大的问题。本设计的主要目标是:在Visual c++的编程环境下,开发一个用来专门帮助学生理解和能够轻松并快速的掌握数据结构算法--最小生成树算法的动态演示系统。

1.1本课题的研究意义

本设计经过对数据结构最小生成树算法的深入研究,在Visual C++6.0的环境编译平台下,开发一个用于帮助学生理解数据结构算法的动态演示系统。此系统能将交互性、可视性、拓展性紧密的结合起来,它能在很大程度上改良传统教学上的缺点,并且可以使复杂又难理解的数据结构算法进过和老师在课堂上演示和学生自己的不断的交互式操作实验变得更加简单易懂,十分有效果的提高了教学上的质量。

1.2课题的关键技术

本系统是要实现最小生成树算法的动态演示。核心技术是深度优先搜索遍历算法和图的广度优先遍历算法和最小生成树算法的动态演示。

1.3系统开发平台Microsoft Visual Studio 2008

.NET开发平台包括下面几点内容:

.NET开发的工具,包括:.NET编程的语言(例:新的Visual C#和Visual ),使用来创造建立在运行CLR下和使用类库的应用程序;Visual Integrated Development Environment(IDE)Visual 集成开发环境,使用来测试与开发应用程序。

一个可以替代以前的Active Server Pages(ASP)的特殊类库,它可以用来建立动态Web服务器应用程序与Web内容,这类都将使用如XML,HTML,Simple Object Access Protocol(SOAP)(简单对象访问协议)等网络协议与数据格式。

.NET Framework(架构),包含:新的类库,分层次的组织了开发人员能够在他们自己的应用程序中来使用显示出图形用户界面,以及访问文件和数据库和在Web上通信的代码集合;Common Language Runtime (CLR)(通用语言的运行环境),它是用开加载和运行应用程序的软件组件。

Visual Studio .NET 主要是提供了一个使用在它平台上创建应用程序的图形(IDE)(集成开发环境)Integrated Development Environment.开发人员能够利用一种或者多种.NET编程的语言,来编写他们自己的代码,如微软公司自己的Visual C#,Visual c++,()以及Jscrjpt等。其他大量的.NET编程语言能够成第三方面的厂商获得。

2 相关技术概念

2.1系统的可行性

要进行一个软件开发项目,第一步应该是对它进行可行性分析。可行性分析能够在很大程度上缩减了设计过程。尤其是在相对高的层次用抽象的方式来实现。它的目的是使开发人员能够在较短的时间内评估项目是否可以进行开发,能否有价值。可行性分析,先要对问题进行定义,接着确定问题的目的和规模。下一步在高层次分析目前的系统,确认它的物理模型与逻辑模型。然后在依据有关的问题,设计解决有关问题,确定可以解决问题的若干方案,再依次研究每一种方案的可行行是怎样的。可行性的研究,它可以在经济,技术以及在操作等多方面的研究和探讨出方案的可行性,最后也可以做出具体的结论给用户们进行参考。

2.2技术可行性

在本次设计的动态演示系统,我使用.NET作为开发的平台,使用Microsoft Visual C++。它是一种面向对象的程序开发语言,能够让开发人员在最新的微软推出的.NET开发平台上迅速的开发出类型很多的应用程序。在.NET开发平台上,它提供了很多的开发工具与服务,可以在很大程度上挖掘使用计算机与通信技术。在本次开发中,涉及到了大量的对象实体。

2.3基础可行性

本人在大学四年学习期间,对《数据结构》这门课程掌握的比较好,而且熟练的掌握了Visual C++相关方面的专业知识,在指导教师的大力帮助下,对本次设计有了初步的方案。

由于我的指导老师十分认真,而且有责任心,因此我可以在较早的时间就开始做好准备工作。所有我有足够多的时间来完成本次设计的系统。期间我能够成分的运用学校图书馆的丰富的资源,以及学院里面为了给与我们方便,开放了电脑机房,让我们在硬件上有了良好的保障。

2.4 操作可行性

根据本系统的特点,再加上Windows非常良好的用户界面以及本次设计系统中良好的安全性设置,这就能够令系统操作员轻松,便捷的掌握好使用方法。在开发过程期间,充分的给与了操作员方便,在很大程度上提高了工作效率。本次设计的系统很简单,易于操作,易于维护,而且能够减少那些不必要的问题。

2.5 系统需求分析

软件的需求分析这一过程是不可以缺少的,简单来说,是要从用户的业务里面提取出可以帮助用户们解决问题,经过了对于用户业务问题的分析,然后规划设计出我们的软件产品。这一过程主要是:进行用户业务规划,然后把它转化成软件产品,因此能够提升产品的管理,并且产生了质的飞跃。这一个步骤能否成功,关键到了开发出来的软件产品是不是能够得到用户的认可,然后就能顺利的交付给用户,用户们是否可以使用我们开发出来的产品来帮助他们解决问题。依据软件工程对于软件开发的过程描写,在需求阶段中,可以分为需求调研与需求需求分析这两个阶段。

2.6用户需求分析

《数据结构》是一门计算机专业的一门核心必修专业课,它对于后续课程如《编译原理与技术》等课程的学习非常重要。但它这门课程包含很多的定义、概念、算法还有模型,特别是图中的算法非常的深奥和抽象,对于学生门挺难理解的。上课用黑板来板书的形式是特别难将这些算法的运行过程利用动态的演示出来,这非常影响教师的教学质量和效果。

3软件测试

3.1系统测试

系统测试是:在假设系统里面存在着错误的前提条件下进行的,经过测试过程中来实现尽可能地发现在系统分、系统设计以及系统实施中存在的错误。也可以这样来说,系统测试的主要目的是为了发现并且解决系统中那些有可能性存在的错误。测试里面包含对系统的基本功能和系统的效率,以及系统的可靠性与可操作性能等等问题所进行的测试。系统测试的目标明确的体现了在系统调试的那些步骤里面。程序测试的目的是:为了寻找出程序设计里面的错误。

系统测试主要有两种方法如下:

3.1.1黑箱法:它说的是测试人员一点也不需要思考程序模块的内部结构是怎样的,仅仅是使用程序来检验程序是不是能够满足功能的全部需求,是不是会发生什么异常的现象。

3.1.2白箱法:它说的是测试人员是依据模块内部的结构,然后导出测试的数据,最后令模块里面的一切测试途径都能都被检出来。

系统测试应该在程序测试里面使用白箱法,而且要在系统的调试里面也要使用白箱法。尽管如此,当你在具体实践里面,这需要的是不想结合在一起来运用。原因是:不管是“黑箱法”或者是“白箱法”,它们两者都是没有办法把系统中一切的错误都测试出来的。

参考文献:

[1]黄同成著.数据结构.中国电力出版社,2008:21.

[2]郑阿奇.C++实用教程[M].北京:电子工业出版社,2008.1:10-39,81-100.

[3]王昊.Visual C++ 程序设计教程[M].北京:清华大学出版社,2005:159.

[4]张海藩.软件工程导论[M].第四版.清华大学出版社,2006.

[5]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246 .

作者简介:

黄(1991.4~),男,汉族,海南省昌江人,大学生,主修计算机专业。

上一篇:幼儿口腔保健健康教育干予效果评价 下一篇:银川市9596名职业人群健康体检患病情况分析