![隨著計算機系統(tǒng)的發(fā)展_第1頁](http://file4.renrendoc.com/view/649c58094b4adbf643a16e8f01b150e1/649c58094b4adbf643a16e8f01b150e11.gif)
![隨著計算機系統(tǒng)的發(fā)展_第2頁](http://file4.renrendoc.com/view/649c58094b4adbf643a16e8f01b150e1/649c58094b4adbf643a16e8f01b150e12.gif)
![隨著計算機系統(tǒng)的發(fā)展_第3頁](http://file4.renrendoc.com/view/649c58094b4adbf643a16e8f01b150e1/649c58094b4adbf643a16e8f01b150e13.gif)
![隨著計算機系統(tǒng)的發(fā)展_第4頁](http://file4.renrendoc.com/view/649c58094b4adbf643a16e8f01b150e1/649c58094b4adbf643a16e8f01b150e14.gif)
![隨著計算機系統(tǒng)的發(fā)展_第5頁](http://file4.renrendoc.com/view/649c58094b4adbf643a16e8f01b150e1/649c58094b4adbf643a16e8f01b150e15.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
概述隨著計算機系統(tǒng)的發(fā)展,計算機的應用日益廣泛,計算機軟件的開發(fā)、維護工作顯得越來越重要。如何才能開發(fā)出用戶滿意的軟件;如何以較低的成本開發(fā)出高質量的軟件;怎樣使所開發(fā)的軟件在運行過程中容易維護,以延長軟件的使用期限;如何提高軟件開發(fā)、維護過程中的自動化程度,提高軟件開發(fā)效率;軟件工程如何管理等。這些就是軟件工程研究的問題。軟件工程是指導計算機軟件開發(fā)和維護的學科。軟件工程的目的是在規(guī)定的時間、規(guī)定的開發(fā)費用內,開發(fā)出滿足用戶需要的、質量合格的軟件產品。本章介紹軟件工程的發(fā)展史,軟件危機是如何形成和消除的,軟件工程的基本概念、內容及基本原理等。本章重點:軟件工程;軟件生命周期。1.1軟件工程的產生計算機系統(tǒng)的發(fā)展、軟件應用的日益廣泛和軟件危機的困擾促使了軟件工程的產生和發(fā)展。軟件工程發(fā)展史自從20世紀40年代電子計算機問世以來,計算機軟件隨著計算機硬件的發(fā)展而逐步發(fā)展起來,軟件和硬件一起構成計算機系統(tǒng)。一開始只有程序的概念,后來才出現(xiàn)軟件的概念。當軟件需求量大大增加后,人們把軟件視為產品,確定了軟件生產的各個階段必須完成的有關計算機程序的功能、設計和使用的文字或圖形資料,這些資料稱為“文檔”。軟件是指計算機程序及其有關的數(shù)據(jù)和文檔。隨著計算機系統(tǒng)的發(fā)展,軟件的生產大體經歷了程序設計、軟件、軟件工程、第四代技術等階段。在此過程中,軟件危機產生并越來越嚴重,因而逐步形成了研究如何消除軟件危機,如何合理地開發(fā)和維護軟件的學科——軟件工程學。1.程序設計階段20世紀40年代中期到20世紀60年代中期,電子計算機價格昂貴、運算速度低、存儲量小。計算機程序是描述計算任務的處理對象和處理規(guī)則。早期的程序規(guī)模小,程序往往是個人設計、自己使用。程序設計通常要注意如何節(jié)省存儲單元、提高運算速度,除了程序清單之外,沒有其他任何文檔資料。2.“軟件=程序+文檔”階段20世紀60年代中期到20世紀70年代中期,集成電路計算機的運算速度和內存容量大大提高。隨著程序的增加,人們把程序區(qū)分為系統(tǒng)程序和應用程序,并把它們稱為軟件。計算機軟件的應用范圍更加廣泛,當軟件需求量大大增加后,許多用戶去“軟件作坊”購買軟件。軟件產品交付給用戶使用之后,為了糾正錯誤或適應用戶需求的改變對軟件進行的修改,稱為軟件維護(softwaremaintenance)。此時,由于在軟件開發(fā)過程中很少考慮到它們的維護問題,軟件維護的費用以驚人的速度增長,并且不能及時滿足用戶的需求,質量也得不到保證。所謂的“軟件危機”由此開始。人們逐漸重視軟件的“可維護性”問題,軟件開發(fā)開始采用結構化程序設計技術,并規(guī)定軟件開發(fā)時必須書寫各種規(guī)格書、說明書、用戶手冊等文檔。1968年北大西洋公約組織(NATO)的計算機科學家在聯(lián)邦德國召開國際會議,討論軟件危機問題,正式提出了“軟件工程”(softwareengineering)的術語。從此一門新的工程學科誕生了。惱3.茫軟件工程階復段宜20世紀7臟0年代中期趣到20世紀棉90年代,倉大規(guī)模集成此電路計算機榴的功能和質階量不斷提高擔,個人計算取機已經成為圈大眾化商品溝,計算機應西用不斷地擴攤大。軟件開瓣發(fā)生產率提樸高的速度遠態(tài)遠跟不上計焦算機應用迅繩速普及深入振的速度,軟賣件產品供不上應求,軟件好危機日益嚴裹重。為了維礎護軟件需要押耗費大量的倦成本。美國糞當時的統(tǒng)計吸數(shù)據(jù)表明,有對計算機軟幕件的投資占陷計算機軟件因、硬件總投未資的70%蘭,到198蜂5年時軟件暴成本大約占市總成本的9脹0捐%戀。為了對付朝不斷增長的鐘軟件危機,攝軟件工程學耍把軟件作為伍一種產品進砍行批量生產眠,運用工程估學的基本原泥理和方法來讓組織和管理預軟件生產,渴以保證軟件播產品的質量灘,提高軟件瘡產品的生產胖率。軟件生溪產使用數(shù)據(jù)簡庫、軟件開貫發(fā)工具、開犁發(fā)環(huán)境等,晝軟件開發(fā)技雕術有了很大銷的進步,開閉始采用工程莊化開發(fā)方法擠、標準和規(guī)斃范,以及面棟向對象技術財?shù)?。?.任第跑四代技術階惰段鋤計算機系統(tǒng)龜發(fā)展的第四雖階段不再是摔單臺的計算蔬機和計算機筒程序,而是爛面向計算機箱和軟件的綜蓄合影響。復遮雜的操作系曠統(tǒng)控制的強矮大的桌面系饞統(tǒng),以及連謎接局域網和栽因特網、高程帶寬的數(shù)字末通信與先進型的應用軟件罵相互配合,澇產生了綜合洗的效果。計頑算機體系結吐構從主機環(huán)膨境轉變?yōu)榉纸悴际降目蛻裟銠C/服務器餐環(huán)境。表軟件開發(fā)的鎮(zhèn)第四代技術受有了新的發(fā)盞展:計算機運輔助軟件工良程(Com遮puter騰Aide申dSof誦tware績Engi愚neeri保ng,CA蝕SE)將工紋具和代碼生伐成器結合起沃來,為許多陰軟件系統(tǒng)提滴供了可靠的謹解決方案;肌面向對象技淡術已在許多動領域迅速取尤代了傳統(tǒng)的思軟件開發(fā)方取法;專家系攝統(tǒng)和人工智績能軟件有了慌實際應用;驗人工神經網亦絡軟件展示停了信息處理瞧的美好前景嗓;并行計算盞技術、網絡碑計算機、虛供擬現(xiàn)實技術虧、多媒體技晌術和現(xiàn)代通插信技術使人很們開始采用配和原來完全趕不同的方法藏進行工作。葬此外,光計紫算機、化學歲計算機、生勸物計算機和宅量子計算機贊等新一代計魂算機的研制椒發(fā)展,必將邪給軟件工程趟技術帶來一釣場革命。襯臘軟件危感機遺軟件危機是蝶指在計算機鋪軟件開發(fā)和線維護時所遇延到的一系列瓶問題。軟件截危機主要包動含兩方面的壘問題:一是就如何開發(fā)軟撒件以滿足社桌會對軟件日胳益增長的需黎求,二是如召何維護數(shù)量舍不斷增長的方已有軟件。姨本節(jié)研究軟拒件危機產生梨的原因、主炒要表現(xiàn)形式焰以及解決的曉途徑。問1.奏軟件危機產學生的原因歪軟件危機產直生的原因與啞軟件的特點每有關,也與排軟件開發(fā)的懶方式、方法叮、技術以及轉軟件開發(fā)人荒員本身有關老。告(1)軟件朱是計算機系劉統(tǒng)中的邏輯湖部件,軟件鞠產品往往規(guī)位模龐大,給淺軟件的開發(fā)創(chuàng)和維護帶來填客觀的困難鍋。互(2)軟件切一般要使用晃5~10年駛,在這段時車間里,很可庫能出現(xiàn)開發(fā)螺時沒有預料切到的問題,站如系統(tǒng)運行租的硬件、軟飽件環(huán)境發(fā)生懸變化,系統(tǒng)壓需求變化等罪,需要及時車地維護軟件俊,使軟件可巖以繼續(xù)使用牙。重(3)軟件是開發(fā)技術落喪后,生產方撞式和開發(fā)工衡具落后。俯(4)軟件揚開發(fā)人員忽街視軟件需求會分析的重要謊性,輕視軟映件維護,也孔是造成軟件驢危機的原因匆。剛2.決軟件危機主低要表現(xiàn)形式蜓(1)軟件醋發(fā)展速度跟窄不上硬件的融發(fā)展和用戶畢的需求。計都算機硬件成街本逐年下降始,軟件應用蘿日趨廣泛,蒸軟件產品概“贊供不應求瑞”戲,與硬件成拔本相比,軟鞋件成本越來績越高。賠(2)軟件造成本高,開映發(fā)進度不能薯預先估計,芒用戶不滿意糞。由于軟件移應用范圍越澇來越廣,很劇多應用領域蜂往往是軟件犯開發(fā)者不熟彩悉的,加之澤開發(fā)人員與哀用戶之間信輝息交流不夠報,導致軟件槽產品不符合燙要求,不能御如期完成。做因而,軟件河開發(fā)成本和碰進度都與原綁先的估計相慕差太大,引紀起用戶不滿她。套(3)軟件返產品質量差戶,可靠性得誕不到保證。抱軟件質量保碰證技術沒有須應用到軟件棋開發(fā)的全過茅程,導致軟峽件產品質量秒問題頻頻發(fā)課生。凡(4)軟件局產品可維護低性差。軟件趴設計時不注叢意程序的可衛(wèi)讀性,不重各視程序的可去維護性,程疲序中存在的五錯誤很難改尋正。因此軟舍件需求發(fā)生鴨變化時,維突護相當困難解。偷(5)軟件兆沒有合適的擁文檔資料。杯軟件開發(fā)時把文檔資料不率全或文檔與刊軟件不一致撤,會引起用垮戶不滿,同楊時也會給軟龍件維護帶來慰很大的困難勵。蹦3.農解決軟件危舞機的途徑羞目前,計算弦機的體系結云構在硬件上燃是馮劣·酸諾依曼計算塘機。硬件的齡基本功能是父做簡單的運僑算與邏輯判賠斷,主要還羨是適用于數(shù)畜值計算。隨饞著計算機應舒用的日益廣態(tài)泛,許多企旺事業(yè)單位8脂0%以上的重計算機用于咽管理方面。厲管理方面大乞多為非數(shù)值盲計算問題,濤需要設計計胸算機軟件來憲進行處理,渡因而可能會撕使軟件變得遮復雜、龐大革,從而導致邊軟件危機的議產生。要解葡決軟件危機沙問題,需要曾采用以下措諒施:鞏(1)使用滾好的軟件開施發(fā)技術和方默法。法(2)使用唉好的軟件開沈發(fā)工具,提此高軟件生產姿率。把(3)有良掘好的組織、吹嚴密的管理招,各類人員饞相互配合共失同完成任務駝。烘為了解決軟放件危機,既榴要有技術措丘施(好的方雙法和工具)炎,也要有組著織管理措施附。軟件工程鞋正是從技術站和管理兩方萬面來研究如隙何更好地開益發(fā)和維護計愧算機軟件的社。匆1.2幟軟件工嘴程途學劍逐什么是蝴軟件還軟件是計算抖機程序及其測有關的數(shù)據(jù)級和文檔的完渣整集合。桌其中,計算捉機程序是能莖夠完成預定效功能的可執(zhí)恐行的指令序迫列;數(shù)據(jù)是劣程序能適當隔處理的信息械,具有適當兆的數(shù)據(jù)結構俯;軟件文檔袋是開發(fā)、使退用和維護程籠序所需要的夜圖文資料。栗軟件文檔(娃softw炊ared椒ocume環(huán)ntati趙on)是以與人們可讀的雄形式出現(xiàn)的狼技術數(shù)據(jù)和豬信息。文檔先描述或規(guī)定躺軟件的設計攝細節(jié),說明威軟件具備的棕能力,或為口使用該軟件據(jù)以便從軟件婦系統(tǒng)得到所且期望的結果臺提供操作指貪令。杜B.Bo活ehm指出直:揚“第軟件是程序考以及對其進壤行開發(fā)、使膚用和維護所綿需要的所有斜文檔。底”串特別當軟件須成為商品時孩,文檔是必抖不可少的;磁沒有文檔,撓僅有程序是培不能稱為軟字件產品的。桶告什么是特軟件工程碗軟件工程是存計算機科學玩中的一個重知要分支。按復照中華人民件共和國國家咽標準嘴G饅B/T香11457林—凳1995《肌軟件工程術員語》的定義燃:軟件工程抹是軟件開發(fā)沒、運行、維誰護和引退的席系統(tǒng)方法。廁因而,軟件狐工程是指導來計算機軟件藥開發(fā)和維護擾的工程學科這。軟件工程南采用工程的耍概念、原理冷、技術和方癥法來開發(fā)與線維護軟件。尋軟件工程的千目標是實現(xiàn)習軟件的優(yōu)質疑高產搞,軟件工程位的目的是在端規(guī)定的時間成、規(guī)定的開心發(fā)費用內,雙開發(fā)出滿足持用戶需求的輕、高質量的謊軟件產品。穗制軟件工焰程學的內容去軟件工程學文的主要內容鐘是軟件開發(fā)沙技術和軟件鼻工程管理。傾軟件開發(fā)技緩術包含軟件服工程方法學孤、軟件工具用和軟件開發(fā)東環(huán)境;軟件餅工程管理學呈包含軟件工仇程經濟學和其軟件管理學惹?;?.錢軟件工程方棄法學吧最初,程序窮設計是個人秘進行的,只京注意如何節(jié)決省存儲單元貌、提高運算羨速度。以后工,興起了結粗構程序設計烘,人們采用邀結構化的方綁法來編寫程供序。結構程拍序設計只有滿順序、條件摘分支和循環(huán)鎮(zhèn)這三種基本妙結構。這樣遺不僅改善了請程序的清晰侮度,而且能雪提高軟件的陵可靠性和軟軋件生產率。民后來,人們戰(zhàn)逐步認識到觀編寫程序僅夜是軟件開發(fā)搏過程中的一起個環(huán)節(jié),在怕典型的軟件款開發(fā)工作中由,編寫程序甚所需的工作所量只占軟件要開發(fā)全部工販作量的孤10%腎~確20%隙,軟件開發(fā)烘工作應包括葬需求分析、母軟件設計、亭編寫程序等劣幾個階段,需于是形成了劣“宗結構化分析堡”綢、帳“脾結構化設計逼”花、面向數(shù)據(jù)武結構的Ja宋ckson厲方法等傳統(tǒng)伶軟件開發(fā)方攝法。之后,檢20度世紀討80廊年代廣泛應肺用了面向對煌象設計方法定。嶼軟件工程方陰法學是編制恐軟件的系統(tǒng)襯方法,它確通定軟件開發(fā)上的各個階段抄,規(guī)定每一急階段的活動茄、產品、驗培收的步驟和貼完成準則。踏軟件工程方妥法學有三個金要素,包括角方法、工具茂和過程。儉方法:完成嫁軟件開發(fā)任誼務的技術方柏法。葬工具:為方辣法的運用提尊供自動或半距自動的軟件灣支撐環(huán)境。賽過程:規(guī)定鄉(xiāng)了完成任務躺的工作階段農、工作內容慨、產品、驗丑收的步驟和匙完成準則。硬各種軟件工千程方法的適桑用范圍不盡植相同。目前逢使用得最廣頁泛的軟件工拾程方法學可組以分為傳統(tǒng)巨方法學和面比向對象方法繭學兩類。桿(1)傳統(tǒng)你方法學咱傳統(tǒng)方法學瓶采用結構化評技術,包括撈結構化分析挨、結構化設營計和結構化陪實現(xiàn),來完醬成軟件開發(fā)悔任務。傳統(tǒng)常方法把軟件撈開發(fā)工作劃磁分成若干個就階段,每個番階段相對獨地立,也比較手簡單,順序抵完成各階段狠的任務;每溉個階段的開叔始和結束都旱有嚴格的標嗓準;每個階戒段結束時要亦進行嚴格的秧技術審查和卻管理復審。滋用傳統(tǒng)方法播學開發(fā)軟件狡,首先確定盜軟件功能,盲再對功能進搬行分解,確葡定怎樣開發(fā)飲軟件,然后懂實現(xiàn)軟件功補能。傳統(tǒng)方欲法提高了軟夜件的可維護稱性,提高了蟲軟件開發(fā)的貪成功率,軟鵝件生產率也絲明顯提高。富傳統(tǒng)方法學灣歷史悠久,吉為廣大軟件盲開發(fā)人員所父熟知,在開換發(fā)某些軟件吼時十分有效敢。捕傳統(tǒng)方法可來以再分為面天向數(shù)據(jù)流設只計方法和面多向數(shù)據(jù)結構植設計方法。純(2)面向止對象方法學炭面向對象方漸法學是在傳父統(tǒng)方法學的燃基礎上發(fā)展憂起來的,把榜對象作為數(shù)賺據(jù)和對數(shù)據(jù)輕的操作相結伶合的軟件構冬件,用對象峽分解取代了底傳統(tǒng)方法的絞功能分解。鋸該方法把所介有對象都劃兼分為類,把尖若干個相關角的類組織成倚具有層次結占構的系統(tǒng),檢下層的子類沃繼承上層的墓父類所具有挪的數(shù)據(jù)和操吊作,而對象傘與對象之間據(jù)通過發(fā)送消左息相互聯(lián)系立。鉗面向對象方段法學的要素趴是對象、類貧、繼承以及資消息通信。抱可以用下列誕方程來概括堵:辣面向對象央裕=柿好對象過頁+副駱類追頂+到沈繼承飾雞+枝星消息通信哨面向對象方母法學是多次薄反復、迭代啦開發(fā)的過程冰。面向對象勸方法在分析失和設計時使系用相同的概墾念和相同的創(chuàng)表示方法,隨兩個階段之狼間沒有明顯良的界限。最燙終產品是由弓許多基本獨幅立的對象組邊成的,這些炊對象具有簡似單、易于理錯解、易于開插發(fā)、易于維因護的特點,漿并且具有可公重用性。慢本書既介紹膀傳統(tǒng)方法學違,使讀者掌諸握軟件開發(fā)茅的基本步驟貼、方法和文況檔書寫規(guī)范塞,也介紹面眾向對象方法轎學。在實際滋工作中,軟轉件開發(fā)人員窗可以根據(jù)具槍體情況,選啦擇不同的軟連件開發(fā)方法熱,也可將不坑同的方法結悶合起來,揚透長避短,在墻提高軟件開悶發(fā)效率的同臉時,提高軟怕件的質量。獲2.僻軟件工具舞軟件工具(方softw甲aret晴ools)庭是指為了支儉持計算機軟香件的開發(fā)和鑼維護而研制年的程序系統(tǒng)昌。使用軟件襖工具的目的亭是提高軟件軋設計的質量蒼和軟件生產嫌效率,降低葵軟件開發(fā)、侍維護的成本鍬。鐵軟件工具用痕于軟件開發(fā)配的整個過程蛛。例如,需漿求分析工具微用類生成需蛾求說明;設峽計階段需要徑使用編輯程槳序、編譯程疫序、連接程丈序,有的軟喬件還能自動株生成程序;恨在測試階段毅可使用排錯董程序、跟蹤波程序、靜態(tài)溝分析工具和赴監(jiān)視工具等螞;軟件維護喉階段用到版抱本管理、文低檔分析工具虹等;軟件管范理方面也有噴許多軟件工緩具。軟件開忠發(fā)人員在軟少件生產的各趟個階段可根碼據(jù)不同的需景要,選擇合級適的工具使漆用。目前,椅軟件工具發(fā)貼展迅速,許姐多用于軟件猶分析和設計騰的工具正在香建立,其目項標是實現(xiàn)軟她件生產各階其段的自動化該。恒3.果軟件開發(fā)環(huán)肉境月軟件開發(fā)方賢法和軟件工助具是軟件開庭發(fā)的兩大支燭柱,它們之蒸間密切相關喚。軟件開發(fā)烏方法提出了鎮(zhèn)明確的工作凈步驟和標準丈的文檔格式伍,這是設計挖軟件工具的售基礎,而軟燦件工具的實慧現(xiàn)又將促進伐軟件開發(fā)方牽法的推廣和祝發(fā)展。姜軟件開發(fā)環(huán)燃境是方法和胳工具的結合岸。在198勇5年第八屆奏國際軟件工即程會議上,較關于鋒“驢軟件開發(fā)環(huán)賴境悼”嘆的定義是:坡“那軟件開發(fā)環(huán)唇境是相關的弱一組軟件工繡具集合,它副支持一定的辟軟件開發(fā)方燕法或按照一盟定的軟件開海發(fā)模型組織紋而成臘”敞。燦軟件開發(fā)環(huán)稅境的設計目更標是提高軟移件生產率和駱改善軟件質匯量。本書將告在后續(xù)章節(jié)矩介紹一些常本用的軟件開回發(fā)方法、軟摟件工具及軟汪件開發(fā)環(huán)境蠻。歪計算機輔助束軟件工程(秧Compu為terA烤ided崖Softw松areE耀ngine塌ering艘,CASE狼)是一組工纖具和方法的憐集合,可以罰輔助軟件生堤命周期各階無段進行的軟征件開發(fā)活動餐。精CASE劃是多年來在院軟件工程管帳理、軟件開幸發(fā)方法、軟矩件開發(fā)環(huán)境好和軟件工具褲等方面研究咐和發(fā)展的產策物。CAS惹E吸收了細CAD楚(計算機輔解助設計)、葬軟件工程、壩操作系統(tǒng)、跳數(shù)據(jù)庫、網確絡和許多其澤他計算機領需域的原理和倦技術。因而閥,信CASE胸領域是一個岡應用、集成美和綜合的領扭域。其中,漏軟件工具不務是對任何軟哨件開發(fā)方法首的取代,而賺是對方法的俯輔助,它旨當在提高軟件軟開發(fā)的效率屑和軟件產品掩的質量。處4.蛋軟件工程管羨理階軟件工程管毫理學包含軟著件工程經濟秀學和軟件管吳理學。本書梨只介紹有關吊軟件工程管宇理的內容,棄即對軟件開枯發(fā)各階段的新活動進行管牽理。軟件工格程管理的目挖的是按預定她的時間和費百用,成功地廳生產軟件產忙品。軟件工游程管理的任制務是有效地儲組織人員,垮按照適當?shù)难丶夹g、方法皂,利用好的武工具來完成鋸預定的軟件盯項目。祝軟件工程管玩理的內容包仰括軟件費用紫管理、人員根組織、工程詠計劃管理、北軟件配置管棋理等。怨(溪1鐮)費用管理午一般來講,呈開發(fā)一個軟能件是一種投姜資,人們總引是期望將來唐獲得較大的前經濟效益。槽從經濟角度捕分析,開發(fā)誘一個軟件系螞統(tǒng)是否劃算曠,是軟件使四用單位的負課責人決定是嗓否開發(fā)這個憂項目的主要扒依據(jù),要從傲軟件開發(fā)成朵本、運行費邀用、經濟效泥益等方面來積估算整個系隸統(tǒng)的投資和哪回報情況。對軟件開發(fā)成贏本主要包含邊開發(fā)人員的坦工資報酬,擋以及開發(fā)階屑段的各項支城出;軟件運術行費用取決竟于系統(tǒng)的操章作費用和維換護費用,其幕中操作費用薪包括操作人金員的人數(shù)、泰工作時間、原消耗的各類濫物資等開支舅;系統(tǒng)的經劈濟效益是指求因使用新系晃統(tǒng)而節(jié)省的星費用和增加憂的收入。炊由于運行費句用和經濟效惡益兩者在軟鹽件的整個使鬼用期內都存寺在,總的效換益和軟件使產用時間的長銳短有關,所穗以,應合理褲地估算軟件虜?shù)膲勖R获R般在進行成帖本/效益分烈析時一律假呆設軟件使用禮期為五年。軋(2)人員雕組織填軟件開發(fā)不值是個體勞動載,需要各類暫人員協(xié)同配走合,共同完翻成工程任務據(jù),因而應該膽有良好的組榆織、周密的施管理。蠟(3)工程杏計劃管理藍軟件工程計儉劃是在軟件求開發(fā)的早期筍確定的。在三計劃實施過球程中,如果伙有其他需要飼,應對工程假進度做適當連的調整。在錯軟件開發(fā)結差束后應寫出迫軟件開發(fā)總糠結,以便今香后能制定出忠更切實際的遲軟件開發(fā)計蜻劃。長(4)軟件撿配置管理灣軟件工程各外階段所產生嗓的全部文檔偶和軟件本身礎構成軟件配舊置。每完成尖一個軟件工街程步驟,都浩涉及軟件工兵程配置,必逝須使軟件配匠置始終保持卻其精確性。森軟件配置管嚴理就是在系因統(tǒng)的整個開鴨發(fā)、運行和賀維護時期控眠制配置的狀別態(tài)和變動,輕驗證配置項升的完整性和畫正確性。奔豎軟件過蛛程搞國際標準化希組織(In錄terna白tiona喇lSta轟ndard肅izati速on估Orga便nizat棟ion,I酒SO)是世佩界性的標準散化專門機構駝。痰ISO讓溫9000矮把軟件過程框定義為:訪“狀把輸入轉化隱為輸出的一節(jié)組彼此相關架的資源和緊活動鐮”川。弱軟件過程是既為了獲得高鉗質量軟件所說需要完成的我一系列任務棋的框架,它被規(guī)定了完成紅各項任務的呈工作步驟件。面軟件開發(fā)過喘程(sof拳tware根deve逮lopme擾ntpr阿ocess征)是把用戶擠要求轉化為俊軟件需求,嫩把軟件需求休轉化為設計關,用代碼來內實現(xiàn)設計并霜對代碼進行博測試,完成娘文檔編制并金確認軟件可勤以投入運行輕使用的過程鏟。疾軟件過程定拉義了運用方舟法的順序、捧應該交付的臥文檔、開發(fā)止軟件的管理建措施和各階牲段任務完成烘的標志。訂軟件過程是稍軟件工程方壺法學的三個淡要素(弄方法、工具閘和過程)友之一。軟件渠過程必須科磨學、合理才饞能獲得高質眾量的軟件產簡品。摔記軟件工勵程基本原理仗著名軟件工茅程專家B轉.Boe珍hm贈綜合有關專末家和學者的進意見并總結婆了多年來開稿發(fā)軟件的經黎驗,于侮1983振年在一篇論羅文中提出了猴軟件工程的噴七條基本原漲理。桑(裁1免)用分階段襖的生存周期崖計劃進行嚴儲格的管理。?。?戀)堅持進行輕階段評審。去(3)實行富嚴格的產品退控制。泥(4)采用泡現(xiàn)代程序設翼計技術。語(5)軟件依工程結果應盆能清楚地審命查。劃(6)開發(fā)謎小組的人員賠應該少而精擺。捧(7)承插認不斷改進歸軟件工程實戒踐的必要性舞。涂B.Bo遺ehm敢指出,遵循觸前六條基本扛原理,能夠蕉實現(xiàn)軟件的蛋工程化生產丘;按照第七許條原理,不擇僅要積極主凝動地采納新此的軟件技術惰,而且要注萄意不斷總結奇經驗。在本鞭課程的學習鋼中,讀者將澤體會到軟件藍工程基本原躺理的含義和火作用。薯1.3膊軟件生殊命周期暴尸軟件生更命周期裂定義移軟件生命周案期(sof貢tware劑life圖cycl竊e)是從設袋計軟件產品示開始到產品霸不能使用為荷止的時間周姐期。軟件產黃品從問題定嫂義開始,經墳過開發(fā)、使瞞用和維護,梯直到最后被黨淘汰的整個耗過程就是軟壟件生命周期法。伸一個人從出碧生開始,經雷過兒童、青醫(yī)年、中年、狼老年等時期舍到死亡。在熱人的一生中選,國家和社沙會對他的負周擔主要體現(xiàn)籃在兒童、青帳少年時期的射培養(yǎng)及老年鼠喪失勞動能少力后的供養(yǎng)樹方面。而一五個人從參加薯工作開始就拆對國家與社現(xiàn)會做貢獻,鋪貢獻越大,宅人的價值也嚷就越大。披同樣,軟件鏈生命周期中幅軟件的開發(fā)篩要投資、消頸耗價值,在魄軟件交付使悉用后就開始系產生價值,困但軟件維護宣又要消耗價攻值。軟件生蹤命周期中,層消耗價值越捏少,即軟件捐開發(fā)與維護都時的費用越統(tǒng)低,軟件的風使用壽命越精長,產生的庸價值就越大屠,這就是掌紋握軟件工程萄學的目的。允軟件生命周痕期是軟件工戴程的一個重毀要概念。軟棟件生命周期甩有時與軟件必開發(fā)周期作紗為同義詞使障用。一個軟寧件產品的生抬存周期可劃橫分為若干個節(jié)互相區(qū)別而駛又有聯(lián)系的桑階段。把整域個生存周期氏劃分為若干紐個階段,賦豎予每個階段瀉相對獨立的仗任務,然后兩逐步完成每班個階段的任下務。這樣,加能夠簡化每膀個階段的工失作,容易確疏立系統(tǒng)開發(fā)陜計劃,還可株明確系統(tǒng)各已類開發(fā)人員殖的分工與職鳳責范圍,以細便分工協(xié)作陪,保證質量天。糾每一階段的桑工作都以前嘉一階段的結樹果為依據(jù),主并作為下一呢階段的前提時。每個階段奮結束時都要粉有技術審查敢和管理復審拜,從技術和廁管理兩方面叔對這個階段愉的開發(fā)成果卸進行檢查,唯及時決定系呆統(tǒng)是繼續(xù)進姐行,還是停汽工或是返工霧。應避免到蕩開發(fā)結束時蟲,才發(fā)現(xiàn)前糟期工作存在壘問題,造成握不可挽回的魔損失和失敗律的現(xiàn)象。襯每個階段都京要進行的復兄審,主要檢聞查是否有高椒質量的文檔絕資料,前一塊個階段復審染通過了,后隊一個階段才謀能開始。開梳發(fā)單位的技波術人員可根格據(jù)所開發(fā)軟爭件的性質、曾用途及規(guī)模叉等因素決定芽在軟件生命眨周期中增加蹦或減少相應旋的階段。焦把一個軟件服產品的生存構周期劃分為臣若干個階段顏,是實現(xiàn)軟慘件生產工程隨化的重要步豎驟。演軟件生命周財期劃分階段奉的方法有多蜂種,可按軟把件規(guī)模、種媽類、開發(fā)方策式、開發(fā)環(huán)跪境等來劃分移生存周期。歷不管用哪種紡方法劃分兼生存周期,玩劃分階段的慈原則是相同尖的。民梯軟件生鹿命周期劃分兼階段的原則恥軟件生命周挨期劃分階段捧的原則如下扣:饒(1)各階趙段的任務彼明此間盡可能擋相對獨立。掩這樣便于逐句步完成每個劍階段的任務旱,能糖夠簡化每個益階段的工作何,易于確立哀系統(tǒng)開發(fā)計佩劃。匯(2)同一傍階段的工作赤任務性質盡漢可能相同。將這樣有利于幕軟件工程的拍開發(fā)和組織額管理,明確掠系統(tǒng)各類開脈發(fā)人員的分逃工與職責范深圍,以便協(xié)讓同工作,保斧證質量。成坐軟件生花命周期各階駐段杠的任務欠軟件生命周揉期一般由軟掃件計劃、軟營件開發(fā)和軟鏡件運行維護拴三個時期組盡成。軟件計遣劃時期分為均問題定義、爭可行性研究胡和案需求分析三島個階段。軟列件開發(fā)時期份可分為軟件艱設計、軟件舌實現(xiàn)和綜合干測試將三個私階段。其中鈴,軟件設計蹲階段可分為秤概要設計和唉軟件詳細設鞋計階段,軟翁件實現(xiàn)階段徹進行程序設孟計和軟件單稍元測試,軟踢件開發(fā)的最春后階段竊是漢進行綜合測雞試等。軟件高交付使用后廊在運行過程命中需要不斷方地進行維護再,才能使軟漫件持久地滿擔足用戶的需艷要。因下面簡要介目紹軟件生命表周期各階段赤的主要任務窄。飽(1)問題法定義臭確定系統(tǒng)的咳目標、規(guī)模恩和基本任務愧。光(2)可行流性研究伯從經濟、技丘術、法律等撓方面分析確瓦定系統(tǒng)是否促值得開發(fā),埋如果不值得橡開發(fā)應及時滿建議停止項過目開發(fā),避隸免人力、物雙力、時間的踢浪費。遮(3)需求竟分析堤確定軟件系云統(tǒng)應具備的小具體功能。裳通常用數(shù)據(jù)如流圖、數(shù)據(jù)什字典和簡明趟算法描述表縮示系統(tǒng)的邏憤輯模型,防雖止造成系統(tǒng)利的設計與用酒戶的實際需舒求不相符的克后果。展(4)概要靈設計量確定系統(tǒng)設疏計方案,以井及軟件的體有系結構,即裳軟件由哪些軋模塊組成及疤這些模塊之港間的相互關次系。觀(5)詳細旬設計子描述應該如仰何具體地實眨現(xiàn)系統(tǒng)。詳波細設計每個奧模塊,確定芬實現(xiàn)模塊所期需要的算法脆和數(shù)據(jù)結構陡。芬(6)軟件槽實現(xiàn)階段勺進行程序設奸計(編碼)集和模塊測試塵。殼(7)綜合井測試階段夕通過各種類賓型的測試,粘查出軟件設禿計中的錯誤傭并改正,確岸保軟件質量如;還要在用賭戶的參與下僚進行驗收,腿才可交付使進用。蛛(8)軟件匆運行、維護跳軟件運行期雀間,通過各黃種必要的維橡護使系統(tǒng)改售正錯誤或修冶改擴充功能賊使軟件適應眉環(huán)境變化,較以延長軟件立的使用壽命薪,提高軟件佛的效益。每拔次維護的要飼求及修改步漿驟都應詳細忍準確地記錄要下來,作為鋪文檔保存。跌1.4遼軟件開摧發(fā)模型闖根據(jù)軟件生灣產工程化的趁需要,軟件蟲生命周期的攻劃分也有所巧不同,從而威形成了不同悼的軟件生命且周期模型(薯softw饒arel余ifec齒ycle放model圍),或稱軟灘件開發(fā)模型病。虧總體來說,鞠軟件開發(fā)模務型包括傳統(tǒng)棚的瀑布模型手和后來興起素的快速原型綱模型兩類。涼具體可分為歌瀑布模型、收快速原型模佩型、增量模診型、噴泉模寫型、螺旋模嗚型和統(tǒng)一過屠程。下面分菜別加以介紹鏈。予勇瀑布模舟型本瀑布模型(瘡water擺fall關model哲)遵循軟件巧生命周期的舉劃分規(guī)劃,仙明確規(guī)定每屢個階段的任無務,各個階于段的工作以惕線性順序展勻開,恰如奔仇流不息的瀑豆布。桂瀑布模型把體軟件生命周碼期分為計劃緒時期、開發(fā)巷時期、運行嘩時期等三個聽時期。這三帝個時期又可菠細分為若干歸個階段:計綁劃時期可分真為問題定義客、可行性研橋究、需求分丟析三個階段揮,開發(fā)時期診分為概要設軟計、詳細設耽計、軟件實努現(xiàn)、軟件測捎試等階段,甲運行時期則嘴需要不斷進斃行運行維護瑞以延長軟件柿的使用壽命夠,如圖1.錯1所示。瀑澡布模型要求頓開發(fā)過程的祝每個階段結孤束時要進行鐵復審,復審日通過了才能軍進入下一階櫻段,復審通衰不過則要進榮行修改或回胳到前面的階罪段進行返工犁。軟件維護瘡時可能需要崇修改錯誤、揚排除故障;撲也可能是用魂戶的需求改涌變了,或軟弟件的運行環(huán)繭境改變了,史需要修改軟吹件的結構或上功能,因而資維護工作可綠能要從修改播需求分析或攪修改概要設扶計開始,也磨可能要從修走改軟件編碼甲開始。圖1呢.1中的實德線箭頭表示片開發(fā)工作的沫流程,每個纖階段順序進般行,有時會駝返工;虛線媽箭頭表示維輸護工作的流賊程,根據(jù)不灑同的情況返說回到不同的果階段進行維投護。喬圖1.1摘瀑布模型立瀑布模型軟流件開發(fā)有以柱下幾個特點壩。階1.賀軟件生命周起期的順序性豈順序性是指悄:只有前一修階段工作完笨成以后,后別一階段的工代作才能開始億;前一階段郵的輸出文檔腦,就是后一樹階段的輸入滾文檔。只有皆前一階段有碑正確的輸出五,后一階段看才可能有正賄確的結果。遇因而,瀑布池模型的特點偉是由文檔驅序動的。如果遲在生存周期油的某一階段播出現(xiàn)了錯誤膠,往往要追剛溯到在它之省前的一些階于段。失瀑布模型開惡發(fā)適合于在歐軟件需求比區(qū)較明確,開桐發(fā)技術比較壟成熟,工程剖管理比較嚴腰格的場合下幟使用。都2.幻盡可能推遲僚軟件的編碼有程序設計也幫稱為編碼。孝實踐表明,墻大、中型軟守件編碼開始納得越早,完漏成所需的時站間反而越長宿。瀑布模型臂在編碼之前輪安排了需求過分析、概要居設計、詳細鏡設計等階段歪,從而把邏傳輯設計和編罷碼清楚地劃眾分開來,盡決可能推遲編遍碼階段。秀3.沉保證質量富為了保證質蝕量,瀑布模兔型堅持兩個漆重要做法:拾(1)每個早階段都要完恥成規(guī)定的文批檔???)每個巧階段都要對雁已完成的文簽檔進行復審慨,以便及早覺發(fā)現(xiàn)隱患,葡排除故障。旅本書以瀑布瞇模型為典型躲開發(fā)模型,源介紹各階段之工作的具體井方法、步驟束、所需工具帝,對其他模財型可以參照甩此模型執(zhí)行罰。霧展快速原乒型悠模型蹈正確的需求蓬定義是系統(tǒng)振成功的關鍵夸,但是許多般用戶在開始怎時往往不能蠟準確地敘述更他們的需求火,軟件開發(fā)造人員需要反問復和用戶交鞏流信息,才承能全面、準到確地了解用助戶的需求。回當用戶實際逮使用了目標聚系統(tǒng)以后,巷通過對系統(tǒng)趕的執(zhí)行、評掏價,使用戶床明確對系統(tǒng)郊的需求。此吵時用戶常常表會改變原來仙的某些想法敬,對系統(tǒng)提縣出新的需求格,以便使系弟統(tǒng)更加符合膀他們的牲需要。撐快速原型模偉型(rap丈idpr鬧ototy宵pemo誓del)是宋指快速開發(fā)津一個可以運球行的原型系產統(tǒng),該原型耐系統(tǒng)所能完溝成的功能往拐往是最終產非品能完成的杜功能的一個擔子集。請用純戶試用原型淘系統(tǒng),以便足能準確地認鍋識到他們的星實際需要是香什么,然后增書寫軟件系蹄統(tǒng)的需求規(guī)某格說明文檔拾,根據(jù)這份析文檔開發(fā)出踏來的軟件可掃以滿足用戶與的真實需求敬。這相當于店工程上先制以作釋“紅樣品曉”碧,試用后做勿適當改進,碧然后再批量裁生產一樣。折創(chuàng)建快速原度型從設計用憶戶界面開始神,所建立的輝原型能完成慰的功能,往倉往是用戶需椅求的主要功刷能??焖僭刃湍P凸膭罡脩魠⑴c開拌發(fā)過程,用緊戶參與原型膀的運行和評援價,能充分侵地與開發(fā)者塌協(xié)調一致。物開發(fā)期間,唇原型還可作粗為終端用戶伙的教學模型送。開發(fā)者一衣邊進行軟件念開發(fā),一邊卡讓用戶學習池使用,若用濤戶發(fā)現(xiàn)軟件幣功能不符合蟻自己的實際漠要求,可及匆時提出意見骨,開發(fā)者應慶立即進行修奔改,如此反匹復進行,直懷到用戶滿意該為止。液雖然此方法務要額外花費亭一些成本,遭但是可以盡斥早獲得更符廈合需求的模怕型,從而減寬少測試和調貸試的工作量腫,提高軟件民質量。因此年,只要快速哭原型法使用警得當,就能筒減少軟件的圍總成本,縮窗短開發(fā)周期帶??焖僭晚撃P褪悄壳案郾容^流行的協(xié)實用開發(fā)模鄭型。京根據(jù)建立原堵型的目的不攀同,實現(xiàn)原梅型的途徑也昨有所不同,組通常有下述濾三種類型的魂原型。窄1.取漸增式的原炮型隆漸增式的原氧型開發(fā)模型維也稱增量模紗型。迷2.宵用于驗證軟炒件需求的原極型臘系統(tǒng)分析員右在確定了軟眠件需求之后存,從中選出吧某些需要驗曲證的功能,贈用適當?shù)墓こ>呖焖贅嬙旄喑隹蛇\行的療原型系統(tǒng),浮由用戶試用糾和評價。這干類原型往往達用后就丟棄蕩,因此構造丈它們的軟件賀環(huán)境不必與股目標系統(tǒng)的汪軟件環(huán)境一午致,通常使姥用簡潔而易駝于修改的高盤級語言對原唉型進行編碼圣。丹3.廊用于驗證設業(yè)計方案的原甚型綢原型可作為巷新穎設計思溪想的實現(xiàn)工松具,對于新眉的設計思想鎮(zhèn),開發(fā)部分寧軟件的原型特,可提高風煙險開發(fā)的安與全系數(shù),從燃而證實設計飲的可行性。餃為了保證軟妹件產品的質爛量,在概要然設計和詳細苦設計過程中禮,可用原型許來驗證總體宴結構或某些諷關鍵算法??ㄈ绻O計方周案驗證完成擴后就將原型賄丟棄,則構注造原型的工掛具不必與構跟造目標系統(tǒng)牽的工具一致樸。如果想把貞原型作為最戴終產品的一糠部分,原型每和目標系統(tǒng)黃可使用同樣姨的軟件設計流工具。演軟件快速原志型模型的開岔發(fā)過程如圖勤1.2所示蟻。開發(fā)人員援聽取用戶的搖意見,進行蝦需求分析,達盡快構造出才原型,原型犁的作用是獲清得用戶的真住正需求。原云型由用戶運羨行、評價和售測試,開發(fā)拿人員根據(jù)用簽戶的意見修廈改原型,再膠次請用戶試耀用,逐步使運其滿足用戶勺的需求。產閱品一旦交付章給用戶使用渾,維護便開然始。根據(jù)需殃要,維護工豈作可能返回急到需求分析有、設計或編凡碼等不同的置階段。晨圖忠1交.顧2巴遞紐快速原型開紐發(fā)過程膠董增量模腰型切增量模型也裝稱漸增模型死,先選擇一攏個或幾個關推鍵功能,建肚立一個不完逼全的系統(tǒng),僑此時只包含蛾目標系統(tǒng)的丑一部分功能火,或對目標犧系統(tǒng)的功能弱從某些方面依進行簡化,過通過運行這識個簡化后的達系統(tǒng)取得經信驗,加深對陜軟件需求的可理解,使系筍統(tǒng)逐步得到鍬擴充和完善龍。如此反復攏進行,直到磨用戶對所設浩計的軟件系量統(tǒng)滿意為止薯。事增量模型是屯對瀑布模型只的改進,增德量模型使開使發(fā)過程具有抽一定的靈活覽性和可修改室性。郵增量模型把次軟件產品作賓為一系列增額量構件來設姜計、編碼、米集成和測試利。增量模型濾開發(fā)的軟件焰系統(tǒng)是逐漸遞增長和完善惜的,所以整食體結構不如抓瀑布模型開貌發(fā)的軟件那旺樣清晰,但沖是,由于增稅量模型開發(fā)急過程自始至則終都有用戶浩參與,因而腐能及時發(fā)現(xiàn)沫問題并加以南修改,可以跪更好地滿足猾用戶需求。隙增量模型在貝項目開發(fā)過處程中,以一拒系列的增量雜方式來逐步樸開發(fā)系統(tǒng)。它增量方式包暈括增量開發(fā)滅和增量提交腿兩個方面。屠增量開發(fā):漿不是整體地假開發(fā)軟件,縮而是按一定海的時間間隔曬開發(fā)部分軟癢件。痛增量提交:末先提交部分舉軟件給用戶談試用,聽取停用戶意見,中再提交另一答部分軟件讓煤用戶試用,椅如此進行,此直到全部提鑒交為止。貞增量開發(fā)和大增量提交方推式可以同時油使用,也可晝以單獨使用恥。增量開發(fā)化方式可以在乓軟件開發(fā)的迎部分階段采抄用,也可以搬在全部開發(fā)傲階段都采用疏。段例如,在軟抱件需求分析跡和設計階段覆采用整體開均發(fā)方式,在吼編碼和測試念階段采用增禮量逗模型開發(fā)方春式,如圖1罩.3所示。什先對部分功占能進行編碼軟、測試,提府交給用戶試疤用,聽外取超用戶意見,既及早發(fā)現(xiàn)問洗題并解決問暴題;再對另劉一部分功能勻進行編碼、弓測試,提交悅用戶閉試用糞。光圖1.3灘增量模型視另一種方式面是,所有階魚段都采用增勾量模型開發(fā)排方式。先對腳某部分功能貸進行需求分祥析、設計、僵編碼和測試恥,提交給用彈戶試用,充煎分聽取用戶甩意見;再對薪另一部分功談能進行需求恒分析、設計德、編碼和測鋒試,提交給蛾用戶試用,夢直至所有功隨能開發(fā)完畢倉,如圖1.診4所示。用啟這種方式開訊發(fā)軟件時,呢不同功能的倒軟件構件可懸以并行地構僑建,因此有逢可能加快工功程進度,但站是也存在軟達件構件無法忙集成為一個軟整體的風險兄。謊圖1.4乳風險更大墻的增量模型求增量模型的創(chuàng)優(yōu)點是能在題較短的時間代內向用戶提籍交能完成一花定功能的產堡品,并使用名戶有較充裕讀的時間學習挑和適應產品棄。隙使用增量模胸型的難點在港于,軟件的塞體系結構設心計必須是開繼放的,要便騰于向現(xiàn)有結戒構中加入新躍的構件,即冤每次增量開卸發(fā)的產品都愁應當是可測連試的、可擴他充的。從長質遠來看,具學有開放結構圓的軟件,其漫可維護性明據(jù)顯好于封閉掙結構的軟件臘。類圾噴泉模紛型滿使用傳統(tǒng)的雷瀑布模型開舌發(fā)、維護軟復件時,需要愚有以下兩個疫前提:圖1.5噴泉模型紫用戶能清楚徒地提供系統(tǒng)被的需求。圖1.5噴泉模型雹開發(fā)者能完當整地理解這集些需求,軟片件生命周期欠各階段能明棍確地劃分,皮每個階段結蹲束時要復審序,復審通過陶后下一階段終才能開始。減然而,在實視際開發(fā)軟件價時,往往用拆戶事先難以貿說清系統(tǒng)需朋求,開發(fā)者室也由于主客老觀的原因,汗缺乏與用戶察交流的機會說,其結果是舞系統(tǒng)開發(fā)完熟成后,修改踏、維護的開期銷及難度過輝大。癢噴泉模型(針fount全ainm友odel逗)是典型的植面向對象軟動件開發(fā)模型翠,著重強調授不同階段之造間的重疊。染一般認為面飯向對象軟件路開發(fā)過程,酬不需要或不扮應該嚴格區(qū)刺分不同的開塊發(fā)階段,如志圖1.5所磁示。烈噴泉模型是集一種以用戶過需求為動力勾,以對象作梅為驅動的模渣型,適合面蝴向對象的開任發(fā)方法。它從克服了瀑布嗚模型不支持皇軟件重用和咽多項開發(fā)活踩動集成的局拐限性。噴泉嚴模型的開發(fā)炸過程具有迭榴代性和無間渠隙性。姑基于噴泉模去型,Hod態(tài)ge等人提易出將軟件開醋發(fā)過程劃分或為系統(tǒng)分析巧、系統(tǒng)設計籍、對象設計榆與實現(xiàn)(編環(huán)程)、測試練和系統(tǒng)組裝掩集成等五個滿階段,也體僚現(xiàn)出分析和酒設計之間的喉重疊。箏1.陪系統(tǒng)分析男系統(tǒng)模型中瑞的對象是現(xiàn)涉實世界中的側客觀對象的勞抽象,結構途清晰、易于嶺理解、易于竟描述規(guī)范。念在分析階段譽建立對象模蹲型和過程模兔型。消2.扒系統(tǒng)設計敗給出模型對春象和過程的揪規(guī)范描述。更3.強對象設計和鎖對象實現(xiàn)(蚊編程)挖面向對象設目計方法強調究軟件模塊的獲再用和軟件童合成,因而倍在對象設計殃和實現(xiàn)時,糕并不要求所顆有的對象都妄從頭開始設控計,而是充魔分利用以前惕的設計工作廣。在軟件開賓發(fā)時檢索對認象庫,若是茶對象庫中已猶經存在的,統(tǒng)則可不必設慕計,只需重襯復使用或加勒以修改;否臘則,應定義著新的對象,兩進行設計和王實現(xiàn)。面向法對象設計方愈法要求與用筋戶充分溝通據(jù),在用戶試譯用軟件的基價礎上,根據(jù)學用戶的需求囑,不斷改進柄、擴充和完蔽善系統(tǒng)功能處。4.測試宮測試所有的撥對象及對象觀相互之間的頂關系是否符孤合要求。綿5.綁系統(tǒng)集成堪面向對象軟對件的特點之冒一是軟件重定用和組裝技形術。對象是拴數(shù)據(jù)和操作崗的封裝載體化,組裝在一森起才能構成捐完整的系統(tǒng)助。模塊組裝控也稱為模塊趟集成、系統(tǒng)淘集成。軟件撞設計是指將摔對象模塊集道成,構造生芽成所需的系指統(tǒng)。6.演化差由于噴泉模盞型主張分析漠和設計過程順的重疊,不璃嚴格加以區(qū)騾分,模塊集鳴成過程要反逐復經過分析蹦、設計、測吳試、集成這淋幾個階段,拼每次集成都潤使系統(tǒng)功能農在原有基礎棉上得到擴展屆,因而稱為渴系統(tǒng)演化。壯李螺旋模摟型會壞瀑布模型要脫求在軟件開殿發(fā)的初期就抓完全確定軟才件的需求,蠻這在很多情吹況下是做不景到的。螺旋我模型試圖克質服瀑布模型蔥的這一不足日之處。翅螺旋模型(錘Spira雪lMod吵el,SM推)是198跪6年由B.賢Boeh冠m提出的。鄙SM把軟件胸開發(fā)過程安錦排為逐步細叢化的螺旋周瞞期序列,每追經歷一個周纖期,系統(tǒng)就殃細化和完善爭一些。SM少每一螺旋周家期由下列六或個步驟組成鴿,如圖1.欺6所示。沾1.旁確定任務目蛙標揉根據(jù)初始需連求分析項目榴計劃,確定孫任務目標、蒜可選方案和漆約束限制。留2.探選擇對象掠對各種軟硬葉件設備、開陵發(fā)方法、技匹術、開發(fā)工忍具、人員、覆開發(fā)管理等看對象進行選障擇,并決定絨軟件是進行擱研制、購買而還是利用現(xiàn)湊有的。鍛3.般分析約束條復件洗軟件開發(fā)的共時間、經費顯等限制條件野。太4.燙風險分析聽評估目標、河對象、約束交條件三者之位間的聯(lián)系,溝列出可能出肝現(xiàn)的問題及拔問題的嚴重句程度等,把針最重要的問梳題作為尚未鍛解決的關鍵汗問題,稱為苦風險。搜5.望制定消除風慈險的方法摧應有詳盡的蹤說明和周密偶的計劃,并榜估計可能產攝生的后果。變依此來開發(fā)禿軟件,為制訪定下一周期額的計劃打下晴基礎。擋圖1看.膏6螺旋紋模型峰6.匹制定下一周堅期的工作計召劃庫在第一個螺滔旋周期,確泳定目標、選獸擇對象、分午析約束,通陪過風險分析飼制定消除風浩險的方法,槐初步開發(fā)原嫂型1,制定撤系統(tǒng)開發(fā)計卷劃。蔥在第二個螺膚旋周期,進棍一步明確系棗統(tǒng)的目標、率開發(fā)方案及紀約束條件,鄰通過風險分界析制定消除餓風險的方法鬧,在原型1畫的基礎上開傳發(fā)原型2。理進一步明確竭軟件需求,污進行需求確脫認,修改開曠發(fā)計劃。株在第三個螺袖旋周期,再繼進一步確認傍系統(tǒng)目標、食開發(fā)方案及司約束條件,昌進行風險分真析,制定進蛙一步消除風表險的方法,疑在原型2的蠅基礎上開發(fā)暫原型3。此竿時可進行產畜品設計,再的對設計進行滴驗證和確認帆,制定集成屬測試計劃。情在第四個螺夕旋周期,軟廟件開發(fā)方案村、系統(tǒng)目標晌和約束條件濱得到確定,箱在風險分析作的基礎上,塑開發(fā)具有實每用價值的可沉操作原型,缺此時可對產紙品進行詳細掃設計,進入競編碼、單元繼測試、集成賺測試階段,薪最后進入驗脆收測試階段滔,驗收合格踏后交付用戶綢使用,進入怒運行、維護液階段。儲舉統(tǒng)一過富程屑統(tǒng)一過程是梁經過30多手年的發(fā)展形諷成的,它是叮汲取了各種塊生存周期模疼型的先進思好想和豐富的通實踐經驗而辦產生的。統(tǒng)腫一過程將維成為垂軟件開發(fā)的凍主流過程。鵝統(tǒng)一過程(鳴Ratio對nalU尸nifie冠dPro叔cess,些RUP)使擊用統(tǒng)一建模聯(lián)語言(Un塘ified噸Mode找ling冬Langu窮age,U講ML),采丈取用例驅動鎖和架構優(yōu)先這的策略,采出用迭代增量鹽建造方法。爛UML采用獎了面向對象丟的概念,引慶入了各種獨送立于語言的到表示符號。渡UML建立譜用例模型、猛靜態(tài)模型和判動態(tài)模型完宴成對整個系貌統(tǒng)的建模,舌所定義的概賺念和符號可功用于軟件開筋發(fā)過程的分止析、設計和煙實現(xiàn)的全過泡程。軟件開席發(fā)人員不必末在開發(fā)過程禿的不同階段榴進行概念和盈符號的轉換梢。棒用例(us乖ecas獸e)代表某扎些用戶可見盡的功能,實之現(xiàn)一個具體邀的用戶目標漂。用例代表絹一類功能而北不是撲使用該功能捧的某一具體沈實例。用例緞是精確描述特需求的重要悶工具。槽統(tǒng)一過程所攻構造的軟件噸系統(tǒng),是由臂軟件構件建滲造而成的。尚這些軟件構詠件定義了明繞確的接口,支相互連接成朝整個系統(tǒng)。彩在構造軟件育系統(tǒng)時統(tǒng)一炒過程采用架亮構優(yōu)先的策悶略。軟件構及架概念包含這了系統(tǒng)中最厲重要的靜態(tài)筑結構和動態(tài)正特征,構架黃體現(xiàn)了系統(tǒng)達的整體設計健。構架優(yōu)先豪開發(fā)的原則劉是RUP開郊發(fā)過程中至打關重要的主部題。筑為了管理軟睬件開發(fā)過程寫和監(jiān)控軟件邀開發(fā)過程,僅RUP把軟汗件開發(fā)過程淺劃分為多個培循環(huán),每個忙循環(huán)生成燒產品圈的一個新版棄本。每個循坊環(huán)都由初始賣階段、細化箱階段、構造君階段和提交最階段等四個敵階段組成。樹每個階段是涂一個小的瀑袍布模型,要晶經過分析、蹲設計、編碼碎、集成和測護試等步驟。伏統(tǒng)一過程通哄過反復多次賓的循環(huán)迭代慮,來達到預槍定的目的或敢完成確定的遼任務。每次鋸迭代增加尚匪未實現(xiàn)的用輕例,所有用如例建造完成啦后,系統(tǒng)也丘就建造完成益了?;藐P于統(tǒng)一過粉程和UML淺將在后面的閘章節(jié)做進一挺步介紹。絕在具體的軟莫件項目開發(fā)迅過程中,可密以選用某種鈔生存周期模軌型,按照某鄭種開發(fā)方法險,使用相應絲的工具進行樸系統(tǒng)開發(fā)。泛通常,結構秀化方法可使摧用瀑布模型帆、增量讓模型育和螺旋模型晌進行開發(fā);歐面向對象方掃法可采用快勵速原型、增泊量模型、噴良泉模型和統(tǒng)岡一過程進行怎開發(fā)。頸小園孕結把軟件開發(fā)的尖各個階段必懲須完成的各裂種規(guī)格書、裙說明書、用爺戶手冊等稱減為膝“斗文檔財”志(docu懶ment)考。夢軟件是計算褲機程序及其它有關的數(shù)據(jù)翻和文檔的結意合。匆軟件危機是基指在計算機漿軟件開發(fā)和戚維護時所遇掀到的一系列千問題。狼軟件危機主腳要包含兩方痰面的問題:沙一是如何開徹發(fā)軟件以滿禁足對軟件日折益增長的需摘求;二是如惱何維護數(shù)量與不斷增長的遺已有軟件。節(jié)軟件工程是幫軟件開發(fā)、紗運行、維護昌和引退的系壞統(tǒng)方法。繪軟件工程是禮指導計算機套軟件開發(fā)和性維護的工程鏈學科。軟件偉工程采用工壞程的概念、多原理、技術柏和方法來開送發(fā)與維護軟林件。軟件工享程的目標是否實現(xiàn)軟件的繪優(yōu)質高產。故軟件工程學耳的主要內容證是軟件開發(fā)鈔技術和軟件勸工程管理。步軟件開發(fā)方要法學是編制執(zhí)軟件的系統(tǒng)漂方法,它確體定軟件開發(fā)活的各個階段惜,規(guī)定每一葵階段的活動位、產品、驗保收的步驟和串完成準則?;畛S玫能浖B(yǎng)開發(fā)方法有糕結構化方法醉、面向數(shù)據(jù)奧結構方法和陜面向對象方欠法等。劉軟件過程是弱為了獲得高挪質量軟件所波需要完成的屠一系列任務坡的框架,它普規(guī)定了完成事各項任務的鹽工作步驟旺。覆ISO剩性9000弟把軟件過程剪定義為:旅“腫把輸入轉化擺為輸出的一蘇組彼此相關遭的資源和活嚇動扇”直。型軟件過程定企義了運用方茅法的順序、置應該交付的戶文檔、開發(fā)僑軟件的管理增措施、各階預段任務完成遠的標志。加軟件過程必嬌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美容院裝修單包工合同
- 電纜溝工程承包合同書
- 奢侈品質押擔保合同書
- 系統(tǒng)分析與項目管理手順手冊
- 企業(yè)內部知識管理與學習培訓平臺
- 物流行業(yè)的智能物流與倉儲管理作業(yè)指導書
- 代理記賬協(xié)議書
- 太陽能路燈購銷合同
- 解決客戶需求說明文書樣本
- 法律咨詢服務合同集錦
- 2025年高考語文作文備考:議論文萬能模板
- 重大事故隱患判定標準與相關事故案例培訓課件(建筑)
- 《我的寒假生活》
- 陜2018TJ 040建筑節(jié)能與結構一體化 復合免拆保溫模板構造圖集
- DZ/T 0430-2023 固體礦產資源儲量核實報告編寫規(guī)范(正式版)
- (高清版)WST 442-2024 臨床實驗室生物安全指南
- 歷史時間軸全
- 高速行業(yè)網絡安全與維護
- 2024年能源電力行業(yè)數(shù)字化轉型解決方案
- (2024年)房地產銷售人員心態(tài)培訓
- 康復科院感年度工作計劃
評論
0/150
提交評論