资源描述
软件设计实践
指导书
中北大学信息商务学院
通信工程系
第一章 概述
1.1实验设计目的与作用
C语言是通信工程专业一门重要的专业技术课程,它是一门实践性很强的课程。
软件设计实践课程是为配合c语言课程,对学生进行全面综合训练、与课堂教学、作业练习题、上机实验相辅的必不可少的一个教学环节。
利用所学的C语言知识及其编程方法:结构程序设计、数组、指针、结构体、文件操作等内容,通过布置具有一定难度的实际程序设计题目,要求学生独立完成所布置题目。在分析设计过程中,要求学生养成良好的编程习惯,学会分析解决简单的实际问题,学会C语言的实际调试技巧和方法,要求学生在教师的指导下逐步完成应用程序的设计。
1.2实验步骤
按照软件工程方法要求的几个阶段进行。
(1)问题定义和系统分析阶段
Ø 分析实验题目要求做什么,即分析题目的数据要求和功能要求。数据要求主要如原始数据有哪些,输入数据的类型、取值范围及输出形式,数据的限制条件、动态变化情况,系统性能等。
Ø 分析功能要求:说明要实现什么功能,定义功能的含义,从输入数据如何表示成输出数据,分析系统对安全保密性能的要求。
Ø 确定人机边界。哪些是由计算机完成的,哪些是由人工完成的。对于在人工工作过程中重复性的工作能否合并,去伪存真,建立计算机的逻辑模型。
Ø 写出系统分析说明书。
(2)系统设计阶段
在系统分析的基础上进行系统设计,主要是如何实现分析阶段提出的任务。
第一步,确定功能结构图。根据分析阶段提出的数据要求,定义总体结构图,确定功能模块。
第二步,细化功能模块,使每个模块完成单一功能,模块间联系尽量少。确定模块的输入、输出数据类型、数据格式,模块的功能及模块间的联系,画出模块间联系图。
第三步,根据功能要求和数据要求确定数据的存储结构和算法。要求所选的数据结构合理,算法高效率。编写每个模块的算法。
第四步,将上述内容写成设计说明书。
(3)系统编程阶段
选择C语言或其他高级语言进行结构化程序设计,编程实现各模块,每个模块语句一般在50条左右。
Ø 在编程前,先定义程序功能、变量说明、输入数据。然后进行小组分工,要求每一个人完成一部分模块的程序。
Ø 程序编好后,先进行静态检查,即手工执行程序,对程序进行全面检查,做好上机准备,熟悉机器的操作系统和语言集成环境的用户手册,尤其是最常用的命令操作,以便顺利进行上机。然后上机编辑调试各模块。上机调试程序时要带一本高级语言教材或手册。
(4)系统测试阶段
测试是软件工程中重要的一个阶段。测试的目的是发现设计中的错误、修改错误,保证软件的正确性、可靠性。
第一步,准备好测试数据,可选择一些实际的数据。
第二步,分模块测试,即对每一个模块进行测试。先个人测试,然后小组内相互测试。自底向上,即先调试低层过程或函数。必要时可以另写一个调用驱动程序。这种表面上麻烦的工作实际可以大大降低测试所面临的复杂性,提高测试工作效率。在调试程序过程中可以不断借助DEBUG的各种功能,提高调试效率。调试中遇到的各种异常现象往往是预料不到的,此时不应“苦思其想”,而应动手确定疑点,通过修改程序来证实它或绕过它。测试数据选择应分几种情况:正常情况、特殊情况、非法数据。
第三步,联调。整个系统连起来调试,由组长负责。
第四步,写出测试报告。测试正确后,认真整理源程序及其注释,印出带有完整注释的且格式良好的源程序清单和结果。
(5)总结整理实验报告
1.3 实验报告的规范
实验报告的开头给出题目、班级、姓名、学号和完成日期。
(1)需求分析
说明题目设计的任务压哦,强调的是程序要做什么?明确规定:
l 输入数据的形式和输入值的范围;
l 输出的形式;
l 程序所能达到的功能;
l 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。
(2)概要设计
总体模块结构,主程序的流程以及各程序模块之间的层次(调用)关系。
(3)详细设计
对每个模块按照细化后的模块进行功能说明;说明每个操作的算法(流程图);定义所有数据结构和数据类型,画出函数和过程的调用关系图。
(4)程序调试分析
内容包括:调试过程及遇到的问题、解决的方法;
(5) 测试结果
列出你的测试结果,包括输入和输出。测试数据应该完整和严格。
(6) 用户使用说明
说明如何使用你编写的程序,详细列出每一步的操作步骤。
(7) 经验和体会,改进设想等。
附录:带注释的源程序。附录可以只列出程序文件名的清单。
注意:课程设计以组为单位,选题,选定题目后,组长负责给组员分工,每个组员完成自己的模块设计。
第二章 综合实验题目
1、图书馆管理系统(5人)
(问题描述)
图书馆管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。试设计一个图书管理系统,将上述业务活动借助计算机系统完成。
(基本要求)
(1) 要求对图书进行采编入库,分类存储。每种书的登记内容至少包括书号、书名、作者、现存量和总库存量。
(2) 方便用户检索,用户可查询各类图书、现在库存情况。
(3) 读者借书登记。
(4) 还书登记。
(5) 清除库存。
的简单路径。
2、学生成绩管理(4人)
(问题描述)
设计一个学院的学生成绩管理系统
(基本要求)
(1)按学年、学期分学院、专业、班管理每个人的成绩
(2)可以对数据进行插入、删除。
(3)可以查询信息,分为学生基本情况查询和成绩查询两种
(4)可以进行个人和班级的均分统计功能。
3、仓库物资管理(4人)
(问题描述)
设计某仓库物资管理系统,有四大类物资:黑色金属、有色金属、非金属、机电设备。(基本要求)
按类管理物资,管理功能如下:
(1)物资按四大类入库,记录库存明细账(包括账号、品名、规格、单价、数量、金额、产地、入库日期)。
(2)出库:记录出库明细账
(3)查询
(4)分类统计:月报表、季报表、年报表
4、学生通讯录管理系统设计(2人)
(问题描述)
设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通信录数据类型定义为结构体类型。
(基本要求)
(1) 能建立、修改和增删学生通讯录
(2) 能够按多种方式进行查询
5、图书信息管理系统设计(3人)
(问题描述)
试设计一图书信息管理系统,图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
(基本要求)
提供以下功能:
(1)、系统以菜单方式工作
(2)、图书信息录入功能(图书信息用文件保存)--输入
(3)、图书信息浏览功能--输出
(4)、图书信息查询功能--算法
查询方式
按书名查询
按作者名查询
(5)、图书信息的删除与修改
6、实验设备管理系统设计(4人)
(问题描述)
实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
(基本要求)
主要功能:
(1)、能够完成对设备的录入和修改
(2)、对设备进行分类统计
(3)、设备的破损耗费和遗损处理
(4)、设备的查询
7、车票管理系统(4人)
(问题描述)
一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如
班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数
1 8:00 上海南 杭州 2 45 30
2 6:30 嘉兴 杭州 0.5 40 40
3 7:00 嘉兴 杭州 0.5 40 20
4 10:00 嘉兴 杭州 0.5 40 2
(基本要求)
(一)功能要求:用c设计一系统,能提供下列服务:
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线:可按班次号查询 ,可按终点站查询
(4)售票和退票功能
A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
8、职工信息管理系统设计(3人)
(问题描述及基本要求):职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:
(1)、系统以菜单方式工作
(2)、职工信息录入功能(职工信息用文件保存)--输入
(3)、职工信息浏览功能--输出
(4)、职工信息查询功能--算法
查询方式:按学历查询等和按职工号查询等
(5)、职工信息删除、修改功能
9、学生选修课程系统设计(3人)
(问题描述及基本要求)
假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:
(1)、系统以菜单方式工作
(2)、课程信息录入功能(课程信息用文件保存)--输入
(3)、课程信息浏览功能--输出
(4)、课程信息查询功能--算法
查询方式: 按学分查询和按课程性质查询
(5)、学生选修课程
10、歌唱比赛评分系统设计(3人)
(问题描述及基本要求)
有十个选手参加歌唱比赛,十个裁判对每个选手的演唱进行打分,去掉一个最高分,去掉一个最低分,剩下分数的平均值作为每位选手最后的成绩。
要求:
(1)采用结构体定义每个选手的参赛编号,姓名以及十个裁判打出的分数;
(2)从键盘输入每个选手的相关信息:参赛编号,姓名和十个得分;
(3)计算每位选手的最后得分,并按分数由高到低排序;
(4)查询功能:输入参赛选手的编号或姓名,便可输出该选手的得分以及排名;
以上功能采用菜单操作方式,即从键盘输入1到3这三个数,分别完成以上(2)到(4)的功能。
展开阅读全文