第一章軟件工程學(xué)概述._第1頁(yè)
第一章軟件工程學(xué)概述._第2頁(yè)
第一章軟件工程學(xué)概述._第3頁(yè)
第一章軟件工程學(xué)概述._第4頁(yè)
第一章軟件工程學(xué)概述._第5頁(yè)
已閱讀5頁(yè),還剩110頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章第一章 軟件工程概述軟件工程概述河南警察學(xué)院信息安全系劉磊軟件工程導(dǎo)論學(xué)期項(xiàng)目(大作業(yè))學(xué)期項(xiàng)目(大作業(yè)):計(jì)劃:全部同學(xué)分成小組,每組計(jì)劃:全部同學(xué)分成小組,每組5-8人,每人,每一個(gè)小組推選一位負(fù)責(zé)人,作為項(xiàng)目經(jīng)理。一個(gè)小組推選一位負(fù)責(zé)人,作為項(xiàng)目經(jīng)理。項(xiàng)目經(jīng)理有權(quán)利對(duì)小組其它的人員進(jìn)行具項(xiàng)目經(jīng)理有權(quán)利對(duì)小組其它的人員進(jìn)行具體的角色分工和人事調(diào)整。每組人員的角體的角色分工和人事調(diào)整。每組人員的角色可為:色可為: 1. 項(xiàng)目經(jīng)理項(xiàng)目經(jīng)理 2. 系統(tǒng)分析人員系統(tǒng)分析人員 3. 系統(tǒng)設(shè)計(jì)人員系統(tǒng)設(shè)計(jì)人員 4. 系統(tǒng)實(shí)施人員系統(tǒng)實(shí)施人員 5. 系統(tǒng)測(cè)試人員系統(tǒng)測(cè)試人員 要求:要求: 項(xiàng)目經(jīng)理

2、負(fù)責(zé):組織、分工、控制進(jìn)度項(xiàng)目經(jīng)理負(fù)責(zé):組織、分工、控制進(jìn)度; 對(duì)每位組員成績(jī)有浮動(dòng)調(diào)整權(quán);對(duì)每位組員成績(jī)有浮動(dòng)調(diào)整權(quán); 項(xiàng)目經(jīng)理獎(jiǎng)罰:引起過(guò)半數(shù)組員不滿,則改選;項(xiàng)目經(jīng)理獎(jiǎng)罰:引起過(guò)半數(shù)組員不滿,則改選; 帶領(lǐng)全組順利完成任務(wù),總評(píng)加分。帶領(lǐng)全組順利完成任務(wù),總評(píng)加分。小組成員:在項(xiàng)目經(jīng)理的統(tǒng)一協(xié)調(diào)下完成項(xiàng)目,小組成員:在項(xiàng)目經(jīng)理的統(tǒng)一協(xié)調(diào)下完成項(xiàng)目,根據(jù)完成的質(zhì)量來(lái)決定最后的成績(jī)。根據(jù)完成的質(zhì)量來(lái)決定最后的成績(jī)。內(nèi)內(nèi) 容容1. 全套文檔和說(shuō)明書(書面)全套文檔和說(shuō)明書(書面)2. 總體設(shè)計(jì)報(bào)告總體設(shè)計(jì)報(bào)告 (演講)(演講)3. 推出推出 v1.0 (現(xiàn)場(chǎng)驗(yàn)收)(現(xiàn)場(chǎng)驗(yàn)收)4. 推出升級(jí)版(

3、可選)推出升級(jí)版(可選)5. 面向?qū)ο蠓治鼍毩?xí)題一道(演講)面向?qū)ο蠓治鼍毩?xí)題一道(演講)6. 推出期末最終版并制作案例總結(jié)報(bào)告(現(xiàn)場(chǎng)推出期末最終版并制作案例總結(jié)報(bào)告(現(xiàn)場(chǎng)驗(yàn)收和演講)驗(yàn)收和演講)目目 的的 體驗(yàn)軟件工程各階段的主要工作,特別注意吸取教訓(xùn);體驗(yàn)軟件工程各階段的主要工作,特別注意吸取教訓(xùn); 學(xué)會(huì)與他人合作,培養(yǎng)團(tuán)隊(duì)精神,單干戶將得不到成績(jī)。學(xué)會(huì)與他人合作,培養(yǎng)團(tuán)隊(duì)精神,單干戶將得不到成績(jī)。 從現(xiàn)在開始,誰(shuí)也不知道我們的從現(xiàn)在開始,誰(shuí)也不知道我們的項(xiàng)目會(huì)不會(huì)成功,但是請(qǐng)牢記:目標(biāo)、項(xiàng)目會(huì)不會(huì)成功,但是請(qǐng)牢記:目標(biāo)、交流與合作、內(nèi)省交流與合作、內(nèi)省引言引言從愚公移山說(shuō)開去從愚公移山說(shuō)

4、開去【先秦先秦】列子列子湯問(wèn)湯問(wèn) 太行太行,王屋二山,方七百里,高萬(wàn)仞,本在冀州之南,河陽(yáng)之北。王屋二山,方七百里,高萬(wàn)仞,本在冀州之南,河陽(yáng)之北。(現(xiàn)位于,河南省濟(jì)源市。)(現(xiàn)位于,河南省濟(jì)源市。) 北山愚公者,年且九十,面山而居。懲山北之塞,出入之迂也。聚北山愚公者,年且九十,面山而居。懲山北之塞,出入之迂也。聚室而謀曰:室而謀曰:“吾與汝畢力平險(xiǎn),指通豫南,達(dá)于漢陰,可乎?吾與汝畢力平險(xiǎn),指通豫南,達(dá)于漢陰,可乎?”雜然相雜然相許。其妻獻(xiàn)疑曰:許。其妻獻(xiàn)疑曰:“以君之力,曾不能損魁父之丘,如太行、王屋何?以君之力,曾不能損魁父之丘,如太行、王屋何?且焉置土石?且焉置土石?”雜曰:雜曰:“

5、投諸渤海之尾,隱土之北。投諸渤海之尾,隱土之北?!彼炻首訉O荷擔(dān)者遂率子孫荷擔(dān)者三夫,叩石墾壤,箕畚運(yùn)于渤海之尾。鄰人京城氏之孀妻有遺男,始齔,三夫,叩石墾壤,箕畚運(yùn)于渤海之尾。鄰人京城氏之孀妻有遺男,始齔,跳往助之。寒暑易節(jié),始一反焉。跳往助之。寒暑易節(jié),始一反焉。 河曲智叟笑而止之曰:河曲智叟笑而止之曰:“甚矣,汝之不惠。以殘年余力,曾不能毀甚矣,汝之不惠。以殘年余力,曾不能毀山之一毛,其如土石何?山之一毛,其如土石何?”北山愚公長(zhǎng)息曰:北山愚公長(zhǎng)息曰:“汝心之固,固不可徹,汝心之固,固不可徹,曾不若孀妻弱子。雖我之死,有子存焉;子又生孫,孫又生子;子又有曾不若孀妻弱子。雖我之死,有子存焉;

6、子又生孫,孫又生子;子又有子,子又有孫;子子孫孫無(wú)窮匱也,而山不加增,何苦而不平?子,子又有孫;子子孫孫無(wú)窮匱也,而山不加增,何苦而不平?”河曲河曲智叟亡以應(yīng)。智叟亡以應(yīng)。 操蛇之神聞之,懼其不已也,告之于帝。帝感其誠(chéng),命夸娥氏二子操蛇之神聞之,懼其不已也,告之于帝。帝感其誠(chéng),命夸娥氏二子負(fù)二山,一厝朔東,一厝雍南。自此,冀之南,漢之陰,無(wú)隴斷焉。負(fù)二山,一厝朔東,一厝雍南。自此,冀之南,漢之陰,無(wú)隴斷焉。愚公是一位工程名家愚公是一位工程名家第第1 1章章 軟件工程概述軟件工程概述 本章主要內(nèi)容本章主要內(nèi)容 軟件的發(fā)展、定義及特征;軟件危機(jī)的表現(xiàn)及解決途徑;軟件工程的定義及三要素,軟件工程的基

7、本原理及目標(biāo);軟件生存周期的概念和內(nèi)容;五種軟件開發(fā)模型;軟件開發(fā)方法和開發(fā)工具;傳統(tǒng)軟件工程和面向?qū)ο筌浖こ獭?本章重點(diǎn):本章重點(diǎn):軟件工程的定義及三要素,軟件工程的基本原理及目標(biāo);五種軟件開發(fā)模型;軟件開發(fā)方法和開發(fā)工具; 本章難點(diǎn):本章難點(diǎn):五種軟件開發(fā)模型的使用。 工程工程 在現(xiàn)代社會(huì)中,“工程”一詞有廣義和狹義之分。就狹義而言,工程定義為“以某組設(shè)想的目標(biāo)為依據(jù),應(yīng)用有關(guān)的科學(xué)知識(shí)和技術(shù)手段,通過(guò)一群人的有組織活動(dòng)將某個(gè)(或某些)現(xiàn)有實(shí)體(自然的或人造的)轉(zhuǎn)化為具有預(yù)期使用價(jià)值的人造產(chǎn)品過(guò)程”。就廣義而言,工程則定義為由一群人為達(dá)到某種目的,在一個(gè)較長(zhǎng)時(shí)間周期內(nèi)進(jìn)行協(xié)作活動(dòng)的過(guò)程。

8、 參閱工程系統(tǒng)論,王連成著,中國(guó)宇航出版社?!肮こ獭笔强茖W(xué)的某種應(yīng)用,通過(guò)這一應(yīng)用,使自然界的物質(zhì)和能源能夠通過(guò)各種結(jié)構(gòu)、機(jī)器、產(chǎn)品、系統(tǒng)和過(guò)程,以最短的時(shí)間和精而少的人力做出高效、可靠且對(duì)人類有用的東西。工程的分類工程的分類將自然科學(xué)的理論應(yīng)用到具體工農(nóng)業(yè)生產(chǎn)部門中形成的各學(xué)科。如:水利工程、化學(xué)工程、土木建筑工程、遺傳工程、系統(tǒng)工程、生物工程、海洋工程、環(huán)境微生物工程用較多的人力、物力來(lái)進(jìn)行較大而復(fù)雜的工作,需要一個(gè)較長(zhǎng)時(shí)間周期內(nèi)來(lái)完成。如:城市改建工程、京九鐵路工程、菜藍(lán)子工程、探月工程關(guān)于工程的研究稱為“工程學(xué)”。工程學(xué)是一門應(yīng)用學(xué)科,是用數(shù)學(xué)和其他自然科學(xué)的原理來(lái)設(shè)計(jì)有用物體的進(jìn)程。

9、關(guān)于工程的立項(xiàng)稱為“工程項(xiàng)目”一個(gè)全面的、大型的、復(fù)雜的包含各子項(xiàng)目的工程稱為“系統(tǒng)工程”工程的主要依據(jù)是數(shù)學(xué)、物理學(xué)、化學(xué),以及由此產(chǎn)生的材料科學(xué)、固體力學(xué)、流體力學(xué)、熱力學(xué)、輸運(yùn)過(guò)程和系統(tǒng)分析等。依照工程對(duì)科學(xué)的關(guān)系,工程的所有各分支領(lǐng)域都有如下主要職能:(1)研究:應(yīng)用數(shù)學(xué)和自然科學(xué)概念、原理、實(shí)驗(yàn)技術(shù)等,探求新的工作原理和方法。(2)開發(fā):解決把研究成果應(yīng)用于實(shí)際過(guò)程中所遇到的各種問(wèn)題。(3)設(shè)計(jì):選擇不同的方法、特定的材料并確定符合技術(shù)要求和性能規(guī)格的設(shè)計(jì)方案,以滿足結(jié)構(gòu)或產(chǎn)品的要求。(4)施工:包括準(zhǔn)備場(chǎng)地、材料存放、選定既經(jīng)濟(jì)又安全并能達(dá)到質(zhì)量要求的工作步驟,以及人員的組織和設(shè)備

10、利用。(5)生產(chǎn):在考慮人和經(jīng)濟(jì)因素的情況下,選擇工廠布局、生產(chǎn)設(shè)備、工具、材料、元件和工藝流程,進(jìn)行產(chǎn)品的試驗(yàn)和檢查。(6)操作:管理機(jī)器、設(shè)備以及動(dòng)力供應(yīng)、運(yùn)輸和通信,使各類設(shè)備經(jīng)濟(jì)可靠地運(yùn)行。(7)管理及其他職能。工程師和科學(xué)家是一樣的嗎?工程師和科學(xué)家是一樣的嗎? 實(shí)踐工程學(xué)的人叫做工程師。工程師利用科學(xué)家發(fā)現(xiàn)的知識(shí),制造對(duì)人類有用的物體或工具。 科學(xué)家經(jīng)常要問(wèn)“為什麼?”,他們關(guān)心了解人類不懂的知識(shí),科學(xué)家不必關(guān)心經(jīng)濟(jì)問(wèn)題,他們想法獲得必要的經(jīng)費(fèi)(如政府撥款、企業(yè)投資、私人贊助等),然后專心去研究,把這些經(jīng)費(fèi)花光,如果得到的是和原先設(shè)想的完全相反的結(jié)果,經(jīng)費(fèi)也沒(méi)有白花。 工程師則相反

11、,他們必須使制造出來(lái)的物體,在經(jīng)濟(jì)上是可行的,否則沒(méi)有任何用處,如果一件產(chǎn)品的成本高于其市場(chǎng)價(jià)值,無(wú)人光顧,這種產(chǎn)品就無(wú)法生產(chǎn),所以對(duì)工程師來(lái)說(shuō),經(jīng)濟(jì)觀念是必備的。 軟件工程是一門研究如何用系統(tǒng)化、規(guī)范化、可度量等工程原則和方法去進(jìn)行軟件的開發(fā)和維護(hù)的學(xué)科。即將工程化應(yīng)用于軟件過(guò)程。工程著重應(yīng)用,軟件工程一定是軟件過(guò)程的一個(gè)“產(chǎn)出”,一個(gè)個(gè)各有特色的實(shí)例! 軟件工程包括兩方面內(nèi)容:軟件開發(fā)技術(shù)和軟件項(xiàng)目管理。 軟件開發(fā)技術(shù)包括軟件開發(fā)方法學(xué)、軟件工具和軟件工程環(huán)境。 軟件項(xiàng)目管理包括軟件度量、項(xiàng)目估算、進(jìn)度控制、人員組織、配置管理、項(xiàng)目計(jì)劃等。第第1 1章章 軟件工程概述軟件工程概述 主要內(nèi)容

12、:主要內(nèi)容:1.1 1.1 軟件與軟件危機(jī)軟件與軟件危機(jī) 1.2 1.2 軟件工程軟件工程 1.31.3 軟軟件生存周期件生存周期 1.41.4 軟件過(guò)程軟件過(guò)程 1.1 1.1 軟件與軟件危機(jī)軟件與軟件危機(jī) 1.1.11.1.1軟件的定義軟件的定義 軟件是指計(jì)算機(jī)系統(tǒng)中與硬件相互依存的一部分,包括程序、相關(guān)數(shù)據(jù)和及其說(shuō)明文檔。程序是按照事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)維護(hù)和使用有關(guān)的文字或圖形資料1.1.1 軟件的特點(diǎn)軟件的特點(diǎn)1.1.2 1.1.2 軟件的特征軟件的特征 (1)軟件是一種邏輯產(chǎn)品,是以程序和文檔形式存在。(2)軟件

13、使用過(guò)程中,不會(huì)磨損、老化。(3)軟件一旦研究開發(fā)成功,其生產(chǎn)過(guò)程就變成復(fù)制過(guò)程。(4)軟件對(duì)硬件和環(huán)境有著不同程度的依賴性升級(jí)和移植。(5)手工方式生產(chǎn),開發(fā)人員壓力大、(6)軟件是復(fù)雜度最高的工業(yè)產(chǎn)品,但通用性差。(7)軟件涉及人類社會(huì)的各行各業(yè),涉及到領(lǐng)域?qū)iT知識(shí),這對(duì)軟件工程師提出了很高的要求。軟件開發(fā)應(yīng)該有明確的分工。(8)軟件生產(chǎn)過(guò)程的不可見性,增加了管理的難道。(9)軟件產(chǎn)品的生產(chǎn)成本主要體現(xiàn)在軟件的開發(fā)和研制上。軟件的成本昂貴。1.1 軟件和軟件危機(jī)軟件和軟件危機(jī)1.1.3 1.1.3 軟件危機(jī)軟件危機(jī) 軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)、使用和維護(hù)過(guò)程中遇到的一系列嚴(yán)重問(wèn)題。1、

14、對(duì)軟件的要求:、對(duì)軟件的要求:用戶的需求更高、涉及的領(lǐng)域更廣軟件運(yùn)行環(huán)境更加龐大軟件更新?lián)Q代更加頻繁1.1 軟件和軟件危機(jī)軟件和軟件危機(jī)2、軟件生產(chǎn)的現(xiàn)狀:、軟件生產(chǎn)的現(xiàn)狀:對(duì)軟件的開發(fā)成本和進(jìn)度的估計(jì)常常不正確,開發(fā)成本超出預(yù)算。開發(fā)進(jìn)度不能保障,交付時(shí)間一再拖延。“已完成”的軟件不滿足用戶的需求軟件產(chǎn)品的質(zhì)量沒(méi)有保證。軟件通常沒(méi)有適當(dāng)?shù)奈臋n軟件的成本不斷提高,特別是軟件維護(hù)成本迅速增加,已經(jīng)占據(jù)軟硬件總成本的40%75%。硬硬 件件軟件開發(fā)軟件開發(fā)軟件維護(hù)軟件維護(hù)1955年年 1970年年 1985年年100%80%60%40%20%1.1 軟件和軟件危機(jī)軟件和軟件危機(jī)3.產(chǎn)生軟件危機(jī)的原

15、因:產(chǎn)生軟件危機(jī)的原因:與軟件的特點(diǎn)有關(guān)與軟件開發(fā)和維護(hù)的方法有關(guān)軟件生產(chǎn)至今尚未擺脫手工生產(chǎn)方式。忽視需求分析和設(shè)計(jì)工作。沒(méi)有規(guī)范的維護(hù)要求和記錄。 IBM公司1963-1966年開發(fā)IBM360操作系統(tǒng),項(xiàng)目花了5000人-年的工作量,最多時(shí)有1000人投入開發(fā)工作,寫出100萬(wàn)行源程序,但發(fā)行的每一新版本都是上一版1000個(gè)錯(cuò)誤的修正。 事后負(fù)責(zé)人F.D.Brooks總結(jié)教訓(xùn)時(shí)說(shuō):“正象一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷的越深。最后無(wú)法逃脫滅頂?shù)臑?zāi)難。程序設(shè)計(jì)工作正像這樣一個(gè)泥潭,一批批程序員被迫在泥潭中拼命掙扎,誰(shuí)也沒(méi)料到問(wèn)題竟會(huì)陷入這樣的困境” 美國(guó)阿波羅8號(hào)太空飛船

16、的一個(gè)軟件錯(cuò)誤,造成了存儲(chǔ)器部分信息丟失;而阿波羅14號(hào)在飛行的10天中,出現(xiàn)了18個(gè)軟件錯(cuò)誤。1900年錯(cuò)誤1992年,來(lái)自明尼蘇達(dá)州懷俄明的瑪麗收到一份幼兒園的入園通知,她當(dāng)時(shí)是104歲。閏年錯(cuò)誤1988年2月29日,一家超市因出售過(guò)期一天的肉而被罰款1000美元。因?yàn)樵谌獾臉?biāo)簽上打印保質(zhì)期的計(jì)算機(jī)程序沒(méi)有考慮到1988年是閏年。接口誤用1990年4月10日,在倫敦地鐵運(yùn)營(yíng)過(guò)程中,司機(jī)還沒(méi)上車,地鐵列車就駛離車站。當(dāng)時(shí)司機(jī)按了啟動(dòng)鍵,正常情況下如果車門是開著的,系統(tǒng)就應(yīng)該可以阻止列車起動(dòng)。當(dāng)時(shí)的問(wèn)題是司機(jī)離開了列車去關(guān)一扇卡著的門,但當(dāng)門終于關(guān)上時(shí),列車還沒(méi)有等到司機(jī)上車就開動(dòng)了。安全問(wèn)題

17、軟件工程學(xué)院的CERT組(ComputerEmergencyResponseTeam,計(jì)算機(jī)緊急反應(yīng)小組)是一個(gè)政府資助的組織,用來(lái)協(xié)助社區(qū)處理安全事件、突發(fā)事件和安全技能方面的問(wèn)題。美國(guó)報(bào)道的CERT的安全事件從1990年的252件增加到2000年的21756件,而到2001年已增加到了40000多件。拖延和超支在1995年,由于新丹佛爾國(guó)際機(jī)場(chǎng)自動(dòng)行李系統(tǒng)的錯(cuò)誤,造成旅客行李箱的損壞。機(jī)場(chǎng)則被迫推遲16個(gè)月再開放,且大部分采用手工行李系統(tǒng),產(chǎn)生32億美元超支。拖延和超支(2)2002年的Swanick空運(yùn)控制系統(tǒng),包括英格蘭和威爾士全部空運(yùn)線路。在系統(tǒng)交付時(shí),已延期6年且嚴(yán)重超支(實(shí)際花費(fèi)

18、6.23億英傍,原計(jì)劃花費(fèi)3.5億英鎊),其中兩次主要的系統(tǒng)升級(jí)是在運(yùn)輸操作員培訓(xùn)已經(jīng)開始后才交付的。延期交付1984年,經(jīng)過(guò)18個(gè)月的開發(fā),一個(gè)耗資2億美元的系統(tǒng)交付給了威斯康星州的一家健康保險(xiǎn)公司。但是該系統(tǒng)無(wú)法正常工作,只好追加了6千萬(wàn)美元,又花了3年才解決了問(wèn)題。不必要的復(fù)雜性麥克道爾道格拉斯的C-17貨機(jī)因?yàn)榭刂葡到y(tǒng)的軟件問(wèn)題,而超支5億美元。C-17含有19臺(tái)機(jī)載計(jì)算機(jī),80個(gè)微處理器以及6種不同的編程語(yǔ)言。1.2軟件工程發(fā)展簡(jiǎn)史1.問(wèn)題的引出問(wèn)題的引出先看幾個(gè)圖例先看幾個(gè)圖例簡(jiǎn)陋的小屋簡(jiǎn)陋的小屋不用設(shè)計(jì)不用設(shè)計(jì)新農(nóng)村別墅造型圖別墅的平面圖、切面圖圖書館信息管理系統(tǒng)功能設(shè)計(jì)圖書館信

19、息管理系統(tǒng)功能設(shè)計(jì)圖書館信息管理系統(tǒng)需求表圖書館信息管理系統(tǒng)需求表圖書館信息管理系統(tǒng)邏輯模型設(shè)計(jì)(部分)圖書館信息管理系統(tǒng)邏輯模型設(shè)計(jì)(部分)圖書館信息管理系統(tǒng)數(shù)據(jù)設(shè)計(jì)圖書館信息管理系統(tǒng)數(shù)據(jù)設(shè)計(jì)過(guò)程設(shè)計(jì)過(guò)程設(shè)計(jì)圖書館信息管理系統(tǒng)界面設(shè)計(jì)圖書館信息管理系統(tǒng)物理模型設(shè)計(jì)圖書館信息管理系統(tǒng)物理模型設(shè)計(jì)結(jié)論:結(jié)論: 軟件生產(chǎn)同建筑行業(yè)一樣需要工程化、規(guī)?;⒆詣?dòng)化、標(biāo)準(zhǔn)化。 軟件生產(chǎn)過(guò)程中也有中間環(huán)節(jié)(設(shè)計(jì)物理模型、邏輯模型、界面、數(shù)據(jù)、過(guò)程等等),也可以隨時(shí)進(jìn)行質(zhì)量檢查。 軟件生產(chǎn)中也需要有高效的工具。 軟件生產(chǎn)人員也可以細(xì)分為:分析員、設(shè)計(jì)員、程序員、測(cè)試員、操作員、維護(hù)人員等等。 軟件生產(chǎn)低水平

20、的手工作坊不能適應(yīng)當(dāng)今的大規(guī)模軟件開發(fā)需求1.2軟件工程的定義和目標(biāo)1993IEEE: 軟件工程是軟件工程是:將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)過(guò)程,即將工程化應(yīng)用于軟件開發(fā)和管理之中,運(yùn)行和維護(hù)過(guò)程,即將工程化應(yīng)用于軟件開發(fā)和管理之中,對(duì)中所選方法的研究。對(duì)中所選方法的研究。 注意:軟件工程研究所依據(jù)的基礎(chǔ)理論:數(shù)學(xué)、計(jì)算機(jī)科學(xué)、經(jīng)濟(jì)學(xué)、工程學(xué)、管理學(xué)和心理學(xué)等學(xué)科。其中數(shù)學(xué)和計(jì)算機(jī)科學(xué)用于構(gòu)造模型、分析算法;工程學(xué)用于評(píng)估成本、制定規(guī)范和標(biāo)準(zhǔn);管理學(xué)和心理學(xué)用于進(jìn)度、資源、環(huán)境、質(zhì)量、成本等的分析和管理。1.2.1

21、 軟件工程的概念 軟件工程學(xué)是一門指導(dǎo)軟件開發(fā)和維護(hù)的工程學(xué)科,是為了經(jīng)濟(jì)地獲得能夠在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件而建立和使用的一系列完善的工程化原則。它應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法來(lái)生產(chǎn)軟件,以達(dá)到提高質(zhì)量、降低成本的目的。為軟件開發(fā)提供為軟件開發(fā)提供“如何做如何做”的技術(shù)。如怎樣定項(xiàng)目計(jì)劃、怎的技術(shù)。如怎樣定項(xiàng)目計(jì)劃、怎樣實(shí)施需求分析、如何測(cè)試等。樣實(shí)施需求分析、如何測(cè)試等。為軟件工程方法提供自動(dòng)或半自動(dòng)軟件支撐環(huán)境。如軟件開發(fā)為軟件工程方法提供自動(dòng)或半自動(dòng)軟件支撐環(huán)境。如軟件開發(fā)工具、測(cè)試工具等。軟件開發(fā)的不同階段可使用不同的工具。工具、測(cè)試工具等。軟件

22、開發(fā)的不同階段可使用不同的工具。將軟件工程劃分為若干階段,分配方法和工具,定義每個(gè)階將軟件工程劃分為若干階段,分配方法和工具,定義每個(gè)階段的先后順序和完成標(biāo)志。段的先后順序和完成標(biāo)志。軟件工程發(fā)展簡(jiǎn)史軟件工程發(fā)展簡(jiǎn)史 1968年FritzBauer在NATO(北大西洋公約組織)會(huì)議上給出的定義:“軟件工程是為了經(jīng)濟(jì)地獲得可靠的和能在實(shí)際機(jī)器上高效運(yùn)行的軟件而確立和使用的健全的工程原理(方法)” 20世紀(jì)70年代形成了軟件工程的概念、框架、方法和手段。 80年代到90年代,研究重點(diǎn)是面向?qū)ο蟮姆治龊驮O(shè)計(jì),稱為對(duì)象工程。 90年代后期,基于構(gòu)件的開發(fā)方法,即第三代軟件工程,也稱為構(gòu)件工程。軟件工程

23、研究的主要內(nèi)容軟件工程研究的主要內(nèi)容技術(shù)方面:研究軟件開發(fā)方法、軟件開發(fā)過(guò)程、軟件開發(fā)工具和環(huán)境。管理方面:主要研究軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)、軟件心理學(xué)。強(qiáng)調(diào)規(guī)范化和文檔化規(guī)范化和文檔化規(guī)范化:使眾多的開發(fā)者遵守相同的規(guī)范,使軟件生產(chǎn)擺脫個(gè)人生產(chǎn)方式,進(jìn)入標(biāo)準(zhǔn)化、工程化的生產(chǎn)方式關(guān)注國(guó)標(biāo)、行標(biāo)。文檔化: 把軟件的設(shè)計(jì)思想、設(shè)計(jì)過(guò)程和實(shí)現(xiàn)過(guò)程完整地記錄下來(lái),便于各類相關(guān)人員交流和溝通; 使軟件開發(fā)過(guò)程由不可見變?yōu)榭梢?,便于管理者?duì)軟件生產(chǎn)進(jìn)度和開發(fā)過(guò)程進(jìn)行管理; 是驗(yàn)收、質(zhì)量檢測(cè)的標(biāo)準(zhǔn)和依據(jù)。軟件工程的基本目標(biāo)軟件工程的基本目標(biāo) 付出較低的開發(fā)成本; 達(dá)到預(yù)期的軟件功能; 取得較好的軟件性能; 使

24、軟件易于移植; 需要較低的維護(hù)費(fèi)用; 能按時(shí)完成開發(fā)工作,及時(shí)交付使用。 互補(bǔ)關(guān)系: 互斥關(guān)系: 低開發(fā)成本 易于維護(hù) 高可靠性 高性能 按時(shí)交付 圖 1.1 軟件工程目標(biāo)之間的關(guān)系 1.3軟件工程7條基本原理軟件工程專家B.W.Boehm提出了軟件工程的7條基本原理 :原理原理1、用分階段的生命周期計(jì)劃嚴(yán)格管理、用分階段的生命周期計(jì)劃嚴(yán)格管理 項(xiàng)目概要計(jì)劃 里程碑計(jì)劃 項(xiàng)目控制計(jì)劃 產(chǎn)品控制計(jì)劃 測(cè)試驗(yàn)收計(jì)劃 運(yùn)行維護(hù)計(jì)劃原理原理2、堅(jiān)持進(jìn)行階段評(píng)審、堅(jiān)持進(jìn)行階段評(píng)審。軟件的質(zhì)量保證工作不能等到編碼階段結(jié)束之后再進(jìn)行。經(jīng)過(guò)大量的統(tǒng)計(jì)數(shù)據(jù)表明,大部分錯(cuò)誤是在編碼之前造成的,其中,設(shè)計(jì)錯(cuò)誤約占軟

25、件錯(cuò)誤的63%,編碼錯(cuò)誤僅占37%。錯(cuò)誤發(fā)現(xiàn)與改正的越晚,所需付出的代價(jià)也越高。因此,在每個(gè)階段都應(yīng)該進(jìn)行嚴(yán)格的評(píng)審,以便盡早發(fā)現(xiàn)在軟件開發(fā)過(guò)程中所犯的錯(cuò)誤,是一條必須遵循的重要原則。軟件工程7條基本原理原理原理3、實(shí)行嚴(yán)格的產(chǎn)品控制、實(shí)行嚴(yán)格的產(chǎn)品控制基準(zhǔn)配置又稱基線配置,它們是經(jīng)過(guò)階段評(píng)審后的軟件配置成份?;鶞?zhǔn)配置管理的思想是:一切有關(guān)修改軟件的建議,特別是涉及到對(duì)基準(zhǔn)配置的修改建議,都必須按照嚴(yán)格的規(guī)程進(jìn)行評(píng)審和控制,獲得批準(zhǔn)以后才能實(shí)施修改。目的是當(dāng)需求變動(dòng)時(shí),其它各階段的文檔或代碼隨之相應(yīng)變動(dòng),以保證軟件的一致性。軟件工程7條基本原理原理原理4、采用現(xiàn)代程序設(shè)計(jì)技術(shù)、采用現(xiàn)代程序設(shè)計(jì)

26、技術(shù)自從提出軟件工程概念后,人們一直把主要精力用于研究各種新的程序設(shè)計(jì)技術(shù)。60年代末提出了結(jié)構(gòu)化程序設(shè)計(jì)技術(shù),以后又進(jìn)一步發(fā)展出結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)、面向?qū)ο蟮姆治龊驮O(shè)計(jì)技術(shù)。實(shí)踐表明,采用先進(jìn)的技術(shù)既可提高軟件開發(fā)和維護(hù)的效率,又可提高軟件質(zhì)量。軟件工程7條基本原理原理原理5、結(jié)果應(yīng)能清楚地審查、結(jié)果應(yīng)能清楚地審查 軟件是一種看不見、摸不著的邏輯產(chǎn)品。軟件開發(fā)小組的工作進(jìn)展情況難于評(píng)價(jià)和管理。為更好地進(jìn)行管理,應(yīng)根據(jù)軟件開發(fā)的總目標(biāo)及完成期限,明確地規(guī)定開發(fā)小組的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使所得到的產(chǎn)品有明確的標(biāo)準(zhǔn)能清楚地審查。軟件工程7條基本原理原理原理6、開發(fā)小組的人員應(yīng)該少而精、開發(fā)小組的

27、人員應(yīng)該少而精軟件開發(fā)小組成員的素質(zhì)應(yīng)該好,人數(shù)不宜過(guò)多。素質(zhì)高的人員開發(fā)效率高、質(zhì)量好、錯(cuò)誤少。開發(fā)小組人員過(guò)多,信息交流造成的通信開銷會(huì)急劇增加。軟件工程7條基本原理原理原理7、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性遵循上述六條基本原理,就能夠按照當(dāng)代軟件工程基本原理實(shí)現(xiàn)軟件的工程化生產(chǎn)。但是,僅有上述六條原理并不能保證軟件開發(fā)與維護(hù)的過(guò)程能趕上時(shí)代前進(jìn)的步伐,因此,應(yīng)把承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟件工程的第七條基本原理。軟件工程7條基本原理1.4 1.4 軟件生存周期軟件生存周期 軟件生存周期是指一個(gè)計(jì)算機(jī)軟件從功能確定、設(shè)計(jì),到開發(fā)成功投入使用,并

28、在使用中不斷地修改、增補(bǔ)和完善,直到停止該軟件的使用的全過(guò)程。包括制定計(jì)劃(可行性研究)需求分析軟件設(shè)計(jì)程序編碼軟件測(cè)試運(yùn)行維護(hù) 在實(shí)踐中,整個(gè)開發(fā)周期經(jīng)常不是明顯地劃分,而是分析、設(shè)計(jì)、實(shí)現(xiàn),再分析、再設(shè)計(jì)、再實(shí)現(xiàn)等迭代執(zhí)行。本教材對(duì)軟件生命周期的劃分本教材對(duì)軟件生命周期的劃分1 、軟件定義時(shí)期、軟件定義時(shí)期任務(wù):確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計(jì)完成該項(xiàng)工程需要的資源和成本,并且制定工程進(jìn)度表。通常分為問(wèn)題定義、可行性研究和需求分析三個(gè)階段。60軟件定義時(shí)期的三個(gè)階段軟件定義時(shí)期的三個(gè)階段問(wèn)題定義階段回答:回答:“要

29、解決的問(wèn)題是什么?”可行性研究階段回答:“對(duì)于上一個(gè)階段所確定的問(wèn)題有行得通的解決辦法嗎?需求分析(RequirementAnalysis)回答“為了解決這個(gè)問(wèn)題,目標(biāo)系統(tǒng)必須做什么?用正式文檔準(zhǔn)確地記錄對(duì)目標(biāo)系統(tǒng)的需求,這份文檔通常稱為規(guī)格說(shuō)明書(specification)。612 、軟件開發(fā)時(shí)期、軟件開發(fā)時(shí)期具體設(shè)計(jì)和實(shí)現(xiàn)前一個(gè)時(shí)期定義的軟件,通常分為四個(gè)階段:總體設(shè)計(jì)(概要設(shè)計(jì))回答:“概括地說(shuō),應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”根據(jù)需求分析,設(shè)計(jì)軟件的體系結(jié)構(gòu);定義結(jié)構(gòu)中的組成模塊。詳細(xì)設(shè)計(jì)(模塊設(shè)計(jì))回答:“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?”對(duì)每個(gè)模塊要完成的工作進(jìn)行具體的描述,為源程序編寫打

30、下基礎(chǔ)。編寫設(shè)計(jì)說(shuō)明書,提交評(píng)審。二者統(tǒng)稱系統(tǒng)設(shè)計(jì)62軟件開發(fā)時(shí)期四個(gè)階段軟件開發(fā)時(shí)期四個(gè)階段程序編寫(Coding,Programming):把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。軟件測(cè)試(Testing):按規(guī)定的各項(xiàng)需求,逐項(xiàng)進(jìn)行有效性測(cè)試,決定已開發(fā)的軟件是否合格,能否交付用戶使用,包括單元測(cè)試和組裝測(cè)試。二者統(tǒng)稱系統(tǒng)實(shí)現(xiàn)633、運(yùn)行維護(hù)(軟件維護(hù))時(shí)期(、運(yùn)行維護(hù)(軟件維護(hù))時(shí)期( Running/Maintenance )使軟件持久的滿足用戶的需要。包括:l改正性維護(hù):運(yùn)行中發(fā)現(xiàn)了軟件中的錯(cuò)誤需要修正。l適應(yīng)性維護(hù):為了適應(yīng)變化了的軟件工作環(huán)境,需做適當(dāng)變更。l完善性維護(hù):當(dāng)用

31、戶有新的要求時(shí),應(yīng)該及時(shí)改進(jìn)軟件以滿足用戶的要求。l預(yù)防性維護(hù):即修改軟件為將來(lái)的維護(hù)活動(dòng)預(yù)先做準(zhǔn)備。64幾個(gè)關(guān)于軟件生命周期階段的問(wèn)題幾個(gè)關(guān)于軟件生命周期階段的問(wèn)題問(wèn)題一:開發(fā)一個(gè)軟件大概需要多少資金、時(shí)間,將獲得什么效益一般是在哪個(gè)階段確定?相對(duì)而言,在哪個(gè)階段與用戶交流最多?問(wèn)題二:系統(tǒng)分析員主要工作在哪個(gè)時(shí)期?程序員主要工作在哪個(gè)時(shí)期?問(wèn)題三:軟件定義時(shí)期的三個(gè)階段,各自回答什么關(guān)鍵問(wèn)題?問(wèn)題四:軟件開發(fā)時(shí)期有幾個(gè)階段?各自回答什么關(guān)鍵問(wèn)題?652 、什么是軟件生命周期模型、什么是軟件生命周期模型又稱:軟件開發(fā)模型軟件過(guò)程模型軟件工程范型。指軟件項(xiàng)目從需求定義直至軟件經(jīng)使用后廢棄為止,

32、跨越整個(gè)生存周期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。常見的有:瀑布模型、演化模型、螺旋模型、噴泉模型、智能模型661.5 1.5 軟件開發(fā)模型軟件開發(fā)模型1.5.1 1.5.1 瀑布模型瀑布模型瀑布模型(waterfall model)是由W. Royce于1970年提出來(lái)的。 瀑布模型依據(jù)軟件生命周期方法學(xué)開發(fā)軟件,各階段的工作自頂向下、從抽象到具體的順序進(jìn)行。瀑布模型規(guī)定了各項(xiàng)軟件工程活動(dòng),包括:制定開發(fā)計(jì)劃、需求分析和說(shuō)明、軟件設(shè)計(jì)、程序編碼、測(cè)試、運(yùn)行維護(hù)。并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級(jí)下落。如圖所示。 特點(diǎn)特點(diǎn) 瀑布模型嚴(yán)格按

33、照軟件生存周期各個(gè)階段來(lái)進(jìn)行開發(fā),上一階段的輸出即是下一階段的輸入,并強(qiáng)調(diào)每一階段的嚴(yán)格性。 它規(guī)定了各階段的任務(wù)和應(yīng)提交的成果及文檔,每一階段的任務(wù)完成后,都必須對(duì)其階段性產(chǎn)品(主要是文檔)進(jìn)行評(píng)審,通過(guò)后才能開始下一階段的工作。 因此,它是一種以文檔作為驅(qū)動(dòng)的模型瀑布模型優(yōu)點(diǎn)和特點(diǎn)瀑布模型優(yōu)點(diǎn)和特點(diǎn)優(yōu)點(diǎn):優(yōu)點(diǎn): 提供了軟件開發(fā)的基本框架,有利于大型軟件開發(fā)過(guò)提供了軟件開發(fā)的基本框架,有利于大型軟件開發(fā)過(guò)程中人員的組織、管理,有利于軟件開發(fā)方法和工具的研程中人員的組織、管理,有利于軟件開發(fā)方法和工具的研究與使用,因此,在軟件工程中占有重要的地位。究與使用,因此,在軟件工程中占有重要的地位。特

34、點(diǎn):特點(diǎn): (1) 階段間具有順序性(必須等前一階段的工作完成之后才能開始后一階段的工階段間具有順序性(必須等前一階段的工作完成之后才能開始后一階段的工作)和依賴性(前一階段的輸出文檔是后一階段的輸入文檔)。作)和依賴性(前一階段的輸出文檔是后一階段的輸入文檔)。 (2)推遲實(shí)現(xiàn)的特點(diǎn)推遲實(shí)現(xiàn)的特點(diǎn) 只有完成測(cè)試后,系統(tǒng)才能開始運(yùn)行。清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可只有完成測(cè)試后,系統(tǒng)才能開始運(yùn)行。清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn),是按照瀑布模型開發(fā)軟件的一條重要的指導(dǎo)思想。能推遲程序的物理實(shí)現(xiàn),是按照瀑布模型開發(fā)軟件的一條重要的指導(dǎo)思想。 (3)質(zhì)量保證質(zhì)量保證 為了

35、保證軟件質(zhì)量,在瀑布模型的每個(gè)階段都應(yīng)該堅(jiān)持以下兩個(gè)做法:為了保證軟件質(zhì)量,在瀑布模型的每個(gè)階段都應(yīng)該堅(jiān)持以下兩個(gè)做法: 第一,每一個(gè)階段都必須完成規(guī)定的文檔;第一,每一個(gè)階段都必須完成規(guī)定的文檔; 第二,每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問(wèn)題,改第二,每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問(wèn)題,改正錯(cuò)誤。正錯(cuò)誤。瀑布模型缺點(diǎn)瀑布模型缺點(diǎn)(1)在軟件開發(fā)的初期階段就要求做出正確、全面、完整的需求分析對(duì)許多應(yīng)用軟件來(lái)說(shuō)是極其困難的。 (2)需對(duì)大量冗余信息進(jìn)行分析。按照“瀑布式生命周期法”的要求,首先要對(duì)整個(gè)系統(tǒng)的業(yè)務(wù)流程和信息進(jìn)行全面的分析,以致對(duì)大量與目標(biāo)

36、系統(tǒng)毫無(wú)關(guān)系的信息分析造成了極大的浪費(fèi),加大了系統(tǒng)分析的工作量。有的MIS開發(fā),僅系統(tǒng)分析就長(zhǎng)達(dá)數(shù)月,甚至一年以上。(3)過(guò)高地要求用戶的穩(wěn)定和準(zhǔn)確表達(dá),但由于用戶對(duì)計(jì)算機(jī)管理缺乏深入的了解,往往做不到。(4)開發(fā)過(guò)程中出現(xiàn)錯(cuò)誤,通常要到系統(tǒng)實(shí)施過(guò)程中才能查驗(yàn)。(5)不支持軟件復(fù)用的概念;也不支持“原型”的概念。(6)開發(fā)周期長(zhǎng)。通常在完成編碼之前,看不到任何運(yùn)行或演示。由于存在以上種種問(wèn)題,再加之環(huán)境因素變動(dòng)較快,近年來(lái)開發(fā)的許多MIS,有些還未投入使用,就由于系統(tǒng)組織結(jié)構(gòu)和管理過(guò)程發(fā)生變化而需重新進(jìn)行系統(tǒng)分析和設(shè)計(jì),有的在投入運(yùn)行后不久就已報(bào)廢,明顯地縮短了MIS的壽命。瀑布模型適應(yīng)場(chǎng)合瀑

37、布模型適應(yīng)場(chǎng)合 瀑布模型一般適用于功能、性能明確、完整、無(wú)重大變化的軟件系統(tǒng)的開發(fā)。例如操作系統(tǒng)、編譯系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)等系統(tǒng)軟件的開發(fā)。 應(yīng)用有一定的局限性。1.5 1.5 軟件開發(fā)模型軟件開發(fā)模型1.5.2快速原型化模型快速原型模型是為克服瀑布模型的缺點(diǎn)于20世紀(jì)80年代推出的。快速原型法基本思想是:1. 由用戶、客戶和開發(fā)者進(jìn)行快速需求分析,產(chǎn)生系統(tǒng)規(guī)格說(shuō)明;2. 軟件開發(fā)人員根據(jù)該規(guī)格說(shuō)明快速產(chǎn)生一個(gè)可運(yùn)行的原型;運(yùn)行該原型,以便向用戶展示軟件系統(tǒng)應(yīng)有的部分或全部的功能和性能,并評(píng)價(jià)其規(guī)格說(shuō)明的完整性、準(zhǔn)確性和一致性;3. 根據(jù)評(píng)價(jià)結(jié)果,進(jìn)一步精化和細(xì)化規(guī)格說(shuō)明;4. 該過(guò)程可重復(fù)多

38、次,直到最終的規(guī)格說(shuō)明演化成與用戶和客戶一致的、可執(zhí)行的系統(tǒng)為止。 需求的采集和細(xì)化 快速設(shè)計(jì) 建造原型 用戶評(píng)價(jià)原型 對(duì)原型加工(需求精確化) 產(chǎn)品樣品(需求確認(rèn)) 圖 1.3 快速原型 原型模型優(yōu)缺點(diǎn)原型模型優(yōu)缺點(diǎn) 優(yōu)點(diǎn):與用戶見面快;開發(fā)成功率高,適合于需求不確定的大系統(tǒng)。 缺點(diǎn):周期長(zhǎng),開發(fā)成本高。 原型模型比瀑布模型更符合人們認(rèn)識(shí)事物的過(guò)程和規(guī)律,是一種較實(shí)用的開發(fā)框架。 它適合于那些不能預(yù)先確切定義需求的軟件系統(tǒng)的開發(fā),更適合于那些項(xiàng)目組成員(包括分析員、設(shè)計(jì)員、程序員和用戶)不能很好交流或通信有困難的情況。1.5 1.5 軟件開發(fā)模型軟件開發(fā)模型1.5.3 1.5.3 增量模型增

39、量模型 增量模型規(guī)定軟件的開發(fā)過(guò)程是一次開發(fā)產(chǎn)品的一個(gè)部分。首先應(yīng)該開發(fā)產(chǎn)品的基本部分,然后再逐步開發(fā)產(chǎn)品的附加部分。增量模型的開發(fā)過(guò)程示意圖 可行性論證 驗(yàn)證 需求分析 驗(yàn)證 體系結(jié)構(gòu)設(shè)計(jì) 驗(yàn)證 對(duì)每個(gè)構(gòu)件進(jìn)行詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、 集成、 測(cè)試,交付給用戶 驗(yàn)證 維護(hù) 圖 1.4 增量模型 增量模型優(yōu)缺點(diǎn)增量模型優(yōu)缺點(diǎn)優(yōu)點(diǎn):l能在較短的時(shí)間內(nèi),提供可完成部分工作的初步產(chǎn)品給用戶;l用戶有較為充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品。缺點(diǎn):對(duì)開發(fā)人員技術(shù)能力要求較高,要求能從系統(tǒng)整體出發(fā)正確劃分增量構(gòu)件,并進(jìn)行分別開發(fā),最后能很好地集成這些構(gòu)件。76一種風(fēng)險(xiǎn)更大的增量模型一種風(fēng)險(xiǎn)更大的增量模型有可能提高開發(fā)速度

40、,但需要密切地監(jiān)控整個(gè)開發(fā)過(guò)程,否則將冒構(gòu)件無(wú)法集成到一起的風(fēng)險(xiǎn),。77分析分析分析分析分析分析分析分析設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)編碼編碼編碼編碼編碼編碼編碼編碼測(cè)試測(cè)試測(cè)試測(cè)試測(cè)試測(cè)試測(cè)試測(cè)試構(gòu)件構(gòu)件1構(gòu)件構(gòu)件2 構(gòu)件構(gòu)件3構(gòu)件構(gòu)件4 1.4 .4 螺旋模型(螺旋模型(spiral model ) 大型軟件開發(fā)面臨的重要問(wèn)題:軟件風(fēng)險(xiǎn)如: 產(chǎn)品交付給用戶之后,用戶不滿意; 開發(fā)進(jìn)度落后,開發(fā)成本超出預(yù)算; 產(chǎn)品完成前關(guān)鍵的開發(fā)人員跳槽; 在產(chǎn)品投人市場(chǎng)前,競(jìng)爭(zhēng)對(duì)手發(fā)布了一個(gè)功能相近,價(jià)格更低的軟件 構(gòu)建原型能使某些類型的風(fēng)險(xiǎn)降到最低.781.4 1.4 軟件開發(fā)模型軟件開發(fā)模型1.4.

41、4 1.4.4 螺旋模型螺旋模型 螺旋模型(spiral model)是B. Boehm于1988年提出的。螺旋模型將瀑布模型和原型模型結(jié)合起來(lái),不僅體現(xiàn)了兩個(gè)模型的優(yōu)點(diǎn),而且還增加了兩個(gè)模型都忽略了的風(fēng)險(xiǎn)分析,彌補(bǔ)了兩者的不足。 螺旋模型的結(jié)構(gòu)如圖1.5所示,它由四部分組成:制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施開發(fā)、客戶評(píng)估。螺旋式周期螺旋式周期 螺旋模型沿著螺線旋轉(zhuǎn)(一個(gè)螺旋式周期),在四個(gè)象限上分別表達(dá)四個(gè)方面的活動(dòng),即: 制定計(jì)劃確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制,選定完成目標(biāo)的策略 風(fēng)險(xiǎn)分析分析所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn),風(fēng)險(xiǎn)角度分析該策略 實(shí)施工程實(shí)施軟件開發(fā),啟動(dòng)一個(gè)開發(fā)階

42、段 客戶評(píng)估評(píng)價(jià)前一步開發(fā)工作,提出修正建議,計(jì)劃下一輪的工作。螺旋模型的優(yōu)點(diǎn)螺旋模型的優(yōu)點(diǎn)1)支持用戶需求的動(dòng)態(tài)變化。這就要求構(gòu)造的原型的總體結(jié)構(gòu)、算法、程序、測(cè)試方案應(yīng)具有良好的可擴(kuò)充性和可修改性。也支持軟件系統(tǒng)的可維護(hù)性,每次維護(hù)過(guò)程只是沿螺旋模型繼續(xù)多走一兩個(gè)周期。2)原型可看作形式的可執(zhí)行的需求規(guī)格說(shuō)明,易于為用戶和開發(fā)人員共同理解,還可作為繼續(xù)開發(fā)的基礎(chǔ),并為用戶參與所有關(guān)鍵決策提供了方便。3)螺旋模型特別強(qiáng)調(diào)原型的可擴(kuò)充性和可修改性,原型的進(jìn)化貫穿整個(gè)軟件生存周期,這將有助于目標(biāo)軟件的適應(yīng)能力。4)螺旋模型為項(xiàng)目管理人員及時(shí)調(diào)整管理決策提供了方便,進(jìn)而可降低開發(fā)風(fēng)險(xiǎn)。缺點(diǎn)缺點(diǎn)1)

43、如果每次迭代的效率不高,致使迭代次數(shù)過(guò)多,將會(huì)增加成本并推遲提交時(shí)間;2)使用該模型需要有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),要求開發(fā)隊(duì)伍水平較高。適應(yīng)場(chǎng)合:支持需求不明確、特別是大型軟件系統(tǒng)的開發(fā),并支持面向規(guī)格說(shuō)明、面向過(guò)程、面向?qū)ο蟮榷喾N軟件開發(fā)方法,是一種具有廣闊前景的模型。1.5 1.5 軟件開發(fā)模型軟件開發(fā)模型1.5.5 1.5.5 噴泉模型噴泉模型它是以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),以用戶需求為動(dòng)力,以對(duì)象來(lái)驅(qū)動(dòng)的模型。噴泉模型如圖1.6所示。 各種模型的比較各種模型的比較模型模型優(yōu)點(diǎn)優(yōu)點(diǎn)缺點(diǎn)缺點(diǎn)瀑布模型瀑布模型規(guī)范,文檔驅(qū)動(dòng)系統(tǒng)可能不滿足客戶真正的需求快速原型快速原型克服了瀑布型

44、的缺點(diǎn)增量模型增量模型開發(fā)早期回報(bào)明確,易于維護(hù)要求開放的軟件體系結(jié)構(gòu)螺旋模型螺旋模型風(fēng)險(xiǎn)驅(qū)動(dòng),適用于大型項(xiàng)目開發(fā)風(fēng)險(xiǎn)分析人員需要有經(jīng)驗(yàn)且經(jīng)過(guò)充分訓(xùn)練861.4.6 RUP Rational 統(tǒng)一過(guò)程模型統(tǒng)一過(guò)程模型最佳實(shí)踐:1、迭代式開發(fā)2、管理需求3、使用基于構(gòu)件的體系結(jié)構(gòu)4、可視化建模5、驗(yàn)證軟件質(zhì)量6、控制軟件變更1.4.6 RUP Rational 統(tǒng)一過(guò)程模型統(tǒng)一過(guò)程模型RUP中的軟件生命周期分為四個(gè)順序的階段中的軟件生命周期分為四個(gè)順序的階段1初始階段初始階段的目標(biāo)是為系統(tǒng)建立商業(yè)案例并確定項(xiàng)目的邊界。為了達(dá)到該目的必須識(shí)別所有與系統(tǒng)交互的外部實(shí)體,在較高層次上定義交互的特性。本

45、階段具有非常重要的意義,在這個(gè)階段中所關(guān)注的是整個(gè)項(xiàng)目進(jìn)行中的業(yè)務(wù)和需求方面的主要風(fēng)險(xiǎn)。對(duì)于建立在原有系統(tǒng)基礎(chǔ)上的開發(fā)項(xiàng)目來(lái)講,初始階段可能很短。初始階段結(jié)束時(shí)是第一個(gè)重要的里程碑:生命周期目標(biāo)(LifecycleObjective)里程碑。生命周期目標(biāo)里程碑評(píng)價(jià)項(xiàng)目基本的生存能力。2細(xì)化階段細(xì)化階段的目標(biāo)是分析問(wèn)題領(lǐng)域,建立健全的體系結(jié)構(gòu)基礎(chǔ),編制項(xiàng)目計(jì)劃,淘汰項(xiàng)目中最高風(fēng)險(xiǎn)的元素。為了達(dá)到該目的,必須在理解整個(gè)系統(tǒng)的基礎(chǔ)上,對(duì)體系結(jié)構(gòu)作出決策,包括其范圍、主要功能和諸如性能等非功能需求。同時(shí)為項(xiàng)目建立支持環(huán)境,包括創(chuàng)建開發(fā)案例,創(chuàng)建模板、準(zhǔn)則并準(zhǔn)備工具。細(xì)化階段結(jié)束時(shí)第二個(gè)重要的里程碑:生

46、命周期結(jié)構(gòu)(LifecycleArchitecture)里程碑。生命周期結(jié)構(gòu)里程碑為系統(tǒng)的結(jié)構(gòu)建立了管理基準(zhǔn)并使項(xiàng)目小組能夠在構(gòu)建階段中進(jìn)行衡量。此刻,要檢驗(yàn)詳細(xì)的系統(tǒng)目標(biāo)和范圍、結(jié)構(gòu)的選擇以及主要風(fēng)險(xiǎn)的解決方案。RUP中的軟件生命周期分為四個(gè)順序的階段中的軟件生命周期分為四個(gè)順序的階段3構(gòu)造階段在構(gòu)建階段,所有剩余的構(gòu)件和應(yīng)用程序功能被開發(fā)并集成為產(chǎn)品,所有的功能被詳細(xì)測(cè)試。從某種意義上說(shuō),構(gòu)建階段是一個(gè)制造過(guò)程,其重點(diǎn)放在管理資源及控制運(yùn)作以優(yōu)化成本、進(jìn)度和質(zhì)量。構(gòu)建階段結(jié)束時(shí)是第三個(gè)重要的里程碑:初始功能(InitialOperational)里程碑。初始功能里程碑決定了產(chǎn)品是否可以在測(cè)

47、試環(huán)境中進(jìn)行部署。此刻,要確定軟件、環(huán)境、用戶是否可以開始系統(tǒng)的運(yùn)作。此時(shí)的產(chǎn)品版本也常被稱為“beta”版。4交付階段交付階段的重點(diǎn)是確保軟件對(duì)最終用戶是可用的。交付階段可以跨越幾次迭代,包括為發(fā)布做準(zhǔn)備的產(chǎn)品測(cè)試,基于用戶反饋的少量的調(diào)整。在生命周期的這一點(diǎn)上,用戶反饋應(yīng)主要集中在產(chǎn)品調(diào)整,設(shè)置、安裝和可用性問(wèn)題,所有主要的結(jié)構(gòu)問(wèn)題應(yīng)該已經(jīng)在項(xiàng)目生命周期的早期階段解決了。在交付階段的終點(diǎn)是第四個(gè)里程碑:產(chǎn)品發(fā)布(ProductRelease)里程碑。此時(shí),要確定目標(biāo)是否實(shí)現(xiàn),是否應(yīng)該開始另一個(gè)開發(fā)周期。在一些情況下這個(gè)里程碑可能與下一個(gè)周期的初始階段的結(jié)束重合。敏捷過(guò)程敏捷過(guò)程 (AP)

48、流派有:極限編程,SCRUM,動(dòng)態(tài)系統(tǒng)開發(fā),特征驅(qū)動(dòng)開發(fā)等四條基本價(jià)值觀:1個(gè)體和交互勝過(guò)過(guò)程和工具2可以工作的軟件勝過(guò)面面俱到的文檔3客戶合作勝過(guò)全同談判4響應(yīng)變化勝過(guò)遵循計(jì)劃敏捷過(guò)程敏捷過(guò)程 (AP)由價(jià)值觀引出的12條敏捷原則:1我們最優(yōu)先要做的是通過(guò)盡早的、持續(xù)的交付有價(jià)值的軟件來(lái)使客戶滿意。2即使到了開發(fā)的后期,也歡迎改變需求。敏捷過(guò)程利用變化來(lái)為客戶創(chuàng)造競(jìng)爭(zhēng)優(yōu)勢(shì)。3經(jīng)常性地交付可以工作的軟件,交付的間隔可以從幾個(gè)星期到幾個(gè)月,交付的時(shí)間間隔越短越好。4在整個(gè)項(xiàng)目開發(fā)期間,業(yè)務(wù)人員和開發(fā)人員必須天天都在一起工作。5圍繞被激勵(lì)起來(lái)的個(gè)體來(lái)構(gòu)建項(xiàng)目。給他們提供所需的環(huán)境和支持,并且信任他

49、們能夠完成工作。6在團(tuán)隊(duì)內(nèi)部,最具有效果并且富有效率的傳遞信息的方法,就是面對(duì)面的交談。7工作的軟件是首要的進(jìn)度度量標(biāo)準(zhǔn)。8敏捷過(guò)程提倡可持續(xù)的開發(fā)速度。責(zé)任人、開發(fā)者和用戶應(yīng)該能夠保持一個(gè)長(zhǎng)期的、恒定的開發(fā)速度。9不斷地關(guān)注優(yōu)秀的技能和好的設(shè)計(jì)會(huì)增強(qiáng)敏捷能力。10簡(jiǎn)單使未完成的工作最大化的藝術(shù)是根本的。11最好的構(gòu)架、需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì)。12每隔一定時(shí)間,團(tuán)隊(duì)會(huì)在如何才能更有效地工作方面進(jìn)行反省,然后相應(yīng)地對(duì)自己的行為進(jìn)行調(diào)整。敏捷過(guò)程敏捷過(guò)程 (AP) 極限編程(xp)extremepromming的價(jià)值觀如下:1改善溝通2尋求簡(jiǎn)單3獲得反饋4富有勇氣適用范圍:具有有限資源及有限

50、時(shí)間的小項(xiàng)目 微軟過(guò)程微軟過(guò)程(MP)微軟過(guò)程原則:1制定計(jì)劃時(shí)兼顧未來(lái)不確定因素2通過(guò)有效的風(fēng)險(xiǎn)管理減少不確定因素的影響3經(jīng)常生成過(guò)渡性的版本并快速測(cè)試來(lái)提高產(chǎn)品的穩(wěn)定性及可測(cè)性4快速循環(huán)遞進(jìn)的開發(fā)過(guò)程5從產(chǎn)品特性和成本控制出發(fā)創(chuàng)造性地工作6創(chuàng)建確定的進(jìn)度表7使用小型項(xiàng)目組并發(fā)完成工作,并設(shè)置多個(gè)同步8將大型項(xiàng)目分解成多個(gè)可管理的單元,以便更快地發(fā)布產(chǎn)品9用產(chǎn)品的前景目標(biāo)和概要說(shuō)明指導(dǎo)項(xiàng)目開發(fā)工作-先基線后凍結(jié)10避免產(chǎn)品走形11使用原型驗(yàn)證概念,進(jìn)行開發(fā)前的測(cè)試12零缺陷概念13非責(zé)難式的里程碑評(píng)審會(huì)微軟開發(fā)產(chǎn)品的每個(gè)生命周期分五個(gè)階段1構(gòu)想階段2計(jì)劃階段3開發(fā)階段4穩(wěn)定階段5發(fā)布階段1.

51、5 1.5 軟件開發(fā)模型軟件開發(fā)模型【例1.1】假設(shè)你被任命為一家軟件公司的項(xiàng)目負(fù)責(zé)人,你的工作是管理該公司已被廣泛應(yīng)用的字處理軟件的新版本開發(fā)。由于市場(chǎng)競(jìng)爭(zhēng)激烈,公司規(guī)定了嚴(yán)格的完成期限并且已對(duì)外公布。你打算采用哪種軟件生命周期模型?為什么?解:解:對(duì)這個(gè)項(xiàng)目的一個(gè)重要要求是,嚴(yán)格按照已對(duì)外公布了的日期完成產(chǎn)品開發(fā)工作,因此,選擇生命周期模型時(shí)、應(yīng)該著重考慮哪種模型有助于加快產(chǎn)品開發(fā)的進(jìn)度。使用增量模型開發(fā)軟件時(shí)可以并行完成開發(fā)工作,因此能夠加快開發(fā)進(jìn)度。這個(gè)項(xiàng)目是開發(fā)該公司已被廣泛應(yīng)用的字處理軟件的新版本,從上述事實(shí)至少可以得出3點(diǎn)結(jié)論:第一,舊版本相當(dāng)于一個(gè)原型,通過(guò)收集用戶對(duì)舊版本的反

52、映,較容易確定對(duì)新版本的需求,沒(méi)必要再專門建立一個(gè)原型系統(tǒng)來(lái)分析用戶的需求;第二,該公司的軟件工程師對(duì)字處理軟件很熟悉,有開發(fā)字處理軟件的豐富經(jīng)驗(yàn),具有采用增量模型開發(fā)新版字處理軟件所需要的技術(shù)水平;第三,該軟件受到廣大用戶的喜愛,今后很可能還要開發(fā)更新的版本,因此,應(yīng)該把該軟件的體系結(jié)構(gòu)設(shè)計(jì)成開放式的,以利于今后的改進(jìn)和擴(kuò)充。1.傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)(生命周期方法學(xué)或結(jié)構(gòu)化范型)生命周期方法學(xué)或結(jié)構(gòu)化范型)l 采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開發(fā)的各項(xiàng)任務(wù);l 把軟件生命周期劃分為若干個(gè)階段,按順序完成每個(gè)階段的任務(wù);l 每個(gè)階段開始和結(jié)束都有嚴(yán)格的標(biāo)準(zhǔn),對(duì)任何

53、兩個(gè)相鄰的階段而言,前一個(gè)階段的結(jié)束標(biāo)準(zhǔn)就是后一階段的開始標(biāo)準(zhǔn);l 每一個(gè)階段結(jié)束之前都必須進(jìn)行正式嚴(yán)格的技術(shù)審查和管理復(fù)審96傳統(tǒng)方法學(xué)的優(yōu)點(diǎn):傳統(tǒng)方法學(xué)的優(yōu)點(diǎn):l分解任務(wù),分工合作,降低整個(gè)軟件開發(fā)工程的困難;l采用科學(xué)的管理技術(shù)和良好的技術(shù)方法對(duì)每個(gè)階段成果都進(jìn)行嚴(yán)格的審查。保證了軟件的質(zhì)量。 傳統(tǒng)方法學(xué)的缺點(diǎn): 把數(shù)據(jù)和操作人為地分離成兩個(gè)獨(dú)立的部分,增加了軟件開發(fā)與維護(hù)的難度。972 、面向?qū)ο蠓椒▽W(xué)(、面向?qū)ο蠓椒▽W(xué)( OO,Object- oriented ) 模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過(guò)程盡可能接近人類認(rèn)識(shí)世界解決問(wèn)題的方法與過(guò)程,從而使描述問(wèn)題的問(wèn)題空間(也稱

54、為問(wèn)題域)與實(shí)現(xiàn)解法的解空間(也稱為求解域)在結(jié)構(gòu)上盡可能一致。98面向?qū)ο蠓椒▽W(xué)面向?qū)ο蠓椒▽W(xué) 4 要點(diǎn)要點(diǎn)l把對(duì)象(object)作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。l把所有對(duì)象都劃分成類(class)。l按照父類(或稱為基類)與子類(或稱為派生類)的關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級(jí))。l對(duì)象彼此間僅能通過(guò)發(fā)送消息互相聯(lián)系。99二者區(qū)別二者區(qū)別l傳統(tǒng)方法學(xué):強(qiáng)調(diào)自頂向下順序地完成軟件開發(fā)的各階段任務(wù)。l面向?qū)ο蠓椒ǎ菏侵鲃?dòng)地多次反復(fù)迭代的演化過(guò)程1001.6 1.6 傳統(tǒng)軟件工程和面向?qū)ο筌浖こ虃鹘y(tǒng)軟件工程和面向?qū)ο筌浖こ?. 面向?qū)ο蠓椒ǖ闹饕?/p>

55、優(yōu)點(diǎn) 符合人們通常的思維方式 高度連續(xù)性 重用性好 可維護(hù)性好 軟件過(guò)程成熟度軟件過(guò)程成熟度 SEI(卡內(nèi)基梅隆大學(xué)軟件工程研究所)提出了個(gè)綜合模型(CMM),定義了當(dāng)一個(gè)組織達(dá)到不同的過(guò)程成熟度時(shí)應(yīng)該具有的軟件工程能力。 為了確定一個(gè)組織目前的過(guò)程成熟度,SEI使用了一個(gè)能力成熟度模型(評(píng)估調(diào)查表)和五個(gè)等級(jí)方案。該模型定義了在不同級(jí)別上具有的關(guān)鍵活動(dòng)。 SEI的模型提供了衡量一個(gè)組織軟件工程實(shí)踐能力的有效性方法,且建立了過(guò)程成熟度的五個(gè)級(jí)別。能力等級(jí)能力等級(jí)特點(diǎn)特點(diǎn)關(guān)鍵過(guò)程關(guān)鍵過(guò)程第一級(jí)初始級(jí)(最低級(jí))軟件工程管理制度缺乏,過(guò)程缺乏定義、混亂無(wú)序。成功依靠的是個(gè)人的才能和經(jīng)驗(yàn),經(jīng)常由于缺乏

56、管理和計(jì)劃導(dǎo)致時(shí)間、費(fèi)用超支。管理方式屬于反應(yīng)式,主要用來(lái)應(yīng)付危機(jī)。過(guò)程不可預(yù)測(cè),難以重復(fù)。第二級(jí)可重復(fù)級(jí)基于類似項(xiàng)目中的經(jīng)驗(yàn),建立了基本的項(xiàng)目管理制度,采取了一定的措施控制費(fèi)用和時(shí)間。管理人員可及時(shí)發(fā)現(xiàn)問(wèn)題,采取措施。一定程度上可重復(fù)類似項(xiàng)目的軟件開發(fā)。需求管理,項(xiàng)目計(jì)劃,項(xiàng)目跟蹤和監(jiān)控,軟件子合同管理,軟件配置管理,軟件質(zhì)量保障第三級(jí)已定義級(jí)已將軟件過(guò)程文檔化、標(biāo)準(zhǔn)化,可按需要改進(jìn)開發(fā)過(guò)程,采用評(píng)審方法保證軟件質(zhì)量??山柚鶦ASE工具提高質(zhì)量和效率。組織過(guò)程定義,組織過(guò)程焦點(diǎn),培訓(xùn)大綱,軟件集成管理,軟件產(chǎn)品工程,組織協(xié)調(diào),專家審評(píng)第四級(jí)已管理級(jí)針對(duì)制定質(zhì)量、效率目標(biāo),并收集、測(cè)量相應(yīng)指標(biāo)。利用統(tǒng)計(jì)工具分析并采取改進(jìn)措施。對(duì)軟件過(guò)程和產(chǎn)品質(zhì)量有定量的理解和控制。定量的軟件過(guò)程管理和產(chǎn)品質(zhì)量管理第五級(jí)優(yōu)化級(jí)(最高級(jí))基于統(tǒng)計(jì)質(zhì)量和過(guò)程控制工具,持續(xù)改進(jìn)軟件過(guò)程。質(zhì)量和效率穩(wěn)步改進(jìn)。缺陷預(yù)防,過(guò)程變更管理和技

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論