软件工程--软件危机-生命周期-软件过程
文章目錄
- 軟件危機(jī)
- 問(wèn)題
- 現(xiàn)象
- 危機(jī)產(chǎn)生的原因
- 途徑
- 軟件
- 定義
- 特點(diǎn)
- 軟件工程方法學(xué)
- 軟件生命周期(過(guò)程模型)
- 軟件定義時(shí)期
- 軟件開(kāi)發(fā)時(shí)期
- 運(yùn)行維護(hù)
- 軟件過(guò)程
- 理想瀑布模型
- 實(shí)際瀑布模型
- 快速原型模型
- 增量模型
- 風(fēng)險(xiǎn)更大的增量模型
- 螺旋模型
- 噴泉模型
- Rational統(tǒng)一過(guò)程
- 問(wèn)題定義
軟件危機(jī)
軟件危機(jī)值在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。
問(wèn)題
1、如何開(kāi)發(fā)軟件,增長(zhǎng)需求
2、如何維護(hù)軟件
現(xiàn)象
- 對(duì)軟件開(kāi)發(fā)成本和進(jìn)度估計(jì)往往很不準(zhǔn)確
- 用戶對(duì)“已完成“的軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生
- 軟件產(chǎn)品的質(zhì)量往往靠不住
- 軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料
- 軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升
- 軟件開(kāi)發(fā)產(chǎn)率提高的速度遠(yuǎn)遠(yuǎn)比不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)
危機(jī)產(chǎn)生的原因
(1)軟件的本身特點(diǎn)
- 不同于硬件,管理和控制軟件開(kāi)發(fā)過(guò)程較為困難
- 軟件在運(yùn)行過(guò)程中不會(huì)因?yàn)槭褂脮r(shí)間過(guò)長(zhǎng)而被“用壞”,運(yùn)行時(shí)發(fā)現(xiàn)的錯(cuò)誤是在開(kāi)發(fā)時(shí)期未能檢測(cè)出來(lái)的錯(cuò)誤。
- 不同于程序,規(guī)模大,且復(fù)雜性隨程序規(guī)模的增加指數(shù)上升
(2)軟件開(kāi)發(fā)和維護(hù)的方法不正確:
- 忽視軟件需求分析
- 認(rèn)為軟件開(kāi)發(fā)就是寫(xiě)程序并設(shè)法使之運(yùn)行
- 輕視軟件維護(hù)
途徑
- 良好的組織管理措施
- 推廣使用在實(shí)踐中總結(jié)出來(lái)的軟件技術(shù)和方法并且調(diào)研探索更好的有效技術(shù)和方法
- 應(yīng)該開(kāi)發(fā)和使用更好的軟件工具
軟件
定義
軟件是程序、數(shù)據(jù)及文檔的完整集合
特點(diǎn)
- 軟件是一種邏輯實(shí)體而不是具體的物理實(shí)體
- List item
軟件工程方法學(xué)
3要素:方法、工具、過(guò)程
傳統(tǒng)方法學(xué):生命周期法
面向?qū)ο蠓椒▽W(xué):方法=對(duì)象+分類(lèi)+繼承+通過(guò)消息通訊------原因:當(dāng)軟件規(guī)模龐大或?qū)浖枨竽:鬃儠r(shí),采用傳統(tǒng)方法往往不成功
軟件生命周期(過(guò)程模型)
軟一個(gè)軟件從提出直到最終被廢棄的整個(gè)過(guò)程。
軟件定義時(shí)期
軟件開(kāi)發(fā)時(shí)期
運(yùn)行維護(hù)
軟件過(guò)程
通常用LC來(lái)描述軟件過(guò)程
理想瀑布模型
特點(diǎn)
階段間具有順序性和依賴性。必須等到前一個(gè)階段工作完成后才能開(kāi)始后一階段的工作;只有前一階段的工作正確后后一階段才能得到正確的結(jié)果。
推遲實(shí)現(xiàn)的觀點(diǎn):在編碼之前設(shè)置里系統(tǒng)分析與系統(tǒng)設(shè)計(jì)的階段
質(zhì)量保證的觀點(diǎn):每個(gè)階段都有文檔,每個(gè)階段結(jié)束前都要盡早發(fā)現(xiàn)問(wèn)題改造錯(cuò)誤
實(shí)際瀑布模型
實(shí)線:開(kāi)發(fā)過(guò)程 ; 虛線:維護(hù)過(guò)程
優(yōu)點(diǎn)
缺點(diǎn)
- 不適合需求變化,只能用戶需求不改變或很少改變的場(chǎng)合
- 最終才能看到可執(zhí)行系統(tǒng),風(fēng)險(xiǎn)較大
- 由文檔驅(qū)動(dòng),用戶只能通過(guò)文檔來(lái)了解產(chǎn)品,而不能滿足用戶的真正需求
快速原型模型
解釋:快速建立起來(lái)可以在計(jì)算機(jī)上運(yùn)行的程序,讓用戶試,用戶提出一堆建議,然后修改程序,如此反復(fù)。直到用戶滿意,寫(xiě)文檔。
優(yōu)點(diǎn)
不帶負(fù)反饋環(huán),軟件開(kāi)發(fā)基本上線性順序進(jìn)行----原因:原型系統(tǒng)通過(guò)與用戶交互而得到驗(yàn)證;
縮短了開(kāi)發(fā)周期,加快了工程進(jìn)度。
降低成本。
.
缺點(diǎn)
減少由于需求不明確而帶來(lái)的風(fēng)險(xiǎn)
不適合大型軟件系統(tǒng)適合小的
增量模型
適用增量開(kāi)發(fā)時(shí),把軟件產(chǎn)品作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、編碼、集成和測(cè)試。
軟件逐次交付
優(yōu)點(diǎn)
能在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品
逐步增加產(chǎn)品功能,可以使用戶有充裕的時(shí)間學(xué)習(xí)和適用新產(chǎn)品
缺點(diǎn)
將每個(gè)新的增量構(gòu)件集成到現(xiàn)有團(tuán)建體系結(jié)構(gòu)中時(shí),必須不破壞原來(lái)已經(jīng)開(kāi)發(fā)出的產(chǎn)品
軟件體系架構(gòu)非常重要,易于拓展
ATT
風(fēng)險(xiǎn)更大的增量模型
先完成一個(gè)系統(tǒng)子集的開(kāi)發(fā),再按同樣的開(kāi)發(fā)步驟增加功能(系統(tǒng)子集),如此遞增下去直至滿足全部的系統(tǒng)需求
風(fēng)險(xiǎn)在于:無(wú)法集成
螺旋模型
思想:使用原型及其他方法來(lái)盡量降低風(fēng)險(xiǎn),在每個(gè)階段前都加了風(fēng)險(xiǎn)分析過(guò)程的快速原型模型。
** 缺點(diǎn)**
優(yōu)點(diǎn)
螺旋線的每個(gè)周期 = 一個(gè)開(kāi)發(fā)階段
噴泉模型
面向?qū)ο?/strong>
軟件開(kāi)發(fā)過(guò)程自下而上周期的各階段是相互重疊和多次反復(fù)的,就像水噴上去又可以落下來(lái),類(lèi)似一個(gè)噴泉。
各個(gè)開(kāi)發(fā)階段沒(méi)有特定的次序要求,并且可以交互進(jìn)行。
優(yōu)點(diǎn)
噴泉模型不像瀑布模型那樣,需要分析活動(dòng)結(jié)束后才開(kāi)始設(shè)計(jì)活動(dòng),設(shè)計(jì)活動(dòng)結(jié)束后才開(kāi)始編碼活動(dòng)。該模型的各個(gè)階段沒(méi)有明顯的界限,開(kāi)發(fā)人員可以同步進(jìn)行開(kāi)發(fā)。其優(yōu)點(diǎn)是可以提高軟件項(xiàng)目開(kāi)發(fā)效率,節(jié)省開(kāi)發(fā)時(shí)間,適應(yīng)于面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。
缺點(diǎn)
由于噴泉模型在各個(gè)開(kāi)發(fā)階段是重疊的,因此在開(kāi)發(fā)過(guò)程中需要大量的開(kāi)發(fā)人員,因此不利于項(xiàng)目的管理。此外這種模型要求嚴(yán)格管理文檔,使得審核的難度加大,尤其是面對(duì)可能隨時(shí)加入各種信息、需求與資料的情況。
Rational統(tǒng)一過(guò)程
RUP軟件開(kāi)發(fā)
迭代是開(kāi)發(fā):每次迭代只考慮部分需求
使用基于構(gòu)件的體系結(jié)構(gòu)
管理需求:用戶的需求可能不斷發(fā)生變化
可視化建模
驗(yàn)證軟件質(zhì)量
控制軟件變更
將生命周期劃分成4個(gè)階段
敏捷過(guò)程和極限過(guò)程
極限編程屬于敏捷編程,有對(duì)變化和不確定性的更快速更敏捷的反應(yīng)特性,能在快速的同時(shí)保持可持續(xù)開(kāi)發(fā)的速度。
微軟過(guò)程
微軟過(guò)程是RUP的精簡(jiǎn)版本包含若干個(gè)生命周期的持續(xù)遞進(jìn)循環(huán),每個(gè)生命周期5各階段構(gòu)成;微軟過(guò)程是敏捷過(guò)程的一個(gè)擴(kuò)充版本,擴(kuò)充了每個(gè)生命周期的各個(gè)階段的具體工作流程
網(wǎng)構(gòu)化軟件過(guò)程
問(wèn)題定義
問(wèn)題指:軟件的最基本問(wèn)題
例如:
總結(jié)
以上是生活随笔為你收集整理的软件工程--软件危机-生命周期-软件过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hyingda是什么牌子
- 下一篇: 计算机体系结构--第一章1----体系结