《程序设计基础综合实验》讲义

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计基础综合实验》讲义

综合实验又称为课程设计,需要学生综合运用所学知识解决与实际应用紧密结合的、规模较大的问题,通过分析、设计、编码和调试等各环节的训练,使学生深刻理解、牢固掌握、综合运用数据结构和算法设计技术,增强分析问题、解决问题的能力,培养项目管理与团队合作精神。

本课程要求实验采用基本的软件工程开发方法,将软件开发过程分为需求分析、系统设计、编码实现、系统测试4个阶段。每个阶段设置相应的里程碑进行检查,对学生的设计过程进行评价。

(1)需求分析阶段

首先要充分分析和理解问题,明确要求做什么?限制条件是什么?即要确定需要实现那些功能(任务),并对所需完成的任务做出明确的回答,如,输入数据的类型、值的范围及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式输入,结束标志是什么?是否接受非法输入?对非法输入的回答方式是什么等。另外,还应该为调试程序准备好测试数据,包括合法的输入数据与非法的输入数据。同时,实验小组应该对设计工作进行分工,并形成小组成员通过的书面记录。

(2)概要设计和详细设计阶段

设计通常分为概要设计与详细设计两步。

在进行概要设计时,确定数据的逻辑结构,并要求按照自顶向下逐步求精的原则划分模块,画出模块间的调用关系图。

在进行详细设计时,要求定义数据的存储,并画出各模块(函数)的程序流程图或写出伪代码。

(3)编码实现阶段

在详细设计的基础上,用特定的程序设计语言编写程序。良好的程序设计风格可以保证较快地完成程序测试。程序的每行不要太长,每个函数不要太大,当一个函数太大时,可以考虑将其分解为较小的函数。对函数功能、核心语句、重要的类型和变量等应给出注释。一定要按凹入格式书写程序,分清每条语句的凹入层次,上下对齐层次的括号,以便发现语法错误。

(4)测试阶段

采用测试数据进行测试,列出实际的输入、输出结果、预期结果。

(5)总结与整理报告阶段

调试正确后认真整理源程序及注释,提交带有完整注释且格式良好的源程序,并撰写课程设计报告。

课程设计报告中除了上面提到的分析、设计过程外,还用给出下面几方面的内容。

①调试分析:调试过程中主要遇到哪些问题?如何解决的?

②算法分析:核心算法的时间复杂性与空间复杂性分析。

③改进设想、经验和体会。

一、图书管理信息系统的设计与实现 (难度系数:1)

1.问题描述

图书管理信息系统实现图书馆馆藏图书的信息管理与图书借阅。图书管理信息系统包括用户管理、读者管理、图书管理、图书流通功能。

2.整体要求

该系统应具有合理的界面设计,并易于操作;

编码风格良好;

该系统用控制台程序即可实现;

编程语言为C语言,编程环境为VC++ 6.0

3.设计要求

(1)登录系统时,要求用户输入用户名与密码,用户名与密码无误方可使用系统,最多可以尝试三次。用户分为:普通读者、图书管理员、系统管理员三种。普通读者只能使用“用户管理子系统”中“用户密码修改”功能和“图书管理子系统”中“图书信息查询”功能,另外普通读者可以自行注册;图书管理员只能使用“图书管理子系统”和“图书流通管理子系统”;系统管理员只能使用“用户管理子系统”和“读者管理子系统”。

(2)图书管理信息系统包括:用户管理、读者管理、图书管理、图书流通管理这四个子系统。“图书管理信息系统”主菜单要求包含如下选项:

**********************************

1.用户管理

2.读者管理

3.图书管理

4.图书流通管理

5.退出系统

***********************************

要求在选择退出功能之前,可以反复选择系统的各项功能使用系统。

1)用户管理子系统:

应包括用户信息输入、用户信息修改、用户信息删除、用户信息显示、用户密码

修改等功能。其中“图书管理员”和“普通读者”只能使用“用户密码修改”功

能。普通用户注册功能可根据自身情况酌情实现。

“用户管理”菜单要求包括如下选项:

*******************

1. 用户信息输入

2. 用户信息修改

3. 用户信息删除

4. 用户信息显示

5. 用户密码修改

6. 返回主菜单

*******************

“用户管理子系统”要求用文件与链表实现。

2)读者管理子系统:

应包括读者信息输入、读者信息修改、读者信息删除、读者信息按名查询等功能。

“读者管理”菜单要求包括如下选项:

*******************

1. 读者信息输入

2. 读者信息修改

3. 读者信息删除

4. 读者信息查询

5. 读者信息显示(按读者姓氏排序)

6. 返回主菜单

*******************

“读者管理子系统”要求用文件与链表实现。

3)图书管理子系统:

至少应包括图书信息输入、图书信息修改、图书信息查询、汇总统计等功能。其它功能(如图书订阅、图书编目、新书通报等功能)可根据自身情况酌情实现。

“图书管理”菜单至少要求包括如下选项:

*******************

1. 图书信息输入

2. 图书信息修改

3. 图书信息查询

4. 汇总统计

5. 返回主菜单

*******************

普通用户只能使用其中的图书信息查询和图书数目统计功能(功能3和功能4),当普通用选择其它功能时应告知不能使用。

在“2. 图书信息修改”中,只要求提供对“藏书量”和“借出数”的修改功能。

如果在“图书管理”的菜单中选择了“3. 图书信息查询”,系统应提示如下子菜单:*******************

1. 按书号查询

2. 按书名查询

3. 按作者查询

4. 按出版社查询

5. 返回主菜单

*******************

“图书管理子系统”要求用文件和顺序表实现。

4)图书流通管理子系统:

至少应包括借书处理和还书处理功能。其它功能(如预约处理、逾期处理等功能)可根据自身情况酌情实现。普通用户只能使用预约处理功能。

“图书管流通理”菜单至少要求包括如下选项:

*******************

1. 借书处理

2. 还书处理

3. 返回主菜单

*******************

“图书流通管理子系统”要求用文件和顺序表实现。

(3)要求建立如下文件:

相关文档
最新文档