本文使用軟體工程的方法對我的工程實踐專案進行分析,主要包括了用例建模,業務領域建模,資料建模等。本專案需要設計乙個工業網際網路平台,完成使用者管理,裝置管理(包括裝置狀態監測和裝置控制)以及系統故障報警等功能。
一.用例建模
基於軟體工程的方法分析本專案,首先需要進行需求分析和用例建模。
1.1 用例介紹:
乙個用例應該由業務內的某個參與者所觸發
用例必須能為特定的參與者完成乙個特定的業務任務
乙個用例必須終止於某個特定參與者,也就是特定參與者明確地或者隱含地得到了業務任務完成的結果。
1.2用例建模基本步驟:
從需求表述中找出用例,往往是動名詞短語表示的抽象用例;
描述用例開始和結束的狀態,用tucbw和tucew表示的高層用例;
對用例按照子系統或不同的方面進行分類,描述用例與用例、用例與參與者之間的上下文關係,並畫出用例圖;
逐步分析用例與參與者的詳細互動過程,完成乙個兩列的**將參與者和待開發軟體系統之間從用例開始到用例結束的所有互動步驟都列舉出來擴充套件用例。
1.3 準確提取用例的基本方法
為了準確地提取用例,我們必須遵循一些原則和方法:
1 從需求中尋找業務領域相關的動名詞和動名詞短語,比如做什麼事、什麼事情必須被完成,或者執行某任務等;
2 驗證這些業務領域相關的動名詞和動名詞短語到底是不是用例。驗證業務領域相關的動名詞或動名詞短語是不是用例的標準是滿足四個必要條件:
a 必要條件一 :它是不是乙個業務過程?
b 必要條件二:它是不是由某個參與者觸發開始?
c 必要條件三:它是不是顯式地或隱式地終止於某個參與者?
d 必要條件四: 它是不是為某個參與者完成了有用的業務工作?
如果以上四個必要條件都滿足的話,那麼該業務領域相關的動名詞或動名詞短語就是乙個用例。
3 在需求中識別出參與者、系統或子系統。
參與者會觸發某個用例開始,用例也會顯式地或隱式地終止於某個參與者; .
用例會屬於系統或子系統。
1.4 基於上述方法進行建模
本系統設計完成之後需要交付給一家大型工廠。因此該系統主要包括兩類使用者,系統管理員和值班人員,應該具備人員管理,裝置管理(包括裝置狀態監測和裝置控制)以及系統故障報警等功能。
系統管理員應該具備以下功能:
註冊登入
使用者資訊維護
管理值班人員(包括建立,登出和檢視)
裝置新增,刪除和資訊修改
裝置狀態監測
裝置控制
故障資訊接收
值班員應該具備以下功能:
登入使用者資訊維護
裝置狀態監測
裝置控制
故障資訊接收
基於此分析,我們可以找出相應的動名詞,結合是否滿足用例的四個必要條件來提取出用例,進而建立用例模型:
二.業務領域建模
2.1 業務領域建模
業務領域建模是開發團隊用於獲取業務領域知識的過程。因為軟體工程師往往需要工作在不同的業務領域或者不同專案中,他們需要業務領域知識來開發軟體系統。軟體工
程師往往來自不同的專業背景,這可能會影響他們對業務領域的認知。因此業務領域建模有助於開發團隊獲取業務領域知識形成統一的業務認知。
開發團隊獲取業務領域知識的過程一般包括收集業務領域相關資訊、執行團隊頭腦風暴、對業務領域相關的知識概念進行分類,最後用uml類圖將業務領域知識圖形化展示。
2.2業務領域建模的基本步驟
收集應用業務領域的資訊。聚焦在功能需求層面,也考慮其他型別的需求和資料;
頭腦風暴。列出重要的應用業務領域概念,給出這些概念的屬性,以及這些概念之間的關係;
給這些應用業務領域概念分類。分別列出哪些是類、哪些屬性和屬性值、以及列出類之間的繼承關係、聚合關係和關聯關係。
將結果用 uml 類圖表述。
2.3 工程實踐中的業務領域建模
經過了業務領域建模的基本步驟,將本專案中的業務領域概念分類,抽取出了如下類:
系統管理員:使用者編號 id,姓名,密碼,郵箱,使用者級別等屬性
值班員:使用者編號 id,姓名,密碼,郵箱,使用者級別等屬性
機器:機器編號id,類別,所屬區域,當前狀態等屬性
類與類之間的繼承關係、聚合關係和關聯關係等通過uml圖來表示。
三.業務資料建模
基於上述分析,可以得到以下資料表:
使用者表:
字段型別
注釋id
string
使用者編號
name
string
姓名password
string
登入密碼
string
郵箱grade
int使用者等級,標識管理員或值班員
裝置表:
字段型別
注釋id
string
裝置編號
class
string
裝置型別
area
int所屬區域
state
int裝置狀態
ipaddress
string
ip位址
區域表(閘道器表):
字段型別
注釋areaid
int區域編號
ipaddress
string
對應閘道器ip位址
discribe
string
描述資訊
四.概念原型
概念原型是一種虛擬的、理想化的軟體產品形式。具體的講,概念原型 = 用例 + 資料模型。
通過上述分析,我們已經獲得了本專案的用例和資料模型,並總結專案的工作過程如下:
使用者成功登入後,我們根據使用者等級為其賦予不同的功能。對於系統管理員,可以進行維護資訊,使用者管理,裝置管理,接受報警資訊等操作。對於值班員可以進行維護資訊,裝置管理,接受報警資訊等操作,但裝置管理中不能建立,刪除以及修改裝置資訊。
軟體工程 需求分析
軟體生存期分六個步驟,1.制定計畫。2需求分析。3軟體設計。4程式設計。5.軟體測試。6.執行維護。需求分析是軟體生存期中軟體分析的最後乙個步驟,是確定系統必須完成哪些工作,也就是對目標系統提出完整 準確 清晰 具體的要求。是軟體開發計畫期間建立的軟體可行性分析求精和細化,分析各種可能的解法,並且分...
軟體工程 需求分析
昨天剛剛寫了關於可行性研究的部落格,今天我們來看看關於需求分析的問題!需求分析需要掌握三個主要任務!1.深入描述軟體的功能和效能 2.確定軟體設計的約束和軟體同其他系統元素的介面細節 3.定義軟體的其他有效需求。需求分析的四個過程 問題識別 1.從系統的角度來理解軟體並評審軟體範圍是否恰當 2.確定...
軟體工程 需求分析
需求分析的任務 基本任務是準確地回答 系統必須做什麼?1.確定系統的綜合需求 2.分析系統的資料需求 3.匯出系統的邏輯模型 4.修正系統的開發計畫 5.開發原型系統 需求分析的過程 1問題識別 軟體的需求包括 功能需求 模組 效能需求 響應時間,儲存容量 環境需求 執行 可靠性需求 安全保密需求 ...