软件工程期末总结
寫在前面
作者:夏日
博客地址:https://blog.csdn.net/zss192
文章主要對結構化分析和面向對象分析畫圖做了下總結并預測了幾個簡答題。
畫圖建議:由于畫圖題基本沒有標準答案,一定要看著像那么回事,無明顯錯誤
可結合這位不愿透漏姓名的大佬的總結:軟件工程期末概念復習
結構化分析(面向過程分析)
數據流圖
畫數據流圖步驟
- 第一步:畫系統的輸入和輸出(畫出頂層圖)
- 第二步:畫系統內部(0層圖)
- 第三步:畫加工內部
- 第四步:重復第3步,直至每個尚未分解的加工都足
夠簡單(即不必再分解)
例題1
資格和水平考試的考務處理系統—功能需求
1.對考生送來的報名單進行檢查
2.對合格的報名單編好準考證號后將準考證送給考生,并將匯總后的考生名單送給閱卷站
3.對閱卷站送來的成績清單進行檢查,并根據考試中心制訂的合格標準審定合格者
4.制作考生通知單送給考生
5.進行成績分類統計(按地區、年齡、文化程度、職業、考試級別等分類)和試題難度分析,產生統計分析表
畫頂層圖
- 頂層圖唯一的加工:軟件系統(考務處理系統)
- 用圓圈表示
- 確定源或宿:考生、閱卷站和考試中心
- 用方框表示
- 確定數據流:系統的輸入/輸出信息
- 用箭頭表示
由此可得出頂層圖
畫0層圖
- 確定加工(主要看動詞,大概有什么功能)
- 確定數據流
- 確定文件
- 確定源和宿(可畫可不畫,統一下考試不畫源和宿)
注意對子系統標序號,注意要有文件
畫1層圖
關注題目描述中的具體動詞,結合0層圖的輸入輸出,看看具體是怎么實現0層圖的功能的
考試報名1層圖
統計成績1層圖
系統結構圖
概要設計:將數據流圖映射為軟件系統結構圖。說明系統結構圖要根據數據流圖來畫。
下面是教材P168的兩個例子
實驗中例子
助記:方框帶圈箭頭畫結構
左輸入、右輸出、中間做處理
方框箭頭從上到下,數據流從最左到最右,中間既可上也可下
面向對象分析
用例描述
PPT模板
實驗中分配宿舍用例
助記:即這個用例:叫什么(用例名)、是什么(用例描述)
誰來參與(參與者)、怎么參與(基本路徑)、參與前要怎么樣(前置條件)、參與后又會怎么樣(后置條件)
出錯了怎么辦(其它路徑)
用例圖
助記:包含拓展用英語,特例小三角箭頭
1.PPT用例圖(第八九講-P32) 92頁還有個例子
2.實驗用例圖
助記:幾個小人一個框,圓圈里面放動作
類圖
1.實驗中分配宿舍類圖
抓住三個方面:界面是什么?方法是什么?用到了哪些數據?
2.PPT中開戶類圖(第八九講P86)
順序圖
助記:界面要倒"T",數據要落地,轉著圈的做動作
分配宿舍順序圖
助記:從左到右轉個圈,一步一序號,一步一動作
左人物、右界面、動作數據"亂序"放。去時實線來時虛
知識點
預測簡答題
1.什么是軟件?什么是軟件危機?
答:軟件:軟件=程序+文檔+數據
- 程序是按事先設計的功能和性能要求執行的指令序列
程序=算法+數據結構 - 數據是指程序初始化數據、測試數據、以及研發數據、維護數據等
- 文檔是與程序開發、維護和使用有關的圖文材料
軟件危機:指在軟件的開發和維護過程中所遇到的一系列嚴重問題。典型表現是開發成本高,周期長,質量差,滿足不了市場需求
2.什么是軟件工程?什么是軟件過程?
答:軟件工程:軟件工程是將系統化、規范化、可度量的方法應用于軟件開發、運行和維護過程,即將工程化應用于軟件中的方法的研究。是將計算機科學、管理科學等理論運用于指導軟件開發與維護的一門交叉學科。
軟件過程:是為了獲得高質量軟件所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟
3.軟件生命周期主要包括哪些階段?請簡要說明各階段的主要任務
答:
1、問題定義:要解決的問題是什么
2、可行性分析:對于上一階段的問題有行得通的解決辦法嗎
3、需求分析:目標系統必須做什么
4、概要設計:概括的說應該怎么實現這個系統,確定系統功能及模塊結構
5、詳細設計:具體怎么實現這個系統,確定每個模塊的算法和使用結構
6、編碼和單元測試:在前面階段的基礎上寫出正確的代碼并對每個模塊進行測試
7、綜合測試:通過各種測試和調試,發現系統可能存在的缺陷
8、運行維護:保證軟件正常運行
軟件生命周期:軟件產品從考慮其概念開始到交付使用,直至最終退役為止的整個過程
分三類則為:
-
軟件定義:確定待開發的軟件系統要做什么,又稱為系統分析。可進一步劃分為問題定義,可行性研究,需求分析3個階段
-
軟件開發:具體設計和實現軟件。分為概要設計,詳細設計,編碼和單元測試、綜合測試4個階段,前兩個統稱為系統設計,后兩個統稱為系統實現
-
運行維護:是根據軟件運行中的問題,對其進行修改,使系統能持久的滿足用戶需求
4.比較面向對象開發方法與結構化開發方法的異同?
答:結構化方法的最大特點是面向功能分解問題。但由于處理與數據是分離的,并且在設計階段與分析階段采用不同的模型。
-
優點是:簡單、實用,適合于瀑布模型,易于為開發者掌握,特別適合于數據處理領域中的應用。
-
缺點是:對于規模大、復雜的項目不太適應;難以解決軟件重用,難于適應需求變化,難以解決維護問題。
面向對象方法以最穩定的對象與類系統作為考慮問題的出發點,通過不斷反復、累增,逐步改進系統,從而更易獲得符合用戶需求、簡單可靠、適應性強的系統。面向對象方法強調對象結構,而不是程序結構,從而解決了抽象和重用問題,成為當今的主流模式。
5.什么是黑盒測試?什么是白盒測試?
答:黑盒測試:完全不考慮程序的內部結構和處理過程,只知道軟件產品應該具有的功能,通過測試檢驗每個功能是否都能正常使用。又稱為功能性測試或行為測試。
白盒測試:有時稱為透明盒測試,已知產品內部工作過程,通過測試檢驗產品內部動作是否按照產品規格說明的規定正常進行。
**靜態測試:**是指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。
**動態測試:**是指通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率和健壯性等性能。
6.說明軟件測試和調試的目的有何區別?
答:測試的目的是判斷和發現軟件是否有錯誤
調試的目的是定位軟件錯誤并糾正錯誤
7.分析軟件危機產生的主要原因有哪些?
答:(1)軟件日益復雜和龐大 (2)軟件開發管理困難和復雜 (3)軟件開發技術落后
(4)開發工具落后 (5)生產方式落后 (6)軟件開發費用不斷增加
助記:一個增加、倆復雜、仨落后
總結
- 上一篇: 什么是WAP PUSH?
- 下一篇: python 合并excel 自动更新_