软件开发典型案例及其要求(精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.求解皇后问题
1.案例简介及其目的
由n2个方块排成n行n列的正方形称为“n元棋盘”。如果两个皇后位于棋盘上的同一行或同一列或同一对角线上,则称她们为互相攻击.现要求找出使n元棋盘上的n个皇后互不攻击的所有布局。
在学习本课程之前,同学们只有“程序”概念,而没有“算法”理念。“程序”只重视结果,忽略了过程。但是,正确的思想、正确的方法和正确的过程才是正确求解问题的保障,这正是“算法”理念之所在。算法设计方法有:(1)列举法(如百鸡问题),(2)归纳法,(3)递推法,(4)回溯法等。本案例的目的就是帮助同学们建立“算法”概念,掌握算法设计方法。
2.实现功能
给定n值,求出 n个皇后在n元棋盘上的所有布局。
3.注意
问题尺度n的取值范围。建议采用回溯法。
二.哈夫曼编码和译码的实现
1.案例简介及其目的
树型结构是一类很重要的非线性数据结构,元素之间存在着一对多的关系,树结构在工程实践中被广泛应用。哈夫曼树是一种特殊的树,它的带权路径最短,因此哈夫曼树也被称为最优树。它可以解决最佳判定问题、编码和译码问题。
本案例通过完成哈夫曼树的构造、编码和译码,进一步理解和掌握:树(特别是哈夫曼树)的逻辑结构和物理存储结构;哈夫曼树构造的规则和算法;哈夫曼树编码和译码的原理。并通过软件实现进一步理解软件工程方法、面向对象的软件开发方法等相关知识。
2.实现功能
运行界面首先要求输入问题尺度(即叶结点数n0)及其相应权值,则可生成并显示哈夫曼树;如输入电文01串,则可译码生成相应的电文文本。
3.注意
问题尺度n0的取值范围。
三.学生信息管理系统
1.案例简介及其目的
数据具有逻辑结构和物理结构,逻辑结构是研究数据元素及其关系的数学特性;物理结构是逻辑结构在计算机中的映象,即具体实现。物理结构分向量(顺序)存储结构和链表存储结构两种,两者具有各自的优缺点,向量存储结构具有顺序存储、随机访问特性,链表存储结构具有随机存储、顺序访问特性。学生信息管理系统中学生信息的逻辑结构是线性表,
物理结构采用链表存储结构。
通过完成学生信息管理系统中学生信息的显示、插入、查找、删除、修改和排序等功能进一步理解和掌握数据的逻辑结构、物理结构和两种物理结构的选择依据等理论知识,并通过软件实现进一步理解软件工程方法、面向对象的软件开发方法等相关知识。
2.实现功能
实现学生信息的查找、修改、插入、删除及排序(按学好或某课程成绩)、显示等功能。
注:三个案例任选一个完成,并于本课程期末考试后一周内提交:提交内容包括运行结果剪屏图,安装文件。提交地址:software329@