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...