1。3 本文研究内容及主要贡献
1。3。1 本文研究内容
本文研究的是如何才能使用Java编写出一个常用算法动画演示系统。系统可以动画地演示出常用算法如冒泡排序、直接选择法排序、快速排序、堆排序、直接插入排序、希尔排序、归并排序、基数排序算法。首先设计出一个图形用户界面,在图形用户界面中添加这些算法的按钮和数据输入框以及代码显示框。用户可以通过鼠标点击相应的算法的按钮实现动画演示出这个算法,并且可以看到这个算法的代码。
1。3。2 本文主要贡献
随着计算机编程的普及,常用的算法对我们学习计算机编程有着很大的帮助,也有着很广泛的应用。了解和学习这些算法对我们日常生活也有很大的帮助。本文通过对八种排序算法进行分析,可以帮助大家巩固这几种常用算法。也可以帮助大家了解如何开发系统。
第2章 设计分析
2。1 需求分析
算法是计算机编程的灵魂,常用的算法也不胜枚举,因此,我们这里将对冒泡排序,直接选择法排序,快速排序,堆排序,直接插入排序,希尔排序,归并排序,基数排序这八种算法进行动画演示。本系统主要有两大功能,即算法的动画演示功能和算法代码的显示。
本系统的功能结构图如图2。1所示。
图2。1系统功能结构图
2。2 系统的开发与运行环境
2。2。1 硬件环境
(1)内存使用512M或以上;
(2)CPU使用Intel Pentium 1024MHZ或以上;
(3)硬盘使用100G或以上。
2。2。2 软件环境
(1)Windows XP或以上操作系统;
(2)NetBeans IDE 8。0。
2。2。3 Java语言简介
Java是一种可以编写跨平台应用程序的程序设计语言。Java具有11项主要特点,分别是简单性,安全性,体系结构中立,鲁棒性,可移植性,分布性,多线程,解释型,高性能,面向对象,动态性。Java又是一种解释型的程序设计语言,即Java源程序可以通过Java编译器来进行编译,生成字节码。字节码最大的优点是可以跨平台运行。Java语言是使用用虚拟机技术来实现Java程序的跨平台运行的。
2。2。4 NetBeans IDE 8。0开发工具介绍
NetBeans是一个旨在为使用开发者、企业及用户提供强大稳定的软件开发产品的开源项目。NetBeans IDE能够帮助使用者快捷而迅速地开发各式各样的应用程序。同时,NetBeans也为开发者提供了一系列的开发工具。NetBeans是一个拥有大批使用者的免费、开源的IDE。NetBeans IDE的三大基本特性分别是:1。模版和样本应用2。插件管理3。数据库和服务。
2。3 系统用例分析文献综述
2。3。1 识别参与者
根据图2。1所示的功能结构图的内容,我在对系统进行分析以后,可以得出程序在运行的时候一共有两个参与者,分别是界面和用户。
2。3。2 识别用例
通过对需求的进一步分析,可以得出系统具有四个用例,分别是输入数据,选择算法,动画演示算法,显示算法代码。
2。3。3 构建用例图
系统的用例图如图2。2所示。
图2。2用例图(一)
将上面的用例图进行细化以后得到下图所示的图2。3。
图2。3用例图(二)
2。4 设计思路
对于设计出一个常用算法动画演示系统,一开始有两种设计思路,第一种是设计出一个图形用户界面,在界面中添加8种算法的按钮、一个数据输入框和算法代码显示框,一个关闭按钮。用户先在数据输入框中输入需要执行动画演示的数据,然后点击一个算法按钮,系统可以动画的演示出这个算法的执行过程。用户看到的是自己输入的数字之间的动画演示。与此同时,还可以看到这个算法的代码。这样可以供用户学习这些算法。第二种是设计出一个图形用户界面,用户不能自己输入数据,而是系统自己生成的长度不等的一个个圆柱体,圆柱体的长度就代表着数据的大小。在图形用户界面中添加八种算法选择项的按钮,开始和停止按钮,用户先选择一个算法,点击开始,用户可以看到这个算法的动画演示和该算法的代码,用户看到的是一个个圆柱体之间的动画演示。虽然第二种设计思路用户看到的动画演示更加直观,但是第二种设计思路的用户体验感不强,且第一种设计思路更有助于用户了解和学习算法,更加简洁明了,所以最终选择第一种设计思路。