1. 程式人生 > 其它 >校園失物招領系統 軟體工程導論

校園失物招領系統 軟體工程導論

實驗一 軟體需求描述

1.1 系統需求描述

   失主:註冊、登入系統,系統稽核資訊有效性,有效性是指提供的學號姓名學號聯絡方式是否符合規格,稽核通過則註冊、登入成功;進入系統後,失主可以通過拾遺者提供的失物資訊表查詢,通過描述細化失物的範圍,系統會返回查詢到失物會聯絡拾遺者領回,查詢失敗後會記錄在失物登記表。

  拾遺者:註冊、登入系統,系統稽核資訊有效性,有效性是指拾遺者提供的姓名學號聯絡方式等是否正確符合規格。稽核通過則註冊、登入成功;進入系統後,拾遺者上傳提供失物的資訊,系統審查資訊的有效性,有效性是指撿到的失物是否符合基本的失物特徵,保證不能出現除了失物以外的其他資訊,審查成功後失物資訊將釋出到失物資訊表上,系統對拾遺者釋出的資訊進行分類整理後,返回釋出資訊成功通知單給拾遺者。

  管理員:註冊、登入系統,系統稽核資訊有效性,有效性是指管理員提供的姓名聯絡方式等是否正確符合規格。稽核通過則註冊、登入成功;進入系統後,管理員可以修改失主和拾遺者的資訊。

  失物招領管理系統:具有三個功能分割槽,分別是:使用者管理、失物查詢、失物釋出;使用者管理功能實現每一位使用系統的使用者都需要先註冊、登入再進入系統;其次提供了管理員可以修改使用者資訊的功能。失物查詢功能實現了失主查詢失物的功能,並且可以實現審查資訊的有效性並提供找回失物的方式。失物釋出功能實現了釋出失物資訊並且審查拾遺者釋出資訊的有效性。

 

1.2 系統相關者

失主、拾遺者、管理員

1.3 資料流分析

(1) 頂層DF

失物招領頂層資料流圖如圖1.1所示。

 

 

 

 

 

 

圖1.1 失物招領系統頂層DFD

 

(2) 功能層DFD如圖1.2所示。

 

 

 

                圖1.2 功能層DFD

 

(3) 細節層DFD失物查詢層的DFD分解層如圖1.3所示。

 

 

 

 

 

圖1.3 失物查詢層DFD分解

 

 

(4) 失物釋出層的DFD分解層如圖1.4所示。

 

 

 

 

 

圖1.4 失物釋出層DFD分解

 

(5)使用者管理層的DFD分解層如圖1.5所示。

 

 

 

 

                   圖1.5 使用者管理層DFD分解

 

1.4 資料字典

(1) 資料項定義

賬號的資料項定義如表1.1所示。

表1.1 資料項“賬號”的條目

資料項名:賬號

別名:登陸賬號

取值範圍及含義:

00000~99999     按照註冊的順序分發賬號

備註:每個使用者在登入系統時應該用賬號登入

 

密碼的資料項定義如表1.2所示。

表1.2 資料項“密碼”的條目

資料項名:密碼

別名:登入密碼

取值範圍及含義:

1 {字元} 20  (數字+字元)

備註:每個使用者的賬號和密碼必須一一對應的用於登入系統

 

姓名的資料項定義如表1.3所示。

表1.3資料項“姓名”的條目

資料項名:姓名

別名:真實姓名

取值範圍及含義:

1 {字元} 10 (漢字)

備註:代表的是登入使用者的真實姓名

 

型別的資料項定義如表1.4所示。

表1.4 資料項“型別”的條目

資料項名:型別

別名:使用者型別

取值範圍及含義:

A B C  

備註:A代表的是失主  B代表的是拾遺者  C代表的是管理員

 

聯絡方式的資料項定義如表1.5所示。

表1.5 資料項“聯絡方式”的條目

資料項名:聯絡方式

別名:手機號碼

取值範圍及含義:

00000000000~9999999999  

備註:代表的是使用者的電話聯絡方式,必須是十一位有效的數字

 

地點的資料項定義如表1.6所示。

表1.6 資料項“地點”的條目

資料項名:地點

別名:物品丟失/撿拾地點

取值範圍及含義:

1 {字元} 20(漢字字元)

備註:代表的是失物的丟失地點或者撿到地點

 

名稱的資料項定義如表1.7所示。

表1.7 資料項“名稱”的條目

資料項名:名稱

別名:失物名稱

取值範圍及含義:

1 {字元} 10(漢字字元)

備註:代表的是失物的名字  如:耳機、項鍊、手錶等等

 

時間的資料項定義如表1.8所示。

表1.8 資料項“時間”的條目

資料項名:時間

別名:丟失時間/撿拾時間

取值範圍及格式:

“00:00”…“23:59”

備註:代表的是失主丟失失物的時間或者拾遺者撿到物品的時間,規定必須用“:”間隔開。

 

細節描述的資料項定義如表1.9所示。

表1.9 資料項“細節描述”的條目

資料項名:細節描述

別名:失物具體細節描述

取值範圍及含義:

1 {字元} 30(漢字字元)

備註:代表的是失物的具體細節的描述

 

學號的資料項定義如表1.10所示。

表1.10 資料項“學號”的條目

資料項名:學號

別名:失主和拾遺者的學號

取值範圍及含義:

20000000~25000000   

備註:代表的是學生入學年份和身份標識,一共八位學號,包括入學年份(4位)+學生序號(4位)

 

年的資料項定義如表1.11所示。

表1.11 資料項“”的條目

資料項名:年

別名:年份

取值範圍及含義:

2000~2500   

備註:代表的是失物丟失的年份

 

月的資料項定義如表1.11所示。

表1.12 資料項“”的條目

資料項名:月

別名:月份

取值範圍及含義:

1~12   

備註:代表的是失物丟失的月份

 

日的資料項定義如表1.13所示。

表1.13 資料項“”的條目

資料項名:日

別名:日期

取值範圍及含義:

1~31

備註:代表的是失物丟失的日期

 

暱稱的資料項定義如表1.14所示。

表1.14 資料項“暱稱”的條目

資料項名:暱稱

別名:使用者暱稱

取值範圍及含義:

1 {字元} 10(漢字字元)

備註:代表的是使用者在系統中的稱呼

 

(2)資料流定義

領回通知單的資料流定義如表2.1所示。

2.1 資料流“領回通知單”的字典條目

資料流名:領回通知單

別名 : href="https://cn.bing.com/dict/search?q=Claim&FORM=BDVSP6&cc=cn" Claim notification form

資料流的來源:加工1.5領回失物

資料流的去向:拾遺者

資料流組成:名稱+地點+細節描述+暱稱+學號+聯絡方式+時間

備註:無

 

使用者資訊單的資料流定義如表2.2所示。

2.2 資料流“使用者資訊單”的字典條目

資料流名:使用者資訊單

別名 :User information form

資料流的來源:3.3使用者資訊管理、3.2使用者資訊分類

資料流的去向:管理員

資料流組成:暱稱+學號+聯絡方式+賬號+密碼

備註:無

 

釋出成功通知單的資料流定義如表1.3所示。

2.3 資料流“釋出成功通知單”的字典條目

資料流名:釋出成功通知單

別名 :Publishing  href="https://cn.bing.com/dict/search?q=success&FORM=BDVSP6&cc=cn" success notification form

資料流的來源:2.3系統分類管理

資料流的去向:拾遺者

資料流組成:名稱+地點+細節描述+時間

備註:無

 

(3)資料儲存

 失物資訊表的資料儲存如表1.3所示。

2.4  資料儲存“失物資訊表”的字典條目

資料儲存名稱:失物資訊表

編號:F1

簡述:是經過按拾遺者提供的失物資訊統計得到的失物資訊表

流入的資料流:來源於拾遺者填寫提供的失物資訊

流出的資料流:去向是失主查詢失物資訊

資料儲存組成:名稱+地點+細節描述+暱稱+學號+聯絡方式+時間

備註:無

 

失物登記表的資料儲存如表2.5所示。

2.5  資料儲存“失物登記表”的字典條目

資料儲存名稱:失物登記表

編號:F2

簡述:是經過按失主查詢的失物資訊統計得到的失物登記表

流入的資料流:來源於

流出的資料流:去向是

資料儲存組成:名稱+地點+細節描述+暱稱+學號+聯絡方式+時間

備註:無

 

使用者資訊表的資料儲存如表1.3所示。

2.6  資料儲存“使用者資訊表”的字典條目

資料儲存名稱:使用者資訊表

編號:F3

簡述:是經過按使用者填寫的資訊整理統計得到的使用者資訊表

流入的資料流:一方面來源於失主和拾遺者使用者資訊的結果,另一方面來自於管理員的資訊

流出的資料流:去向是管理員操作和修改使用者資訊

資料儲存組成:暱稱+學號+聯絡方式+賬號+密碼

備註:無

 

 

1.5 加工邏輯

(1)加工2.1系統審查失物資訊的結構化語言如下。

 

  輸入失物資訊

    按拾遺者提供的失物資訊分類

      檢索“失物登記表”檔案,獲得失物登記的表單

    對於輸入的失物資訊進行失物匹配

      begin

        如果     失物登記表有相同的資訊

          則

            失物匹配成功,進而聯絡失主領回

        否則

            失物匹配失敗,釋出失物資訊到“失物資訊表”檔案

      End

 

 

(2)加工3.1使用者登入決策樹如圖2.1使用者登入決策樹所示。

 

 

 

 

 

圖2.1使用者登入決策樹

 

 

(3)加工1失物查詢功能IPO圖如圖2.2所示。

 

 

 

 

 

圖2.2失物查詢功能IPO圖

 

 

(4)加工2失物釋出功能IPO圖如圖2.3所示。

 

 

 

 

 

圖2.3失物查詢功能IPO圖

 

(5)實體關係圖ER圖如圖2.4所示。

 

 

 

 

 

圖2.4 實體關係ER圖

 

1.6 軟體非功能需求

  硬體環境需求:PC端以及客戶端。

  軟體環境需求:windows10系統或者Linux系統。

  效能需求:目前市面上的主流的中端顯示卡例如Geforce 9800 gt,能夠達到低端顯示卡也能執行這個系統,目的是服務學生,大部分的學生的個人電腦和學校的臺式電腦也基本可以達到這個標準。

  安全性需求: 能夠做到對客戶以及系統的個人資訊能夠完善儲存,系統不易被盜取資訊與技術;並且能根據使用者的類別設定訪問許可權,並且對使用者的訪問許可權或者使用者的資訊進行直接操作。

  可靠性需求:在發生故障以後的易恢復性,釋出新版本以後做到回滾方案,以備異常緊急處理,在系統出錯後做好容錯處理。

  易用性需求:系統使用簡單,便於操作,便於學習,並且使用者介面美觀,具有一定觀賞性。

 

實驗二  軟體結構設計

                    

2.1 軟體結構設計

  1. 將功能層資料流圖化分邊界,如圖2.1所示。

 

 

 

 

 

圖2.1化分邊界的資料流圖

 

   2.按SD方法將資料流圖轉換為軟體結構圖,如圖2.2所示。

 

 

 

 

 

圖2.2 功能層的SC圖

   3.失物查詢層的劃分邊界的DFD圖,資料流圖為事務,如圖2.3所示。

 

 

 

 

圖2.3 化分邊界的失物查詢層DFD

   4.根據失物查詢層化分邊界的DFD,畫出的SC圖,如圖2.4所示。

 

 

 

 

圖2.4 失物查詢層的SC圖

 

圖2.2與圖2.4其中:

  1    OC1為使用者或管理員的操作命令

  2    OC2為失主的操作命令

  3    D1為尋找失物

  4    D2為無效需求單

  5    D3為有效需求單

  6    D4為需求範圍

  7    D5為呼叫失物資訊單檢視

  8    D6為查詢失敗通知單

  9    D7為查詢成功通知單

 

  5.失物釋出層的劃分邊界的DFD圖,資料流圖為事務,如圖2.5所示。

 

 

 

 

 

圖2.5 化分邊界的失物釋出層的DFD

 

  6.根據失物釋出層化分邊界的DFD,畫出的SC圖,如圖2.4所示。

 

 

2.6採購層的SC圖

 

圖2.6其中:

  10   OC3為拾遺者的操作命令

  11    D1為失物資訊

  12    D2為無效資訊單

  13    D3為審查成功通知單

  14    D4為資訊匹配失敗通知單

  15    D5為資訊匹配成功通知單

  16    D6為釋出資訊成功通知單

 

2.2 詳細設計-程式流程圖

(1) 使用者管理中登入程式流程圖,如圖2.7。

 

 

圖2.7 審查有效性程式流程圖

 

 

實驗三 系統用例分析

3.1 系統需求陳述

  校園失物招領管理系統。主要負責校園學生尋找和釋出失物。

   失主:註冊、登入系統,系統稽核資訊有效性,有效性是指提供的學號姓名學號聯絡方式是否符合規格,稽核通過則註冊、登入成功;進入系統後,失主可以通過拾遺者提供的失物資訊表查詢,通過描述細化失物的範圍,系統會返回查詢到失物會聯絡拾遺者領回,查詢失敗後會記錄在失物登記表。

  拾遺者:註冊、登入系統,系統稽核資訊有效性,有效性是指拾遺者提供的姓名學號聯絡方式等是否正確符合規格。稽核通過則註冊、登入成功;進入系統後,拾遺者上傳提供失物的資訊,系統審查資訊的有效性,有效性是指撿到的失物是否符合基本的失物特徵,保證不能出現除了失物以外的其他資訊,審查成功後失物資訊將釋出到失物資訊表上,系統對拾遺者釋出的資訊進行分類整理後,返回釋出資訊成功通知單給拾遺者。

  管理員:註冊、登入系統,系統稽核資訊有效性,有效性是指管理員提供的姓名聯絡方式等是否正確符合規格。稽核通過則註冊、登入成功;進入系統後,管理員可以修改失主和拾遺者的資訊。

  失物招領管理系統:具有三個功能分割槽,分別是:使用者管理、失物查詢、失物釋出;使用者管理功能實現每一位使用系統的使用者都需要先註冊、登入再進入系統;其次提供了管理員可以修改使用者資訊的功能。失物查詢功能實現了失主查詢失物的功能,並且可以實現審查資訊的有效性並提供找回失物的方式。失物釋出功能實現了釋出失物資訊並且審查拾遺者釋出資訊的有效性。

 

3.2 功能提取

3.2.1 識別相關者

  失主、拾遺者、管理員

 

3.2.2 建立系統的業務列表

  業務列表如表1-1所示。 

 

參與者

用例

說明

失主(loster)

瀏覽失物資訊

(Browse lost property information)

失主可以通過直接實時檢視失物資訊

釋出招領資訊

(Release the claim information)

失主未搜尋到失物資訊後可以釋出失物招領資訊

查詢招領資訊

(Query found information)

失主可以通過關鍵字搜尋或直接查詢招領資訊

線上交流(Online communication)

失主可以與拾遺者進行線上交流

申請領回(To apply for claim)

失主找到失物後可以向系統和拾遺者申請領回失物

拾遺者(Gleanings person)

瀏覽招領資訊

(Browse for found information)

拾遺者可以直接檢視實時招領資訊

搜尋招領資訊

(Search for found information)

拾遺者可以通過關鍵字搜尋招領資訊

釋出失物資訊

(Release lost property information)

拾遺者撿到失物後可以釋出失物資訊

線上交流(Online communication)

拾遺者與失主可以進行線上交流

申請提供(Apply for providing)

拾遺者提供失物領回申請以便失主可以領回失物

管理員(Administrator)

使用者許可權管理

(User privilege management)

管理員可以對使用者許可權進行修改

使用者資訊管理

(User information management)

管理員可以對使用者資訊進行輸入和修改

 

表1-1 業務列表

 

3.3 校園失物招領管理系統的包圖

  校園失物招領管理系統包圖如圖1-1所示。

  包圖說明: 該包圖包括:“使用者介面”、“業務邏輯”、“使用者介面”、“資料庫”四個包以及包間關係。其中使用者介面與邏輯介面存在依賴關係;業務邏輯、使用者介面與資料庫之間存在依賴關係;同時,使用者介面與業務邏輯之間也存在依賴關係。

 

 

 

圖1-1 校園失物招領管理系統包圖

 

3.4 用例圖建立

  校園失物招領管理系統用例圖如圖1-2所示。

 

 

 

圖1-2 系統用例圖

 

3.5 系統用例說明

系統用例說明如表1-2所示。

 

用例名稱

註冊

用例ID

UC01

主要業務參與者

使用者(失主 / 拾遺者)

簡要描述

使用者輸入自身資訊註冊賬號

基本事件流

使用者輸入 使用者名稱、密碼、學號、手機號等基本資訊

擴充套件事件流

系統將資訊新增到使用者資訊庫

使用者場景

註冊成功 / 註冊失敗

關係描述

“使用者資訊管理”是“註冊”的擴充套件

前置條件

後置條件

異常

若輸入不符合條件則顯示註冊失敗

限制與約束

必須填寫完必填項,如使用者名稱、密碼、學號、手機號等,且同一個使用者名稱或學號不能同時重複註冊,學號,手機號需要符合格式

 

表1-2 註冊的用例說明

 

用例名稱

登入

用例ID

UC02

主要業務參與者

使用者(失主 / 拾遺者)

簡要描述

使用者輸入使用者名稱和密碼登入賬號

基本事件流

使用者輸入使用者名稱和密碼進行登入,若登陸成功則賦予其對應的許可權

擴充套件事件流

密碼輸入錯誤,彈出提示資訊再次輸入,重新登入

使用者場景

登入成功 / 登入失敗

關係描述

“登入”用例包含“使用者許可權管理”用例

前置條件

該使用者已經註冊

後置條件

異常

若密碼輸入錯誤三次以上,封鎖賬號一段事件,封鎖時間結束後才可以再次登入賬號

限制與約束

必須輸入正確且匹配的使用者名稱和密碼


 

表1-3 登入的用例說明

 

用例名稱

瀏覽招領資訊

用例ID

UC03

主要業務參與者

失主

簡要描述

失主瀏覽多條招領資訊的主要資訊

基本事件流

失主對多條招領資訊進行瀏覽,招領資訊按照發布時間排序,最新發布的資訊在前

擴充套件事件流

選擇物品類別(書 / 校園卡 / 身份證 等)

使用者場景

瀏覽到目標資訊 / 沒有瀏覽到目標資訊

關係描述

“申請領回”是“瀏覽招領資訊”的擴充套件

前置條件

後置條件

異常

限制與約束

 

表1-4 瀏覽招領資訊的用例說明

 

用例名稱

申請領回

用例ID

UC04

主要業務參與者

失主

簡要描述

失主看到目標招領資訊後,申請領會此資訊中的物品

基本事件流

失主點選“申請領回”按鈕後,回答拾遺者設定的驗證問題,若全部回答正確,則將獲得線上交流的許可權,招領資訊狀態為申請中狀態

擴充套件事件流

使用者場景

獲得線上交流的許可權 / 未獲得線上交流的許可權

關係描述

“申請領回”是“瀏覽招領資訊”的擴充套件

前置條件

該使用者已經登陸

後置條件

異常

限制與約束

 

表1-5 申請領回失物的用例說明

 

用例名稱

搜尋招領資訊

用例ID

UC05

主要業務參與者

拾遺者

簡要描述

失主輸入關鍵詞搜尋相關招領資訊

基本事件流

失主輸入關鍵詞搜尋相關招領資訊,搜尋結果按符合關鍵詞數量排列,符合更多關鍵詞的資訊在前,相同數量是按釋出時間排序

擴充套件事件流

使用者場景

搜尋到目標資訊 / 未搜尋到目標資訊

關係描述

“選擇分類”是“搜尋招領資訊”的擴充套件

前置條件

後置條件

異常

限制與約束

至少需要輸入一個關鍵字

 

表1-6 搜尋招領資訊的用例說明

 

用例名稱

線上交流

用例ID

UC06

主要業務參與者

使用者(失主 / 拾遺者)

簡要描述

失主和拾遺者線上交流

基本事件流

失主和拾遺者線上交流並確認失物情況

擴充套件事件流

使用者場景

失主和拾遺者確認失物情況

關係描述

前置條件

該使用者已經登入 並且對於失主 回答正確拾遺者提出的相關問題

後置條件

異常

限制與約束

交流中系統若檢測到不良資訊將切斷聯絡並警告雙方

 

表1-7 線上交流的用例說明

 

3.6 建立順序圖

  校園失物招領管理系統管理員管理使用者資訊順序圖如圖1-3所示。

 

 

 

圖1-3 管理員管理使用者資訊順序圖

 

3.7 建立類圖

校園失物招領管理類圖如圖1-4所示。 

 

圖1-4 校園失物招領管理系統類圖

 

3.8 建立用例活動圖

校園失物招領管理系統失主尋找失物用例活動圖如圖1-5所示。

 

 

 

 

圖1-5 尋找失物用例活動圖