信息安全数据结构课程设计指导书_第1页
信息安全数据结构课程设计指导书_第2页
信息安全数据结构课程设计指导书_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构与算法课程设计指导书计算机科学与工程学院目的通过本课程设计,使学生更加系统地理解和掌握数据结构的基本概念;使学生能够根据实 际要求,设计相应的数据结构,并运用C或C+语言实现所设计的算法。通过编写程序,来分析和解决实际应用问题,为后续其它专业课程的学习和应用打下良好基础,为今后编写大型程 序打下基础。二题目根据指导教师的具体要求,从下面题目中选择1 个来完成(一)XX管理系统1 学生成绩管理系统2 简易客房管理系统3 人事档案管理系统4 进销存货物管理系统5 图书管理系统(二)XX游戏开发1简易五子棋游戏2 俄罗斯方块3 .跳棋游戏4.24点游戏(三)运算类1. 表达式的求值2. 长整

2、数的加减运算3. 一元多项式的计算(四)其它1. 二叉树的应用哈夫曼树(电文的编码和译码)2. 校园导游咨询3. 长整数的加减运算注意,在实现相关管理系统题目时,需要设计良好的数据结构,代码编写时不允许运用现有的数据库管理系统,具体功能应通过对文件的读写操作实现。三. 任务完成形式1. 完整的软件系统最终必须向指导老师提交完整的程序源代码(.C和.cpp以及.h为后缀的文件 卜数据文件以及可执行文件等。源代码文件要特别注意编程规范、代码风格,关键代码需有 合理的注释,不含任何无用代码;数据文件内要求有一定数量的“真实”数据(如对 于记录文件,需要有 5 条以上记录) ;2 课程设计报告 (详细

3、要求请参考附录二 )课程设计报告总体上主要包括以下几个部分:1)封面2)目录3)课程设计报告正文4)使用说明5)参考文献四总体要求1 每道题目的程序代码总量不少于600 行(其中不包括自动生成代码) ,有合理注释。2 课程设计报告正文字数不少于8000 字 ,概念清楚、叙述正确、内容完整、书写规范。3 独立完成课程设计,不得抄袭他人。4 功能正确、有一定实用性。5. 尽可能大量使用各种 C或者C+语言程序设计技术,尤其在以下几个方面: 指针及其运算、结构、指针数组、数组指针、字符数组与字符串、内存空间动态申请 与释放、文件访问与操作、合理的常量与全局变量及函数接口变量定义、数据输入与 数据格式

4、检查、 数据类型转换、 错误处理、 工程设计技术 (整个系统由一个工程文件、 若干个程序文件、若干头文件、甚至库文件等组成) 。程序界面不做较高要求,但要考虑到用户使用的方便,有较好的交互界面。6. 可以使用 VC 编译环境开发程序,但 不允许使用现成的数据库如 access, SQL Server 等完成上面的课程设计题目,否则成绩评定为不及格 。7. 设计时适当考虑程序的可维护性与可扩充性。8. 提倡积极交流与讨论(同学间、 bbs 站点)、善于查阅资料、分析与借鉴他人编写的软 件。9. 认真自觉以个人为单位完成自己的任务, 代码和课设报告均严禁雷同,否则成绩为不 及格 。验收时查看代码,

5、并提出若干个跟程序代码有关的问题,并把问题回答情况计 入总评成绩。五. 工作阶段与考核方法大体上可分成五个阶段:1. 资料查阅准备阶段( 15%)2. 分析设计阶段( 35%)3. 编程调试阶段( 40%)4. 课程设计报告书写阶段( 10%)5. 验收阶段考核方法: 只有程序验收通过后,才能按以下方法核定本次课程设计的总成绩,因未能独立完成 设计(尤其是抄袭)或概念不清的同学,总成绩将核定为不及格。 总成绩由以下几个 部分决定:1 考勤、纪律、实验室卫生 (呵呵,这点好容易呀)2 工作量(代码量、功能多少、难度) (呵呵因人而异)3 关键技术 (自己选择吧)4 实用性、创新 (呵呵,这点最难

6、,需要童鞋们多多构思呀)5 代码书写规范性(参见附录一或“高质量C+/C 编程指南”)(请耐心阅读并付诸行动。面试或到公司做程序员这点是必须的哟)6 程序界面、新技术引用 (鼓励童鞋们可以根据自己学到的其它技术融合到课程设计中)7 课程设计报告(叙述、书写规范、字数) (这也是做程序员必须的哟,也是较大的规范公司所要求的文档)8 动手能力、分析问题解决问题能力 (俺不多说了,你懂的)六任务具体要求一、XX管理系统1、学生成绩管理系统问题描述: 该系统实现对若干个大学生的学习成绩进行管理。至少包括以下信息: 学号、姓名、科目、成绩,学期。学期取值范围可为1-8。功能要求:1使用中文菜单,界面设计

7、和用户输入输出要人性化些;2. 将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,将保存 在文本文档中的学生信息提取出来,保存在自己定义的数据结构中,然后再对该数据 结构进行操作,所有操作完成,或者在相应的命令后,再将学生信息保存到文本文档 中。3具有数据输入功能,输入的数据能最终保存在文件中; 4具有数据删除功能,能最终从文件中删除; 5排序功能,根据自己设计的数据结构,设计排序算法 6具有多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出功能; 7其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有学生 的平均分等等)8学生信息的修改(比如修改学生姓名

8、,修改学生某门课程的成绩) 说明:(1)功能各方面越完善越好( 2)自定义的数据结构可以使用数组,链表,树等,然后根据不同的数据结构,设计不同的排序,查找算法。其中,排序算法至少有两种 ,可以使用多种数据结构来存放数据,然后在其上使用不同的排序算法。(3)若用数组,必须动态分配空间(文本文件中最好有一行表示学生人数)2、简易客房管理系统问题描述: 该系统能简单实现对客栈的住宿情况进行管理。至少包括以下信息: 房号、房型、单价(每床) 、已住人数; 住客姓名、性别、年龄、身份、身份证号码,房号,床号,入住日期、入住时间、 离店日期、离店时间。这些信息应存放在两个文件中,分别是 客房信息文件 、住

9、客信息文件 。“房型”可取 值 1-3 ,分别表示单人间、双人间、通铺(可以住很多人的房间)功能要求:1具有建立数据文件 ( 客房信息文件、住客信息文件 )功能;2具有数据输入功能;3具有数据修改功能;4具有数据删除功能; 5能查询(查找)一些基本信息(如按房号查询、按姓名查询、空余客房查询等);6具有多种统计功能(要求有一定的实用性) (如某客房当前有那些空床、某住客应付多少费用、某天住店总人数和总收入等) 7能具有排序功能(比如在查询所有的客房信息时,能根据房间价格进行排序,方便客人挑选 房间等等) 说明:(1)功能各方面越完善越好( 2)自定义的数据结构可以使用数组,链表,树等,然后根据

10、不同的数据结构,设计不同的排序,查找算法。其中,排序算法至少有两种 ,可以使用多种数据结构来存放数据,然后在其 上使用不同的排序算法。(3)若用数组,必须动态分配空间(文本文件中最好有一行来表示数组应该有多大,这样便 于动态分配空间)3、人事档案管理系统问题描述: 该系统能简单实现对人事档案的管理。该系统包括 : 人员基本情况管理、工资管理和考勤管理等几个方面的功能。用户通过输入工资、 考勤、职工履历等基本信息 ,由系统自行生成相应的统计数据以供用户查询 , 能对这些基本信息 进行更新和删除。至少包括以下信息: 人员履历表:员工编号,员工姓名,性别,年龄,部门,职位,受教育年限 职工工资表:员

11、工编号,基本工资,缺勤扣发工资,扣税,实发工资 月考勤登记表:员工编号,月缺勤天数注:假设每个员工每天缺勤扣发工资的多少跟其基本工资存在一定关系,比如是该基本工资的20分之一;假设扣税金额=(基本工资缺勤扣发工资2000)X 10%,而若基本工资缺勤扣发工资 2000 的值小于 2000 则扣税金额为 0功能要求:1 具有建立数据文件 ( 人员履历表文件、职工工资表文件、月考勤登记表)功能;2具有数据输入功能;3具有数据修改功能;4具有数据删除功能; 5能查询(查找)一些基本信息(如按员工编号查询、按员工姓名和部门组合查询等,如生成 各部门员工花名册) ;6具有多种统计功能(要求有一定的实用性

12、) (如不同部门的员工平均工资比较(除了用数字表示外,也可以用星号画图的方式来直观的表 示);不同性别员工工资比较;某部门内部,不同职位员工工资比较;不同受教育水平人的平均 工资比较;部门最高实发工资等等)7具有排序功能 (比如将各部门职工工资平均值进行排序, 将部门内部职工工资进行排序等等) 各个功能模块简要叙述(具体实现时,并不局限于这些功能,越完善越好)人员基本情况管理:提供对”人员履历表”数据输入、组合条件查询、统计功能; 职工工资管理: 提供对 ”职工工资表 ”数据的输入、查询、按统计、 显示功能 ,完成每月对 “职 工工资表 ”数据的月统计 ,以此生成 “职工工资总额构成情况表 ”

13、实现该表的查询、显示功能。 职工考勤管理 : 提供对各部门 “月考勤登记表 ”数据的录入、查询、统计功能;说明:( 1)功能各方面越完善越好( 2 )自定义的数据结构可以使用数组,链表,树等,然后根据不同的数据结构,设计不同的排序,查找算法。其中,排序算法至少有两种 ,可以使用多种数据结构来存放数据,然后在其 上使用不同的排序算法。( 3)若用数组,必须动态分配空间(文本文件中最好有一行来表示数组应该有多大,这样便 于动态分配空间)4、进销存货物管理系统问题描述: 该系统能进行简单的货物管理,进货,销售货物,退货等管理 至少包括如下信息:货物标号,货物名称,货物产地,入库价格,入库时间,现存货

14、物数量,已经销售数量,销售 平均单价注:每次销售后,都需要对现存货物数量进行更新,对已销售数量进行更新,也需要对销售平 均单价进行更新功能要求:1 具有建立数据文件 ( 货物管理表 ) 的功能;2具有数据输入功能;3具有数据修改功能;4具有数据删除功能(当一些已经过时陈旧的商品被特价处理后,将其删除,不再进货);5能查询(查找) 一些基本信息 (如能查询剩余件数小于某个特定值的商品,以便于及时进货)6具有多种统计功能(要求有一定的实用性)(如统计每种货物是否有盈利 (将销售平均单价跟入库价格进行比较) ,所有货物的盈利或亏损7具有排序功能(比如对货物盈利水平进行排序比较等等)说明:(1)功能各

15、方面越完善越好( 2)自定义的数据结构可以使用数组,链表,树等,然后根据不同的数据结构,设计不同的排序,查找算法。其中,排序算法至少有两种 ,可以使用多种数据结构来存放数据,然后在其 上使用不同的排序算法。(3)若用数组,必须动态分配空间(文本文件中最好有一行来表示数组应该有多大,这样便 于动态分配空间)5、图书管理系统问题描述:该系统能进行简单的图书管理功能 至少包括如下信息: 图书编号,图书名称,作者,出版社,总共册数,在馆册数,现存地址,借阅次数 注:现存地址是假设图书馆有多个书库,不同种类的书存放于不同的地方 功能要求:1具有建立数据文件 ( 图书信息 )的功能;2具有数据输入功能;3

16、具有数据修改功能(借书或者还书都需要修改图书数量信息);4具有数据删除功能(当图书因为年代久远,或者遗失,也许需要对其进行删除操作);5能查询(查找)一些基本信息(这里的查询功能应该较为强大,能通过作者进行查询,书名 查询,或者结合作者出版社一起进行查询等等)6具有多种统计功能(要求有一定的实用性) (如统计每本书的借阅次数,方便将来新近图书。统计每个书库中图书的数量等等) 7具有排序功能(比如对每本图书的借阅次数进行排序) 各个功能模块简要叙述(具体实现时,并不局限于这些功能,越完善越好)新近图书:在图书信息表中添加相应信息; 旧书处理:在图书信息表中删除相应信息; 借书还书 : 对图书信息

17、表进行修改,若在馆册书为 0,则不允许继续借阅; 图书信息的统计 图书信息的排序 图书信息的查找说明:(1)功能各方面越完善越好 ( 2)自定义的数据结构可以使用数组,链表,树等,然后根据不同的数据结构,设计不同的 排序,查找算法。其中,排序算法至少有两种 ,可以使用多种数据结构来存放数据,然后在其 上使用不同的排序算法。(3)若用数组,必须动态分配空间(文本文件中最好有一行来表示数组应该有多大,这样便 于动态分配空间)二、XX游戏开发1、简易五子棋游戏2、俄罗斯方块3、跳棋游戏4>24点游戏设计的功能方面请参考实际情况或网络。 基本要求:实现游戏基本功能,界面友好 更高要求:最好能够实

18、现人机对弈三、运算类1、表达式的求值表达式求值要求:例如,输入 25*(12-27/3)+2*5=则程序运行后输出 25*(12-27/3)+2*5=85 设计要求:整数和实数都要考虑) ,利用给定的以字符序列的形式从终端输入不含变量的算术表达式 算符优先关系,实现对算术四则混合运算表达式的求值, 基本要求:(1)输入四则表达式(有括号和加减乘除) ;(2)判断表达式是否合法(括号是否匹配) ;(3)按照运算符的优先级计算算术表达式的值。更高要求:1)演示在求值过程中 运算符栈、操作数栈 的变化过程。2)判断表达式的语法是否正确(比如1 2 就是错误的)2、长整数的加减运算问题描述:设计一个实

19、现任意长的整数进行加法运算的演示程序基本要求: 利用双向循环链表实现长整数的存储,每个结点含一个整型变量。任何整型变量的范围是-(215 1)(215 1)。输入输出形式:按照中国对于长整数的表示习惯,每四位是一组, 组间用逗号隔开更高要求:(1) 长整数的减法(2) 多个长整数的连续加减法,并带括号等。具体方式可以参见表达式的求值部分,利用栈 测试数据:( 1) 0;0;应输出“ 0”(2) 2345, 6789; 7654, 3211;应输出“ 1, 0000, 0000”(3) 9999, 9999; 1 , 0000, 0000, 0000;应输出“ 9999, 0000, 0001”

20、( 4) 1, 0001 , 0001 ; 1 , 0001, 0001 ;应输出“ 0”( 5) 1, 0001 , 0001; 1, 0001, 0000;应输出“ 1”(6) 9999, 9999, 9999; 9999, 9999, 9999;应输出“ 1, 9999, 9999, 9998”(7) 1, 0000, 9999, 9999; 1 ;应输出“ 1, 0001, 0000, 0000”实现提示:(1) 每个结点中可以存放的最大整数为215 1 = 32767,才能保证两数相加不会溢出。但若这样存,即相当于按 32768 进制数存,在十进制数与 32768 进制数之间的转换十

21、分不方便。 故可以在每个结点中仅存十进制数的 4位,即不超过 9999 的非负整数。 整个链表是为万进制数。( 2)可以利用头结点数据域的符号代表长整数的符号。 用其绝对值表示元素结点数目。相 加过程中不要破坏两个操作数链表。两操作数的头指针存于指针数组中是简化程序结构的一种 方法。不能给长整数位数规定上限。3、一元多项式的计算问题描述:设计一个实现一元多项式加法、减法、乘法运算的程序 可在上学期实验的基础上完善程序。四、其它1、舞伴问题问题描述:一班有m个女生,有n个男生(m不等于n),现要开一个舞会。男女生分别编号坐在舞池的两边的椅子上。每曲开始时 ,依次从男生和女生中各出一人配对跳舞,本

22、曲没成功配对者坐着等待 下一曲找舞伴。 请设计一系统模拟动态地显示出上述过程。基本要求:(1) 输出每曲配对情况(2) 计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况。(3)至少求出 K 的两个值 .更高要求:尽量设计出多种算法及程序 ,可视情况适当加分提示:用队列来解决比较方便 .2、二叉树的应用哈夫曼树(电文的编码和译码)哈夫曼编码 /译码器问题描述:设计一个哈夫曼编码 / 译码系统,对字符串进行编码 /译码基本要求:( 1 )从键盘输入字符串,以回车结束;( 2 )根据字符串中字符出现的概率进行哈夫曼编码;(3)并输出编码结果和编码表;( 4)根据编码结果和

23、编码表还原字符串;( 5 )输出编码过程中构造的哈夫曼树。(6)程序编写要注意,需要能检查出用户输入错误更高要求:(1) 通过读入多篇文档(比如英文文档),对其中的字符进行分析,得出字符( 26 个字母和标 点符号等)出现频率,并根据该出现频率分析,构造哈夫曼树。(2)读入实际的文档,对该文档进行哈夫曼编码,并将编码后的信息保存为文件的形式,比如 code.txt( 3)读入 code.txt 进行译码,译码的结果保存为 encode.txt3、校园导游咨询问题描述: 设计校园导游程序,为来访的客人提供服务。基本要求:(1) 假设有一所校园的平面图,所含景点不小于10 个,请选择适当的坐标来表

24、示出该图上的 各个景点;(2) 为来访的客人提供从当前位置到其他景点的最短路径的咨询,包括具体线路(比如经过点1,点 2,点 3,最后达到目的地) ;(3)必须具有校园平面图的修改和扩充功能(即某些景点坐标的修改和景点个数的增加)。(4)景点查询功能:能查询景点的坐标,景点概况等更高要求:(1)从景点信息文件中读入各个点的信息, 并计算出各点到相应点的最短路径, 通过一定的组 织形式保存到路径信息文件中。(2)数据更新:数据更新时,需要同时更新景点信息文件和路径信息文件(3)用户查询景点信息或者最短路径时,仅仅是文件的读取。附录一:编程规范随着软件产品的功能增加和版本的提高,代码越来越复杂,源

25、文件也越来越多,对于软件 开发人员来说,除了保证程序运行的正确性和提高代码的运行效率之外,规范风格的编码会对 软件的升级、修改、维护带来极大的方便性,也保证程序员不会陷入“代码泥潭”中无法自拔。 开发一个成熟的软件产品,除了有详细丰富的开发文档之外,必须在编写代码的时候就有条不 紊,细致严谨。以下的编码规范包含了程序排版、注释、命名、可读性、变量、程序效率、质量保证、代 码编译、代码测试和版本控制等注意事项。、排版:1. 关键词和操作符之间加适当的空格。2. 相对独立的程序块与块之间加空行3. 较长的语句、表达式等要分成多行书写。4. 划分出的新行要进行适应的缩进,使排版整齐,语句可读。5.

26、长表达式要在低优先级操作符处划分新行,操作符放在新行之首。6. 循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。7. 若函数或过程中的参数较长,则要进行适当的划分。8. 不允许把多个短语句写在一行中,即一行只写一条语句。9. 函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。10. C/C+语言是用大括号'和'界定一段程序块的,编写程序块时'和'各独占一行并且位于同一列, 同时与引用它们的语句左对齐。 在函数体的开始、 类的定义、 结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要

27、采用如上的缩进方式。、注释1. 注释要简单明了。2. 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。3. 在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。4. 对代码的注释应放在其上方相邻位置,不可放在下面。5. 对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。6. 变量、常量的注释应放在其上方相邻位置或右方。7. 全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。8.

28、在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期; 模块功能描述 (如功能、 主要算法、 内部各部分之间的关系、 该文件与其它文件关系等) 主要函数或过程清单及本文件历史修改记录等。9. 在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输 入、输出及返回值说明;调用关系及被调用关系说明等。三、命名1. 较短的单词可通过去掉“元音”形成缩写;2. 较长的单词可取单词的头几发符的优先级,并用括号明确表达式的操作顺序,避免使用 默认优先级。3. 使用匈牙利表示法四、可读性1. 避免使用不易理解的数字,用有意义的标识来替代。2. 不要使用难懂的技巧性

29、很高的语句。3. 源程序中关系较为紧密的代码应尽可能相邻。五、变量1. 去掉没必要的公共变量。2. 构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共变量, 防止多个不同模块或函数都可以修改、创建同一公共变量的现象。3. 仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。4. 明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。5. 当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。6. 防止局部变量与公共变量同名。7. 仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减少引起 误用现象。8. 结构的

30、设计要尽量考虑向前兼容和以后的版本升级,并为某些未来可能的应用保留余地 (如预留一些空间等) 。9. 留心具体语言及编译器处理不同数据类型的原则及有关细节。10. 严禁使用未经初始化的变量。声明变量的同时对变量进行初始化。11. 编程时,要注意数据类型的强制转换。六、函数、过程1. 函数的规模尽量限制在 200 行以内。2. 一个函数最好仅完成一件功能。3. 为简单功能编写函数。4. 函数的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出。5. 尽量不要编写依赖于其他函数内部实现的函数。6. 避免设计多参数函数,不使用的参数从接口中去掉。7. 用注释详细说明每个参数的作用、取值范

31、围及参数间的关系。8. 检查函数所有参数输入的有效性。9. 检查函数所有非参数输入的有效性,如数据文件、公共变量等。10. 函数名应准确描述函数的功能。11. 避免使用无意义或含义不清的动词为函数命名12. 函数的返回值要清楚、明了,让使用者不容易忽视错误情况。13. 明确函数功能,精确(而不是近似)地实现函数设计。14. 减少函数本身或函数间的递归调用。15. 编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P、 V 操作)等手段对其加以保护。七、可测性1. 在编写代码之前,应预先设计好程序调试与测试的方法和手段,并设计好各种调测开关 及相应测试代码如打印函数等。2. 在进行集成

32、测试 /系统联调之前,要构造好测试环境、测试项目及测试用例,同时仔细分 析并优化测试用例,以提高测试效率。八、程序效率1. 编程时要经常注意代码的效率。2. 在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。3. 不能一味地追求代码效率,而对软件的正确性、稳定性、可读性及可测性造成影响。4. 编程时,要随时留心代码效率;优化代码时,要考虑周全。5. 要仔细地构造或直接用汇编编写调用频繁或性能要求极高的函数。6. 通过对系统数据结构划分与组织的改进,以及对程序算法的优化来提高空间效率。7. 在多重循环中,应将最忙的循环放在最内层。8. 尽量减少循环嵌套层次。9. 避免循环体内

33、含判断语句,应将循环语句置于判断语句的代码块之中。10. 尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。九、质量保证1. 在软件设计过程中构筑软件质量。代码质量保证优先原则(1)正确性,指程序要实现设计要求的功能。(2)稳定性、安全性,指程序稳定、可靠、安全。(3)可测试性,指程序要具有良好的可测试性。(4)规范 /可读性,指程序书写风格、命名规则等要符合规范。(5)全局效率,指软件系统的整体效率。(6)局部效率,指某个模块 /子模块 /函数的本身效率。(7)个人表达方式 /个人方便性,指个人编程习惯。2. 只引用属于自己的存贮空间。3. 防止引用已经释放的内存空间。4. 过程 /函数

34、中分配的内存,在过程 /函数退出之前要释放。5. 过程 /函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出前要关闭。6. 防止内存操作越界。7. 时刻注意表达式是否会上溢、下溢。8. 认真处理程序所能遇到的各种出错情况。9. 系统运行之初,要初始化有关变量及运行环境,防止未经初始化的变量被引用。10. 系统运行之初,要对加载到系统中的数据进行一致性检查。11. 严禁随意更改其它模块或系统的有关设置和配置。12. 不能随意改变与其它模块的接口。13. 充分了解系统的接口之后,再使用系统提供的功能。14. 要时刻注意易混淆的操作符。当编完程序后,应从头至尾检查一遍这些操作符。15. 不

35、使用与硬件或操作系统关系很大的语句,而使用建议的标准语句。16. 建议:使用第三方提供的软件开发工具包或控件时,要注意以下几点:( 1)充分了解应用接口、使用环境及使用时注意事项。( 2)不能过分相信其正确性。( 3)除非必要,不要使用不熟悉的第三方工具包与控件。十、代码编译1. 编写代码时要注意随时保存,并定期备份,防止由于断电、硬盘损坏等原因造成代码丢 失。2. 同一项目组内,最好使用相同的编辑器,并使用相同的设置选项。3. 合理地设计软件系统目录,方便开发人员使用。4. 打开编译器的所有告警开关对程序进行编译。5. 在同一项目组或产品组中,要统一编译开关选项。6. 使用工具软件(如 Vi

36、sual SourceSafe )对代码版本进行维护。一、代码测试、维护1. 单元测试要求至少达到语句覆盖。2. 单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。3. 清理、整理或优化后的代码要经过审查及测试。4. 代码版本升级要经过严格测试。附录二:课程设计说明书格式要求械林慈孚科啟如tGUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY课程设计(论文)说明书题 目学 院:专 业:姓 名:学 号:指导教师: 年 月 日、纸张和页面要求A4 纸打印(手写的用学院标准课程设计说明书用纸) ;页边距要求如下:左边 距为 2.5 厘米,上、下、右边距各为 2 厘米;行间距取固定值(设置值为 18磅); 字符间距为默认值(缩放 100%,间距:标准)。二、装订页码顺序(1) 封面, (2) 目录(注明页码),(3) 正文, (4) 参考文献。 装订线要求在页 面左边。三、章节序号按照正式出版物的惯例,章节序号的级序规定如下: 1、1.1、1.1.1 、(1) 、四、封面采用统一规格,请参考本文档上一页所给出的封面格式。五、目录三号、黑体、居中、目录两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论