軟件工程概論實驗報告-圖書館自動循環(huán)系統(tǒng)用戶需求及規(guī)格說明書_第1頁
軟件工程概論實驗報告-圖書館自動循環(huán)系統(tǒng)用戶需求及規(guī)格說明書_第2頁
軟件工程概論實驗報告-圖書館自動循環(huán)系統(tǒng)用戶需求及規(guī)格說明書_第3頁
軟件工程概論實驗報告-圖書館自動循環(huán)系統(tǒng)用戶需求及規(guī)格說明書_第4頁
軟件工程概論實驗報告-圖書館自動循環(huán)系統(tǒng)用戶需求及規(guī)格說明書_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟 件 工 程 概 論實驗報告學(xué) 院 軟件學(xué)院 年 級 2007級 班 級 五班 學(xué) 號 3007218129 姓 名 田瑋 2010年 5月 1日軟件工程概論上機實驗報告 題目:圖書館自動循環(huán)系統(tǒng)用戶需求及規(guī)格說明書學(xué)院名稱 軟件學(xué)院 專 業(yè) 軟件工程 學(xué)生姓名 田瑋 學(xué) 號 3007218129 年 級 2007 級 班 級 五班 時 間 2010年 5月1日 目 錄項目名稱1需求說明2系統(tǒng)分析3實驗結(jié)論16 項目名稱“圖書館自動循環(huán)系統(tǒng)用戶需求及規(guī)格說明書”。 考慮一個圖書館自動循環(huán)系統(tǒng)。每本書有一個條形碼,每個借書者有一張借書卡,上面也有一個條形碼。當借書者想借書時,圖書管理員掃描該書

2、和借書卡上的條形碼,并在計算機終端上輸入c。類似地,還書時,圖書管理員再次進行掃描,并輸入r。圖書管理員可以向書庫中增加圖書(+)或去掉圖書(-)。借書者可以在一臺終端上確定書庫中特定作者的所有書籍(借書者輸入a=之后,再輸入作者的名字)、特定標題的所有書籍(輸入t=之后,再輸入標題)或者特定主題范圍的所有書籍(輸入s=之后,再輸入主題范圍)。最后,如果借書者想要一本目前已借出的書,圖書管理員可以在該書上做個標記,當該書被歸還時,將為申請過它的借書者保留起來(輸入h=之后,再輸入該書的書號)。16需求說明 隨著社會信息量的與日俱增,作為信息存儲的主要媒體之一圖書,數(shù)量、規(guī)模比以往任何時候都大的

3、多,不論個人還是圖書管理部門都需要使用方便而有效的方式來管理自己的書籍。在計算機日益普及的今天,對個人而言若采用一套行之有效的圖書管理系統(tǒng)來管理自己的書籍,會方便許多。對圖書管理部門而言,以前單一的手工檢索已不能滿足人們的要求,為了便于圖書資料的管理需要有效的圖書管理軟件。圖書館自動循環(huán)系統(tǒng)是一套功能比較完善的數(shù)據(jù)管理軟件,具有數(shù)據(jù)操作方便高效迅速等優(yōu)點。該軟件采用功能強大的數(shù)據(jù)庫軟件開發(fā)工具進行開發(fā),具有很好的可移植性,可在應(yīng)用范圍較廣的dos,windows系列等操作系統(tǒng)上使用。除此以外,可通過訪問權(quán)限控制以及數(shù)據(jù)備份功能,確保數(shù)據(jù)的安全性。 圖書館自動循環(huán)系統(tǒng)針對的用戶是較大型的圖書館,

4、藏書的種類和數(shù)量很多,讀者的數(shù)量和來源比較廣。相應(yīng)的需求有:1.能夠存儲一定數(shù)量的圖書信息,并方便有效的進行相應(yīng)的書籍數(shù)據(jù)操作和管理,這主要包括:1) 圖書信息的錄入、刪除及修改。2) 圖書信息的多關(guān)鍵字檢索查詢。3) 圖書的出借、返還和資料統(tǒng)計。2.能夠?qū)σ欢〝?shù)量的讀者進行相應(yīng)的信息存儲與管理,這其中包括:1) 讀者信息的登記、刪除及修改。 2) 讀者資料的統(tǒng)計與查詢。3.能夠?qū)π枰慕y(tǒng)計結(jié)果提供列表顯示輸出。4.讀者能夠利用多種關(guān)鍵字對數(shù)據(jù)庫進行搜索、查找。5能夠提供一定的安全機制,提供數(shù)據(jù)信息授權(quán)訪問,防止隨意刪改,同時提供信息備份的服務(wù)。系統(tǒng)分析1.畫dfd第一次求精如下圖所示。bor

5、rowersprocess_ordersbook_detailsboroowreturnsearchlibrary_book_data圖1-1 圖書館自動循環(huán)系統(tǒng)的數(shù)據(jù)流圖(第一次求精) 現(xiàn)在對dfd逐步求精。圖1-2描述了第二次求精。加入了圖書供應(yīng)方面添加或刪除圖書的數(shù)據(jù)流圖。borrowersprocess_ordersbook_detailsboroowreturnsearchbooks_ supplierlibrary_book_dataadministrate_library_booksbook_detailsadddelete圖1-2 圖書館自動循環(huán)系統(tǒng)的數(shù)據(jù)流圖(第二次求精)然后

6、在數(shù)據(jù)流圖中,對借書者搜索圖書的部分進行求精。borrowersprocess_ordersbook_detailsboroowreturnbooks_ supplierlibrary_book_dataadministrate_library_booksbook_detailsadddeleteauthor_searchtitle_searchsubject_searchsearch”a=”search”t=”search”s=”authors_books_detailsbooks_details of a tileboos_details in a subject圖1-3 圖書館自動循環(huán)系

7、統(tǒng)的數(shù)據(jù)流圖(第三次求精)繼續(xù)求精。對借書者借書還書的部分進行求精,建立borrowed_books的數(shù)據(jù)存儲,更加方便借書還書的操作,并添加借書者預(yù)定書籍的操作。borrowerscheck_if_borrow_available_and_add_borrow_infobook_detailsboroowbooks_ supplierlibrary_book_dataadministrate_library_booksbook_detailsadddeleteauthor_searchtitle_searchsubject_searchsearch”a=”search”t=”search”s

8、=”authors_books_detailsbooks_details of a tileboos_details in a subjectborrowed_order_databorrowed_book_detailsreturn_and_delete_the_borrowed_inforeturnreturning_book_detailsbooked_order_databooked_canceled_detailsbook_and_save_the_book_when_returnedbook “h=”orders_detailsborrowed_and_booked_details

9、booked_details圖1-4 圖書館自動循環(huán)系統(tǒng)的數(shù)據(jù)流圖(第四次求精)2.決定哪部分計算機化以及如何計算機化在上述數(shù)據(jù)流圖中顯示的內(nèi)容里,數(shù)據(jù)存儲中的library_book_data,booked_order_data和borrowed_book_data都是計算機文件。對于管理員進行添加或刪除書的操作administrate_library_books,可以不進行計算機化,因為會比較復(fù)雜,不符合成本效益原則,可采用人工方式輸入到計算機中,刪除時則可以直接手動找到該書目,手動刪除。author_serach,tile_search和subject_search為了提升操作效率,應(yīng)該

10、將其計算機化。因為題目的要求是實現(xiàn)自動循環(huán)的圖書館系統(tǒng),因此,我們將check_if_borrow_available_and_add_borrow_info,book_and_save_the_book_when_returned和return_and_delete_the_borrowed_info完全計算機化。圖書管理員只需掃描書目上的條形碼,實現(xiàn)借書、還書,通過借書者輸入“a=”,“t=”和“s=”實現(xiàn)書目的查找和搜索,借書者輸入“h=”時,將預(yù)定已被借出的書目。當圖書管理員掃描被借書且預(yù)定的書目條形碼時,該書將被自動保留。3.確定數(shù)據(jù)流的細節(jié)決定什么數(shù)據(jù)必須進入各種數(shù)據(jù)流。然后,逐步

11、求精每個流。表3-1 圖書館自動循環(huán)系統(tǒng)的典型數(shù)據(jù)字典詞條數(shù)據(jù)元素名描述敘述book_info由域組成的記錄book_identificationbook_authorbook_titlebook_subjectbook_mark這些域包含一本書信息的全部細節(jié)book_markbool值0或1,表示是否被訂閱book_identification12位整數(shù)由過程generate_book_number生成的唯一編號administrate_libray_books過程: 輸入?yún)?shù): book_info 輸出參數(shù): 操作成功/失敗這個處理將book_info的所有信息作為輸入,添加到librar

12、y_book_data計算機文件中,成功或失敗均在屏幕上顯示消息;或者在library_book_data中查詢一條書目,將其刪除,計算機文件中將不在存在這本書,這里需要檢查刪除是否能夠?qū)崿F(xiàn),即該書目是否已被借出或預(yù)訂,返回操作相應(yīng)消息。order由域組成的記錄order_identificationbooker_numberbooker_nameordered_book_statusordered_book_identificationordered_book_authorordered_book_titleordered_book_subject這些域包含一個申請預(yù)訂書目的全部細節(jié),包括預(yù)

13、訂者的信息以及書的信息order_identification12位整數(shù)由過程generate_order_number生成的唯一編號,前10位數(shù)字包含申請單號本身,后2位是校驗位ordered_book_status1位整數(shù)由多項過程參與更改,默認值為1當進行delete,return等操作時可能更改此值。表示當前預(yù)定書的狀態(tài),0表示已下架,1表示已借出,2表示在庫中apply_the_book過程: 輸入?yún)?shù): order 輸出參數(shù): 操作成功/失敗這個處理將order的所有信息作為輸入,檢查其有效性,然后將其輸入到booked_data的數(shù)據(jù)存儲中,并將book_info中的book_m

14、ark值標記為1。在屏幕上顯示成功或失敗的消息。borrower_number10位整數(shù)由管理員或借書者手動輸入,為借書者的學(xué)號author_search過程: 輸入?yún)?shù): a=作者名字 輸出參數(shù): 該作者的所有書籍這個處理將作者的名字作為輸入,然后在library_book_data中查詢,尋找book_info中作者一欄為該作者的書目,并將其列出。返回值為查詢到的該作者的所有書籍title_search過程: 輸入?yún)?shù): t=書籍名稱 輸出參數(shù): 該名稱的所有書籍這個處理將作者的名字作為輸入,然后在library_book_data中查詢,尋找book_info中名稱一欄符合該名稱的書目,

15、并將其列出。返回值為查詢到的該名稱的所有書籍,如果沒有則在屏幕上顯示相應(yīng)消息。subject_search過程: 輸入?yún)?shù): s=主題范圍 輸出參數(shù): 該主題范圍的所有書籍這個處理將作者的名字作為輸入,然后在library_book_data中查詢,尋找book_info中主題一欄符合該主題范圍的書目,并將其列出。返回值為查詢到的該主題范圍的所有書籍,如果沒有則在屏幕上顯示相應(yīng)消息。borrow過程: 輸入?yún)?shù): 書目的條形碼 輸出參數(shù): 借閱成功/失敗借書者將要借閱的書籍遞給管理員,管理員掃描圖書上的條形碼,該過程將條形碼作為輸入,在library_book_data中查找該書,查找book

16、_info中該書的book_mark,如果是0表示無人預(yù)定,借閱成功。如果是1,表示被訂閱,通過check_book_and_borrower_info檢查預(yù)訂者和借閱者是否為同一人,為同一人則借閱成功,不同則失敗。借閱成功后在borrowed_order_data中記錄下借閱者和該書的所有信息,失敗后在屏幕上返回信息borrowed_order由域組成的記錄borrowed_identificationborrower_numberborrower_nameborrow_datebook_identificationbook_authorbook_titlebook_subject這些域包含

17、一個已借閱書目的全部細節(jié),包括借閱者的信息以及被借閱書的信息check_book_and_borrower_info過程: 輸入?yún)?shù): booker_number borrower_numberordered_book_identificationbook_identification輸出參數(shù):返回值為匹配(1)或不匹配(0)這個過程將訂閱者的學(xué)號與借閱者學(xué)號、所預(yù)定書籍條形碼與要借閱書籍作比較,如果二者都一直,則匹配,返回1;如果有至少一項不同,則不匹配,返回0return過程: 輸入?yún)?shù): book_identification 輸出參數(shù): 操作成功/失敗這個過程將book_identif

18、ication作為輸入,在borrowed_order_data中找到book_identification一項,尋找匹配項,未找到則操作失敗;找到后操作成功,檢查book_mark值如果是1,表示已預(yù)定,則將ordered_book_status改為2,表示在庫中。返回消息。add過程: 輸入?yún)?shù): book_infoadd_datebook_destination輸出參數(shù):添加成功/失敗圖書管理員向書庫中添加書籍。這個處理將圖書的所有信息、入庫時間和圖書位置作為輸入,檢查所有信息符合格式且正確無誤,則添加成功;否則添加失敗。delete過程: 輸入?yún)?shù): book_info 輸出參數(shù): 刪

19、除成功/失敗這個處理將圖書的某一項信息作為輸入,在library_book_data中查找目標圖書,查找到之后管理員執(zhí)行刪除操作,這個過程將檢查該書是否有預(yù)定,如果有預(yù)定信息則在該預(yù)定信息中更改圖書狀態(tài)為“已下架”,然后把該書的所有book_info、入庫信息、歷史記錄等全部刪除,操作成功后返回刪除成功信息,否則返回錯誤消息4. 定義處理的邏輯既然已經(jīng)確定了產(chǎn)品中的數(shù)據(jù)元素,現(xiàn)在可以研究在每個處理中發(fā)生了什么。用判決樹來表示。借書者借書過程未被預(yù)定:借閱成功已預(yù)定預(yù)訂者與借閱者相同:借閱成功預(yù)訂者與借閱者不同:借閱失敗圖4-1 借書者借書過程的判決樹借書者搜索過程按作者搜索按標題搜索按主題范圍

20、搜索圖4-2 借書者搜索過程的判決樹5. 定義數(shù)據(jù)存儲定義每個數(shù)據(jù)和它的表示(格式)的準備內(nèi)容。標題主題范圍作者library_book_data條形碼作者標題主題范圍圖5-1 library_book_data的數(shù)據(jù)實時訪問圖實時訪問的問題取決于對書籍進行什么查詢,假設(shè)決定采用聯(lián)機方式驗證訂單,一個借書者可能按照作者查找書籍(“a = 霍金”),也可能按標題查找書籍(“t = 軟件工程面向?qū)ο蠛蛡鹘y(tǒng)的方法”),或者按主題范圍查找書籍(“s = 軟件測試”),但是很少有按條形碼搜索的。因此,實時訪問library_book_data要通過作者、標題和主題范圍進行。主題范圍作者標題借書者學(xué)號借閱

21、日期borrowed_order_data條形碼作者標題主題范圍借書者學(xué)號借書者姓名借閱日期圖5-2 borrowed_order_data的數(shù)據(jù)實時訪問圖預(yù)定書籍主題范圍預(yù)定書籍標題預(yù)定書籍作者預(yù)定者學(xué)號booked_order_data預(yù)定申請編號預(yù)定書籍作者預(yù)定書籍標題預(yù)定書籍主題范圍預(yù)定者學(xué)號預(yù)定者姓名預(yù)定書籍條形碼圖5-3 booked_order_data的數(shù)據(jù)實時訪問圖6. 定義物理資源使用數(shù)據(jù)庫管理系統(tǒng)(dbms),規(guī)定相關(guān)表格內(nèi)容如下表6-1 library_book_data表書籍條形碼書籍名稱書籍作者書籍主題范圍書籍所在位置書籍當前狀態(tài)表6-2 borrowed_orde

22、r_data表借閱編碼書籍條形碼借閱者學(xué)號借閱者姓名借閱時間歸還時間表6-3 ordered_book_data表預(yù)定申請編碼預(yù)定者學(xué)號預(yù)訂者姓名預(yù)定書籍條形碼預(yù)定書籍狀態(tài)表6-4 library_books_borrow_history表書籍條形碼入庫時間借閱次數(shù)借閱時間歸還時間7. 確定輸入輸出規(guī)格說明表7-1 圖書館自動循環(huán)系統(tǒng)輸入輸出規(guī)格說明輸入元素數(shù)據(jù)類型數(shù)據(jù)長度描述book_identificationlong12位圖書條形碼,用來標識館內(nèi)圖書book_titlestring15位圖書名稱book_authorstring15位書籍作者book_subjectstring15位書籍

23、主題范圍add_datetime8位入庫的時間booker_numberlong10位預(yù)訂者學(xué)號booker_namestring15位預(yù)訂者姓名ordered_book_identificationlong12位預(yù)定書籍條形碼order_identificationlong12位申請預(yù)訂編碼ordered_book_authorstring15位預(yù)定書籍作者ordered_book_titlestring15位預(yù)定書籍名稱ordered_book_subjectstring15位預(yù)定書籍主題范圍borrowed_identificationlong12位借閱編號borrower_numberlong10位借閱者學(xué)號borrower_namestring15位借閱者姓名borrow_datetime8位借閱時間book_markbool1位標識書籍是否被訂閱,0為未預(yù)定,1為已預(yù)訂ordered_book_statusint

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論