《軟件工程》復(fù)習(xí)提綱

整理自教材、PPT以及坊間流傳的材料。

軟件工程概念

軟件生命周期模型

image
生命周期模型 長(zhǎng)處 短處
進(jìn)化樹模型 與現(xiàn)實(shí)世界軟件開發(fā)最接近的模型,與迭代-遞增模型等價(jià)
迭代-遞增生命周期模型 于現(xiàn)實(shí)世界軟件開發(fā)最接近的模型,蘊(yùn)含統(tǒng)一過程方法
編碼-修補(bǔ)生命周期模型 適用于不需要維護(hù)的小程序 不適合重要的程序
瀑布生命周期模型 紀(jì)律性強(qiáng)制的方法,文檔驅(qū)動(dòng) 支付的產(chǎn)品可能不符合客戶的要求
快速原型開發(fā)生命周期模型 確保交付的產(chǎn)品符合客戶的要求 還沒有證明無懈可擊
開源生命周期模型 少量實(shí)例周期工作中相當(dāng)好 實(shí)用性有限,通常不太起作用
敏捷過程 客戶的需求模糊時(shí)能很好地工作 似乎只適合小規(guī)模項(xiàng)目
同步-穩(wěn)定生命周期模型 能滿足未來用戶的要求,確保各組件能夠成功集成 除了微軟,沒有廣泛應(yīng)用
螺旋生命周期模型 風(fēng)險(xiǎn)驅(qū)動(dòng) 只能用于大型的內(nèi)部軟件產(chǎn)品,開發(fā)者必須精 通風(fēng)險(xiǎn)分析和風(fēng)險(xiǎn)排除

軟件過程

image

軟件生命周期的工作流

需求

image

軟件過程中統(tǒng)一過程的五個(gè)核心工作流和各階段:

  • 工作流:
  • 需求流:讓開發(fā)組織者確定客戶的需求。
  • 分析流:分析和提取需求,以獲得正確的開發(fā)軟件產(chǎn)品和易于維護(hù)它所必需的需求。
  • 設(shè)計(jì)流:細(xì)化分析流的制品,直至材料處于程序員可實(shí)現(xiàn)的形式。
  • 實(shí)現(xiàn)流:用選擇的實(shí)現(xiàn)語言實(shí)現(xiàn)目標(biāo)軟件產(chǎn)品。
  • 測(cè)試流:
    • 每個(gè)開發(fā)者和維護(hù)這確保自己的工作是正確的
    • 一旦軟件人員確信一個(gè)制品是正確的,就將它交給軟件質(zhì)量保證小組進(jìn)行獨(dú)立測(cè)試

階段:

  • 開始階段:(第一次遞增)目標(biāo)是決定是否值得開發(fā)目標(biāo)軟件產(chǎn)品。最主要的目標(biāo)是明確提出的軟件產(chǎn)品是否經(jīng)濟(jì)上可行。
  • 細(xì)化階段:(第二次遞增)目標(biāo)是細(xì)化最初的需求,細(xì)化體系結(jié)構(gòu),監(jiān)控風(fēng)險(xiǎn)和細(xì)化他們的屬性,細(xì)化商業(yè)案例,以及生成軟件項(xiàng)目管理計(jì)劃。主要是對(duì)前一階段工作的細(xì)化。
  • 構(gòu)建階段:(第三次遞增)目標(biāo)是產(chǎn)生軟件產(chǎn)品的第一個(gè)可工作版本。
  • 轉(zhuǎn)換階段:(第四次遞增)確??蛻舻男枨笄袑?shí)得到滿足。

面向?qū)ο蠓治?/h2>
image

類的種類:

  • 實(shí)體類:長(zhǎng)期存在的信息建模

  • 邊界類:軟件產(chǎn)品和他們之間的參與者的行為建模,邊界類通常和輸入輸出有關(guān)。例如,在基金產(chǎn)品中,需要打印基金投資列表和當(dāng)前所有抵押報(bào)表。

  • 控制類:復(fù)雜的計(jì)算和算法建模

抽取實(shí)體類

實(shí)體類抽取包括三個(gè)迭代和遞增完成的步驟:

  • 功能建模:提出所有用例的場(chǎng)景(場(chǎng)景是用例的一個(gè)實(shí)例)。

  • 實(shí)體類建模:提出所有實(shí)體類和它們的屬性,然后確定實(shí)體類之間的交互關(guān)系和交互行為,以類圖的形式提供這個(gè)信息。

  • 動(dòng)態(tài)建模:確定每個(gè)實(shí)體類或者子類的操作或?qū)λ麄兊牟僮鳎誀顟B(tài)圖的形式提供這個(gè)信息。

注:對(duì)于所有迭代和遞增的處理,這三個(gè)步驟不總是以這個(gè)順序進(jìn)行,一個(gè)模型中的變化通常引發(fā)其他兩個(gè)模型對(duì)應(yīng)的修改。

設(shè)計(jì)

image

面向操作設(shè)計(jì)

數(shù)據(jù)流分析

數(shù)據(jù)流分析(DFA)是一項(xiàng)得到高內(nèi)聚模塊的傳統(tǒng)設(shè)計(jì)技術(shù)。該技術(shù)的輸入時(shí)一個(gè)數(shù)據(jù)流圖,一旦完成了DFA,軟件設(shè)計(jì)者就有了關(guān)于產(chǎn)品的輸入和輸出的精確和完整的信息。

輸入的最高點(diǎn)(point of highest abstration of input):講輸入失去作為輸入的性質(zhì)并且簡(jiǎn)單的變成內(nèi)部產(chǎn)品操作的內(nèi)部數(shù)據(jù)的點(diǎn)。

輸出的最高點(diǎn):也就是數(shù)據(jù)流圖中輸出可以被識(shí)別的第一點(diǎn),而不是被識(shí)別為某種內(nèi)部數(shù)據(jù)。

兩個(gè)最高點(diǎn)講產(chǎn)品分解為三個(gè)模塊,輸入模塊、轉(zhuǎn)換模塊、輸出模塊

符合結(jié)構(gòu)化設(shè)計(jì)的目標(biāo)是高內(nèi)聚的同事還要低耦合。

事務(wù)分析

如何完成事務(wù)分析:

  • 設(shè)計(jì)有以下兩個(gè)組件的結(jié)構(gòu):分析器、分配器
  • 對(duì)于每個(gè)分組有關(guān)的操作,設(shè)計(jì)一個(gè)基本模塊,并根據(jù)需要例示多次

面向數(shù)據(jù)設(shè)計(jì)

基本原則:根據(jù)其運(yùn)行的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)產(chǎn)品。

面向?qū)ο笤O(shè)計(jì)

  • 完成類圖
  • 進(jìn)行詳細(xì)設(shè)計(jì)

實(shí)現(xiàn)

image

良好的編程實(shí)踐

  • 使用一致和有意義的變量名
  • 自文檔代碼
  • 使用參數(shù)
  • 嵌套if語句

編碼標(biāo)準(zhǔn)

代碼重用

集成

集成方式:

  • 實(shí)現(xiàn)然后集成:獨(dú)立的對(duì)每個(gè)代碼制品編寫代碼和測(cè)試
  • 自頂向下的集成
  • 自底向上的集成
  • 三明治
    • 并行:自頂向下的實(shí)現(xiàn)和集成邏輯制品,自底向上的實(shí)現(xiàn)和集成操作制品
    • 測(cè)試邏輯制品和操作制品之間的接口
方法 優(yōu)點(diǎn) 缺點(diǎn)
實(shí)現(xiàn)然后集成 沒有錯(cuò)誤隔離手段,主要涉及錯(cuò)誤發(fā)現(xiàn)遲,潛在可重用代碼制品不能被充分測(cè)試
自頂向下的集成 具有錯(cuò)誤隔離,主要涉及錯(cuò)誤發(fā)現(xiàn)早 潛在可重用代碼制品不能被充分測(cè)試
自底向上的集成 具有錯(cuò)誤隔離手段,潛在可重用代碼制品能被充分的測(cè)試 主要設(shè)計(jì)錯(cuò)誤發(fā)現(xiàn)遲
三明治集成 具有錯(cuò)誤隔離,主要設(shè)計(jì)錯(cuò)誤發(fā)現(xiàn)早,潛在可重用代碼制品測(cè)能夠被充分測(cè)試

測(cè)試

image

黑盒測(cè)試

  • 等價(jià)測(cè)試和邊界值分析:為了使發(fā)現(xiàn)錯(cuò)誤的可能性最大,一個(gè)高回報(bào)的技術(shù)是邊界值分析
  • 如何完成等價(jià)測(cè)試:
    • 對(duì)于范圍(L,U,選五個(gè)
    • 對(duì)于集合S,選兩個(gè)
    • 對(duì)于精確值P,選兩個(gè)
  • 功能測(cè)試:低層功能黑盒技術(shù)測(cè)試,高層功能玻璃盒測(cè)試

玻璃盒測(cè)試

  • 結(jié)構(gòu)測(cè)試:語句、分支和路徑覆蓋
    • 語句覆蓋,即運(yùn)行一系列的測(cè)試用例,在運(yùn)行期間每個(gè)語句至少執(zhí)行一次。
    • 分支覆蓋:運(yùn)行一些列測(cè)試,確保每個(gè)分支最少測(cè)試一次
  • 復(fù)雜性度量

模塊

一個(gè)或多個(gè)鄰接的程序語句的集合,它有一個(gè)名稱以便系統(tǒng)的其他部分調(diào)用它,并且最好具有自己專用的變量名集。

維護(hù)

  • 糾錯(cuò)性維護(hù):需要糾正錯(cuò)誤,包括分析錯(cuò)誤,設(shè)計(jì)缺陷,編碼錯(cuò)誤,文檔錯(cuò)誤以及其他任何錯(cuò)誤。
  • 完善性維護(hù):修改源代碼是為了提高產(chǎn)品的有效性,例如提高產(chǎn)品的可維護(hù)性。
  • 適應(yīng)性維護(hù):為了適應(yīng)產(chǎn)品運(yùn)行環(huán)境的變化需要對(duì)產(chǎn)品進(jìn)行修改。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容