《軟件工程》學(xué)習(xí)輔導(dǎo)_第1頁
《軟件工程》學(xué)習(xí)輔導(dǎo)_第2頁
《軟件工程》學(xué)習(xí)輔導(dǎo)_第3頁
《軟件工程》學(xué)習(xí)輔導(dǎo)_第4頁
《軟件工程》學(xué)習(xí)輔導(dǎo)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、PAGE 32PAGE 31軟件工程程學(xué)習(xí)輔輔導(dǎo)緒論第一節(jié) 軟軟件工程的的產(chǎn)生軟件:計算算機(jī)程序及及其說明程程序的各種種文檔。程序是是計算任務(wù)務(wù)的處理對對象和處理理規(guī)則的描描述。軟件件的特點(diǎn):1 是一一種邏輯產(chǎn)產(chǎn)品,與物物質(zhì)產(chǎn)品有有很大的區(qū)區(qū)別。2 軟件產(chǎn)品品的生產(chǎn)主主要是研制制,生產(chǎn)成成本主要在在開發(fā)和研研制,開發(fā)發(fā)研制完成成后,通過過復(fù)制就產(chǎn)產(chǎn)生了大量量軟件產(chǎn)品品。3 軟軟件產(chǎn)品不不會用壞,不不存在磨損損,消耗。4 生產(chǎn)產(chǎn)主要是腦腦力勞動,還還末完全擺擺脫手工開開發(fā)方式,大大部分產(chǎn)品品是定做做的。55 開發(fā)軟軟件的費(fèi)用用不斷增加加,致使生生產(chǎn)成本相相當(dāng)昂貴按軟件的功功能劃分- 系系統(tǒng)軟件:

2、能與計算算機(jī)硬件緊緊密配合在在一起,使使計算機(jī)系系統(tǒng)各個部部件、相關(guān)關(guān)的軟件和和數(shù)據(jù)協(xié)調(diào)調(diào)、高效率率地工作的的軟件。如如操作系統(tǒng)統(tǒng)、數(shù)據(jù)庫庫管理系統(tǒng)統(tǒng)、設(shè)備驅(qū)驅(qū)動程序以以及通信處處理程序等等。系統(tǒng)軟軟件是計算算機(jī)系統(tǒng)中中必不可少少的一個組組成部分。 應(yīng)應(yīng)用軟件:是在特定定的領(lǐng)域內(nèi)內(nèi)開發(fā),為為特定目的的服務(wù)的一一類軟件。如,CAADCAAM 計算算機(jī)輔助制制造CAAI 計算算機(jī)輔助教教學(xué), 專專家系統(tǒng),模模式識別,剎剎車系統(tǒng) 支支撐軟件:是協(xié)助用用戶開發(fā)軟軟件的工具具性軟件,其其中包括幫幫助程序人人員開發(fā)軟軟件產(chǎn)品的的工具,也也包括幫助助管理人員員控制開發(fā)發(fā)的進(jìn)程的的工具。按規(guī)模劃分分:1、微型

3、型-只有有一個人,甚甚至是半時時,在幾天天之內(nèi)完成成的軟件。寫出的程程序不到5500行語語句。2、小型一個人半半年之內(nèi)完完成的2千千行以內(nèi)的的程序。例例如,數(shù)值值計算問題題或是數(shù)據(jù)據(jù)處理問題題就是這種種規(guī)模的課課題。這種種程序通常常沒有與其其他程序的的接口。如如,有求伯伯君開發(fā)最最初的 WWPS,單單獨(dú)完成BBASICC 的比爾爾.蓋茨。3、中型型-5人人以內(nèi)在一一年多時間間里完成的的5千到55萬行的程程序。這種種課題開始始出現(xiàn)了軟軟件人員之之間,軟件件人員與用用戶之間的的聯(lián)系、協(xié)協(xié)調(diào)和配合合關(guān)系的問問題。4、大型5人至110人在兩兩年多的時時間里完成成5萬行到到10萬行行的程序。例如編譯譯程

4、序、小小型分時系系統(tǒng)、應(yīng)用用軟件包、實(shí)時控制制系統(tǒng)等很很可能都是是這種軟件件。5、甚甚大型-1100人至至10000人參加66、極大型型-20000-55000人人參加,如如,微軟的的winddows 20000項目就包包含了近33000名名工程師,他他們被分成成幾百個小小的團(tuán)隊。 按開發(fā)分軟件件產(chǎn)品和軟軟件項目 軟軟件產(chǎn)品指的的是不局限限于特定領(lǐng)領(lǐng)域的、可可以被廣大大用戶直接接使用的軟軟件系統(tǒng)。如微軟的的 Winndowss,Offfice等等。這類系系統(tǒng)的特點(diǎn)點(diǎn)是技術(shù)含含量高,開開發(fā)時要考考到各種不不同的用戶戶需求; 軟軟件項目也稱定定制軟件,是是受某個特特定客戶(或或少數(shù)客戶戶)的委托托

5、,由一個個或多個軟軟件開發(fā)機(jī)機(jī)構(gòu)在合同同的約如我我們常說的的管理信息息系統(tǒng)(MMIS)和和電子商務(wù)務(wù)系統(tǒng)。這這類軟件的的特點(diǎn)是領(lǐng)領(lǐng)域知識所所占的比重重較大,相相對技術(shù)而而言工程性性更強(qiáng)。例例如,軍用用防空指揮揮系統(tǒng)、衛(wèi)衛(wèi)星控制系系統(tǒng)等均為為這類軟件件。 針對這兩兩種不同類類型的軟件件,應(yīng)該有有不同的軟軟件開發(fā)方方法去指導(dǎo)導(dǎo)項目開發(fā)發(fā)過程。 軟軟件項目的的開發(fā),目目前比較成成熟的軟件件開發(fā)方法法有軟件成成熟度模型型(CMMM)。 這這種軟件開開發(fā)模型試試圖將整個個軟件開發(fā)發(fā)過程規(guī)范范化和量化化,直到可可以對軟件件開發(fā)過程程進(jìn)行定量量的控制和和優(yōu)化。 軟軟件產(chǎn)品的的開發(fā),像像微軟公司司積累了許許多

6、成功的的經(jīng)驗。軟件生產(chǎn)的的發(fā)展:1 程序序設(shè)計時代代:這個階階段生產(chǎn)方方式是個體體勞動,生生產(chǎn)工具是是機(jī)器語言言,匯編語語言。(11946-19566年)2 程序系統(tǒng)統(tǒng)時代:這這個階段生生產(chǎn)方式是是小集團(tuán)合合作生產(chǎn),生生產(chǎn)工具是是高級語言言,開發(fā)方方法仍依靠靠個人技巧巧,但開始始提出結(jié)構(gòu)構(gòu)化方法。(19556-19968年)3 軟件工程時代:這個階段生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫,開發(fā)工具,開發(fā)環(huán)境,網(wǎng)絡(luò),分布式面向?qū)ο蠹夹g(shù)來開發(fā)軟件。(1968年至今)軟件危機(jī): 軟件開開發(fā)技術(shù)的的進(jìn)步未能能滿足發(fā)展展的要求。在軟件開開發(fā)中遇到到的問題找找不到解決決的辦法,問問題積累起起來,形態(tài)態(tài)尖銳的矛

7、矛盾,導(dǎo)致致了軟件危危機(jī)。軟件件危機(jī)的表表現(xiàn):1 經(jīng)費(fèi)費(fèi)預(yù)算經(jīng)常常突破,完完成時間一一再拖延。2 開發(fā)發(fā)的軟件不不能滿足用用戶要求。3 開發(fā)發(fā)的軟件可可維護(hù)性差差。4 開開發(fā)的軟件件可靠性差差。軟件危危機(jī)產(chǎn)生原原因:1 軟件件規(guī)模越來來越大,結(jié)結(jié)構(gòu)越來越越復(fù)雜。22 軟件開開發(fā)管理困困難而復(fù)雜雜。3 軟軟件開發(fā)費(fèi)費(fèi)用不斷增增加。4 軟件開發(fā)發(fā)技術(shù)落后后。5 生生產(chǎn)方式落落后,仍采采用手工方方式。6 開發(fā)工具具落后,生生產(chǎn)率提高高緩慢。軟件工程:用科學(xué)的的知識和技技術(shù)原理來來定義,開開發(fā),維護(hù)護(hù)軟件的一一門學(xué)科。用工程科科學(xué)的觀點(diǎn)點(diǎn)進(jìn)行費(fèi)用用估算,制制定進(jìn)度,制制定計劃和和方案。用用管理科學(xué)學(xué)的

8、方法和和原理進(jìn)行行生產(chǎn)的管管理。用數(shù)數(shù)學(xué)的方法法建立軟件件開發(fā)中的的各種模型型和算法。 那那么為達(dá)到到軟件優(yōu)質(zhì)質(zhì)高產(chǎn)這個個目標(biāo),從從技術(shù)到管管理做了大大量的努力力,從而逐逐漸已形成成了軟件件工程學(xué)這一新學(xué)學(xué)科。它包包含以下主主要內(nèi)容:1、軟件件開發(fā)方法法:軟件工工程的方法法提供了建建造軟件在在技術(shù)上需需要如何何做。 方法涵蓋蓋了一系列列的任務(wù):需求分析析、設(shè)計、編程、測測試和維護(hù)護(hù)。 是在600年代后期期才逐步形形成了一種種軟件開發(fā)發(fā)方法,在在不同的軟軟件開發(fā)階階段對應(yīng)有有不同的方方法,例如如在軟件的的設(shè)計階段段有結(jié)構(gòu)構(gòu)化分析與與設(shè)計方方法,在軟軟件測試階階段有黑黑盒與白盒測測試技術(shù),等等等。

9、 象目前前又有一種種更新的技技術(shù)面向向?qū)ο蟮某坛绦蛟O(shè)計方方法。在在這一方法法中,數(shù)據(jù)據(jù)和數(shù)據(jù)的的操作是被被封閉在一一個個稱為為對象(OObjecct) 的統(tǒng)一體體中,對象象之間則是是通過消消息(mmessaage)進(jìn)進(jìn)行相互聯(lián)聯(lián)系的。 從而而使由軟件件所描述的的系統(tǒng)與客客觀世界的的系統(tǒng)在結(jié)結(jié)構(gòu)上十分分相似,不不僅提高了了軟件的可可修改性與與可維護(hù)性性,同時也也提高了軟軟件的可重重用性,那那么這些都都是工程多多年來所追追求的目標(biāo)標(biāo)。從結(jié)構(gòu)構(gòu)程序設(shè)計計到面向?qū)ο蟪绦蛟O(shè)設(shè)計,是程程序設(shè)計方方法的又一一次飛躍。2、軟件件工具:所所謂工具,在在這里泛指指是開發(fā)一一切幫助開開發(fā)軟件的的軟件。為為了提高軟

10、軟件設(shè)計的的質(zhì)量和生生產(chǎn)效率,現(xiàn)現(xiàn)已經(jīng)發(fā)展展了許多的的幫助開發(fā)發(fā)和維護(hù)軟軟件的軟件件 。例如如,我們要要用某種語語言來開發(fā)發(fā)一個應(yīng)用用軟件,這這就要涉及及到 編編輯程序、編譯程序序、連接程程序等,另另外在軟件件測試階段段還要用到到 測試試數(shù)據(jù)產(chǎn)生生器、排錯錯程序、跟跟蹤程序、靜態(tài)分析析工具和覆覆蓋監(jiān)視工工具等。也也就是說在在不同的時時期要用到到不同的軟軟件開發(fā)工工具。目前前,軟件工工具發(fā)展迅迅速,許多多用于軟件件分析和設(shè)設(shè)計的工具具正在建立立,其目標(biāo)標(biāo) 就是要要實(shí)現(xiàn)軟件件生產(chǎn)自動動化。3、軟件工程程環(huán)境:軟軟件方法和和工具是軟軟件開發(fā)的的兩大支柱柱,她們之之間密切相相關(guān)。軟件件方法提出出了明確

11、的的工作步驟驟和標(biāo)準(zhǔn)的的文檔格式式,這是設(shè)設(shè)計軟件工工具的基礎(chǔ)礎(chǔ),而軟件件工具的實(shí)實(shí)現(xiàn)又將促促進(jìn)軟件方方法的推廣廣和發(fā)展。 環(huán)境一一詞,對不不同用戶有有著不同的的含義。對對最終用戶戶(endd useer)而言言,環(huán)境就就是他們運(yùn)運(yùn)行程序所所使用的計計算機(jī)系統(tǒng)統(tǒng)。這類用用戶對環(huán)境境的要求,主主要是運(yùn)行行可靠,操操作方便,容容易學(xué)習(xí)和和使用。而而對于軟件件開發(fā)人員員來說,則則就不同了了,可以說說環(huán)境就是是他們進(jìn)行行軟件開發(fā)發(fā)活動的舞舞臺。(例例如,Allgo-660,或者者 資料管管理系統(tǒng)(DDbaseeII DDbaseeIII),例例如界面只只能采用菜菜單來完成成各種功能能) 象現(xiàn)在生生產(chǎn)數(shù)

12、據(jù)庫庫管理的軟軟件的環(huán)境境有:大型型數(shù)據(jù)庫軟軟件 Syybasee ,還有有能幫助進(jìn)進(jìn)行程序設(shè)設(shè)計的 PPB 軟件件) 4、軟件工程程管理學(xué):大家知道道,對于一一個企業(yè)來來說,如果果只有先進(jìn)進(jìn)的設(shè)備和和技術(shù),而而沒有完善善的管理,是是不可能獲獲得應(yīng)有的的經(jīng)濟(jì)效益益的(例如如海爾的海海爾文化就就是企業(yè)管管理的象征征),(例例如微軟企企業(yè)文化宗宗旨的一句句話) 軟件生生產(chǎn)也是一一樣的,如如果管理不不善,是不不可能高質(zhì)質(zhì)量、按時時完成任務(wù)務(wù)的。 軟件件工程管理理就是對軟軟件工程生生存期內(nèi)的的各階段的的活動進(jìn)行行管理。軟軟件工程管管理的目的的是為了能能按預(yù)期的的時間和費(fèi)費(fèi)用,成功功地完成軟軟件的開發(fā)發(fā)

13、和維護(hù)任任務(wù)。 軟件工工程管理學(xué)學(xué)的內(nèi)容包包括軟件費(fèi)費(fèi)用管理、人員組織織、工程計計劃管理、軟件配置置管理等各各項方面的的內(nèi)容。 顯然然,軟件工工程管理也也可借助計計算機(jī)來實(shí)實(shí)現(xiàn)。供經(jīng)經(jīng)理人員估估算成本、指定進(jìn)度度、生成報報告等管理理工具都已已經(jīng)在許多多公司使用用了。一個個理想的軟軟件工程環(huán)環(huán)境,應(yīng)該該同時具備備 支持開開發(fā)和支持持管理兩個個方面的工工具。 以上簡簡介了軟件件工程學(xué)的的主要組成成成分軟件工程程方法學(xué)、軟件工程程環(huán)境以及及軟件工程程管理的基基本內(nèi)容臺臺和作用。它們即包包括計算機(jī)機(jī)科學(xué)家的的研究成果果,也概括括了廣大軟軟件工作者者的時間經(jīng)經(jīng)驗。還必必須指出,軟軟件開發(fā)技技術(shù)可區(qū)分分為

14、形式化化方法與非非形式化方方法兩大分分支。前者者以形式化化的程序變變化和嚴(yán)整整為主要內(nèi)內(nèi)容,目的的在于達(dá)到到程序設(shè)計計的自動化化,多用于于計算機(jī)應(yīng)應(yīng)用人員。本課程主主要討論的的是工程化化的軟件開開發(fā)技術(shù)。 軟件工程目目標(biāo):付出出較低開發(fā)發(fā)成本;達(dá)達(dá)到要求的的功能;取取得較好的的性能;開開發(fā)的軟件件易于移植植;只需較較低的維護(hù)護(hù)費(fèi)用;能能按時完成成開發(fā)任務(wù)務(wù),及時交交付使用;開發(fā)的軟軟件可靠性性高。軟件件工程內(nèi)容容:研究內(nèi)內(nèi)容包括開開發(fā)技術(shù)和和開發(fā)管理理兩個方面面。開發(fā)技技術(shù)主要研研究 :軟軟件開發(fā)方方法,開發(fā)發(fā)過程,開開發(fā)工具和和環(huán)境。開開發(fā)管理主主要研究 :軟件管管理學(xué),軟軟件經(jīng)濟(jì)學(xué)學(xué),軟件

15、心心理學(xué)。軟軟件工程需需要解決的的問題:軟軟件的費(fèi)用用,可靠性性,可維護(hù)護(hù)性,軟件件生產(chǎn)率和和軟件的重重用。第二節(jié) 軟軟件工程過過程和軟件件生存周期期軟件工程:規(guī)定了獲獲取,供應(yīng)應(yīng),開發(fā),操操作和維護(hù)護(hù)軟件時,要要實(shí)施的過過程,活動動和任務(wù)。目的是為為各種人員員提供公共共的框架,以以便用相同同的語言進(jìn)進(jìn)行交流。包括:獲獲取過程,供供應(yīng)過程,開開發(fā)過程,操操作過程,維維護(hù)過程,管管理過程,支支持過程。軟件生存周周期:一個個軟件從提提出開發(fā)要要求開始直直到該軟件件報廢為止止的整個時時期。包括括:可行性性分析和項項目開發(fā)計計劃,需求求分析,概概要設(shè)計,詳詳細(xì)設(shè)計,編編碼,測試試,維護(hù)。第三節(jié) 軟軟件

16、生存周周期模型,方方法和工具具生存周期模模型:描述述軟件開發(fā)發(fā)過程中各各種活動如如何執(zhí)行的的模型。對對軟件開發(fā)發(fā)提供強(qiáng)有有力的支持持,為開發(fā)發(fā)過程中的的活動提供供統(tǒng)一的政政策保證,為為參與開發(fā)發(fā)的人員提提供幫助和和指導(dǎo),是是軟件生存存周期模型型化技術(shù)的的基礎(chǔ),也也是建立軟軟件開發(fā)環(huán)環(huán)境的核心心。生存周周期模型作作用:確立立了軟件開開發(fā)中各階階段的次序序限制,活活動準(zhǔn)則,所所要遵守的的規(guī)定和限限制,便于于各種活動動的協(xié)調(diào),人人員之間的的有效通信信,有利于于活動重用用和活動管管理。生存存周期模型型準(zhǔn)則:模模型能表示示各種活動動的實(shí)際工工作方式,能能隨情況變變化而演化化能表示各各種活動間間同步和制制

17、約關(guān)系,能能表示活動動的動態(tài)特特性。容易易為開發(fā)人人員理解,能能適應(yīng)不同同軟件項目目,具有較較強(qiáng)靈活性性,能支持持軟件開發(fā)發(fā)環(huán)境的建建立。目前有:11 瀑布模型型:將軟件件生存周期期中各活動動規(guī)定為依依線性順序序連接的若若干階段。包括可行行性分析,項項目開發(fā)計計劃,需求求分析,概概要設(shè)計,詳詳細(xì)設(shè)計,編編碼,測試試和維護(hù)。它是一種種理想的線線性開發(fā)模模式,缺乏乏靈活,特特別是無法法解決軟件件需求不明明確的問題題。適合于于需求不明明確,設(shè)計計方案有一一定風(fēng)險的的軟件項目目。2 增量模型型:軟件在在模型中是是逐漸開發(fā)出來來的,開發(fā)發(fā)一部分,展展示一部分分,能及早早發(fā)現(xiàn)問題題。或者先先開發(fā)一原型軟軟

18、件,完成成主要功能能,然后逐逐步完善,最最終獲得滿滿意的軟件件產(chǎn)品。33 螺旋模型型:將瀑布布模型與增增量模型結(jié)結(jié)合起來,加加入風(fēng)險分分析,彌補(bǔ)補(bǔ)了這兩種種模型的不不足。開發(fā)發(fā)分四步:制定計劃劃,風(fēng)險分分析,開發(fā)發(fā)實(shí)施,用用戶評估。4 噴泉模型型:以用戶戶需求為動動力,以對對象為驅(qū)運(yùn)運(yùn)動模型,適適合于面向向?qū)ο箝_發(fā)發(fā)方法,使使開發(fā)過程程具有迭代代性和無間間隙性。 迭代代性:系統(tǒng)統(tǒng)有些部分分常常重復(fù)復(fù)工作多次次,相關(guān)功功能在每次次迭代中隨隨之加入演演化的系統(tǒng)統(tǒng)。 無間隙:在分析,設(shè)設(shè)計,實(shí)現(xiàn)現(xiàn)等開發(fā)活活動之間不不存在明顯顯邊界。55 基于知識識的模型:瀑布模型型與專家模模型的結(jié)合合。開發(fā)各各階段

19、都有有利用相應(yīng)應(yīng)專家系統(tǒng)統(tǒng)來輔助設(shè)設(shè)計,使維維護(hù)在系統(tǒng)統(tǒng)需求一級級進(jìn)行。66 變換模模型:適合合于形式化化開發(fā)方法法的模型。軟件開發(fā)方方法:使用用早已定義義好的技術(shù)術(shù)集及符號號表示習(xí)慣慣來組織軟軟件生產(chǎn)的的過程。軟軟件開發(fā)開開發(fā)的目標(biāo)標(biāo):通過使使用成功的的軟件開發(fā)發(fā)方法,在在規(guī)定的投投資和時間間內(nèi),開發(fā)發(fā)出符合用用戶需求的的高質(zhì)量的的軟件。 軟件件開發(fā)方法法是克服軟軟件危機(jī)的的重要方面面之一,對對軟件工程程及軟件包包產(chǎn)業(yè)的發(fā)發(fā)展起了不不可估量的的作用。已使用的成成功方法有有:1、結(jié)構(gòu)化化方法:一一種面向數(shù)數(shù)據(jù)流的開開發(fā)方法,適適合數(shù)據(jù)處處理領(lǐng)域。指導(dǎo)指導(dǎo)導(dǎo)思想是自自頂向下,逐逐步求精。用數(shù)據(jù)流

20、流圖建立系系統(tǒng)功能模模型,完成成需求分析析工作。用用軟件結(jié)構(gòu)構(gòu)圖建立系系統(tǒng)物理模模型,實(shí)現(xiàn)現(xiàn)概要設(shè)計計。最后將將每個模塊塊的功能用用相應(yīng)標(biāo)準(zhǔn)準(zhǔn)控制結(jié)構(gòu)構(gòu)表示出來來,從而實(shí)實(shí)現(xiàn)詳細(xì)設(shè)設(shè)計。2、JACKKSON方方法:一種種面向數(shù)據(jù)據(jù)結(jié)構(gòu)的開開發(fā)方法,適適合小規(guī)模模項目。首首先描述問問題的輸入入,輸出數(shù)數(shù)據(jù)結(jié)構(gòu),分分析其對應(yīng)應(yīng)性,然后后推出相應(yīng)應(yīng)程序結(jié)構(gòu)構(gòu),從而給給出問題的的軟件過程程描述。當(dāng)當(dāng)輸入與輸輸出數(shù)據(jù)結(jié)結(jié)構(gòu)無對應(yīng)應(yīng)關(guān)系時,難難于應(yīng)用此此方法,JJSD(一一完整的系系統(tǒng)開發(fā)方方法)對JJSP進(jìn)行行了擴(kuò)充33、維也納納開發(fā)方法法(VDMM):一種種形式化開開發(fā)方法,軟軟件的需求求用嚴(yán)格的的形

21、式語言言描述,然然后把模型型逐步變換換成目標(biāo)系系統(tǒng)。4、面向?qū)ο笙蟮拈_發(fā)方方法:基本本出發(fā)點(diǎn)是是盡可能按按人類認(rèn)識識世界的方方法和思維維方式來分分析和解決決問題。以以對象作為為最基本的的元素,客客觀世界中中具體的事事物,事件件,概念和和規(guī)則都有有可看成對對象,它也也是分析問問題,解決決問題的核核心。開發(fā)發(fā)方法包括括面向?qū)ο笙蠓治?,面面向?qū)ο笤O(shè)設(shè)計,面向向?qū)ο髮?shí)現(xiàn)現(xiàn)。主要有有BOOCCH方法,CCoad方方法和OMMT方法。為統(tǒng)一這這些方法的的術(shù)語,概概念和模型型,(19997年)推推出統(tǒng)一建建模型語言言UML。結(jié)構(gòu)化方法法可用:瀑瀑布模型,增增量模型,螺螺旋模型進(jìn)進(jìn)行開發(fā)。JACKKSON方方

22、法可用:瀑布模型型,增量模模型進(jìn)行開開發(fā)。面向向?qū)ο蟮拈_開發(fā)方法可可用:噴泉泉模型,瀑瀑布模型,增增量模型進(jìn)進(jìn)行開發(fā)。形式化的的維也納方方法只能用用變換模型型進(jìn)行開發(fā)發(fā) 。軟件工具:為支持軟軟件人員開開發(fā)和維護(hù)護(hù)活動而使使用的軟件件。使用軟軟件工具后后,可提高高軟件生產(chǎn)產(chǎn)率。目前前軟件工具具發(fā)生了很很大變化,目目的是生成成軟件周期期各個環(huán)節(jié)節(jié)的自動化化。主要用用于軟件的的分析和設(shè)設(shè)計,使用用這些工具具軟件開發(fā)發(fā)人員就能能在微機(jī)或或工作站上上以對話方方式建立各各種軟件系系統(tǒng)。工具具箱:最初初的軟件工工具是以工工具箱形式式出現(xiàn)的。但界面不不統(tǒng)一,工工具內(nèi)部無無聯(lián)系,工工具切換由由人工操作作。它們對

23、對大型軟件件的開發(fā)和和維護(hù)的支支持能力有有限。軟件件開發(fā)環(huán)境境:目的是是使軟件工工具支持整整個生存周周期。而且且做到不僅僅支持各階階段的技術(shù)術(shù)工作,還還要支持管管理和操作作工作,保保持項目開開發(fā)的高度度可見性,可可控制性和和可追蹤性性。計算機(jī)機(jī)輔助軟件件工程:可可簡單定義義為軟件開開發(fā)的自動動化,簡稱稱為CASSE。實(shí)質(zhì)質(zhì)是為軟件件開發(fā)提供供一組優(yōu)化化集成的,大大量節(jié)省人人力的軟件件開發(fā)工具具。是軟件件工具和軟軟件開發(fā)方方法的結(jié)合合。目的是是實(shí)現(xiàn)軟件件生存周期期各環(huán)節(jié)的的自動化,并并使之成為為一個整體體。CASE工工具與以往往軟件工具具不同體現(xiàn)現(xiàn)在:1 支持專用用的個人計計算環(huán)境;2 使用用圖

24、形功能能對軟件系系統(tǒng)進(jìn)行說說明并建立立文檔;33 將生存存周期各階階段的工作作連接在一一起;4 收集和連連接軟件系系統(tǒng)從最初初的軟件需需求到軟件件維護(hù)各個個環(huán)節(jié)的所所有信息;5 用人人工智能實(shí)實(shí)現(xiàn)軟件開開發(fā)和維護(hù)護(hù)工作的自自動化。第二章可可行研究與與項目開發(fā)發(fā)計劃可行研究的的任務(wù):首首先需要進(jìn)進(jìn)行概要的的分析研究究,初步確確定項目的的規(guī)模,目目標(biāo),約束束和限制。分析員再再進(jìn)行簡要要的需求分分析,抽象象出項目的的邏輯結(jié)構(gòu)構(gòu),建立邏邏輯模型。從邏輯模模型出發(fā),經(jīng)經(jīng)過壓縮的的設(shè)計,探探索出若干干種可供選選擇的解決決方法,對對每種解決決方法都要要研究它的的可行性。主要從三三個方面考考慮:1.技術(shù)可行行

25、性 一般般要考慮的的情況包括括 開發(fā)的的風(fēng)險即設(shè)設(shè)計出的系系統(tǒng)能否達(dá)達(dá)到要求的的功能和性性能;資源源的有效性性;相關(guān)技技術(shù)的發(fā)展展是否支持持;2.經(jīng)經(jīng)濟(jì)可行性性 進(jìn)行開開發(fā)成本的的估算以及及了解取得得效益的評評估,確定定要開發(fā)的的項目是否否值得投資資。3.社社會可行性性 要開發(fā)發(fā)的項目是是否存在任任何侵權(quán)問問題,運(yùn)行行方式在用用戶組織內(nèi)內(nèi)是否可行行,現(xiàn)有管管理制度人員素質(zhì)質(zhì)操作方式式是否可行行。可行性性研究的具具體步驟:1.確定定項目規(guī)模模和目標(biāo);2.研究究正在運(yùn)行行的系統(tǒng); 收集研究分析現(xiàn)有有系統(tǒng)的文文檔資料,實(shí)實(shí)地考察系系統(tǒng)訪問有有關(guān)人員,然然后描繪現(xiàn)現(xiàn)有系統(tǒng)的的高層系統(tǒng)統(tǒng)流程圖。3.建立

26、立新系統(tǒng)的的高層邏輯輯模型; 使用數(shù)據(jù)據(jù)流圖和數(shù)數(shù)據(jù)字典描描述數(shù)據(jù)在在系統(tǒng)中的的流動和處處理情況。4.導(dǎo)出出和評價各各種方案; 導(dǎo)出若若干較高層層次的物理理解決方法法,根據(jù)技技術(shù)可行性性經(jīng)濟(jì)可行行性社會可行行性進(jìn)行評評估,得到到可行的解解決方法。 5.推推薦可行方方案; 進(jìn)進(jìn)行成本效益分析析,決定該該項目是否否值得開發(fā)發(fā),若值得得開發(fā)那么么解決方案案是什么,并并且說明該該方案可行行的原因和和理由。66.編寫可可行性研究究報告; 將上述可可行性過程程的結(jié)果寫寫成相應(yīng)文文檔,即可可行性研究究報告。 系統(tǒng)流程程圖: 描描述系統(tǒng)工工程物理模模型的工具具,用圖形形符號來表表示系統(tǒng)中中各個元素素,表達(dá)各各

27、元素之間間的信息流流動情況。投資回收率率:通常用用貨幣的時時間價值進(jìn)進(jìn)行估算??捎美事蕘肀硎矩涁泿诺臅r間間價值。 設(shè)年年利率為II,現(xiàn)存入入P元,nn年后可得得錢數(shù)為FF,若不計計復(fù)利則FF=P*(11+n*II) 反之,若若n年能收收入F元,那那么這些錢錢現(xiàn)在的價價值是:PP=F/(11+n*II) 通常把建建立系統(tǒng)若若干年后能能取得的收收益折算成成現(xiàn)在的價價值和開發(fā)發(fā)系統(tǒng)所需需的費(fèi)用進(jìn)進(jìn)行比較得得出投資回回收率。投投資回收期期:就是使使累計的經(jīng)經(jīng)濟(jì)效益等等于最初的的投資費(fèi)用用所需的時時間。純收收入:整個個生存周期期之內(nèi)的累累計經(jīng)濟(jì)效效益(折成成現(xiàn)在值)與與投資之差差。(例題題見書2.3成

28、本效益分分析)項目開發(fā)計計劃:包括括1.項目目概述:說說明項目的的各項主要要工作;說說明軟件的的功能性能;為為完成項目目應(yīng)具有的的條件;用用戶及合同同承包者承承擔(dān)的工作作完成的期期限及其他他條件限制制;應(yīng)交付付的程序名名稱;所使使用的語言言及程儲形形式;應(yīng)交交付的文檔檔。2.實(shí)實(shí)施計劃:說明任務(wù)務(wù)的劃分,各各任務(wù)責(zé)任任人,項目目開發(fā)進(jìn)度度,項目的的預(yù)算,各各階段的費(fèi)費(fèi)用支出,各各階段應(yīng)完完成的任務(wù)務(wù),用圖表表說明每項項任務(wù)的開開始和完成成時間。 3.人員員組織及分分工:所需需人員類型型數(shù)量組成結(jié)構(gòu)構(gòu)。4.交交付期限:最后完工工日期。第三章 軟軟件需求分分析需求分析:開發(fā)人員員準(zhǔn)確地理理解用戶的

29、的要求,進(jìn)進(jìn)行細(xì)致的的調(diào)查分析析,將用戶戶非形式的的需求陳述述轉(zhuǎn)化為完完整的需求求定義,再再由需求定定義轉(zhuǎn)換到到相應(yīng)的需需求規(guī)格說說明的過程程。它有以以下幾難點(diǎn)點(diǎn): 問題的的復(fù)雜性。由用用戶戶需求涉及及的因素繁繁多引起,如如運(yùn)行環(huán)境境和系統(tǒng)功功能 交流障障礙。需求求分析涉及及人員較多多,這些人人具備不同同的背景知知識,處于于不同角度度,扮演不不同角色,造造成相互之之間交流困困難。 不完備備性和不一一致性。用用戶對問題題的陳述往往往是不完完備的,各各方面的需需求可能還還存在矛盾盾,需求分分析要消除除矛盾,形形成完備及及一致的定定義。 需求易易變性。近近幾年來已已提出多種種分析和說說明方法,但但都

30、必須適適用以下原原則: 必須能能夠表達(dá)和和理解問題題的數(shù)據(jù)域域和功能域域。數(shù)據(jù)域域包括數(shù)據(jù)據(jù)流(數(shù)據(jù)據(jù)通過一個個系統(tǒng)時的的變化方式式)數(shù)據(jù)內(nèi)內(nèi)容和數(shù)據(jù)據(jù)結(jié)構(gòu),功功能域反映映上述三方方面的控制制信息。 可以把把一個復(fù)雜雜問題按功功能進(jìn)行分分解并可逐逐層細(xì)化。 建模??筛玫氐乩斫廛浖到y(tǒng)的信信息,功能能,行為。也是軟件件設(shè)計的基基礎(chǔ)。 需需求分析的的任務(wù): 問題識識別:雙方方確定對問問題的綜合合需求,這這些需求包包括功能需需求,性能能需求,環(huán)環(huán)境需求,用用戶界面需需求。 分析與與綜合,導(dǎo)導(dǎo)出軟件的的邏輯模型型 編寫文文檔:包括括編寫需需求規(guī)格說說明書初步用戶戶使用手冊冊確認(rèn)認(rèn)測試計劃劃修改改完

31、善軟件件開發(fā)計劃劃 結(jié)構(gòu)化分析析:簡稱SSA,面向向數(shù)據(jù)流進(jìn)進(jìn)行數(shù)據(jù)分分析的方法法。采用自自頂向下逐逐層分解的的分析策略略。頂層抽抽象地描述述整個系統(tǒng)統(tǒng),底層具具體地畫出出系統(tǒng)工程程的每個細(xì)細(xì)節(jié)。中間間層則是從從抽象到具具體的過渡渡。使用數(shù)數(shù)據(jù)流圖,數(shù)數(shù)據(jù)字典,作作為描述工工具,使用用結(jié)構(gòu)化語語言,判定定表,判定定樹描述加加工邏輯。結(jié)構(gòu)化(SSA)分析析步驟:了解當(dāng)前前系統(tǒng)的工工作流程,獲獲得當(dāng)前系系統(tǒng)的物理理模型。抽象出當(dāng)當(dāng)前系統(tǒng)的的邏輯模型型。建立目標(biāo)標(biāo)系統(tǒng)的邏邏輯模型。作進(jìn)一步步補(bǔ)充和優(yōu)優(yōu)化。 數(shù)據(jù)流圖(DDFD)以以圖形的方方式描述數(shù)數(shù)據(jù)在系統(tǒng)統(tǒng)中流動和和處理的過過程。只反反映系統(tǒng)必必

32、須完成的的邏輯功能能,是一種種功能模型型。 畫數(shù)數(shù)據(jù)流圖的的步驟:首先畫系系統(tǒng)的輸入入輸出,即即先畫頂層層數(shù)據(jù)流圖圖。頂層圖只只包含一個個加工,用用以表示被被開發(fā)的系系統(tǒng)。畫系統(tǒng)內(nèi)內(nèi)部,即畫畫下層數(shù)據(jù)據(jù)流圖。將將層號從00號開始編編號,采用用自頂向下下,由外向向內(nèi)的原則則。畫更下下層數(shù)據(jù)流流圖時,則則分解上層層圖中的加加工,一般般沿著輸出出入流的方方向,凡數(shù)數(shù)據(jù)流的組組成或值發(fā)發(fā)生變化的的地方則設(shè)設(shè)置一個加加工,一直直進(jìn)行到輸輸出數(shù)據(jù)流流。如果加加工的內(nèi)部部還有數(shù)據(jù)據(jù)流,則繼繼續(xù)分解,直直到每個加加工足夠簡簡單,不能能再分解為為止。不能能分解的加加工稱為基基本加工。注意事項項:命名。不不能使用

33、缺缺乏具體含含義的名字字,加工名名應(yīng)能反映映出處理的的功能。畫數(shù)據(jù)流流而不是控控制流。數(shù)數(shù)據(jù)流名稱稱只能是名名詞或名詞詞短語,整整個圖中不不反映加工工的執(zhí)行順順序。一般不畫畫物質(zhì)流。 每個加工工至少有一一個輸入數(shù)數(shù)據(jù)流和一一個輸出數(shù)數(shù)據(jù)流,反反映出此加加工數(shù)據(jù)的的來源與加加工的結(jié)果果 。編號。某某個加工分分解成加一一張數(shù)據(jù)流流圖時,上上層圖為父父圖,下層層圖為子圖圖。子圖應(yīng)應(yīng)編號,子子圖上的所所有加工也也應(yīng)編號,子子圖的編號號應(yīng)與父圖圖的編號相相對應(yīng)。父圖與子子圖的平衡衡。子圖的的輸入輸出出數(shù)據(jù)流同同父圖相應(yīng)應(yīng)加工的輸輸入輸出數(shù)數(shù)據(jù)流必須須一致局部數(shù)據(jù)據(jù)存儲。當(dāng)當(dāng)某數(shù)據(jù)流流圖中的數(shù)數(shù)據(jù)存儲不不

34、是父圖中中向外部接接口,而只只是本圖中中某些加工工之間的數(shù)數(shù)據(jù)接口,則則稱這些數(shù)數(shù)據(jù)存儲為為局部數(shù)據(jù)據(jù)存儲。 提高數(shù)據(jù)據(jù)流圖的易易理解性。為使數(shù)據(jù)流流圖便于在在計算機(jī)上上輸入和輸輸出,給出出了描述數(shù)數(shù)據(jù)流圖的的另一套圖圖形符號表表示數(shù)據(jù)流流,只能水水平或垂直直畫 數(shù)據(jù)據(jù)字典(DDD)用來來定義數(shù)據(jù)據(jù)庫流圖中中的各個成成分的具體體含義。有有以下四類類條目:數(shù)數(shù)據(jù)流,數(shù)數(shù)據(jù)項,數(shù)數(shù)據(jù)存儲,基基本加工。 數(shù)據(jù)流條條目,內(nèi)容容及舉例如如下:數(shù)據(jù)據(jù)流名稱:訂單別名名:無簡述述:顧客訂訂貨時填寫寫的項目來來源:顧客客去向:加加工1檢檢驗訂單數(shù)據(jù)流量量:10000份/每每周(單位位時間內(nèi)的的傳輸次數(shù)數(shù))組成

35、:編號+訂訂貨日期+顧客編號號+地址+電話+銀銀行帳號+貨物名稱稱+規(guī)格+數(shù)量 數(shù)據(jù)存儲儲條目,內(nèi)內(nèi)空及舉例例數(shù)據(jù)存儲儲名稱:庫庫存記錄別別名:無簡簡述:存放放庫存所有有可供貨物物的信息組組成:貨物物名稱+編編號+生產(chǎn)產(chǎn)廠家+單單價+庫存存量組織方方式:索引引文件,以以貨物編號號為關(guān)鍵字字查詢要求求:要求能能立即查詢詢 數(shù)據(jù)條目目,內(nèi)容及及舉例數(shù)據(jù)據(jù)項名稱:貨物編號號別名:GG-No,G-nuum,Gooods-No簡述述:本公司司所有貨物物的編號 類型:字字符串長度度:10取取值范圍及及含義:第第一位:進(jìn)進(jìn)口/國產(chǎn)產(chǎn)第2-44位:類別別第5-77位:規(guī)格格第8-110位:品品名編號 加工條目

36、目,內(nèi)容及及舉例加工工名:查閱閱庫存編號號:12激發(fā)條件件:接收到到合格訂單單時優(yōu)先級級:普通輸輸入:合格格合格訂單單輸出:可可供貨訂單單,缺貨訂訂單加工邏邏輯:根據(jù)據(jù)庫存記錄錄IF 訂訂單項目數(shù)數(shù)量1),由由于這個oor的存在在,那么把把x1錯錯寫成x11);在這這里必須使使a=2 、x11,a2、x1均出現(xiàn)現(xiàn)一次。(4)判定定/條件覆覆蓋:上面面條件覆蓋蓋也不一定定滿足判定定該,因為為只符合條條件覆蓋的的用例可能能會不滿足足每個判定定語句均有有真值或假假值出現(xiàn)。因此要兩兩者兼顧,判判定條件覆覆蓋就是指指設(shè)計足夠夠 的測試試用例,使使得判定表表達(dá)式中每每個條件的的所有可能能取值至少少出現(xiàn)一次

37、次并且每個個判定表達(dá)達(dá)式所有可可能的結(jié)果果也至少出出現(xiàn)一次。(5)條條件組合覆覆蓋:是指指設(shè)計足夠夠的測試用用例,使得得每個判定定表達(dá)式中中條件的各各種或能的的值的組合合都至少出出現(xiàn)一次。這就是前前面兩個覆覆蓋的組合合。(6)路徑覆蓋蓋:是指測測設(shè)計足夠夠的測試用用例,覆蓋蓋被測試程程序中所有有可能的路路徑。這六六種覆蓋進(jìn)進(jìn)行比較有有下面一個個表:條件件組合發(fā)現(xiàn)現(xiàn)錯誤的能能力較強(qiáng),凡凡滿足其標(biāo)標(biāo)準(zhǔn)的測試試用例,也也必然滿足足前四種覆覆蓋標(biāo)準(zhǔn)。在實(shí)際的的邏輯測試試中,一般般以條件組組合覆蓋為為主設(shè)計測測試用例,然然后再補(bǔ)充充部分用例例來達(dá)到路路徑覆蓋的的測試標(biāo)準(zhǔn)準(zhǔn)。2、循環(huán)環(huán)覆蓋:當(dāng)當(dāng)程序中存存

38、在循環(huán)結(jié)結(jié)構(gòu)時,要要覆蓋所有有的路徑是是不可能的的,但是可可以通過限限制循環(huán)結(jié)結(jié)構(gòu)來測試試。3、基基本路徑測測試:由于于實(shí)際問題題中,程序序的路徑是是龐大的,因因此要將覆覆蓋的路徑徑壓縮到一一定限度才才能解決這這個問題?;韭窂綇綔y試就是是在程序控控制流程圖圖的基礎(chǔ)上上,通過分分析控制構(gòu)構(gòu)造的環(huán)路路復(fù)雜性,導(dǎo)導(dǎo)出基本路路徑集合從從面設(shè)計測測試用例保保證這些路路徑至少通通過一次。再來看看看黑盒技術(shù)術(shù) 黑盒盒測試是功功能測試。測試的是是程序的接接口。在設(shè)設(shè)計測試用用例時有以以下幾種方方法:等價價類的劃分分、邊界值值分析、錯錯誤推測和和因果圖。這幾種方方法都不能能提供一組組完整的測測試用例,在在實(shí)際

39、測試試中應(yīng)把各各種方法結(jié)結(jié)合起來使使用。1、等價類的的劃分:是是將輸入數(shù)數(shù)據(jù)按有效效的或無效效的(也稱稱合理的或或不合理的的)劃分成成若干個等等價類,測測試每個等等價類的代代表值就等等于對該類類其他值的的測試。用用該法設(shè)計計測試用例例的步驟為為:(1)劃分等價價類(列一一個表) (2)確確定測試用用例:根據(jù)據(jù)已劃分的的等價類,按按以下步驟驟設(shè)計測試試用例: 1)為每每個等價類類編號 22)設(shè)計一一個測試用用例,使其其盡可能多多的覆蓋尚尚未被覆蓋蓋過的合理理等價類。重復(fù)這步步直到所有有合理等價價類被測試試用例覆蓋蓋。 3)設(shè)計一個個測試用例例,使其只只覆蓋一個個不合理等等價類。重重復(fù)這一步步直到

40、所有有不合理等等價類被覆覆蓋。 要注注意課本上上的例子,會會應(yīng)用這種種方法設(shè)計計測試用例例2、邊界界值分析:也就是在在為設(shè)計測測試用例時時,在等價價類范圍內(nèi)內(nèi)選擇一些些邊界值作作為測試用用例,這樣樣可以比單單用等價類類劃分法所所選的測試試用例能查查出更多錯錯誤,因為為實(shí)踐表明明,程序更更容易在處處理邊界值值時發(fā)生錯錯誤。3、錯誤推測測:通常根根據(jù)經(jīng)驗或或直覺來推推測程序中中可能出現(xiàn)現(xiàn)錯誤的情情況,并有有針對性的的編寫檢查查這些錯誤誤的測試用用例。4、因果圖:因果圖能能夠有效地地檢測輸入入條件的各各種組合可可能會引起起的錯誤。它的基本本原理是通通過畫因果果圖,把用用自然語言言描述的功功能說明轉(zhuǎn)轉(zhuǎn)

41、換為判定定表,最后后為判定表表的每一列列設(shè)計一個個測試用例例。 在以上幾幾種軟件測測試方法,各各有所長,但但各有所短短,在實(shí)際際測試中,應(yīng)應(yīng)該采用綜綜合策略,通通常先用黑黑盒法設(shè)計計基本的測測試用例,再再用白盒法法補(bǔ)充一些些必要的測測試用例。 本節(jié)節(jié)具體要掌掌握的就是是等價類劃劃分及邊界界值的測試試用例設(shè)計計。四、軟件測測試過程(識記)軟軟件測試的的步驟通常常有四步:單元測試試、集成測測試、確認(rèn)認(rèn)測試和系系統(tǒng)測試。1、單元元測試主要要針對模塊塊的五個基基本特征進(jìn)進(jìn)行測試:模塊接口口、局部數(shù)數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)執(zhí)行路徑、錯誤處理理和邊界條條件。單元元測試時要要用到驅(qū)驅(qū)動模塊和樁模塊。注注意要概念念

42、:驅(qū)動模模塊是用來來模擬被測測試模塊的的上級調(diào)用用模塊。樁樁模塊則用用來代替被被測試模塊塊所調(diào)用的的模塊。22、集成測測試有兩種種方法:非非漸增式測測試和漸增增式測試。 非非漸增式測測試是指首首先對每個個模塊分別別進(jìn)行單元元測試,再再把所有模模塊組裝成成一個完整整的系統(tǒng)進(jìn)進(jìn)行的測試試。而漸增增式測試就就是逐個把把未經(jīng)測試試的模塊組組裝到已經(jīng)經(jīng)過測試的的模塊上去去進(jìn)行集成成測試,每每加入一個個新模塊進(jìn)進(jìn)行一次集集成測試,重重復(fù)此過程程直到程序序組裝完畢畢。漸增式式測試有兩兩種不同的的組裝方法法:自頂向向下和自底底向上結(jié)合合。注意兩兩者區(qū)別。3、確認(rèn)認(rèn)測試又稱稱有效性測測試,它的的任務(wù)是檢檢查軟件

43、的的功能與性性能是否與與需求規(guī)格格說明書中中確定的指指標(biāo)相符合合。因而需需求說明規(guī)規(guī)格說明是是確認(rèn)測試試的基礎(chǔ).確認(rèn)測試試有兩項工工作:進(jìn)行行確認(rèn)測試試與軟件配配置審查。4、系統(tǒng)統(tǒng)測試:即即要對軟件件所運(yùn)行的的整個系統(tǒng)統(tǒng)(包括硬硬件、外設(shè)設(shè)、其他軟軟件和操作作人員等)結(jié)合在一一起進(jìn)行測測試,確定定其是否能能夠協(xié)調(diào)工工作。五、調(diào)試(識記) 軟件件測試的目目的是盡可可能多地發(fā)發(fā)現(xiàn)程序中中的錯誤,而而調(diào)試則是是在進(jìn)行了了成功的測測試之后才才開始的工工作。調(diào)試試的目的是是確定錯誤誤的原因和和位置,并并改正錯誤誤,因此調(diào)調(diào)試也稱為為糾錯(DDebugg)。 調(diào)試方方法有簡單單的調(diào)試方方法、歸納納法、演繹

44、繹法和回溯溯法等。第8章_軟軟件維護(hù) 軟件件維護(hù)是軟軟件工程的的一個重要要任務(wù),作作為理論,本本章的內(nèi)容容比較簡單單,多為識識記領(lǐng)會內(nèi)內(nèi)容,主要要應(yīng)注意一一些概念。其中的軟軟件可維護(hù)護(hù)性是本章章的重點(diǎn)內(nèi)內(nèi)容。一、軟件維維護(hù)的內(nèi)容容有四種:校正性維維護(hù),適應(yīng)應(yīng)性維護(hù),完完善性維護(hù)護(hù)和預(yù)防性性維護(hù)。11、校正性性維護(hù):指指為了識別別和糾正錯錯誤,修改改軟件性能能上的缺陷陷,進(jìn)行確確定和修改改錯誤的過過程。占整整個維護(hù)工工作的211%.2、適應(yīng)性維維護(hù):為了了使本軟件件適應(yīng)硬件件和軟件的的變化而修修改軟件的的過程稱為為適應(yīng)性維維護(hù)。占整整個維護(hù)活活動的255%。3、完善性維維護(hù):增加加軟件功能能、增

45、強(qiáng)軟軟件性能、提高運(yùn)行行效率而進(jìn)進(jìn)行的維護(hù)護(hù)活動稱為為完善性維維護(hù)。占整整個維護(hù)工工作的500%.4、預(yù)防性維維護(hù):為了了提高軟件件的可維護(hù)護(hù)性和可靠靠性而對軟軟件進(jìn)行的的修改稱為為預(yù)防性維維護(hù)。只占占4%。二、維護(hù)的的特點(diǎn)1、非結(jié)構(gòu)化化維護(hù)和結(jié)結(jié)構(gòu)化維護(hù)護(hù):主要是是開發(fā)過程程是否用軟軟件工程方方法,若各各階段均有有相應(yīng)的文文檔記錄,則則容易維護(hù)護(hù),采用結(jié)結(jié)構(gòu)化維護(hù)護(hù)可以大大大提高軟件件維護(hù)效率率。2、軟軟件維護(hù)的的困難性:是由于軟軟件需求分分析和開發(fā)發(fā)方法的缺缺陷。3、軟件維護(hù)護(hù)的費(fèi)用:在總費(fèi)用用中的比重重不斷增加加,已經(jīng)上上升到了770%880%或更更多,我們們看到的軟軟件不斷升升級就是維

46、維護(hù)的體現(xiàn)現(xiàn)。三、維護(hù)任任務(wù)的實(shí)施施1、維護(hù)護(hù)工作要建建立維護(hù)機(jī)機(jī)構(gòu),通常常是成立維維護(hù)小組,有有臨時維護(hù)護(hù)小組和長長期維護(hù)小小組之分。2、維護(hù)護(hù)的流程是是:(1)制定維護(hù)護(hù)申請報告告。(2)審查申請請報告并批批準(zhǔn)。(33)進(jìn)行維維護(hù)并做詳詳細(xì)記錄。(4)復(fù)復(fù)審。3、維護(hù)技術(shù)術(shù):有兩類類維護(hù)技術(shù)術(shù),即面向向維護(hù)的技技術(shù)和維護(hù)護(hù)支援技術(shù)術(shù)。(1)面向維護(hù)護(hù)技術(shù)是在在軟件開發(fā)發(fā)階段用來來減少錯誤誤、提高軟軟件可維護(hù)護(hù)性的技術(shù)術(shù)。(2)維護(hù)支援援技術(shù)是在在軟件維護(hù)護(hù)階段用來來提高維護(hù)護(hù)作業(yè)的效效率和質(zhì)量量的技術(shù)。4、維護(hù)護(hù)的副作用用:有三種種:(1)編碼副作作用:即在在修改源代代碼時可能能引入錯誤誤

47、。(2)數(shù)據(jù)副作作用:在修修改數(shù)據(jù)結(jié)結(jié)構(gòu)時,有有可能造成成軟件設(shè)計計與數(shù)據(jù)結(jié)結(jié)構(gòu)不匹配配,因而導(dǎo)導(dǎo)致錯誤,數(shù)數(shù)據(jù)副作用用是修改軟軟件信息結(jié)結(jié)構(gòu)導(dǎo)致的的結(jié)果。(3)文檔檔副作用:即對可執(zhí)執(zhí)行軟件的的修改沒有有反映在文文檔中,就就會產(chǎn)生文文檔副作用用。四、軟件可可維護(hù)性為為了使軟件件能夠易于于維護(hù),必必須考慮使使軟件具有有可維護(hù)性性。1、軟軟件可維護(hù)護(hù)性是指軟軟件能夠被被理解、校校正、適應(yīng)應(yīng)及增強(qiáng)功功能的容易易程度。軟軟件的可維維護(hù)性、可可使用性、可靠性是是衡量軟件件質(zhì)量的幾幾個主要特特性。 軟軟件的可維維護(hù)性是軟軟件開發(fā)階階段的關(guān)鍵鍵目標(biāo)。 軟件可維維護(hù)性的七七個質(zhì)量特特征:可理理解性、可可測試

48、性、可修改性性、可靠性性、可移植植性、可使使用性和效效率。 22、度量軟軟件可維護(hù)護(hù)性的方法法:質(zhì)量檢檢查表、質(zhì)質(zhì)量測試、質(zhì)量標(biāo)準(zhǔn)準(zhǔn)。3、提提高可維護(hù)護(hù)性的方法法:(1)建立明確確的軟件質(zhì)質(zhì)量目標(biāo) (2)利用先進(jìn)進(jìn)的軟件開開發(fā)技術(shù)和和工具 (3)建立立明確的質(zhì)質(zhì)量保證工工作 (4)選擇擇可維護(hù)的的程序設(shè)計計語言 (5)改進(jìn)進(jìn)程序文檔檔 注:本本章的習(xí)題題及答案基基本上就是是以上內(nèi)容容。在復(fù)習(xí)習(xí)時,并不不一定會出出到這些題題目,主要要是對整個個維護(hù)工作作特點(diǎn)和過過程的理解解領(lǐng)會,在在此基礎(chǔ)上上,不需要要太多的記記憶也能正正確答題。第9章_軟軟件開發(fā)的的增量模型型 本章章介紹了增增量模型的的基本思

49、想想和特點(diǎn)、模型的分分類和模型型的表示以以及快速原原型的基本本原理。學(xué)學(xué)習(xí)理論時時還是以識識記為主。實(shí)踐則可可能會在畢畢業(yè)設(shè)計時時用到。一、增量模模型的基本本思想 瀑布模模型有其局局限性:很很難適應(yīng)需需求可變、模糊不定定的軟件系系統(tǒng)的開發(fā)發(fā),而且在在開發(fā)過程程中用戶很很難參與進(jìn)進(jìn)去,只有有到開發(fā)結(jié)結(jié)束才能看看到整個軟軟件系統(tǒng)。這種理想想的、線性性的開發(fā)過過程缺乏靈靈活性,不不適應(yīng)實(shí)際際的開發(fā)過過程。 為了克克服瀑布模模型的局限限性,產(chǎn)生生了增量模模型,它是是在瀑布模模型的基礎(chǔ)礎(chǔ)上加以修修改而形成成的。 增量模模型和瀑布布模型的本本質(zhì)區(qū)別是是:瀑布模模型屬于整整體開發(fā)模模型,它規(guī)規(guī)定在開始始下一

50、個階階段的工作作之前,必必須完成前前一階段的的所有細(xì)節(jié)節(jié)。而增量量模型屬于于非整體開開發(fā)模型,它它推遲某些些階段或所所有階段中中的細(xì)節(jié),從從而較早的的產(chǎn)生工作作軟件。 增量量模型是在在項目的開開發(fā)過程中中以一系列列的增量方方式開發(fā)的的系統(tǒng)。增增量方式包包括增量開開發(fā)和增量量提交。 根據(jù)據(jù)增量的方方式和形式式的不同,增增量模型的的分類分為為漸增模型型和原型模模型。二、漸增模模型:又包包括增量構(gòu)構(gòu)造模型和和演化提交交模型。 增量量構(gòu)造模型型中,需求求分析階段段和設(shè)計階階段都是按按瀑布模型型的整體方方式發(fā),但但是編碼階階段是按增增量方式開開發(fā),在這這種模型的的開發(fā)中,用用戶可以及及早看到部部分軟件功

51、功能,可以以及早發(fā)現(xiàn)現(xiàn)全面問題題,以使在在開發(fā)其他他軟件功能能時及時解解決問題。 演演化提交模模型中,項項目開發(fā)的的各個階段段都是增量量方式。該該模型是增增量開發(fā)的的極端形式式,它不僅僅是增量開開發(fā)也是增增量提交,用用戶將最早早收到部分分工作軟件件。三、(快速速)原型模模型:包括探索索原型、實(shí)實(shí)驗原型和和演化型原原型。1、原型:是是指模擬某某種產(chǎn)品的的原始模型型,軟件開開發(fā)中的原原形是一個個早期可運(yùn)運(yùn)行的版本本,它反映映了最終系系統(tǒng)的重要要特性。22、快速原原型的思想想:先用相相對少的成成本、較短短的周期開開發(fā)一個簡簡單的、但但可以運(yùn)行行的系統(tǒng)原原型向用戶戶演示或讓讓用戶試用用,以便及及早澄清

52、并并檢驗一些些主要的設(shè)設(shè)計策略,在在此基礎(chǔ)上上再開發(fā)實(shí)實(shí)際的軟件件系統(tǒng)。33、快速原原型運(yùn)用方方式:有拋拋棄策略和和附加策略略:(1)拋棄策略略是將原型型用于開發(fā)發(fā)過程的某某一階段,促促使該階段段的開發(fā)結(jié)結(jié)果更加完完整、準(zhǔn)確確、一致、可靠,該該階段結(jié)束束后,原型型隨之作廢廢。探索型型和實(shí)驗型型快速原型型就是采用用此策略。(2)附附加策略是是將原型用用于開發(fā)的的全過程,原原型由最基基本的核心心開始,逐逐步增加新新的功能和和新的需求求,反復(fù)修修改反復(fù)擴(kuò)擴(kuò)充,最后后發(fā)展為用用戶滿意的的系統(tǒng),演演化型快速速原型就采采用此策略略。4、快快速原型模模型表示:(1)對對于探索型型,用原型型過程來代代替需求分

53、分析,把原原型作為需需求說明的的補(bǔ)充形式式,運(yùn)用原原型盡可能能使需求說說明完整、一致、準(zhǔn)準(zhǔn)確、無二二義性,但但整體上仍仍采用瀑布布模型。(2)對于于實(shí)驗型,用用原形過程程來代替設(shè)設(shè)計階段,即即在設(shè)計階階段引入原原理,快速速分析實(shí)現(xiàn)現(xiàn)方案,快快速構(gòu)造原原型,通過過運(yùn)行,考考察設(shè)計方方案的可行行性與合理理性,原形形成為設(shè)計計的總體框框架或設(shè)計計結(jié)果的一一部分。(3)對于于演化型,用用原型過程程開代替全全部開發(fā)階階段。這是是典型的演演化提交模模型的形式式,它是在在強(qiáng)有力的的軟件工具具和環(huán)境支支持下,通通過原型過過程的反復(fù)復(fù)循環(huán),直直接得到軟軟件系統(tǒng)。四、原型開開發(fā)過程11、快速分分析 22、構(gòu)造原原

54、型 33、運(yùn)行原原型 44、評價原原型 55、修改 五、其他內(nèi)內(nèi)容: 開發(fā)快快速原型不不使用通常常的軟件開開發(fā)工具來來實(shí)現(xiàn),采采用一些特特別的技術(shù)術(shù)和工具如如可執(zhí)行的的規(guī)格說明明、基于腳腳本的設(shè)計計、采用非非常高級語語言或?qū)iT門語言和能能重用軟件件等。 快速原原型模型的的作用、適適用情況及及優(yōu)缺點(diǎn)等等,注意其其要點(diǎn)。第10章面面向?qū)ο蟮牡姆椒?面向向?qū)ο蟮姆椒椒ㄊ墙窈蠛筌浖_發(fā)發(fā)方法的主主流。學(xué)習(xí)習(xí)本章,最最好是學(xué)過過面向?qū)ο笙蟪绦蛟O(shè)計計語言,這這樣可以對對對象、類類、類的層層次結(jié)構(gòu)、方法、消消息等概念念更容易理理解。本章章總的要求求是,掌握握面向?qū)ο笙蟮幕舅妓枷搿⒒颈靖拍?、基基本原理,?/p>

55、掌握三種模模型的基本本概念和構(gòu)構(gòu)造方法,掌掌握面向?qū)ο蟮姆治鑫?、設(shè)計和和實(shí)現(xiàn)的過過程。一、面向?qū)ο蟮幕颈靖拍?、什么面向向?qū)ο?首首先了解幾幾個概念:(1)對對象:對象象是人們要要進(jìn)行研究究的任何事事物。具體體一點(diǎn)講就就是研究對對象。它可可以是有形形實(shí)體,也也可以是作作用、事件件、性能說說明等,當(dāng)當(dāng)然,如果果女朋友成成為你研究究的對象時時,對象也也可以是你你的女朋友友。 (22)對象的的狀態(tài)和行行為:對象象有自身的的狀態(tài),比比如你的女女朋友有她她的姓名(叫小麗)、年齡(22歲)、工作單單位等。對對象還有操操作,用于于改變對象象的狀態(tài),對對象及其操操作就是對對象的行為為,比如小麗.跳跳槽到

56、(某某公司)這個行為為將使她的的工作單位位這個狀態(tài)態(tài)發(fā)生變化化。 (33)類:具具有相同或或相似性質(zhì)質(zhì)的對象的的抽象就是是類。如桃桃樹、李樹樹、樟樹等等是具體的的樹,抽象象之后得到到樹這這個類。類類具有屬性性,屬性是是狀態(tài)的抽抽象,如一一棵李樹的的高度是33米,樟樹樹是10米米,樹則抽抽象出一個個屬性高高度。類類具有操作作,它是對對象行為的的抽象。 (4)類類的結(jié)構(gòu):有兩種,一一種是一一般-具體體結(jié)構(gòu),如如植物、樹樹都是類,它它們之間是是抽象到具具體的關(guān)系系,即樹是是一種(iis a)植物。還還有一種就就是整體體-部分結(jié)構(gòu),如如計算機(jī)是是類、CPPU也是類類,則計算算機(jī)與CPPU之間就就是整體

57、與與部分的關(guān)關(guān)系。 (55)消息和和方法:對對象之間進(jìn)進(jìn)行通信的的構(gòu)造叫做做消息,比比如小麗是是一個對象象,上司發(fā)發(fā)出一個消消息:小麗麗.出差到到(深圳)。這樣,相相應(yīng)的對象象接收到這這個消息就就會給予響響應(yīng),在這這個消息中中,小麗是是對象名,出出差到就是是方法名,深深圳就是參參數(shù)。在類類中操作的的實(shí)現(xiàn)過程程叫做方法法。上面的的出差到(某地)這這個方法如如何實(shí)現(xiàn)呢呢,就是買買車票,乘乘車到某地地。這個過過程就是方方法。 總總之,面向向?qū)ο筮@種種思想很符符合人們觀觀察世界的的自然思想想。在很多多時候我們們可以用自自然的觀點(diǎn)點(diǎn)去理解面面向?qū)ο蟆?、面向向?qū)ο蟮奶靥卣饔兴狞c(diǎn)點(diǎn):對象唯一一性、分類類性

58、、繼承承性和多態(tài)態(tài)性。3、面向向?qū)ο蟮囊兀撼橄蟆⒎夥庋b性、共共享性4、面向?qū)ο笙蠹夹g(shù)強(qiáng)調(diào)調(diào)的是對象象結(jié)構(gòu)而不不是程序結(jié)結(jié)構(gòu)。5、面向向?qū)ο蟮拈_開發(fā)方法主主要有以下下幾種:CCoad方方法、Boooch方方法、OMMT方法和和OOSEE方法,最最新的統(tǒng)一一建模語言言UML則則不僅統(tǒng)一一了Boooch方法法,OMTT方法、OOOSE方方法,而且且對其作了了進(jìn)一上的的發(fā)展,最最終統(tǒng)一為為大眾所接接受的標(biāo)準(zhǔn)準(zhǔn)建模語言言。二、面向?qū)ο蟮哪P托?簡單應(yīng)應(yīng)用) 面向向?qū)ο蟮哪DP桶ㄈ齻€,它們們分別是:描述系統(tǒng)統(tǒng)數(shù)據(jù)結(jié)構(gòu)構(gòu)的對象模模型、描述述系統(tǒng)控制制結(jié)構(gòu)的動動態(tài)模型和和和描述系系統(tǒng)功能的的功能模型

59、型。這三種種模型都涉涉及到數(shù)據(jù)據(jù)、控制和和操作等共共同的概念念,只是每每種模型描描述的側(cè)重重點(diǎn)不同。這三種模模型從三個個不同但又又密切相關(guān)關(guān)的角度模模擬目標(biāo)系系統(tǒng),它們們各自從不不同的側(cè)面面反映了系系統(tǒng)的實(shí)質(zhì)質(zhì)性內(nèi)容,綜綜合起來則則全面反映映了對目標(biāo)標(biāo)系統(tǒng)的需需求。1、對象模型型:它表示示了靜態(tài)的的、結(jié)構(gòu)化化的系統(tǒng)數(shù)數(shù)據(jù)性質(zhì),描描述了系統(tǒng)統(tǒng)的靜態(tài)結(jié)結(jié)構(gòu),它是是從客觀世世界實(shí)體的的對象關(guān)系系角度來描描述,表現(xiàn)現(xiàn)了對象的的相互關(guān)系系。該模型型主要關(guān)系系的是系統(tǒng)統(tǒng)中對象的的結(jié)構(gòu)、屬屬性和操作作,使用了了對象圖的的工具來刻刻畫,它是是分析階段段三個模型型的核心,也也是其他兩兩個模型的的框架。涉涉及及的

60、概概念有,對對象和類、關(guān)聯(lián)和鏈鏈。2、動動態(tài)模型:是與時間間和變化有有關(guān)的系統(tǒng)統(tǒng)性質(zhì)。該該模型描述述了系統(tǒng)的的控制結(jié)構(gòu)構(gòu),它表示示了瞬時的的、行為化化的系統(tǒng)控控制性質(zhì),它它關(guān)系的是是系統(tǒng)的控控制,操作作的執(zhí)行順順序,它從從對象的事事件和狀態(tài)態(tài)的角度出出發(fā),表現(xiàn)現(xiàn)了對象的的相互行為為。該模型型描述的系系統(tǒng)屬性是是觸發(fā)事件件,事件序序列、狀態(tài)態(tài)、事件與與狀態(tài)的組組織。使用用狀態(tài)圖作作為描述工工具。涉及及的重要概概念是事件件、狀態(tài)、操作等。3、功能能模型:描描述了系統(tǒng)統(tǒng)的所有計計算。功能能模型指出出發(fā)生了什什么,動態(tài)態(tài)模型確定定什么時候候發(fā)生,而而對象模型型確定發(fā)生生的客體。功能模型型表明一個個計算

溫馨提示

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

評論

0/150

提交評論