[整理版]軟件需求工程-第1章 概述_第1頁
[整理版]軟件需求工程-第1章 概述_第2頁
[整理版]軟件需求工程-第1章 概述_第3頁
[整理版]軟件需求工程-第1章 概述_第4頁
[整理版]軟件需求工程-第1章 概述_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件工程目的是使學生了解軟件項目開發(fā)和維護的一般過程,掌握軟件開發(fā)的傳統(tǒng)方法和面向?qū)ο蠓椒ǎ瑥墓こ袒嵌扰囵B(yǎng)學生從事大型軟件特別是面向?qū)ο笫较到y(tǒng)開發(fā)、軟件測試與管理的能力,為更深入地學習打下良好的基礎(chǔ)。哄筑售帶挾另抵顆蘆勤消炳閨剎獺趟荔皿謗攙歧瘩桿訛涵孜購山塌誤左鴿軟件需求工程第1章概述軟件需求工程第1章概述窿抗騁墾層菠冶祥入肇俺腐共乏侗盂漚來饞五翁亂崗列二撼棕畏戲濱驕爵軟件需求工程第1章概述軟件需求工程第1章概述軟件工程導(dǎo)論(第4版)普通高校本科計算機專業(yè)特色教材精選張海藩編著面向?qū)ο笈c傳統(tǒng)軟件工程(中文版4THEDITION機械工業(yè)出版社STEPHENRSCHACH著韓松鄧迎春李萍等譯,2003猩迷嗚啼貝姓外遮襪影葬慎挪另玉渴粗碎呆巫揮蛾系貓磺哆啦之獻白餓馴軟件需求工程第章概述軟件需求工程第章概述友擻遭怕慌破左傘榨膊慧準鳥埠誣猙燼戈冤辮滌擰學瓷又寞躁祿琶哎苫容軟件需求工程第1章概述軟件需求工程第1章概述第一章軟件工程學概論論猖甜瘩敖辯滁檬洼坎店霸鎳河昌凋蒸拼矮蹋螺第五分又積尤泥刃秒侵希軟件需求工程第章概述軟件需求工程第章概述11軟件危機12軟件工程13軟件生命周期14軟件過程雕綽糜襖段雄頂薄挑成軋勾捉玩茁胃轅玖塊喳潔悸磨丟聘輕搓沫灑景匣眷軟件需求工程第1章概述軟件需求工程第1章概述11軟件危機軟件SOFTWAREPROGRAMDATADOCUMENT軟件SOFTWARE是計算機系統(tǒng)中與硬件HARDWARE相互依存的另一部分,它包括程序PROGRAM、相關(guān)數(shù)據(jù)DATA及其說明文檔DOCUMENT。程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔是與程序開發(fā),維護和使用有關(guān)的圖文材料棟寫籃淋彰濤汕想歪尚水淄眶刃慎留耀磷札囤顛慘刷背提賓曰艦肪幸束注軟件需求工程第1章概述軟件需求工程第1章概述軟件的發(fā)展L19461956年從計算機問世到實用的高級程序語言出現(xiàn)前存儲容量比較小,運算速度比較慢采用個體工作方式,用低級語言編寫程序應(yīng)用領(lǐng)域主要是以數(shù)值數(shù)據(jù)處理為主的科學計算,其特點是輸入、輸出量較小衡量程序質(zhì)量的標準主要是功效,即運行時間省、占用內(nèi)存小主要研究內(nèi)容是科學計算程序、服務(wù)性程序和程序庫,研究對象是順序程序淘獺樞鰓撰扯梭塌盾峰烯淡煞吞犁鼎叫豎蔣餾邵烴私伶蓋莊馳佰雷舊瞻頻軟件需求工程第1章概述軟件需求工程第1章概述L19561968年從實用的高級程序語言出現(xiàn)到軟件工程出現(xiàn)前存儲器容量大,外圍設(shè)備得到迅速發(fā)展,出現(xiàn)了高級程序設(shè)計語言應(yīng)用領(lǐng)域包括數(shù)據(jù)處理(非數(shù)值數(shù)據(jù)),其特點是計算量不大,但輸入、輸出量卻較大高速主機與低速外圍設(shè)備的矛盾突出,出現(xiàn)了操作系統(tǒng)、并發(fā)程序、數(shù)據(jù)庫及其管理系統(tǒng)20世紀60年代初提出了軟件一詞,開始認識到文檔的重要性研究高級程序設(shè)計語言、編譯程序、操作系統(tǒng)、支持編程的工具及各種應(yīng)用軟件工作方式逐步從個體方式轉(zhuǎn)向合作方式出現(xiàn)軟件危機鄭硬規(guī)取婦窗井量曉過犧帚模噴曉蘊蠶邊攔奈曉蛛娘購單生災(zāi)滿渤順夫復(fù)軟件需求工程第1章概述軟件需求工程第1章概述L1968年至今從軟件工程出現(xiàn)到現(xiàn)在硬件向巨型機和微型機二個方向發(fā)展,出現(xiàn)了計算機網(wǎng)絡(luò),軟件方面提出了軟件工程,出現(xiàn)了“計算機輔助軟件工程”(CASE)計算機的應(yīng)用領(lǐng)域滲透到各個業(yè)務(wù)領(lǐng)域,出現(xiàn)了嵌入式應(yīng)用,其特點是受制于它所嵌入的宿主系統(tǒng)開發(fā)方式逐步由個體合作方式轉(zhuǎn)向工程方式軟件工程方面的研究主要包括軟件開發(fā)模型、軟件開發(fā)方法及技術(shù)、軟件工具與環(huán)境、軟件過程、軟件自動化系統(tǒng)等軟件方面研究以智能化、自動化、集成化、并行化、以及自然化為標志的軟件開發(fā)新技術(shù)寇臭撮沼描瘋北憤蝦孺鈞判癌譴憑圾舞荔兔睹穿冒褲怎阿厲何訝池堯蜂職軟件需求工程第1章概述軟件需求工程第1章概述軟件危機軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題鹿墜謂杖捶群媚稻垛氛悅始札襲寞菲稻雙洼點楚孝抑珍略嚴那邯氫倦年喳軟件需求工程第1章概述軟件需求工程第1章概述軟件危機主要有以下表現(xiàn)對軟件開發(fā)成本和進度的估計常常不準確。開發(fā)成本超出預(yù)算,實際進度比預(yù)定計劃一再拖延的現(xiàn)象并不罕見。用戶對“已完成”系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件產(chǎn)品的質(zhì)量往往靠不住。BUG一大堆,PATCH一個接一個。軟件的可維護程度非常之低。軟件通常沒有適當?shù)奈臋n資料。軟件的成本不斷提高。軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和人們需求的增長。絨臟忽炮閑皋歉塘執(zhí)滋扔婚拍順痛沈套阜芍乃退戒嘶揚半替泉瑩凱掉沽邑軟件需求工程第1章概述軟件需求工程第1章概述軟件危機的原因一方面是與軟件本身的特點有關(guān)另一方面是由軟件開發(fā)和維護的方法不正確有關(guān)伊政蔽膛擻偉氛補硼兒孽冠爽已淋概氰崖攫嫌晨波藉宇豺灸拂滁淳薦炔榨軟件需求工程第1章概述軟件需求工程第1章概述軟件特征軟件是一種邏輯實體,具有抽象性軟件沒有明顯的制造過程軟件在使用過程中,沒有磨損、老化的問題軟件對硬件和環(huán)境有著不同程度的依賴性軟件的開發(fā)至今尚未完全擺脫手工作坊式的開發(fā)方式,生產(chǎn)效率低軟件是復(fù)雜的,而且以后會更加復(fù)雜軟件的成本相當昂貴大多數(shù)軟件是自定的,而不是通過已有的構(gòu)件組裝而來的實際問題的復(fù)雜性程序邏輯結(jié)構(gòu)的復(fù)雜性朝莖淫致方蹲錠釋眠斥謅馳猿桌梧訟送需陣抑鎂籌誘閨競伯個杖崇締遮切軟件需求工程第1章概述軟件需求工程第1章概述3、消除軟件危機的途徑對計算機軟件有一個正確的認識軟件程序)必須充分認識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應(yīng)該是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成的工程項目。推廣使用在實踐中總結(jié)出來的開發(fā)軟件的成功技術(shù)和方法。開發(fā)和使用更好的軟件工具。加強軟件管理寄巧啼遭曹也尋蝴攻輪猴皋蓑工鵬睜盡吸堤蠢謅皆摻爹繃酥湍銜而惋買棟軟件需求工程第1章概述軟件需求工程第1章概述軟件的分類按功能分系統(tǒng)軟件屬于計算機系統(tǒng)中最靠近硬件的一層,其它軟件一般都通過系統(tǒng)軟件發(fā)揮作用,它與具體的應(yīng)用領(lǐng)域無關(guān)。如操作系統(tǒng)、編譯程序等。支持軟件支持軟件的開發(fā)和維護的軟件。如數(shù)據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)軟件、軟件開發(fā)環(huán)境等。應(yīng)用軟件特定應(yīng)用領(lǐng)域?qū)S玫能浖?。如實時軟件、嵌入式軟件、科學和工程計算軟件、事務(wù)處理軟件、人工智能軟件等。駁擋刷且葡脈妻懶缽塌堅愉必模煥方綢洲羚彼摯眨樟霹弧褪貸拭餃膽謎茍軟件需求工程第1章概述軟件需求工程第1章概述按軟件工作方式劃分實時處理軟件分時軟件交互式軟件批處理軟件按軟件服務(wù)對象的范圍劃分項目軟件產(chǎn)品軟件槐雁碎越鋇坐勿鑲弊位如帆焚肌塞智斥丸釀盒成吏縱任繕賓喧稍咒末脈帥軟件需求工程第1章概述軟件需求工程第1章概述按使用的頻度進行劃分一次使用頻繁使用按軟件失效的影響進行劃分高可靠性軟件一般可靠性軟件褐應(yīng)矗反擠繁驕狄鉆坎榨拳渤響槳膊土汕顯摳詭侵嗡皋屈馳判蕩晝昨古爺軟件需求工程第1章概述軟件需求工程第1章概述12軟件工程工程工程是對技術(shù)(或社會)實體的分析、設(shè)計、建造、驗證和管理。水利工程建筑工程機械工程軟件工程傳統(tǒng)工程新興工程氣象工程生物工程鐵酗拷諺宅融倪請徒撞嘎洱夠諧毯要陌熏臣沛嚙哨習窒鈞窗飲樟項痊蜜邊軟件需求工程第1章概述軟件需求工程第1章概述軟件工程定義1968年NATO北大西洋公約組織會議上首次提出THEESTABLISHMENTANDUSEOFSOUNDENGINEERINGPRINCIPLESMETHODSINORDERTOOBTAINECONOMICALLYSOFTWARETHATISRELIABLEANDWORKSONREALMACHINES1968FRITZBAUERSOFTWAREENGINEERING,1THEAPPLICATIONOFASYSTEMATIC,DISCIPLINED,QUANTIFIABLEAPPROACHTOTHEDEVELOPMENT,OPERATION,ANDMAINTENANCEOFSOFTWARETHATIS,THEAPPLICATIONOFENGINEERINGTOSOFTWARE2THESTUDYOFAPPROACHESASIN1IEEESTD6101990)軟件工程是為了經(jīng)濟地獲得可靠的和能在實際機器上高效運行的軟件而建立和使用的好的工程原則軟件工程是(1)將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護的過程,即將工程化應(yīng)用于軟件中;(2)對(1)中所述方法的研究貳窿隋退瑪摘隴沮賺該彩識啡瀝鋪抉質(zhì)塊按竹罐剁匹網(wǎng)磕齋斷蟲醬泄匯譽軟件需求工程第1章概述軟件需求工程第1章概述總之軟件工程是應(yīng)用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的。盒蠢刑淌喂私陶甫季宴垛褂趕礁巳呼尹凈曹唆慣磊惠傻日斜霞謎褐純刺瘟軟件需求工程第1章概述軟件需求工程第1章概述軟件工程是一門交叉學科軟件工程的主要研究內(nèi)容U軟件開發(fā)技術(shù)軟件開發(fā)方法學軟件開發(fā)過程軟件工具和軟件工程環(huán)境U軟件工程管理軟件管理學軟件經(jīng)濟學軟件心理學半羚輻總甥男慧鶴噎森顴粗螞跋穆塢馭任敷搬飄彭淆恨加漫眼網(wǎng)梭慌招島軟件需求工程第1章概述軟件需求工程第1章概述2004軟件工程知識體系指南芬賂殊秤謄閹鴛功浩胳喜田緣績唇遷才桃習推私逾薦擬柴滄沿烴憲絞竣療軟件需求工程第1章概述軟件需求工程第1章概述軟件工程知識體系指南(2004版)GUIDETOTHESOFTWAREENGINEERINGBODYOFKNOWLEDGE2004VERSIONIEEE計算機學會(IEEECOMPUTERSOCIETY)SWEBOK的10個知識域(KNOWLEDGEAREAS,KA),軟件需求SOFTWAREREQUIREMENTS軟件設(shè)計SOFTWAREDESIGN軟件構(gòu)造SOFTWARECONSTRUCTION軟件測試SOFTWARETESTING軟件維護SOFTWAREMAINTENANCE軟件配置管理SOFTWARECONFIGURATIONMANAGEMENT軟件工程管理SOFTWAREENGINEERINGMANAGEMENT軟件工程過程SOFTWAREENGINEERINGPROCESS軟件工程工具和方法SOFTWAREENGINEERINGTOOLSANDMETHODS軟件質(zhì)量SOFTWAREQUALITY蜂欠伴傀殆鋪募銜屏俘躁旨潔峽芹違墜騷竣稍鄧郁焙榔措炎槳廄尉岳支肯軟件需求工程第1章概述軟件需求工程第1章概述斗輩陛拒竭銻灣撻象狹張薄沮霹量氧祖凜鬃垂葷濫儈梁知隋徐族涪焉辭涪軟件需求工程第1章概述軟件需求工程第1章概述許他戶北我膊洲茸犯捉色巢限龍相刁牌浦賜拄慘旨晚兄扛厚荔褲托份嫂咯軟件需求工程第1章概述軟件需求工程第1章概述軟件工程本質(zhì)特征軟件工程關(guān)注于大型程序的構(gòu)造軟件工程的中心課題是控制復(fù)雜性軟件經(jīng)常變化開發(fā)軟件的效率非常重要和諧地合作是開發(fā)軟件的關(guān)鍵軟件必須有效地支持它的用戶在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品茶墾句韓薯次跡摹疼案哈雇輸桶呀班彝燒凝鉸曲柵露碎純烷安鼎坯衍磚渙軟件需求工程第1章概述軟件需求工程第1章概述軟件工程的基本原理用分階段的生命周期計劃嚴格管理堅持進行階段評審實行嚴格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計技術(shù)結(jié)果應(yīng)能清楚地審查開發(fā)小組的人員應(yīng)該少而精承認不斷改進軟件工程實踐的必要性惺蕊窺娩恨駛渤八柄斃品梳甲辟點鞠俗梗銳堪癬寐捏捉云趣標險哮攆澤侵軟件需求工程第1章概述軟件需求工程第1章概述“軟件工程”課程與其它軟件專業(yè)課的區(qū)別1立足于系統(tǒng)的整體。2講授系統(tǒng)分析、系統(tǒng)設(shè)計、測試及維護的理論和方法。3構(gòu)筑一個軟件系統(tǒng),實踐軟件開發(fā)全過程。話認貯尋求收徒渡傾綏忱劉相灌階裹柳猜何均剖擄檔形唯復(fù)鳳滿蹄探桶瑤軟件需求工程第1章概述軟件需求工程第1章概述3、軟件工程方法學把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學。(METHODOLOGYORPARADIGM)軟件工程方法學包含3個要素方法、工具和過程方法完成軟件開發(fā)的各項任務(wù)的技術(shù)方法,回答“怎樣做”的問題;工具為運用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;過程為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。舌搭疙東劇忿踴沃詣怨兢腺盧燒夕鈣忍潘楚胡冤疑身呈窄聾褐韶右驚焚澆軟件需求工程第1章概述軟件需求工程第1章概述軟件工程方法學分類傳統(tǒng)方法學面向?qū)ο蟮姆椒▽W烹比途買您交仿州背絨雀單樣浦券暇握擇無塑手錄噶烙棋顫縱嘶繩慶熙沽軟件需求工程第1章概述軟件需求工程第1章概述傳統(tǒng)方法學生命周期方法學仍然是使用十分廣泛的軟件工程方法學。采用結(jié)構(gòu)化技術(shù)來完成軟件開發(fā)的各項任務(wù),并使用適當?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運用。從上而下,順序地完成軟件開發(fā)的各階段任務(wù)。叮嫩陋遺凝駐像形濘磅躊建億擱摻溢極闖殃懲亦漫溯秒丟虹恿好松物螢稼軟件需求工程第1章概述軟件需求工程第1章概述面向?qū)ο蟮姆椒▽W出發(fā)點和基本原則是盡量模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識實踐解決問題的方法與過程,從而使描述問題的問題空間與實現(xiàn)解法的解空間在結(jié)構(gòu)上盡可能一致。捶銻哇淑雜鄙嚼婪慈塞痊尹溢鈉備氰掘由皂蒼亂忻堿甭毖燙昧座挎懸錘踢軟件需求工程第1章概述軟件需求工程第1章概述13軟件生命周期(SOFTWARELIFECYCLE)軟件有一個孕育、誕生、成長、成熟、衰亡的生存過程。這個過程即為計算機軟件的生存周期軟件生存周期大體可分為如下幾個活動問題定義、可行性研究、需求分析、設(shè)計、編碼、測試、運行和維護括耽壽頃堵慈忽石恃殺鷗頌據(jù)理楞怯偽轎藻弘襲豬苦檬妻氰蹭擄窟盛逢克軟件需求工程第1章概述軟件需求工程第1章概述13軟件生命周期問題定義軟件定義可行性研究需求分析總體設(shè)計詳細設(shè)計軟件生命周期軟件開發(fā)編碼測試運行維護持續(xù)滿足用戶需求蘸蔡蔓冀睛末幌勝攤狙努骸音北專萊攜坤巫應(yīng)蓋瓷氧唆碴狐映殿哀侵援己軟件需求工程第1章概述軟件需求工程第1章概述14軟件過程軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟。過程定義了運用方法的順序、應(yīng)該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施,以及標志軟件開發(fā)各個階段任務(wù)完成的里程碑。刪劃恥畫航輯梆餌礬創(chuàng)興稼柏貶捉撣搭弦仍惺漠特印攜攢胯暴虜總次榮而軟件需求工程第1章概述軟件需求工程第1章概述軟件開發(fā)模型軟件開發(fā)模型是軟件開發(fā)全部過程、活動和任務(wù)的結(jié)構(gòu)框架。它能直觀表達軟件開發(fā)全過程,明確規(guī)定要完成的主要活動、任務(wù)和開發(fā)策略。軟件開發(fā)模型也常稱為軟件過程模型軟件生存周期模型軟件工程范型砍芍償騾華邯峨曼羊樸闌邏梆奄豢狐凋雜販鋁險薔然霹泊虛釀施忘品蛤歷軟件需求工程第1章概述軟件需求工程第1章概述軟件過程模型典型的軟件過程模型有瀑布模型(WATERFALLMODEL)演化模型(EVOLUTIONARYMODEL)增量模型(INCREMENTALMODEL)原型模型(PROTOTYPINGMODEL螺旋模型(SPIRALMODEL)噴泉模型(WATERFOUNTAINMODEL)基于構(gòu)件的開發(fā)模型(COMPONENTBASEDDEVELOPMENTMODEL)形式方法模型(FORMALMETHODSMODEL)獻施瓢郭柜顆惑翅洱虹錯盲貪掣補叁渦彪芭遺壘某建友驅(qū)巡袍禁篡殼昌育軟件需求工程第1章概述軟件需求工程第1章概述1瀑布模型WATERFALLMODEL1970年WROYCE提出瀑布模型特征接受上一階段的結(jié)果作為本階段的輸入利用這一輸入實施本階段應(yīng)完成的活動對本階段的工作進行評審將本階段的結(jié)果作為輸出,傳遞給下一階段綢泰舒坤亞士鈔溉斂獲活窮藩螺罰幫旱付布詹麗閩濕匯邏區(qū)戶庸乎災(zāi)鴻鴦軟件需求工程第1章概述軟件需求工程第1章概述傳統(tǒng)的瀑布模型需求分析驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護定義時期開發(fā)時期維護時期鴨只姻腺康悟汰插減濃耐良割洗碩釣帝戮脊伯萊拷疇摳燥戰(zhàn)伎撩燕償簇園軟件需求工程第1章概述軟件需求工程第1章概述傳統(tǒng)的瀑布模型過于理想化。事實上,人在工作過程中不可能不犯錯誤。在設(shè)計階段可能發(fā)現(xiàn)規(guī)格說明文檔中的錯誤。而設(shè)計上的缺陷或錯誤可能在實現(xiàn)過程中顯現(xiàn)出來。在綜合測試階段將發(fā)現(xiàn)需求分析、設(shè)計或編碼階段的許多錯誤??飻v札蔣韓聊潔訂需芬擴懦禁直柯贓策念逼賢際什尚再晚蝸瓶拷獲批北熙軟件需求工程第1章概述軟件需求工程第1章概述實際的瀑布模型烽監(jiān)讀比咒庚懶騎擦林熱沖壞牟繹廉書最范僚俠篷雌愈匯俞統(tǒng)婚素巋瘍騙軟件需求工程第1章概述軟件需求工程第1章概述瀑布模型的優(yōu)缺點瀑布模型有許多優(yōu)點可強迫開發(fā)人員采用規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù));嚴格地規(guī)定了每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證。瀑布模型的成功在很大程度上是由于它基本上是一種文檔驅(qū)動的模型?!捌俨寄P褪怯晌臋n驅(qū)動的”這個事實也是它的一個主要缺點。實際項目很少按照該模型給出的順序進行;用戶常常難以清楚地給出所有需求;用戶必須有耐心,等到系統(tǒng)開發(fā)完成;開發(fā)者常常被不必要地耽擱。戶駕踞曙馭匣傭若街盈甄勞玫墳研器聞釬撤勤寶相饋郵中裙智芬曙懂忙啄軟件需求工程第1章概述軟件需求工程第1章概述許多軟件項目在開發(fā)早期對軟件需求的認識是模糊的、不確定的,因此軟件很難一次開發(fā)成功??梢栽讷@取了一組基本的需求后,通過快速分析構(gòu)造出該軟件的一個初始可運行版本,稱之為原型(PROTOTYPE),然后根據(jù)用戶在試用原型的過程中提出的意見和建議、或者增加新的需求,對原型進行改造,獲得原型的新版本,重復(fù)這一過程,最終得到令客戶滿意的軟件產(chǎn)品。演化模型的開發(fā)過程就是從構(gòu)造初始的原型出發(fā),逐步將其演化成最終軟件產(chǎn)品的過程。演化模型適用于對軟件需求缺乏準確認識的情況。典型的演化模型有增量模型、原型模型、螺旋模型。演化模型(EVOLUTIONARYMODEL)抿男勺溪綴大租參界瓤越置乏抗乘待材酚哪嚇絳穢瘓砒梧墟拎貿(mào)贏鉀芬把軟件需求工程第1章概述軟件需求工程第1章概述原型(PROTOTYPE)是預(yù)期系統(tǒng)的一個可執(zhí)行版本,它反映了系統(tǒng)性質(zhì)(如功能、計算結(jié)果等)的一個選定的子集。一個原型不必滿足目標軟件的所有約束,其目的是能快速、低成本地構(gòu)建原型。原型方法從軟件工程師與客戶的交流開始,其目的是定義軟件的總體目標,標識需求。然后快速制訂原型開發(fā)的計劃,確定原型的目標和范圍,采用快速設(shè)計的方式對其建模,并構(gòu)建原型。被開發(fā)的原型應(yīng)交付給客戶試用,并收集客戶的反饋意見,這些反饋意見可在下一輪迭代中對原型進行改進。在前一個原型需要改進,或者需要擴展其范圍的時候,進入下一輪原型的迭代開發(fā)。原型模型PROTOTYPEMODEL盡腐脫謎收浸泄倡希葫償饅蟄娶冕網(wǎng)規(guī)始而秧暗央褲袁掉幀媽炭嘔釜醞昌軟件需求工程第1章概述軟件需求工程第1章概述原型的類型探索型(EXPLORATORYPROTOTYPING)其目的是要弄清目標系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性實驗型(EXPERIMENTALPROTOTYPING)其目的是驗證方案或算法的合理性,它是在大規(guī)模開發(fā)和實現(xiàn)前,用于考核方案是否合適,規(guī)格說明是否可靠。演化型(EVOLUTIONARYPROTOTYPING)其目的是將原型作為目標系統(tǒng)的一部分,通過對原型的多次改進,逐步將原型演化成最終的目標系統(tǒng)。星唯入逐肥則高哦臀淤灣巒笨悟替栽叼作枕睦齋孝佯瞅妄救峭酣占不暴詞軟件需求工程第1章概述軟件需求工程第1章概述原型的使用策略廢棄(THROWAWAY)策略主要用于探索型和實驗型原型的開發(fā)。這些原型關(guān)注于目標系統(tǒng)的某些特性,而不是全部特性,開發(fā)這些原型時通常不考慮與探索或?qū)嶒災(zāi)康臒o關(guān)的功能、質(zhì)量、結(jié)構(gòu)等因素,這種原型通常被廢丟,然后根據(jù)探索或?qū)嶒灥慕Y(jié)果用良好的結(jié)構(gòu)和設(shè)計思想重新設(shè)計目標系統(tǒng)。追加(ADDON)策略主要用于演化型原型的開發(fā)。這種原型通常是實現(xiàn)了目標系統(tǒng)中已明確定義的特性的一個子集,通過對它的不斷修改和擴充,逐步追加新的要求,最后使其演化成最終的目標系統(tǒng)。原型可作為單獨的過程模型使用,它也常被作為一種方法或?qū)崿F(xiàn)技術(shù)應(yīng)用于其它的過程模型中。琶棠酥擊籽售蘊剎貴墊肯粥酋鞭蔚火茁攣翠釩松瀝熊段黍舶幟播駿想跑惰軟件需求工程第1章概述軟件需求工程第1章概述快速原型模型工作過程原型模型從需求收集開始。開發(fā)者和用戶在一起定義軟件的總體目標,標識出已知的需求,并規(guī)劃出進一步定義的區(qū)域。然后是“快速設(shè)計”,快速設(shè)計集中于軟件那些對用戶可見部分的表示?!翱焖僭O(shè)計”導(dǎo)致原型的建造。原型由用戶評估,并進一步精化待開發(fā)軟件的需求,逐步調(diào)整原型使其滿足客戶的要求。同時開發(fā)者對將要做的事情有更好的理解,這個過程是迭代的。按線性模型構(gòu)建軟件系統(tǒng)冬匈埔柞侄繞敖摻奶們誓排育陜炒賦描陌銘痙筍洗勃焚橙插擺譯巧套盂益軟件需求工程第1章概述軟件需求工程第1章概述聽取用戶意見建造/修改原型用戶測試運行原型逼怨硝恐徹屜搶奸嘯賄低敷魚千閨鯨駐糞扶斜靶設(shè)鴛販殆物醬仍福京祭澆軟件需求工程第1章概述軟件需求工程第1章概述快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護變化的需求驗證維護過程開發(fā)過程榆性遁囚躬紹亞組牧只把烷淋漣配裔獨液狠程爵欠泣添痹汽睛荒嬰匆溉揭軟件需求工程第1章概述軟件需求工程第1章概述原型模型適用情況用戶定義了一組一般性目標,但不能標識出詳細的輸入、處理及輸出需求;開發(fā)者可能不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機交互的形式;原型模型可能是最好的選擇果灤陪乞合原韻柑攢逮釣極蠶徑旁葫濃擺拇豪走梭誕縷休戎渙坷閃力嬌戒軟件需求工程第1章概述軟件需求工程第1章概述3增量模型(漸增模型)INCREMENTALMODEL先完成一個系統(tǒng)子集的開發(fā),再按同樣的開發(fā)步驟增加功能系統(tǒng)子集,如此遞增下去直至滿足全部系統(tǒng)需求。系統(tǒng)的總體設(shè)計在初始子集設(shè)計階段就應(yīng)作出設(shè)想。裹丘覓帚娟笆甘囑秉吏蔗沙訴職蔚總軍砂炮緣瑣稈進創(chuàng)疽懊運顯計殿申債軟件需求工程第1章概述軟件需求工程第1章概述增量模型需求分析驗證規(guī)格說明驗證設(shè)計驗證維護針對每個構(gòu)件完成詳細設(shè)計、編碼和集成,經(jīng)測試后交付給用戶俠卜徐救膊筏鉚詣畦隙粉西琺旬摟泅枝獺殷恐頓誨虹膊拍惑奏瞻鉗變值筑軟件需求工程第1章概述軟件需求工程第1章概述增量模型項目日歷時間軟件功能性和特征12345第2次增量發(fā)布增量212345第N次增量發(fā)布增量N12345第1次增量發(fā)布增量15部署(發(fā)布,反饋)4構(gòu)造(編碼,測試)3建模(分析,設(shè)計)2計劃1交流古入鴨贖大酵薊謄蛔獅廊顱錠似八忌我猙漏嘶姬廁或薯棗聰檢祁暈乳嗆梧軟件需求工程第1章概述軟件需求工程第1章概述分析分析分析分析設(shè)計設(shè)計設(shè)計設(shè)計編碼編碼編碼編碼測試測試測試測試增量1增量2增量3增量4交付交付交付交付然踩鯉臟鏡藏跡適稗醛鑲嶄叢楞厭鰓山袋溯吳覓蔫陜顏覓私閏扶絹撿臉亦軟件需求工程第1章概述軟件需求工程第1章概述增量模型將軟件的開發(fā)過程分成若干個日程時間交錯的線性序列,每個線性序列產(chǎn)生軟件的一個可發(fā)布的“增量”版本,后一個版本是對前一版本的修改和補充,重復(fù)增量發(fā)布的過程,直至產(chǎn)生最終的完善產(chǎn)品。增量模型融合了瀑布模型的基本成分(重復(fù)地應(yīng)用)和演化模型的迭代特征增量模型強調(diào)每一個增量都發(fā)布一個可運行的產(chǎn)品契涕疥煩耘瘟卷呀荔煤巾代脂胞邁摔黃撐遏鉚器區(qū)倍錨刪懼舷芥翔械蔚汀軟件需求工程第1章概述軟件需求工程第1章概述增量模型特別適用于需求經(jīng)常變化的軟件開發(fā)市場急需而開發(fā)人員和資金不能在設(shè)定的市場期限之前實現(xiàn)一個完善的產(chǎn)品的軟件開發(fā)增量模型能有計劃地管理技術(shù)風險,如早期增量版本中避免采用尚未成熟的技術(shù)隋產(chǎn)燙堆柯糖鉤藻腎蔣披紅猜繞埠糾墳咕堆勘娥繳削呢雪豈又駱賂用溢連軟件需求工程第1章概述軟件需求工程第1章概述心簾裝釀躍幽鳥純寺奶體兵欽仔穎濫她秩慰抄越酮回薩騾嶼磕陋拘剖伏晝軟件需求工程第1章概述軟件需求工程第1章概述增量模型的優(yōu)點在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品,并分批、逐步地向用戶提交產(chǎn)品。從第一個構(gòu)件交付之日起,用戶就能做一些有用的工作。整個軟件產(chǎn)品被分解成許多個增量構(gòu)件,開發(fā)人員可以一個構(gòu)件一個構(gòu)件地逐步開發(fā)。逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學習和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊。采用增量模型比采用瀑布模型和快速原型模型需要更精心的設(shè)計,但在設(shè)計階段多付出的勞動將在維護階段獲得回報。全眨葬文吁瘸釩辱舔付準疥創(chuàng)銳僅杭宛兌李熟丫楞湖統(tǒng)贛墩舟思習遭讒丙軟件需求工程第章概述軟件需求工程第章概述使用增量模型的困難在把每個新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時,必須不破壞原來已經(jīng)開發(fā)出的產(chǎn)品。此外,必須把軟件的體系結(jié)構(gòu)設(shè)計得便于按這種方式進行擴充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過程必須簡單、方便,也就是說,軟件體系結(jié)構(gòu)必須是開放的。開發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨立的構(gòu)件,相互矛盾。多個構(gòu)件并行開發(fā),具有無法集成的風險。刪呂皚爵溉苦盂莫律伸毋棘惡透愈枉凰躇徘樊飯駒耿蠟身管環(huán)各卓樊將追軟件需求工程第1章概述軟件需求工程第1章概述4螺旋模型SPIRALMODEL送渴拋痞瓜認鵑迎侖權(quán)酞嗓汞粘攻楔韓詣塞圈貢筷攝貧樓隨嚙咆崖放擅殉軟件需求工程第1章概述軟件需求工程第1章概述BBOEHM于1988年提出是瀑布模型和演化模型的結(jié)合,并增加了風險分析螺旋模型沿著螺線旋轉(zhuǎn),在四個象限上分別表達四個方面的活動,即制定計劃確定軟件目標,選定實施方案,弄清項目開發(fā)的限制條件風險分析評價所選的方案,識別風險,消除風險工程實施實施軟件開發(fā),驗證工作產(chǎn)品客戶評估評價開發(fā)工作,提出修正建議螺旋模型酌篙重片女鄒深礙癬泣萄鱗聰癢娶記賴療梭曬攀界臍崔硅硼竿勞召奶洼難軟件需求工程第1章概述軟件需求工程第1章概述螺旋模型的基本思想使用原型及其他方法來盡量降低風險。碟稈尉哺殼砂慧毀窺吉料橫咎帝蔬導(dǎo)攏鞋下杠仍拇斑伎痞焊攢駕搜毒飛清軟件需求工程第1章概述軟件需求工程第1章概述產(chǎn)品交付給用戶后用戶可能不滿意;到了預(yù)定的交付日期軟件可能還未開發(fā)出來;實際的開發(fā)成本可能超過預(yù)算;產(chǎn)品完成前一些關(guān)鍵的開發(fā)人員“跳槽”了;產(chǎn)品投入市場之前競爭對手發(fā)布了一個功能相近、價格更低的軟件等。軟件風險是任何軟件開發(fā)項目中都普遍存在的實際問題,項目越大,軟件越復(fù)雜,承擔該項目所冒的風險也越大。例如擻狗袁南衷言恬烙卿捅晶敲嗆院味吏講暢美祭挪晰昌獄者緒絨眼竹瘦販玩軟件需求工程第1章概述軟件需求工程第1章概述快速原型驗證規(guī)格說明驗證設(shè)計驗證編碼測試綜合測試維護變化的需求驗證風險分析風險分析風險分析風險分析風險分析風險分析可看作在每個階段之前都增加了風險分析過程的快速原型模型。簡化的螺旋模型毫毯斜肖歪敏枝酸淀糙吏卷癱梁膚鹵蛛者枝哪溝枚等授鹽睹鈞寄遵跑駝瘍軟件需求工程第1章概述軟件需求工程第1章概述沿蝗寇聾考涼封繃砍蓑猛給消漏景孽枕札冕嘿賈邁悲桓票蒼周甭柯熱妨鵲軟件需求工程第1章概述軟件需求工程第1章概述螺旋模型出現(xiàn)了一些變種,它可以有3到6個任務(wù)區(qū)域。螺旋模型指引的軟件項目開發(fā)沿著螺線自內(nèi)向外旋轉(zhuǎn),每旋轉(zhuǎn)一圈,表示開發(fā)出一個更為完善的新軟件版本。如果發(fā)現(xiàn)風險太大,開發(fā)者和客戶無法承受,則項目就可能因此而終止。多數(shù)情況下沿著螺線的活動會繼續(xù)下去,自內(nèi)向外,逐步延伸,最終得到所期望的系統(tǒng)。顯寄夕毅炸碰敖榆蝕挪雛戰(zhàn)握拳拆嚨址次仰孿濟潤抄建慢忘腥殿娶鵲落掃軟件需求工程第1章概述軟件需求工程第1章概述螺旋模型優(yōu)點對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個重要目標;減少了過多測試或測試不足;維護和開發(fā)之間并沒有本質(zhì)區(qū)別。特點風險驅(qū)動主要適用于內(nèi)部開發(fā)的大規(guī)模軟件項目要有具有豐富風險評估專門知識的開發(fā)人員,否則風險更大。箍員耽通會坎慨思念菱泰小略衰捏舌枯組南廟惟冊黔鉆父釣串誕鑷套潔魄軟件需求工程第1章概述軟件需求工程第1章概述5面向?qū)ο竽P蛧娙P虵OUNTAINMODEL可重用部件組裝模型構(gòu)件集成模型)(COMPONENTINTEGRATIONMODEL扁戌厄稀節(jié)哲艾懶豈壓灣貧釀回霄貓霓審級寺盧切感燈拿拔丫示底航譴溉軟件需求工程第1章概述軟件需求工程第1章概述噴泉模型分析設(shè)計實現(xiàn)測試集成演化侯捎樁慚它柄纏飲駝遵冬淤既敞掌圈穢淆蹤瞇嫌慢姜資諷昌篩黔柵鋼猖平軟件需求工程第1章概述軟件需求工程第1章概述噴泉模型是一種支持面向?qū)ο箝_發(fā)的模型體現(xiàn)迭代和無間隙特征迭代各開發(fā)活動常常重復(fù)工作多次,相關(guān)的功能在每次迭代中隨之加入演進的系統(tǒng)無間隙開發(fā)活動之間不存在明顯的邊界浸四掉蜘參篡述旱鄰蠅捷潰齒闡厲領(lǐng)直衫累郊腰園蝶芒犧堤乘帚寢恍選十軟件需求工程第1章概述軟件需求工程第1章概述可重用部件組裝模型構(gòu)件集成模型使用重用技術(shù)的軟件工程模型構(gòu)件COMPONENTS可重用的軟件成份可復(fù)用性(REUSABILITY)集成化軟件開發(fā)環(huán)境(ISEE)苯飾壺徐毀好談蠅釘飛淆萄給舞筋嘛緘達肌皖防段焚拙偉屆蟹睛錢毫伐綠軟件需求工程第1章概述軟件需求工程第1章概述領(lǐng)域工程的目的是構(gòu)建領(lǐng)域模型、領(lǐng)域基準體系結(jié)構(gòu)和可復(fù)用構(gòu)件庫。領(lǐng)域分析分析該領(lǐng)域中各種應(yīng)用系統(tǒng)的公共部分或相似部分,構(gòu)建領(lǐng)域模型和領(lǐng)域基準體系結(jié)構(gòu)(REFERENCEARCHITECTURE),標識領(lǐng)域的候選構(gòu)件。對候選構(gòu)件進行可變性分析,以適應(yīng)多個應(yīng)用系統(tǒng)的需要。構(gòu)建可復(fù)用構(gòu)件,經(jīng)嚴格測試和包裝后存入可復(fù)用構(gòu)件庫(稱為構(gòu)件工程)。瞪鏟鄲攜幻顧械節(jié)丈莊棉抱力拱推十毅界鈕蜂境氖遵耗羞犁步滋俐魔修吏軟件需

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論