




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、word軟件工程導論實驗報告一、 實驗題目:學生成績管理系統、圖書借閱管理系統、工資管理系統、網絡訂餐系統、招聘考試成績管理系統二、實驗目標通過獨立完成工程開發,加深對軟件開發分析過程的流程和方法的理解,建立軟件工程的思想,同時,明確軟件開發的本錢和時間管理的相關概念。實驗一實驗要求:. 在實驗題目列出的幾個系統中選擇一個作為自己要開發的軟件系統,要求該系統有明確的功能需求,并建立系統的分析模型。. 對系統進行需求分析,掌握ER圖、DFD、DD的設計與編寫. 熟悉Visio環境和根本操作,制作一個簡單的系統流程圖和數據流圖、主要數據項的數據字典描述及主要加工的邏輯說明自己選擇結構語言、判定樹、
2、判定表等。.撰寫需求分析規格說明書用戶需求分析 作為圖書管理系統,其主要的需求人員是借閱者,借閱者對其的要求可以大體概括如下:1) 能按各種方式,比方書名、編號、作者等查詢圖書館的藏書情況;2) 能熟悉使用圖書管理系統;3) 能方便地借閱圖書、續借圖書、歸還圖書;4) 能查詢自己的根本資料、借閱圖書情況;5) 能方便圖書管理員對圖書的錄入登記、注銷;6) 能方便對新生的登記或注銷已經畢業學生的信息;7) 能及時發布一些學院學生借閱圖書超期情況、館內藏書情況等。 功能說明 1、讀者管理系統 1未注冊者可以進入注冊系統進行注冊; 2已注冊借閱者可按姓名、編號或身份證號登陸進入借閱者檢索系統查詢借閱
3、者 情況; 3已注冊借閱者可按書名、出版社或作者對圖書信息進行檢索查詢或提出預約請 求; 2、圖書管理員管理系統 1圖書管理員通過圖書管理員身份認證進入圖書管理員管理系統; 2讀者可借閱在庫圖書; 3在規定期限內借閱者歸還借閱圖書; 4讀者在不違規情況下可繼續借閱已借閱圖書; 5讀者可以預約圖書。 3、系統管理員管理系統 1系統管理員通過系統管理員身份認證進入系統管理員管理系統; 2系統管理員可以對圖書進行圖書管理如:查詢、刪除、修改圖書資料或圖書 分類查詢修改、刪除管理; 3系統管理員可以對借閱者進行學生管理如:查詢、刪除、修改借閱者信息或 借閱者類別修改、刪除管理,查詢瀏覽借閱者詳細資料,
4、包括借閱次數,登陸次數, 最后登陸時間; 4、罰款管理系統 1罰款管理員通過罰款管理員身份認證進入罰款管理系統;(2) 罰款處理可以讀取借閱信息表再生成超時罰款信息表,通過超時罰款信息表可 以生成罰款單給罰款管理員;(3) 圖書管理員告知罰款系統圖書超時未還,經罰款管理員鑒定后,對圖書進行注銷處理且罰款管理員對借閱者進行罰款處理。DFD頂層流程圖ER模型圖程序流程圖數據字典圖書管理系統數據流圖中,數據信息和處理過程需要通過數據字典才能描述清楚。在定義的圖書管理系統數據字典中,主要對數據流圖中的數據項、數據流、數據存儲和處理過程進行說明。(1) 數據項描述 1數據項名稱:借書證號 含義說明:惟一
5、標識一個借書證 類型:字符型 長度:50 邏輯關系:不允許為空 2數據項名稱:用戶名 含義說明:讀者的名稱 類型:字符型 長度:20 邏輯關系:不允許為空 3數據項名稱:密碼 含義說明:對用戶名和操作員管理員進行加密 類型;字符型 長度:10 邏輯關系:允許為空 4數據項名稱:性別 類型:字符型 長度:10 邏輯關系:允許為空 5數據項名稱:所在系別 類型;字符型 長度:10 邏輯關系:允許為空 6數據項名稱:所在班級 類型:字符型 長度:10 邏輯關系:允許為空 7數據項名稱:操作員名稱 類型:字符型 長度:30 邏輯關系:不允許為空 8數據項名稱:操作員簡稱 含義說明:惟一標識一個操作員
6、類型:字符型 長度:10 邏輯關系:不允許為空 9數據項名稱:操作員級別 含義說明:對操作員和管理員進行區分 類型:字符型 長度:10 邏輯關系:不允許為空 10數據項名稱:圖書編號 含義說明:惟一標識一個圖書 類型:字符型 長度:10 邏輯關系:不允許為空 11數據項名稱:圖書名稱 類型:字符型 長度:50 邏輯關系:不允許為空 12數據項名稱:作者 類型:字符型 長度:50 邏輯關系:不允許為空 13數據項名稱:作者 類型:字符型 長度:50 邏輯關系:不允許為空 14數據項名稱:作者 類型:字符型 長度:50 邏輯關系:不允許為空 15數據項名稱:出版社 類型:字符型 長度:50 邏輯關
7、系:不允許為空 16數據項名稱:出版時間 類型:日期時間型 長度:8 邏輯關系:不允許為空 17數據項名稱:價格 類型:整型 長度:4 邏輯關系:不允許為空 18數據項名稱:備注 類型:字符型 長度:200 邏輯關系:允許為空 19數據項名稱:借書日期 類型:日期時間 長度:8 邏輯關系:不允許為空 20數據項名稱:還書日期 類型:日期時間 長度:8 邏輯關系:不允許為空2數據結構描述 1數據流名稱:用戶情況 含義說明:定義了一個讀者的有關信息組成結構:用戶情況=用戶名+借書證號+密碼+性別+所在系別+所在班級 2數據流名稱:操作員情況 含義說明:定義了一個操作員的有關信息 組成結構:操作員情
8、況=操作員名稱+操作員簡稱+操作員級別+操作員密碼3) 數據流名稱:圖書情況 含義說明:定義了一個圖書的有關信息 組成結構:圖書情況=圖書編號+圖書名稱+作者+出版社+出版時間+價格+備注(3) 數據流非數據項說明 1數據流名稱:借書單 含義:讀者借書時要填寫的單據 來源:讀者 去向:審核借書 數據流量:250份/天 組成:借書單=借書證號+圖書編號+借書日期 2數據流名稱:還書單 含義:讀者還書時要填寫的單據 來源:讀者 去向:審核還書 數據流量:250份/天 組成:還書單=圖書編號+還書日期(4) 數據存儲說明1) 數據存儲名稱:圖書數據表 含義說明:存放圖書的有關信息 組成結構:圖書編號
9、+圖書名稱+作者+出版社+出版時間+價格+備注 說明;書號具有惟一性和非空性 2 數據存儲名稱:用戶信息表 含義說明:存放讀者的注冊信息 組成結構:用戶名+借書證號+密碼+性別+所在系別+所在班級 說明:證號具有惟一性和非空性,性別只能是男和女 3 數據存儲名稱:借書記錄 含義說明:存放讀者的借書,還書信息 組成結構:借書證號+圖書編號+借書日期+還書日期 說明:要求能夠立即查詢(5) 處理過程說明 1處理過程名稱:圖書管理 輸入:圖書情況, 輸出:圖書記錄 處理說明:對館內所有圖書按圖書編號進行管理,將圖書數據數據化,存儲圖書數據表中。 2處理過程名稱:讀者管理 輸入:讀者情況, 輸出:讀者
10、記錄 處理說明:建立讀者信息表,對讀者進行統一編號,實現讀者記錄 表的增刪改維護功能。 3處理過程名稱:查看數目 輸入:借書請求,讀者, 輸出:借書記錄,圖書信息 處理說明:實現根據圖書編號等查詢圖書。 4處理過程名稱:借書處理 輸入:圖書情況,讀者,借書記錄 輸出:借書記錄 處理說明:確認讀者符合借書條件,辦理借書手續。 5處理過程名稱:還書處理 輸入:圖書情況, 輸出:借書記錄 處理說明:對照相應的圖書編號可辦理還書手續。 6處理過程名稱:平安管理 輸入:操作員情況,用戶情況 輸出:操作員級別,操作員記錄,用戶記錄 處理說明:通過用戶名和口令,確認用戶身份,保證系統的平安型。實驗2實驗內容
11、:采用面向數據流的設計方法設計系統軟件結構,使用Visio畫出軟件層次圖。2學時實驗要求: 學習總體設計的根本方法; 掌握面向數據流的設計方法; 通過對實驗一中DFD圖的分析,使用Visio畫出軟件層次圖 。編寫出初步的系統設計報告實驗結果:頂層數據流圖:第0層圖:第一層圖:1:登陸子系統2:管理子系統3查詢子系統第二層圖:(1) :處理新書購入2處理學生借書3:處理學生還書4:處理圖書注銷5處理學生信息查詢6處理圖書信息查詢實驗三完成實驗二中的兩到三個主要功能模塊的詳細設計;編寫局部代碼2學時要求: 學習詳細設計的根本方法; 掌握詳細設計圖形工具的使用方法; 給出主要功能模塊的算法 選擇程序
12、設計語言編寫主要功能模塊代碼圖書根本信息錄入模塊首先輸入圖書錄入的編號不為0判斷是否有重復的編號,假設有,那么提示用戶該書已存在,假設無那么繼續錄入書名、作者、出版社、單價。 void putin() /*定義錄入函數*/ int y=1;system("cls");while(y) printf("t請輸入您的書籍的書號:");scanf("%s",library.booklibrary.count.number);printf("t請輸入書名:");scanf("%s",library.bo
13、);printf("t請輸入作者名:");scanf("%s",library.booklibrary.count.author);printf("t請輸入出版社:");scanf("%s",library.booklibrary.count.publish);printf("t請輸入出版時間:");scanf("%s",library.booklibrary.count.time);printf("t請輸入該書的價格:&qu
14、ot;);fflush(stdin);scanf("%f",&library.booklibrary.count.price);library.count+;printf("n是否繼續錄入(1.繼續;0,退出錄入):");fflush(stdin);scanf("%d",&y);if (y!=1)y=0;break; save();圖書根本信息查詢模塊用戶先選擇圖書查詢方式按書名查找或按書號查找輸入圖書書名或書號后,查找出該圖書是否存在,假設存在,那么顯示該圖書信息,假設不存在那么提示用戶無此圖書信息。void sea
15、rch_by_author() /*定義按作者名查詢*/ char s320;int flag=1;printf("請輸入要查詢的書的作者: ");fflush(stdin);scanf("%s",s3);printf("圖書號t圖書名t作者名t出版社t出版日期t圖書價格n");for(int i=0;i<library.count;i+ )if(strcmp(s3,library.booki.author)=0) flag=0;printf("%st%st%st%st%st%6.2fn",library.b
16、ooki.number,,library.booki.author,library.booki.publish,library.booki.time,library.booki.price); if (flag)printf("cannot found!");fflush(stdin);getchar();圖書根本信息修改模塊用戶輸入要修改的書名,判斷該書是否存在,假設不存在,那么提示用戶無此圖書信息;假設存在,那么提示用戶選擇修改工程,然后提示用戶圖書信息修改完成。void modify()/修改圖書信息char number10;sy
17、stem("cls"); /*清屏*/printf("n Please type in the number of the book you want to delete:");fflush(stdin);scanf("%s",number);int i;for (i=0;i<library.count;i+) if(strcmp(number,library.booki.number)=0) printf("圖書號t圖書名t作者名t出版社t出版日期t圖書價格n"); printf("%st%st%
18、st%st%st%6.2fn",library.booki.number,,library.booki.author,library.booki.publish,library.booki.time,library.booki.price); break; if (i!=library.count)mbook book;printf("ntt請輸入修改后此圖書的信息n");printf("t請輸入圖書號:");scanf("%s",book.number);printf("t請輸
19、入圖書名:");scanf("%s",);printf("t請輸入作者名:");scanf("%s",book.author);printf("t請輸入出版社:");scanf("%s",book.publish);printf("t請輸入出版時間:");scanf("%s",book.time);printf("t請輸入該書的價格:");fflush(stdin);scanf("%f",
20、&book.price);strcpy(,);strcpy(library.booki.number,book.number);strcpy(library.booki.publish,book.publish);strcpy(library.booki.author,book.author);strcpy(library.booki.time,book.time);library.booki.price=book.price;save();elseprintf("n cannot found!n");fflus
21、h(stdin);getchar();實驗4對所選系統完成系統測試2學時實驗要求: 學習軟件測試的根本方法; 結合實驗三中的算法,用白盒法中的邏輯覆蓋測試技術,設計測試用例; 選擇實驗三中給出代碼的模塊進行黑盒測試。單元測試 :采用白盒測試法針對用戶還書、預約、借書、查詢等功能模塊進行測試1對于還書功能模塊,模塊的程序流程圖如下: 判定節點為2,環形復雜度為:2+1=3采用路徑覆蓋法,測試用例為:1、測試路徑:0-5 輸入條件:retno不存在 預期輸出:無該圖書2、測試路徑:0-1-4-5 輸入條件:retno存在,borday>90 預期輸出:接受違約懲罰3、測試路徑:0-1-2-3
22、 輸入條件:retno存在,borday<=90 預期輸出:成功還書2對于預約功能模塊,模塊的程序流程圖如下:圖中判定節點為:2,環形復雜度為:2+1+3采用路徑覆蓋法,測試用例如下:1、測試路徑:0-1-6-9 輸入條件:borday>90 預期輸出:接受違約處分2、測試路徑:0-1-2-7 輸入條件:borday<=90,borno不存在 預期輸出:不存在該圖書3、測試路徑:0-1-2-3-8 輸入條件:borday<=90,borno存在,onself不存在 預期輸出:圖書已借出4、測試路徑:0-1-2-3-4-5 輸入條件:borday<=90,borno
23、存在,onself存在 預期輸出:預約成功3對于借書功能模塊,模塊的程序流程圖如下:圖中判定節點為4,環形復雜度為:4+1=5采用路徑覆蓋測試法,測試用例如下:1、測試路徑:0-7 輸入條件:borday>90 預期輸出:接受違約懲罰2、測試路徑:0-1-8 輸入條件:borday<=90,borno>5 預期輸出:超出所借數目的最大3、測試路徑:0-1-2-3-9 輸入條件:borday<=90,borno>5,bookno不存在 預期輸出:所借圖書編號不存在4、測試路徑:0-1-2-3-4-10 輸入條件:borday<=90,borno>5,bo
24、okno存在,onshelf不存在 預期輸出:書不在架5、測試路徑:0-1-2-3-4-5-6 輸入條件:borday<=90,borno>5,bookno存在,onshelf存在 預期輸出:借書成功(4) 對于查詢功能模塊,模塊的程序流程圖如下:流程圖中判定節點為2,環形復雜度為:2+1=3采用路徑覆蓋測試法,測試用例如下:1、測試路徑:0-1-6 輸入條件:bookno不存在 預期輸出:要查找的圖書不存在2、測試路徑:0-1-2-3 輸入條件:bookno存在,onself=1 預期輸出:要查找的圖書已被借走3、測試路徑:0-1-2-4-5 輸入條件:bookno存在,onse
25、lf=0 預期輸出:返回查找圖書信息 2. 確認測試:采用黑盒測試法測試確認測試,主要是為了檢測接口功能應對的各種非預期性輸入時系統的可靠性和容錯性等性能。本小型圖書管理系統將對用戶和管理員與圖書管理系統之間的交互接口進行測試,所以測試的主要內容有2個:圖書管理系統和管理員接口,圖書管理系統和讀者接口。(1) 讀者與圖書管理系統之間的接口讀者登陸圖書管理系統,應受到系統如下的約束:用戶名需要以字母開頭,后面是數字和字母組合,不能超過最大長度為10,密碼長度不超過6劃分了等價類,情況如下所示:輸入條件有效等價類編號無效等價類編號用戶名開頭字母a-z1非字母4余下字符數字和字母組合2非數字和字母5字符數小于103大于106有效等價類的測試用例:測試編號 輸入條件預期輸出覆蓋等價類開頭余下字符個數T1add323238add323231、2、3無效等價類的測試用例:測試編號 輸入條件預期輸出覆蓋等價類開頭余下字符個數T1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 夢想中的城市想象作文7篇
- 讀紅樓夢后的思考與感慨作文12篇
- 員工慰問活動方案
- 《自選現代詩朗讀與解析:五年級語文課外教案》
- 《空間幾何與測量技能訓練》
- 公交公司開展講堂活動方案
- 鋪裝合同協議書鋪裝合同協議書
- 初中英語語法知識與練習設計
- 公會拉人活動方案
- 公共掃地活動方案
- 2025年第二屆全國安康杯安全生產知識競賽題庫及答案(共390題)
- 空乘禮儀知識培訓班課件
- 跨區域動物疫病防控的科技創新與應用
- 停車場承包經營協議書范本
- 工作分析實務-國家開放大學電大易考通考試題目答案
- 急性呼吸窘迫綜合征的護理課件(演示)
- 2025年廣州市越秀區建設街招考聘用勞動保障監察協管員高頻重點提升(共500題)附帶答案詳解
- 醫療器械產品運輸質量保證措施
- 2025年寧夏銀川市靈武市文化旅游投資開發有限公司招聘筆試參考題庫附帶答案詳解
- 《寶鋼集團財務共享中心建設的案例探析》1600字
- 鐵路工務應急處置課件
評論
0/150
提交評論