軟體工程筆記

2021-09-05 06:55:45 字數 2828 閱讀 5863

1模型

·瀑布模型

需求分析,規格說明,設計,編碼,綜合測試,維護

規範方法,嚴格規定每個階段提交的文件,要求每個階段必須經過驗證!相鄰環節會有檢驗

·快速原型模型

帶反饋環,基本上是線性順序進行

沒有檢驗環節,一開始就是快速原型

·增量模型

需求分析,規格說明,概要設計,針對每個構件,完成詳細設計,編碼和整合,經測試後交付給使用者

能較短時間內提交可完成部分工作的產品;可以使使用者有充裕的時間學習和適應新產品,同時不斷維護

·風險更大的增量模型:

規格說明,設計,編碼和整合,交付客戶

多個構件同時運作,一發而動全身

·螺旋模型

快速原型模型每個階段前都加上風險分析

噴泉模型:物件導向

2可行性研究

·分類:技術可行,經濟可行,操作可行,社會可行

·步驟:複查規模目標,研究目前正在使用的系統,匯出新系統的高層邏輯模型(資料流圖,資料字典),重新定義問題,匯出和評價供選擇的解法,推薦行動方案,草擬開發計畫,書寫文件提交審查

·系統流程圖(符號):矩形,平行四邊形,圓,下尖形,箭頭,其他

·資料流圖符號:正方形/體,圓角方形/圓

·資料字典:對資料流圖中包含的所有元素的定義的集合。

可行性大型究階段,資料流圖與資料字典共同構成系統的邏輯模型

資料流,資料元素(資料流分量),資料儲存,處理

3需求分析

·任務:確定系統綜合要求,分析系統資料要求,匯出系統的邏輯模型,修政系統開發計畫

ii分析系統資料要求:通過建立資料庫來分析,如資料字典,層次方框圖,warnier圖,並將資料結構化

iii匯出系統邏輯模型:包括完善資料流圖,實體-聯絡圖,狀態轉換圖,資料字典,主要的處理處法(ipo)圖

iiiii修正系統開發計畫

·與使用者溝通或取需求的方法

訪談,面向資料流自頂向下求精,簡易應用規格說明技術,快速建立軟體原型

·分析建模與規格說明

i分析建模:實體聯絡圖,資料流圖,狀態轉換圖

ii軟體需求規格說明:需求文件使用者,需求文件結構,需求描述(自然語言描述or結構化描述)

·實體-聯絡圖:資料物件,屬性,聯絡

·資料規範化:第一/二/三正規化

·狀態轉換圖:狀態,事件,符號

·其他圖形工具:層次方框圖,warnier圖,ipo圖

·驗證軟體需求

耦合由低到高:資料耦合,控制耦合,公用耦合,內容耦合

內聚由高到低:功能內聚,順序內聚,通訊內聚,過程內聚,時間內聚,邏輯內聚,偶然內聚

5總體設計

·設計過程

設想供選擇方案,選擇合理方案(系統流程圖,組成系統物理元素清單,成本/效益分析,實現這個系統的進度計畫),推薦最佳方案,功能分解,設計軟體結構,資料庫設計,制定測試計畫,書寫文件,審查和複審

·設計原理:模組化,抽象

·啟發式規則

·圖形工具

·面向資料流的設計方法:交換流與事務流

6詳細計畫

·結構程式設計:

i控制結構:函式結點,謂詞結點,匯點

ii三種基本控制結構:順序結構,選擇結構,迴圈結構

iii擴充兩種控制結構:多分支結構,until迴圈結構

·人機介面設計

·過程設計工具:程式流程圖,盒圖(n-s圖),pad圖,判定表

·面向資料結構設計方法

·程式複雜度的定量度量

7實現:編碼與測試

·黑盒測試:知道軟體應具有的功能

等價劃分,確定測試用例,邊界值分析,錯誤推測

·白盒測試:知道內部工作過程

語句覆蓋,判定覆蓋,條件覆蓋,判定/條件覆蓋,條件組合覆蓋,點覆蓋,邊覆蓋,路徑覆蓋

·步驟:模組/單元測試,子系統測試,系統測試,驗收測試,平行執行

i單元測試:介面,區域性資料,掃行路徑,出錯處理通路,邊界條件

ii整合測試:非漸增式&漸增式:自頂向下,自底向上,深度優先策略,寬度優先策略

iii回歸測試,確認測試,軟體配置複查

8維護交付:直接,並行,逐步

型別:改正性,適應性,完善性,預防性

過程:維護組織,維護報告,維護事件流,維護記錄,評價維護活動

9物件導向方法學引論

類,例項,訊息,方法,屬性,封裝,繼承,多型性,過載

uml標準建模語言:uml語義,uml表示法

用例圖,靜態圖(類圖,物件圖,包圖),行為圖,互動圖,實現圖

10物件導向分析

三個子模型:物件模型/動態模型/功能模型

五個層次:主題層/類與物件層,結構層,屬性層,服務層

11物件導向設計的準則

模組化,抽象,資訊隱蔽,弱耦合,強內聚,可重用

12物件導向實現

13軟體評價與管理

面試問題

如何從乙個需求落實到乙個系統設計

需求分析:整體目標,使用者需求,時間預算,各個功能模組

規格環境:裝置,軟體,介面

編碼測試:功能,使用者介面,效能,壓力,容量,配置—最後整合&維護

2、如何衡量兩個不同設計的好壞

按上面設計過程來說,需求清晰,高內聚低耦合,測試覆蓋完善

如何在各種限制(人時資)下選擇更合適的設計

提公升該設計的可拓展性

封裝好,高內聚低耦合,資料儲存結構設計易維護

總複習瀑布模型:階段間具有順序性和依賴性,推遲實現,質量保證,每一步都驗證

資料流圖:資料來源,終點,交換資料,資料儲存,資料流

實體-聯絡圖:資料物件,屬性,聯絡

狀態轉換圖:狀態,事件,符號

測試:黑盒,白盒,路徑,條件,判定,條件組合

uml:語義與表示法

事件跟綜圖:即簡化的uml順序圖

軟體工程筆記

初級階段 建立商業案例並確定專案邊界 生命週期目標里程碑 精華階段 分析問題領域,建立健全的體系結構 生命週期結構里程碑 建立階段 被開發並整合成產品,所有功能都被詳細測試 初始化功能里程碑 移交階段 基於使用者反饋做少量的調整 產品發布里程碑 每四個階段就產生乙個中間版本,中間版本再次經歷這四個階...

軟體工程筆記

a abc 時 python直譯器幹了兩件事情 1.在記憶體中建立來了乙個 abc 的字串 2.在記憶體中建立乙個名為a的變數,並把它指向 abc 也可以把乙個變數a賦值給另乙個變數b,這個操作實際上是吧變數b指向變數a所指向的資料,例如下面的 我們一行一行的執行 就可以看到發生什麼事 執行a ab...

軟體工程筆記

age 20 if age 18 print 你的年齡是 s age print age 5 if age 18 print 你的年齡是 s age print else print 你的年齡是 s age print 未 注意 不要少寫了冒號 age 16 if age 18 print adul...