軟體工程復習
題型
名詞解釋 20分
簡答題 30分(5*6)
軟體架構案例分析 50分
簡答題知識點
P3 軟體的定義
軟體是指令的集合,通過執行這些指令可以滿足預期的特性、功能和性能需求
資料結構,使得程式可以合理利用資訊
軟體描述資訊,以硬拷貝和虛擬形式存在,用來描述程式的操作和使用,
P5 遺留軟體
舊的系統、維護代價高且系統演化風險較高
P12 程序框架
定義了若干個框架活動,為實作完整的軟體工程程序建立了基礎
包括五個活動:溝通、策劃、建模、構建、部署
P30 瀑布模型
軟體工程經典生命周期,提出了一個系統的、順序的軟體開發方法,從用戶需求的規格說明開始,通過策劃、建模、構建和部署程序,最終提供完整的軟體支持,
由于每個任務嚴格依賴于上一步驟,可能導致開發進度處于停滯狀態

優點:
- 只需關注當前步驟
- 提供了檢查點
- 提供了一個模板,各個步驟有一個共同的模板
缺點:
- 階段劃分固定,增加了作業量
- 只有結束后用戶才能看到結果
- 無法適應用戶的需求改變
- 早期的錯誤只有到開發后期才能發現
P32 增量程序模型
增量模型交付一系列稱為增量版本,隨著每個版本的交付,逐步為用戶提供更多的功能

優點:
- 模塊化
- 降低整個系統的風險
- 靈活性高,按優先級開發
缺點:
- 要求系統可以被劃分
- 需要開放的架構,即新加入的部分對原來的主體是無侵入或少侵入的
- 容易變成邊做邊改,使軟體開發失去控制
P46 用自己話描述什么是敏捷
敏捷開發是一種以人為核心、迭代、循序漸進的開發方法,在敏捷開發中,軟體專案的構建被切分成多個子專案,各個子專案的成果都經過測驗,具備集成和可運行的特征,
換言之,就是把一個大專案分為多個相互聯系,但也可獨立運行的小專案,并分別完成,在此程序中軟體一直處于可使用狀態,
P49 極限編程程序(用自己的語言描述敏捷性?)
敏捷開發的核心是迭代開發(iterative development),敏捷一定是采用迭代開發的方式,迭代開發將一個大任務,分解成多次連續的開發,本質就是逐步改進,在每個迭代中使用增量開發,
策劃,評估用戶故事
設計,Keep It Simple
編碼,結對編程
測驗
P72 第七章用例圖
P96 需求建模有哪些模型
- 場景模型
- 面向類的模型
- 基于行為和模式的模型
- 資料模型
- 面向流的模型
P132 從需求模型到設計模型

- 資料/類設計,將類模型轉換為設計類的實作
- 體系結構設計,定義軟體主要結構化元素之間的關系
- 介面設計,描述系統之間如何進行通信
- 構件級設計,軟體構件的程序性描述
P134 指導良好設計演化的三個特征
- 設計應當實作所有包含在需求模型中的明確需求,而且必須滿足利益相關者期望的所有隱含需求
- 對于那些些編碼者和測驗者以及后續的軟體維護者而言,設計應當滿足可讀性、可理解性
- 設計應當提供軟體的全貌,從實作的角度對資料域、功能域和行為域進行說明
P157 體系結構風格的簡單分類
- 以資料為中心的體系結構
- 資料流體系結構
- 呼叫和回傳體系結構
- 面向物件體系結構
- 層次體系結構
P180 設計基于類的構件有哪些原則
- 開閉原則,模塊應該對外延有開放性
- 替換原則,子類可以替換他們的基類
- 依賴倒置原則,依賴于抽象而非具體實作
- 介面分離原則,多個客戶專用介面比一個通用介面好
- 發布復用等價性原則,復用的粒度就是發布的粒度
- 共同封裝原則,一同變更的類應該合在一起
- 共同復用原則,不能一起復用的類不能被分到一組
軟體架構部分
需求分析
識別角色,用例圖

類設計(一到兩個)、UML類圖

界面設計
介面函式
畫順序圖

資料建模(3個表)


轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/249891.html
標籤:其他
