




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信息應(yīng)用系統(tǒng)建設(shè)監(jiān)理課程計(jì)劃信息應(yīng)用系統(tǒng)建設(shè)監(jiān)理課程計(jì)劃 第一講 信息應(yīng)用系統(tǒng)建設(shè)基礎(chǔ)知識(shí) 第二講信息應(yīng)用系統(tǒng)監(jiān)理工作 第三講準(zhǔn)備階段的監(jiān)理工作 第四講分析設(shè)計(jì)階段監(jiān)理 第五講實(shí)施階段監(jiān)理 第六講驗(yàn)收階段的監(jiān)理工作第一講 信息應(yīng)用系統(tǒng)建設(shè)基礎(chǔ)知識(shí)在本講中在本講中您能了解如下您能了解如下知識(shí)點(diǎn)知識(shí)點(diǎn):第一章軟件的概念、特點(diǎn)和分類第二章軟件工程第三章軟件配置管理第四章軟件測(cè)試第五章軟件評(píng)審第六章軟件維護(hù)第七章軟件工程標(biāo)準(zhǔn)第八章軟件開發(fā)文檔第九章軟件工業(yè)化生產(chǎn)時(shí)代的基礎(chǔ)技術(shù)和方法第一章 軟件的概念、特點(diǎn)和分類“確立并使用正確的工程原理和方法,以便能夠經(jīng)濟(jì)地獲得可靠而有效的軟件”。 Friedrich
2、 I. Bauer軟件的概念軟件是與計(jì)算機(jī)系統(tǒng)的操作有關(guān)的程序、規(guī)程、規(guī)則及與之有關(guān)的文檔。軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。其中,程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā),維護(hù)和使用有關(guān)的圖文材料。軟件的構(gòu)成要素1、程序2、規(guī)程3、規(guī)則4、文檔軟件的特點(diǎn)具有抽象性、嚴(yán)密性、“一次性”、智能性、持久性、依賴性、復(fù)雜性、難以度量、易出錯(cuò)、必須維護(hù)、成本昂貴等特點(diǎn)。(1) 軟件是一種邏輯實(shí)體,具有抽象性。(2) 對(duì)軟件的質(zhì)量控制:必須著重在軟件開發(fā)方面下功夫。(3) 軟件沒(méi)有老化問(wèn)題:
3、然而它存在退化問(wèn)題。(4) 軟件的開發(fā)和運(yùn)行存在:移植的問(wèn)題。(5) 軟件的開發(fā)方式:手工。(6) 軟件本身是復(fù)雜的:實(shí)際問(wèn)題,程序邏輯結(jié)構(gòu)所決定的。(7) 軟件成本昂貴:投入大量、復(fù)雜、高強(qiáng)度的腦力勞動(dòng)。源程序、執(zhí)行程序 高級(jí)語(yǔ)言源程序經(jīng)編譯后,得到的目標(biāo)模塊還需進(jìn)行連接。連接程序(即Linker)找出需要連接的外部模塊并到模塊庫(kù)中找出被調(diào)用的模塊,調(diào)入內(nèi)存并連接到目標(biāo)模塊上,形成可執(zhí)行程序。源程序.C目標(biāo)程序.obj可執(zhí)行程序.exe結(jié)果編譯連接執(zhí)行軟件的分類方法按軟件的功能進(jìn)行劃分:按軟件的功能進(jìn)行劃分:系統(tǒng)軟件 支撐軟件 應(yīng)用軟件在信息系統(tǒng)工程建設(shè)中,系統(tǒng)軟件和支撐軟件通常為外購(gòu)軟件,
4、應(yīng)用軟件通常為承建單位自主開發(fā)或分包開發(fā)的軟件。按軟件服務(wù)對(duì)象的范圍劃分:按軟件服務(wù)對(duì)象的范圍劃分:項(xiàng)目軟件 產(chǎn)品軟件 按軟件規(guī)模進(jìn)行劃分:按軟件規(guī)模進(jìn)行劃分:按開發(fā)軟件所需的人力、時(shí)間以及完成的源程序行數(shù),可確定六種不同規(guī)模的軟件。按軟件工作方式劃分:按軟件工作方式劃分:實(shí)時(shí)處理軟件 分時(shí)軟件 交互式軟件 批處理軟件按使用的頻度進(jìn)行劃分:按使用的頻度進(jìn)行劃分:一次使用 較高的使用頻度按軟件失效的影響進(jìn)行劃分:按軟件失效的影響進(jìn)行劃分:影響不大 影響釀成災(zāi)難性后果 類別類別參加人數(shù)參加人數(shù)研制期限研制期限產(chǎn)品規(guī)模(源程序行數(shù))產(chǎn)品規(guī)模(源程序行數(shù))微型114周0.5k小型116月1k2k中型2
5、512年5k50k大型52023年50k100k甚大型100100045年1M(=1000k)極大型 20005000510年1M10M軟件規(guī)模的分類軟件規(guī)模的分類軟件的分類方法按技術(shù)特點(diǎn)的角度進(jìn)行劃分:按技術(shù)特點(diǎn)的角度進(jìn)行劃分:業(yè)務(wù)軟件:處理日常業(yè)務(wù),已成為管理信息系統(tǒng)MIS科技計(jì)算軟件: 注重?cái)?shù)值算法的速度和精度。目前轉(zhuǎn)向多機(jī)協(xié)作計(jì)算、并行計(jì)算、可視計(jì)算等嵌入式(embeded)軟件:使工業(yè)產(chǎn)品自動(dòng)化、智能化實(shí)時(shí)(real-time)軟件多用于工業(yè)控制系統(tǒng)個(gè)人計(jì)算機(jī)軟件: 字處理、報(bào)表、制圖、多媒體寫作、娛樂(lè)游戲、個(gè)人數(shù)據(jù)庫(kù)、個(gè)人財(cái)務(wù)、聯(lián)機(jī)上網(wǎng)等人工智能軟件:以非數(shù)值算法解題,一般有一知識(shí)
6、庫(kù)存放知識(shí)和規(guī)則。 軟件工程是一類求解軟件的系統(tǒng)工程的派生,軟件工程是一門交叉性學(xué)科。軟件工程這一概念,主要是針對(duì)20世紀(jì)60年代“軟件危機(jī)”而提出的。其主要成果有:提出了瀑布模型,開發(fā)了一些結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言、結(jié)構(gòu)化方法等。并且圍繞項(xiàng)目管理提出了費(fèi)用估算、文檔復(fù)審等方法和工具第二章 軟件工程概述 70年代初,自“軟件工廠”這一概念提出以來(lái),其主要成果有:提出了應(yīng)用廣泛的面向?qū)ο笳Z(yǔ)言以及相關(guān)的面向?qū)ο蠓椒?。尤其是近幾年?lái),針對(duì)軟件復(fù)用及軟件生產(chǎn),軟件構(gòu)件技術(shù)以及軟件質(zhì)量控制技術(shù)、質(zhì)量保證技術(shù)得到了廣泛的應(yīng)用。軟件工廠軟件工程框架 軟件工程的框架是由軟件工程目標(biāo)、軟件工程活動(dòng)和軟件工程原則三個(gè)方
7、面的內(nèi)容組成。由上圖可以看出軟件工程可定義為三元組:目標(biāo),原則,活動(dòng) 其中目標(biāo)定義為: 正確性:軟件產(chǎn)品達(dá)到預(yù)期功能的程度。 可用性:軟件基本結(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。 開銷適宜性:軟件開發(fā)、運(yùn)行的整個(gè)開銷滿足用戶要求的程度。這三方面的特性決定了軟件過(guò)程、過(guò)程模型和工程方法的選擇。軟件工程目標(biāo)軟件工程目標(biāo)選取適宜開發(fā)范型。對(duì)需求定義的易變性,采用適宜的開發(fā)范型予以控制,以保證軟件產(chǎn)品滿足用戶的要求。采用合適的設(shè)計(jì)方法。合適的設(shè)計(jì)方法有助于這些特征的實(shí)現(xiàn),以達(dá)到軟件工程的目標(biāo)。提供高質(zhì)量的工程支持。在軟件工程中,軟件工具與環(huán)境對(duì)軟件過(guò)程的支持頗為重要。重視開發(fā)過(guò)程的管理。當(dāng)軟件過(guò)程得以有
8、效管理時(shí),才能實(shí)現(xiàn)有效的軟件工程。軟件工程原則軟件工程活動(dòng)是“生產(chǎn)一個(gè)最終滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟”。主要包括需求、設(shè)需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)計(jì)、實(shí)現(xiàn)、確認(rèn)以及支持支持等5個(gè)個(gè)活動(dòng)。需求活動(dòng)包括問(wèn)題分析和需求分析。問(wèn)題分析獲取需求定義。需求分析生成功能規(guī)約。設(shè)計(jì)活動(dòng)一般包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)建立整個(gè)軟件體系結(jié)構(gòu)。詳細(xì)設(shè)計(jì)產(chǎn)生程序員可用的模塊說(shuō)明。實(shí)現(xiàn)活動(dòng)CODING AND TESTING。確認(rèn)活動(dòng)貫穿于整個(gè)開發(fā)過(guò)程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。1.支持活動(dòng)包括修改和完善。維護(hù)。軟件工程活動(dòng) 需求需求:定義問(wèn)題,即建立系統(tǒng)模型,主要任務(wù)包括: 需求
9、獲取需求定義,系統(tǒng)功能的一個(gè)正確的陳述 需求規(guī)約系統(tǒng)需求規(guī)格說(shuō)明,其主要成分:系統(tǒng)模型、系統(tǒng)功能的一個(gè)精確、系統(tǒng)的描述及需求驗(yàn)證 。設(shè)計(jì)設(shè)計(jì):在需求分析的基礎(chǔ)上,給出系統(tǒng)的軟件解決方案。 1)總體設(shè)計(jì): 系統(tǒng)的軟件體系結(jié)構(gòu) 2)詳細(xì)設(shè)計(jì): 針對(duì)總體設(shè)計(jì)結(jié)果,給出每一構(gòu)件的詳細(xì)描述。實(shí)現(xiàn)實(shí)現(xiàn):選擇可用的構(gòu)件或語(yǔ)言,對(duì)每一構(gòu)件進(jìn)行編碼。確認(rèn)確認(rèn):貫穿軟件開發(fā)的整個(gè)過(guò)程,主要任務(wù)是:軟件測(cè)試。支持支持:完善性維護(hù)、糾錯(cuò)性維護(hù)。軟件工程流程開始需求訪談系統(tǒng)分析系統(tǒng)設(shè)計(jì)程序撰寫系統(tǒng)測(cè)試系統(tǒng)保固維護(hù)結(jié)束產(chǎn)品評(píng)估產(chǎn)品評(píng)估階段項(xiàng)目規(guī)劃階段系統(tǒng)分析階段軟件設(shè)計(jì)階段軟件品保階段(一)程序撰寫與單元測(cè)試階段軟件品保
10、階段(二)整合測(cè)試階段軟件品保階段(三)產(chǎn)品開發(fā)階段產(chǎn)品開發(fā)階段產(chǎn)品開發(fā)項(xiàng)目流程產(chǎn)品開發(fā)項(xiàng)目流程產(chǎn)品開發(fā)工作規(guī)劃統(tǒng)計(jì)技術(shù)統(tǒng)計(jì)技術(shù)應(yīng)用階段服務(wù)階段系統(tǒng)維護(hù)階段問(wèn)題追蹤與矯正階段軟件生存周期 軟件生存周期是“從設(shè)計(jì)軟件產(chǎn)品開始到軟件產(chǎn)品不能再使用為止的時(shí)間周期。軟件生存周期典型地包括項(xiàng)目計(jì)劃階段,需求階段,設(shè)計(jì)階段、實(shí)現(xiàn)階段、測(cè)試階段、安裝和驗(yàn)收階段、運(yùn)行和維護(hù)階段,有時(shí)還包括引退階段。 確定要開發(fā)軟件系統(tǒng)的總目標(biāo),給出它的功能、性能、可靠性及接口等方面的要求;根據(jù)有關(guān)成本與進(jìn)度的限制分析項(xiàng)目的可行性,探討解決問(wèn)題的可能方案;制定完成開發(fā)任務(wù)的實(shí)施計(jì)劃,連同可行性研究報(bào)告,提交管理部門審查。軟件項(xiàng)
11、目計(jì)劃 需求分析和定義方式:需求明確的:用正式的信息域分析,可用于建立信息流和信息結(jié)構(gòu)的模型,然后逐漸擴(kuò)充這些模型成為軟件的規(guī)格說(shuō)明。需求非明確:用軟件原型化方法,即建立軟件原型,并由用戶進(jìn)行評(píng)價(jià),從而確定軟件需求。編寫出軟件需求說(shuō)明書及初步的用戶手冊(cè),提交管理機(jī)構(gòu)評(píng)審。軟件需求分析 概要設(shè)計(jì),把已確定了的各項(xiàng)需求轉(zhuǎn)換成一個(gè)相應(yīng)的體系結(jié)構(gòu),以結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)開始,建立程序的模塊結(jié)構(gòu),定義接口并建立數(shù)據(jù)結(jié)構(gòu)。此外,要使用一些設(shè)計(jì)準(zhǔn)則來(lái)判斷軟件的質(zhì)量。詳細(xì)設(shè)計(jì),考慮設(shè)計(jì)每一個(gè)模塊部件的過(guò)程描述,對(duì)每個(gè)模塊要完成的工作進(jìn)行具體的描述。編寫設(shè)計(jì)說(shuō)明書,提交評(píng)審。軟件設(shè)計(jì)分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì) 系統(tǒng)設(shè)
12、計(jì)是把需求轉(zhuǎn)化為軟件系統(tǒng)的最重要的環(huán)節(jié)。系統(tǒng)設(shè)計(jì)的優(yōu)劣在根本上決定了軟件系統(tǒng)的質(zhì)量。就象“一切帝國(guó)主義都是紙老虎”那樣可以斷定“差的系統(tǒng)設(shè)計(jì)必定產(chǎn)生差的軟件系統(tǒng)?!彼晕覀円ΡWC系統(tǒng)設(shè)計(jì)“根正苗紅”,把一切左傾、右傾的設(shè)計(jì)思潮消滅在萌芽狀態(tài)。保證系統(tǒng)設(shè)計(jì)“根正苗紅” Windows NT的一位系統(tǒng)設(shè)計(jì)師擁有8輛法拉利跑車,讓Microsoft公司的一些程序員十分眼紅。但你只能羨慕而不能憤恨,因?yàn)椴⒉皇敲總€(gè)程序員都有本事成為復(fù)雜軟件系統(tǒng)的設(shè)計(jì)師。系統(tǒng)設(shè)計(jì)要比純粹的編程困難得多。即便你清楚客戶的需求,卻未必知道應(yīng)該設(shè)計(jì)什么樣的軟件系統(tǒng)既能掙最多的錢又能讓客戶滿意。神氣的軟件設(shè)計(jì)師用一種適當(dāng)?shù)某?/p>
13、序設(shè)計(jì)語(yǔ)言把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。應(yīng)當(dāng)就風(fēng)格及清晰性對(duì)代碼進(jìn)行評(píng)審,而且反過(guò)來(lái)應(yīng)能直接追溯到詳細(xì)設(shè)計(jì)描述。程序編碼軟件測(cè)試軟件測(cè)試 軟件測(cè)試的主要任務(wù)是發(fā)現(xiàn)并排除在軟件需求分析、設(shè)計(jì)和實(shí)現(xiàn)階段產(chǎn)生的各種錯(cuò)誤,以保證交付軟件的質(zhì)量。 軟件測(cè)試目的是“在一定的開發(fā)時(shí)間和經(jīng)費(fèi)的限制下,通過(guò)執(zhí)行有限個(gè)測(cè)試過(guò)程,盡可能多的發(fā)現(xiàn)軟件中的錯(cuò)誤。單元測(cè)試檢查每一單獨(dú)的模塊部件的功能和性能。組裝測(cè)試提供了構(gòu)造軟件模塊結(jié)構(gòu)的手段,同時(shí)測(cè)試其功能和接口。確認(rèn)測(cè)試檢查所有的需求是否都得到滿足。在每一個(gè)測(cè)試步驟之后,要進(jìn)行調(diào)試,以診斷和糾正軟件的故障。軟件測(cè)試軟件測(cè)試的基本原則軟件測(cè)試的基本原則1、程
14、序員或程序設(shè)計(jì)機(jī)構(gòu)不應(yīng)測(cè)試自己設(shè)計(jì)的程序2、在設(shè)計(jì)測(cè)試用例時(shí),不僅要確定輸入數(shù)據(jù),還要確定預(yù)期的輸出結(jié)果3、在設(shè)計(jì)測(cè)試用例時(shí),不僅要考慮合理的輸入數(shù)據(jù),還要考慮不合理的輸入數(shù)據(jù)。4、除了檢查程序是否做了它應(yīng)當(dāng)做的事情之外,還應(yīng)檢查它是否做了不應(yīng)當(dāng)做的事5、應(yīng)保留所有的測(cè)試用例,以便軟件維護(hù)和回歸測(cè)試6、模塊中存在錯(cuò)誤的概率與已發(fā)現(xiàn)的錯(cuò)誤數(shù)成正比7、嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性例:例:Outlook溢出溢出 起源于vCard(一種電子名片) Outlook直接打開并運(yùn)行附件中的vCards而不提示用戶 vCards存儲(chǔ)于.vcf文件中,也是沒(méi)有提示而直接運(yùn)行的 當(dāng)vCards的生日字段(B
15、DAY)超過(guò)55字符時(shí),就會(huì)出現(xiàn)溢出 對(duì)策:應(yīng)用IE 5.5 sp2已交付的軟件投入正式使用,并在運(yùn)行已交付的軟件投入正式使用,并在運(yùn)行過(guò)程中進(jìn)行適當(dāng)?shù)木S護(hù)。為改正錯(cuò)誤,過(guò)程中進(jìn)行適當(dāng)?shù)木S護(hù)。為改正錯(cuò)誤,適應(yīng)環(huán)境變化及功能增強(qiáng)而進(jìn)行的一系適應(yīng)環(huán)境變化及功能增強(qiáng)而進(jìn)行的一系列修改活動(dòng)。與軟件維護(hù)相關(guān)聯(lián)的那些列修改活動(dòng)。與軟件維護(hù)相關(guān)聯(lián)的那些任務(wù)依賴于所要實(shí)施的維護(hù)的類型。任務(wù)依賴于所要實(shí)施的維護(hù)的類型。運(yùn)行維護(hù) 軟件開發(fā)模型是軟件建設(shè)過(guò)程的結(jié)構(gòu)框架。 軟件開發(fā)的承建單位必須首先制定出適宜的開發(fā)策略和軟件工程模型,以便對(duì)要交付的軟件的開發(fā)過(guò)程實(shí)施有效的控制和管理。監(jiān)理單位應(yīng)該根據(jù)承建單位選定的模型
16、制定自己的監(jiān)理策略。 承建單位可根據(jù)軟件開發(fā)項(xiàng)目的具體情況選擇采用何種開發(fā)策略、方法和模型,并要在有關(guān)文檔中(例如在“項(xiàng)目開發(fā)計(jì)劃”中)對(duì)所采用的軟件工程方法與模型加以說(shuō)明。軟件開發(fā)模型計(jì)劃需求分析設(shè)計(jì)編碼測(cè)試運(yùn)行.維護(hù)開發(fā)階段維護(hù)階段定義階段規(guī)定了各項(xiàng)軟件工程活動(dòng),包括:制定開發(fā)計(jì)劃,進(jìn)行需求分析和說(shuō)明,軟件設(shè)計(jì),程序編碼.測(cè)試及運(yùn)行維護(hù),并且規(guī)定了它們自上而下,相互銜接的固定次序,如同瀑布流水,逐級(jí)下落 瀑布模型瀑布式生存周期模型系統(tǒng)分析軟件需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編程與測(cè)試測(cè) 試使用維護(hù)用戶需要硬件需求分析系統(tǒng)規(guī)格說(shuō)明書,可行性分析報(bào)告軟件規(guī)格說(shuō)明書,軟件項(xiàng)目計(jì)劃,初步用戶手冊(cè)概要設(shè)計(jì)說(shuō)
17、明書設(shè)計(jì)說(shuō)明書,測(cè)試大綱模塊測(cè)試報(bào)告,源程序文檔各種測(cè)試報(bào)告退役 軟件開發(fā)的實(shí)踐表明,上述各項(xiàng)活動(dòng)之間并非完全是自上而下,呈線性圖式。實(shí)際情況是,每項(xiàng)開發(fā)活動(dòng)均處于一個(gè)質(zhì)量環(huán)(輸入-處理-輸出-評(píng)審)中。只有當(dāng)其工作得到確認(rèn),才能繼續(xù)進(jìn)行下一項(xiàng)活動(dòng) 瀑布模型的開發(fā)策略是要求軟件開發(fā)組織在進(jìn)行軟件開發(fā)時(shí),要嚴(yán)格劃分開發(fā)過(guò)程的每一個(gè)階段,并根據(jù)工程化的有關(guān)規(guī)定,在“軟件開發(fā)計(jì)劃”及“軟件質(zhì)量保證計(jì)劃”中反映每個(gè)階段的活動(dòng)。對(duì)每階段的工作要進(jìn)行認(rèn)真的評(píng)審。只有在某個(gè)階段的目標(biāo)確實(shí)達(dá)到后,才能進(jìn)入下一階段的工作。 瀑布模型為軟件開發(fā)和軟件維護(hù)提供了一種理想情況下的管理模式,從理論上講,對(duì)需求能嚴(yán)格地進(jìn)
18、行預(yù)先定義的軟件開發(fā)項(xiàng)目是合適和有效的。然而在軟件工程實(shí)踐中,這一開發(fā)策略一旦遇到與假設(shè)不相符合的情況,就容易導(dǎo)致失敗。盡管如此,該模型仍不失為一個(gè)很好的基準(zhǔn)模型。事實(shí)上,在今天的軟件工程實(shí)踐中常常都是以瀑布模型為基礎(chǔ)綜合采用其它各種模型的優(yōu)點(diǎn),以改善軟件開發(fā)過(guò)程對(duì)現(xiàn)實(shí)情況的適應(yīng)性。 瀑布模型原型模型也稱演化模型,此方法主要針對(duì)所要開發(fā)的系統(tǒng)的需求不是很清楚,需要一個(gè)可實(shí)際運(yùn)行的工作演示系統(tǒng),即原型,作為軟件開發(fā)人員和用戶學(xué)習(xí)、研究、試驗(yàn)和確定軟件需求的工作平臺(tái)。原型模型又可細(xì)分為增量模型和漸進(jìn)模型。原型模型快速分析。快速確定軟件系統(tǒng)的基本要求。構(gòu)造原型。盡快實(shí)現(xiàn)一個(gè)可運(yùn)行的系統(tǒng)。運(yùn)行和評(píng)價(jià)原
19、型。驗(yàn)證原型的正確程度,根據(jù)用戶的新設(shè)想,提出全面的修改意見。修正和改進(jìn)。首先修改并確定需求規(guī)格說(shuō)明,然后再重新構(gòu)造或修改原型。判定原型是否完成。如果用戶認(rèn)可,迭代過(guò)程可以結(jié)束。否則,繼續(xù)迭代。判斷原型細(xì)部是否說(shuō)明。原型細(xì)部的說(shuō)明。判定原型效果。1.整理原型和提供文檔。原型化開發(fā)方法步驟對(duì)于需求不能很快全部明確的系統(tǒng),軟件開發(fā)項(xiàng)目難于做到一次開發(fā)成功,可使用此模型。此時(shí),應(yīng)盡可能明確已知的軟件需求,完成相應(yīng)的需求分析,并按瀑布模型的方法進(jìn)行第一次開發(fā)工作。在系統(tǒng)集成時(shí),通過(guò)實(shí)驗(yàn)找出需求中的欠缺和不足之處,明確那些未知的軟件需求,再迭代進(jìn)行增加部分的需求分析和開發(fā)。對(duì)有些系統(tǒng)這種反復(fù)可能要進(jìn)行幾
20、次,但盡可能不要超過(guò)兩次,否則難以控制軟件的結(jié)構(gòu)規(guī)模、開發(fā)質(zhì)量和進(jìn)度。增量模型此模型主要是針對(duì)部分需求盡管明確但一時(shí)難以準(zhǔn)確進(jìn)行定義的系統(tǒng)設(shè)計(jì)。如:用戶的操作界面等。使用此模型時(shí),可以先做初步的需求分析,之后立即進(jìn)行設(shè)計(jì)和編碼,隨后與系統(tǒng)進(jìn)行第一次集成(不作或少作測(cè)試)。根據(jù)集成后反映的問(wèn)題,進(jìn)一步做更全面的需求分析、設(shè)計(jì)、編碼、測(cè)試和集成漸進(jìn)模型對(duì)于復(fù)雜的大型軟件,開發(fā)一個(gè)原型往往達(dá)不到要求。螺旋模型將瀑布模型與演化模型結(jié)合起來(lái),并且加入兩種模型均忽略了的風(fēng)險(xiǎn)分析。螺旋模型沿著螺線旋轉(zhuǎn),如下圖所示,在笛卡爾坐標(biāo)的四個(gè)象限上分別表達(dá)了四個(gè)方面的活動(dòng),即:制定計(jì)劃確定軟件目標(biāo),選定實(shí)施方案,弄清
21、項(xiàng)目開發(fā)的限制條件;風(fēng)險(xiǎn)分析分析所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn);實(shí)施工程實(shí)施軟件開發(fā)客戶評(píng)估評(píng)價(jià)開發(fā)工作,提出修正建議。1.沿螺線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個(gè)新的軟件版本。螺旋模型 螺旋模型 螺旋模型是軟件開發(fā)的高級(jí)策略,它不僅適合結(jié)構(gòu)化方法而且更適合面向?qū)ο蠓椒āK膶?shí)施將對(duì)軟件開發(fā)組織的工作模式、人員素質(zhì)、管理和技術(shù)水平產(chǎn)生深遠(yuǎn)的影響,是最有前途的過(guò)程模型之一。(適用于產(chǎn)品開發(fā))螺旋模型 噴泉模型對(duì)軟件復(fù)用和生存周期中多項(xiàng)開發(fā)活動(dòng)的集成提供了支持,主要支持面向?qū)ο蟮拈_發(fā)方法?!皣娙币辉~本身體現(xiàn)了迭代和無(wú)間隙特性。系統(tǒng)某個(gè)部分常常重復(fù)工作多次,相關(guān)功能在每次迭代中隨之加入演進(jìn)
22、的系統(tǒng)。所謂無(wú)間隙是指在開發(fā)活動(dòng),即分析、設(shè)計(jì)和編碼之間不存在明顯的邊界 噴泉模型 配置管理項(xiàng)配置管理項(xiàng)在軟件生存周期內(nèi)所產(chǎn)生的各種管理文檔和技術(shù)文檔、源代碼列表,及其可執(zhí)行代碼,以及運(yùn)行所需的各種數(shù)據(jù),構(gòu)成軟件配置管理項(xiàng)。配置管理庫(kù)配置管理庫(kù)各系統(tǒng)應(yīng)在其所屬各級(jí)中建立下列各庫(kù):開發(fā)庫(kù)(DL) 通常,開發(fā)庫(kù)可僅在項(xiàng)目開發(fā)組內(nèi)設(shè)立,并由其負(fù)責(zé)維護(hù)。受控庫(kù)(CL) 通常,受控庫(kù)以軟件配置項(xiàng)為單位建立并維護(hù)。產(chǎn)品庫(kù)(PL 通常,產(chǎn)品庫(kù)可在系統(tǒng)、子系統(tǒng)級(jí)上設(shè)立并維護(hù)。各類庫(kù)中應(yīng)存放哪些軟件成分,應(yīng)視所開發(fā)軟件的實(shí)際情況酌定。 第三章 軟件配置管理 質(zhì)量要求質(zhì)量要求軟件配置管理項(xiàng)是該軟件的真正實(shí)質(zhì)性材料
23、,因此必須保持正確性、完備性和可追蹤性;任何軟件配置管理項(xiàng)都必須做到“文實(shí)相符、文文一致”。以滿足“有效性”、“可見性”和“可控性”要求。 管理規(guī)程管理規(guī)程軟件配置項(xiàng)不論大小都必須實(shí)施軟件配置管理。但所管軟件實(shí)體的多少,實(shí)施控制的方式和投入人力多少則與軟件配置項(xiàng)的規(guī)模等級(jí)、安全性關(guān)鍵等級(jí),以及風(fēng)險(xiǎn)大小有關(guān)。必須指出,對(duì)于安全性關(guān)鍵等級(jí)為A、B級(jí)的軟件配置項(xiàng)的管理必須從嚴(yán)。每個(gè)計(jì)算機(jī)系統(tǒng)均應(yīng)制定軟件配置管理規(guī)程,至少應(yīng)明確規(guī)定:各級(jí)、各庫(kù)中所管的軟件實(shí)體的清單;保證安全性、可靠性、保密性、正確性、完備性、一致性和可追蹤性的具體措施;入庫(kù)控制辦法和審批手續(xù);出庫(kù)條件及其必備的手續(xù);變更控制辦法和審
24、批手續(xù)。工具工具為了嚴(yán)格、有效地實(shí)施軟件配置管理,承建單位應(yīng)使用軟件配置管理工具,以滿足上述質(zhì)量要求。(VSS)第三章 軟件配置管理第四章 軟件測(cè)試 測(cè)試目的測(cè)試目的: :通過(guò)測(cè)試,發(fā)現(xiàn)軟件錯(cuò)誤;驗(yàn)證軟件是否滿足軟件需求規(guī)格說(shuō)明和軟件設(shè)計(jì)所規(guī)定的功能、性能及其軟件質(zhì)量特性的要求;為軟件質(zhì)量的評(píng)價(jià)提供依據(jù)。 軟件測(cè)試技術(shù)軟件測(cè)試技術(shù): :雖然軟件測(cè)試技術(shù)在不斷地發(fā)展,但傳統(tǒng)的分類方法仍然適用。按使用的測(cè)試技術(shù)不同可以將測(cè)試分為:靜態(tài)測(cè)試:靜態(tài)分析和代碼審查1. 動(dòng)態(tài)測(cè)試:白盒測(cè)試和黑盒測(cè)試。 靜態(tài)分析主要對(duì)程序進(jìn)行控制流分析、數(shù)據(jù)流分析、接口分析和表達(dá)式分析等。靜態(tài)分析一般由計(jì)算機(jī)輔助完成。目前
25、具備靜態(tài)分析功能的軟件測(cè)試工具有很多。 白盒測(cè)試是一種按照程序內(nèi)部的邏輯結(jié)構(gòu)和編碼結(jié)構(gòu)設(shè)計(jì)并執(zhí)行測(cè)試用例的測(cè)試方法。根據(jù)覆蓋準(zhǔn)則使程序中的每個(gè)語(yǔ)句、每個(gè)條件分支、每個(gè)控制路徑都在程序測(cè)試中受到檢驗(yàn)。主要以LOG。 黑盒測(cè)試是一種著重于驗(yàn)證軟件功能和性能的正確性,它的典型測(cè)試項(xiàng)目包括功能測(cè)試、性能測(cè)試、邊界測(cè)試、余量測(cè)試、強(qiáng)度測(cè)試等。軟件測(cè)試方式l制定“軟件測(cè)試計(jì)劃”。l編寫“軟件測(cè)試說(shuō)明”。對(duì)各測(cè)試用例所需的測(cè)試環(huán)境、測(cè)試軟件的準(zhǔn)備工作給予說(shuō)明。對(duì)于軟件安全性關(guān)鍵等級(jí)為A、B級(jí)或軟件規(guī)模等級(jí)為A、B級(jí)的軟件,軟件開發(fā)單位必須組織此測(cè)試階段的準(zhǔn)備就緒評(píng)審,以審查測(cè)試用例、環(huán)境、測(cè)試軟件、測(cè)試工具
26、等準(zhǔn)備工作是否全面、到位。l測(cè)試用例設(shè)計(jì)要求:測(cè)試用例的設(shè)計(jì)應(yīng)包括該測(cè)試用例的測(cè)試過(guò)程、測(cè)試輸入數(shù)據(jù)、期望測(cè)試結(jié)果和評(píng)價(jià)測(cè)試結(jié)果的標(biāo)準(zhǔn)等;l測(cè)試用例的輸入應(yīng)包括合理的(有效等價(jià)類)值、不合理的(無(wú)效等價(jià)類)值和邊界值輸入;l為每個(gè)測(cè)試用例規(guī)定測(cè)試規(guī)程,包括運(yùn)行測(cè)試用例的準(zhǔn)備、初始化、中間步驟、前提和約束;軟件測(cè)試工作規(guī)程 l 把全部測(cè)試用例寫入“軟件測(cè)試說(shuō)明”。l 執(zhí)行軟件測(cè)試。按照“軟件測(cè)試計(jì)劃”和“軟件測(cè)試說(shuō)明”對(duì)軟件進(jìn)行測(cè)試。在測(cè)試過(guò)程中,應(yīng)填寫“軟件測(cè)試記錄”。如果發(fā)現(xiàn)軟件問(wèn)題,應(yīng)填寫“軟件問(wèn)題報(bào)告單”。測(cè)試記錄包括測(cè)試的時(shí)間、地點(diǎn)、操作人、參加人、測(cè)試輸入數(shù)據(jù)、期望測(cè)試結(jié)果、實(shí)際測(cè)試
27、結(jié)果及測(cè)試規(guī)程等。l 編制“軟件測(cè)試報(bào)告”。具體的軟件測(cè)試工作完成之后,依照“軟件測(cè)試計(jì)劃”、“軟件測(cè)試說(shuō)明”、“軟件測(cè)試記錄”對(duì)測(cè)試結(jié)果進(jìn)行統(tǒng)計(jì)、分析和評(píng)估,在此基礎(chǔ)上編制“軟件測(cè)試報(bào)告”。l 修正軟件測(cè)試過(guò)程中發(fā)現(xiàn)的問(wèn)題。修正軟件問(wèn)題要有受控措施,應(yīng)先填寫“軟件變更變更報(bào)告單”,在得到同意的答復(fù)之后進(jìn)行軟件的修改(包括軟件文檔、程序和數(shù)據(jù)的全面修改),修改完成之后,必須進(jìn)行回歸測(cè)試。l 軟件測(cè)試階段評(píng)審:測(cè)試階段工作全部完成之后,應(yīng)組織本測(cè)試階段的評(píng)審。軟件測(cè)試工作規(guī)程在軟件生存周期各階段應(yīng)開展的軟件測(cè)試活動(dòng)軟件測(cè)試應(yīng)由獨(dú)立于軟件設(shè)計(jì)開發(fā)的人員進(jìn)行,根據(jù)軟件項(xiàng)目的規(guī)模等級(jí)和安全性關(guān)鍵等級(jí),
28、軟件測(cè)試可由不同機(jī)構(gòu)組織實(shí)施。軟件單元測(cè)試由承建單位自行組織,一般由軟件開發(fā)組實(shí)施測(cè)試。軟件集成測(cè)試由承建單位自行組織,軟件開發(fā)組和軟件測(cè)試組聯(lián)合實(shí)施測(cè)試。軟件確認(rèn)測(cè)試由承建單位自行組織,軟件測(cè)試組實(shí)施測(cè)試。1.系統(tǒng)測(cè)試應(yīng)由業(yè)主單位組織,成立聯(lián)合測(cè)試組(一般由專家組、業(yè)主單位、軟件評(píng)測(cè)單位、承建單位等聯(lián)合組成測(cè)試組)實(shí)施測(cè)試。測(cè)試組織承建單位在測(cè)試過(guò)程中應(yīng)編制“軟件問(wèn)題報(bào)告”和“軟件變更報(bào)告”, 描述在配置控制下的軟件或文檔中發(fā)現(xiàn)的各種問(wèn)題?!败浖?wèn)題報(bào)告”和“軟件變更報(bào)告”應(yīng)描述必需的糾錯(cuò)工作和解決問(wèn)題所進(jìn)行的各項(xiàng)活動(dòng)。軟件問(wèn)題報(bào)告和軟件變更報(bào)告承建單位應(yīng)建立和實(shí)施糾錯(cuò)工作規(guī)程, 以便處理在
29、配置控制下和按產(chǎn)品合同要求進(jìn)行軟件開發(fā)活動(dòng)中發(fā)現(xiàn)的問(wèn)題。糾錯(cuò)工作規(guī)程應(yīng)遵照軟件配置管理執(zhí)行。糾錯(cuò)工作過(guò)程第五章 軟件評(píng)審評(píng)審目的評(píng)審目的軟件評(píng)審是為了使軟件開發(fā)按軟件工程提出的過(guò)程循序進(jìn)行,在各研制階段結(jié)束時(shí),檢查該階段的工作是否完成,所提交的軟件階段產(chǎn)品是否達(dá)到了規(guī)定的質(zhì)量和技術(shù)要求,決定是否可以轉(zhuǎn)入下一階段研制工作。內(nèi)部評(píng)審對(duì)每個(gè)軟件的每個(gè)開發(fā)階段都要進(jìn)行;外部評(píng)審在內(nèi)部評(píng)審的基礎(chǔ)上進(jìn)行。一般情況下,軟件需求分析、概要設(shè)計(jì)、確認(rèn)測(cè)試和系統(tǒng)測(cè)試階段應(yīng)進(jìn)行外部評(píng)審。軟件評(píng)審提出評(píng)審申請(qǐng)承建單位在本階段工作完成并通過(guò)內(nèi)部評(píng)審后,至少提前十天提出外部評(píng)審申請(qǐng)。同時(shí)將評(píng)審文檔及資料交給軟件專家組成員
30、進(jìn)行審查。成立評(píng)審組織成立評(píng)審委員會(huì)。宣布評(píng)審委員會(huì)的組成成員和參加審查組的軟件專家組成員。評(píng)審委員會(huì)成員一般應(yīng)包括:軟件專家組成員(占評(píng)審委員會(huì)總?cè)藬?shù)的50% 以上);質(zhì)量管理人員;科研計(jì)劃管理人員;開發(fā)組成員;1. 業(yè)主單位代表。外部評(píng)審的步驟審查組由軟件專家組成;參加同一個(gè)項(xiàng)目的軟件專家組成員應(yīng)相對(duì)穩(wěn)定。審查組成員組成及要求 評(píng)審結(jié)論評(píng)審結(jié)論 評(píng)審小組寫出結(jié)論提交專家組.專家組審查結(jié)論專家組審查結(jié)論專家組審查結(jié)論分為:通過(guò)和不通過(guò),并以此向評(píng)審委員會(huì)提出建議。通過(guò)情況下,承建單位對(duì)提出的軟件問(wèn)題要限期修改,修改情況由軟件專家組負(fù)責(zé)人同意簽字后可轉(zhuǎn)入下一階段工作。不通過(guò)情況下,對(duì)提出的問(wèn)題
31、由承建單位重新做工作后,再提出評(píng)審申請(qǐng)進(jìn)行復(fù)審。在復(fù)審?fù)ㄟ^(guò)前不能轉(zhuǎn)入下一階段工作。復(fù)審的步驟與外部評(píng)審相同。 軟件評(píng)審第六章 軟件維護(hù)軟件維護(hù)是軟件產(chǎn)品交付使用后,為糾正錯(cuò)誤或改進(jìn)性能與其他屬性,或使軟件產(chǎn)品適應(yīng)改變了的環(huán)境而進(jìn)行的修改活動(dòng)。軟件維護(hù)一般分為糾錯(cuò)性維護(hù)、適應(yīng)性維護(hù)和完善性維護(hù)三種類型。糾錯(cuò)性維護(hù)糾正在開發(fā)階段產(chǎn)生而在測(cè)試和驗(yàn)收過(guò)程沒(méi)有發(fā)現(xiàn)的錯(cuò)誤。其主要內(nèi)容包括:設(shè)計(jì)錯(cuò)誤;程序錯(cuò)誤;數(shù)據(jù)錯(cuò)誤;1. 文檔錯(cuò)誤。為適應(yīng)軟件運(yùn)行環(huán)境改變而作的修改。環(huán)境改變的主要內(nèi)容包括:影響系統(tǒng)的規(guī)則或規(guī)律的變化;硬件配置的變化,如機(jī)型、終端、外部設(shè)備的改變等;數(shù)據(jù)格式或文件結(jié)構(gòu)的改變;1. 軟件支持
32、環(huán)境的改變,如操作系統(tǒng),編譯器或?qū)嵱贸绦虻淖兓?。適應(yīng)性維護(hù)完善性維護(hù)為擴(kuò)充功能或改善性能而進(jìn)行的修改。修改方式有插入、刪除、擴(kuò)充和增強(qiáng)等。主要內(nèi)容包括:為擴(kuò)充和增強(qiáng)功能而作的修改,如擴(kuò)充解題范圍和算法優(yōu)化等;為改善性能而作的修改,如提高運(yùn)行速度、節(jié)省存貯空間等;1.為便于維護(hù)而作的修改,如為了改進(jìn)易讀性而增加一些注釋等。軟件維護(hù)第七章 軟件工程標(biāo)準(zhǔn)在開發(fā)一個(gè)軟件時(shí),需要有許多層次、不同分工的人員相互配合;在開發(fā)項(xiàng)目的各個(gè)部分以及各開發(fā)階段之間也都存在著許多聯(lián)系和銜接問(wèn)題。如何把這些錯(cuò)綜復(fù)雜的關(guān)系協(xié)調(diào)好,需要有一系列統(tǒng)一的約束和規(guī)定。在軟件開發(fā)項(xiàng)目取得階段成果或最后完成時(shí),還需要進(jìn)行階段評(píng)審和
33、驗(yàn)收測(cè)試。投入運(yùn)行的軟件,其維護(hù)工作中遇到的問(wèn)題又與開發(fā)工作有著密切的關(guān)系。軟件的管理工作則滲透到軟件生存期的每一個(gè)環(huán)節(jié)。所有這些都要求提供統(tǒng)一的行為規(guī)范和衡量準(zhǔn)則,使得各種工作都能有章可循。與軟件相關(guān)的各種標(biāo)準(zhǔn)與軟件相關(guān)的各種標(biāo)準(zhǔn)(1)網(wǎng)絡(luò)協(xié)議:ISO/OSI vs TCP/IP(2)軟件構(gòu)件:CORBA vs COM(3)建模語(yǔ)言:UML(4)數(shù)據(jù)訪問(wèn):ODBC/JDBC(5)工程管理:CMM vs ISO(9001-3,15504) 根據(jù)軟件工程標(biāo)準(zhǔn)制定的機(jī)構(gòu)和標(biāo)準(zhǔn)適用的范圍有所不同,它可分為五個(gè)級(jí)別,即國(guó)際標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、企業(yè)(機(jī)構(gòu))標(biāo)準(zhǔn)及項(xiàng)目(課題)標(biāo)準(zhǔn)。以下分別對(duì)五級(jí)標(biāo)準(zhǔn)
34、的標(biāo)識(shí)符和標(biāo)準(zhǔn)制定(或批準(zhǔn))的機(jī)構(gòu)做一簡(jiǎn)要說(shuō)明:軟件工程標(biāo)準(zhǔn)的層次 由國(guó)際聯(lián)合機(jī)構(gòu)制定和公布,提供各國(guó)參考的標(biāo)準(zhǔn)。如ISO(International Standards Organization)國(guó)際標(biāo)準(zhǔn)化組織。這一國(guó)際機(jī)構(gòu)有著廣泛的代表性和權(quán)威性,它所公布的標(biāo)準(zhǔn)也有較大的影。1960年代初,該機(jī)構(gòu)建立了“計(jì)算機(jī)與信息處理技術(shù)委員會(huì)”, 簡(jiǎn)稱ISOTC97,專門負(fù)責(zé)與計(jì)算機(jī)有關(guān)的標(biāo)準(zhǔn)化工作。這一標(biāo)準(zhǔn)通常冠有ISO字樣,如ISO 863186 Information processingprogram constructs and conventions for their represent
35、ation信息處理程序構(gòu)造及其表示法的約定。該標(biāo)準(zhǔn)現(xiàn)已由中國(guó)收入國(guó)家標(biāo)準(zhǔn)。國(guó)際標(biāo)準(zhǔn) 由政府或國(guó)家級(jí)的機(jī)構(gòu)制定或批準(zhǔn),適用于全國(guó)范圍的標(biāo)準(zhǔn),如:GB中華人民共和國(guó)國(guó)家技術(shù)監(jiān)督局是中國(guó)的最高標(biāo)準(zhǔn)化機(jī)構(gòu),它所公布實(shí)施的標(biāo)準(zhǔn)簡(jiǎn)稱為“國(guó)標(biāo)”?,F(xiàn)已批準(zhǔn)了若干個(gè)軟件工程標(biāo)準(zhǔn)。國(guó)家標(biāo)準(zhǔn) 由行業(yè)機(jī)構(gòu)、學(xué)術(shù)團(tuán)體或國(guó)防機(jī)構(gòu)制定,并適用于某個(gè)業(yè)務(wù)領(lǐng)域的標(biāo)準(zhǔn),如:IEEE(Institute of Electrical and Electronics Engineers)美國(guó)電氣與電子工程師學(xué)會(huì)。近年該學(xué)會(huì)專門成立了軟件標(biāo)準(zhǔn)分技術(shù)委員會(huì)(SESS),積極開展了軟件標(biāo)準(zhǔn)化活動(dòng),取得了顯著成果,受到了軟件界的關(guān)注。IEEE
36、通過(guò)的標(biāo)準(zhǔn)經(jīng)常要報(bào)請(qǐng)ANSI審批,使之具有國(guó)家標(biāo)準(zhǔn)的性質(zhì)。行業(yè)標(biāo)準(zhǔn)1983年5月中國(guó)原國(guó)家標(biāo)準(zhǔn)總局和原電子工業(yè)部主持成立了“計(jì)算機(jī)與信息技術(shù)標(biāo)準(zhǔn)化技術(shù)委員會(huì)”,下設(shè)十三個(gè)分技術(shù)委員會(huì)。與軟件相關(guān)的程序設(shè)計(jì)語(yǔ)言分委員會(huì)和軟件工程技術(shù)分委員會(huì)。中國(guó)制定和推行標(biāo)準(zhǔn)化工作的總原則是向國(guó)際標(biāo)準(zhǔn)靠攏,對(duì)于能夠在中國(guó)適用的標(biāo)準(zhǔn)一律按等同采用的方法,以促進(jìn)國(guó)際交流。這里,等同采用是要使自己的標(biāo)準(zhǔn)與國(guó)際標(biāo)準(zhǔn)的技術(shù)內(nèi)容完全相同,僅稍做編輯性修改。從1983年起到現(xiàn)在,中國(guó)已陸續(xù)制定和發(fā)布了20項(xiàng)國(guó)家標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)可分為4類:基礎(chǔ)標(biāo)準(zhǔn); 開發(fā)標(biāo)準(zhǔn);文檔標(biāo)準(zhǔn); 1.管理標(biāo)準(zhǔn)。軟件工程的國(guó)家標(biāo)準(zhǔn) 軟件工程標(biāo)準(zhǔn)第八章 軟
37、件開發(fā)文檔文檔的種類文檔的種類GB 8567-88 計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南中規(guī)定,在軟件的開發(fā)過(guò)程中,一般地說(shuō),應(yīng)該產(chǎn)生十四種文件。這十四種文件是:可行性研究報(bào)告;項(xiàng)目開發(fā)計(jì)劃;軟件需求說(shuō)明書;數(shù)據(jù)要求說(shuō)明書;概要設(shè)計(jì)說(shuō)明書;詳細(xì)設(shè)計(jì)說(shuō)明書;數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書;用戶手冊(cè);操作手冊(cè);模塊開發(fā)卷宗;測(cè)試計(jì)劃;測(cè)試分析報(bào)告;開發(fā)進(jìn)度月報(bào); 1. 項(xiàng)目開發(fā)總結(jié)報(bào)告。文檔的作用文檔的作用(1)提高軟件開發(fā)過(guò)程的可見性(2)提高開發(fā)效率(3)可作為開發(fā)人員在一定階段內(nèi)的工作成果和結(jié)束標(biāo)志(4)記錄開發(fā)過(guò)程中的有關(guān)技術(shù)信息,以便協(xié)調(diào)以后的軟件開發(fā)、使用和維護(hù)(5)提供有關(guān)軟件運(yùn)行、維護(hù)和培訓(xùn)的信息(6
38、)便于潛在用戶了解軟件的功能、性能等各項(xiàng)指標(biāo)軟件開發(fā)文檔第九章 軟件工業(yè)化生產(chǎn)時(shí)代的基礎(chǔ)技術(shù)和方法 CMM軟件過(guò)程成熟度模型概要 個(gè)體軟件過(guò)程PSP 群組軟件過(guò)程群組軟件過(guò)程TSPTSP 面向?qū)ο蟮能浖_發(fā)方法面向?qū)ο蟮能浖_發(fā)方法 可視化開發(fā)方法可視化開發(fā)方法 軟件復(fù)用技術(shù)軟件復(fù)用技術(shù)CMMCMM軟件過(guò)程成熟度模型概要軟件過(guò)程成熟度模型概要 CMM是Capability Maturity Model的英文單詞的第一字母縮寫,中文稱:軟件能力成熟度模型。 發(fā)展史1986年美國(guó)政府委托卡內(nèi)基梅隆大學(xué)軟件工程研究所(SEI)開發(fā)一套評(píng)估軟件承包商能力的方法。1987年9月發(fā)布了一套軟件過(guò)程成熟度框
39、架。1991年SEI將這套框架發(fā)展成為軟件成熟度模型,簡(jiǎn)稱CMM,定義為CMM1.1版。1997年11月SEI完成CMM2.0版,1999年發(fā)布。 CMM將能力成熟度模型分為5個(gè)級(jí)別CMM的的5個(gè)級(jí)別個(gè)級(jí)別CMM1:初始級(jí) 企業(yè)一般不具備穩(wěn)定的軟件開發(fā)與維護(hù)的環(huán)境,軟件項(xiàng)目的成功取決于某些個(gè)人的技能和經(jīng)驗(yàn)。CMM2:可重復(fù)級(jí) 建立了基本的軟件項(xiàng)目管理過(guò)程規(guī)范。項(xiàng)目經(jīng)理可以基于過(guò)往的項(xiàng)目的經(jīng)驗(yàn)來(lái)計(jì)劃與管理新的項(xiàng)目。CMM3:定義級(jí) 已經(jīng)將管理和開發(fā)兩方面的過(guò)程文檔化、并綜合成為企業(yè)機(jī)構(gòu)的標(biāo)準(zhǔn)軟件過(guò)程。公司所有項(xiàng)目都可以通過(guò)裁減機(jī)構(gòu)的標(biāo)準(zhǔn)軟件過(guò)程而建立適合于本項(xiàng)目的過(guò)程規(guī)范。CMM4:定量管理級(jí)
40、企業(yè)對(duì)產(chǎn)品與過(guò)程建立起定量的質(zhì)量目標(biāo),同時(shí)在過(guò)程中加入規(guī)定得很清楚的連續(xù)的度量。作為企業(yè)的度量方案, 要對(duì)所有項(xiàng)目的重要的過(guò)程活動(dòng)進(jìn)行生產(chǎn)率和質(zhì)量的度量。CMM5:優(yōu)化級(jí) 整個(gè)企業(yè)將會(huì)把重點(diǎn)放在對(duì)過(guò)程進(jìn)行不斷的優(yōu)化。企業(yè)會(huì)采取主動(dòng)去找出過(guò)程的弱點(diǎn)與長(zhǎng)處,以達(dá)到預(yù)防缺陷 的目標(biāo)。同時(shí),分析有關(guān)過(guò)程的有效性的資料,作出對(duì)新技術(shù)的 成本與收益的分析,以及提出對(duì)過(guò)程進(jìn)行修改的建議。在介紹CMM內(nèi)容之前,首先概述一下不成熟軟件組織與成熟軟件組織的差異。在不成熟的軟件單位,軟件過(guò)程一般由實(shí)踐者及其管理者在項(xiàng)目進(jìn)程中臨時(shí)拼湊而成,因而推遲進(jìn)度和超出預(yù)算已成為慣例,產(chǎn)品質(zhì)量難以預(yù)測(cè),有時(shí)為了滿足進(jìn)度要求,常在
41、產(chǎn)品功能和質(zhì)量上做出讓步。然而,一個(gè)成熟軟件組織具有在全組織范圍內(nèi)管理軟件、開發(fā)過(guò)程和維護(hù)過(guò)程的能力,規(guī)定的軟件過(guò)程被正確無(wú)誤地通知到所有員工,工作活動(dòng)均按照已規(guī)劃的過(guò)程進(jìn)行。并通過(guò)可控的先導(dǎo)性試驗(yàn)和費(fèi)效分析使這些過(guò)程得到改進(jìn),對(duì)已定義過(guò)程中的所有崗位及其職責(zé)都有清楚的描述,和通過(guò)文檔與培訓(xùn)使全組織有關(guān)人員對(duì)已定義的軟件過(guò)程都有很好的理解,從而使其軟件過(guò)程所導(dǎo)致的生產(chǎn)率和質(zhì)量能隨時(shí)間的推移得到改進(jìn)。下表給出了不成熟和成熟軟件組織的比較,這種比較分析不僅是形成軟件能力成熟模型的基礎(chǔ),也有利于理解該模型。CMM軟件過(guò)程成熟度模型概要 CMMCMM軟件過(guò)程成熟度模型概要軟件過(guò)程成熟度模型概要 CMM
42、的一些基本概念(1)軟件過(guò)程:人們用于開發(fā)和維護(hù)軟件及其相關(guān)過(guò)程的一系列活動(dòng),包括軟件工程活動(dòng)和軟件管理活動(dòng)。 (2)軟件過(guò)程能力:描述(開發(fā)組織或項(xiàng)目組)遵循其軟件過(guò)程能夠?qū)崿F(xiàn)預(yù)期結(jié)果的程度,它既可對(duì)整個(gè)軟件開發(fā)組織而言,也可對(duì)一個(gè)軟件項(xiàng)目而言。 (3)軟件過(guò)程性能:表示(開發(fā)組織或項(xiàng)目組)遵循其軟件過(guò)程所得到的實(shí)際結(jié)果,軟件過(guò)程性能描述的是已得到的實(shí)際結(jié)果,而軟件過(guò)程能力則描述的是最可能的預(yù)期結(jié)果,它既可對(duì)整個(gè)軟件開發(fā)組織而言,也可對(duì)一個(gè)特定項(xiàng)目而言。 (4)軟件過(guò)程成熟:一個(gè)特定軟件過(guò)程被明確和有效地定義,管理測(cè)量和控制的程度。(5)軟件能力成熟度等級(jí):軟件開發(fā)組織在走向成熟的途中幾個(gè)具
43、有明確定義的表示軟件過(guò)程能力成熟度的平臺(tái)。(6)關(guān)鍵過(guò)程域:每個(gè)軟件能力成熟度等級(jí)包含若干個(gè)對(duì)該成熟度等級(jí)至關(guān)重要的過(guò)程域,它們的實(shí)施對(duì)達(dá)到該成熟度等級(jí)的目標(biāo)起到保證作用。這些過(guò)程域就稱為該成熟度等級(jí)的關(guān)鍵過(guò)程域,反之有非關(guān)鍵過(guò)程域是指對(duì)達(dá)到相應(yīng)軟件成熟度等級(jí)的目標(biāo)不起關(guān)鍵作用。歸納為:互相關(guān)聯(lián)的若干軟件實(shí)踐活動(dòng)和有關(guān)基礎(chǔ)設(shè)施的一個(gè)集合。 (7)關(guān)鍵實(shí)踐:對(duì)關(guān)鍵過(guò)程域的實(shí)踐起關(guān)鍵作用的方針、規(guī)程、措施、活動(dòng)以及相關(guān)基礎(chǔ)設(shè)施的建立。關(guān)鍵實(shí)踐一般只描述“做什么”而不強(qiáng)制規(guī)定“如何做”。整個(gè)軟件過(guò)程的改進(jìn)是基于許多小的、漸進(jìn)的步驟,而不是通過(guò)一次革命性的創(chuàng)新來(lái)實(shí)現(xiàn)的,這些小的漸進(jìn)步驟就是通過(guò)一些關(guān)鍵
44、實(shí)踐來(lái)實(shí)現(xiàn)。 (8)軟件能力成熟度模型:隨著軟件組織定義、實(shí)施、測(cè)量、控制和改進(jìn)其軟件過(guò)程,軟件組織的能力也伴隨著這些階段逐步前進(jìn),完成對(duì)軟件組織進(jìn)化階段的描述模型。 CMMCMM軟件過(guò)程成熟度模型概要軟件過(guò)程成熟度模型概要 軟件開發(fā)的風(fēng)險(xiǎn)之所以大,是由于軟件過(guò)程能力低,其中最關(guān)鍵的問(wèn)題在于軟件開發(fā)組織不能很好地管理其軟件過(guò)程,從而使一些好的開發(fā)方法和技術(shù)起不到預(yù)期的作用。而且項(xiàng)目的成功也是通過(guò)工作組的杰出努力,所以僅僅建立在可得到特定人員上的成功不能為全組織的生產(chǎn)和質(zhì)量的長(zhǎng)期提高打下基礎(chǔ),必須在建立有效的軟件工程實(shí)踐和管理實(shí)踐的基礎(chǔ)設(shè)施方面,堅(jiān)持不懈地努力,才能不斷改進(jìn),才能持續(xù)地成功。1.
45、CMM提供了一個(gè)框架,將軟件過(guò)程改進(jìn)的進(jìn)化步驟組織成5個(gè)成熟等級(jí),為過(guò)程不斷改進(jìn)奠定了循序漸進(jìn)的基礎(chǔ)。這5個(gè)成熟度等級(jí)定義了一個(gè)有序的尺度,用來(lái)測(cè)量一個(gè)組織的軟件過(guò)程成熟和評(píng)價(jià)其軟件過(guò)程能力,這些等級(jí)還能幫助組織自己對(duì)其改進(jìn)工作排出優(yōu)先次序。成熟度等級(jí)是已得到確切定義的,也是在向成熟軟件組織前進(jìn)途中的平臺(tái)。每一個(gè)成熟度等級(jí)為連續(xù)改進(jìn)提供一個(gè)臺(tái)基。每一等級(jí)包含一組過(guò)程目標(biāo),通過(guò)實(shí)施相應(yīng)的一組關(guān)鍵過(guò)程域達(dá)到這一組過(guò)程目標(biāo),當(dāng)目標(biāo)滿足時(shí),能使軟件過(guò)程的一個(gè)重要成分穩(wěn)定。每達(dá)到成熟框架的一個(gè)等級(jí),就建立起軟件過(guò)程的一個(gè)相應(yīng)成分,導(dǎo)致組織能力一定程度的增大。CMMCMM軟件過(guò)程成熟度模型概要軟件過(guò)程成熟
46、度模型概要CMMCMM模型概要模型概要過(guò)程能力等級(jí)過(guò)程能力等級(jí)特點(diǎn)特點(diǎn)關(guān)鍵過(guò)程域關(guān)鍵過(guò)程域第一級(jí) 初始級(jí)軟件過(guò)程是無(wú)序的,有時(shí)甚至是混亂的,對(duì)過(guò)程幾乎沒(méi)有定義,成功取決與個(gè)人努力;管理是反應(yīng)式(消防式)第二級(jí) 可重復(fù)級(jí)建立了基本的項(xiàng)目管理過(guò)程來(lái)跟蹤費(fèi)用,進(jìn)度和功能特性.制定了必要的過(guò)程紀(jì)律,能重復(fù)早先類似應(yīng)用項(xiàng)目取得成功需求管理軟件項(xiàng)目計(jì)劃軟件項(xiàng)目跟蹤和監(jiān)督軟件子合同管理軟件質(zhì)量保證軟件配置管理第三級(jí) 已定義級(jí)已將軟件管理和工程文檔化,標(biāo)準(zhǔn)化,并綜合成該組織的標(biāo)準(zhǔn)軟件過(guò)程;所有項(xiàng)目均使用經(jīng)批準(zhǔn),裁減的標(biāo)準(zhǔn)軟件過(guò)程來(lái)開發(fā)和維護(hù)軟件組織過(guò)程定義組織過(guò)程焦點(diǎn)培訓(xùn)大綱集成軟件管理軟件產(chǎn)品工程組織協(xié)調(diào)同
47、行專家評(píng)審第四級(jí) 已定量管理級(jí)收集對(duì)軟件過(guò)程和產(chǎn)品質(zhì)量的詳細(xì)度量,對(duì)軟件過(guò)程和產(chǎn)品都有定量的理解與控制定量的過(guò)程管理軟件質(zhì)量的管理第五級(jí) 優(yōu)化級(jí)過(guò)程的量化反饋和先進(jìn)思想,新技術(shù)促進(jìn)過(guò)程不斷改進(jìn)缺陷預(yù)防技術(shù)變更管理過(guò)程變更管理CMMCMM軟件過(guò)程成熟度模型概要軟件過(guò)程成熟度模型概要 CMMCMM軟件過(guò)程成熟度模型概要軟件過(guò)程成熟度模型概要個(gè)體軟件過(guò)程(Personal Software Process ,PSP)是由美國(guó)Carnegie Mellon大學(xué)軟件工程研究所(CMU/SEI)的Watts s. Humphrey領(lǐng)導(dǎo)開發(fā)的,于1995年推出,在軟件工程界引起了極大的轟動(dòng),可以說(shuō)是由定向軟
48、件工程走向定量軟件工程的一個(gè)標(biāo)志。PSP是一種可用于控制、管理和改進(jìn)個(gè)人工作方式的自我改善過(guò)程,是一個(gè)包括軟件開發(fā)表格、指南和規(guī)程的結(jié)構(gòu)化框架。 PSP為基于個(gè)體和小型群組軟件過(guò)程的優(yōu)化提供了具體而有效的途徑,例如如何制訂計(jì)劃,如何控制質(zhì)量,如何與其他人相互協(xié)作等等。在軟件設(shè)計(jì)階段, PSP的著眼點(diǎn)在于軟件缺陷的預(yù)防,其具體辦法是強(qiáng)化設(shè)計(jì)結(jié)束準(zhǔn)則,而不是設(shè)計(jì)方法的選擇。根據(jù)對(duì)參加培訓(xùn)的104位軟件人員的統(tǒng)計(jì)數(shù)據(jù)表明,在應(yīng)用了PSP后,軟件中總的差錯(cuò)減少了58.0,在測(cè)試階段發(fā)現(xiàn)的差錯(cuò)減少了71.0,生產(chǎn)效率提高了20.0。PSP的研究結(jié)果還表明,絕大多數(shù)軟件缺陷是由于對(duì)問(wèn)題的錯(cuò)誤理解或簡(jiǎn)單的失
49、誤所造成的,只有很少一部分是由于技術(shù)問(wèn)題而產(chǎn)生的。而且根據(jù)多年來(lái)的軟件工程統(tǒng)計(jì)數(shù)據(jù)表明,如果在設(shè)計(jì)階段注入一個(gè)差錯(cuò),則這個(gè)差錯(cuò)在編碼階段引發(fā)了3一5個(gè)新的缺陷,要修復(fù)這些缺陷所花的費(fèi)用要比修復(fù)這個(gè)設(shè)計(jì)缺陷所花的費(fèi)用多一個(gè)數(shù)量級(jí)。因此,PSP保障軟件產(chǎn)品質(zhì)量的一個(gè)重要途徑是提高設(shè)計(jì)質(zhì)量。個(gè)體軟件過(guò)程個(gè)體軟件過(guò)程PSPPSP個(gè)體軟件過(guò)程個(gè)體軟件過(guò)程PSPPSP個(gè)體軟件過(guò)程PSP的內(nèi)容PSP與具體的技術(shù)(程序設(shè)計(jì)語(yǔ)言、工具或者設(shè)計(jì)方法)相對(duì)獨(dú)立,其原則能夠應(yīng)用到幾乎任何的軟件工程任務(wù)之中。PSP能夠:(1) 說(shuō)明個(gè)體軟件過(guò)程的原則;(2) 幫助軟件工程師作出準(zhǔn)確的計(jì)劃;(3) 確定軟件工程師為改善產(chǎn)
50、品質(zhì)量要采取的步驟;(4) 建立度量個(gè)體軟件過(guò)程改善的基準(zhǔn);(5) 確定過(guò)程的改變對(duì)軟件工程師能力的影響。個(gè)體軟件過(guò)程PSP的作用使用自底向上的方法來(lái)改進(jìn)過(guò)程,向每個(gè)軟件工程師表明過(guò)程改進(jìn)的原則,使他們能夠明白如何有效地生產(chǎn)出高質(zhì)量的軟件。為基于個(gè)體和小型群組軟件過(guò)程的優(yōu)化提供了具體而有效的途徑。其研究與實(shí)踐填補(bǔ)了CMM的空白。1.幫助軟件工程師在個(gè)人的基礎(chǔ)上運(yùn)用過(guò)程的原則,借助于PSP提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自己日常工作的評(píng)估、計(jì)劃和預(yù)測(cè)更加準(zhǔn)確、更加有效,進(jìn)而改進(jìn)個(gè)人的工作表現(xiàn),提高個(gè)人的工作質(zhì)量和產(chǎn)量,積極而有效地參與高級(jí)管理人員和過(guò)程人
51、員推動(dòng)的組織范圍的軟件工程過(guò)程改進(jìn)。個(gè)體軟件過(guò)程PSP 致力于開發(fā)高質(zhì)量的產(chǎn)品,建立、管理和授權(quán)項(xiàng)目小組,并且指導(dǎo)他們?nèi)绾卧跐M足計(jì)劃費(fèi)用的前提下,在承諾的期限范圍內(nèi),不斷生產(chǎn)并交付高質(zhì)量的產(chǎn)品。TSP指導(dǎo)項(xiàng)目組中的成員如何有效地規(guī)劃和管理所面臨的項(xiàng)目開發(fā)任務(wù),并且告訴管理人員如何指導(dǎo)軟件開發(fā)隊(duì)伍。始終以最佳狀態(tài)來(lái)完成工作。TSP實(shí)施集體管理與自己管理自己相結(jié)合的原則,最終目的在于指導(dǎo)開發(fā)人員如何在最少的時(shí)間內(nèi),以預(yù)定的費(fèi)用生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,所采用的方法是對(duì)群組開發(fā)過(guò)程的定義、度量和改進(jìn)。實(shí)現(xiàn)TSP方法需要具備的條件需要有高層主管和各級(jí)經(jīng)理的支持,以取得必要的資源整個(gè)軟件開發(fā)小組至少應(yīng)在C
52、MM的第二級(jí)(可重復(fù)層)。全體軟件開發(fā)人員必須經(jīng)過(guò)PSP的培訓(xùn),并有按TSP工作的愿望和熱情。1.開發(fā)小組成員應(yīng)在2到20個(gè)人之間。群組軟件過(guò)程TSP按TSP原理對(duì)開發(fā)小組的基本度量要素所編文檔的頁(yè)數(shù)。所編代碼的行數(shù)。花費(fèi)在各開發(fā)階段或各開發(fā)任務(wù)上的時(shí)間(以分為單位)。在各個(gè)開發(fā)階段中引入和改正的差錯(cuò)數(shù)目。在各個(gè)階段對(duì)最終產(chǎn)品增加的價(jià)值。度量TSP實(shí)施質(zhì)量的過(guò)程質(zhì)量元素軟件設(shè)計(jì)時(shí)間應(yīng)大于軟件實(shí)現(xiàn)時(shí)間。設(shè)計(jì)評(píng)審時(shí)間至少應(yīng)占一半以上的設(shè)計(jì)時(shí)間。代碼評(píng)審時(shí)間至少應(yīng)占一半以上的代碼編制時(shí)間。在編譯階段發(fā)現(xiàn)的差錯(cuò)不超過(guò)10個(gè)1.在測(cè)試階段發(fā)現(xiàn)的差錯(cuò)不超過(guò)5個(gè)。群組軟件過(guò)程TSP CMM、PSP和TSP組
53、成的軟件過(guò)程框架 CMM是過(guò)程改善的第一步,它提供了評(píng)價(jià)組織的能力、識(shí)別優(yōu)先改善需求和追蹤改善進(jìn)展的管理方式。企業(yè)只有開始CMM改善后,才能接受需要規(guī)劃的事實(shí),認(rèn)識(shí)到質(zhì)量的重要性,才能注重對(duì)員工經(jīng)常進(jìn)行培訓(xùn),合理分配項(xiàng)目人員,并且建立起有效的項(xiàng)目小組。然而,它實(shí)現(xiàn)的成功與否與組織內(nèi)部有關(guān)人員的積極參加和創(chuàng)造性活動(dòng)密不可分。CMM、PSP和TSP組成的軟件過(guò)程框架l PSP能夠指導(dǎo)軟件工程師如何保證自己的工作質(zhì)量,估計(jì)和規(guī)劃自身的工作,度量和追蹤個(gè)人的表現(xiàn),管理自身的軟件過(guò)程和產(chǎn)品質(zhì)量。經(jīng)過(guò)PSP學(xué)習(xí)和實(shí)踐的正規(guī)訓(xùn)練,軟件工程師們能夠在他們參與的項(xiàng)目工作之中充分運(yùn)用PSP,從而有助于CMM目標(biāo)的
54、實(shí)現(xiàn)。l TSP結(jié)合了CMM的管理方法和PSP的工程技能,通過(guò)告訴軟件工程師如何將個(gè)體過(guò)程結(jié)合進(jìn)小組軟件過(guò)程,并將后者與組織進(jìn)而整個(gè)管理系統(tǒng)相聯(lián)系;通過(guò)告訴管理層如何支持和授權(quán)項(xiàng)目小組,堅(jiān)持高質(zhì)量的工作,并且依據(jù)數(shù)據(jù)進(jìn)行項(xiàng)目的管理,向組織展示如何應(yīng)用CMM的原則和PSP的技能去生產(chǎn)高質(zhì)量的產(chǎn)品。CMM、PSP和TSP組成的軟件過(guò)程框架面向?qū)ο蟮能浖_發(fā)方法 面向?qū)ο蠹夹g(shù)是軟件技術(shù)的一次革命,在軟件開發(fā)史上具有里程碑的意義。 隨著OOP(面向?qū)ο缶幊蹋┫騉OD(面向?qū)ο笤O(shè)計(jì))和OOA(面向?qū)ο蠓治觯┑陌l(fā)展,最終形成面向?qū)ο蟮能浖_發(fā)方法OMT(Object Modelling Technique
55、)。這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對(duì)象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實(shí)際上也包含了所有對(duì)象的數(shù)據(jù)結(jié)構(gòu)。所以O(shè)MT徹底實(shí)現(xiàn)了PAM沒(méi)有完全實(shí)現(xiàn)的目標(biāo)。不僅如此,OO技術(shù)在需求分析、可維護(hù)性和可靠性這三個(gè)軟件開發(fā)的關(guān)鍵環(huán)節(jié)和質(zhì)量指標(biāo)上有了實(shí)質(zhì)性的突破,徹底地解決了在這些方面存在的嚴(yán)重問(wèn)題,從而宣告了軟件危機(jī)末日的來(lái)臨。面向?qū)ο笳Z(yǔ)言面向?qū)ο笳Z(yǔ)言 人工智能研究語(yǔ)言人工智能研究語(yǔ)言可視化開發(fā)方法 可視化開發(fā)是90年代軟件界最大的兩個(gè)熱點(diǎn)之一。隨著圖形用戶界面的興起,用戶界面在軟件系統(tǒng)中所占的比例也越來(lái)越大,有的甚至高達(dá)6070。產(chǎn)生這一問(wèn)題的原因是圖形界面元素的生成很不
56、方便。為此Windows提供了應(yīng)用程序設(shè)計(jì)接口API(Application Programming Interface),它包含了600多個(gè)函數(shù),極大地方便了圖形用戶界面的開發(fā)。但是在這批函數(shù)中,大量的函數(shù)參數(shù)和使用數(shù)量更多的有關(guān)常量,使基于Windows API的開發(fā)變得相當(dāng)困難。為此Borland C+推出了ObjectWindows編程。它將API的各部分用對(duì)象類進(jìn)行封裝,提供了大量預(yù)定義的類,并為這些定義了許多成員函數(shù)。利用子類對(duì)父類的繼承性,以及實(shí)例對(duì)類的函數(shù)的引用,應(yīng)用程序的開發(fā)可以省卻大量類的定義,省卻大量成員函數(shù)的定義或只需作少量修改以定義子類。 可視化開發(fā)就是在可視開發(fā)工具
57、提供的圖形用戶界面上,通過(guò)操作界面元素,諸如菜單、按鈕、對(duì)話框、編輯框、單選框、復(fù)選框、列表框和滾動(dòng)條等,由可視開發(fā)工具自動(dòng)生成應(yīng)用軟件。 這類應(yīng)用軟件的工作方式是事件驅(qū)動(dòng)。對(duì)每一事件,由系統(tǒng)產(chǎn)生相應(yīng)的消息,再傳遞給相應(yīng)的消息響應(yīng)函數(shù)。這些消息響應(yīng)函數(shù)是由可視開發(fā)工具在生成軟件時(shí)自動(dòng)裝入的??梢暬_發(fā)方法軟件復(fù)用技術(shù)軟件復(fù)用是指重復(fù)使用“為了復(fù)用目的而設(shè)計(jì)的軟件”的過(guò)程 。相應(yīng)地,可復(fù)用軟件是指為了復(fù)用目的而設(shè)計(jì)的軟件。與軟件復(fù)用的概念相關(guān),重復(fù)使用軟件的行為還可能是重復(fù)使用“并非為了復(fù)用目的而設(shè)計(jì)的軟件”的過(guò)程,或在一個(gè)應(yīng)用系統(tǒng)的不同版本間重復(fù)使用代碼的過(guò)程,這兩類行為都不屬于嚴(yán)格意義上的軟
58、件復(fù)用。軟件復(fù)用技術(shù)發(fā)生在三個(gè)維上在軟件演化的過(guò)程中,重復(fù)使用的行為可能發(fā)生在三個(gè)維上:時(shí)間維:使用以前的軟件版本作為新版本的基礎(chǔ),加入新功能,適應(yīng)新需求,即軟件維護(hù)。平臺(tái)維:以某平臺(tái)上的軟件為基礎(chǔ),修改其和運(yùn)行平臺(tái)相關(guān)的部分,使其運(yùn)行于新平臺(tái),即軟件移植。應(yīng)用維:將某軟件(或其中構(gòu)件)用于其他應(yīng)用系統(tǒng)中,新系統(tǒng)具有不同功能和用途,即真正的軟件復(fù)用。這三種行為中都重復(fù)使用了現(xiàn)有的軟件,但是,真正的復(fù)用是為了支持軟件在應(yīng)用維的演化,使用“為復(fù)用而開發(fā)的軟件(構(gòu)件)”來(lái)更快、更好地開發(fā)新的應(yīng)用系統(tǒng)。 分析傳統(tǒng)產(chǎn)業(yè)的發(fā)展,其基本模式均是符合標(biāo)準(zhǔn)的零部件(構(gòu)件)生產(chǎn)以及基于標(biāo)準(zhǔn)構(gòu)件的產(chǎn)品生產(chǎn)(組裝),
59、其中,構(gòu)件是核心和基礎(chǔ),“復(fù)用”是必需的手段。實(shí)踐表明,這種模式是產(chǎn)業(yè)工程化、工業(yè)化的必由之路。標(biāo)準(zhǔn)零部件生產(chǎn)業(yè)的獨(dú)立存在和發(fā)展是產(chǎn)業(yè)形成規(guī)模經(jīng)濟(jì)的前提。機(jī)械、建筑等傳統(tǒng)行業(yè)以及年輕的計(jì)算機(jī)硬件產(chǎn)業(yè)的成功發(fā)展均是基于這種模式并充分證明了這種模式的可行性和正確性。這種模式是軟件產(chǎn)業(yè)發(fā)展的良好借鑒,軟件產(chǎn)業(yè)要發(fā)展并形成規(guī)模經(jīng)濟(jì),標(biāo)準(zhǔn)構(gòu)件的生產(chǎn)和構(gòu)件的復(fù)用是關(guān)鍵因素。這正是軟件復(fù)用受到高度重視的根本原因。軟件復(fù)用技術(shù) 軟件復(fù)用可以從多個(gè)角度進(jìn)行考察。依據(jù)復(fù)用的對(duì)象,可以將軟件復(fù)用分為產(chǎn)品復(fù)用和過(guò)程復(fù)用。產(chǎn)品復(fù)用指復(fù)用已有的軟件構(gòu)件,通過(guò)構(gòu)件集成(組裝)得到新系統(tǒng)。過(guò)程復(fù)用指復(fù)用已有的軟件開發(fā)過(guò)程,使
60、用可復(fù)用的應(yīng)用生成器來(lái)自動(dòng)或半自動(dòng)地生成所需系統(tǒng)。過(guò)程復(fù)用依賴于軟件自動(dòng)化技術(shù)的發(fā)展,目前只適用于一些特殊的應(yīng)用領(lǐng)域。產(chǎn)品復(fù)用是目前現(xiàn)實(shí)的、主流的途徑。 軟件復(fù)用技術(shù)軟件工程回顧軟件工程回顧軟件的概念、特點(diǎn)和分類 軟件工程概述軟件工程框架軟件生存周期軟件開發(fā)模型軟件配置管理配置管理項(xiàng)配置管理庫(kù)質(zhì)量要求管理規(guī)程工具軟件測(cè)試測(cè)試目的軟件測(cè)試技術(shù)軟件測(cè)試工作規(guī)程測(cè)試組織 , CMM , PSP, TSP第二講 信息應(yīng)用系統(tǒng)監(jiān)理工作在本講中在本講中您能了解如下您能了解如下知識(shí)點(diǎn)知識(shí)點(diǎn):信息工程應(yīng)用系統(tǒng)建設(shè)監(jiān)理的意義監(jiān)理的目標(biāo)和內(nèi)容應(yīng)用軟件建設(shè)的質(zhì)量控制應(yīng)用軟件建設(shè)的進(jìn)度控制應(yīng)用軟件建設(shè)的投資控制信息工
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《創(chuàng)傷急救止血技巧》課件
- 《探索生態(tài)平衡之美:市級(jí)公開課自然生態(tài)的奧秘課件》
- 農(nóng)產(chǎn)品軟件設(shè)計(jì)
- 小蝸牛的兒童詩(shī)課件
- 三基醫(yī)師題庫(kù)與參考答案解析
- 班主任溝通技能培訓(xùn)課件
- 2024年生物化學(xué)習(xí)題庫(kù)與答案(附解析)
- 2023年6月驗(yàn)光技術(shù)考試題及答案(附解析)
- 《抑郁與失眠》課件
- 船舶力學(xué)分析考核試卷
- 消防維修期間無(wú)水應(yīng)急預(yù)案
- DNA鑒定技術(shù)在刑事偵查中的運(yùn)用
- (完整word版)體檢報(bào)告單模版
- 警示片制作策劃方案
- 掌握認(rèn)知重構(gòu)的基本技巧
- 新能源綜合能源系統(tǒng)的設(shè)計(jì)與優(yōu)化
- 中國(guó)居民膳食指南(全)
- 《數(shù)據(jù)可視化》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 環(huán)境社會(huì)學(xué)考試必考點(diǎn)
- 多模態(tài)醫(yī)學(xué)影像融合
- 2023發(fā)電企業(yè)運(yùn)行管理辦法
評(píng)論
0/150
提交評(píng)論