軟件與軟件工程介紹



《軟件與軟件工程介紹》由會員分享,可在線閱讀,更多相關《軟件與軟件工程介紹(72頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,?#?,Cliquez pour modifier le style du titre,Cliquez pour modifier les styles du texte du masque,Deuxième niveau,Troisième niveau,Quatrième niveau,Cinquième niveau,*,,?#?,第1章 軟件與軟件工程的概念,軟件的概念、特性和分類,軟件危機與軟件工程,系統(tǒng)工程的目標,軟件生存期,軟件生存期模型,軟件工程知識體系及知識域,,1.1,軟,軟件,的,
2、的概念,、,、特性,和,和分類,軟件的,作,作用,具有產品和產品生,產,產載體的雙重,作,作用。,作為產,品,品,軟,件,件顯示,了,了由計,算,算機硬,件,件體現(xiàn),的,的計算,能,能力,,扮,扮演著,信,信息轉,換,換的角,色,色:產,生,生、管,理,理、查,詢,詢、修,改,改、顯,示,示或者,傳,傳遞各,種,種不同,的,的信息,。,。,作為產,品,品生產,的,的載體,,,,軟件,提,提供了,計,計算機,控,控制(,操,操作系,統(tǒng),統(tǒng))、,信,信息通,信,信(網(wǎng),絡,絡),,以,以及應,用,用程序,開,開發(fā)和,控,控制的,基,基礎平,臺,臺(軟,件,件工具,和,和環(huán)境,),)。,,1.1,軟
3、,軟件,的,的概念,、,、特性,和,和分類,軟件的,概,概念,雖然軟,件,件對于,現(xiàn),現(xiàn)代的,人,人并不,陌,陌生,,但,但很多,人,人對于,軟,軟件的,理,理解并,不,不準確,,,,“軟件就,是,是程序,,,,軟件,開,開發(fā)就,是,是編程,序,序”的這,種,種錯誤,觀,觀點仍,然,然存在,。,。,什么是,軟,軟件?,,1.1,軟,軟件,的,的概念,、,、特性,和,和分類,軟件,是計算,機,機系統(tǒng),中,中與硬,件,件相互,依,依存的,另,另一部,分,分,它,是,是包括,程,程序,,數(shù),數(shù)據(jù)及,其,其相關,文,文檔的,完,完整集,合,合。,程序,是按事,先,先設計,的,的功能,和,和性能,要,要
4、求執(zhí),行,行的指,令,令序列,。,。,數(shù)據(jù),是使程,序,序能正,常,常操縱,信,信息的,數(shù),數(shù)據(jù)結,構,構。,文檔,是與程,序,序開發(fā),,,,維護,和,和使用,有,有關的,圖,圖文材,料,料。,,1.1,軟,軟件,的,的概念,、,、特性,和,和分類,軟件的,特,特性,(1)形態(tài)特,性,性:軟件是,無,無形的,、,、不可,見,見的邏,輯,輯實體,。,。度量,常,常規(guī)產,品,品的幾,何,何尺寸,、,、物理,性,性質和,化,化學成,分,分對它,卻,卻是毫,無,無意義,的,的。,(2)智能特,性,性:軟件,是,是復雜,的,的智力,產,產品,,它,它的開,發(fā),發(fā)凝聚,了,了人們,的,的大量,腦,腦力勞,
5、動,動,它,本,本身也,體,體現(xiàn)了,知,知識實,踐,踐經驗,和,和人類,的,的智慧,,,,具有,一,一定的,智,智能。,它,它可以,幫,幫助我,們,們解決,復,復雜的,計,計算、,分,分析、,判,判斷和,決,決策問,題,題。,,(3)開發(fā)特,性,性:盡管已,經,經有了,一,一些工,具,具(也,是,是軟件,),)來輔,助,助軟件,開,開發(fā)工,作,作,但,到,到目前,為,為止尚,未,未實現(xiàn),自,自動化,。,。軟件,開,開發(fā)中,仍,仍然包,含,含了相,當,當份量,的,的個體,勞,勞動,,使,使得這,一,一大規(guī),模,模知識,型,型工作,充,充滿了,個,個人行,為,為和個,人,人因素,。,。,(4)質量
6、特,性,性:目前,還,還無法,得,得到完,全,全沒有,缺,缺陷的,軟,軟件產,品,品 。,1.1,軟,軟件,的,的概念,、,、特性,和,和分類,,(5)生產特,性,性:與硬件,或,或傳統(tǒng),的,的制造,業(yè),業(yè)產品,的,的生產,完,完全不,同,同,軟,件,件一旦,設,設計開,發(fā),發(fā)出來,,,,如果,需,需要提,供,供多個,用,用戶,,它,它的復,制,制十分,簡,簡單,,其,其成本,也,也極為,有,有限,。,。,(6)管理特,性,性:由于,上,上述的,幾,幾個特,點,點,使,得,得軟件,的,的開發(fā),管,管理顯,得,得更為,重,重要,,也,也更為,獨,獨特,。,。,1.1,軟,軟件,的,的概念,、,、
7、特性,和,和分類,,(7)環(huán)境特,性,性:軟件的,開,開發(fā)和,運,運行都,離,離不開,相,相關的,計,計算機,系,系統(tǒng)環(huán),境,境,包,括,括支持,它,它的開,發(fā),發(fā)和運,行,行的相,關,關硬件,和,和軟件,。,。軟件,對,對于計,算,算機系,統(tǒng),統(tǒng)的環(huán),境,境有著,不,不可擺,脫,脫的依,賴,賴性。,(8)維護特,性,性:軟件,投,投入使,用,用以后,需,需要進,行,行維護,,,,但這,種,種維護,與,與傳統(tǒng),產,產業(yè)產,品,品的維,護,護概念,有,有著很,大,大差別,。,。,1.1,軟,軟件,的,的概念,、,、特性,和,和分類,,(9)廢棄特,性,性:與硬件,不,不同,,軟,軟件并,不,不是
8、由,于,于被“,用,用壞”,而,而被廢,棄,棄的。,(10,),)應用特,性,性:軟件,的,的應用,極,極為廣,泛,泛,如,今,今它已,滲,滲入國,民,民經濟,和,和國防,的,的各個,領,領域,,現(xiàn),現(xiàn)已成,為,為信息,產,產業(yè)、,先,先進制,造,造業(yè)和,現(xiàn),現(xiàn)代服,務,務業(yè)的,核,核心,,占,占據(jù)了,無,無可取,代,代的地,位,位。,1.1,軟,軟件,的,的概念,、,、特性,和,和分類,,1.1,軟,軟件,的,的概念,、,、特性,和,和分類,軟件的,分,分類,按照軟,件,件的作,用,用,一,般,般可以,將,將軟件,做,做如下,分,分類。,(1)系統(tǒng)軟,件,件,(2)應用軟,件,件,(3)支撐
9、軟,件,件,(4)可復用,軟,軟件,,軟件危,機,機暴發(fā),于,于上個,世,世紀六,十,十年代,末,末。,主要表,現(xiàn),現(xiàn)為:,軟,軟件的,發(fā),發(fā)展速,度,度遠遠,滯,滯后于,硬,硬件的,發(fā),發(fā)展速,度,度,不,能,能滿足,社,社會日,益,益增長,的,的軟件,需,需求。,軟,軟件開,發(fā),發(fā)周期,長,長、成,本,本高、,質,質量差,、,、維護,困,困難。,,1.2,軟,軟,件,件危機,與,與軟件,工,工程,軟件危,機,機,,典型例,子,子:美,國,國IBM公司在1963年至1966年開發(fā),的,的IBM360機的操,作,作系統(tǒng),。,。,這個項,目,目的負,責,責人F.D,.,.Brooks事后總,結,
10、結了他,在,在組織,開,開發(fā)過,程,程中的,沉,沉痛教,訓,訓時說,:,:,……正像一,只,只逃亡,的,的野獸,落,落到泥,潭,潭中做,垂,垂死的,掙,掙扎,,越,越是掙,扎,扎,陷,得,得越深,。,。最后,無,無法逃,脫,脫滅頂,的,的災難,,,,……程序設,計,計工作,正,正像這,樣,樣一個,泥,泥潭,……一批批,程,程序員,被,被迫在,泥,泥潭中,拼,拼命掙,扎,扎,……誰也沒,有,有料到,竟,竟會陷,入,入這樣,的,的困境……,1.2,軟,軟,件,件危機,與,與軟件,工,工程,,具體來,說,說,軟,件,件危機,主,主要有,以,以下一,些,些典型,表,表現(xiàn):,對軟件,開,開發(fā)成,本,本和
11、進,度,度的估,計,計常常,很,很不準,確,確。,用戶對,“,“已完,成,成的”,軟,軟件系,統(tǒng),統(tǒng)不滿,意,意的現(xiàn),象,象經常,發(fā),發(fā)生。,軟件產,品,品的質,量,量往往,靠,靠不住,。,。,軟件常,常,常是不,可,可維護,的,的。,軟件通,常,常沒有,適,適當?shù)?文,文檔資,料,料。,軟件成,本,本在計,算,算機系,統(tǒng),統(tǒng)總成,本,本中所,占,占的比,例,例逐年,上,上升。,軟件開,發(fā),發(fā)生產,率,率提高,的,的速度,,,,既跟,不,不上硬,件,件的發(fā),展,展速度,,,,也遠,遠,遠跟不,上,上計算,機,機應用,迅,迅速普,及,及深入,的,的趨勢,。,。,1.2,軟,軟,件,件危機,與,與
12、軟件,工,工程,,除了軟,件,件本身,的,的特點,,,,軟件,危,危機發(fā),生,生的主,要,要原因,有,有:,,缺乏軟,件,件開發(fā),的,的經驗,和,和有關,軟,軟件開,發(fā),發(fā)數(shù)據(jù),的,的積累,,,,使得,開,開發(fā)工,作,作的計,劃,劃很難,制,制定。,軟件人,員,員與用,戶,戶的交,流,流存在,障,障礙,,使,使得獲,取,取的需,求,求不充,分,分或存,在,在錯誤,。,。,軟件開,發(fā),發(fā)過程,不,不規(guī)范,。,。如,,沒,沒有真,正,正了解,用,用戶的,需,需求就,開,開始編,程,程序。,隨著軟,件,件規(guī)模,的,的增大,,,,其復,雜,雜性往,往,往會呈,指,指數(shù)級,升,升高。,需,需要很,多,多
13、人分,工,工協(xié)作,,,,不僅,涉,涉及技,術,術問題,,,,更重,要,要的是,必,必須有,科,科學嚴,格,格的管,理,理。,缺少有,效,效的軟,件,件評測,手,手段,,提,提交用,戶,戶的軟,件,件質量,不,不能完,全,全保證,。,。,1.2,軟,軟,件,件危機,與,與軟件,工,工程,,徹底消,除,除“軟,件,件就是,程,程序”,的,的錯誤,觀,觀念。,充分認,識,識到軟,件,件開發(fā),應,應該是,一,一種組,織,織良好,、,、管理,嚴,嚴密、,各,各類人,員,員協(xié)同,配,配合、,共,共同完,成,成的工,程,程項目,。,。,推廣和,使,使用在,實,實踐中,總,總結出,來,來的開,發(fā),發(fā)軟件,的,
14、的成功,技,技術、,方,方法和,工,工具。,按工程,化,化的原,則,則和方,法,法組織,軟,軟件開,發(fā),發(fā)工作,。,。,,如何擺,脫,脫軟件,危,危機?,1.2,軟,軟,件,件危機,與,與軟件,工,工程,,1.2,軟,軟,件,件危機,與,與軟件,工,工程,軟件工,程,程的概,念,念,,為了克,服,服軟件,危,危機,1968年10月在北,大,大西洋,公,公約組,織,織(NATO)召開,的,的計算,機,機科學,會,會議上,,,,F(xiàn)ritzBauer首次提,出,出“軟,件,件工程,”,”的概,念,念,試,圖,圖將工,程,程化方,法,法應用,于,于軟件,開,開發(fā)。,在NATO會議上,,,,F(xiàn)ritzB
15、auer對軟件,工,工程的,定,定義是,:,:“軟,件,件工程,就,就是為,了,了經濟,地,地獲得,可,可靠的,且,且能在,實,實際機,器,器上有,效,效地運,行,行的軟,件,件,而,建,建立和,使,使用完,善,善的工,程,程原理,。,?!?,1993年IEEE給出的,定,定義:,“軟件,工,工程是,:,:①,把,把系統(tǒng),的,的、規(guī),范,范的、,可,可度量,的,的途徑,應,應用于,軟,軟件開,發(fā),發(fā)、運,行,行和維,護,護過程,,,,也就,是,是把工,程,程應用,于,于軟件,;,;②,研,研究①,中,中提到,的,的途徑,。,。”。,1.2,軟,軟,件,件危機,與,與軟件,工,工程,,軟件工,程
16、,程是指導,計,計算機,軟,軟件開,發(fā),發(fā)和維,護,護的一,門,門工程,學,學科。,采,采用工,程,程的概,念,念、原,理,理、技,術,術和方,法,法來開,發(fā),發(fā)和維,護,護軟件,,,,把經,過,過時間,考,考驗而,證,證明正,確,確的管,理,理技術,和,和當前,能,能夠得,到,到的最,好,好技術,結,結合起,來,來,以,經,經濟地,開,開發(fā)出,高,高質量,的,的軟件,并,并有效,地,地維護,它,它,這,就,就是軟,件,件工程,。,。,1.2,軟,軟,件,件危機,與,與軟件,工,工程,,1.3,軟,軟件,工,工程的,目,目標,軟件工,程,程的目,標,標是運,用,用先進,的,的軟件,開,開發(fā)技,
17、術,術和管,理,理方法,來,來提高,軟,軟件的,質,質量和,生,生產率,,,,也就,是,是要以,較,較短的,周,周期、,較,較低的,成,成本生,產,產出高,質,質量的,軟,軟件產,品,品,并,最,最終實,現(xiàn),現(xiàn)軟件,的,的工業(yè),化,化生產,。,。,,1.3,軟,軟件,工,工程的,目,目標,軟件的,質,質量特,性,性:功能性、可靠性、可使用,性,性、效率、可維護,性,性和可移植,性,性。,功能性是指軟,件,件所實,現(xiàn),現(xiàn)的功,能,能達到,它,它的設,計,計規(guī)范,和,和滿足,用,用戶需,求,求的程,度,度;,可靠性是指在,規(guī),規(guī)定的,時,時間和,條,條件下,,,,軟件,能,能夠正,常,常維持,其,
18、其工作,的,的能力,;,;,可使用,性,性是指為,了,了使用,該,該軟件,所,所需要,的,的能力,;,;,效率是指在,規(guī),規(guī)定的,條,條件下,用,用軟件,實,實現(xiàn)某,種,種功能,所,所需要,的,的計算,機,機資源,的,的有效,性,性;,可維護,性,性是指當,環(huán),環(huán)境改,變,變或軟,件,件運行,發(fā),發(fā)生故,障,障時,,為,為了使,其,其恢復,正,正常運,行,行所做,努,努力的,程,程度;,可,可移植,性,性是指,軟,軟件從,某,某一環(huán),境,境轉移,到,到另一,環(huán),環(huán)境時,所,所做努,力,力的程,度,度。,,1.3,軟,軟件,工,工程的,目,目標,質量目,標,標之間,的,的關系,,(1)關注大,型
19、,型軟件,的,的構造,,,(2)中心課,題,題是控,制,制復雜,性,性,(3)軟件經,常,常變化,,,(4)開發(fā)軟,件,件的效,率,率非常,重,重要,(5)和諧地,合,合作是,開,開發(fā)軟,件,件的關,鍵,鍵,(6)軟件必,須,須有效,地,地支持,它,它的用,戶,戶,(7)在軟件,工,工程領,域,域中是,由,由一種,文,文化背,景,景的人,替,替具有,另,另一種,文,文化背,景,景的人,創(chuàng),創(chuàng)造產,品,品,軟件工,程,程的本,質,質特性,,,(1)按軟件,生,生存周,期,期分階,段,段制訂,計,計劃并,認,認真實,施,施 ,(2)堅持進,行,行階段,評,評審,(3)堅持嚴,格
20、,格的產,品,品控制,,,(4)使用現(xiàn),代,代軟件,開,開發(fā)技,術,術,(5)明確責,任,任,(6)用人少,而,而精,(7)不斷改,進,進開發(fā),過,過程,軟件工,程,程的基,本,本原理,,1.4,軟,軟件,生,生存期,概念,,軟件也,有,有一個,孕,孕育、,誕,誕生、,成,成長、,成,成熟和,衰,衰亡的,生,生存過,程,程,我,們,們稱這,個,個過程,為,為軟件生,命,命周期或軟件生,存,存期。,,軟件生,存,存期由,軟,軟件定,義,義、軟,件,件開發(fā),和,和運行,維,維護3個時期,組,組成,,每,每個時,期,期又可,劃,劃分為,若,若干個,階,階段。,,1.4,軟,軟件,生,生存期
21、,軟件定,義,義時期,,主要任,務,務是解,決,決“做,什,什么”,的,的問題,,,,即確,定,定工程,的,的總目,標,標和可,行,行性;,導,導出實,現(xiàn),現(xiàn)工程,目,目標應,使,使用的,策,策略及,系,系統(tǒng)必,須,須完成,的,的功能,;,;估計,完,完成工,程,程需要,的,的資源,和,和成本,;,;制訂,工,工程進,度,度表。,,通常又,分,分為3個階段,:,:問題定,義,義、可行性,研,研究和需求分,析,析。,,1.4,軟,軟件,生,生存期,軟件開,發(fā),發(fā)時期,,主要任,務,務是解,決,決“如,何,何做”,的,的問題,,,,即具,體,體設計,和,和實現(xiàn),在,在前一,個,個時期,定,定義的,
22、軟,軟件。,,由概要設,計,計、詳細設,計,計、編碼和測試4個階段,組,組成。,,1.4,軟,軟件,生,生存期,軟件運,行,行維護,時,時期,主要任,務,務是使,軟,軟件持,久,久地滿,足,足用戶,的,的需要,,,,通常,有,有4類維護,活,活動:,改正性,維,維護,也就,是,是診斷,和,和改正,在,在使用,過,過程中,發(fā),發(fā)現(xiàn)的,軟,軟件錯,誤,誤;,適應性,維,維護,即修,改,改軟件,以,以適應,環(huán),環(huán)境的,變,變化;,完善性,維,維護,即根,據(jù),據(jù)用戶,的,的要求,改,改進或,擴,擴充軟,件,件,使,它,它更完,善,善;,預防性,維,維護,即修,改,改軟件,為,為將來,的,的維護,活,活
23、動預,先,先做準,備,備。,,1.4,軟,軟件,生,生存期,開發(fā)過,程,程中的,典,典型文,檔,檔,①軟件需,求,求規(guī)格,說,說明書:描述,將,將要開,發(fā),發(fā)的軟,件,件做什,么,么。,②項目計,劃,劃:描述,將,將要完,成,成的任,務,務及其,順,順序,,并,并估計,所,所需要,的,的時間,及,及工作,量,量。,③軟件測,試,試計劃:描述,如,如何測,試,試軟件,,,,使之,確,確保軟,件,件應實,現(xiàn),現(xiàn)規(guī)定,的,的功能,,,,并達,到,到預期,的,的性能,。,。,④軟件設,計,計說明,書,書:描述,軟,軟件的,結,結構,,包,包括概,要,要設計,及,及詳細,設,設計。,⑤用戶手,冊,冊:描
24、述,如,如何使,用,用軟件,。,。,,1.4,軟,軟件,生,生存期,各個階,段,段所要,完,完成的,基,基本任,務,務,問題定,義,義與可,行,行性研,究,究,本階段,要,要回答,的,的關鍵,問,問題是,“,“到底,要,要解決,什,什么問,題,題?在,成,成本和,時,時間的,限,限制條,件,件下能,否,否解決,問,問題?,是,是否值,得,得做?,”,”,(2)需求分,析,析,本階段,要,要回答,的,的關鍵,問,問題是,“,“目標,系,系統(tǒng)應,當,當做什,么,么?”,(3)軟件設,計,計,設計是,軟,軟件工,程,程的技,術,術核心,。,。本階,段,段要回,答,答的關,鍵,鍵問題,是,是“如,何,
25、何實現(xiàn),目,目標系,統(tǒng),統(tǒng)?”,,,,1.4,軟,軟件,生,生存期,各個階,段,段所要,完,完成的,基,基本任,務,務,(4)程序編,碼,碼和單,元,元測試,本階段,要,要解決,的,的問題,是,是“正,確,確地實,現(xiàn),現(xiàn)已做,的,的設計,”,”,即,“,“如何,編,編寫正,確,確的、,可,可維護,的,的程序,代,代碼?,”,”,(5)集成和,系,系統(tǒng)測,試,試,測試是,控,控制軟,件,件質量,的,的重要,手,手段,,本,本階段,的,的主要,任,任務是,做,做集成,測,測試和,系,系統(tǒng)測,試,試。,(6)軟件運,行,行和維,護,護,已交付,的,的軟件,投,投入正,式,式使用,,,,便進,入,入運
26、行,階,階段。,這,這一階,段,段可能,持,持續(xù)若,干,干年。,軟,軟件在,運,運行中,可,可能由,于,于多方,面,面的原,因,因,需,要,要對它,進,進行修,改,改。,,,1.5,軟,軟件,生,生存期,模,模型,瀑布模,型,型,快速原,型,型模型,增量模,型,型,螺旋模,型,型,噴泉模,型,型,統(tǒng)一過,程,程,,瀑布模,型,型,,在20世紀80年代之,前,前,瀑,布,布模型,一,一直是,唯,唯一被,廣,廣泛采,用,用的生,命,命周期,模,模型。,傳統(tǒng)的,瀑,瀑布模,型,型如圖,所,所示。,,瀑布模,型,型,瀑布模,型,型的特,點,點,階段間,具,具有順,序,序性和,依,依賴性,。,。其中,包
27、,包含兩,重,重含義,:,:,① 必,須,須等前,一,一階段,的,的工作,完,完成之,后,后,才,能,能開始,后,后一階,段,段的工,作,作;,② 前,一,一階段,的,的輸出,文,文檔就,是,是后一,階,階段的,輸,輸入文,檔,檔。,,瀑布模,型,型,瀑布模,型,型的特,點,點,推遲實,現(xiàn),現(xiàn)的觀,點,點,① 瀑,布,布模型,在,在編碼,之,之前設,置,置了系,統(tǒng),統(tǒng)分析,和,和系統(tǒng),設,設計的,各,各個階,段,段,分,析,析與設,計,計階段,的,的基本,任,任務規(guī),定,定,在,這,這兩個,階,階段主,要,要考慮,目,目標系,統(tǒng),統(tǒng)的邏,輯,輯模型,,,,不涉,及,及軟件,的,的物理,實,實
28、現(xiàn)。,② 清,楚,楚地區(qū),分,分邏輯,設,設計與,物,物理設,計,計,盡,可,可能推,遲,遲程序,的,的物理,實,實現(xiàn),,是,是按照,瀑,瀑布模,型,型開發(fā),軟,軟件的,一,一條重,要,要的指,導,導思想,。,。,,瀑布模,型,型,瀑布模,型,型的特,點,點,質量保,證,證的觀,點,點,① 每,個,個階段,都,都必須,完,完成規(guī),定,定的文,檔,檔,沒,有,有交出,合,合格的,文,文檔就,是,是沒有,完,完成該,階,階段的,任,任務。,② 每,個,個階段,結,結束前,都,都要對,所,所完成,的,的文檔,進,進行評,審,審,以,便,便盡早,發(fā),發(fā)現(xiàn)問,題,題,改,正,正錯誤,。,。,,瀑布模,型
29、,型,實際的,瀑,瀑布模,型,型,實際的,瀑,瀑布模,型,型是帶,“,“反饋,環(huán),環(huán)”的,,,,如圖,所,所示。,圖中實線箭,頭,頭表示,開,開發(fā)過,程,程,虛線箭,頭,頭表示,維,維護過,程,程。,,瀑布模,型,型,瀑布模,型,型的優(yōu),點,點,可強迫,開,開發(fā)人,員,員采用,規(guī),規(guī)范化,的,的方法,。,。,嚴格地,規(guī),規(guī)定了,每,每個階,段,段必須,提,提交的,文,文檔。,要求每,個,個階段,交,交出的,所,所有產,品,品都必,須,須是經,過,過驗證,的,的。,,瀑布模,型,型,瀑布模,型,型的缺,點,點,由于瀑,布,布模型,幾,幾乎完,全,全依賴,于,于書面,的,的規(guī)格,說,說明,,很,很
30、可能,導,導致最,終,終開發(fā),出,出的軟,件,件產品,不,不能真,正,正滿足,用,用戶的,需,需要。,如,如果需,求,求規(guī)格,說,說明與,用,用戶需,求,求之間,有,有差異,,,,就會,發(fā),發(fā)生這,種,種情況,。,。,瀑布模,型,型只適,用,用于項,目,目開始,時,時需求,已,已確定,的,的情況,。,。,,快速原,型,型模型,,快速原,型,型是快,速,速建立,起,起來的,可,可以在,計,計算機,上,上運行,的,的程序,,,,它所,能,能完成,的,的功能,往,往往是,最,最終產,品,品能完,成,成的功,能,能的一,個,個子集,。,。,快速原,型,型模型,如,如圖所,示,示。,,,快速原,型,型模
31、型,快速原,型,型模型,的,的優(yōu)點,(1)有助于,滿,滿足用,戶,戶的真,實,實需求,。,。,(2)原型系,統(tǒng),統(tǒng)已經,通,通過與,用,用戶的,交,交互而,得,得到驗,證,證,據(jù),此,此產生,的,的規(guī)格,說,說明文,檔,檔能夠,正,正確地,描,描述用,戶,戶需求,。,。,(3)軟件產,品,品的開,發(fā),發(fā)基本,上,上是按,線,線性順,序,序進行,。,。,(4)因為規(guī),格,格說明,文,文檔正,確,確地描,述,述了用,戶,戶需求,,,,因此,,,,在開,發(fā),發(fā)過程,的,的后續(xù),階,階段不,會,會因為,發(fā),發(fā)現(xiàn)規(guī),格,格說明,文,文檔的,錯,錯誤而,進,進行較,大,大的返,工,工。,,快速原,型,型模
32、型,快速原,型,型模型,的,的優(yōu)點,(5)開發(fā)人,員,員通過,建,建立原,型,型系統(tǒng),已,已經學,到,到了許,多,多東西,,,,因此,,,,在設,計,計和編,碼,碼階段,發(fā),發(fā)生錯,誤,誤的可,能,能性也,比,比較小,,,,這自,然,然減少,了,了在后,續(xù),續(xù)階段,需,需要改,正,正前面,階,階段所,犯,犯錯誤,的,的可能,性,性。,(6)快速原,型,型的突,出,出特點,是,是“快,速,速”。,開,開發(fā)人,員,員應該,盡,盡可能,快,快地建,造,造出原,型,型系統(tǒng),,,,以加,速,速軟件,開,開發(fā)過,程,程,節(jié),約,約軟件,開,開發(fā)成,本,本。,原型的,用,用途是,獲,獲知用,戶,戶的真,正,
33、正需求,,,,一旦,需,需求確,定,定了,,原,原型可,以,以拋棄,,,,當然,也,也可以,在,在原型,的,的基礎,上,上進行,開,開發(fā)。,,增量模,型,型,增量模,型,型也稱,為,為漸增,模,模型,,是,是Mills等于1980年提出,來,來的。,使用增,量,量模型,開,開發(fā)軟,件,件時,,把,把軟件,產,產品作,為,為一系,列,列的增,量,量構件,來,來設計,、,、編碼,、,、集成,和,和測試,。,。,每個構,件,件由多,個,個相互,作,作用的,模,模塊構,成,成,并,且,且能夠,完,完成特,定,定的功,能,能。,,增量模,型,型,增量模,型,型如圖,所,所示。,,增量模,型,型,增量模,
34、型,型的優(yōu),點,點,(1)能在較,短,短時間,內,內向用,戶,戶提交,可,可完成,一,一些有,用,用的工,作,作產品,,,,即從,第,第1個構件,交,交付之,日,日起,,用,用戶就,能,能做一,些,些有用,的,的工作,。,。,(2)逐步增,加,加產品,的,的功能,可,可以使,用,用戶有,較,較充裕,的,的時間,學,學習和,適,適應新,產,產品,,從,從而減,少,少一個,全,全新的,軟,軟件可,能,能給用,戶,戶組織,帶,帶來的,沖,沖擊。,(3)項目失,敗,敗的風,險,險較低,,,,雖然,在,在某些,增,增量構,件,件中可,能,能遇到,一,一些問,題,題,但,其,其他增,量,量構件,將,將能夠
35、,成,成功地,交,交付給,客,客戶。,(4)優(yōu)先級,最,最高的,服,服務首,先,先交付,,,,然后,再,再將其,他,他增量,構,構件逐,次,次集成,進,進來。,因,因此,,最,最重要,的,的系統(tǒng),服,服務將,接,接受最,多,多的測,試,試。,,增量模,型,型,增量構,件,件開發(fā),每個增,量,量構件,應,應當實,現(xiàn),現(xiàn)某種,系,系統(tǒng)功,能,能,因,此,此增量,構,構件的,開,開發(fā)可,以,以采用,瀑,瀑布模,型,型的方,式,式,如,圖,圖所示,。,。,,增量模,型,型,采用增,量,量模型,需,需注意,的,的問題,(1)在把每,個,個新的,增,增量構,件,件集成,到,到現(xiàn)有,軟,軟件體,系,系結構,
36、中,中時,,必,必須不,破,破壞原,來,來已經,開,開發(fā)出,的,的產品,。,。,(2)軟件體,系,系結構,必,必須是,開,開放的,,,,即向,現(xiàn),現(xiàn)有產,品,品中加,入,入新構,件,件的過,程,程必須,簡,簡單、,方,方便。,因此,,采,采用增,量,量模型,比,比采用,瀑,瀑布模,型,型和快,速,速原型,模,模型更,需,需要精,心,心的設,計,計。,,螺旋模,型,型,螺旋模,型,型最初,是,是Boehm于1988年提出,來,來的。,該模型,將,將瀑布,模,模型與,快,快速原,型,型模型,結,結合起,來,來,并,且,且加入,兩,兩種模,型,型均忽,略,略了的,風,風險分,析,析。,螺旋模,型,型
37、的基,本,本思想,是,是,使,用,用原型,及,及其他,方,方法來,盡,盡量降,低,低風險,。,。,,螺旋模,型,型,理解這,種,種模型,的,的一個,簡,簡便方,法,法,是,把,把它看,做,做在每,個,個階段,之,之前都,增,增加了,風,風險分,析,析過程,的,的快速,原,原型模,型,型。,,螺旋模,型,型,完整的,螺,螺旋模,型,型,,螺旋模,型,型,完整的,螺,螺旋模,型,型,在螺旋,模,模型中,,,,軟件,過,過程表,示,示成一,個,個螺線,,,,而不,是,是像以,往,往的模,型,型那樣,表,表示為,一,一個具,有,有回溯,的,的活動,序,序列。,在螺線,上,上的每,一,一個循,環(huán),環(huán)表示
38、,過,過程的,一,一個階,段,段。,每個階,段,段開始,時,時的任,務,務是確,定,定該階,段,段的目,標,標、為,完,完成這,些,些目標,選,選擇方,案,案及設,定,定這些,方,方案的,約,約束條,件,件。接,下,下來的,任,任務是,,,,從風,險,險角度,分,分析上,一,一步的,工,工作結,果,果,努,力,力排除,各,各種潛,在,在的風,險,險,通,常,常用建,造,造原型,的,的方法,來,來排除,風,風險。,如,如果成,功,功地排,除,除了所,有,有風險,,,,則啟,動,動下一,步,步開發(fā),步,步驟,,在,在這個,步,步驟的,工,工作過,程,程相當,于,于純粹,的,的瀑布,模,模型。,最,
39、最后是,評,評價該,階,階段的,工,工作成,果,果并計,劃,劃下一,個,個階段,的,的工作,。,。,,,螺旋模,型,型,螺旋模,型,型的4項活動,螺線上,的,的每一,個,個循環(huán),可,可劃分,為,為4個象限,,,,分別,表,表達了4個方面,的,的活動,。,。,(1)目標設,定,定——定義在,該,該階段,的,的目標,,,,弄清,對,對過程,和,和產品,的,的限制,條,條件,,制,制訂詳,細,細的管,理,理計劃,,,,識別,項,項目風,險,險,可,能,能還要,計,計劃與,這,這些風,險,險有關,的,的對策,。,。,(2)風險估,計,計與弱,化,化——針對每,一,一個風,險,險進行,詳,詳細分,析,析
40、,設,想,想弱化,風,風險的,步,步驟。,(3)開發(fā)與,驗,驗證——評價風,險,險之后,選,選擇系,統(tǒng),統(tǒng)開發(fā),模,模型。,(4)計劃——評價開,發(fā),發(fā)工作,,,,確定,是,是否繼,續(xù),續(xù)進行,螺,螺線的,下,下一個,循,循環(huán)。,如,如果確,定,定要繼,續(xù),續(xù),則,計,計劃項,目,目的下,一,一個階,段,段的工,作,作。,,螺旋模,型,型,螺旋模,型,型的優(yōu),點,點,對可選,方,方案和,約,約束條,件,件的強,調,調有利,于,于已有,軟,軟件的,重,重用,,也,也有助,于,于把軟,件,件質量,作,作為軟,件,件開發(fā),的,的一個,重,重要目,標,標。,減少了,過,過多測,試,試或測,試,試不足,
41、所,所帶來,的,的風險,。,。,在螺旋,模,模型中,維,維護只,是,是模型,的,的另一,個,個周期,,,,因而,在,在維護,和,和開發(fā),之,之間并,沒,沒有本,質,質區(qū)別,。,。,,螺旋模,型,型,螺旋模,型,型的缺,點,點,螺旋模,型,型是風,險,險驅動,的,的,因,此,此要求,軟,軟件開,發(fā),發(fā)人員,必,必須具,有,有豐富,的,的風險,評,評估經,驗,驗和這,方,方面的,專,專門知,識,識,否,則,則將出,現(xiàn),現(xiàn)真正,的,的風險,:,:當項,目,目實際,上,上正在,走,走向災,難,難時,,開,開發(fā)人,員,員可能,還,還以為,一,一切正,常,常。,,噴泉模,型,型,噴泉模,型,型是典,型,型
42、的面,向,向對象,生,生命周,期,期模型,。,。,“噴泉,”,”一詞,體,體現(xiàn)了,迭,迭代和,無,無間隙,特,特性。,圖,圖中代,表,表不同,階,階段的,圓,圓圈相,互,互重疊,,,,這明,確,確表示,兩,兩個活,動,動之間,存,存在重,疊,疊。,,基于構,件,件的開,發(fā),發(fā)模型,基于構,件,件的軟,件,件工程,(,(component,-,-basedsoftwareengineering,CBSE)是強,調,調使用,可,可復用,的,的軟件,“,“構件,”,”來設,計,計和構,造,造基于,計,計算機,的,的系統(tǒng),的,的過程,。,。,,基于構,件,件的開,發(fā),發(fā)模型,Clements對CBSE
43、給出了,如,如下描,述,述。,CBSE正在改,變,變大型,軟,軟件系,統(tǒng),統(tǒng)的開,發(fā),發(fā)方式,。,。CBSE體現(xiàn)了FrodBrooks和其他,人,人支持,的,的“購,買,買,而,非,非構造,”,”的思,想,想。就,如,如同早,期,期的子,程,程序將,程,程序員,從,從考慮,編,編程細,節(jié),節(jié)中解,脫,脫出來,一,一樣,CBSE將考慮,的,的重點,從,從編碼,轉,轉移到,組,組裝軟,件,件系統(tǒng),。,。,考慮的,焦,焦點是,“,“集成,”,”,而,不,不再是,“,“實現(xiàn),”,”。,這樣做,的,的基礎,是,是假定,在,在很多,大,大型軟,件,件系統(tǒng),中,中存在,足,足夠多,的,的共性,,,,使得,開
44、,開發(fā)可,復,復用的,構,構件來,滿,滿足這,些,些共性,是,是可行,的,的。,,基于構,件,件的開,發(fā),發(fā)模型,當軟件,團,團隊使,用,用傳統(tǒng),的,的需求,獲,獲取技,術,術確定,了,了待開,發(fā),發(fā)軟件,的,的系統(tǒng),需,需求時,,,,該過,程,程開始,。,。,體系結,構,構設計,完,完成后,,,,并不,立,立即進,行,行詳細,設,設計任,務,務,而,是,是針對,每,每一系,統(tǒng),統(tǒng)需求,考,考慮以,下,下問題:,(1)現(xiàn)有的,商,商品化,構,構件(commercial off-the,-,-shelf,COTS)是否,能,能夠實,現(xiàn),現(xiàn)該需,求,求?,(2)內部開,發(fā),發(fā)的可,復,復用構,件,
45、件是否,能,能夠實,現(xiàn),現(xiàn)該需,求,求?,(3)可用構,件,件的接,口,口與待,構,構造系,統(tǒng),統(tǒng)的體,系,系結構,是,是否相,容,容?,,基于構,件,件的開,發(fā),發(fā)模型,基于構,件,件的開,發(fā),發(fā)模型,如,如下圖,。,。,,基于構,件,件的開,發(fā),發(fā)模型,開發(fā)步,驟,驟,不考慮,構,構件的,開,開發(fā)技,術,術,基,于,于構件,的,的開發(fā),模,模型由,以,以下步,驟,驟組成,:,:,(1)對于該,問,問題領,域,域的基,于,于構件,的,的可用,產,產品進,行,行研究,和,和評估,。,。,(2)考慮構,件,件集成,的,的問題,。,。,(3)設計軟,件,件架構,以,以容納,這,這些構,件,件。,(
46、4)將構件,集,集成到,架,架構中,。,。,(5)進行充,分,分的測,試,試以保,證,證功能,正,正常。,,基于構,件,件的開,發(fā),發(fā)模型,典型的,構,構件模,型,型,(1)OMG,/,/CORBA。對象,管,管理組,織,織發(fā)布,了,了公共,對,對象請,求,求代理,體,體系結,構,構(OMG,/,/CORBA),一,個,個對象,請,請求代,理,理提供,了,了多種,服,服務,,使,使得可,復,復用構,件,件(對,象,象)可,以,以與其,他,他構件,通,通信。,(2)MicrosoftCOM/DCOM,/,/.NET。微軟,公,公司開,發(fā),發(fā)了構,件,件對象,模,模型(COM),此,模,模型提,供
47、,供了構,件,件的規(guī),格,格說明,在Windows操作系,統(tǒng),統(tǒng),一,個,個應用,系,系統(tǒng)中,可,可以使,用,用不同,廠,廠商生,產,產的構,件,件。,(3)SunJavaBean構件。JavaBean構件系,統(tǒng),統(tǒng)是一,個,個可移,植,植的、,平,平臺獨,立,立的、,使,使用Java程序設,計,計語言,開,開發(fā)的CBSE基礎設,施,施。,,統(tǒng)一過,程,程,由Booch、Jacobson及Rumbaugh提出,,統(tǒng),統(tǒng)一過,程,程模型,如,如圖所,示,示。,,統(tǒng)一過,程,程,統(tǒng)一過,程,程的工,作,作流,在統(tǒng)一,過,過程中,,,,有6個核心,工,工作流,。,。,①業(yè)務建,模,模工作,流,流。用
48、商,業(yè),業(yè)用例,為,為商業(yè),過,過程建,立,立文檔,。,。,②需求工,作,作流。目標,是,是描述,系,系統(tǒng)應,該,該做什,么,么,確,保,保開發(fā),人,人員構,建,建正確,的,的系統(tǒng),。,。為此,,,,需明,確,確系統(tǒng),的,的功能,需,需求和,非,非功能,需,需求(,約,約束),。,。,③分析和,設,設計工,作,作流。其目,標,標是說,明,明如何,做,做。結,果,果是分,析,析模型,和,和設計,模,模型。,,統(tǒng)一過,程,程,④實現(xiàn)工,作,作流。用分,層,層的方,式,式組織,代,代碼的,結,結構,,用,用構件,的,的形式,來,來實現(xiàn),類,類,對,構,構件進,行,行單元,測,測試,,將,將構件,集,
49、集成到,可,可執(zhí)行,的,的系統(tǒng),中,中。,⑤測試工,作,作流。驗證,對,對象之,間,間的交,互,互、是,否,否所有,的,的構件,都,都集成,了,了、是,否,否正確,實,實現(xiàn)了,所,所有需,求,求、查,錯,錯并改,正,正。,⑥部署工,作,作流。制作,軟,軟件的,外,外部版,本,本、軟,件,件打包,、,、分發(fā),、,、為用,戶,戶提供,幫,幫助和,支,支持。,,,統(tǒng)一過,程,程,統(tǒng)一過,程,程的階,段,段,統(tǒng)一過,程,程有4個階段,,,,分別,是,是初始,階,階段、,細,細化階,段,段、構,造,造階段,和,和移交,階,階段。,①初始階,段,段。初始,階,階段主,要,要關注,項,項目計,劃,劃和風,險
50、,險評估,,,,其目,的,的是確,定,定是否,值,值得開,發(fā),發(fā)目標,信,信息系,統(tǒng),統(tǒng)。,②細化階,段,段。細化,階,階段關,心,心定義,系,系統(tǒng)的,總,總體框,架,架,其,目,目標是,:,:細化,初,初始需,求,求(用,況,況)、,細,細化體,系,系結構,、,、監(jiān)控,風,風險并,細,細化它,們,們的優(yōu),先,先級、,細,細化業(yè),務,務案例,以,以及制,訂,訂項目,管,管理計,劃,劃。,,統(tǒng)一過,程,程,統(tǒng)一過,程,程的階,段,段,③構造階,段,段。構造,階,階段是,建,建立系,統(tǒng),統(tǒng),構,造,造信息,系,系統(tǒng)的,第,第1個具有,操,操作質,量,量的版,本,本,以,能,能夠交,付,付給客,戶,
51、戶進行?測試的,版,版本結,束,束,有,時,時稱為,測,測試版,本,本。,④移交階,段,段。移交,階,階段包,含,含?測試時,期,期,以,發(fā),發(fā)布完,整,整的系,統(tǒng),統(tǒng)而終,止,止,其,目,目標是,確,確保信,息,息系統(tǒng),真,真正滿,足,足客戶,的,的需求,。,。,,1.6,軟,軟件,工,工程知,識,識體系,及,及知識,域,域,軟件工,程,程教育,(,3個歷史,時,時期,),(1)1978年以前,:,:軟件,工,工程教,育,育以計,算,算機專,業(yè),業(yè)的一,門,門孤立,的,的課程,形,形式存,在,在。,(2)1978—1988年期間,:,:早期,的,的研究,生,生學位,教,教育,,開,開始建,立
52、,立軟件,工,工程專,業(yè),業(yè)的研,究,究生學,位,位教育,項,項目。,(3)1988年以后,:,:快速,發(fā),發(fā)展的,研,研究生,學,學科教,育,育,使,軟,軟件工,程,程的理,論,論快速,發(fā),發(fā)展,,其,其中,,卡,卡內基·梅隆大,學,學軟件,工,工程研,究,究所(SEI)的影,響,響不可,忽,忽視。,,1.6,軟,軟件,工,工程知,識,識體系,及,及知識,域,域,軟件工,程,程知識,體,體,軟件工,程,程已從,計,計算機,科,科學與,技,技術中,脫,脫離出,來,來,逐,漸,漸形成,了,了一門,獨,獨立的,學,學科。,對,對其知,識,識體系,的,的研究,從,從20世紀90年代初,就,就開始,了
53、,了。,標志是,美,美國Embry-Riddle航空大,學,學計算,與,與數(shù)學,系,系ThomasB.Hilburn教授的,“,“軟件工,程,程知識,體,體系指,南,南”(GuidetoSoftwareEngineeringBody of Knowledge,SWEBOK)研究,項,項目。,,1.6,軟,軟件,工,工程知,識,識體系,及,及知識,域,域,軟件工,程,程知識,體,體系指,南,南的目,標,標,(1)促使軟,件,件工程,本,本體知,識,識成為,世,世界范,圍,圍的共,識,識。,(2)澄清軟,件,件工程,與,與其他,相,相關學,科,科,如,與,與計算,機,機科學,、,、項目,管,管理、
54、,計,計算機,工,工程以,及,及計算,機,機數(shù)學,之,之間的,關,關系,,并,并且確,定,定軟件,工,工程學,科,科的范,圍,圍。,(3)反映軟,件,件工程,學,學科內,容,容的特,征,征。,(4)確定軟,件,件工程,本,本體知,識,識的各,個,個專題,。,。,(5)為相應,的,的課程,和,和職業(yè),資,資格認,證,證材料,的,的編寫,奠,奠定基,礎,礎。,,1.6,軟,軟件,工,工程知,識,識體系,及,及知識,域,域,軟件工,程,程知識,體,體系指,南,南的內,容,容,SWEBOK指南將,軟,軟件工,程,程知識,體,體系劃,分,分為10個知識,域,域(knowledgeareas,KA),分,
55、為,為兩類,過,過程。,一類是開發(fā)與,維,維護過,程,程,包括,軟,軟件需,求,求、軟,件,件設計,、,、軟件,構,構造、,軟,軟件測,試,試和軟,件,件維護,;,;,另一類,是,是支持和,組,組織過,程,程,包括,軟,軟件配,置,置管理,、,、軟件,工,工程管,理,理、軟,件,件工程,過,過程、,軟,軟件工,程,程工具,與,與方法,和,和軟件,質,質量。,每,每個知,識,識域還,可,可進一,步,步分解,為,為若干,論,論題。,,,,1.6,軟,軟件,工,工程知,識,識體系,及,及知識,域,域,軟件工,程,程知識,體,體系指,南,南的內,容,容,,1.6,軟,軟件,工,工程知,識,識體系,及,及知識,域,域,每個知,識,識域又,可,可分解,為,為若干,子,子知識,域,域,如,表,表所示,。,。,,That'sAll!,,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。