軟體工程學習筆記(三)軟體需求工程

2021-10-05 18:35:23 字數 3669 閱讀 5099

軟體需求

以清晰、簡潔、一致且無二義性的方式,描述使用者對目標軟體系統在功能、行為、效能、設計約束等方面的期望,是在開發過程中對軟體系統的約束

軟體需求分類

需求工程過程

需求基線:評審通過後的srs就形成了軟體開發工作的需求基線,作為客戶方和開發方之間的乙個需求約定

軟體需求分析的任務不應包括結構化程式設計進行需求分析可使用多種工具,但pad圖是不適用的。在需求分析中,分析員要從使用者那裡解決的最重要的問題是要讓軟體做什麼需求規格說明書的內容不應當包括對演算法的詳細過程性描述該文件在軟體開發中具有重要的作用,但其作用不應當包括軟體可行性分析的依據

需求獲取技術

遇到的問題:yes,but現象,undiscovered ruins現象,user and developer現象

可採取的技術手段:

結構化分析方法

在需求分析中,用於建立目標系統分析模型的一種傳統方法。該方法採用圖形化方式,分別從資料、功能、行為三個不同角度表達使用者需求

即結構-化分析方法從三個方面構建軟體系統的分析模型: 資料建模、 功能建模、 行為建模』『』『』、

結構化需求分析建模方法

面向資料:

面向資料的建模方法 實體關係圖(e-r圖)—資訊域

面向系統行為:

面向資料流的建模方法 資料流圖(dfd)-功能域

面向狀態的建模方法 狀態轉換圖(std)-行為域

結構化分析模型的組成:

結構化分析模型從多視角來描述目標系統:使用(實體-聯絡圖)描述資料物件及其之間的聯絡,用於建立資料模型;使用(資料流圖)描述資料資訊在系統中如何被傳遞和變換,用於建立功能模型;使用(狀態-轉換圖)描述系統對外部事件如何響應,用於建立行為模型;使用(資料字典)對資料流圖中的各種元素以詞條的形式進行定義和描述。

sa中的資料建模

從使用者視角建立乙個概念性的資料模型,也稱資訊模型。該資料模型與系統實現無關。主要描述使用者角度所看到的目標系統中有哪些資料物件,資料物件自身有哪些屬性特徵,以及各個資料物件之間有何聯絡

實體關係圖erd

實體:即資料物件,它表示目標系統中客觀存在的,並且具有一系列不同性質或屬性的事物

屬性:它表示資料物件自身所具有的特徵或性質

關係:也稱聯絡,它表示資料物件之間相互連線的方式。

實體之間的關係也可能具備屬性特徵

sa中的功能建模

從目標系統內部的資料流出發,按照自頂向下逐層分解的方式,定義出目標系統的所有邏輯功能。功能建模只反映目標系統的邏輯功能,不反映功能的具體實現。

資料流圖dfd

描繪資料資訊在目標系統內部的各個邏輯功能之間傳遞、變換的過程。頂層資料流圖描述了系統的輸入與輸出

對於分層的資料流圖,父圖與子圖的平衡是指子圖的輸入、輸出資料流與父圖中對應加工的輸入、輸出資料流必須一致

外部實體

代表目標系統的外部環境,包括系統使用者(人員或組織)、與系統連線的其它硬體裝置或軟體系統; 目標系統中所處理的資料資訊都來自於外部實體或流向匯集於外部實體,因此,也稱其為「資料來源點或資料終點」, 表示產生資料資訊的源頭或消費資料資訊的終點;「外部實體」在資料流圖中應以名詞短語命名

資料加工

也稱「資料處理」,是資料流圖的核心。它表示目標系統中對資料資訊所進行的某種操作或變換,輸入的資料流經過某個 「加工」後產生輸出的資料流;「加工」在資料流圖中應以動詞短語命名,簡明描述完成什麼功能

資料儲存

代表目標系統內部需要儲存的資料,以某種資料組織形式存在;乙個資料儲存可以是乙個資料檔案、一張資料庫表、也可以是資料檔案或資料庫表的一部分;資料流流向某個「資料儲存」,可理解為寫入檔案或查詢檔案;資料流流出某個「資料儲存」,可理解為從檔案讀資料或得到查詢結果;「資料儲存」在資料流圖中應以名詞短語命名;

資料流

代表目標系統內部傳遞變換的資料資訊及其流向;在資料流圖中應以名詞短語命名

「資料流」可以是:

「資料加工」與「資料儲存」之間流動的資訊

「外部實體」與「資料加工」之間流動的資訊

「資料加工」與「資料加工」之間流動的資訊

構建dfd圖的具體步驟

(1)構建頂層dfd(確定系統邊界、資料的輸入輸出、系統功能)

(2)對頂層dfd圖細化,構建0層dfd(細化頂層資料流圖,加入資料儲存)

(3)對0層dfd的每個加工進行細化,分別構建1層dfd,依次類推,逐層精化,直至構建出底層圖

sa中的資料字典

數字字典是對資料流圖**現的各種元素(包括資料流、資料儲存、資料加工)分別以詞條的形式進行定義和描述,使得每個元素都有乙個確切的解釋。

資料字典是對資料流圖的補充,兩者相互配合。

包括四類詞條:

資料定義

解釋x=a+b

x由a和b組成

x=[a|b]

x由a或b組成

x=x由0或多個a組成

x=38

x中至少出現3次a,至多出現8次a

x=(a)

a可在x**現,也可不出現

x=「a」

x為取值為a的資料元素

x=1…9

x可取1到9之中的任一值

sa中的行為建模

通過分析目標系統在執行過程中可能存在的各種狀態,以及引起這些狀態之間發生轉換的外部事件,從而來表示系統的動態行為。

系統狀態因外部事件而發生變化

狀態轉換圖std

包含兩種模型元素:系統狀態和外部事件

外部事件 :能引起系統從乙個狀態轉換到另乙個狀態的控制資訊(來自於系統外部)

事件表示式:事件名[守衛條件]

事件名:引起系統狀態發生變化的外部事件名稱。

守衛條件:相當於布林表示式。

軟體工程學習筆記

1 軟體工程的基本概念 軟體的概念 軟體 程式 文件 軟體是能夠完成預定義功能的可執行的電腦程式和使程式正常執行所需要的資料,加讓描述程式的操作和文件。程式 適合計算機處理的語句序列 它的目的是啥呢?是為了解決某個特殊的問題 文件 開發活動的記錄 用於通訊和交流,開發過程的管理和執行階段的維護 軟體...

軟體工程學習筆記 軟體過程

軟體過程有3層含義 cmm將軟體過程改進分為以下5個成熟度級別 初始級 initial 可重複級 repeatable 已定義級 defined 已管理級 managed 優化級 optimized cmmi提供了兩種表示方法 階段式模型和連續式模型。1 階段式模型 階段式模型地結構類似於cmm,它...

軟體工程學習筆記一

軟體工程學習筆記一 我很小的時候就有夢想,想要當乙個極為優秀的程式設計師,因為覺得程式設計師非常的酷 非常帥,能操縱虛擬的世界,執行如此完美的邏輯,並造福他人,是一種高尚有趣的職業。現在這種嚮往,並沒有因為外界的許多因素而改變。最近開始學習軟體工程,其實較早的時候就自學過,有許多知識都忘了,現在再正...