排序算法的实现与演示需求分析报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求分析报告
排序算法的实现与演示系统
班级10060342X 第
十组
姓名崔杰43 郭伟
51 刘文忠50
付耀萱48 一.问题的提出
1.1 概述排序在人们的日常生活和学习、科研、生产等各个方面有着重要的应用。因此掌握常用的排序算法是很必要的。此次设计拟开发一个排序算法演示系统,以提高对排序算法的掌握程度。
本系统实现八种不同排序算法即:快速排序、冒泡排序、堆排序、直接插入排序、希尔
排序、直接选择排序、归并排序、基数排序的排序演示。用户可以选择排序算法以演示输入数据在该排序算法下的排序过程。
1.2 设计的意义随着计算机技术的发展,各种排序算法不断的被提出。排序算法在计算机科学中有非常重要的意义,且应用很广泛。在以后的发展中排序对我们的学习和
生活的影响会逐渐增大,很有必要学习排序知识。因此此次毕业设计一方面使自己掌握排序的知识,另一方面锻炼一下独立开发系统的能力。
二.设计目的内容和要求
2.1 设计的目的《数据结构》课程主要介绍最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。进行数据结构课程设计要达到以下目的:
1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能
力;
2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所
应具备的科学的工作方法和作风。
2.2设计内容和要求
设计内容:
1.实现各种内部排序。包括直接插入排序,冒泡排序,直接选择排序,希尔排序,快速排序,堆排序,归并排序。
2.待排序的元素的关键字为整数或(字符)。可用随机数据和用户输入数据
作测试比较。比较的指标为有关键字参加的比较次数和关键字的移动次数(关键
字交换以3次计)。
3.演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标值的列表,以便
比较各种排序的优劣。
设计要求:
1.符合课题要求,实现相应功能;
2.要求界面友好美观,操作方便易行;
3.注意程序的实用性、安全性;
1.3术语
三•操作流程图
用户
■ 卜要求演示■启动系统
输入数据选择算法
排序演示显示排序算法代码
结束
四.设计工作任务及工作量要求
1)选择合适的数据结构,并定义数据结构的结构体;
2)根据程序所要完成的基本要求和程序实现提示,设计出完整的算法;
3)按组讨论、确定设计方案,确定程序模块,并进行明确分工;
4)写出课程设计说明书
五.系统用例图
5.1功能需求
非法的数据
正确的输入值
排序运算5.2构建用例图
排序算法演示
输入数据
5.2细化用例图
将用例细化可得到分解的用例:
将“排序演示”用例分解为:
A:选择排序算法从界面上选择要进行排序的排序算法
B:确定数据移动顺序根据选择的排序算法确定数据移动顺序C:演示排序过程显示选择的排序算法对输入数据的排序过程和排序算
法代码
排序算法演示