基於Java 的 校園圖書售賣系統/二手書交易管理系統 (有原始碼請放心!)
校園圖書售賣系統/二手書交易系統
檔案狀態: [ ] 草稿 [√] 正式釋出 [ ] 正在修改 |
檔案標識: |
Software Requirement Specification |
當前版本: |
4.1.2 |
|
作 者: |
黑龍江大學某軟體工程課題組 (一位我和一位姐) |
|
完成日期: |
2022-4-8 |
系統概述說明
1. 說明
這個實驗是大二下學期的課設,課的名字是軟體綜合實踐一,主要是通過 面向物件的思想 來實現一個綜合的系統。因為之前程式設計基礎時,對圖書管理系統比較熟悉,而且對於Java的理解也沒有那麼深刻,所以決定做一個二手書管理系統,相對來說比較好實現一些。
我知道各位點進來是為了什麼,我也曾作為(目前也是)你們其中的一份子。不可否認的是,模仿是一種重要的學習方法,但是同時也請注意,模仿,不是抄襲!
在這裡我想說,當你 真正感覺到威脅 的時候,你才知道 程式碼能力 對於軟體工程和計算機專業大學生的重要性,但是我還是選擇把原始碼放在這裡,因為我知道你們需要,而且也不難,所以我想各位如果有時間的話,或者說,沒有時間真的也要擠出時間,真的要 自己動手實現 一下,每個大塊的部分我都標有備註,而且我下面還會說自己的具體思路。
2. 原始碼
連結:https://pan.baidu.com/s/1uZLqvMnwaa1F5uvws88uQw?pwd=yxxx
提取碼:yxxx
3. 使用說明
原始碼是 永久有效 的,當然裡面也會有很多小bug,但是不影響使用,資料庫是老師的要求,但是我還是用 檔案操作 實現的,裡面所有檔案的目錄都是用根目錄來寫的,所以在下載後直接開啟就能執行,不需要修改檔案的位置 。
建議使用 idea 開啟,因為就是用 idea 實現的,當然 vscofde 配置了Java 環境也是可以的。
介面展示與核心程式碼講解
1. 介面展示
1.1登入介面
圖二十七 登入介面展示
1.2登入成功介面
圖二十八 登入成功介面
1.3使用者主選單介面
圖二十九 使用者主選單介面
1 .4使用者個人資訊管理介面
圖三十 使用者個人資訊管理介面
1.5使用者修改當前密碼介面
圖三十一 使用者修改當前密碼介面
1.6使用者修改當前密碼成功介面
圖三十二 使用者修改當前密碼成功介面
1.7使用者充值服務介面
圖三十三 使用者充值服務介面
1.8使用者充值成功介面
圖三十四 使用者充值成功介面
1.9使用者查詢餘額介面
圖三十五 使用者查詢餘額介面
1.10使用者圖書管理介面
圖三十六 使用者圖書管理介面
1.11使用者釋出圖書介面
圖三十七 使用者釋出圖書介面
1.12使用者釋出圖書成功介面
圖三十八 使用者釋出圖書成功介面
1.13釋出圖書後檔案儲存成功介面
圖三十九 釋出圖書後檔案儲存成功介面
1.14使用者購買圖書介面(查詢)
圖四十 使用者購買圖書介面(查詢)
1.15使用者購買圖書介面(成功)
圖四十一 使用者購買圖書成功介面
1.16使用者查詢個人訂單介面
圖四十二 使用者查詢個人訂單介面
1.17圖書查詢介面
圖四十三 圖書查詢介面
1.18通過書號查詢圖書介面
圖四十四 通過書號查詢圖書介面
1.19查詢結果介面(書號)
圖四十五 查詢結果介面(書號)
1.20通過書名查詢圖書介面
圖四十六 通過書名查詢圖書介面
1.21查詢結果介面(書名)
圖四十七 查詢結果介面(書名)
1.22圖書資訊顯示介面
圖四十八 圖書資訊顯示介面
1.23管理員登錄成功介面
圖四十九 管理員登入成功介面
1.24管理員主選單介面
圖五十 管理員主選單介面
1.25使用者管理介面
圖五十一 使用者管理介面
1.26註冊介面
圖五十二 管理員新增使用者介面
1.27修改使用者資訊介面(查詢)
圖五十三 修改使用者資訊介面(查詢)
1.28修改使用者資訊介面(修改)
圖五十四 修改使用者資訊介面
1.29成功刪除使用者介面
圖五十五 成功刪除使用者介面
1.30刪除使用者以後檔案儲存成功介面
圖五十六 刪除使用者以後檔案儲存成功介面
1.31查詢使用者資訊介面(通過賬號)
圖五十七 查詢使用者資訊介面(通過賬號)
1.32管理員修改密碼介面
圖五十八 管理員修改密碼介面
1.33管理員圖書管理介面
圖五十九 管理員圖書管理介面
1.34修改圖書資訊介面
圖六十 管理員修改圖書資訊介面
1.35圖書下架介面
圖六十一 圖書下架介面
1.36圖書下架後文件儲存成功介面
圖六十二 圖書下架後文件儲存成功介面
1.37圖書資訊顯示介面
圖六十三 圖書資訊顯示介面
1.38管理員圖書交易管理介面
圖六十四 管理員圖書交易管理介面
1.39圖書買賣資訊查詢介面
圖六十五 圖書買賣資訊查詢介面
1.40使用者買賣資訊查詢介面
圖六十六 使用者買賣資訊查詢介面
2. 核心程式碼
2.1 專案列表
2.2 思路介紹
實現的具體流程為:從main函式進入主程式,然後通過Menus選單類進行選擇為使用者還是管理員,進一步進入具體的方法和實現類,使用選單類的原因是因為後面好用圖形介面對於每一個方法進行實現。放在中間的監聽焦點事件類JTextFieldHintListener主要實現了所有對話方塊的顯示文字提示功能,Actors包中是三個實體類。
2.3 核心程式碼簡介
使用者圖書管理中的釋出圖書和購買圖書是該系統的核心功能。
這裡以釋出圖書為例介紹核心程式碼:
分析:在書寫每一處方法時,我們先考慮的是底層邏輯,然後再考慮該邏輯的圖形介面,可以這麼說,在沒考慮圖形介面之前,用控制檯操作原始碼是完全可行的,這裡也作為自己以後用面向物件方法做專案的模式。
說實話,釋出圖書的邏輯並不難理解,就是從輸入框獲取使用者輸入的圖書資訊後,將資訊寫入Booklist檔案裡並存儲,後面查詢圖書以及購買圖書只需要使用檔案裡的資料即可。圖形介面簡單介紹一下,使用JFrame架構,新增五個提示標籤,然後通過在前面介紹的焦點事件監聽類進行文字框裡的文字提示,然後進行分別以下操作:開啟預設的隱藏模式(更改為顯示),調整元件大小使其自適應,從文字框內獲取到使用者輸入的資訊,寫入檔案。
這裡再給出寫入檔案的方法,如圖所示:
目錄
實驗一 需求規格說明書
1 產品介紹
1.1 專案需求描述
因為在目前的大學生活中,大學生除了學校發放部分必修書籍經常需要購買選秀教材或其他書籍資料。我們軟體工程課題組基於中國青年網校園通訊社就“大學生教材使用情況”給出的公開資料顯示:調查總結後發現大多數大學生使用每本教材的平均時長不到6.4周。購置新的圖書實在不划算,如果對於大學生開設一個校園圖書售賣系統,既可以售賣掉平時同學們一些閒置的書籍,也可以讓書籍再次產生價值,所以也體現出了做校園圖書售賣系統的重要性和必要性。
1.2 專案需要解決的問題
在本次專案的前期準備階段,為了使專案的開發目的和範圍更加明確,我軟體小組經過多次進行內部會議,並與黑龍江大學多位大學生進行問卷調查,關於在校大學生的閒置圖書的問題進行了討論,總結出瞭如下需要解決的問題:
- 目前在校大學生手裡閒置的圖書不在少數,並沒有在現實意義上實現一本教材圖書的真正的價值;
- 在校大學生熟悉的同學關係大部分僅限於本年級或本班級,不瞭解其他學院、年級的同學對於相關圖書的需求,沒有辦法進行圖書售賣。
1.3 專案概念
- 產品用途:本產品主要是為了方便在校大學生的閒置圖書售賣及購買而開發;
- 產品性質:本產品是基於Java後端開發的應用系統;
- 產品的使用領域:大學生日常生活;
- 產品內容:本產品包含兩個子系統,分別是資訊查詢子系統和系統管理子系統。
2 產品面向的使用者群體
本軟體的終端使用者為大學內全部在校學生,因此本軟體在提供完善的業務處理功能的同時,將提供友好、易用、便捷的使用者操作介面和簡單的使用流程,以方便使用人員更好的進行操作。
3 產品應當遵循的標準或規範
- 平臺約束:
本專案的開發平臺為Windows作業系統(windows xp、windows vista、windows 7);
客戶端應用平臺:windows作業系統;
伺服器端應用平臺:Linux作業系統(RHLE 5.3)
- 語言約束:
本專案的開發語言為java;國際化語言系統支援中文和英語兩種語言;
- 時間約束:
專案開發週期:6周(2022-3-2 ~ 2022-4-8)
- 為了使產品更好更全面的發揮其作用,其他專案可能會與本專案並行或在本專案結束後對產品的其他子系統進行開發。
4 產品的功能性需求分析
基本功能包括:
使用者的登入:使用者輸入賬號密碼若正確且匹配則成功登陸;
密碼修改:使用者輸入舊密碼再輸入兩次新密碼,若都匹配則成功修改;
釋出圖書:使用者進入該功能,上傳圖書資訊,表明價格,釋出;
圖書下架:使用者進入該功能,可以選擇將釋出的圖書下架;
通過書名、書號、出版社查詢圖書:使用者輸入要查詢的資訊,系統顯示圖書資訊;
圖書資訊修改:使用者進入該功能,修改要修改的圖書的資訊 ;
系統管理員的註冊:學生提供自己的相應資訊,管理員根據資訊建立新使用者;
使用者資訊修改:管理員輸入賬號,修改對應資訊;
使用者資訊刪除:管理員輸入要刪除的賬號,再次確認是否刪除,確認刪除則成功刪除;
買賣資訊顯示:管理員輸入要查詢的書號,系統顯示交易資訊;
圖書資訊管理:管理員進入功能,顯示平臺中所有圖書資訊,可以選擇輸入要刪除的書號,系統顯示圖書資訊,再次確認是否刪除,確認即成功刪除;
充值服務:使用者輸入充值金額,輸入支付密碼,交易成功。
5 功能模型
5.1 系統總用例圖
圖一 系統總用例圖
5.2 校園圖書售賣系統用例描述
5.2.1 登入
圖二 登入管理用例圖
(1)登入
用例名 |
登入 |
用例型別 業務需求 |
用例ID |
MSM1101 |
|
主要業務參與者 |
每個使用者 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
每個使用者:通過登入介面使用ID和密碼登入系統。 |
|
描述 |
該用例描述了使用者登入系統的過程 |
|
前置條件 |
使用者已經擁有了該系統的ID |
|
後置條件 |
使用者在該用例完成後可以進行對自己資訊的管理。 |
|
觸發條件 |
使用者開始登入時該用例被觸發 |
|
基本流程 |
1. 使用者填入賬號 2. 使用者輸入密碼 3. 系統驗證資訊 4. 驗證正確並匹配成功進入系統 5. 系統記錄本次登入資訊 |
|
替代流程 |
*a任何時刻發生以下情況,系統將會崩潰 1.使用者重啟電腦。 2.使用者未開啟程式。 2a.使用者登入資訊錯誤 |
|
結束 |
成功進入系統 |
|
實現約束和說明 |
只能在控制檯進行 |
|
待解決問題 |
無法用圖形介面實現 |
(2)註冊
用例名 |
註冊 |
用例型別 業務需求 |
用例ID |
MSM1102 |
|
主要業務參與者 |
系統管理員、使用者 |
|
其他參與者 |
校園圖書銷售系統 |
|
專案相關人員興趣 |
每個使用者:想要通過系統管理員建立一個屬於自己的賬號 |
|
描述 |
該用例描述了建立一個新賬號的過程 |
|
前置條件 |
系統管理員成功進入系統 |
|
後置條件 |
使用者可以用新註冊的賬號進入系統 |
|
觸發條件 |
系統管理員成功進入註冊功能 |
|
基本流程 |
1. 系統管理員錄入來自使用者的使用者資訊 2. 系統判別該手機號是否被註冊 3. 該手機號未被註冊將資訊寫入文件 4. 系統記錄此次註冊資訊 |
|
替代流程 |
*a任何時刻發生以下情況,系統將會崩潰 1.使用者重啟電腦。 2.使用者未開啟程式。 2a.若該手機號已被註冊則提示手機號已被註冊 |
|
結束 |
成功在系統中註冊新使用者 |
|
實現約束和說明 |
目前只能通過手機號來判別是否有相同賬戶 |
|
待解決問題 |
判別賬戶相同的方式較單一 |
5.2.2 使用者資訊管理
圖三 使用者資訊管理用例圖
(1) 資訊修改
用例名 |
資訊修改 |
用例型別 業務需求 |
用例ID |
MSM1201 |
|
主要業務參與者 |
使用者、系統管理員 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望能夠看到自己的資訊並修改。 管理員:希望能夠看到使用者的資訊並修改。 |
|
描述 |
該用例描述了使用者或系統管理員查詢並修改使用者資訊的過程。 |
|
前置條件 |
系統管理員或使用者成功登入系統,通過身份驗證。 |
|
後置條件 |
使用者或系統管理員可以檢視並更改使用者資訊。 |
|
觸發條件 |
當用戶選擇修改資訊時該用例被觸發。 |
|
基本流程 |
1.使用者輸入賬號密碼進入系統 2.選擇資訊修改選項 3.進行資訊修改 4.系統提示資訊修改成功並更改系統使用者資訊檔案 |
|
替代流程 |
輸入賬號密碼錯誤未登入系統提示重新登入 |
|
結束 |
系統成功修改使用者資訊。 |
|
實現約束和說明 |
系統管理員可能查詢到具有相同資訊的賬戶 |
|
待解決問題 |
無 |
(2) 密碼修改
用例名 |
密碼修改 |
用例型別 業務需求 |
用例ID |
MSM1202 |
|
主要業務參與者 |
使用者、系統管理員 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望能夠看到自己的密碼並修改。 管理員:希望能夠替忘記密碼的使用者進行修改。 |
|
描述 |
該用例描述了使用者或系統管理員修改使用者密碼的過程。 |
|
前置條件 |
使用者系統管理員成功登入系統,通過身份驗證。 |
|
後置條件 |
系統管理員可以通過使用者提交的申請並更改使用者密碼。 使用者可以登入系統之後修改密碼。 |
|
觸發條件 |
當管理員選擇修改使用者密碼時該用例被觸發。 當用戶選擇修改密碼時該用例被觸發。 |
|
基本流程 |
1. 管理員登入系統。 2. 根據使用者提供的資訊更改使用者密碼。 3. 提交後用戶可以按照新密碼登入系統。 4. 系統記錄本次修改密碼。 或 1. 使用者登入系統 2. 根據需求選擇密碼修改的選項 3. 輸入新密碼 4. 再次輸入新密碼 5. 系統判別兩次密碼是否一致 6. 提交後系統顯示修改成功 7. 使用者下次可以暗哨新密碼登入系統。 8. 系統記錄本次密碼修改。
|
|
替代流程 |
使用者修改時兩次輸入的密碼如果兩次輸入的新密碼不一致則提醒重新輸入。 |
|
結束 |
系統成功修改使用者密碼。 |
|
實現約束和說明 |
當用戶主動更改密碼時需要輸入兩次新密碼來確保一致後並加深使用者記憶以免遺忘。 |
|
待解決問題 |
無 |
5.2.3 釋出圖書
圖四 釋出圖書用例圖
(1) 釋出圖書
用例名 |
釋出圖書 |
用例型別 業務需求 |
用例ID |
MSM1301 |
|
主要業務參與者 |
使用者 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望自己能夠填寫圖書的書號,書名,圖書價格,賣家的聯絡方式,圖書作者等資訊來達到釋出圖書的目的。 |
|
描述 |
該用例描述了使用者填寫圖書的書號,書名,圖書價格,賣家的聯絡方式,圖書作者等資訊的過程。 |
|
前置條件 |
使用者成功登入系統,通過身份驗證。 |
|
後置條件 |
使用者成功填寫了圖書資訊。 |
|
觸發條件 |
當用戶選擇釋出圖書時該用例被觸發。 |
|
基本流程 |
1.使用者輸入賬號密碼進入系統 2.選擇釋出圖書選項 3.進行圖書相關資訊填寫 4.選擇填寫完成 5.系統提示釋出成功 6.系統賦予新圖書序列號並更新資料庫 |
|
替代流程 |
使用者輸入資訊後沒有填寫完整資訊,系統提示請將全部資訊填寫完成。 |
|
結束 |
使用者成功釋出該圖書。 |
|
實現約束和說明 |
只有使用者能釋出圖書資訊,系統管理員無權釋出圖書資訊。 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
(2) 修改圖書資訊
用例名 |
修改圖書資訊 |
用例型別 業務需求 |
用例ID |
MSM1302 |
|
主要業務參與者 |
使用者 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望自己能夠修改圖書的書號,書名,圖書價格,賣家的聯絡方式,圖書作者等資訊。 |
|
描述 |
該用例描述了使用者修改圖書的書號,書名,圖書價格,賣家的聯絡方式,圖書作者等資訊的過程。 |
|
前置條件 |
使用者成功登入系統,通過身份驗證。 |
|
後置條件 |
使用者成功修改了圖書資訊。 |
|
觸發條件 |
當用戶選擇修改圖書資訊時該用例被觸發。 |
|
基本流程 |
1. 使用者輸入賬號密碼進入系統 2. 選擇修改圖書資訊選項 3. 系統顯示所有該使用者釋出的圖書 4. 使用者選擇修改的圖書 5. 使用者修改圖書資訊 6. 系統提示圖書資訊修改成功 |
|
替代流程 |
使用者從未釋出過圖書,系統提示返回釋出圖書。 |
|
結束 |
使用者成功修改圖書資訊。 |
|
實現約束和說明 |
只有使用者能修改圖書資訊,系統管理員無權修改圖書資訊。 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
(3) 圖書下架
用例名 |
圖書下架 |
用例型別 業務需求 |
用例ID |
MSM1303 |
|
主要業務參與者 |
使用者 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望能夠管理圖書的狀態將圖書下架。 |
|
描述 |
該用例描述了使用者將圖書下架的過程。 |
|
前置條件 |
使用者成功登入系統,通過身份驗證。 |
|
後置條件 |
使用者將圖書成功下架。 |
|
觸發條件 |
當用戶選擇圖書下架時該用例被觸發。 |
|
基本流程 |
1.使用者輸入賬號密碼進入系統 2.選擇圖書下架選項 3.系統顯示使用者釋出所有的圖書 4.使用者選擇下架的圖書 5.系統詢問使用者是否確認 6.使用者確認後系統顯示圖書下架成功 |
|
替代流程 |
使用者從未釋出過圖書,系統提示返回釋出圖書。 |
|
結束 |
使用者成功下架了該圖書。 |
|
實現約束和說明 |
無 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
5.2.4 查詢圖書
圖五 查詢圖書用例圖
(1) 按書號查詢
用例名 |
按書號查詢 |
用例型別 業務需求 |
用例ID |
MSM1401 |
|
主要業務參與者 |
使用者 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望可以通過書號找到自己想要的圖書 |
|
描述 |
該用例描述了使用者用書號查詢圖書的過程。 |
|
前置條件 |
使用者成功登入系統,通過身份驗證。 |
|
後置條件 |
使用者可以正常檢視查詢到的圖書資訊。 |
|
觸發條件 |
當用戶選擇用書號查詢圖書時該用例被觸發。 |
|
基本流程 |
1. 使用者成功登入系統 2. 選擇按書號查詢的選項 3. 輸入想要查詢的圖書書號 4. 系統顯示對應圖書 |
|
替代流程 |
使用者輸入的書號,書名等並不存在,提示無此圖書資訊並提示重新輸入圖書資訊。 |
|
結束 |
使用者成功看到搜尋的圖書資訊。 |
|
實現約束和說明 |
使用者只能檢視圖書資訊以及聯絡方式,不可以更改 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
(2) 按作者查詢
用例名 |
按作者查詢 |
用例型別 業務需求 |
用例ID |
MSM1402 |
|
主要業務參與者 |
使用者 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望可以通過作者找到自己想要的圖書 |
|
描述 |
該用例描述了使用者用作者查詢圖書的過程。 |
|
前置條件 |
使用者成功登入系統,通過身份驗證。 |
|
後置條件 |
使用者可以正常檢視查詢到的圖書資訊。 |
|
觸發條件 |
當用戶選擇用作者查詢圖書時該用例被觸發。 |
|
基本流程 |
1. 使用者成功登入系統 2. 選擇按書號查詢的選項 3. 輸入想要查詢的圖書作者 4. 系統顯示對應圖書 |
|
替代流程 |
使用者輸入的作者並不存在,提示無此圖書資訊並提示重新輸入圖書資訊。 |
|
結束 |
使用者成功看到搜尋的圖書資訊。 |
|
實現約束和說明 |
使用者只能檢視圖書資訊以及聯絡方式,不可以更改 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
(3) 按書名查詢
用例名 |
按書名查詢 |
用例型別 業務需求 |
用例ID |
MSM1403 |
|
主要業務參與者 |
使用者 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望可以通過書名找到自己想要的圖書 |
|
描述 |
該用例描述了使用者用書名查詢圖書的過程。 |
|
前置條件 |
使用者成功登入系統,通過身份驗證。 |
|
後置條件 |
使用者可以正常檢視查詢到的圖書資訊。 |
|
觸發條件 |
當用戶選擇用書名查詢圖書時該用例被觸發。 |
|
基本流程 |
1. 使用者成功登入系統 2. 選擇按書號查詢的選項 3. 輸入想要查詢的圖書書名 4. 系統顯示對應圖書 |
|
替代流程 |
使用者輸入的書號,書名等並不存在,提示無此圖書資訊並提示重新輸入圖書資訊。 |
|
結束 |
使用者成功看到搜尋的圖書資訊。 |
|
實現約束和說明 |
使用者只能檢視圖書資訊以及聯絡方式,不可以更改 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
5.2.5 圖書資訊管理 及 買賣資訊顯示
圖六 買賣資訊顯示 及 圖書資訊管理
(1) 買賣資訊顯示
用例名 |
買賣資訊顯示 |
用例型別 業務需求 |
用例ID |
MSM1501 |
|
主要業務參與者 |
管理員 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
管理員:希望可以通過查詢圖書的書號來找到相關的買賣資訊 |
|
描述 |
該用例描述了管理員查詢買賣資訊的過程。 |
|
前置條件 |
管理員成功登入系統,通過身份驗證。 |
|
後置條件 |
管理員可以正常檢視查詢到圖書的買賣資訊。 |
|
觸發條件 |
當管理員選擇用書號查詢圖書買賣資訊時該用例被觸發。 |
|
基本流程 |
1. 管理員成功登入系統 2. 選擇買賣資訊查詢的選項 3. 輸入想要查詢的圖書的序列號 4. 系統顯示對應圖書的買賣資訊 |
|
替代流程 |
管理員輸入的序列號等並不存在,提示無此圖書資訊並提示重新輸入圖書序列號。 |
|
結束 |
管理員成功看到搜尋的圖書買賣資訊。 |
|
實現約束和說明 |
管理員只能檢視圖書買賣資訊,不可以更改 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
(2) 圖書資訊管理
用例名 |
圖書資訊管理 |
用例型別 業務需求 |
用例ID |
MSM1502 |
|
主要業務參與者 |
管理員 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
管理員:希望可以看到所有釋出的圖書並且可以選擇刪除不合法的圖書。 |
|
描述 |
該用例描述了管理員進行圖書資訊管理的過程。 |
|
前置條件 |
管理員成功登入系統,通過身份驗證。 |
|
後置條件 |
管理員可以正常檢視查詢到所有釋出圖書的資訊並且可以進行相關的刪除操作。 |
|
觸發條件 |
當管理員選擇圖書資訊管理時該用例被觸發。 |
|
基本流程 |
1. 管理員成功登入系統 2. 選擇圖書資訊管理的選項 3. 輸入想要查詢的圖書書號 4. 系統顯示對應圖書的資訊 5. 選擇刪除操作 6. 系統提示確認刪除該圖書 7. 管理員可選擇確認和返回 |
|
替代流程 |
管理員輸入的書號,書名等並不存在,提示無此圖書資訊並提示重新輸入圖書資訊。 |
|
結束 |
管理員成功看到搜尋的圖書圖書並且選擇相關刪除操作。 |
|
實現約束和說明 |
無 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
5.2.6 購買圖書
圖七 購買圖書
(1) 購買圖書
用例名 |
購買圖書 |
用例型別 業務需求 |
用例ID |
MSM1601 |
|
主要業務參與者 |
使用者 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望通過查詢到圖書的序列號進行購買。 |
|
描述 |
該用例描述了使用者購買圖書的過程。 |
|
前置條件 |
使用者成功登入系統,通過身份驗證。 |
|
後置條件 |
使用者可以購買成功圖書。 |
|
觸發條件 |
當用戶選擇購買圖書時該用例被觸發。 |
|
基本流程 |
1. 使用者成功登入系統 2. 先去查詢圖書模組獲取想要購買圖書的序列號 3. 再返回購買圖書模組輸入序列號購買 4. 系統詢問確認是否購買 5. 確認後系統自動扣除使用者餘額並新增圖書為使用者購買圖書 6. 系統顯示使用者購買圖書成功 |
|
替代流程 |
使用者的餘額不足無法購買,系統提示後建議進行充值服務。 |
|
結束 |
使用者成功購買該圖書。 |
|
實現約束和說明 |
使用者無法購買已經下架和已售出的圖書。 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
(2) 充值服務
用例名 |
充值服務 |
用例型別 業務需求 |
用例ID |
MSM1602 |
|
主要業務參與者 |
使用者 |
|
其他參與者 |
校園圖書售賣系統 |
|
專案相關人員興趣 |
使用者:希望通過充值金額進行購買圖書。 |
|
描述 |
該用例描述了使用者進行充值金額的過程。 |
|
前置條件 |
使用者成功登入系統,通過身份驗證。 |
|
後置條件 |
使用者成功充值後可以用充值的金額進行購買圖書 |
|
觸發條件 |
當用戶選擇充值服務時該用例被觸發。 |
|
基本流程 |
1. 使用者成功登入系統 2. 使用者選擇輸入序列號購買圖書 3. 系統提示餘額不足建議充值 4. 使用者開啟充值服務 5. 選擇要充值的金額 6. 輸入支付密碼 7. 系統稽核支付密碼 8. 系統稽核成功後顯示充值成功 |
|
替代流程 |
使用者輸入的支付密碼錯誤,系統提示重新輸入。 |
|
結束 |
使用者對自己的賬戶充值成功。 |
|
實現約束和說明 |
使用者只可以對自己的賬戶進行充值。 |
|
待解決問題 |
目前無法實現用圖形介面完成該用例 |
5.3 用例活動圖描述
5.3.1 登入用例活動圖
圖八 登入用例活動圖
5.3.2 註冊用例活動圖
圖九 註冊用例活動圖
5.3.3 資訊修改用例活動圖
圖十 資訊修改用例活動圖
5.3.4 賬戶刪除用例活動圖
圖十一 賬戶登出/賬戶刪除用例活動圖
5.3.5 密碼修改用例活動圖
圖十二 密碼修改用例活動圖
5.3.6 按書名查詢圖書用例活動圖
圖十三 按書名查詢圖書用例活動圖
5.3.7 按書號查詢圖書用例活動圖
圖十四 按書號查詢圖書用例活動圖
5.3.8 按作者查詢圖書用例活動圖
圖十五 按作者查詢圖書用例活動圖
5.3.9 修改圖書資訊用例活動圖
圖十六 修改圖書資訊用例活動圖
5.3.10 釋出圖書資訊用例活動圖
圖十七 修改圖書資訊用例活動圖
6 產品的非功能需求
6.1 軟硬體環境需求
6.1.1 硬體環境
分類 |
推薦配置 |
最低配置 |
|
資料庫伺服器
|
CPU |
英特爾迅馳雙核處理器 |
英特爾酷睿2雙核處理器 |
記憶體 |
2GB |
1GB |
|
硬碟 |
160GB |
120GB |
|
網絡卡 |
100M |
10M |
|
應用伺服器
|
CPU |
英特爾酷睿2雙核處理器 |
英特爾酷睿1處理器 |
記憶體 |
3GB |
1GB |
|
硬碟 |
120GB |
80GB |
|
網絡卡 |
100M |
10M |
|
網路 |
頻寬 |
100M |
10M |
客戶端 |
CPU |
英特爾酷睿2雙核處理器 |
英特爾奔騰3處理器 |
記憶體 |
2GB |
1GB |
|
硬碟 |
160GB |
120GB |
|
網絡卡 |
100M |
10M |
6.1.2 軟體環境
分類 |
名稱 |
版本 |
語種 |
作業系統 |
Windows |
7及以上 |
中文 |
作業系統的附加功能 |
ODBC資料來源管理工具 |
|
中文 |
資料庫平臺 |
Microsoft SQL Server |
2000 |
中文 |
資料庫平臺補丁 |
— |
sp4 |
— |
資料庫驅動 |
SQL Server Driver For JDBC |
sp4 |
— |
應用平臺 |
Windows |
XP/Vista |
中文 |
瀏覽器 |
各種功能完善、執行穩定的瀏覽器 |
eg. IE、遨遊等 |
中文 |
客戶端軟體 |
Windows |
7及以上 |
中文 |
郵件系統 |
SMTP POP3 |
|
— |
6.2 產品質量需求
6.2.1 精度
本系統中輸入的各種資料均要求精確到小數點後2位。
6.2.2 時間特性的要求
- 搜尋查詢時間最大不超過7秒。
- 頁面平均處理及響應時間在3—10秒以內,最大不超過10秒。
- 頁面平均更新響應時間為3秒左右,最大不超過7秒。
6.2.3 靈活性
- 操作方式的變化:如果公司的業務情況或業務邏輯出現變化,導致本系統需求發生變化,在可接受的範圍內,要求本系統能夠及時完成需求變更及各項相關的處理工作,實現新的需求。
- 執行環境的變化:本系統支援各種功能完善、成熟的瀏覽器( IE、遨遊等)。
- 精度和有效時限的變化:如果公司提出要求改變精度和有效時限,在可接受的範圍內,接受並實現其需求變更。
- 開發計劃的變化或改進:在可接受的範圍內,本系統的開發工作將積極開發配合計劃的變化或改進。
6.2.4 輸入輸出要求
本系統的輸入資料型別主要是整形、浮點型和字串型別;輸出以字串、整形、浮點型及各類3D圖表為主。
7.詞彙表
名稱 |
描述 |
書號 |
圖書的具體編號,最直觀的就是書的封底的條型碼和那一串數字。 |
書名 |
各類出版物名稱。 |
圖書作者 |
創作出這本圖書的人。 |
價格 |
價格是一項以貨幣為表現形式,為商品、服務及資產所訂立的價值數字。 |
聯絡方式 |
能夠達到對個人直接溝通的相關資訊,具體表現為詳細地址、QQ號碼、電子郵箱、手機號碼、微信等。 |
賬號 |
就是每個人在特定的專案中所代表自己的一些數字等。賬號有時可以由中文或英文組成,甚至是一些符號。 |
密碼 |
在特別情景下使用的特定號碼,可以表明使用人的身份,可以證明是否為賬號的主人。 |
使用者資訊 |
使用者資訊是指包括使用者聯絡方式等一些關於使用者的基本資料。 |
圖書資訊 |
記錄圖書的基本資訊,可表明圖書的基本狀態。 |
實驗二 領域模型
1 概念類分析
1.1 使用者登入
基本流程 |
候選概念類 |
概念類(屬性,服務) |
使用者填入賬號 使用者輸入密碼 系統驗證資訊 驗證正確並匹配成功進入系統 系統記錄本次登入資訊 |
使用者 賬號 密碼 登入資訊 使用者資訊檔案 使用者管理系統 |
使用者(賬號,密碼) |
功能性描述 |
||
使用者輸入賬號密碼若正確且匹配則成功登陸 |
表 1.1 使用者登入概念類分析
1.2 使用者註冊
基本流程 |
候選概念類 |
概念類(屬性,服務) |
系統管理員錄入來自使用者的使用者資訊(賬號,密碼,姓名,電話,餘額等) 系統判別該手機號是否被註冊 該手機號未被註冊將資訊寫入使用者資訊檔案 系統記錄此次註冊資訊 |
使用者 管理員 使用者資訊(賬號,密碼,姓名,電話,餘額等) 註冊資訊 使用者資訊檔案 使用者管理系統
|
使用者(賬號,密碼,姓名,電話,餘額) 管理員(錄入) |
功能性描述 |
||
使用者通過填寫使用者基本資訊成功註冊賬號 |
表 1.2 使用者註冊概念類分析
1.3 資訊修改
基本流程 |
候選概念類 |
概念類(屬性,服務) |
使用者輸入賬號密碼進入系統 使用者選擇資訊修改選項 使用者進行資訊修改 系統提示資訊修改成功並更改系統使用者資訊檔案 |
使用者 賬號 密碼 使用者資訊 使用者資訊檔案 使用者管理系統
|
使用者(賬號,姓名,電話,餘額;修改)
|
功能性描述 |
||
使用者通過登入成功以後來修改使用者基本資訊 |
表 1.3 資訊修改概念類分析
1.4 密碼修改
基本流程 |
候選概念類 |
概念類(屬性,服務) |
管理員登入系統。 根據使用者提供的資訊更改使用者密碼。 提交後用戶可以按照新密碼登入系統。 系統記錄本次修改密碼
或 使用者登入系統 根據需求選擇密碼修改的選項 輸入新密碼 再次輸入新密碼 系統判別兩次密碼是否一致 提交後系統顯示修改成功 使用者下次可以按照新密碼登入系統。 系統記錄本次密碼修改。
|
使用者 管理員 舊密碼 新密碼 使用者資訊檔案 使用者管理系統
|
使用者(密碼;提供密碼) 管理員(賬號,密碼;修改) |
功能性描述 |
||
使用者輸入舊密碼再輸入兩次新密碼,若都匹配則成功修改; |
表 1.4 密碼修改概念類分析
1.5 釋出圖書
基本流程 |
候選概念類 |
概念類(屬性,服務) |
使用者輸入賬號密碼進入系統 選擇釋出圖書選項 進行圖書相關資訊填寫(書號、書名、單價、作者) 資訊填寫完成後系統提示釋出成功 系統賦予新圖書序列號並更新資料庫 |
使用者 賬號 密碼 圖書資訊檔案 圖書管理系統 書號 單價 書名 作者 出版社 序列號
|
使用者(賬號,密碼;釋出) 圖書(書名,單價,書名,作者,出版社,序列號) |
功能性描述 |
||
使用者填寫圖書的書號,書名,圖書價格,賣家的聯絡方式,圖書作者等資訊 |
表 1.5 釋出圖書概念類分析
1.6 修改圖書資訊
基本流程 |
候選概念類 |
概念類(屬性,服務) |
使用者輸入賬號密碼進入系統 選擇修改圖書資訊選項(書號、書名、單價、作者) 系統顯示所有該使用者釋出的圖書 使用者選擇修改的圖書 使用者修改圖書資訊 系統提示圖書資訊修改成功 |
使用者 賬號 密碼 圖書資訊檔案 圖書管理系統 書號 單價 書名 作者 出版社
|
使用者(賬號,密碼;修改) 圖書(書名,單價,書名,作者,出版社,序列號) |
功能性描述 |
||
使用者進入該功能,修改要修改的圖書的資訊 |
表 1.6 修改圖書資訊概念類分析
1.7 查詢圖書(按書號查詢)
基本流程 |
候選概念類 |
概念類(屬性,服務) |
使用者成功登入系統 選擇按書號查詢的選項 輸入想要查詢的圖書的書號 系統顯示對應圖書 |
使用者 登入資訊 圖書資訊檔案 圖書管理系統 圖書 書號 |
使用者(賬號,密碼;查詢) 圖書(書名,單價,書名,作者,出版社,序列號)
|
功能性描述 |
||
使用者輸入要查詢的資訊,系統顯示圖書資訊 |
表 1.7 查詢圖書(按書號查詢)概念類分析
1.8 查詢圖書(按書名查詢)
基本流程 |
候選概念類 |
概念類(屬性,服務) |
使用者成功登入系統 選擇按書名查詢的選項 輸入想要查詢的圖書書號 系統顯示對應圖書 |
使用者 登入資訊 圖書資訊檔案 圖書管理系統 圖書 書名 |
使用者(賬號,密碼;查詢) 圖書(書名,單價,書名,作者,出版社,序列號)
|
功能性描述 |
||
使用者輸入要查詢的資訊,系統顯示圖書資訊 |
表 1.8 查詢圖書(按書名查詢)概念類分析
1.9 查詢圖書(按作者查詢)
基本流程 |
候選概念類 |
概念類(屬性,服務) |
使用者成功登入系統 選擇按書名查詢的選項 輸入想要查詢的圖書作者 系統顯示對應圖書 |
使用者 登入資訊 圖書資訊檔案 圖書管理系統 圖書 作者 |
使用者(賬號,密碼;查詢) 圖書(書名,單價,書名,作者,出版社,序列號)
|
功能性描述 |
||
使用者輸入要查詢的資訊,系統顯示圖書資訊 |
表 1.9 查詢圖書(按作者查詢)概念類分析
1.10 買賣資訊顯示
基本流程 |
候選概念類 |
概念類(屬性,服務) |
管理員成功登入系統 選擇買賣資訊查詢的選項 輸入想要查詢的圖書的序列號 系統顯示對應圖書的買賣資訊 |
管理員 登入資訊 買賣資訊檔案 序列號 買賣資訊系統 交易資訊 |
管理員(賬號,密碼;查詢) 圖書(序列號,買賣資訊) |
功能性描述 |
||
管理員輸入要查詢的書號,系統顯示交易資訊 |
表 1.10 買賣資訊顯示概念類分析
1.11 圖書資訊管理
基本流程 |
候選概念類 |
概念類(屬性,服務) |
管理員成功登入系統 選擇圖書資訊管理的選項 輸入想要查詢的圖書書號 系統顯示對應圖書的資訊 選擇刪除操作 系統提示確認刪除該圖書 管理員可選擇確認和返回 |
管理員 登入資訊 圖書資訊檔案 書號 圖書資訊(書號,書名,作者,單價) 刪除操作
|
管理員(賬號,密碼;查詢,刪除) 圖書(書名,單價,書名,作者,出版社,序列號)
|
功能性描述 |
||
管理員進入功能,顯示平臺中所有圖書資訊,可以選擇輸入要刪除的書號,系統顯示圖書資訊,再次確認是否刪除,確認即成功刪除 |
表 1.11 圖書資訊管理概念類分析
1.12 購買圖書
基本流程 |
候選概念類 |
概念類(屬性,服務) |
使用者成功登入系統 先去查詢圖書模組獲取想要購買圖書的序列號 再返回購買圖書模組輸入序列號購買 系統詢問確認是否購買 確認後系統自動扣除使用者餘額並新增圖書為使用者購買圖書 系統顯示使用者購買圖書成功 |
使用者 登入資訊 圖書資訊檔案 序列號 購買操作 餘額 購買圖書系統
|
使用者(賬號,密碼;查詢,購買) 圖書(書名,單價,書名,作者,出版社,序列號)
|
功能性描述 |
||
使用者選擇購買圖書選項,輸入序列號查詢後購買成功 |
表 1.12 購買圖書概念類分析
1.13 充值服務
基本流程 |
候選概念類 |
概念類(屬性,服務) |
使用者成功登入系統 使用者選擇輸入序列號購買圖書 系統提示餘額不足建議充值 使用者開啟充值服務 選擇要充值的金額 輸入支付密碼 系統稽核支付密碼 系統稽核成功後顯示充值成功 |
使用者 登入資訊 序列號 購買操作 充值操作 金額 餘額 支付密碼 購買圖書系統 |
使用者(賬號,密碼;查詢,充值) 圖書(書名,單價,書名,作者,出版社,序列號)
|
功能性描述 |
||
使用者輸入充值金額,輸入支付密碼,交易成功。 |
表 1.13 充值服務概念類分析
2 領域模型(概念類圖)
2.1 使用者登入
圖一 使用者登入概念類圖
2.2 使用者註冊
圖二 使用者註冊概念類圖
2.3 資訊修改
圖三 資訊修改概念類圖
2.4 密碼修改
圖四 密碼修改概念類圖
2.5 釋出圖書
圖五 釋出圖書概念類圖
2.6 修改圖書資訊
圖六 修改圖書資訊概念類圖
2.7 查詢圖書(用書名查詢)
圖七 查詢圖書(用書名查詢)概念類圖
2.8 查詢圖書(用作者查詢)
圖八 查詢圖書(用作者查詢)概念類圖
2.9 買賣資訊顯示
圖九 買賣資訊顯示概念類圖
2.10 購買圖書
圖十 購買圖書概念類圖
2.11 充值服務
圖十一 充值服務概念類圖
3 系統順序圖
3.1 登入系統順序圖
圖十二 登入系統順序圖(使用者包括管理員和使用者兩者)
3.2 購買圖書順序圖
圖十三 購買圖書順序圖
3.3 按照書號查詢圖書順序圖
圖十四 按照書號查詢圖書順序圖
3.4 釋出圖書順序圖
圖十五 釋出圖書順序圖
3.5 修改圖書資訊順序圖
圖十六 修改圖書資訊順序圖
3.6 買賣資訊顯示順序圖
圖十七 買賣資訊顯示順序圖
3.7 充值服務順序圖
圖十八 充值服務順序圖
實驗三 詳細設計報告
1.圖書管理—系統實現
1.1順序圖
圖十九 查詢圖書與購買圖書用例實現之順序圖
1.2類圖
圖二十 查詢圖書與購買圖書用例實現之設計類圖
類圖說明:
模組名 |
類名 |
說明 |
圖書管理—查詢圖書與購買圖書 |
Booklist |
圖書清單類,儲存圖書的基本資訊,需長期儲存 |
Transaction_record |
交易記錄類,儲存使用者之間購買圖書的交易記錄,需長期儲存 |
|
UserDatafile |
實現類—實現I_UserDatafile介面 |
|
I_UserDatafile |
介面—負責從使用者資料檔案提取資訊 |
|
I_UserDatabase |
介面—負責從使用者資料庫提取資訊 |
|
Search_book |
控制器類,起協調作用 |
|
Search_bookform |
介面類,實現時是查詢圖書介面的抽象 |
|
Purchase_book |
控制器類,起協調作用 |
|
Purchase_bookform |
介面類,實現時是購買圖書介面的抽象 |
|
Rechargeform |
介面類,實現時是有使用者充值介面的抽象 |
2使用者管理—系統實現
2.1順序圖
圖二十一 使用者管理用例實現之順序圖
2.2類圖
圖二十二 使用者管理系統用例實現之設計類圖
類圖說明:
模組名 |
類名 |
說明 |
使用者管理—註冊登入與修改使用者資訊 |
User |
使用者類,資訊從使用者資料庫中提取 |
UserDatafile |
實現類—實現I_UserDatafile介面 |
|
I_UserDatafile |
介面—負責從使用者資料檔案提取資訊 |
|
Registerform |
介面類,實現時是使用者註冊介面的抽象 |
|
Register |
控制器類,起協調作用 |
|
Logonform |
介面類,實現時是使用者登入介面的抽象 |
|
Logon |
控制器類,起協調作用 |
|
Revise User_info |
控制器類,負責使用者修改使用者資訊 |
3 管理員資訊管理—系統實現
3.1順序圖
圖二十三 管理員管理系統用例實現之順序圖
3.2類圖
圖二十四 管理員管理系統用例實現之設計類圖
類圖說明:
模組名 |
類名 |
說明 |
管理員管理—買賣資訊查詢與圖書資訊管理 |
Manager |
管理員類,資訊從使用者(管理員)資料檔案中提取 |
UserDatafile |
實現類—實現I_UserDatafile介面 |
|
I_UserDatafile |
介面—負責從使用者資料檔案提取資訊 |
|
Logonform |
介面類,實現時是使用者(管理員)登入介面的抽象 |
|
Logon |
控制器類,起協調作用 |
|
View transaction_infoform |
介面類,實現時是管理員查詢交易資訊介面的抽象 |
|
View transaction_info |
控制器類,起協調作用 |
|
Booklist |
圖書清單類,儲存圖書的基本資訊,需長期儲存 |
|
View Book_infoform |
介面類,實現時是管理員檢視圖書資訊介面的抽象 |
|
View Book_info |
控制器類,起協調作用 |
|
Transaction_record |
交易記錄類,儲存使用者之間購買圖書的交易記錄,需長期儲存 |
|
Delete_book |
控制器類,起協調作用 |
4 使用者釋出圖書—系統實現
4.1順序圖
圖二十五 使用者釋出圖書系統用例實現之順序圖
4.2類圖
圖二十六 使用者釋出圖書系統用例實現之設計類圖
類圖說明:
模組名 |
類名 |
說明 |
使用者管理—釋出圖書與修改圖書資訊 |
User |
使用者類,資訊從使用者資料庫中提取 |
UserDatafile |
實現類—實現I_UserDatafile介面 |
|
I_UserDatafile |
介面—負責從使用者資料檔案提取資訊 |
|
Logonform |
介面類,實現時是使用者(管理員)登入介面的抽象 |
|
Logon |
控制器類,起協調作用 |
|
Publishing Bookform |
介面類,實現時是使用者釋出圖書介面的抽象 |
|
Publishing Book |
控制器類,起協調作用 |
|
Booklist |
圖書清單類,儲存圖書的基本資訊,需長期儲存 |
|
Revise Book_infoform |
介面類,實現時是使用者修改圖書資訊介面的抽象 |
|
Revise Book_info |
控制器類,起協調作用 |
|
Delete_book |
控制器類,起協調作用 |