版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、代碼評審檢查表:NO檢查項是否符合1變量生存周期合適O2代碼不僅包含單元測試用例,而且測試均已通過。X3代碼包含了恰當?shù)淖⑨尯痛a文檔O4代碼符合代碼格式規(guī)范O5代碼有健全的出錯處理子程序X6刪除了多余語句O7編譯沒有出錯O8連接沒有出錯O9消除了所有警告O10性能問題有考慮X11安全問題有考慮O12不存在溢出O13不存在內(nèi)存泄露O14優(yōu)先使用可重用組件或庫中相同功能的函數(shù)來替換自己的實現(xiàn)X15出現(xiàn)了恰當?shù)霓D(zhuǎn)移語句X16變量初始化沒有異常,沒有引用未初始化變量O17變量類型定義沒有出錯O18代碼邏輯達到最佳編碼X19功能要求和代碼實現(xiàn)一致O20二、代碼評審實驗心得:2.1代碼評審定義:代碼
2、評審,是一種靜態(tài)的軟件測試方法。它針對軟件的源代碼,通過走查、評審等方式,來有效的發(fā)現(xiàn)軟件代碼缺陷。2.2代碼評審優(yōu)點:有利于預(yù)防bug,為改善代碼質(zhì)量打下堅實的基礎(chǔ)。在項目的早期發(fā)現(xiàn)缺陷,可以將損失降至最低。評審的過程也是重新梳理開發(fā)思路的過程,雙方都加深了對系統(tǒng)的理解。有利于促進團隊溝通、促進知識共享、共同提高。2.3代碼評審實現(xiàn)過程及心得體會: 在針對源程序,即學(xué)生選課管理系統(tǒng)源代碼的基礎(chǔ)上,結(jié)合代碼評審的相關(guān)概念、思想,還有參考了相關(guān)知識。有針對性的設(shè)計了,一個評審檢查表。按照代碼評審的要求,逐步按評審檢查表的款項。逐條,執(zhí)行檢查。嚴格的按照審查要求,嚴肅的將檢查結(jié)果記錄在冊。 代碼評
3、審的過程中,按照一定的速度執(zhí)行代碼檢查。檢查代碼的編程風(fēng)格,書寫格式,變量定義、生存周期、初始化,代碼注釋是否合適等款項。每一條檢查項目嚴格執(zhí)行,這個過程十分枯燥。但必須仔細,認真對待,不容許出現(xiàn)一絲錯誤。代碼評審,是我們以前重來沒有經(jīng)歷過的事情,對于這些事情。我們既充滿了好奇,也有些忐忑不安。在實驗的過程中,我們一邊查找資料,一邊根據(jù)書上所學(xué)、以及老師所講。一邊學(xué),一邊用。在這樣的狀態(tài)下,歷經(jīng)苦難,終于完成了這個過程。在這個過程中,我學(xué)到了很多,在以前都不會注意的東西。學(xué)會了以一種嚴謹?shù)膽B(tài)度來認真執(zhí)行,學(xué)會了有問題就同伙伴,交流、討論。在將來,或許我會從事軟件行業(yè)。相信到那個時候,在做軟件測
4、試的時候,這個時候的一段經(jīng)歷,會對我很有幫助。三、源代碼:#include<stdio.h>#include<string.h>#include<windows.h>#define SCMAX 6/*每人選課最大數(shù)目-1*/#define TEMAX 4 /*老師能教的最大課程數(shù)目-1*/#define STU 1000/*最大學(xué)生人數(shù)*/#define CNO 200 /*課程最大數(shù)目*/#define Tea 200 /*老師最大編號*/#define CPMAX 80 /*規(guī)定每門課人數(shù)最大值*/struct Courseint Cno;/*課程號*/
5、char Cname20;/*課程名*/double time;/*上課時間*/char place20;/*上課地點*/char teacher10;/*上課老師*/int Tno; /*老師編號*/int pn ; /*學(xué)生人數(shù)*/CouCPMAX= 1,"數(shù)學(xué)",109.40, "5#5110", "張三",1,4,2,"語文",210.30,"6#6110", "李四",2,1,3,"英語",307.30, "15#15217"
6、,"王五",3,1,4,"經(jīng)濟",715.40,"6#6510", "張三",1,4,5,"防身術(shù)",10.00,"8#8321","李四",2,0,6,"電腦游戲",10.00,"5#5310","王五",3,0; /*課程初始化 課程編號、上課時間、上課地點、老師、老師編號、課程人數(shù)*/ struct STUDENTint no;char Sname10;S6=1,"尹新榮"
7、;,2,"李明",3,"李陽",4,"劉成立",5,"艾斯",6,"司麗芳"int StudentSTUSCMAX=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; int TeacherTeaSCMAX=1,1,4,0,0,2,2,5,0,0,3,3,6,0,0; /*+學(xué)生+*/void student();void manger();void jiemian();void Add();void change();vo
8、id select(int XH);void DropC(int XH) ; void teacher();void manger();void search(int XH) /*課程查詢*/int j,i;char k10;printf("您已選擇的課程為:n");printf("課程號 課程名 上課時間 上課地點 上課老師 老師編號 課程人數(shù)n");for(j=1;j<=4;j+)if(StudentXHj=0) printf("空n"); elseprintf("%3d %10s %9.2f ",Cou
9、StudentXHj-1.Cno,CouStudentXHj-1.Cname,CouStudentXHj-1.time);printf(" %7s %8s %9d %9dn",CouStudentXHj-1.place,CouStudentXHj-1.teacher,CouStudentXHj-1.Tno,CouStudentXHj-1.pn); /*輸出所查詢的課程*/printf("任意鍵返回n");scanf("%s",&k);system("cls"); printf("%s歡迎回來!n&
10、quot;,SXH.Sname); system("color 80"); printf(" #n"); printf(" # #n"); printf(" # #n"); printf(" # 1 選課查詢 #n"); printf(" # #n"); printf(" # 2 選課 #n"); printf(" # #n"); printf(" # 3 選課退選 #n"); printf(" # #n&
11、quot;); printf(" # #n"); printf(" # B返回 #n"); printf(" #n"); scanf("%d",&i); if(i=1) system("cls");search(XH); else if(i=2) system("cls");select(XH); else if(i=3) system("cls");DropC(XH); else system("cls");jiemian()
12、;void select(int XH) /*選課*/ leap1: system("color 70"); int cn,i,j,Cn,k;int p=0;char t20;printf("課程號 課程名 上課時間 上課地點 上課老師 老師編號 課程人數(shù)n"); /*添加*/for(k=0;k<=CPMAX;k+) /*添加*/if(Couk.Cno=0) break;for(i=0;i<k;i+)printf("%3d %10s %9.2f",Coui.Cno,Coui.Cname,Coui.time);printf(
13、" %10s %8s %9d %9dn",Coui.place,Coui.teacher,Coui.Tno,Coui.pn); /*添加*/printf("請輸入課程序號n");scanf("%d",&cn);Cn=cn-1; if(CouCn.Cno=0) printf("該課程不存在n"); printf("是否繼續(xù)選課? 1 是 2 否n"); scanf("%d",&j); if(j=1) system("cls");goto le
14、ap1; else if(Cn<CNO&&Cn>=0)printf("課程號 課程名 上課時間 上課地點 上課老師 老師編號 課程人數(shù)n");printf("%3d %10s %9.2f",CouCn.Cno,CouCn.Cname,CouCn.time);printf(" %10s %8s %9d %9dn",CouCn.place,CouCn.teacher,CouCn.Tno,CouCn.pn);printf("是否選擇該課程? 1 是 2 否n");scanf("%d&
15、quot;,&j);if(j=1)for(j=1;j<(SCMAX-1);j+)/*+*/if(StudentXHj=cn) p=1;if(p=1) printf("該門課程已經(jīng)選過了n");printf("是否重新選課?1 是 2 否n");scanf("%d",&i);if(i=1) system("cls");goto leap1;else if(StudentXHSCMAX-1>0) printf("你所選課程已滿不能再進行選擇n"); else if(Cou
16、Cn.pn=CPMAX) printf("該門課人數(shù)已滿");printf("是否重新選課?1 是 2 否n");scanf("%d",&i);if(i=1) system("cls");goto leap1; /*1111*/elseif(StudentXH1=0) StudentXH1=CouCn.Cno;else if(StudentXH2=0) StudentXH2=CouCn.Cno;else if(StudentXH3=0) StudentXH3=CouCn.Cno;elseStudentXH4
17、=CouCn.Cno; CouCn.pn=CouCn.pn+1; printf("選課成功!n"); printf("是否繼續(xù)選課? 1 是 2 否n"); scanf("%d",&j); if(j=1) system("cls");goto leap1; else printf("是否繼續(xù)選課? 1 是 2 否n"); scanf("%d",&j); if(j=1) system("cls");goto leap1;else printf
18、("該課程不存在n");printf("是否繼續(xù)選課? 1 是 2 否n");scanf("%d",&j);if(j=1) system("cls");goto leap1;printf("任意鍵返回n");scanf("%s",&t);system("cls");printf("%s歡迎回來!n",SXH.Sname);system("color 80");printf(" #n"
19、;);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("
20、 #n");scanf("%d",&i);if(i=1) system("cls");search(XH); else if(i=2) system("cls");select(XH);else if(i=3) system("cls");DropC(XH); else system("cls"); jiemian();void DropC(int XH) /*課程退選*/leap2: int i,j,k;char l20;int m=0;printf("您已選擇的課
21、程為:n");printf("課程號 課程名 上課時間 上課地點 上課老師 老師編號 課程人數(shù)n");for(j=1;j<=4;j+)if(StudentXHj=0) printf("空n"); elseprintf("%3d %10s %9.2f ",CouStudentXHj-1.Cno,CouStudentXHj-1.Cname,CouStudentXHj-1.time);printf(" %7s %8s %9d %9dn",CouStudentXHj-1.place,CouStudentXH
22、j-1.teacher,CouStudentXHj-1.Tno,CouStudentXHj-1.pn); /*輸出所查詢的課程*/printf("請輸入退選的課程號:n");scanf("%d",&i);if(i>CNO|i<0) printf("輸入有誤n");goto leap2;else if(Coui-1.Cno=0)printf("該課程不存在n");printf("是否重新退選課程?1 是 2 否n");scanf("%d",&k);i
23、f(k=1) system("cls"); goto leap2;elsefor(j=1;j<=4;j+)if(StudentXHj=Coui-1.Cno) m=1;break;if(m=1) StudentXHj=0; Coui-1.pn=Coui-1.pn-1;printf("退選成功!n");printf("是否繼續(xù)退選課程? 1是 2 否n");scanf("%d",&k);if(k=1) system("cls"); goto leap2;elseprintf("
24、;你還沒選擇這門課程n"); printf("是否重新退選課程?1 是 2 否n");scanf("%d",&k);if(k=1) system("cls"); goto leap2;printf("任意鍵返回n");scanf("%d",l);system("cls");printf("%s歡迎回來!n",SXH.Sname);system("color 80");printf(" #n");pr
25、intf(" # #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&q
26、uot;);scanf("%d",&i);if(i=1) system("cls");search(XH); else if(i=2) system("cls");select(XH); else if(i=3) system("cls");DropC(XH);else system("cls");jiemian(); void student()int xh,i;leap7: printf("請輸入賬號:n");scanf("%d",&x
27、h);if(xh>6|xh<1) printf("輸入錯誤請重新輸入n"); goto leap7;elsesystem("cls");printf("%s歡迎回來!n",Sxh-1.Sname);system("color 80");printf(" #n");printf(" # #n");printf(" # #n"); printf(" # 1 選課查詢 #n");printf(" # #n");
28、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-1); else if(i=2) system("cls
29、");select(xh-1);else if(i=3) system("cls");DropC(xh-1); else system("cls");jiemian();/*+學(xué)生+*/*+老師+*/void teacher() /*老師*/*f*/leap3:int BH,bh,i,j,d,m;char l20;int k=0; printf("請輸入賬號:n");scanf("%d",&bh);if(bh>6|bh<1) printf("輸入錯誤請重新輸入n")
30、; goto leap3; elseBH=bh-1;if(BH>CNO|BH<0) printf("輸入有誤n");goto leap3;else/*kk*/printf("您所教的選修課有:n");printf("課程號 課程名 上課時間 上課地點 上課老師 老師編號 課程人數(shù)n");for(i=1;i<=TEMAX;i+)printf("%3d %10s %9.2f ",CouTeacherBHi-1.Cno,CouTeacherBHi-1.Cname,CouTeacherBHi-1.time
31、); printf(" %10s %8s %9d %9dn",CouTeacherBHi-1.place,CouTeacherBHi-1.teacher,CouTeacherBHi-1.Tno,CouTeacherBHi-1.pn); printf("顯示所教課程學(xué)生名單?1 是 2 否n");scanf("%d",&j);if(j=1)leap4: printf("請輸入課程號n"); scanf("%d",&j); if(j>CNO|j<1) printf(&qu
32、ot;輸入錯誤n"); goto leap4; else if(Couj-1.Cno!=0)/*ff*/i=1;while(i<4)if(j=TeacherBHi)m=1;i+;elsei+;if(m=0) printf("你沒有教該門課n"); goto leap4; elseprintf("選修該門課程的學(xué)生有:n");for(i=0;i<=5;i+)for(d=1;d<5;d+)if(j=Studentid)printf("%3d %sn",Si.no,Si.Sname);printf("按
33、任意鍵返回n");scanf("%s",l);system("cls");jiemian();/*+老師+/*+管理員+*/void Delete() /*對課程進行刪除*/leap5: int i,j;char l20;printf("請輸入要刪除的課程的課程號:n"); scanf("%d",&i);if(i<1|i>CNO) printf("輸入錯誤n"); goto leap5;else if(Coui-1.Cno=0) printf("該課程不存
34、在n");printf("是否繼續(xù)刪除課程? 1 是 2否n");scanf("%d",&j);if(j=1)system("cls"); goto leap5;elseprintf("正在刪除請稍后n");memset(&Coui-1,0,sizeof(struct Course);printf("刪除成功!n");printf("是否繼續(xù)刪除課程? 1 是 2否n");scanf("%d",&j);if(j=1)sys
35、tem("cls"); goto leap5;printf("任意鍵返回n");scanf("%s",&l);system("cls"); printf(" #n"); printf(" # 管理員 #n"); printf(" # #n"); printf(" # 1 增加課程 #n"); printf(" # #n"); printf(" # 2 刪除課程 #n"); printf(&
36、quot; # #n"); printf(" # 3 修改課程 #n"); printf(" # #n"); printf(" # #n"); printf(" # B返回 #n"); printf(" #n"); scanf("%d",&i); if(i=1) system("cls");Add(); else if(i=2) system("cls");Delete(); else if(i=3) system(&
37、quot;cls");change(); elsesystem("cls");jiemian();voidchange() /*對課程進行修改*/char l20;leap6: int i,j,m,d;int k=0;printf(" 請輸入要修改的課程的課程號:n");scanf("%d",&i);if(i<1|i>CNO) printf("輸入錯誤n"); goto leap6;else if(Coui-1.Cno=0) printf("該課程不存在n"); g
38、oto leap6; elseint cno; char cname20; float Time; char Place20; char Teacher10; int tno; printf("請依次按' 課程號 課程名 上課時間 上課地點 上課老師 老師編號' 輸入:n");scanf("%d",&cno); scanf("%s",&cname);scanf("%f",&Time);scanf("%s",&Place);scanf("%
39、s",&Teacher);scanf("%d",&tno);for(j=0;j<CNO;j+)if(Couj.Cno=0) break;m=j;for(j=0;j<m;j+)if(Couj.time=Time&&strcmp(Couj.place,Place)=0) k=1;break;if(k=1) printf("輸入的有誤,所修改的課程其他課程有沖突n");goto leap6;elseCoui-1.Cno=cno;strcpy(Coui-1.Cname,cname);Coui-1.time=T
40、ime;strcpy(Coui-1.place,Place);strcpy(Coui-1.teacher,Teacher);Coui-1.Tno=tno;printf("修改成功!n");printf("繼續(xù)修改課程? 1是 2否n");scanf("%d",&d);if(d=1)system("cls"); goto leap6;printf("任意鍵返回n");scanf("%s",&l);system("cls");printf(&q
41、uot; #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");Add();else if(i=2) system("cls");Delete();else if(i=3)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 橋式起重機安裝施工計劃
- 品牌授權(quán)協(xié)議書范本
- 循環(huán)流化床鍋爐調(diào)試及運行操作規(guī)程(4篇)
- 2025年幼兒園小班下學(xué)期工作計劃例文(2篇)
- 2025年區(qū)網(wǎng)上辦事分廳建設(shè)工作總結(jié)模版(2篇)
- 2025年大學(xué)班主任工作計劃書模版(3篇)
- 個人檔案管理制度模版(2篇)
- 學(xué)校體育節(jié)活動方案(2篇)
- 2025年工作經(jīng)驗交流演講稿模版(2篇)
- 橋式吊車司機安全技術(shù)操作規(guī)程(2篇)
- 醫(yī)養(yǎng)結(jié)合養(yǎng)老院(養(yǎng)老中心)項目可行性報告
- 初三語文總復(fù)習(xí)全程計劃表
- 電子技術(shù)基礎(chǔ)與技能-機工教案第九章教案555集成定時器介紹
- 污水處理運行質(zhì)量保證措施
- 食材供貨及質(zhì)量保障措施方案
- 基于單片機的智能充電器設(shè)計
- 營養(yǎng)學(xué)概論演示
- 統(tǒng)編版語文四年級上冊期末總復(fù)習(xí)課件
- 2023年四川省鄉(xiāng)村醫(yī)生招聘筆試題庫及答案解析
- 彈力重力和摩擦力
- 配料罐(攪拌罐)說明書
評論
0/150
提交評論