初識軟件工程_第1頁
初識軟件工程_第2頁
初識軟件工程_第3頁
初識軟件工程_第4頁
初識軟件工程_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1軟件工程個人空間:http:///初識軟件工程全文共67頁,當(dāng)前為第1頁。2軟件工程教學(xué)安排講課學(xué)時:30實驗:30考試:120分鐘作業(yè):3次實驗:6次,并上繳實驗報告。成績:期末考試70%,實驗20%,作業(yè)10%初識軟件工程全文共67頁,當(dāng)前為第2頁。3教材和參考書教材:實用軟件工程與實訓(xùn)杜文潔主編清華大學(xué)出版社主要參考書:張海藩,軟件工程導(dǎo)論。第4版。北京:清華大學(xué)出版社,2003梅宏譯.RogerSPressman著.軟件工程:實踐者的研究方法.第5版.北京:機械工業(yè)出版社,2002邵維忠等譯.GradyBooch,JamesRaumbaugh,IvarJacobson著.UML用戶指南(第2版).北京:機械工業(yè)出版社,2001徐家等譯.[美]MartinFowlerKendallScott著.UML精粹(第2版)標(biāo)準(zhǔn)對象建模語言簡明指南》.北京:清華大學(xué)出版社,2000初識軟件工程全文共67頁,當(dāng)前為第3頁。4第1章初識軟件工程4學(xué)時初識軟件工程全文共67頁,當(dāng)前為第4頁。5引言建一個茅草屋的過程建一個別墅的過程寫一個helloworld程序開發(fā)一個圖書館圖書信息管理軟件過程初識軟件工程全文共67頁,當(dāng)前為第5頁。6簡陋的小屋—太簡單!不要設(shè)計初識軟件工程全文共67頁,當(dāng)前為第6頁。7新農(nóng)村別墅造型圖—復(fù)雜!需要設(shè)計了初識軟件工程全文共67頁,當(dāng)前為第7頁。8別墅的設(shè)計—設(shè)計圖紙、施工圖紙初識軟件工程全文共67頁,當(dāng)前為第8頁。9設(shè)計和施工說明初識軟件工程全文共67頁,當(dāng)前為第9頁。10其他管理性文件工程方案書施工質(zhì)量方案書建設(shè)標(biāo)準(zhǔn)和標(biāo)準(zhǔn)施工手冊……初識軟件工程全文共67頁,當(dāng)前為第10頁。11典型helloworld程序—太簡單!不要設(shè)計#include<stdio.h>

intmain()

{

printf(“helloworld!〞);//輸出helloworld!

return0;

}初識軟件工程全文共67頁,當(dāng)前為第11頁。12圖書館圖書信息管理軟件—復(fù)雜!需要設(shè)計初識軟件工程全文共67頁,當(dāng)前為第12頁。13圖書館信息管理系統(tǒng)--需求分析初識軟件工程全文共67頁,當(dāng)前為第13頁。14圖書館信息管理系統(tǒng)--功能設(shè)計初識軟件工程全文共67頁,當(dāng)前為第14頁。15圖書館信息管理系統(tǒng)--物理模型設(shè)計初識軟件工程全文共67頁,當(dāng)前為第15頁。16圖書館信息管理系統(tǒng)—局部邏輯模型設(shè)計初識軟件工程全文共67頁,當(dāng)前為第16頁。17圖書館信息管理系統(tǒng)--數(shù)據(jù)設(shè)計--過程設(shè)計初識軟件工程全文共67頁,當(dāng)前為第17頁。18圖書館信息管理系統(tǒng)--界面設(shè)計初識軟件工程全文共67頁,當(dāng)前為第18頁。19點評:軟件生產(chǎn)同其他行業(yè),例如建筑行業(yè)一樣需要工程化、規(guī)?;⒆詣踊?、標(biāo)準(zhǔn)化。軟件生產(chǎn)過程中也有中間環(huán)節(jié)(設(shè)計物理模型、邏輯模型、界面、數(shù)據(jù)、過程等等),也可以隨時進行質(zhì)量檢查。軟件生產(chǎn)中也需要有高效的工具。軟件生產(chǎn)人員也可以細(xì)分為:分析員、設(shè)計員、程序員、測試員、操作員、維護人員等等。軟件生產(chǎn)低水平的手工作坊不能適應(yīng)當(dāng)今的大規(guī)模軟件開發(fā)需求……怎么辦?軟件工程化開發(fā)與維護!初識軟件工程全文共67頁,當(dāng)前為第19頁。20主要內(nèi)容1)軟件的特點2)軟件危機的現(xiàn)象3)軟件工程定義及其概念4)軟件工程開展簡史5)軟件工程的7條根本原理6)主流的軟件工程方法7)軟件生命周期模型掌握理解掌握了解

理解理解理解要求初識軟件工程全文共67頁,當(dāng)前為第20頁。211.1軟件與軟件危機1.1.1軟件定義1983年,IEEE(國際電氣與電子工程協(xié)會)為軟件下的定義是:計算機程序、方法、規(guī)則和相關(guān)的文檔資料以及在計算機上運行時所必需的數(shù)據(jù)。對軟件比較公認(rèn)的解釋:軟件是計算機系統(tǒng)中與硬件相互依存的另一局部,它包括程序、相關(guān)數(shù)據(jù)及其說明文檔。記住軟件=程序+數(shù)據(jù)+文檔軟件≠程序初識軟件工程全文共67頁,當(dāng)前為第21頁。221.1軟件與軟件危機1.1.2軟件的特點:軟件的質(zhì)量是開發(fā)出來的,不是“制造〞出來的軟件可能會被“廢棄〞,但不會被“用壞〞過去的軟件大多是“定制〞,而不是“裝配〞的。P2初識軟件工程全文共67頁,當(dāng)前為第22頁。231.1.2軟件的特點(續(xù))軟件生產(chǎn)至今尚未擺脫手工方式,軟件開發(fā)的手工行為造就了一個致命的問題,就是為應(yīng)用“量身訂做〞軟件。其他工程領(lǐng)域有產(chǎn)品標(biāo)準(zhǔn),所有生產(chǎn)廠家按照標(biāo)準(zhǔn)生產(chǎn)產(chǎn)品。例如,不管哪個廠家生產(chǎn)的燈泡,只要瓦數(shù)、電壓、電流、接口幾個指標(biāo)符合要求,用戶買來裝上就可以使用。而長期以來,軟件給人的感覺是修改幾條指令很簡單,客戶總是強調(diào)軟件要適應(yīng)自己的業(yè)務(wù)需求。因此,軟件產(chǎn)品大多是為客戶“訂做〞的,通用性差。軟件涉及各行各業(yè)的知識,這對軟件工程師提出了很高要求。軟件不僅是一種在市場上推銷的工業(yè)產(chǎn)品,也是與文學(xué)藝術(shù)作品相似的精神作品。與體力勞動相比,精神活動過程的特點是“不可見性〞,這大大增加了組織管理上的困難。初識軟件工程全文共67頁,當(dāng)前為第23頁。24社會對軟件的要求用戶的需求更高、涉及的領(lǐng)域更廣軟件運行環(huán)境更加龐大軟件更新?lián)Q代更加頻繁初識軟件工程全文共67頁,當(dāng)前為第24頁。251.1.3軟件危機--軟件生產(chǎn)的現(xiàn)狀P3“已完成〞的軟件不滿足用戶的需求軟件產(chǎn)品的質(zhì)量沒有保證。開發(fā)進度不能保障,交付時間一再拖延。開發(fā)本錢超出預(yù)算。軟件沒有適當(dāng)?shù)奈臋n危機定義:計算機軟件開發(fā)和維護過程中所遇到的一系列嚴(yán)重問題。初識軟件工程全文共67頁,當(dāng)前為第25頁。需求不滿足哈藥“城門失火〞2000年,哈爾濱醫(yī)藥集決定上ERP工程,參與軟件爭奪的兩個主要對手是Oracle與利瑪。一開始兩家在ERP軟件上打得難解難分,一年之后,Oracle擊敗利瑪,哈藥決定選擇標(biāo)致巨額投入擱淺MRPII工程的設(shè)備,目標(biāo)是實現(xiàn)全公司訂單、生產(chǎn)、庫存、銷售、人事、財務(wù)等的統(tǒng)一管理,以提高公司運行效益,增進企業(yè)經(jīng)濟效益。許繼工程被迫暫停1998年初,河南許繼集團采用Symix公司(現(xiàn)更返回初識軟件工程全文共67頁,當(dāng)前為第26頁。軟件質(zhì)量案例美國阿波羅8號太空飛船的一個軟件錯誤,造成了存儲器局部信息喪失;而阿波羅14號在飛行的10天中,出現(xiàn)了18個軟件錯誤。返回初識軟件工程全文共67頁,當(dāng)前為第27頁。28產(chǎn)生軟件危機的原因軟件維護費用急劇上升,直接威脅計算機應(yīng)用的擴大軟件生產(chǎn)技術(shù)進步緩慢,是加速這一軟件危機的重要原因初識軟件工程全文共67頁,當(dāng)前為第28頁。291.2軟件行業(yè)的出路?--軟件工程1)1993IEEE軟件工程定義:P6軟件工程是①將系統(tǒng)化的、標(biāo)準(zhǔn)的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護過程,即將工程化應(yīng)用于軟件開發(fā)和管理之中,②對①中所選方法的研究。注意:軟件工程研究所依據(jù)的基礎(chǔ)理論:數(shù)學(xué)、計算機科學(xué)、經(jīng)濟學(xué)、工程學(xué)、管理學(xué)和心理學(xué)等學(xué)科。其中數(shù)學(xué)和計算機科學(xué)用于構(gòu)造模型、分析算法;工程學(xué)用于評估本錢、制定標(biāo)準(zhǔn)和標(biāo)準(zhǔn);管理學(xué)和心理學(xué)用于進度、資源、環(huán)境、質(zhì)量、本錢等的分析和管理。初識軟件工程全文共67頁,當(dāng)前為第29頁。302)軟件工程研究的主要內(nèi)容軟件開發(fā)技術(shù)方面:研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。軟件管理方面:主要研究軟件管理學(xué)、軟件經(jīng)濟學(xué)、軟件心理學(xué)。初識軟件工程全文共67頁,當(dāng)前為第30頁。313)軟件工程層次化(補充)初識軟件工程全文共67頁,當(dāng)前為第31頁。324)標(biāo)準(zhǔn)化和文檔化(補充)標(biāo)準(zhǔn)化:使眾多的開發(fā)者遵守相同的標(biāo)準(zhǔn),使軟件生產(chǎn)擺脫個人生產(chǎn)方式,進入標(biāo)準(zhǔn)化、工程化的生產(chǎn)方式—關(guān)注國標(biāo)、行標(biāo)。文檔化:把軟件的設(shè)計思想、設(shè)計過程和實現(xiàn)過程完整地記錄下來,便于各類相關(guān)人員交流和溝通;使軟件開發(fā)過程由不可見變?yōu)榭梢?便于管理者對軟件生產(chǎn)進度和開發(fā)過程進行管理;是驗收、質(zhì)量檢測的標(biāo)準(zhǔn)和依據(jù)。初識軟件工程全文共67頁,當(dāng)前為第32頁。335)軟件工程的目標(biāo)(補充)軟件工程旨在開發(fā)滿足用戶需要、及時交付、不超過預(yù)算和無故障的軟件,其主要目標(biāo)如下:實現(xiàn)預(yù)期的軟件功能,到達較好的軟件性能,滿足用戶的需求。增強軟件過程可見性和可控性,保證軟件的質(zhì)量。提高軟件的可維護性,降低維護費用。提高軟件開發(fā)生產(chǎn)率,及時交付使用。合理預(yù)算開發(fā)本錢,付出較低的開發(fā)費用。初識軟件工程全文共67頁,當(dāng)前為第33頁。軟件工程7條根本原理(補充)原理1、用分階段的生命周期方案嚴(yán)格管理

在軟件開發(fā)與維護的漫長生命周期中,需要完成許多性質(zhì)各異的工作,這條根本原理意味著,應(yīng)該把軟件生命周期劃分成若干階段,并相應(yīng)地制定出切實可行的方案,按照方案對軟件的開發(fā)與維護工作進行控制。初識軟件工程全文共67頁,當(dāng)前為第34頁。原理2、堅持進行階段評審。軟件的質(zhì)量保證工作不能等到編碼階段結(jié)束之后再進行。經(jīng)過大量的統(tǒng)計數(shù)據(jù)說明,大局部錯誤是在編碼之前造成的,其中,設(shè)計錯誤約占軟件錯誤的63%,編碼錯誤占37%。在前期改正錯誤所需要的可能只是橡皮和鉛筆,而在交付后改正錯誤需要的工作就太多了:查找出錯的代碼、重新組織程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)、測試、修改文檔。也就是說,錯誤發(fā)現(xiàn)與改正的越晚,所需付出的代價也越高。因此,在每個階段都應(yīng)該進行嚴(yán)格的評審,以便盡早發(fā)現(xiàn)在軟件開發(fā)過程中所犯的錯誤,是一條必須遵循的重要原則。軟件工程核心--7條根本原理初識軟件工程全文共67頁,當(dāng)前為第35頁。原理3、實行嚴(yán)格的產(chǎn)品控制基準(zhǔn)配置又稱基線配置,它們是經(jīng)過階段評審后的軟件配置成份?;鶞?zhǔn)配置管理的思想是:一切有關(guān)修改軟件的建議,特別是涉及到對基準(zhǔn)配置的修改建議,都必須按照嚴(yán)格的規(guī)程進行評審和控制,獲得批準(zhǔn)以后才能實施修改。目的是當(dāng)需求變動時,其它各階段的文檔或代碼隨之相應(yīng)變動,以保證軟件的一致性。軟件工程核心--7條根本原理初識軟件工程全文共67頁,當(dāng)前為第36頁。原理4、采用現(xiàn)代程序設(shè)計技術(shù)自從提出軟件工程概念后,人們一直把主要精力用于研究各種新的程序設(shè)計技術(shù)。60年代末提出了結(jié)構(gòu)化程序設(shè)計技術(shù),以后又進一步開展出結(jié)構(gòu)化分析與設(shè)計技術(shù)、面向?qū)ο蟮姆治龊驮O(shè)計技術(shù)。實踐說明,采用先進的技術(shù)既可提高軟件開發(fā)和維護的效率,又可提高軟件質(zhì)量。軟件工程核心--7條根本原理初識軟件工程全文共67頁,當(dāng)前為第37頁。原理5、結(jié)果應(yīng)能清楚地審查軟件是一種看不見、摸不著的邏輯產(chǎn)品。軟件開發(fā)小組的工作進展情況難于評價和管理。為更好地進行管理,應(yīng)根據(jù)軟件開發(fā)的總目標(biāo)及完成期限,明確地規(guī)定開發(fā)小組的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使所得到的產(chǎn)品有明確的標(biāo)準(zhǔn)能清楚地審查。軟件工程核心--7條根本原理初識軟件工程全文共67頁,當(dāng)前為第38頁。原理6、開發(fā)小組的人員應(yīng)該少而精軟件開發(fā)小組成員的素質(zhì)應(yīng)該好,人數(shù)不宜過多。素質(zhì)高的人員開發(fā)效率高、質(zhì)量好、錯誤少。開發(fā)小組人員過多,信息交流造成的通信開銷會急劇增加。軟件工程核心--7條根本原理初識軟件工程全文共67頁,當(dāng)前為第39頁。原理7、成認(rèn)不斷改進軟件工程實踐的必要性遵循上述六條根本原理,就能夠按照當(dāng)代軟件工程根本原理實現(xiàn)軟件的工程化生產(chǎn)。但是,僅有上述六條原理并不能保證軟件開發(fā)與維護的過程能趕上時代前進的步伐,因此,應(yīng)把成認(rèn)不斷改進軟件工程實踐的必要性作為軟件工程的第七條根本原理。軟件工程核心--7條根本原理初識軟件工程全文共67頁,當(dāng)前為第40頁。41軟件過程模型(補充)1)定義:軟件過程是人們開發(fā)和維護軟件及相關(guān)產(chǎn)品(如軟件工程方案,設(shè)計文檔、代碼、測試用例及用戶手冊)的活動、方法、實踐和改進的集合。解釋:過程是為了到達一個目標(biāo)所進行的一系列活動,或者說是為到達一個目標(biāo)而設(shè)計的“路線圖〞。例如:為了培養(yǎng)一個世界體操冠軍,需要研究訓(xùn)練方法、運用先進的訓(xùn)練器械、不斷改進訓(xùn)練過程,最終有可能培養(yǎng)出世界冠軍。比較:軟件開發(fā)和維護工作的目標(biāo)是按時交付高質(zhì)量的、滿足需求的、低本錢的軟件代碼和文檔,為此也需要研究軟件工程的過程、工具和方法,比方過程可以選擇RUP或者XP,工具可以選擇RationalSuite或者其他,方法可以是面向?qū)ο笠部梢允敲嫦蜻^程等等。初識軟件工程全文共67頁,當(dāng)前為第41頁。1.4軟件生命周期p11一個軟件從提出開發(fā)要求到廢棄為止的整個時期。通常劃分為:計算機系統(tǒng)工程、需求分析、設(shè)計、編碼、測試、運行和維護8個階段。初識軟件工程全文共67頁,當(dāng)前為第42頁。43問題定義階段:主要內(nèi)容是確定“要解決什么問題?〞。通過對客戶的訪問調(diào)查,系統(tǒng)分析人員簡要地寫出關(guān)于問題的背景、解決的意義和目標(biāo)。一般這個活動放在可行性研究活動之前,作為其活動的一局部。初識軟件工程全文共67頁,當(dāng)前為第43頁。44可行性研究:確定“要解決的問題是否有解?〞。分析待開發(fā)系統(tǒng)的總體目標(biāo)和范圍,研究系統(tǒng)的可行性和可能的解決方案,對資源、本錢及進度進行合理的估算。初識軟件工程全文共67頁,當(dāng)前為第44頁。45需求分析:明確“為了解決這個問題,系統(tǒng)必須做什么?〞。通過分析、整理和提煉所收集到的用戶需求,建立完整的分析模型,將其編寫成軟件需求規(guī)格說明和初步的用戶手冊。通過評審需求規(guī)格說明書,確保對用戶需求到達共同的理解與認(rèn)識。需求規(guī)格說明書明確地描述了軟件的功能,列出軟件必須滿足的所有約束條件,并定義軟件的輸入和輸出接口。初識軟件工程全文共67頁,當(dāng)前為第45頁。46概要設(shè)計:概要設(shè)計“系統(tǒng)的藍(lán)圖〞。確定解決問題的策略,設(shè)計目標(biāo)系統(tǒng)框架結(jié)構(gòu)和主要元素的布局。初識軟件工程全文共67頁,當(dāng)前為第46頁。47詳細(xì)設(shè)計:詳細(xì)設(shè)計,根據(jù)整體結(jié)構(gòu)設(shè)計具體的細(xì)節(jié):用戶界面設(shè)計,模塊實現(xiàn)算法、數(shù)據(jù)結(jié)構(gòu)和接口等,編寫設(shè)計說明書,并組織進行設(shè)計評審。設(shè)計過程將現(xiàn)實世界的問題模型轉(zhuǎn)換成計算機世界的實現(xiàn)模型,設(shè)計同樣需要文檔化,并應(yīng)當(dāng)在編寫程序之前評審其質(zhì)量。初識軟件工程全文共67頁,當(dāng)前為第47頁。48編碼和單元測試:將所設(shè)計的各個模塊編寫成計算機可接受的程序代碼。在設(shè)計測試用例的基礎(chǔ)上,測試軟件的各個組成模塊。然后,將各個模塊集成起來,測試整個產(chǎn)品的功能和性能是否滿足已有的規(guī)格說明。一旦生成了代碼,就可以開始單元測試,這種測試一般由程序員完成。初識軟件工程全文共67頁,當(dāng)前為第48頁。49系統(tǒng)集成和綜合測試:軟件是作為一個整體運行的,而模塊的集成方法和順序?qū)ψ罱K的產(chǎn)品質(zhì)量具有重大的影響。因此,除了單個模塊的測試外,還需要進行系統(tǒng)集成,以及集成測試、系統(tǒng)測試和驗收測試等。初識軟件工程全文共67頁,當(dāng)前為第49頁。50運行和維護:一旦軟件交付運行之后,所做的任何修改就是維護。維護是軟件過程的一個組成局部,應(yīng)當(dāng)在軟件的設(shè)計和實現(xiàn)階段充分考慮軟件的可維護性。初識軟件工程全文共67頁,當(dāng)前為第50頁。511.5了解軟件開發(fā)模型上述個階段順序不同產(chǎn)生了不同的軟件生命周期模型,例如,嚴(yán)格按照8大活動順序地執(zhí)行,叫做瀑布模型。先問題定義,然后編程,在做需求分析和設(shè)計……形成了快速原型化模型。還有其他的漸增模型、螺旋模型,快速應(yīng)用開發(fā)模型。近幾年主流的軟件過程模型有敏捷軟件過程(ASP)、Rational統(tǒng)一過程(RUP)、Microsoft解決方案框架(MSF)、個體軟件過程(PSP)和小組軟件過程(TSP)。初識軟件工程全文共67頁,當(dāng)前為第51頁。521.5.1瀑布模型由W.Royce于1970年首先提出的。瀑布模型規(guī)定了軟件生命周期的各項活動:問題定義、可行性研究、需求分析、軟件設(shè)計、編碼、測試、運行和維護。各項活動自頂向下、相互銜接如同瀑布一樣。這里的修飾詞“瀑布〞非常貼切,明確了一個活動結(jié)束,進入到下一個活動后,很難再回到前一個活動中去,也就是工作不可逆轉(zhuǎn)。初識軟件工程全文共67頁,當(dāng)前為第52頁。53瀑布模型的優(yōu)缺點:為工程提供了按階段劃分的檢查點;當(dāng)前一活動完成后,只需要去關(guān)注后續(xù)活動;它提供了一個模板,這個模板使得分析、設(shè)計、編碼、測試和支持的方法可以在該模板下有一個共同的指導(dǎo)。缺點:由于開發(fā)模型是線性的,用戶只有等到整個過程的末期才能見到開發(fā)成果,從而增加了開發(fā)的風(fēng)險;各個階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增加了工作量;早期的錯誤可能要等到開發(fā)后期的測試階段才能發(fā)現(xiàn),進而帶來嚴(yán)重的后果。初識軟件工程全文共67頁,當(dāng)前為第53頁。54快速原型化模型根本思想:在需求分析的同時,以較小的代價快速建立一個能夠反映用戶主要需求的原型系統(tǒng)。用戶在原型系統(tǒng)上可以進行根本操作,并且提出改進意見。分析人員根據(jù)用戶的意見完善原型,然后再由用戶評價,提出建議,如此往復(fù),直到開發(fā)的原型系統(tǒng)滿足用戶的需求為止。初識軟件工程全文共67頁,當(dāng)前為第54頁。55快速原型化模型的優(yōu)缺點客戶和開發(fā)者可以通過原型快速對需求達成一致,明確一致的需求對軟件設(shè)計和實現(xiàn)具有重要作用;克服瀑布模型的缺點,減少由于軟件需求不明確帶來的開發(fā)風(fēng)險。所選用的開發(fā)技術(shù)和工具不一定符合主流的開展;快速建立起來的系統(tǒng)結(jié)構(gòu)加上連續(xù)的修改可能會導(dǎo)致產(chǎn)品質(zhì)量低下。如果拋棄原型其缺點課防止。初識軟件工程全文共67頁,當(dāng)前為第55頁。56漸增模型也叫增量模型也叫增量模型,是從一組給定的需求開始,通過構(gòu)造一系列可執(zhí)行的軟件構(gòu)件來實施開發(fā)活動,以增量方式逐步完善待開發(fā)的軟件。當(dāng)一個新的構(gòu)件被編碼和測試后,并入到軟件系統(tǒng)結(jié)構(gòu)中,然后將該結(jié)構(gòu)作為一個整體進行測試。這個過程不斷循環(huán)往復(fù)直到軟件系統(tǒng)到達要求的功能為止。演化模型在各個階段并不交付一個可運行的完整產(chǎn)品,而是交付一個子集。整個產(chǎn)品被分解成多個構(gòu)件,開發(fā)人員可以分別實現(xiàn)各個構(gòu)件,每個構(gòu)件都可以獨立運行。初識軟件工程全文共67頁,當(dāng)前為第56頁。57漸增模型的優(yōu)缺點:人員分配靈活,剛開始不用投入大量人力資源,當(dāng)核心產(chǎn)品受歡送時,可增加人力實現(xiàn)下一個增量;它提供了一種先推出核心產(chǎn)品的途徑;具有一定的市場運作的靈活性。至始至終開發(fā)者和客戶必須在一起,直到完全版本出來。初識軟件工程全文共67頁,當(dāng)前為第57頁。58螺旋模型:根本思想:通過建立原型、劃分開發(fā)階段來降低風(fēng)險,一旦在開發(fā)過程中風(fēng)險過大就停止繼續(xù)開發(fā)。螺旋模型一般被劃分為2~6個框架活動,沿著順時針布局,如下圖。初識軟件工程全文共67頁,當(dāng)前為第58頁。59初識軟件工程全文共67頁,當(dāng)前為第59頁。60螺旋模型解釋:沿螺旋線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個新的軟件版本。左上象限:確定初步的目標(biāo)、制定方案和限制條件。右上象限:風(fēng)險分析。右下象限:開發(fā)原型,理解需求,左下象限:對原型進行評價,修正需求。根據(jù)用戶提出的建議進入螺旋的第二層,又與用戶交談,再次執(zhí)行方案和實施方案,然后再一次分析實施的風(fēng)險,如果風(fēng)險過大,可以就此終止,否則再次進入實施階段,用戶評價這一輪的實施結(jié)果,并提出修改建議。然后進入第三層螺旋……,如此下去,逐步延伸,最終用戶獲得完整的系統(tǒng)。初識軟件工程全文共67頁,當(dāng)前為第60頁。61螺旋模型的優(yōu)缺點:對于大型系統(tǒng)及軟件的開發(fā),這種模型是一個很好的方法。開發(fā)者和客戶能夠較好地對待和理解每一個演化級別上的風(fēng)險。需要相當(dāng)?shù)娘L(fēng)險分析評估專門技術(shù),比較復(fù)雜。初識軟件工程全文共67頁,當(dāng)前為第61頁。1.3軟件的開發(fā)方法1)結(jié)構(gòu)化方法1978年,E.Yourdon和L.L.Constantine提出了Yourdon方法,也稱為結(jié)構(gòu)化方法或面向功能的軟件開發(fā)方法或面向數(shù)據(jù)流的方法。Yourdon方法是80年代使用最廣泛的軟件開發(fā)方法。它首先用結(jié)構(gòu)化分析技術(shù)進行需求分析,然后用結(jié)構(gòu)化設(shè)計技術(shù)進行總體設(shè)計和詳細(xì)設(shè)計,最后是結(jié)構(gòu)化編程。這一方法的精髓是自頂向下、逐步求精,也就是將功能逐步分解,直到人們可以理解和控制它為止。初識軟件工程全文共67頁,當(dāng)前為第62頁。2)面向?qū)ο蠓椒ǎ貉芯渴加?966年,自90年代以來,面向?qū)ο蟮姆治?、設(shè)計、測試、度量和管理等研究都得到長足開展。對象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實體有直接對應(yīng)關(guān)系,一個對象類定義了具有相似性質(zhì)的一組對象。繼承性是對具有層次關(guān)系的類的屬性和操作進行共享的一種方式。根本思想:用對象模擬問題領(lǐng)域中的實體,以對象間的關(guān)系刻畫實體間聯(lián)系。本質(zhì)是主張從客觀世界固有的事物出發(fā)構(gòu)造系統(tǒng)。初識軟件工程全文共67頁,當(dāng)前為第63頁。11.軟件工程研究的最新方向軟件形式語言的研究:目前,大局部軟件文檔都是用自然語言書寫的。由于自然語言本身具有模糊性,因此有一局部專家研究“形式化描述語言的應(yīng)用,以及不同形式化語言之間的轉(zhuǎn)換〞。這類研究工作難度較大,也不容易為一般人所接受。但是由于越來越多的大型軟件的復(fù)雜程度與日俱增,這些軟件一旦出錯所引起的后果十分嚴(yán)重,所以形式化的研究工作就顯得非常重要。構(gòu)件技術(shù):軟件開發(fā)構(gòu)件化可以說是軟件開發(fā)技術(shù)的一個開展趨勢,也是軟件工程界的一個熱門話題。近年來,軟件技術(shù)的進步以及CORBA,DCOM,JavaBean等構(gòu)件標(biāo)準(zhǔn)的出現(xiàn)已經(jīng)使情況開始改變,這給軟件危機的真正緩和

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論