软件技术课程设计说明书.docx
《软件技术课程设计说明书.docx》由会员分享,可在线阅读,更多相关《软件技术课程设计说明书.docx(6页珍藏版)》请在冰豆网上搜索。
软件技术课程设计说明书
电信系软件技术课程设计说明书
建议每一个学生认真读完此份文档!
1.对象:
电信本科。
2.目的:
运用所学课程中有关数据结构、操作系统、数据库系统知识来进行本课程设计,熟练掌握高级程序设计技术,加深对课程内容的理解、提高软件应用设计能力及编程和调试能力。
3.要求:
1).每人必须完成下列三项中的一项设计或自选题目,并应达到其中的基本要求。
2).能以规范化要求提交课程设计报告。
3).可以多人(一般2~3人)合作完成一个较复杂系统。
4.步骤:
1).查阅资料(如C语言高级程序设计,FoxPro数据库设计,编辑器设计等)
2).选题
3).构造框架(系统总体设计)
4).编程上机,调试
5).现场验收合格
6).书写课程设计报告
5.编程基本规范要求:
1)用C语言编程时所有标识符(包括变量名、函数名、常量等)必须采用有意义的英文单词或词组,如:
intiBlockCount;
intiWriteDiskBlock(char*cBuffer,intiBlockNum);
a.变量名的第一个小写字母表示变量类型
b.宏定义前面有一个小m
c.全程量前加划线_例:
char*cFileNum
d.自定义函数第一个字母用大写,中间不加下划线
例:
VoidGetMouseKey(int*iStatus)
2)采用清晰、合理的缩进方式书写代码
3)适当在代码中插入注释
4)所有公共变量定义、结构定义、常量定义、函数原型等应放在头文件中,以避免不一致的说明或定义造成出错。
6.“课程设计报告”要求:
1).“课程设计报告”要写在《课程设计说明书》上。
(统一到教材科购买)
2).课程设计报告不得少于5000字(不包括源程序)
3).课程设计报告内容包括:
a.项目描述b.系统描述c.数据结构(或模式)描述d.软件设计e.模块层次图f.技术报告g.总结与建议
7.项目描述
第1项:
系运动会管理系统
[问题描述]
参加运动会的n个班的编号为1~n。
比赛分成m个男子项目和w个女子项目,项目编号分别1~m和1~w,应有标志区分男女项目,其中有些项目只有男子有,一些项目只有女子有。
由于各项目的参加人数差别较大,有些项目取前6名,得分顺序为8,6,5,3,2,1,还有些项目取前3名,得分顺序为6,4,2,对破系记录加5分,破校记录加10分。
写一个统计程序产生各种成绩单和得分报表,并能方便的进行数据输入和查询。
[基本要求]
产生各班的成绩单,内容包括各班所取得的每项成绩的项目号,名次(成绩),姓名和得分,产生团体总分报表,内容包括班号、男子团体总分、女子团体总分和团体总分。
可查询每个项目的名次(姓名、班级)
可查询每个人的成绩,注意重名情况。
[可选要求]
支持破记录的管理等,可查询系历年运动会的成绩。
[设计步骤提示]
参照有关教材及参考书中有关数据库系统建立的工作流程来设计。
应包括下列阶段:
①可行性研究、分析。
主要解决选用什么DBMS,解决什么问题。
②系统设计阶段。
主要解决逻辑设计中的规范化问题,针对“系运动会管理”需要,应创建哪些数据库,给出这些库结构,给出规范化分析与结论(符合第几范式)。
③设计实施与系统运行阶段。
包括准备数据,系统调试,输入数据,编制数据字典。
④编程实现[基本要求]中的各项功能,并请遵循本设计编程规范基本要求。
⑤可选用C语言实现。
第2项:
简单的全屏幕编辑系统
[问题描述]
可对文本文件进行简单的屏幕编辑。
(可参考TurboC2.0版或BC2.0版的编辑环境及界面)
[基本要求]
可读、写文件,对文本的编辑包括插入、删除,可用↑↓键移动光标到指定位置,并可上、下滚动屏幕。
能进行串查找,串替换,块操作,有简单的菜单,突破一行80字符限制,支持Mouse,图形方式下的编辑环境。
[可选要求]
支持多窗口,支持图像编辑,支持排版。
[设计步骤提示]
1设计文本的数据结构,为简单起见,可用循环链表示行号,每一行内用数组,规定不能大于80个字符。
设一个指向行号的指针和指向行内位置的指针,可实现插入行,删除行及字符的操作,读、写文件及显示文本等可用C语言的库函数。
2做一个小规模的系统,再逐渐增加功能,一些功能可先用空语句的函数代替。
3参见第3项:
Tools集成工具软件设计中的设计步骤与提示。
第3项:
Tools集成工具软件设计
[问题描述]
以PCTools4.X版软件为样板,用C语言开发软件,实现PCTools软件的基本功能。
[基本要求]
实现如下功能:
1.文件管理功能:
文件拷贝、改名、删除,改变文件属性。
文件比较、移动。
2.磁盘管理功能:
软盘拷贝
[可选要求]
1).实现如下功能:
文件显示与编辑、打印
软盘比较、校验、目录管理,树结构目录。
2).使用友好的全屏幕用户界面,菜单驱动,多窗口。
[设计步骤提示]
1要实现的程序划分为功能模块,一般来说,将每个所要实现的功能(如文件拷贝、改名等等)划分为一个子模块,并设置一个主模块来调用这些模块,并将一些模块经常要调用的公共函数功能划分为低层支持模块,通常,模块结构如下:
2每一个模块设计相应的数据结构及算法,并用适当方法予以描述(如伪PASCAL语言,N-S结化流程图等)。
3用C语言分别实现每一模块。
可以采用自顶向下或自底向上的方法来实现。
但对于中间层功能模块,宜逐个实现并调试通过。
第4项:
自选题目(如图形系统,CAI系统,简单游戏软件,实际应用程序,网络应用程序,视,音频处理软件)
8.程序语言可选用自己熟悉的任何一种语言,如BC,VC++,JAVA,VB,OpenGL等。
9.评分过程分现场评分及课程设计报告评分两个步骤
现场评分占总成绩60%,分成现场验收和口头回答问题两部分,课程设计报告占40%。
现场评分标准:
1).达到基本要求,70~80分
2).达到基本要求,质量较好,80~89分
3).达到基本要求,并做出一些选做要求,83~89分
4).达到基本要求,并做出一些选做要求,质量较好,90~100分
5).勉强达到基本要求,60~70分
6).系统不能运行或经常Down机,60分以下。
10.参考资料
1).C语言程序设计谭浩强清华大学出版社
2).BC或TC参考手册,VC手册
3).C高级程序设计或有关中断,菜单设计,I/0设计的参考书
4).软件工程导引张海蕃清华大学出版社
11.应注意的问题
1).课程设计应着重程序设计,单纯的网页制作不能作为课程设计的任务。
2).课程设计是开放式实验,教师不再担任辅导任务,整个的设计过程应自己独立完成,或与同学或同组讨论,教师只参与讨论,不负责解决具体的问题。
有问题请联系Email:
liugan@(刘干)。
3).一个组最好不超过3人。
4).课程设计报告的截止日期为本学期中。
5).鼓励按软件工程的规范完成本课程设计(软件工程的规范在同一目录下可下载)。
2013.10.11