您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 学生选课系统-代码评审
一、代码评审检查表:NO检查项是否符合1变量生存周期合适O2代码不仅包含单元测试用例,而且测试均已通过。X3代码包含了恰当的注释和代码文档O4代码符合代码格式规范O5代码有健全的出错处理子程序X6删除了多余语句O7编译没有出错O8连接没有出错O9消除了所有警告O10性能问题有考虑X11安全问题有考虑O12不存在溢出O13不存在内存泄露O14优先使用可重用组件或库中相同功能的函数来替换自己的实现X15出现了恰当的转移语句X16变量初始化没有异常,没有引用未初始化变量O17变量类型定义没有出错O18代码逻辑达到最佳编码X19功能要求和代码实现一致O20二、代码评审实验心得:2.1代码评审定义:代码评审,是一种静态的软件测试方法。它针对软件的源代码,通过走查、评审等方式,来有效的发现软件代码缺陷。2.2代码评审优点:有利于预防bug,为改善代码质量打下坚实的基础。在项目的早期发现缺陷,可以将损失降至最低。评审的过程也是重新梳理开发思路的过程,双方都加深了对系统的理解。有利于促进团队沟通、促进知识共享、共同提高。2.3代码评审实现过程及心得体会:在针对源程序,即学生选课管理系统源代码的基础上,结合代码评审的相关概念、思想,还有参考了相关知识。有针对性的设计了,一个评审检查表。按照代码评审的要求,逐步按评审检查表的款项。逐条,执行检查。严格的按照审查要求,严肃的将检查结果记录在册。代码评审的过程中,按照一定的速度执行代码检查。检查代码的编程风格,书写格式,变量定义、生存周期、初始化,代码注释是否合适等款项。每一条检查项目严格执行,这个过程十分枯燥。但必须仔细,认真对待,不容许出现一丝错误。代码评审,是我们以前重来没有经历过的事情,对于这些事情。我们既充满了好奇,也有些忐忑不安。在实验的过程中,我们一边查找资料,一边根据书上所学、以及老师所讲。一边学,一边用。在这样的状态下,历经苦难,终于完成了这个过程。在这个过程中,我学到了很多,在以前都不会注意的东西。学会了以一种严谨的态度来认真执行,学会了有问题就同伙伴,交流、讨论。在将来,或许我会从事软件行业。相信到那个时候,在做软件测试的时候,这个时候的一段经历,会对我很有帮助。三、源代码:#includestdio.h#includestring.h#includewindows.h#defineSCMAX6/*每人选课最大数目-1*/#defineTEMAX4/*老师能教的最大课程数目-1*/#defineSTU1000/*最大学生人数*/#defineCNO200/*课程最大数目*/#defineTea200/*老师最大编号*/#defineCPMAX80/*规定每门课人数最大值*/structCourse{intCno;/*课程号*/charCname[20];/*课程名*/doubletime;/*上课时间*/charplace[20];/*上课地点*/charteacher[10];/*上课老师*/intTno;/*老师编号*/intpn;/*学生人数*/}Cou[CPMAX]={{1,数学,109.40,5#5110,张三,1,4},{2,语文,210.30,6#6110,李四,2,1},{3,英语,307.30,15#15217,王五,3,1},{4,经济,715.40,6#6510,张三,1,4},{5,防身术,10.00,8#8321,李四,2,0},{6,电脑游戏,10.00,5#5310,王五,3,0}};/*课程初始化课程编号、上课时间、上课地点、老师、老师编号、课程人数*/structSTUDENT{intno;charSname[10];}S[6]={{1,尹新荣},{2,李明},{3,李阳},{4,刘成立},{5,艾斯},{6,司丽芳}};intStudent[STU][SCMAX]={{1,1,0,0,0},{2,1,0,0,0},{3,3,0,0,0},{4,1,2,3,4},{5,1,0,0,0},{6,0,0,0,0}};intTeacher[Tea][SCMAX]={{1,1,4,0,0},{2,2,5,0,0},{3,3,6,0,0}};/*++++++++++++++++++++++++++++++++++++++++++++++++++++++学生++++++++++++++++++++++++++++++++++++++++++++++++++++*/voidstudent();voidmanger();voidjiemian();voidAdd();voidchange();voidselect(intXH);voidDropC(intXH);voidteacher();voidmanger();voidsearch(intXH)/*课程查询*/{intj,i;chark[10];printf(您已选择的课程为:\n);printf(课程号课程名上课时间上课地点上课老师老师编号课程人数\n);for(j=1;j=4;j++){if(Student[XH][j]==0)printf(空\n);else{printf(%3d%10s%9.2f,Cou[Student[XH][j]-1].Cno,Cou[Student[XH][j]-1].Cname,Cou[Student[XH][j]-1].time);printf(%7s%8s%9d%9d\n,Cou[Student[XH][j]-1].place,Cou[Student[XH][j]-1].teacher,Cou[Student[XH][j]-1].Tno,Cou[Student[XH][j]-1].pn);}/*输出所查询的课程*/}printf(任意键返回\n);scanf(%s,&k);system(cls);printf(%s欢迎回来!\n,S[XH].Sname);system(color80);printf(################################################\n);printf(##\n);printf(##\n);printf(#1选课查询#\n);printf(##\n);printf(#2选课#\n);printf(##\n);printf(#3选课退选#\n);printf(##\n);printf(##\n);printf(#B返回#\n);printf(################################################\n);scanf(%d,&i);if(i==1){system(cls);search(XH);}elseif(i==2){system(cls);select(XH);}elseif(i==3){system(cls);DropC(XH);}else{system(cls);jiemian();}}voidselect(intXH)/*选课*/{leap1:system(color70);intcn,i,j,Cn,k;intp=0;chart[20];printf(课程号课程名上课时间上课地点上课老师老师编号课程人数\n);/*添加*/for(k=0;k=CPMAX;k++)/*添加*/{if(Cou[k].Cno==0)break;}for(i=0;ik;i++){printf(%3d%10s%9.2f,Cou[i].Cno,Cou[i].Cname,Cou[i].time);printf(%10s%8s%9d%9d\n,Cou[i].place,Cou[i].teacher,Cou[i].Tno,Cou[i].pn);}/*添加*/printf(请输入课程序号\n);scanf(%d,&cn);Cn=cn-1;if(Cou[Cn].Cno==0){printf(该课程不存在\n);printf(是否继续选课?1是2否\n);scanf(%d,&j);if(j==1){system(cls);gotoleap1;}}elseif(CnCNO&&Cn=0){printf(课程号课程名上课时间上课地点上课老师老师编号课程人数\n);printf(%3d%10s%9.2f,Cou[Cn].Cno,Cou[Cn].Cname,Cou[Cn].time);printf(%10s%8s%9d%9d\n,Cou[Cn].place,Cou[Cn].teacher,Cou[Cn].Tno,Cou[Cn].pn);printf(是否选择该课程?1是2否\n);scanf(%d,&j);if(j==1){for(j=1;j(SCMAX-1);j++)/*+++++++++++++++++++++++++++*/{if(Student[XH][j]==cn)p=1;}if(p==1){printf(该门课程已经选过了\n);printf(是否重新选课?1是2否\n);scanf(%d,&i);if(i==1){system(cls);gotoleap1;}}elseif(Student[XH][SCMAX-1]0){printf(你所选课程已满不能再进行选择\n);}elseif(Cou[Cn].pn==CPMAX){printf(该门课人数已满);printf(是否重新选课?1是2否\n);scanf(%d,&i);if(i==1){system(cls);gotoleap1;}/*1111*/}else{if(Student[XH][1]==0)Student[XH][1]=Cou[Cn].Cno;elseif(Student[XH][2]==0)Student[XH][2]=Cou[Cn].Cno;elseif(Student[XH][3]==0)Student[XH][3]=Cou[Cn].Cno;elseStudent[XH][4]=Cou[Cn].Cno;Cou[Cn].pn=Cou[Cn].pn+1;printf(选课成功!\n);printf(是否继续选课?1是2否\n);scanf(%d,&j);if(j==1){system(cls);gotoleap1;}}}else{printf(是否继续选课?1是2否\n);scanf(%d,&j);if(j==1){system(cls);gotoleap1;}}}else{printf(该课程不存在\n);printf(是否继续选课?1是2否\n);scanf(%d,&j);if(j==1){system(cls);gotoleap1;}}printf(任意键返回\n);scanf(%s,&t);system(cls);printf(%s欢迎回来!\n,S[XH].Sname);system(color80);printf(################################################\n);printf(##\n);printf(##\n);printf(#1选课查询#\n);printf(##\n);printf(#2选课#\n);printf(##\n);printf(#3选课退选#\n);printf(##\n);printf(##\n);printf(#B返回#\n);printf(################################################\n);scanf(%d,&i);if(i==1){system(cls);search(XH);}elseif(i==2){system(cls);select(XH);}elseif(i==3){system(cls);DropC(XH);}else{system(cls);jiemian();}}voidDropC(intXH)/*课程退选*/{leap2:inti,j,k;charl[20];intm=0;printf(您已选择的课程为:\n);printf(课程号课
本文标题:学生选课系统-代码评审
链接地址:https://www.777doc.com/doc-2489999 .html