九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
軟件工程背景知識及過程模型

一、背景知識:

軟件開發(fā)的基本過程:

需求定義→軟件設(shè)計→軟件實(shí)現(xiàn)→軟件測試→軟件維護(hù)

軟件的定義:

軟件=程序+數(shù)據(jù)+文檔

程序:可以按照設(shè)計好的功能性能要求執(zhí)行的指令序列

數(shù)據(jù):程序能正確處理信息的數(shù)據(jù)結(jié)構(gòu)

文檔:與程序的開發(fā)、維護(hù)、使用有關(guān)的圖文資料

軟件的特點(diǎn):

  1. 包含個人因素的大規(guī)模知識型工作
  2. 有工具輔助的軟件開發(fā)也尚未實(shí)現(xiàn)自動化(即無法像硬件加工一樣,機(jī)械組裝已有部件,軟件開發(fā)還未達(dá)到組裝已有模塊的程度)
  3. 對開發(fā)和運(yùn)行的計算機(jī)軟硬件環(huán)境具有依賴性
  4. 需求往往在變更,開發(fā)進(jìn)度難估算
  5. 軟件測試?yán)щy,覆蓋所有路徑的測試難實(shí)現(xiàn)。軟件測試只能證明軟件中有缺陷,不能證明軟件中沒有缺陷。
  6. 軟件不會損耗,(參考硬件的磨損和老化),軟件維護(hù)不再具有經(jīng)濟(jì)性時,軟件即被淘汰

 軟件危機(jī):

  • 1965年——1985年,20世紀(jì)60——80年代
  • 于1968年提出
  • 催生了軟件工程這一學(xué)科
  • 沒有化解軟件危機(jī)的靈丹妙藥,已知的技術(shù)和方法都是進(jìn)一步改進(jìn)

SWEBOK(軟件工程知識體系指南)

PDCA環(huán)(戴明環(huán)):

  

 

二、軟件過程:

以質(zhì)量為中心,以軟件工程,方法,工具為三要素。其中軟件過程是基礎(chǔ),是聯(lián)系各層的橋梁,工具為過程和方法提供支持。

 

 軟件過程的定義:軟件過程定義了軟件開發(fā)中的一系列活動,所以過程都具有下列活動:

  1. 溝通
  2. 建模
  3. 計劃
  4. 構(gòu)造
  5. 部署
  6. 項(xiàng)目管理(貫穿于以上所有活動)

軟件生命周期:

  1. 定義時期:問題定義,可行性研究,需求分析
  2. 開發(fā)時期:概要設(shè)計,詳細(xì)設(shè)計,編碼,測試
  3. 運(yùn)行/維護(hù)時期

軟件過程模型:

  • 模型不是過程的直接描述,而是過程的抽象??梢杂糜诮忉屲浖a(chǎn)品不同的開發(fā)方法。
  • 從項(xiàng)目需求定義到運(yùn)行維護(hù)為止,跨越整個生命周期的過程,活動和任務(wù)的結(jié)構(gòu)框架。
  • 也被稱為:軟件生命周期模型,軟件開發(fā)模型,軟件工程范型

 瀑布模型:

  • 20世紀(jì)80年代之前被廣泛使用,因此被稱為經(jīng)典的生命周期模型。
  • 線性模型:軟件開發(fā)過程與生命周期是一致的,規(guī)定了各項(xiàng)工程活動的自上而下,逐級下落的次序。
  • 以文檔為驅(qū)動

傳統(tǒng)的瀑布模型:

 

  • 各個階段都按順序執(zhí)行
  • 每個階段完成規(guī)定的文檔
  • 每個階段結(jié)束有一個驗(yàn)證環(huán)節(jié),只有通過驗(yàn)證才能進(jìn)入下一個階段
  1. 階段間具有順序性和依賴性:前一階段的輸出文檔就是后一階段的輸入文檔
  2. 推遲實(shí)現(xiàn)的觀點(diǎn)(重要思想):區(qū)分開邏輯設(shè)計和物理設(shè)計,推遲程序的物理實(shí)現(xiàn)
  3. 質(zhì)量保證的觀點(diǎn):每個階段必須完成規(guī)定的文檔,并在階段結(jié)束前進(jìn)行審核

實(shí)際的(帶反饋的)瀑布模型:

 

若后面的階段發(fā)現(xiàn)前面階段的錯誤,則返回前面階段進(jìn)行修改。

瀑布模型的優(yōu)缺點(diǎn):

  • 每個階段交出的作品都是經(jīng)過驗(yàn)證的,每個階段都有文檔
  • 能較好的與其它過程模型結(jié)合
  • 不夠靈活:下一階段開始前,當(dāng)前階段的結(jié)果需固定下來
  • 整體性太強(qiáng):分析階段出現(xiàn)任何失誤,交互用戶后才能發(fā)現(xiàn),增加了開發(fā)的風(fēng)險
  • 嚴(yán)格文檔驅(qū)動,較為繁瑣
  • 開發(fā)早期投入大量成本,難以應(yīng)對用戶需求變更

瀑布模型適用于:需求很明確且將來沒有太大改變的情況。大型項(xiàng)目中一些部分的開發(fā)。


演化模型(分為原型模型并行開發(fā)模型):

首先實(shí)現(xiàn)軟件最核心,最重要的功能,待用戶進(jìn)一步了解軟件后再實(shí)現(xiàn)細(xì)節(jié)。

相比瀑布模型能更高效地生產(chǎn)出符合要求的系統(tǒng),靈活面對客戶需求變更。

小型和中型系統(tǒng):演化模型

大型系統(tǒng):混合瀑布模型和演化模型(采用演化模型難以建立穩(wěn)定的系統(tǒng)架構(gòu),不利于團(tuán)隊工作整合)

原型模型:

快速建立起可以在計算機(jī)上運(yùn)行的程序,是最終產(chǎn)品的子集。

與用戶確定下原型以后,再開始完整的開發(fā)過程。

原型確定后,下面的開發(fā)過程基本不帶反饋。

原型模型的優(yōu)缺點(diǎn):

    • 有助于了解用戶的真正需求
    • 不會因?yàn)樾枨笠?guī)格說明文檔的錯誤進(jìn)行大規(guī)模返工
    • 開發(fā)人員在實(shí)現(xiàn)原型系統(tǒng)學(xué)到了東西,后續(xù)出錯率降低
    • 為了快速開發(fā)出原型,開發(fā)人員可能不會長遠(yuǎn)考慮,而降低質(zhì)量,放棄部分需求

并行開發(fā)模型(并發(fā)模型):

所有活動同時存在但是處于不同狀態(tài)。


 增量過程模型(分為增量模型RAD模型,螺旋模型):

非整體開發(fā)的模型,從部分需求出發(fā),建立一個不完整的系統(tǒng)——測試——添加增量。

增量模型:

增量:小而可用的軟件

  • 增量模型與原型模型的不同在于:每個增量都是可運(yùn)行的產(chǎn)品,能完成特定功能。
  • 每個增量的開發(fā)可以采用瀑布模型或快速原型模型。
  • 第一個增量通常是核心產(chǎn)品。
  • 在前面增量的基礎(chǔ)上開發(fā)后面的增量。
  • 一個增量部署后,進(jìn)入下一次迭代,直到出現(xiàn)最終產(chǎn)品。
  • XP極限編程:基于小增量的開發(fā)和交付

增量模型的優(yōu)缺點(diǎn):

  • 無需完整需求,只要一個增量包,開發(fā)即可進(jìn)行。
  • 項(xiàng)目初始階段無需大量人力資源,被認(rèn)可后才投入。
  • 不能在ddl前完成項(xiàng)目,核心增量產(chǎn)品也能交付。
  • 很難根據(jù)需求給出大小合適的增量。
  • 加入新增量不能破壞已開發(fā)出的產(chǎn)品。
  • 需要比瀑布和原型模型更精心的設(shè)計。

RAD(Rapid Application Development)快速應(yīng)用開發(fā)模型:

  • 強(qiáng)調(diào)短暫的開發(fā)周期,瀑布模型的“高速”變體
  •  主要用于信息系統(tǒng)的開發(fā)
  • 包括業(yè)務(wù)建模,數(shù)據(jù)建模,過程建模
  • 需要足夠的人力資源
  • 并非所有系統(tǒng)都適合,不能合理模塊化和技術(shù)風(fēng)險高的系統(tǒng)都不適合

螺旋模型:

結(jié)合了瀑布模型和原型模型,加入了兩種模型都沒有的風(fēng)險分析。

強(qiáng)調(diào)風(fēng)險管理:適用于大型系統(tǒng)的開發(fā)。

基本思想:使用原型及其它方法來盡量降低風(fēng)險。

理解為:每個階段都加入風(fēng)險分析快速原型模型

特點(diǎn):

  • 能應(yīng)對開發(fā)過程中的各種變化。
  • 僅適用于內(nèi)部項(xiàng)目,不能用于合同性的軟件開發(fā),因?yàn)檫^程中有風(fēng)險評估。
  • 風(fēng)險驅(qū)動:要求開發(fā)人員具有豐富的風(fēng)險評估經(jīng)驗(yàn)和專業(yè)知識。
  • 只適用于大型軟件的開發(fā)。

 基于構(gòu)件的模型:

  • 構(gòu)件(也稱組件):支持軟件重用(復(fù)用)Software Reuse
  • 以重用為導(dǎo)向,以大量可用的組件及一些集成框架為基礎(chǔ)。
  • 根據(jù)需求規(guī)格搜索可重用的組件,通常情況下沒有,則對組件加以修改或構(gòu)造新的組件,再將組件進(jìn)行開發(fā)和集成。

敏捷過程模型:

基本原理和開發(fā)過程的結(jié)合。

如何選擇過程模型?

  • 各種過程模型并不互相排斥,在開發(fā)中通常一起使用。
  • 軟件過程決定了軟件產(chǎn)品的質(zhì)量。
  • 可根據(jù)實(shí)際創(chuàng)造新的模型。

軟件開發(fā)中的兩種傾向:以產(chǎn)品為中心/以過程為中心(以過程為中心更能生產(chǎn)高質(zhì)量的產(chǎn)品)


 能力成熟度模型:

軟件過程成熟度:1.角色與職責(zé) 2.處理變更的方式 3.對發(fā)生問題的反應(yīng) 4.可信性 5.對工作人員的獎勵 6.預(yù)見性

CMM(Capibility Maturity Model):能力成熟度模型:

  • 最早提出時,它指的是軟件過程能力成熟度模型。
  • 按照成熟度劃分為5個等級。1級最低,5級最高。

SEI(Software Engineering Institute):軟件工程研究所(發(fā)布CMM,CMMI)

CMMI(Capibility Maturity Model Integration):能力成熟度模型集成

CMMI 1.2:當(dāng)前實(shí)施的有效版本

  • 將成熟度分為5個等級,只有達(dá)到某個等級后,才能進(jìn)入下一等級。
  • 只定義要達(dá)到什么目標(biāo),不定義如何達(dá)到。
  1. 初始級:依賴于有能力的人
  2. 可重復(fù)級:有基本的項(xiàng)目管理
  3. 已定義級:過程標(biāo)準(zhǔn)化
  4. 量化管理級:收集分析數(shù)據(jù),來支持決策。制定量化目標(biāo),以此作為管理過程的標(biāo)準(zhǔn)
  5. 優(yōu)化級:持續(xù)地改進(jìn)過程

過程域(Process Area PA):

CMMI每個等級都規(guī)定了過程域。即若干個值得重視的軟件過程。

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
軟件的生命周期與過程模型
軟件工程
第二章 軟件過程 第三章 軟件過程模型作業(yè)
常見的軟件開發(fā)模型
揭秘:詳解軟件開發(fā)的幾種模式,至今還沒有人完全理解!
溫故知新-軟件生存周期和過程模型
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服