北邮 复习 软件工程_软件工程的一些基本概念总结(北邮版本)
軟件工程概述
軟件的定義
軟件是計(jì)算機(jī)程序、規(guī)程、以及運(yùn)行計(jì)算機(jī)系統(tǒng)可能需要的相關(guān)文檔和數(shù)據(jù)
或者說 軟件是包括程序、數(shù)據(jù)和文檔的完整集合
軟件是一種具有抽象的邏輯實(shí)體
軟件的開發(fā)是一種邏輯思維成熟的過程,而無明顯的制造過程
軟件的分類
按照劃分方式的不同
系統(tǒng)軟件
應(yīng)用軟件
中間件軟件
或者
通用軟件
定制軟件
可配置軟件
軟件危機(jī)
是指由于落后的軟件生產(chǎn)方式無法適應(yīng)迅速增長(zhǎng)的計(jì)算機(jī)軟件需求
從而導(dǎo)致軟件開發(fā)過程中出現(xiàn)一系列嚴(yán)重問題的現(xiàn)象
原因
一方面是由于軟件本身存在著復(fù)雜性,另一方面是因?yàn)檐浖_發(fā)和維護(hù)所使用的方法不合理
軟件工程
三要素:方法 工具 過程
軟件聲明周期模型
瀑布模型
增量模型(對(duì)待需求不明確的項(xiàng)目)
演化模型(對(duì)待需求不明確的項(xiàng)目)
噴泉模型(面對(duì)對(duì)象)
螺旋模型(風(fēng)險(xiǎn)考慮 大型軟件開發(fā))
V模型和W模型(并沒有克服瀑布模型缺點(diǎn))
原形方法(能夠逐步明確用戶需求,適應(yīng)需求變化)
軟件需求分析
先行步驟
系統(tǒng)分析
可行性分析
需求建模
原則
問題的信息域必須表示和理解
軟件將完成的功能必須定義
軟件的行為必須表示
數(shù)據(jù)建模
功能和行為建模
面對(duì)對(duì)象需求分析方法
OOA/OOD
用例圖->系統(tǒng)順序圖
用例圖->領(lǐng)域模型
系統(tǒng)順序圖,領(lǐng)域模型->系統(tǒng)操作契約
領(lǐng)域建模
用例建模
用例圖
- 角色
- 基礎(chǔ)用例
- 包含用例
- 拓展用例
系統(tǒng)順序圖
結(jié)構(gòu)化需求分析方法
數(shù)據(jù)流圖+數(shù)據(jù)詞典
軟件設(shè)計(jì)的原則
模塊的獨(dú)立性
內(nèi)聚性,指模塊自身的屬性
內(nèi)聚類型(內(nèi)聚性由弱到強(qiáng))
巧合內(nèi)聚(語句復(fù)用)
邏輯內(nèi)聚(傳送子模塊控制參數(shù),進(jìn)而選擇功能)
時(shí)間內(nèi)聚
過程內(nèi)聚(舉例:判斷文件權(quán)限,執(zhí)行讀取)
通信內(nèi)聚(信息內(nèi)聚)(使用相同的數(shù)據(jù)緩存區(qū))
序列內(nèi)聚(一個(gè)子模塊的輸出是另一個(gè)的輸入)
功能內(nèi)聚
模塊的耦合性(耦合性由強(qiáng)到弱)
內(nèi)部耦合
公共耦合
外部耦合
控制耦合
標(biāo)記耦合
數(shù)據(jù)耦合
非直接耦合(由上級(jí)模塊進(jìn)行控制)
面對(duì)對(duì)象設(shè)計(jì)原則
單一指責(zé)原則
開閉原則
里氏替換原則
依賴倒置原則
接口隔離原則
組合/聚合復(fù)用原則
面對(duì)對(duì)象設(shè)計(jì)方法
模型層次化
控制器層
業(yè)務(wù)邏輯層
持久層
設(shè)計(jì)用例實(shí)現(xiàn)方案
結(jié)構(gòu)化設(shè)計(jì)方法
變換型數(shù)據(jù)流和變換型系統(tǒng)結(jié)構(gòu)
事務(wù)性數(shù)據(jù)流與事務(wù)型系統(tǒng)結(jié)構(gòu)圖
變換映射
由變換型數(shù)據(jù)流圖到系統(tǒng)初始結(jié)構(gòu)圖
事務(wù)映射
由數(shù)據(jù)流圖推導(dǎo)事務(wù)型系統(tǒng)結(jié)構(gòu)圖
變換-事務(wù)混合型的系統(tǒng)結(jié)構(gòu)圖
軟件實(shí)現(xiàn)
程序設(shè)計(jì)方法
結(jié)構(gòu)化程序設(shè)計(jì)方法
面對(duì)對(duì)象程序設(shè)計(jì)方法
程序設(shè)計(jì)風(fēng)格
源程序文檔化
數(shù)據(jù)說明
語句結(jié)構(gòu)
輸入和輸出
錯(cuò)誤處理
軟件測(cè)試
測(cè)試用例
測(cè)試目的
是為了發(fā)現(xiàn)錯(cuò)誤
系統(tǒng)測(cè)試步驟
單元測(cè)試
集成測(cè)試
確認(rèn)測(cè)試
系統(tǒng)測(cè)試
驗(yàn)收測(cè)試
測(cè)試用例設(shè)計(jì)方法
白盒測(cè)試
黑盒測(cè)試
軟件維護(hù)
改正性維護(hù)
適應(yīng)性維護(hù)
完善性維護(hù)
預(yù)防性維護(hù)
軟件項(xiàng)目管理
一些例題
1、 面向?qū)ο笤O(shè)計(jì)需要做哪些工作?這些工作對(duì)應(yīng)的成果模型是什么? (5 分)
面向?qū)ο笤O(shè)計(jì)主要包括三方面的工作:軟件體系結(jié)構(gòu)設(shè)計(jì)(1 分)、用例實(shí)現(xiàn)方
案設(shè)計(jì)(1 分)和用戶界面設(shè)計(jì)(1 分)。
成果:以 UML 包圖表示的軟件體系結(jié)構(gòu)(0.5 分)、以交互圖(或協(xié)作圖、或時(shí)
序圖)和類圖表示的用例實(shí)現(xiàn)(0.5 分)、針對(duì)復(fù)雜對(duì)象的狀態(tài)圖(0.5 分)、用以
描述流程化處理過程的活動(dòng)圖(0.5 分)
概要設(shè)計(jì):
1、 系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)設(shè)計(jì):基于 SSD 中每個(gè)系統(tǒng)事件對(duì)應(yīng)的交互圖(或
者序列圖或者協(xié)作圖都可以),以及針對(duì)具有多個(gè)方法對(duì)象的狀態(tài)
圖;(2 分)
2、 系統(tǒng)的靜態(tài)結(jié)構(gòu)設(shè)計(jì):基于用例的所有交互圖中的對(duì)象,得到的分
層結(jié)構(gòu)類圖;(2 分)
詳細(xì)設(shè)計(jì):
針對(duì)每個(gè)對(duì)象的方法使用活動(dòng)圖或者程序流程圖進(jìn)行的內(nèi)部邏輯設(shè)計(jì);
什么是模塊的耦合性?請(qǐng)列舉至少 3 種降低耦合性的方法
耦合性是模塊之間的相對(duì)獨(dú)立性(互相連接的緊密程度)的度量
方法:
-模塊間多傳輸數(shù)據(jù)信息 -降低接口復(fù)雜 -模塊的通信信息放入緩存區(qū)
3、UML 用模型來描述系統(tǒng)的結(jié)構(gòu)(靜態(tài)特征)以及行為(動(dòng)態(tài)特征),請(qǐng)
針對(duì)靜態(tài)和動(dòng)態(tài)兩類特征,每類至少列舉 2 種對(duì)應(yīng)的 UML 圖
靜態(tài):類圖,對(duì)象圖(類圖的實(shí)例化)
動(dòng)態(tài):順序圖,狀態(tài)圖,協(xié)作圖,活動(dòng)圖
留學(xué)韓國(guó)的小明新交一韓國(guó)女友如花,交往期間發(fā)生了如下事件:(1)小
明希望如花學(xué)會(huì)中華散打技能; (2)如花習(xí)武期間,去年整容的鼻子不幸塌陷,
需要重新修補(bǔ);(3)畢業(yè)后如花隨小明回北京,由于水土不服,如花臥病,經(jīng)
多次調(diào)理后康復(fù)并習(xí)慣中國(guó)生活; (4)如花學(xué)習(xí)更高深的九陽神功,重構(gòu)內(nèi)力
以增強(qiáng)體制。假設(shè)把如花比作軟件,請(qǐng)說明以上四類事件分別對(duì)應(yīng)于哪一類
軟件維護(hù)工作。
1. 完整性維護(hù)
2. 改正性維護(hù)
3. 適應(yīng)性維護(hù)
4. 預(yù)防性維護(hù)
請(qǐng)列舉出軟件生命周期中貫穿的軟件工程過程的六個(gè)基本活動(dòng)
1. 系統(tǒng)分析/可行性分析
2. 需求分析
3. 軟件設(shè)計(jì)
4. 程序編寫
5. 軟件測(cè)試
6. 運(yùn)行維護(hù)
什么是用例?對(duì)于用戶來說,為什么用例方法比傳統(tǒng)需求分析中的功能特性列表更有效?
用例是用來描述參與者使用系統(tǒng)完成目標(biāo)的一組成功場(chǎng)景和失敗場(chǎng)景的集合
總結(jié)
以上是生活随笔為你收集整理的北邮 复习 软件工程_软件工程的一些基本概念总结(北邮版本)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea快捷键生成返回类型_十三肝了2晚
- 下一篇: wince支持多线程编程吗_以前面试只问