




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件項(xiàng)目開發(fā)綜合實(shí)踐主講人黃鋼
chapter__12教材:《軟件工程案例教程第2版》韓萬(wàn)江等編著機(jī)械工業(yè)出版社參考書籍:《Java項(xiàng)目開發(fā)案例全程實(shí)錄》明日科技清華大學(xué)出版社《A項(xiàng)目開發(fā)案例全程實(shí)錄》明日科技清華大學(xué)出版社1.考核方式:大作業(yè)2.成績(jī)?cè)u(píng)定:總評(píng)成績(jī)構(gòu)成:平時(shí)考核(50)%;期中考核(0)%;期末考核(50)%平時(shí)成績(jī)構(gòu)成:考勤考紀(jì)(20)%;作業(yè)(20)%;實(shí)踐環(huán)節(jié)(60)%CompanyLogo07二月2023物電學(xué)院4第1章概論
§1軟件工程學(xué)的幾個(gè)基本概念一、軟件與特點(diǎn)主要介紹軟件與軟件工程的概念、軟件工程產(chǎn)生的背景
1.軟件及其組成軟件是計(jì)算機(jī)系統(tǒng)中與硬件對(duì)等的一部分,是程序及相關(guān)文檔資料的集合。因此,軟件有兩大組成要素:07二月2023物電學(xué)院5第1章概論
一是存儲(chǔ)介質(zhì)上的程序,它們是可執(zhí)行的并可產(chǎn)生用戶需要的結(jié)果;二是相關(guān)的文檔資料,它們既是軟件開發(fā)過(guò)程中的質(zhì)量保證,又是軟件使用與維護(hù)的依據(jù)。兩大組成要素詳述如下。07二月2023物電學(xué)院6第1章概論
(1)可執(zhí)行部分
應(yīng)用程序——是面向用戶的解決各種特定實(shí)際問(wèn)題的程序。如工程管理或科學(xué)計(jì)算程序、信息管理程序及實(shí)時(shí)監(jiān)控程序等。
系統(tǒng)程序——是面向計(jì)算機(jī)系統(tǒng)的為應(yīng)用程序服務(wù)的程序的綜合,它們支撐應(yīng)用程序的運(yùn)行。如操作系統(tǒng)。07二月2023物電學(xué)院7第1章概論
(2)不可執(zhí)行部分
面向用戶的文檔——告訴用戶如何使用、維護(hù)和修改程序。如用戶手冊(cè)、操作手冊(cè)及程序維護(hù)手冊(cè)等。
面向開發(fā)方的文檔——提供軟件開發(fā)過(guò)程的質(zhì)量保證。如系統(tǒng)可行性論證報(bào)告、軟件計(jì)劃說(shuō)明書、需求規(guī)格說(shuō)明書、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書,以及側(cè)試計(jì)劃、測(cè)試分析報(bào)告等。
項(xiàng)目越大,與其相關(guān)的文檔資料也越重要,從以后的介紹中可以看出,程序編寫在整個(gè)項(xiàng)目的開發(fā)過(guò)程中只占很少的一部分。07二月2023物電學(xué)院8第1章概論
2.軟件的特點(diǎn)(1)軟件是一種邏輯產(chǎn)品,它與物質(zhì)產(chǎn)品有很大的區(qū)別。軟件產(chǎn)品是看不見摸不著的,因而具有無(wú)形性。它是腦力勞動(dòng)的結(jié)晶,總以程序和文檔的形式出現(xiàn),保存在計(jì)算機(jī)存儲(chǔ)器的磁盤和光盤介質(zhì)上,通過(guò)計(jì)算機(jī)的運(yùn)行才能體現(xiàn)它的功能和作用。07二月2023物電學(xué)院9第1章概論
(2)軟件產(chǎn)品的生產(chǎn)主要是研制。其成本主要體現(xiàn)在軟件的開發(fā)和研制上,軟件開發(fā)研究完成后,通過(guò)復(fù)制就產(chǎn)生了大量軟件產(chǎn)品。(3)軟件產(chǎn)品不會(huì)用壞,不存在磨損、消耗問(wèn)題。(4)軟件產(chǎn)品的生產(chǎn)主要是腦力勞動(dòng),還未完全擺脫手工開發(fā)方式,大部分產(chǎn)品是“定做”的。07二月2023物電學(xué)院10第1章概論
(5)軟件的維護(hù)與硬件不同軟件從被提交給用戶使用開始。只存在維護(hù)問(wèn)題,而不存在使用過(guò)程中被“用壞”的問(wèn)題。而硬件則不同,用戶購(gòu)買到硬件并開始使用硬件后,隨著時(shí)間的過(guò)去,硬件會(huì)因?yàn)楦鞣N原因(如灰塵、振動(dòng)、高溫、磨損等)造成某些部件的失效,從而導(dǎo)致硬件被“用壞”了。軟件的使用過(guò)程中出錯(cuò)的可能性與硬件不同。如圖是軟件使用過(guò)程中隨時(shí)間變化的錯(cuò)誤率曲線的示意圖。07二月2023物電學(xué)院11第1章概論
(6)軟件的開發(fā)和運(yùn)行常常受到計(jì)算機(jī)系統(tǒng)的限制軟件的開發(fā)和運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)有著不同程度的依賴性,軟件不能完全擺脫硬件單獨(dú)活動(dòng)。有的軟件這種依賴性大些,常常為某個(gè)型號(hào)的計(jì)算機(jī)所專用。有的軟件依賴某個(gè)操作系統(tǒng)。為了解除這種依賴性,在軟件開發(fā)中提出了軟件移植的問(wèn)題。07二月2023物電學(xué)院12第1章概論
(7)軟件費(fèi)用不斷增加,軟件成本相當(dāng)昂貴。軟件的研制工作需要投放大量的、復(fù)雜的、高強(qiáng)度的腦力勞動(dòng),它的成本非常高。在基于計(jì)算機(jī)的系統(tǒng)中,軟件的開銷大大超過(guò)硬件的開銷,如圖所示。
澄清:認(rèn)為“軟件開發(fā)就是寫程序并設(shè)法使之運(yùn)行”的錯(cuò)誤的認(rèn)識(shí)07二月2023物電學(xué)院13第1章概論
軟件在開發(fā)時(shí)期首先需要對(duì)軟件進(jìn)行設(shè)計(jì)(通常又分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段),然后才能進(jìn)入編寫程序的階段,程序編寫完之后還必須經(jīng)過(guò)大量的測(cè)試工作(需要的工作量通常占軟件開發(fā)全部工作量的40%~50%)才能最終交付使用。所以,編寫程序只是軟件開發(fā)過(guò)程中的一個(gè)階段,而且在典型的軟件開發(fā)工程中,編寫程序所需的工作量只占軟件開發(fā)全部工作量的10%~20%。07二月2023物電學(xué)院14第1章概論二、軟件危機(jī)1.軟件的發(fā)展
自從20世紀(jì)40年代第一臺(tái)計(jì)算機(jī)誕生以來(lái),隨著計(jì)算機(jī)科學(xué)與工程的發(fā)展,計(jì)算機(jī)軟件技術(shù)的發(fā)展大體可以分為程序設(shè)計(jì),軟件系統(tǒng)與軟件工程三個(gè)階段。07二月2023物電學(xué)院15第1章概論2.軟件危機(jī)
20世紀(jì)60年代,伴隨著計(jì)算機(jī)系統(tǒng)制造技術(shù)的進(jìn)步,計(jì)算機(jī)應(yīng)用對(duì)于軟件的需求劇增。軟件規(guī)模功能日益復(fù)雜,需求急劇增大。計(jì)算機(jī)軟件開發(fā)從早期以個(gè)人活動(dòng)為主的手〕作坊方式逐步轉(zhuǎn)到以程序員組形式為代表的集體開發(fā)為主:在這—’轉(zhuǎn)換過(guò)程中,出現(xiàn)了軟件小產(chǎn)與市場(chǎng)需求極不適應(yīng)的嚴(yán)重現(xiàn)象——軟件危機(jī)。07二月2023物電學(xué)院16第1章概論
軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。這些問(wèn)題絕不僅僅是不能正常運(yùn)行的軟件才具有的,實(shí)際上,幾乎所有軟件都不同程度地存在這些問(wèn)題。
軟件危機(jī)主要有以下一些典型表現(xiàn)。P207二月2023物電學(xué)院17第1章概論
(1)軟件生產(chǎn)不能滿足日益增長(zhǎng)的軟件需求,軟件生產(chǎn)率遠(yuǎn)低于硬件生產(chǎn)率和計(jì)算機(jī)應(yīng)用的增長(zhǎng),出現(xiàn)丁軟件供不匝求的局面。更為嚴(yán)重的是軟件生產(chǎn)效率隨軟件規(guī)模的增加和軟件復(fù)雜性的提高而急劇下降;軟件產(chǎn)品的“供不應(yīng)求”使得計(jì)算機(jī)硬件的巨大潛力遠(yuǎn)未發(fā)揮。07二月2023物電學(xué)院18第1章概論
(2)軟件生產(chǎn)率隨軟件規(guī)模與復(fù)雜性提高而下降,智力密集造成的人力成本增加,導(dǎo)致軟件成本在計(jì)算機(jī)系統(tǒng)成本構(gòu)成中比例急劇上升。早期的計(jì)算機(jī)系統(tǒng)中軟件成本通常不超過(guò)系統(tǒng)總成本的20%。到70年代約占40%一60%,80年代中以來(lái),發(fā)達(dá)國(guó)家許多軟件產(chǎn)品成本占11算機(jī)系統(tǒng)總成本構(gòu)成的90%以上。07二月2023物電學(xué)院19第1章概論
(3)軟件開發(fā)進(jìn)度與成本失控,很難估計(jì)軟件開發(fā)的成本與進(jìn)度,通常是預(yù)算成倍突破,項(xiàng)目計(jì)劃進(jìn)度一再延期。軟件開發(fā)單位為趕進(jìn)度,控制成本往往只有降低軟件質(zhì)量:軟件開發(fā)陷入成本居高不下,軟件質(zhì)量無(wú)保證,用戶不滿,開發(fā)單位信譽(yù)降低的怪圈中。07二月2023物電學(xué)院20第1章概論
(4)軟件系統(tǒng)實(shí)現(xiàn)的功能與實(shí)際需求不符。軟件開發(fā)人員對(duì)用戶需求缺乏深入的理解往往急于編程。閉門造車,最后實(shí)現(xiàn)的系統(tǒng)與用戶需求相去太遠(yuǎn)。07二月2023物電學(xué)院21第1章概論
(5)交付的軟件難以維護(hù)。程序中的錯(cuò)誤很難改正,要想使軟件適應(yīng)新的運(yùn)行環(huán)境幾乎不可能,軟件使用過(guò)程中不能增加用戶需要的新功能?!翱芍貜?fù)使用的軟件”還是‘個(gè)人們努力追求的目標(biāo),大量的軟件人員在重復(fù)開發(fā)基本類似的軟件。07二月2023物電學(xué)院22第1章概論
(6)軟件文檔配置沒(méi)有受到足夠的重視。軟件文檔包括開發(fā)過(guò)程各階段的說(shuō)明書,數(shù)據(jù)詞典,程序清單,軟件使用、維護(hù)手冊(cè),軟件測(cè)試報(bào)告及測(cè)試用例。這些軟件文檔的不規(guī)范,不健全是造成軟件開發(fā)進(jìn)程成本不可控制,軟件維護(hù)、管理、交流困難的重要原因。軟件質(zhì)量缺乏度量依據(jù)。07二月2023物電學(xué)院23第1章概論
軟件危機(jī)的表現(xiàn)實(shí)際上是軟件開發(fā)與維護(hù)中存在的具有共性的種種問(wèn)題。近30年來(lái),為解決這些問(wèn)題,計(jì)算機(jī)科學(xué)家和軟件產(chǎn)業(yè)從業(yè)者已經(jīng)做出了巨大的努力。但許多問(wèn)題遠(yuǎn)未解決,有些問(wèn)題的嚴(yán)重性得到部分緩解,新的問(wèn)題又不斷出現(xiàn)。07二月2023物電學(xué)院24第1章概論
3.產(chǎn)生軟件危機(jī)的原因軟件危機(jī)產(chǎn)生的原因可以從兩個(gè)方面加以認(rèn)識(shí):一是軟件產(chǎn)品的固有特性;二是軟件專業(yè)人員自身的缺陷。07二月2023物電學(xué)院25第1章概論
軟件的不可見性是軟件產(chǎn)品的固有特點(diǎn)之一。與硬件產(chǎn)品不同,軟件是計(jì)算機(jī)系統(tǒng)中的邏輯部件。軟件開發(fā)過(guò)程中,在程序代碼運(yùn)行之前,開發(fā)工作的質(zhì)量、進(jìn)度難以度量。最終軟件產(chǎn)品的使用價(jià)值是在軟件運(yùn)行過(guò)程中體現(xiàn)出來(lái)的。而且軟件運(yùn)行沒(méi)有“磨損”,這使得軟件產(chǎn)品可靠性難以度量,故障隱蔽性強(qiáng)。對(duì)原有故障的修改可能導(dǎo)致新的錯(cuò)誤。07二月2023物電學(xué)院26第1章概論
軟件產(chǎn)品的固有特點(diǎn)之二是軟件的規(guī)模與邏輯復(fù)雜性?,F(xiàn)代軟件產(chǎn)品往往規(guī)模龐大,邏輯結(jié)構(gòu)十分復(fù)雜:隨著計(jì)算機(jī)應(yīng)用的日益廣泛,需要開發(fā)的軟件規(guī)模日益龐大,軟件結(jié)構(gòu)也日益復(fù)雜。1968年美國(guó)航空公司訂票系統(tǒng)達(dá)到30萬(wàn)條指令;IBM360OS第16版達(dá)到100萬(wàn)條指令,花了5000個(gè)人年;1973年美國(guó)阿波羅計(jì)劃達(dá)到1千萬(wàn)條指令。07二月2023物電學(xué)院27第1章概論從軟件開發(fā)管理角度看,軟件生產(chǎn)率常隨軟件規(guī)模和復(fù)雜性的增大而下降。也就是說(shuō),如果—個(gè)程序員一年可以開發(fā)1萬(wàn)條代碼,則一個(gè)400萬(wàn)條代碼的軟件系統(tǒng)絕對(duì)不是集中400個(gè)人在一年內(nèi)可以完成的,軟件規(guī)模與其邏輯復(fù)雜度通常并不是線性比關(guān)系。07二月2023物電學(xué)院28第1章概論
當(dāng)多人合作完成一個(gè)系統(tǒng)時(shí),作為一個(gè)工程項(xiàng)目,參與人員的組織與信息交流、工作質(zhì)量與進(jìn)度控制等更是一個(gè)極復(fù)雜的問(wèn)題。就目前的軟件技術(shù)水平而言,軟件開發(fā)工作量隨軟件規(guī)模呈幾何級(jí)數(shù)上升。07二月2023物電學(xué)院29
開發(fā)工具落后,生產(chǎn)率提高緩慢。軟件開發(fā)工具過(guò)于原始,沒(méi)有出現(xiàn)高效率的開發(fā)工具,因而軟件生產(chǎn)率低下。在1960~1980年期間,計(jì)算機(jī)硬件的生產(chǎn)由于采用計(jì)算機(jī)輔助設(shè)計(jì)、自動(dòng)生產(chǎn)線等先進(jìn)工具,使硬件生產(chǎn)率提高了100萬(wàn)倍,而軟件生產(chǎn)率只提高了2倍,相差十分懸殊。07二月2023物電學(xué)院30第1章概論
軟件開發(fā)人員自身的缺陷主要包括:相當(dāng)數(shù)量的軟件開發(fā)人員沒(méi)有掌握正確的軟件開發(fā)方法學(xué),對(duì)于軟件開發(fā)與維護(hù)存在許多模糊、錯(cuò)誤認(rèn)識(shí)。對(duì)于軟件開發(fā)的典型錯(cuò)誤隊(duì)識(shí)有:只要初步了解總目標(biāo),就可以編寫程序.細(xì)節(jié)在編程中解決;軟件更改容易,因此用戶需求可以在程序設(shè)計(jì)過(guò)程中逐步補(bǔ)充;程序是軟件的主要部分,文檔是可有可無(wú)的;07二月2023物電學(xué)院31第1章概論
軟件開發(fā)依賴于開發(fā)人員的創(chuàng)造力與想象力,程序設(shè)計(jì)是一門藝術(shù),因此軟件設(shè)計(jì)無(wú)章可循;一旦軟件能夠運(yùn)行,維護(hù)是不需要的,或者說(shuō)是極少的。07二月2023物電學(xué)院32第1章概論
這些錯(cuò)誤認(rèn)識(shí)與方法的形成可以歸于軟件人員沒(méi)有掌握恰當(dāng)?shù)墓こ袒椒ǎ鲆晢?wèn)題定義與分析,急于求成,閉門造車。一個(gè)軟件錯(cuò)誤修改的代價(jià)隨該錯(cuò)誤發(fā)生與修改滯后的時(shí)間關(guān)系極大。一個(gè)早期發(fā)生的錯(cuò)誤修改越晚,代價(jià)越大(如圖1所示)。事實(shí)上,許多軟件工程項(xiàng)目失敗的主要原因就是對(duì)問(wèn)題定義、用戶要求沒(méi)有認(rèn)真的分析、在沒(méi)有弄清用戶到底要求什么時(shí)便開始編程。這如同一個(gè)大廈的建立沒(méi)有地基,最終必然垮臺(tái)。07二月2023物電學(xué)院33第1章概論
4.消除軟件危機(jī)的途徑P4為了消除軟件危機(jī),首先應(yīng)該對(duì)計(jì)算機(jī)軟件有一個(gè)正確的認(rèn)識(shí)。應(yīng)該徹底消除在計(jì)算機(jī)系統(tǒng)早期發(fā)展階段形成的“軟件就是程序”的錯(cuò)誤觀念。一個(gè)軟件必須由一個(gè)完整的配置組成,事實(shí)上,軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是能夠完成預(yù)定功能和性能的可執(zhí)行的指令序列;數(shù)據(jù)是使程序能夠適當(dāng)?shù)靥幚硇畔⒌臄?shù)據(jù)結(jié)構(gòu);文檔是開發(fā)、使用和維護(hù)程序所需要的圖文資料。07二月2023物電學(xué)院34第1章概論三、軟件工程
為了克服軟件危機(jī),人們從其他產(chǎn)業(yè)的工程化生產(chǎn)得到啟示,于是在1968年北大西洋公約組織的工作會(huì)議上首先提出“軟件工程”的概念,提出要用工程化的思想來(lái)開發(fā)軟件。從此,軟件生產(chǎn)進(jìn)入了軟件工程時(shí)代。07二月2023物電學(xué)院35第1章概論
1.軟件工程的定義
軟件工程是用科學(xué)知識(shí)和技術(shù)原理來(lái)定義、開發(fā)、維護(hù)軟件的一門學(xué)科。該定義說(shuō)明了軟件工程是計(jì)算機(jī)科學(xué)中的一個(gè)分支,其主要思想是在軟件生產(chǎn)中用工程化的方法代替?zhèn)鹘y(tǒng)手工方法。工程化的方法借用了傳統(tǒng)的工程設(shè)計(jì)原理的基本思想,采用了若干科學(xué)的、現(xiàn)代化的方法技術(shù)來(lái)開發(fā)軟件。這種工程化的思想(軟件工程的基本原理)貫穿到需求分析、設(shè)計(jì)、實(shí)現(xiàn),直到維護(hù)的整個(gè)過(guò)程。07二月2023物電學(xué)院36第1章概論2.軟件工程的性質(zhì)軟件工程是涉及計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等領(lǐng)域的一門綜合性的交叉學(xué)科計(jì)算機(jī)科學(xué)中的研究成果均可用于軟件工程,但計(jì)算機(jī)科學(xué)著重于原理和理論,而軟件工程著重于如何建造一個(gè)軟件系統(tǒng)。07二月2023物電學(xué)院37第1章概論軟件工程要用工程科學(xué)中的觀點(diǎn)來(lái)進(jìn)行費(fèi)用估算、制定進(jìn)度、制定計(jì)劃和方案;要用管理科學(xué)中的方法和原理進(jìn)行軟件生產(chǎn)的管理;要用數(shù)學(xué)的方法建立軟件開發(fā)中的各種模型和各種算法,如可靠性模型,明用戶需求的形式化模型等。07二月2023物電學(xué)院38第1章概論
3.軟件工程的目標(biāo)軟件工程是一門工程性學(xué)科,目的是成功地建造一個(gè)大型軟件系統(tǒng)。所謂成功,是要達(dá)到以下幾個(gè)目標(biāo):付出較低的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護(hù)費(fèi)用;能按進(jìn)完成開發(fā)任務(wù),及進(jìn)交付使用;開發(fā)的軟件可靠性高。07二月2023物電學(xué)院39第1章概論
4.軟件工程的內(nèi)容軟件工程研究的主要內(nèi)容是指軟件開發(fā)技術(shù)和軟件開發(fā)管理兩個(gè)方面。在軟件開發(fā)技術(shù)中,它主要研究軟件開發(fā)方法、軟件開發(fā)過(guò)程、軟件開發(fā)工具和環(huán)境。在軟件開發(fā)管理中,它主要是研究軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)和軟件心理學(xué)等。07二月2023物電學(xué)院40第1章概論
5.軟件工程面臨的問(wèn)題軟件工程有許多需要解決的棘手問(wèn)題,如軟件費(fèi)用、軟件可靠性、軟件可維護(hù)性、軟件生產(chǎn)率和軟件重用等。chapter__141軟件項(xiàng)目過(guò)程顧客
顧客需求滿意產(chǎn)品輸入
輸出產(chǎn)品實(shí)現(xiàn)?chapter__142軟件工程三段論軟件開發(fā)項(xiàng)目管理過(guò)程改進(jìn)chapter__143軟件開發(fā)路線圖chapter__144軟件項(xiàng)目管理
管理過(guò)程是項(xiàng)目管理者規(guī)劃軟件開發(fā)、控制軟件開發(fā)的過(guò)程,相當(dāng)于生產(chǎn)線上的管理過(guò)程,管理過(guò)程是伴隨開發(fā)過(guò)程進(jìn)行的過(guò)程。
chapter__145軟件項(xiàng)目管理路線圖
配置管理計(jì)劃
合同計(jì)劃
風(fēng)險(xiǎn)計(jì)劃
溝通計(jì)劃
質(zhì)量計(jì)劃
成本計(jì)劃
時(shí)間計(jì)劃
集成計(jì)劃
范圍計(jì)劃
項(xiàng)目結(jié)束
項(xiàng)目執(zhí)行控制
項(xiàng)目計(jì)劃
項(xiàng)目初始
人力計(jì)劃
chapter__146軟件過(guò)程改進(jìn)
過(guò)程改進(jìn)相當(dāng)于對(duì)軟件開發(fā)過(guò)程和軟件管理過(guò)程的“工藝流程”進(jìn)行管理和改進(jìn),如果沒(méi)有好的工藝生產(chǎn)不出好的產(chǎn)品,它包括對(duì)開發(fā)過(guò)程和管理過(guò)程的定義和改進(jìn)。chapter__147軟件過(guò)程改進(jìn)路線圖啟動(dòng)診斷建立實(shí)施評(píng)估07二月2023物電學(xué)院48第1章概論§2軟件生命(生存)周期
軟件生存周期是借用工程中產(chǎn)品生存周期的概念而得來(lái)的。引入軟件生存周期概念,對(duì)于軟件生產(chǎn)的管理、進(jìn)度控制有著非常重要的意義,可使軟件生產(chǎn)有相應(yīng)的模式、相應(yīng)的流程、相應(yīng)的工序和步驟。07二月2023物電學(xué)院49第1章概論軟件生存周期是指一個(gè)軟件從提出開發(fā)要求開始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。把整個(gè)生存周期劃分為若干階段,使得每個(gè)階段有明確的任務(wù),把規(guī)模大、結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開發(fā)變得容易控制和管理。07二月2023物電學(xué)院50第1章概論
軟件生存周期的各階段有不同的劃分。軟件規(guī)模、種類、開發(fā)方式、開發(fā)環(huán)境以及開發(fā)使用的方法都影響軟件生存周期的劃分。在劃分軟件生存周期的階段時(shí),應(yīng)遵循的基本原則是各階段的任務(wù)應(yīng)盡可能相對(duì)獨(dú)立,同一階段各項(xiàng)任務(wù)的性質(zhì)盡可能相同,從而降低每個(gè)階段任務(wù)的復(fù)雜程度,簡(jiǎn)化不同階段之間的聯(lián)系,有利于軟件項(xiàng)目開發(fā)的組織管理。07二月2023物電學(xué)院51第1章概論
通常,軟件生存周期包括問(wèn)題定義、可行性分析和項(xiàng)目開發(fā)計(jì)劃、需求分析、概要(總體)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試(單元和綜合)、維護(hù)等活動(dòng)(P12-14),可以將這些活動(dòng)以適當(dāng)方式分配到不同階段去完成。07二月2023物電學(xué)院52第1章概論
§3軟件生存周期模型根據(jù)軟件生產(chǎn)工程化的需要,生存周期的劃分也有所不同,從而形成了不同的軟件生存周期模型,或稱軟件開發(fā)模型。目前有若干種軟件生存周期模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型、變換模型和基于知識(shí)的模型等。07二月2023物電學(xué)院53第1章概論一、瀑布模型瀑布模型遵循軟件生存周期的劃分,明確規(guī)定每個(gè)階段的任務(wù)。各階段的工作順序展開:恰如奔流不息逐級(jí)而下的瀑布,如圖1—2所示。07二月2023物電學(xué)院54第1章概論瀑布模型的特點(diǎn)
(1)軟件生存周期的順序性。只有前一階段工作完成以后,后一階段的工作才能開始,前一階段的輸出文檔,就是后一階段的輸入文檔。只有前一階段有正確的輸出,后一階段才可能有正確的結(jié)果。如果在生存周期的某一階段出現(xiàn)了錯(cuò)誤,往往要追溯到在它之前的一些階段。瀑布模型開發(fā)適合于在軟件需求比較明確,開發(fā)技術(shù)比較成熟,工程管理比較嚴(yán)格的場(chǎng)合下使用。07二月2023物電學(xué)院55第1章概論
(2)盡可能推遲軟件的編碼。程序設(shè)計(jì)也稱為編碼。實(shí)踐表明,大、中型軟件編碼開始得越早,完成所需的時(shí)間反而越長(zhǎng)。瀑布模型在編碼之前安排了需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)等階段,從而把邏輯設(shè)計(jì)和編碼清楚地劃分開來(lái),盡可能推遲程序編碼階段。07二月2023物電學(xué)院56第1章概論
(3)保證質(zhì)量。為了保證質(zhì)量,瀑布模型軟件開發(fā)在每個(gè)階段都要完成規(guī)定的文檔,每個(gè)階段都要對(duì)已完成的文檔進(jìn)行復(fù)審,以便及早發(fā)現(xiàn)隱患,排除故障。本書以瀑布模型為典型開發(fā)模型,介紹各階段工作的具體方法、步驟和工具,其他模型可以參照?qǐng)?zhí)行。chapter__157WaterFallmodel適合的項(xiàng)目在項(xiàng)目開始前,項(xiàng)目的需求很明確在項(xiàng)目開始前,解決方案也很明確類似的項(xiàng)目如:公司的財(cái)務(wù)系統(tǒng)庫(kù)存管理系統(tǒng)短期項(xiàng)目07二月2023物電學(xué)院58第1章概論瀑布模型的局限性對(duì)于當(dāng)前的大型軟件項(xiàng)目,特別是應(yīng)用軟件項(xiàng)目,在開發(fā)前期用戶常常對(duì)系統(tǒng)只有一個(gè)模糊的想法,很難明確確定和表達(dá)對(duì)系統(tǒng)的全面要求。經(jīng)過(guò)詳細(xì)的要求定義,盡管可得到一份較好的需求說(shuō)明,但卻很難期望該需求說(shuō)明能將系統(tǒng)的一切都描述得完整、準(zhǔn)確、一致并與實(shí)際環(huán)境相符,07二月2023物電學(xué)院59第1章概論
很難通過(guò)它在邏輯上推斷出系統(tǒng)的運(yùn)行效果,并以此達(dá)到各類人員對(duì)系統(tǒng)的共同理解。因此,要保證每個(gè)階段特別是定義階段是正確的、完整的。這是屬于理想情況,實(shí)際上是做不到或很難做到的。07二月2023物電學(xué)院60第1章概論作為整體開發(fā)的瀑布模型,由于不支持軟件產(chǎn)品的演化,對(duì)開發(fā)過(guò)程中的一些很難發(fā)現(xiàn)的錯(cuò)誤只有在最終產(chǎn)品運(yùn)行時(shí)才能發(fā)現(xiàn)。瀑布模型缺乏對(duì)付變化的機(jī)制,所以最終產(chǎn)品將難以維護(hù)。20多年來(lái)瀑布模型得到了廣泛的應(yīng)用。它在消除非結(jié)構(gòu)化軟件、軟件的復(fù)雜性、促進(jìn)軟件開發(fā)工程化方面起了很大作用。07二月2023物電學(xué)院61第1章概論但是,瀑布模型在大量的軟件開發(fā)實(shí)踐中也逐漸暴露出它的嚴(yán)重缺點(diǎn)。它是一種理想的線性開發(fā)模式,缺乏靈活性,特別是無(wú)法解決軟件需求不明確或不準(zhǔn)確的問(wèn)題。這些缺點(diǎn)對(duì)軟件開發(fā)帶來(lái)了嚴(yán)重影響,最終可能導(dǎo)致開發(fā)出的軟件并不是用戶真正需要的軟件,并且這一點(diǎn)在開發(fā)過(guò)程完成后才能發(fā)現(xiàn),已為時(shí)太晚。07二月2023物電學(xué)院62第1章概論二、快速原型模型所謂快速原型是快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。如圖1.4所示chapter__163Prototype模型適合的項(xiàng)目在項(xiàng)目開始前,項(xiàng)目的需求不明確需要減少項(xiàng)目需求的不確定性類似的項(xiàng)目如:確定顯示界面第一次開發(fā)的產(chǎn)品,驗(yàn)證可行性07二月2023物電學(xué)院64第1章概論三、增量模型瀑布模型是一種整體開發(fā)模型。在開發(fā)過(guò)程中,用戶看不到軟件是什么樣子,只有開發(fā)完成后,整個(gè)軟件才全部展現(xiàn)現(xiàn)在用戶面前。這時(shí)如果用戶發(fā)現(xiàn)有不滿意的地方,為時(shí)已晚。07二月2023物電學(xué)院65第1章概論增量模型是一種非整體開發(fā)的模型。軟件在該模型中是“逐漸”開發(fā)出來(lái)的,開發(fā)出一部分,向用戶展示一部分,可讓用戶及早看到部分軟件,及早發(fā)現(xiàn)問(wèn)題?;蛘呦乳_發(fā)一個(gè)“原型”軟件,完成部分主要功能,展示給用戶并征求意見,然后逐步完善,最終獲得滿意的軟件產(chǎn)品。該模型具有較大的靈活性,適合于軟件需求不明確、設(shè)計(jì)方案有一定風(fēng)險(xiǎn)的軟件項(xiàng)目。增量模型如圖所示。chapter__166IncrementalModel適合的項(xiàng)目項(xiàng)目開始,明確了需求的大部分,但是需求可能會(huì)發(fā)生變化對(duì)于市場(chǎng)和用戶把握不是很準(zhǔn),需要逐步了解對(duì)于有龐大和復(fù)雜功能的系統(tǒng)進(jìn)行功能改進(jìn),就需要一步一步實(shí)施的。增量模型實(shí)例07二月2023物電學(xué)院67第1章概論四、螺旋模型(SpiralModel,SM)
瀑布模型要求在軟件開發(fā)的初期就完全確定軟件的需求,這在很多情況下往往是做不到的。螺旋模型試圖克服瀑布模型的這一不足。SM把軟件開發(fā)過(guò)程安排為逐步細(xì)化的螺旋周期序列,每經(jīng)歷一個(gè)周期,系統(tǒng)就細(xì)化和完善一些。SM每一蛹旋周期由下列6個(gè)步驟組成(見圖1—5)。chapter__168SpiralModel螺旋模型沿著螺線旋轉(zhuǎn),在四個(gè)象限上分別表達(dá)了四個(gè)方面的活動(dòng),即:制定計(jì)劃──確定軟件目標(biāo),需求和選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制條件風(fēng)險(xiǎn)分析──評(píng)估所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn)實(shí)施工程──實(shí)施軟件開發(fā),編碼,測(cè)試等客戶評(píng)估──評(píng)價(jià)開發(fā)工作,提出修正建議,規(guī)劃下期任務(wù)chapter__169SpiralModel適合的項(xiàng)目風(fēng)險(xiǎn)是主要的制約因素不確定因素和風(fēng)險(xiǎn)限制了項(xiàng)目進(jìn)度用戶對(duì)自己的需求也不是很明確需要對(duì)一些基本的概念進(jìn)行驗(yàn)證可能發(fā)生一些重大的變更項(xiàng)目規(guī)模很大項(xiàng)目中采用了新技術(shù)
實(shí)例07二月2023物電學(xué)院70第1章概論07二月2023物電學(xué)院71第1章概論07二月2023物電學(xué)院72第1章概論07二月2023物電學(xué)院73第1章概論07二月2023物電學(xué)院74第1章概論07二月2023物電學(xué)院75第1章概論07二月2023物電學(xué)院76第1章概論07二月2023物電學(xué)院77第1章概論07二月2023物電學(xué)院78第1章概論07二月2023物電學(xué)院79第1章概論07二月2023物電學(xué)院80第1章概論07二月2023物電學(xué)院81第1章概論07二月2023物電學(xué)院82第1章概論07二月2023物電學(xué)院83第1章概論07二月2023物電學(xué)院84第1章概論07二月2023物電學(xué)院85第1章概論07二月2023物電學(xué)院86第1章概論07二月2023物電學(xué)院87第1章概論07二月2023物電學(xué)院88第1章概論07二月2023物電學(xué)院89第1章概論07二月2023物電學(xué)院90第1章概論07二月2023物電學(xué)院91第1章概論07二月2023物電學(xué)院92第1章概論07二月2023物電學(xué)院93第1章概論07二月2023物電學(xué)院94軟件使用過(guò)程中隨時(shí)間變化的錯(cuò)誤率曲線07二月2023物電學(xué)院95軟件和硬件成本對(duì)比07二月2023物電學(xué)院96程序設(shè)計(jì)階段
程序設(shè)N階段:60年代初以前,計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)硬件的附屬物。那時(shí)人們認(rèn)為軟件就是系統(tǒng)或者用戶程序。所謂系統(tǒng)程序主要指附著于硬件的輸人輸出例程庫(kù)和程序調(diào)試器等簡(jiǎn)單的系統(tǒng)維護(hù)工具程序。所謂用戶程序通常是為求解某個(gè)特定科學(xué)、工程計(jì)算或者某個(gè)具體數(shù)據(jù)處理要求的單一程序。這些程序規(guī)模不大,結(jié)構(gòu)簡(jiǎn)單,功能單一,許多情況下是誰(shuí)編制誰(shuí)使用.程序設(shè)計(jì)活動(dòng)高度個(gè)人化、技藝化。07二月2023物電學(xué)院97軟件系統(tǒng)階段
軟件系統(tǒng)階段:從60年代到70年代初,計(jì)算機(jī)經(jīng)歷了從電子管到晶體管,到集成電路的躍遷;為計(jì)算機(jī)技術(shù)能夠在經(jīng)濟(jì)、軍事發(fā)展的關(guān)鍵領(lǐng)域中應(yīng)用提供了堅(jiān)實(shí)的物質(zhì)基礎(chǔ)。隨著硬件技術(shù)的發(fā)展,計(jì)算機(jī)軟件規(guī)模日益增大,其結(jié)構(gòu)、功能越來(lái)越復(fù)雜。計(jì)算機(jī)高級(jí)語(yǔ)言大量出現(xiàn);操作系統(tǒng)引人了多道程序、多用戶分時(shí)與實(shí)時(shí)處理概念;數(shù)據(jù)庫(kù)系統(tǒng)開始出現(xiàn)。大型商業(yè)金融數(shù)據(jù)處理.大型企業(yè)生產(chǎn)管理與過(guò)程控制,以軍備競(jìng)賽、空間科學(xué)為代表所要求的數(shù)據(jù)處理、復(fù)雜計(jì)算、控制系統(tǒng),這些都要求裝備大型復(fù)雜的計(jì)算機(jī)系統(tǒng)。這些計(jì)算機(jī)系統(tǒng)不僅要求最新的計(jì)算機(jī)硬件配置,同時(shí)也要求“大程序系統(tǒng)”為特征的軟件支持。07二月2023物電學(xué)院98軟件系統(tǒng)階段
“大程序系統(tǒng)”需求的急劇增長(zhǎng)使軟件技術(shù)從方法、開發(fā)效串等方面遠(yuǎn)不能適應(yīng)。隨著軟件需求的規(guī)模、數(shù)量劇增和交付要求迫切,“大程序系統(tǒng)設(shè)計(jì)”已經(jīng)成為工程項(xiàng)目,其開發(fā)過(guò)程要求多人參與,分工協(xié)作,嚴(yán)密組織。同時(shí)程序設(shè)計(jì)與使用逐步分離,軟件開發(fā)開始專業(yè)化,“大程序設(shè)計(jì)”再也不是個(gè)人的技藝活動(dòng)了。軟件開發(fā)的組織要求,應(yīng)用需求對(duì)軟件系統(tǒng)質(zhì)量、可靠性的要求與程序設(shè)計(jì)個(gè)體化,非物化特征形成尖銳矛盾,出現(xiàn)了嚴(yán)重的”軟件危機(jī)”。07二月2023物電學(xué)院99軟件系統(tǒng)階段整個(gè)60年代,計(jì)算機(jī)科學(xué)家圍繞著程序設(shè)計(jì)方法,軟件開發(fā)模型,軟件開發(fā)支持工具與環(huán)境,軟件開發(fā)方法學(xué)開展了范圍廣泛的研究。為克服軟件危機(jī),就若干問(wèn)題進(jìn)行了深入討論并取得如下主要成果:07二月2023物電學(xué)院100軟件系統(tǒng)階段提出了結(jié)構(gòu)化設(shè)計(jì)方法學(xué)并設(shè)計(jì)了以PMd語(yǔ)言為代表的一批結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言;提出了軟件生命周期概念和軟件開發(fā)的瀑布型模型;明確了文檔是軟件產(chǎn)品的組成部分,對(duì)軟件開發(fā)各階段的文檔規(guī)格進(jìn)行了初步規(guī)范;提出了軟件可靠性模型,質(zhì)量控制的基本概念;開發(fā)了一些支持工具軟件。1968年北大西洋公約組織有關(guān)計(jì)算機(jī)科學(xué)的一次國(guó)際會(huì)議上正式使用了“軟件工程”這個(gè)名詞,正式宣告軟件工程這一新興工程學(xué)科的誕生。07二月2023物電學(xué)院101軟件工程階段從70年代初至今,隨著超人規(guī)模集成電路技術(shù)的迅猛發(fā)展,微型計(jì)算機(jī)的出現(xiàn),計(jì)算機(jī)應(yīng)用技術(shù)已經(jīng)深入到社會(huì)生活的各個(gè)領(lǐng)域。在這階段,軟件開發(fā)逐漸專業(yè)化。以軟件產(chǎn)品系列化.工程化,標(biāo)淮化為特征的軟件產(chǎn)業(yè)正在發(fā)展為2l世紀(jì)知識(shí)經(jīng)濟(jì)的支柱產(chǎn)業(yè)之一??鐕?guó)大型軟件公司的出現(xiàn),軟件產(chǎn)品不再依附于硬件,軟件工程規(guī)范的標(biāo)準(zhǔn)化趨勢(shì),軟件復(fù)用與軟件生產(chǎn)管理技術(shù)的研究與實(shí)踐.面向?qū)ο蠓椒▽W(xué)的發(fā)展等,使得軟件工程學(xué)在解決軟件危機(jī)問(wèn)題的過(guò)程中不斷地發(fā)展、成熟,共主要成果包括實(shí)現(xiàn)丁以C++為代表的面向?qū)ο蟮恼Z(yǔ)言和軟件開發(fā)環(huán)境系統(tǒng),計(jì)算機(jī)輔助軟件工程(CASE)的研究與實(shí)踐,各類只有一定自動(dòng)化程度的CASE產(chǎn)品的出現(xiàn)等。07二月2023物電學(xué)院102圖1錯(cuò)誤修改的代價(jià)07二月2023物電學(xué)院103軟件工程的基本原理用分階段的生命周期計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚地審查開發(fā)小組的人員應(yīng)該少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性07二月2023物電學(xué)院104軟件費(fèi)用由于軟件生產(chǎn)基本上仍處于手工狀態(tài),軟件是知識(shí)高度密集的技術(shù)的綜合產(chǎn)物,人力資源遠(yuǎn)遠(yuǎn)不能適應(yīng)這種迅速增長(zhǎng)的軟件社會(huì)要求,所以軟件費(fèi)用上升的勢(shì)頭必然還將繼續(xù)下去。07二月2023物電學(xué)院105軟件可靠性軟件可靠性是指軟件系統(tǒng)能否在既定的環(huán)境條件下運(yùn)行燕實(shí)現(xiàn)所期望的結(jié)果。在軟件開發(fā)中,通常要花費(fèi)40%的代價(jià)進(jìn)行測(cè)試和排錯(cuò),即使這樣還不能保證以后不再發(fā)生錯(cuò)誤,為了提高軟件可靠性,就要付出足夠的代價(jià)。07二月2023物電學(xué)院106軟件可維護(hù)性統(tǒng)計(jì)數(shù)據(jù)表明,軟件的維護(hù)費(fèi)用占整個(gè)軟件系統(tǒng)費(fèi)用的2/3,而軟件開發(fā)費(fèi)用只占1/3。軟件維護(hù)之所以有如此大的花費(fèi),是因?yàn)橐呀?jīng)運(yùn)行的軟件還需排除隱含的錯(cuò)誤,新增加的功能要加入進(jìn)去,維護(hù)工作又是非常困難的,效率又是非常低下的。因此,如何提高軟件的可維護(hù)性,減少軟件維護(hù)的工作量,也是軟件工程面臨的主要問(wèn)題之一。07二月2023物電學(xué)院107軟件生產(chǎn)率計(jì)算機(jī)的廣泛應(yīng)用使得軟件的需求量大幅度上升,而軟件的生產(chǎn)又處于手工開發(fā)的狀態(tài),軟件生產(chǎn)率低下,使得各國(guó)都感到軟件開發(fā)人員不足。這種趨勢(shì)將仍舊繼續(xù)下去。所以,如何提高軟件生產(chǎn)率,是軟件工程又一重要問(wèn)題。07二月2023物電學(xué)院108軟件重用提高軟件的重用性,對(duì)于提高軟件生產(chǎn)率、降低軟件成本有著重要意義。當(dāng)前的軟件開發(fā)存在著大量的、重復(fù)的勞動(dòng),耗費(fèi)了不少的人力資源。軟件的重用有各種級(jí)別,軟件規(guī)格說(shuō)明、軟件模塊、軟件代碼、軟件文檔等都可以是軟件重用的單位。軟件重用是軟件工程中的一個(gè)重要研究課題,軟件重用的理論和技術(shù)至今尚未徹底解決。07二月2023物電學(xué)院109問(wèn)題定義問(wèn)題定義階段必須回答的關(guān)鍵問(wèn)題是:“要解決的問(wèn)題是什么?”如果不知道問(wèn)題是什么就試圖解決這個(gè)問(wèn)題,顯然是盲目的,只會(huì)白白浪費(fèi)時(shí)間和金錢,最終得出的結(jié)果很可能是毫無(wú)意義的。07二月2023物電學(xué)院110可行性研究可行性分析和項(xiàng)目開發(fā)計(jì)劃階段必須要回答的問(wèn)題是“要解決的問(wèn)題是什么”。該問(wèn)題有行得通的解決辦法碼?若有解決問(wèn)題的辦法,則需要多少費(fèi)用?需要多少資源?需要多少時(shí)間?要回答這些問(wèn)題,就要進(jìn)行問(wèn)題定義、可行性分析,制定項(xiàng)目開發(fā)計(jì)劃。07二月2023物電學(xué)院111可行性研究用戶提出一個(gè)軟件開發(fā)要求后,系統(tǒng)分析員首先要解決該軟件項(xiàng)目的性質(zhì)是什么,它是數(shù)據(jù)處理問(wèn)題還是實(shí)時(shí)控制問(wèn)題,它是科學(xué)計(jì)算問(wèn)題還是人工智能問(wèn)題等。還要明確該項(xiàng)目的目標(biāo)是什么,該項(xiàng)目的規(guī)模如何等。07二月2023物電學(xué)院112可行性研究通過(guò)系統(tǒng)分析員對(duì)用戶和使用部門負(fù)責(zé)人的訪問(wèn)和調(diào)查、開會(huì)討論,就可解決這些問(wèn)題。在清楚了問(wèn)題的性質(zhì)、目標(biāo)、規(guī)模后,還要確定該問(wèn)題有沒(méi)有行得通的解決辦法。最后要提交可行性研究報(bào)告。經(jīng)過(guò)可行性分析后,確定該問(wèn)題值得去解決,然后制定項(xiàng)目開發(fā)計(jì)劃。07二月2023物電學(xué)院113需求分析需求分析階段的任務(wù)不是具體地解決問(wèn)題,而是準(zhǔn)確地確定“軟件系統(tǒng)必須做什么?,確定軟件系統(tǒng)必須具備哪些功能。并寫出軟件需求規(guī)格說(shuō)明書。這份文件資料是軟件工程中最重要的文件,是用戶和軟件研制人員之間相互共同約定和開發(fā)的基礎(chǔ)。07二月2023物電學(xué)院114軟件總體設(shè)計(jì)
這一階段的主要任務(wù)是解決系統(tǒng)“怎么做”的問(wèn)題??傮w設(shè)計(jì)決定軟件系統(tǒng)的總體結(jié)構(gòu)即模塊結(jié)構(gòu),并給出模塊的相互調(diào)用關(guān)系、模塊問(wèn)傳遞的數(shù)據(jù)及每個(gè)模塊的功能說(shuō)明。這個(gè)階段的文件資料是軟件結(jié)構(gòu)圖和模塊功能說(shuō)明。07二月2023物電學(xué)院115軟件總體設(shè)計(jì)首先,應(yīng)該設(shè)計(jì)出實(shí)現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案。通常至少應(yīng)該設(shè)計(jì)出低成本、中等成本和高成本等3種方案。軟件工程師應(yīng)該用適當(dāng)?shù)谋磉_(dá)工具描述每種方案,分析每種方案的優(yōu)缺點(diǎn),并在充分權(quán)衡各種方案的利弊的基礎(chǔ)上,推薦一個(gè)最佳方案。此外,還應(yīng)該制定出實(shí)現(xiàn)最佳方案的詳細(xì)計(jì)劃。如果客戶接受所推薦的方案,則應(yīng)該進(jìn)一步完成下述的另一項(xiàng)主要任務(wù)。07二月2023物電學(xué)院116詳細(xì)設(shè)計(jì)總體設(shè)計(jì)階段以比較抽象概括的方式提出了解決問(wèn)題的辦法。詳細(xì)設(shè)計(jì)階段的任務(wù)就是把解法具體化,也就是回答下面這個(gè)關(guān)鍵問(wèn)題:“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?”詳細(xì)設(shè)計(jì)也稱為模塊設(shè)計(jì),在這個(gè)階段將詳細(xì)地設(shè)計(jì)每個(gè)模塊,確定實(shí)現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。07二月2023物電學(xué)院117詳細(xì)設(shè)計(jì)這個(gè)階段的任務(wù)還不是編寫程序,而是設(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明。這種規(guī)格說(shuō)明的作用很類似于其他工程領(lǐng)域中工程師經(jīng)常使用的工程藍(lán)圖,它們應(yīng)該包含必要的細(xì)節(jié),程序員可以根據(jù)它們寫出實(shí)際的程序代碼。07二月2023物電學(xué)院118軟件編碼編碼編碼階段就是把每個(gè)模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計(jì)算機(jī)可接受的程序代碼,即寫成以某特定程序設(shè)計(jì)語(yǔ)言表示的“源程序清單”。當(dāng)然,寫出的程序應(yīng)是結(jié)構(gòu)好,清晰易讀,并且與設(shè)計(jì)相一致。07二月2023物電學(xué)院119軟件測(cè)試測(cè)試是保證軟件質(zhì)理的重要手段,其主要方式是在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上檢驗(yàn)軟件的各個(gè)組成部分。測(cè)試分為模塊測(cè)試、組裝測(cè)試、確認(rèn)測(cè)試。07二月2023物電學(xué)院120軟件維護(hù)
由于經(jīng)過(guò)測(cè)試的軟件仍然可能有錯(cuò),用戶的需求和軟件的操作環(huán)境也可能發(fā)生變化。因此,交付運(yùn)行的軟件系統(tǒng)仍然需要維護(hù),所以軟件維護(hù)的實(shí)質(zhì)是對(duì)軟件繼續(xù)進(jìn)行查錯(cuò)、糾錯(cuò)和修改。一般維護(hù)分為以下幾方面。
(1)改正性維護(hù)。對(duì)軟件性能、功能、處理和實(shí)現(xiàn)中出現(xiàn)的錯(cuò)誤進(jìn)行糾正。07二月2023物電學(xué)院121軟件維護(hù)
(2)適應(yīng)性維護(hù)。當(dāng)軟件處理對(duì)象或數(shù)據(jù)環(huán)境變化時(shí),依某些適應(yīng)性進(jìn)行修改,
(3)完善性維護(hù),為了提高軟件的性能或者對(duì)可維護(hù)性方面所做的某些修改。(4)預(yù)防性維護(hù)。為了改善將來(lái)的可靠性或可維護(hù)性,而對(duì)軟件進(jìn)行的修改或補(bǔ)充。07二月2023物電學(xué)院122圖1—2典型的瀑布模型問(wèn)題定義可行性研究計(jì)劃時(shí)期概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼測(cè)試運(yùn)行維護(hù)開發(fā)時(shí)期運(yùn)行可行性研究報(bào)告需求分析報(bào)告系統(tǒng)功能結(jié)構(gòu)圖需求分析系統(tǒng)詳細(xì)設(shè)計(jì)流程源程序+文檔測(cè)試記錄+用戶手冊(cè)評(píng)價(jià)報(bào)告+維修記錄07二月2023物電學(xué)院123快速原型模型圖中實(shí)線箭頭表示開發(fā)過(guò)程,虛線箭頭表示維護(hù)過(guò)程,快速原型模型的第一步是快速建立一個(gè)能反映用戶主要需求的原型系統(tǒng),讓用戶在計(jì)算機(jī)上試用它,通過(guò)實(shí)踐來(lái)了解目標(biāo)系統(tǒng)的概貌。07二月2023物電學(xué)院124增量模型應(yīng)用舉例見P17螺旋模型
(2)選擇對(duì)象。對(duì)各種軟硬件設(shè)備、開發(fā)方法、技術(shù)、開發(fā)工具、人員、開發(fā)管理等對(duì)象進(jìn)行選擇,并決定軟件是進(jìn)行研制、購(gòu)買還是利用現(xiàn)有的。(1)確定任務(wù)目標(biāo)。根據(jù)初始需求分析項(xiàng)目計(jì)劃,確定任務(wù)目標(biāo)、可選方案和限制。
(3)分析約束條件。軟件開發(fā)的時(shí)間、經(jīng)費(fèi)等限制條件。
(4)風(fēng)險(xiǎn)分析。評(píng)估目標(biāo)、對(duì)象、約束條件三者之間的聯(lián)系,列出可能出現(xiàn)的問(wèn)題及問(wèn)題的嚴(yán)重程度等,把最重要的問(wèn)題列為尚未解決的關(guān)鏈問(wèn)題的風(fēng)險(xiǎn)。
(5)制定消除風(fēng)險(xiǎn)的方法。應(yīng)有詳盡的說(shuō)明和周密的計(jì)劃,并估計(jì)可能產(chǎn)生的后果。依此來(lái)開發(fā)軟件,為制定下一周期的計(jì)劃打下基礎(chǔ)。(6)制定下一周期的工作計(jì)劃。
在第一個(gè)螺旋周期,初步開發(fā)原型1,制定系統(tǒng)生存周期計(jì)劃。在第二個(gè)螺旋周期,在原形1的基礎(chǔ)上開發(fā)原形2。在第三個(gè)螺旋周期,在原形2的基礎(chǔ)上開發(fā)原形3。在第四個(gè)螺旋周期,開發(fā)出可運(yùn)行的原形。此時(shí)對(duì)產(chǎn)品進(jìn)行詳細(xì)設(shè)計(jì)—實(shí)現(xiàn)。軟件復(fù)用與構(gòu)件技術(shù)軟件復(fù)用的基本概念
軟件復(fù)用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng),以達(dá)到提高軟件系統(tǒng)的開發(fā)質(zhì)量與效率、開發(fā)成本的目的??蓮?fù)用的軟件成分稱為可復(fù)用構(gòu)件(ReusableComponent)或組件,可從舊軟件中提取,也可以專門為復(fù)用而開發(fā)。軟件復(fù)用不僅是對(duì)程序的復(fù)用,它包括對(duì)軟件生產(chǎn)過(guò)程中任何活動(dòng)所產(chǎn)生的制成品的復(fù)用。如:項(xiàng)目計(jì)劃、可行性報(bào)告、需求定義、分析模型、詳細(xì)說(shuō)明、源程序和測(cè)試用例等。
軟件生產(chǎn)過(guò)程主要是正向過(guò)程,即軟件產(chǎn)品從抽象級(jí)別較高的形態(tài)向抽象級(jí)別較低的形態(tài)演化,所以較高級(jí)別的復(fù)用容易帶動(dòng)較低級(jí)別的復(fù)用,反之則不然。復(fù)用級(jí)別越高,可得到的回報(bào)也越大,因此分析軟件(AnalysisWare)和設(shè)計(jì)軟件(DesignWare)的復(fù)用備受重視。軟件復(fù)用的優(yōu)點(diǎn):
(1)提高軟件生產(chǎn)率,降低軟件生產(chǎn)成本;
(2)提高軟件質(zhì)量;
(3)提高互操作性;
(4)推動(dòng)標(biāo)準(zhǔn)化;
(5)支持原型開發(fā)。代碼的復(fù)用設(shè)計(jì)結(jié)果的復(fù)用分析結(jié)果的復(fù)用測(cè)試信息的復(fù)用
高抽象程度
低軟件復(fù)用的級(jí)別包括目標(biāo)代碼,也包括文本形式的源代碼。受實(shí)際環(huán)境影響小,可復(fù)用機(jī)會(huì)多,所需修改少??杀粡?fù)用的分析結(jié)果是針對(duì)問(wèn)題域的某些事物或某些問(wèn)題的抽象程度更高的解法。主要包括測(cè)試用例(testcase)的復(fù)用和測(cè)試過(guò)程信息的復(fù)用。三種復(fù)用方式:從現(xiàn)有系統(tǒng)的分析結(jié)果中提取可復(fù)用構(gòu)件用于新系統(tǒng)的分析;用一份完整的分析文檔作為輸入,生成針對(duì)不通軟硬件平臺(tái)和其他實(shí)現(xiàn)條件的多項(xiàng)設(shè)計(jì);獨(dú)立于具體應(yīng)用,專門開發(fā)一些可復(fù)用的分析構(gòu)件。軟件復(fù)用的形式一、按照重用活動(dòng)所跨越的應(yīng)用領(lǐng)域的類型分
1.橫向復(fù)用(horizontalreuse)也稱為水平復(fù)用,是指復(fù)用活動(dòng)的范圍跨越了幾個(gè)不同的應(yīng)用領(lǐng)域,復(fù)用的軟件產(chǎn)品主要包括數(shù)據(jù)結(jié)構(gòu)、通用算法、人機(jī)界面等軟件元素。
2.縱向復(fù)用(verticalreuse)也稱為垂直復(fù)用,是指復(fù)用活動(dòng)的范圍限制在同一個(gè)應(yīng)用領(lǐng)域或者是一類具有較多共性的應(yīng)用領(lǐng)域內(nèi)。二、基于軟件復(fù)用的軟件開發(fā)過(guò)程的角度分1.生產(chǎn)者復(fù)用(productreuse)
指建立、獲取或者重新設(shè)計(jì)可復(fù)用構(gòu)件的活動(dòng)。涉及的活動(dòng)包括:復(fù)用的規(guī)劃、領(lǐng)域分析、構(gòu)件的開發(fā)、構(gòu)件庫(kù)的組織和管理。2.消費(fèi)者復(fù)用(consumerreuse)
指使用可復(fù)用的構(gòu)件建立新的系統(tǒng)的活動(dòng)。涉及的活動(dòng)包括:應(yīng)用系統(tǒng)的規(guī)劃、構(gòu)件的檢索和選擇、應(yīng)用系統(tǒng)中非復(fù)用部分的開發(fā)、應(yīng)用系統(tǒng)的組裝。建立構(gòu)件組裝應(yīng)用
生產(chǎn)者復(fù)用消費(fèi)者復(fù)用(為復(fù)用開發(fā)構(gòu)件)(使用構(gòu)件開發(fā)應(yīng)用)生產(chǎn)者復(fù)用與消費(fèi)者復(fù)用
復(fù)用具有許多明顯的優(yōu)點(diǎn),但目前應(yīng)用不廣泛的主要原因是:
(1)技術(shù)因素構(gòu)件與應(yīng)用系統(tǒng)之間的差異;構(gòu)件要達(dá)到一定的規(guī)模,才能支持有效的復(fù)用;發(fā)現(xiàn)合用構(gòu)件的困難;基于復(fù)用的軟件開發(fā)方法和軟件過(guò)程需要一些新的理論、技術(shù)及支持環(huán)境。軟件復(fù)用的困難(2)人的因素喜歡自己創(chuàng)造而不喜歡使用別人的東西。(4)教育因素軟件科學(xué)技術(shù)的教育與培訓(xùn)中,缺乏關(guān)于軟件復(fù)用的內(nèi)容,缺少專門教材和課程。(3)管理因素把復(fù)用構(gòu)件和一般軟件構(gòu)件同等看待,把復(fù)用看作可有可無(wú)的事。7.2軟件構(gòu)件與構(gòu)件工程
基于軟件構(gòu)件的軟件工程也稱為構(gòu)件工程,是以面向?qū)ο蟮姆椒榛A(chǔ),實(shí)現(xiàn)軟件重用,構(gòu)造新系統(tǒng)的過(guò)程。為了實(shí)現(xiàn)軟件重用,基于軟件構(gòu)件的軟件工程強(qiáng)調(diào)領(lǐng)域工程與軟件工程同時(shí)進(jìn)行。領(lǐng)域工程創(chuàng)建應(yīng)用領(lǐng)域的模型,標(biāo)識(shí)、構(gòu)造、分類和傳播一組可重用的軟件。軟件工程師則在軟件開發(fā)過(guò)程中重用它們。下圖給出了一個(gè)典型的重用的過(guò)程模型,描述了領(lǐng)域工程與軟件工程的關(guān)系。圖2領(lǐng)域分析設(shè)計(jì)軟件體系結(jié)構(gòu)開發(fā)可重用的軟件成分中心庫(kù)可重用軟件成分/構(gòu)件領(lǐng)域模型結(jié)構(gòu)模型系統(tǒng)分析規(guī)格說(shuō)明與設(shè)計(jì)建造系統(tǒng)規(guī)格說(shuō)明分析與設(shè)計(jì)模型應(yīng)用軟件用戶需求軟件工程領(lǐng)域工程重用的過(guò)程模型
一個(gè)軟件只有在多個(gè)系統(tǒng)中被使用才可稱為“可復(fù)用構(gòu)件”,必須具備的條件:
(1)獨(dú)立性
(2)完整性
(3)可標(biāo)識(shí)性
(4)
通用性
(5)適應(yīng)性
(6)可靠性
(7)標(biāo)準(zhǔn)化可復(fù)用構(gòu)件
解決一個(gè)相對(duì)獨(dú)立的問(wèn)題,或大問(wèn)題中某個(gè)相對(duì)獨(dú)立的部分。
一個(gè)軟件只有在多個(gè)系統(tǒng)中被使用才可稱為“可復(fù)用構(gòu)件”,必須具備的條件:
(1)獨(dú)立性
(2)完整性
(3)可標(biāo)識(shí)性
(4)
通用性
(5)適應(yīng)性
(6)可靠性
(7)標(biāo)準(zhǔn)化可復(fù)用構(gòu)件
提供較完整的解決,不要遺留很多缺口,讓復(fù)用者做大量補(bǔ)充。
一個(gè)軟件只有在多個(gè)系統(tǒng)中被使用才可稱為“可復(fù)用構(gòu)件”,必須具備的條件:
(1)獨(dú)立性
(2)完整性
(3)可標(biāo)識(shí)性
(4)
通用性
(5)適應(yīng)性
(6)可靠性
(7)標(biāo)準(zhǔn)化可復(fù)用構(gòu)件
構(gòu)件所解決的問(wèn)題應(yīng)該是可標(biāo)識(shí)的,可命名,有簡(jiǎn)要介紹,便于理解和使用。
一個(gè)軟件只有在多個(gè)系統(tǒng)中被使用才可稱為“可復(fù)用構(gòu)件”,必須具備的條件:
(1)獨(dú)立性
(2)完整性
(3)可標(biāo)識(shí)性
(4)通用性
(5)適應(yīng)性
(6)可靠性
(7)標(biāo)準(zhǔn)化可復(fù)用構(gòu)件
構(gòu)件解決的問(wèn)題,應(yīng)在同類應(yīng)用中具有一般性。
一個(gè)軟件只有在多個(gè)系統(tǒng)中被使用才可稱為“可復(fù)用構(gòu)件”,必須具備的條件:
(1)獨(dú)立性
(2)完整性
(3)可標(biāo)識(shí)性
(4)
通用性
(5)適應(yīng)性
(6)可靠性
(7)標(biāo)準(zhǔn)化可復(fù)用構(gòu)件
應(yīng)用場(chǎng)合有某些變化時(shí),構(gòu)件仍是可用的,使構(gòu)件的某些數(shù)據(jù)參數(shù)化和數(shù)據(jù)類型參數(shù)化。
一個(gè)軟件只有在多個(gè)系統(tǒng)中被使用才可稱為“可復(fù)用構(gòu)件”,必須具備的條件:
(1)獨(dú)立性
(2)完整性
(3)可標(biāo)識(shí)性
(4)
通用性
(5)適應(yīng)性
(6)可靠性
(7)標(biāo)準(zhǔn)化可復(fù)用構(gòu)件
要求構(gòu)件對(duì)預(yù)計(jì)將要使用它的系統(tǒng)是可靠的。
一個(gè)軟件只有在多個(gè)系統(tǒng)中被使用才可稱為“可復(fù)用構(gòu)件”,必須具備的條件:
(1)獨(dú)立性
(2)完整性
(3)可標(biāo)識(shí)性
(4)
通用性
(5)適應(yīng)性
(6)可靠性
(7)標(biāo)準(zhǔn)化可復(fù)用構(gòu)件
可復(fù)用構(gòu)件的標(biāo)準(zhǔn)化對(duì)于軟件復(fù)用是至關(guān)重要的?;跇?gòu)件的軟件工程
基于構(gòu)件的軟件工程與傳統(tǒng)的或面向?qū)ο蟮能浖こ滔啾龋酗@著的差異。
它不是針對(duì)某個(gè)特定的軟件系統(tǒng),而是針對(duì)一類軟件系統(tǒng)的共同的特征、知識(shí)和需求?;跇?gòu)件的軟件的開發(fā)過(guò)程包括兩個(gè)并發(fā)的子過(guò)程,一個(gè)是領(lǐng)域工程,另一個(gè)是基于構(gòu)件的開發(fā)。領(lǐng)域工程完成一組可復(fù)用構(gòu)件的標(biāo)示、構(gòu)造、分類和傳播;基于構(gòu)件的開發(fā)完成使用可復(fù)用構(gòu)件構(gòu)造新的軟件系統(tǒng)。領(lǐng)域分析(DomainAnalysis)是針對(duì)一類軟件系統(tǒng)的應(yīng)用領(lǐng)域,進(jìn)行系統(tǒng)化分析,以發(fā)現(xiàn)其共同的特征、知識(shí)和需求和規(guī)約。領(lǐng)域分析是特定類領(lǐng)域軟件重用的基礎(chǔ),領(lǐng)域分析又稱作領(lǐng)域工程(DomainEngineering),是軟件工程的發(fā)展與延伸。其目標(biāo)是:發(fā)現(xiàn)和挖掘在特定領(lǐng)域內(nèi)可以被復(fù)用的構(gòu)件。領(lǐng)域分析活動(dòng)中輸入和輸出如圖所示:領(lǐng)域分析領(lǐng)域分析輸入信息技術(shù)文獻(xiàn)已有應(yīng)用專家經(jīng)驗(yàn)/建議當(dāng)前與未來(lái)的需求輸出信息
領(lǐng)域語(yǔ)言復(fù)用標(biāo)準(zhǔn)分類方法功能/行為模型領(lǐng)域分析的輸入和輸出
領(lǐng)域分析是一項(xiàng)比系統(tǒng)分析更難的工作。領(lǐng)域分析方法可采用結(jié)構(gòu)化方法和面向?qū)ο蠓椒?,而后者將成為主流。領(lǐng)域分析輸入信息技術(shù)文獻(xiàn)已有應(yīng)用專家經(jīng)驗(yàn)/建議當(dāng)前與未來(lái)的需求輸出信息
領(lǐng)域語(yǔ)言復(fù)用標(biāo)準(zhǔn)分類方法功能/行為模型領(lǐng)域分析的輸入和輸出構(gòu)件的開發(fā)與構(gòu)件庫(kù)構(gòu)件的開發(fā)
領(lǐng)域分析的結(jié)果為構(gòu)件的選取和開發(fā)提供了指導(dǎo)性的原則。此外,構(gòu)件開發(fā)還需要遵循一定的設(shè)計(jì)概念和原則。
構(gòu)件應(yīng)該具有相當(dāng)?shù)囊话阈院统橄笮?。能夠用于滿足一類相似的需求,一個(gè)過(guò)于特殊的構(gòu)件是很難被重復(fù)使用的。
為用戶對(duì)構(gòu)件的調(diào)整和修改留出余地。
即使一個(gè)通用性很高的構(gòu)件也不可能完全適應(yīng)用戶的需求和運(yùn)行環(huán)境,所以一個(gè)構(gòu)件被不同的應(yīng)用復(fù)用時(shí),對(duì)它的某些部分進(jìn)行修改是不可避免的。例如,繼承、參數(shù)化、模板和宏都是典型的提高構(gòu)件靈活性和可調(diào)整性的機(jī)制。構(gòu)件庫(kù)
構(gòu)件庫(kù)(ComponentLibrary)用于對(duì)可復(fù)用構(gòu)件進(jìn)行存儲(chǔ)和管理。它是支持軟件復(fù)用的必要設(shè)施。構(gòu)件庫(kù)必須有大量的可復(fù)用構(gòu)件。構(gòu)件庫(kù)系統(tǒng)應(yīng)提供的主要功能:構(gòu)件的存儲(chǔ)、管理、檢索以及庫(kù)的瀏覽與維護(hù)等。關(guān)鍵是支持使用者高效而準(zhǔn)確地發(fā)現(xiàn)所需的可復(fù)用構(gòu)件。相關(guān)的主要技術(shù)是分類方法和檢索方法。支持方便的、友好的用戶管理和使用界面。構(gòu)件分類構(gòu)件檢索涉及兩個(gè)基本問(wèn)題:
大多數(shù)構(gòu)件按枚舉、刻面和屬性-值分為三類:(1)枚舉分類通過(guò)定義一個(gè)層次結(jié)構(gòu)來(lái)對(duì)構(gòu)件進(jìn)行分類。構(gòu)件庫(kù)中的可復(fù)用構(gòu)件按照某種標(biāo)準(zhǔn)被分成了若干個(gè)大類,每個(gè)大類中的構(gòu)件再分成若干個(gè)小類,這樣就形成了一個(gè)構(gòu)件分類的層次結(jié)構(gòu)。圖形用戶界面類窗口類菜單類圖形窗口構(gòu)件文字窗口構(gòu)件系統(tǒng)菜單構(gòu)件彈出式菜單構(gòu)件普通菜單構(gòu)件枚舉分類的層次結(jié)構(gòu)構(gòu)件的分類(2)刻面分類一個(gè)刻面描述構(gòu)件某一個(gè)方面的特征??堂娣诸悇t是從不同的側(cè)面對(duì)構(gòu)件進(jìn)行分類,每一種分類方式稱為一個(gè)刻面。不同的刻面根據(jù)其重要性可以設(shè)置不同的優(yōu)先級(jí)??堂鎽?yīng)用領(lǐng)域?qū)ο蠊δ芫幊陶Z(yǔ)言刻面值圖形用戶界面編程菜單動(dòng)態(tài)修改菜單項(xiàng)Java對(duì)構(gòu)件的每個(gè)刻面賦予相應(yīng)的值,用以描述該構(gòu)件??堂娣诸惥哂休^好的靈活性,易于加入新的刻面值,因此刻面分類比枚舉分類更易于擴(kuò)展和修改。刻面分類法支持多重觀點(diǎn)對(duì)構(gòu)件進(jìn)行分類,例如從構(gòu)件的應(yīng)用領(lǐng)域、構(gòu)件所描述的對(duì)象、構(gòu)件的觀點(diǎn)和編程語(yǔ)言等不同的方式來(lái)分類。每一種分類方式稱為一個(gè)刻面。每個(gè)刻面把構(gòu)件集合劃分為一個(gè)子集,各刻面所劃分的子集形成一些較小的交集。一個(gè)構(gòu)件對(duì)每個(gè)每個(gè)刻面有一個(gè)刻面值,例如:
應(yīng)用領(lǐng)域=計(jì)算機(jī)繪圖對(duì)象=橢圓 功能=彩色填充,編程語(yǔ)言=C++
檢索一個(gè)構(gòu)件時(shí),給出一組刻面值,將確定一組子集合,在這些子集合的交集中,確認(rèn)所需的構(gòu)件。構(gòu)件可用屬性描述,例如構(gòu)件類型、開發(fā)單位、作者、提交日期等屬性。檢索時(shí)通過(guò)構(gòu)件的屬性可以縮小搜索范圍??堂婧蛯傩远疾簧婕皹?gòu)件內(nèi)部實(shí)現(xiàn),只是為了便于構(gòu)件的管理、檢索和使用。如果把構(gòu)件比作一只箱子,其內(nèi)容如同箱子中裝的東西,刻面和屬性則如同箱子外邊的標(biāo)簽??堂娣诸惙梢钥醋鲗哟畏诸惙ǖ臄U(kuò)充。(3)屬性-值分類該方法首先是為構(gòu)件庫(kù)中的所有構(gòu)件定義一組屬性,并賦予相應(yīng)的屬性值。開發(fā)人員通過(guò)指定一組屬性值在構(gòu)件庫(kù)中對(duì)構(gòu)件進(jìn)行檢索。該分類方法與刻面分類方法有幾點(diǎn)不同之處:屬性的數(shù)量沒(méi)有限制,而刻面描述一般限制在7或8個(gè)刻面;屬性沒(méi)有優(yōu)先級(jí),而刻面根據(jù)其重要程度,有相應(yīng)的優(yōu)先級(jí)。
構(gòu)件庫(kù)中檢索一個(gè)構(gòu)件和在數(shù)據(jù)庫(kù)中檢索一個(gè)記錄是不同的。
1.數(shù)據(jù)庫(kù)記錄按關(guān)鍵字段檢索。
2.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國(guó)足球服裝行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)超聲波凸探頭行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)財(cái)務(wù)管理系統(tǒng)行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資前景研究報(bào)告
- 2025-2030中國(guó)觀光農(nóng)業(yè)行業(yè)市場(chǎng)深度調(diào)研及競(jìng)爭(zhēng)格局與投資研究報(bào)告
- 采購(gòu)部個(gè)人試用期工作總結(jié)
- 2025-2030中國(guó)藥用甘油行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 養(yǎng)老綜合服務(wù)中心項(xiàng)目可行性研究報(bào)告(模板)
- 2025-2030中國(guó)舞臺(tái)燈行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)自動(dòng)泡沫皂液機(jī)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)自動(dòng)催化鍍行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 1箱庭療法實(shí)務(wù)課件
- 《PCB設(shè)計(jì)與制作(基于Altium-Designer)》教材配套電子課件電子教案(全)完整版課件
- 隧道超前地質(zhì)預(yù)報(bào)(課件)
- 平移(1)課件 人教版數(shù)學(xué)四年級(jí)下冊(cè)
- 過(guò)敏癥與維生素
- 豎井工程地質(zhì)勘察報(bào)告
- 實(shí)驗(yàn)七 三相橋式全控整流電路實(shí)驗(yàn)
- 電力安全工作規(guī)程(變電部分)課件
- (完整word版)公司組織結(jié)構(gòu)圖Word模板
- GB/T 17640-2023土工合成材料長(zhǎng)絲機(jī)織土工布
- 園區(qū)安全生產(chǎn)管理協(xié)議書范本
評(píng)論
0/150
提交評(píng)論