CSDN花神部落格生涯之軟體工程重點(3)

2020-10-05 12:01:11

軟體工程學習過程(3)

軟體需求分析

軟體需求分析是整個系統開發的基礎
分析系統做什麼,而不是怎樣做,確定功能,建立軟體的邏輯模型

需求分析的任務

1.確定對系統的綜合需求

  • 功能雪球→指所開發軟體系統必須提供的服務 ,劃分出系統必須完成的所有功能
  • 效能需求→指所開發軟體系統技術效能指標,包括儲存容量,執行時間等
  • 環境需求 →所需要的軟,硬體
  • 介面要求→應用系統與他的環境通訊格式
  • 使用者介面需求 →人機互動方式,輸入輸出資料格式
  • 其他需求→可靠性,安全性,保密性。約束,可移植性,可維護性等需求

2.分析系統的資料需求
分析資料的資料通常用建立資料模型(實體聯絡圖(ER圖))的方法
3.建立軟體的邏輯結構
通常用資料流圖,資料字典,及處理演演算法等來描述目標系統的邏輯模型
4.編寫軟體需求規格說明書
一份技術合同,是測試驗收階段對軟體進行確認和驗收的基準,因此需求說明具有:準確性,一致性,清晰性,唯一性,完整性和可檢驗性
5.需求分析評審
目的是發現需求分析的錯誤和缺陷

需求分析的步驟

  • 需求獲取:調查研究
  • 需求提煉:分析建模
  • 需求描述:編寫SRS
  • 需求驗證

需求分析圖形工具

  • 層次方框圖
    由一系列多層次的樹形結構的矩形框組成,來描述資料的層次結構
  • 維納圖
    來表示資訊參差體系的圖形工具,可以描述樹形結構的資訊,可以指出一類資訊或一個資訊是重複出現的 重複和條件約束時證明軟體處理過程的基礎,特點:表面資訊的邏輯組織
  • IPO圖
    -輸入——處理——速出圖類似向量符號的空心箭頭清楚指出資料通訊情況

需求獲取的常用方法

👉客戶訪談(需求獲取)

  1. 正式訪談 →系統分析員提出一些可以自由回答的開發性問題
  2. 非正式訪談→系統分析將得出一些事先準備好的問題,進行交談
  3. 調查表→經仔細考慮寫出的書面的回答可能,比被存取著對問題的口頭回答更準確

👉 建立聯合分析小組+

👉問題分析和確認(求精)
稱為簡易的應用規格說明技術,即時討論並求精,由能匯出規格說明的具體步驟

👉快速建立軟體原型模型(建模)

(一) 需求分析的常用方法

1.功能分解方法*

2. 結構化分析方法*

面向資料流的需求分析方法→20世紀70年代末 E.Your don提出

核心思想

分解化簡問題
物理與邏輯表示分開
進行資料與邏輯抽象

結構化分析概述具體步驟:

👉1.發現需求

👉2.求精

👉3.建模

結構化分析模型(一個核心+三個模型)

資料字典-結構化分析模型的一個核心

描述軟體使用和產生的所有資料物件

資料字典定義方法

資料字典對四類元素定義:

  • 資料流
資料流的描述方式
 資料流名:
 	說明
  	資料流來源:介紹產生原因和結果
	資料流去向
 	資料流組成:資料結構
 	每個資料量流通量:資料量,流通量
  • 資料元素
資料元素的描述方式
資料元素名:
	型別:數位(離散值,連續值)還是,文字(編碼型別)
	長度:
	取值範圍:
	相關的資料元素及資料結構:
  • 資料儲存
資料儲存的描述方式
資料儲存名:
   簡述:存放的是什麼資料
   輸入資料:
   輸出資料:
   資料檔案的組成:資料結構
   儲存方式:順序,直接,關鍵碼
   存取頻率
  • 加工(處理)
處理的描述方式
處理名:
  處理編號:反映該處理的層次
  簡要描述:加工邏輯及功能簡述
  輸入資料流:
  輸出資料流:
  加工邏輯

資料字典的定義符號
定義資料方式:自頂向下逐層分解
由資料勻速組成資料的方式:
順序:以確定次序連線兩個或多個資料元素
選擇:從兩個或多個可能元素中選一個
重複:重複零次或多次
可選:一個資料元素可有可無

資料字典的使用符號

  • = : 表示定義為或等價於
  • +: 與 /連線
  • […|…] →可選任意一項 [a|b] a或b
  • m{…}n →對裡面內容可以重複使用 ,最少重複m次,最多重複n次
  • (…)對裡面內容可選可不選
  • " " 基本資料元素
  • 。。範圍→"1"…"9"範圍1~9

資料模型→→(實體聯絡圖)也就是 E-R圖表達

實體-關係圖 + 資料物件描述
描述資料物件間關係,圖中資料物件屬性用「資料物件描述」表達
資料模型組成內容:

  1. 資料物件:軟體必須理解的複合資訊
  2. 資料物件間關係:物件彼此間相互連線方式
  3. 屬性:定義資料物件性質

構成實體聯絡圖(E-R圖)的基本要素

  1. 實體型→矩形框(教師)
  2. 屬性→圓角矩形(姓名)
  3. 聯絡(關係)→菱性(教)
    → 1 :1聯絡
    → 1 :n聯絡
    → m :n聯絡

功能模型→→DFD表達

資料流圖 + 處理規格說明
圖中功能用「處理規格說明」表達
資料流圖表示系統邏輯模型,清晰的描述系統資料的流動和處理過程,沒有任何具體的物理元素,是非常好的通訊工具和軟體
資料liu

資料流圖符號:
正方形(立方體)→表示資料的源點或終點,一般指出現在資料流圖的頂層圖中
圓角矩形(圓形)→代表變換資料的處理
開口矩形(兩條平行橫線)→代表資料儲存
箭頭→資料流

資料流圖附加符號
在這裡插入圖片描述
資料流圖是軟體開發者從使用者的問題提取4中成分

1.源點和終點,可以是人,物體,系統

2.加工,要對加工進行編號,說的這個處理在層次分解中的位置,子圖中編號是父圖相應的處理邏輯的編號,子圖這種處理邏輯編號是由子圖號,小數點與區域性號組成例:2.1,2.2,2.3

3.資料流,是資料在系統內的運動方向

4.資料儲存,可以理解為寫檔案,查詢檔案

資料流圖的基本原則

  • 資料流圖中所有的符號必須是前面的四種符號和附加符號
  • 資料流圖的主圖(頂層)必須含有四種基本符號
  • 資料流圖的主圖的資料流必須封閉在外部實體之間 加工至少有一個輸入資料流和一個輸出資料流,反映加工來源和結果
  • 任何一個資料流子圖必須與它的父圖上的加工相對應,父圖幾個加工,就有幾個子圖,兩者的輸入資料流和輸出資料流必須一致,即所謂」平衡「
  • 圖上的每個元素都必須有名字(資料儲存的出/入資料流除外)
  • 畫資料流圖時,只考慮資料流的靜態關係,不考慮動態關係
  • 畫資料流圖時,只考慮常規狀態,不考慮異常狀態
  • 資料流圖只描述「做什麼」,不像程式流程圖一樣表示對資料加工的控制和細節
  • 不能期望一次完成,而是要經過各項反覆才能完成

分層資料流圖

為表達資料加工情況

  • 頂層資料流圖包含一個加工項
  • 中間層流圖:對其上層父圖的細化
  • 底層流圖:指的是加工項不再分解的資料流圖

資料流圖的用途

  1. 基本目的作為交流資訊的工具,供有關人員審查確認
  2. 作為分析和設計的工具,劃分不同的自動化邊界

價格邏輯的描述
也稱為小說明,是對資料流圖中每個加工所做的說明,指使用者對這個加工的輸出資料流和輸入資料流的邏輯關係

描述加工邏輯一般用:

1.結構化語言
自然語言+結構化形式,它可以使用順序,選擇,迴圈三種控制結構

2.判定表
適用加工邏輯比較複雜
在這裡插入圖片描述
3.判定樹
判定樹是判定表的圖形表示,比判定表更直觀,且易於理解和使用

行為模型→→狀態轉化圖

狀態轉換圖 + 控制規格說明
圖中軟體控制附加資訊用「控制規格說明」表達
軟體的行為模型:
狀態轉換圖

狀態,被觀察到的系統行為模式
在這裡插入圖片描述

事件:引起狀態轉換的外界事件抽象
箭頭上標事件名。後跟【條件】,當條件為真,箭頭事件才能轉換成功

行為:進入某狀態所作動作
狀態框內
do:行動名。

👉4.規格說明→ 書寫軟體需求規格說明,作為分析階段最終成果

👉5.複審→保證儘量無問題

3.資訊建模方法*

4.物件導向方法*

花神部落格生涯之C語言(3)結束了哦~
接下來會持續更新(⊙o⊙)!
在這裡插入圖片描述