大型软件实验指导书Word文件下载.docx
《大型软件实验指导书Word文件下载.docx》由会员分享,可在线阅读,更多相关《大型软件实验指导书Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
分析题目要求做什么,即分析题目的数据要求和功能要求。
数据要求主要如原始数据有哪些,输入数据的类型、取值范围及输出形式,数据的限制条件、动态变化情况,系统性能等。
分析功能要求:
说明要实现什么功能,定义功能的含义,从输入数据如何表示成输出数据,分析系统对安全保密性能的要求。
确定人机边界。
哪些是由计算机完成的,哪些是由人工完成的。
对于在人工工作过程中重复性的工作能否合并,去伪存真,建立计算机的逻辑模型。
写出系统分析说明书。
(2)系统设计阶段
在系统分析的基础上进行系统设计,主要是如何实现分析阶段提出的任务。
第一步,确定功能结构图。
根据分析阶段提出的数据要求,以数据结构为中心,定义总体结构图,确定功能模块。
第二步,细化功能模块,使每个模块完成单一功能,模块间联系尽量少。
确定模块的输入、输出数据类型、数据格式,模块的功能及模块间的联系,画出模块间联系图。
第三步,选择数据结构。
根据功能要求和数据要求确定数据的存储结构和算法。
要求所选的数据结构合理,算法高效率。
编写每个模块的算法。
第四步将上述内容写成设计说明书。
(3)系统编程阶段
选择C语言或PASCAL等语言进行结构化程序设计,编程实现各模块,每个模块语句一般在50条左右。
在编程前,先定义程序功能、变量说明、输入数据。
然后进行小组分工,要求每一个人完成一部分模块的程序。
程序编好后,先进行静态检查,即手工执行程序,对程序进行全面检查,做好上机准备,熟悉机器的操作系统和语言集成环境的用户手册,尤其是最常用的命令操作,以便顺利进行上机。
然后上机编辑调试各模块。
上机调试程序时要带一本高级语言教材或手册。
(4)系统测试阶段
测试是软件工程中重要的一个阶段。
测试的目的是发现设计中的错误、修改错误,保证软件的正确性、可靠性。
第一步,准备好测试数据,可选择一些实际的数据。
第二步,分模块测试,即对每一个模块进行测试。
先个人测试,然后小组内相互测试。
自底向上,即先调试低层过程或函数。
必要时可以另写一个调用驱动程序。
这种表面上麻烦的工作实际可以大大降低测试所面临的复杂性,提高测试工作效率。
在调试程序过程中可以不断借助DEBUG的各种功能,提高调试效率。
调试中遇到的各种异常现象往往是预料不到的,此时不应“苦思其想”,而应动手确定疑点,通过修改程序来证实它或绕过它。
测试数据选择应分几种情况:
正常情况、特殊情况、非法数据。
第三步,联调。
整个系统连起来调试,由组长负责。
第四步,写出测试报告。
测试正确后,认真整理源程序及其注释,印出带有完整注释的且格式良好的源程序清单和结果。
(5)总结整理实验报告
1.3实验报告的规范
实验报告的开头给出题目、班级、姓名、学号和完成日期。
(1)需求分析
以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?
明确规定:
●输入的形式和输入值的范围;
●输出的形式;
●程序所能达到的功能;
●测试数据:
包括正确的输入及其输出结果和含有错误的输入及其输出结果。
(2)概要设计
说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。
(3)详细设计
说明所选择的数据结构。
实现概要设计中定义的所有数据类型,对每个操作只需要写算法;
对主程序和其他模块也都需要写出算法(算法达到的详细程度建议为:
按照算法可以在计算机键盘直接输入高级程序设计语言程序);
画出函数和过程的调用关系图。
(4)调试分析
内容包括:
调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;
改进设想;
经验和体会等。
(5)用户使用说明
说明如何使用你编写的程序,详细列出每一步的操作步骤。
(6)测试结果
列出你的测试结果,包括输入和输出。
测试数据应该完整和严格。
(7)附录
带注释的源程序。
提交源程序软盘,附录可以只列出程序文件名的清单。
注意:
实习报告的各种文档资料,如:
上述中的前三部分要在程序开发的过程中逐渐充实形成,详细设计应在编程前确定、写好,每人一份,而不是最后补写.当然最后应该用实验报告纸誊清或打印。
1.4实验时间安排:
总学时:
两周。
第一周:
星期一上午:
选课题、分组、查资料。
下午:
要求分析。
星期二要求分析,写出分析报告。
星期三系统设计,确定总体方案。
选择数据结构、存储结构和算法。
星期四讨论系统设计报告。
星期五:
系统编程,上机准备。
第二周:
星期一:
上机编程。
星期二:
上机。
星期三:
上机,模块调试。
星期四:
联合测试,验收。
总结,答辩。
第二章综合实验题目
1订票系统
设计一个航空订票系统或火车订票系统。
要求能够办理以下客运业务:
(1)对铁路客运或航线信息的存储和查询,增加、删除、修改各项内容。
其信息包括车次、始发站、经过站点、距离、票价、开车时间。
(2)订票业务
为旅客办理订票。
旅客姓名、身份证号码、性别、联系地址、电话以及订票信息,包括车次、座号、票价、开车时间、数量等。
客户查询相关车次情况、座位情况、票价等情况。
(3)预约订票。
(4)退票业务。
根据订票信息办理退票。
所退票可考虑出售给预约订票的乘客或直接退票。
(5)综合查询系统。
各车次订票、退票情况,票价、到站、乘客信息等等。
2图书管理系统
(1)要求对图书进行采编入库,分类存储。
(2)方便用户检索,用户可查询各类图书、现在库存情况。
(3)读者借书登记。
(4)还书登记。
(5)清除库存,将过时的书转存。
(6)显示各类图书的基本信息、借出情况、库存情况。
3哈夫曼编/译码系统
哈夫曼编码是一不等长编码,实现了数据的压缩。
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间。
要求对发送端待发送的信息进行哈夫曼编码,在接收端进行译码。
(1)统计待发送数据的字符出现的频率。
(2)建立哈夫曼树,显示哈夫曼树。
(3)求哈夫曼编码。
(4)按哈夫曼编码发送数据。
(5)译码:
根据发送的数据与哈夫曼树进行译码。
(6)显示发送数据和译码数据。
4.全国交通咨询模拟
编制一个全国城市间的交通咨询程序,为旅客提供最优的路线。
要求:
(1)对全国铁路交通图和航空航线进行编辑存储,包括插入、删除、修改打印功能。
(2)根据用户需要提供旅行路线。
1最快到达(节省时间)路径。
2最短路径(省钱)。
3从某始发站到某终点站的各条路线。
查询显示,包括时间、费用、中转站等。
4显示打印火车时刻表、飞机航班时刻表。
5智能排序系统
对教科书上讲解的各类排序方法编程实现,进行演示。
分析比较各种排序方法,输入各种情况的数据进行排序,分析出它们的比较次数,并作图显示各种排序曲线,得出结论,各类排序的最好情况,最坏情况,平均情况。
6停车场管理
(问题描述)
设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门供汽车进出。
汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;
当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场是必须按它停留的时间长短交纳费用。
试为停车场编制按上述要求进行管理的模拟程序。
(基本要求)
按照从终端读入的输入数据序列进行模拟管理。
每一组输入数据包括三个数据项:
汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。
对每一组输入数据进行操作后的输出信息为:
若是车辆到达,则输出汽车在停车场内或便道上的停车位置;
若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。
7校园导游咨询
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
(1)设计你所在学校的校园平面图,所含景点不少于10个。
以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;
以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点相关的查询。
(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
(实现提示)
一般情况下,校园的道路是双向通行的,可设校园平面是一个无向网。
顶点和边均含有相关信息。
8自选题目
学生也可自己选择一个适合得到综合训练的题目进行设计。