![系統(tǒng)集成基礎(chǔ)知識_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e1.gif)
![系統(tǒng)集成基礎(chǔ)知識_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e2.gif)
![系統(tǒng)集成基礎(chǔ)知識_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e3.gif)
![系統(tǒng)集成基礎(chǔ)知識_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e4.gif)
![系統(tǒng)集成基礎(chǔ)知識_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e/7e1bd969-ca5f-46a9-b4ff-49828ed50e6e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第3章信息系統(tǒng)集成專業(yè)技術(shù)知識3.1 信息系統(tǒng)集成簡述 1信息系統(tǒng)集成概念 信息系統(tǒng)集成是近年來國際信息服務(wù)業(yè)中發(fā)展勢頭最猛的服務(wù)方式和行業(yè)之一。系統(tǒng)集成是指將計算機軟件,硬件、網(wǎng)絡(luò)通信等技術(shù)和產(chǎn)品集成為能夠滿足用戶特定需求的信息系統(tǒng),包括總體策劃、設(shè)計、開發(fā)、實施、服務(wù)及保障。 信息系統(tǒng)集成有以下幾個顯著特點。 (1)信息系統(tǒng)集成要以滿足用戶需求為根本出發(fā)點。 (2)信息系統(tǒng)集成不只是設(shè)備選擇和供應(yīng),更重要的,它是具有高技術(shù)含量的工程過程,要面向用戶需求提供全面解決方案,其核心是軟件。 (3)系統(tǒng)集成的最終交付物是一個完整的系統(tǒng)而不是一個分立的產(chǎn)品。 (4)系統(tǒng)集成包括技術(shù)、管理和商務(wù)等各項
2、工作,是一項綜合性的系統(tǒng)工程。技術(shù)是系統(tǒng)集成工作的核心,管理和商務(wù)活動是系統(tǒng)集成項目成功實施的保障。 2信息系統(tǒng)集成分類 系統(tǒng)集成主要包括設(shè)備系統(tǒng)集成和應(yīng)用系統(tǒng)集成。 1)設(shè)備系統(tǒng)集成 設(shè)備系統(tǒng)集成,也可稱為硬件系統(tǒng)集成,在大多數(shù)場合簡稱系統(tǒng)集成,或稱為弱電系統(tǒng)集成,以區(qū)分于機電設(shè)備安裝類的強電集成。設(shè)備系統(tǒng)集成也可分為智能建筑系統(tǒng)集成、計算機網(wǎng)絡(luò)系統(tǒng)集成、安防系統(tǒng)集成等。 (l)智能建筑系統(tǒng)集成(Intelligent Building System Integration,指以搭建建筑主體內(nèi)的建筑智能化管理系統(tǒng)為目的,利用綜合布線技術(shù)、樓宇自控技術(shù)、通信技術(shù)、網(wǎng)絡(luò)互聯(lián)技術(shù)、多媒體應(yīng)用技術(shù)、
3、安全防范技術(shù)等將相關(guān)設(shè)備、軟件進行集成設(shè)計、界面定制開發(fā)、安裝調(diào)試和應(yīng)用支持。智能建筑系統(tǒng)集成實施的子系統(tǒng)包括綜合布線、樓字自控、電話交換機、機房工程、監(jiān)控系統(tǒng)、防盜報警、公共廣播、門蔡系統(tǒng)、樓字對講、一卡通、停車管理、消防系統(tǒng)、多媒體顯示系統(tǒng)、遠程會議系統(tǒng)等。對于功能近似、統(tǒng)一管理的多幢住宅樓的智能建筑系統(tǒng)集成,又稱為智能小區(qū)系統(tǒng)集成。 (2)計算機網(wǎng)絡(luò)系統(tǒng)集成(Computer Network System Integration),指通過結(jié)構(gòu)化的綜合布線系統(tǒng)和計算機網(wǎng)絡(luò)技術(shù),將各個分離的設(shè)備(如個人電腦等)、功能和信息等集成到相互關(guān)聯(lián)、統(tǒng)一協(xié)調(diào)的系統(tǒng)之中,使資源達到充分共享,實現(xiàn)集中、高
4、教、便利的管理。系統(tǒng)集成應(yīng)采用功能集成、網(wǎng)絡(luò)集成、軟件集成等多種集成技術(shù),其實現(xiàn)的關(guān)鍵在于解決系統(tǒng)之間的互連和互操作問題,通常采用多廠商、多協(xié)議和面向各種應(yīng)用的架構(gòu),需要解決各類設(shè)備、子系統(tǒng)間的接口、協(xié)議、系統(tǒng)平臺、應(yīng)用軟件等與子系統(tǒng)、建筑環(huán)境、施工配合、組織管理和人員配備相關(guān)的一切面向集成的問題。 (3)安防系統(tǒng)集成(Security System Integration),以搭建組織機構(gòu)內(nèi)的安全防范管理平臺為目的。安防系統(tǒng)集成實施的子系統(tǒng)包括門禁系統(tǒng)、樓宇對講系統(tǒng)、監(jiān)控系統(tǒng)、防盜報警、一卡通、停車管理、消防系統(tǒng)、多媒體顯示系統(tǒng)、遠程會議系統(tǒng)。安防系統(tǒng)集成既可作為一個獨立的系統(tǒng)集成項目,也可
5、作為一個子系統(tǒng)包含在智能建筑系統(tǒng)集成中。 2)應(yīng)用系統(tǒng)集成 應(yīng)用系統(tǒng)集成( Application System Integration),從系統(tǒng)的高度提供符合客戶需求的應(yīng)用系統(tǒng)模式并實現(xiàn)該系統(tǒng)模式的具體技術(shù)解決方案和運維方案,即為用戶提供一個全面的系統(tǒng)解決方案。應(yīng)用系統(tǒng)集成又稱為行業(yè)信息化解決方案集成,已經(jīng)深入到用戶具體業(yè)務(wù)和應(yīng)用層面。應(yīng)用系統(tǒng)集成可以說是系統(tǒng)集成的高級階段,獨立的應(yīng)用軟件俠應(yīng)商成為其中的核心。3.2信息系統(tǒng)建設(shè)3.2.1信息系統(tǒng)的生命周期 信息系統(tǒng)的生命周期可以分為4個階段:立項、開發(fā)、運維、消亡。 1立項階段 即其概念階段或需求階段,這一階段分為兩個過程:一是概念的形成過
6、程,根據(jù)用戶單位業(yè)務(wù)發(fā)展和經(jīng)營管理的需要,提出建設(shè)信息系統(tǒng)的初步構(gòu)想;二是需求分析過程,即對企業(yè)信息系統(tǒng)的需求進行深入調(diào)研和分析,形成需求規(guī)范說明書,經(jīng)評審、批準后立項。 2開發(fā)階段 該階段又可分為以下階段。 (1)總體規(guī)劃階段:是系統(tǒng)開發(fā)的起始階段,以立項階段所做的需求分析為基礎(chǔ),明確信息系統(tǒng)在企業(yè)經(jīng)營戰(zhàn)略中的作用和地位,指導信息系統(tǒng)的開發(fā),優(yōu)化配置并利用各種資源,包括內(nèi)部資源和外部資源,通過規(guī)劃過程規(guī)范或完善用戶單位的業(yè)務(wù)流程。一個比較完整的總體規(guī)劃應(yīng)當包括信息系統(tǒng)的開發(fā)目標、總體結(jié)構(gòu)、組織結(jié)構(gòu)、管理流程、實施計劃、技術(shù)規(guī)范。 (2)系統(tǒng)分析階段:目標是為系統(tǒng)設(shè)計階段提供系統(tǒng)的邏輯模型,內(nèi)
7、容包括組織結(jié)構(gòu)及功能分析、業(yè)務(wù)流程分析、數(shù)據(jù)和數(shù)據(jù)流程分析及系統(tǒng)初步方案。 (3)系統(tǒng)設(shè)計階段:根據(jù)系統(tǒng)分析的結(jié)果設(shè)計出信息系統(tǒng)的實施方案,主要內(nèi)容包括系統(tǒng)架構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、處理流程設(shè)計、功能模塊設(shè)計、安全控制方案設(shè)計、系統(tǒng)組織和隊伍設(shè)計及系統(tǒng)管理流程設(shè)計。 (4)系統(tǒng)實施階段:是將設(shè)計階段的成果在計算機和網(wǎng)絡(luò)上具體實現(xiàn),即將設(shè)計文本變成能在計算機上運行的軟件系統(tǒng)。由于系統(tǒng)實施階段是對以前全部工作的檢驗,因此用戶的參與特別重要。 (5)系統(tǒng)驗收階段:通過試運行,系統(tǒng)性能的優(yōu)劣及其他各種問題都會暴露在用戶面前,即進入了系統(tǒng)驗收階段。 3運維階段 信息系統(tǒng)通過驗收,正式移交給用戶以后,就進入運
8、維階段,系統(tǒng)長時間的有效運行是檢驗系統(tǒng)質(zhì)量的試金石。 要保障系統(tǒng)正常運行,系統(tǒng)維護是不可缺少的工作。維護可分為4種類型:排錯性維護、適應(yīng)性維護、完善性維護、預(yù)防性維護。 4消亡階段 開發(fā)一個信息系統(tǒng)并希望它一勞永逸地運行下去是不現(xiàn)實的。企業(yè)的信息系統(tǒng)經(jīng)常不可避免地會遇到系統(tǒng)更新改造、功能擴展,甚至報廢重建等情況。對此,用戶單位應(yīng)當在信息系統(tǒng)建設(shè)的初期就注意系統(tǒng)消亡條件和時機,以及由此而花費的成本。3.2.2信息系統(tǒng)開發(fā)方法 信息系統(tǒng)的開發(fā)是一項艱巨酌工作,需要大量的人力、物力、財力和時間的投入。為實現(xiàn)系統(tǒng)開發(fā)在效率、質(zhì)量、成本等方面的要求及達到用戶滿意,除了技術(shù)、管理等因素外,系統(tǒng)開發(fā)方法也起
9、著很重要的作用。 常用的開發(fā)方法有:結(jié)構(gòu)化方法、原型法、面向?qū)ο蠓椒ā?1結(jié)構(gòu)化方法 結(jié)構(gòu)化方法是應(yīng)用最為廣泛的一種開發(fā)方法。 按照信息系統(tǒng)生命周期,應(yīng)用結(jié)構(gòu)化系統(tǒng)開發(fā)方法,把整個系統(tǒng)的開發(fā)過程分為若干階段,然后一步一步她依次進行,前一階段是后一階段的工作依據(jù);每個階段又劃分詳細的工作步驟,順序作業(yè)。每個階段和主要步驟都有明確詳盡的文檔編制要求,各個階段和各個步驟的向下轉(zhuǎn)移都是通過建立各自的軟件文檔和對關(guān)鍵階段、步驟進行審核和控制實現(xiàn)的。 結(jié)構(gòu)化方法具有如下特點。 (l)遵循用戶至上原則。 (2)嚴格區(qū)分工作階段,每個階段有明確的任務(wù)和取得的成果。 (3)強調(diào)系統(tǒng)開發(fā)過程的整體性和全局性。 (
10、4)系統(tǒng)開發(fā)過程工程化,文檔資料標準化。 該方法的優(yōu)點是:理論基礎(chǔ)嚴密,它的指導思想是用戶需求在系統(tǒng)建立之前就能被充分了解和理解。由此可見,結(jié)構(gòu)化方法注重開發(fā)過程的整體性和全局性。 該方法的缺點是:開發(fā)周期長;文檔、設(shè)計說明繁瑣,工作效率低;要求在開發(fā)之初全面認識系統(tǒng)的信息需求,充分預(yù)料各種可能發(fā)生的變化,但這并不十分現(xiàn)實;若用戶參與系統(tǒng)開發(fā)的積極性沒有充分調(diào)動,造成系統(tǒng)交接過程不平穩(wěn),系統(tǒng)運行與維護管理難度加大。 2原型法 原型法的基本思想與結(jié)構(gòu)化方法不同,原型法認為在很難一下子全面準確地提出用戶需求的情況下,首先不要求一定要對系統(tǒng)做全面、詳細的調(diào)查、分析,而是本著開發(fā)人員對用戶需求的初步理
11、解,先快速開發(fā)一個原型系統(tǒng),然后通過反復(fù)修改來實現(xiàn)用戶的最終系統(tǒng)需求。 原型應(yīng)當具備的特點如下。 (1)實際可行。 (2)具有最終系統(tǒng)的基本特征。 (3)構(gòu)造方便、快速,造價低。 原型法的特點在于原型法對用戶的需求是動態(tài)響應(yīng)、逐步納入的,系統(tǒng)分析、設(shè)計與實現(xiàn)都是隨著對一個工作模型的不斷修改而同時完成的,相互之間并無明顯界限,也沒有明確分工。系統(tǒng)開發(fā)計劃就是一個反復(fù)修改的過程。適于用戶需求開始時定義不清、管理決策方法結(jié)構(gòu)化狂度不高的系統(tǒng)開發(fā),開發(fā)方法更宜被用戶接受;但如果用戶配合不好,盲目修改,就會拖延開發(fā)過程。 可以將原型分類如下。 (1)拋棄型原型(Throw-It-Away Prototy
12、pe),此類原型在系統(tǒng)真正實現(xiàn)以后就放棄不用了。 (2)進化型原型(Evolutionary Prototype),此類原型的構(gòu)造從目標系統(tǒng)的一個或幾個基本需求出發(fā),通過修改和追加功能的過程逐漸豐富,演化成最終系統(tǒng)。 3面向?qū)ο蠓椒? Object Oriented,OO) 隨著應(yīng)用系統(tǒng)日益復(fù)雜龐大和面向?qū)ο蟪绦蛟O(shè)計語言的日益成熟,面向?qū)ο蟮南到y(tǒng)開發(fā)方法以其直觀、方便的優(yōu)點獲得廣泛應(yīng)用。 面向?qū)ο蠓椒ǖ幕舅枷肴缦隆?(1)客觀事物是由對象組成的,對象是在原事物基礎(chǔ)上抽象的結(jié)果。 (2)對象是由屬性和操作組成的,其屬性反映了對象的數(shù)據(jù)信息特征,而操作則用來定義改變對象屬性狀態(tài)的各種操作方式。
13、(3)對象之間的聯(lián)系通過消息傳遞機制來實現(xiàn),而消息傳遞的方式是通過消息傳遞模式和方法所定義的操作過程來完成的。 (4)對象可以按其屬性來歸類,借助類的層次結(jié)構(gòu),子類可以通過繼承機制獲得其父類的特性。 (5)對象具有封裝的特性,一個對象就構(gòu)成一個嚴格模塊化的實體,在系統(tǒng)開發(fā)中可被共享和重復(fù)引用,達到軟件(程序和模塊)復(fù)用的目的。 面向?qū)ο蟮男畔⑾到y(tǒng)開發(fā),其關(guān)鍵點是能否建立一個全面、合理、統(tǒng)一的模型,它既能反映問題域,也能被計算機系統(tǒng)求解域所接受。 面向?qū)ο箝_發(fā)方法主要有分析、設(shè)計和實現(xiàn)三個階段。面向?qū)ο蠓椒ㄔ谡麄€開發(fā)過程中使用的是同一套工具,。整個開發(fā)過程實際上都是對面向?qū)ο笕N模型的建立、補充
14、完善和表達驗證。因此,面向?qū)ο箝_發(fā)方法中分析、設(shè)計和實現(xiàn)三個階段的界限并非十分明確,但對信息系統(tǒng)的開發(fā)劃分階段還是十分必要的。 在系統(tǒng)開發(fā)的實際工作中,往往根據(jù)需要將多種開發(fā)方法進行組合應(yīng)用,最終完成系統(tǒng)開發(fā)的全部任務(wù)。具體的組合形式可以分為如下幾種。 (1)結(jié)構(gòu)化方法與原型法的組合應(yīng)用。 (2)結(jié)構(gòu)化方法與面向?qū)ο蠓椒ǖ慕M合應(yīng)用。 (3)原型法與面向?qū)ο蠓椒ǖ慕M合應(yīng)用。3.3軟件工程 20世紀60年代末至20世紀70年代初,在計算機軟件的開發(fā)和維護過程中遇到了一系列嚴重問題,使人們普遍認識到了“軟件危機”的存在。軟件危機使軟件成本日益增長、開發(fā)進度難以控制、歟件質(zhì)量無法保證、軟件維護困難等。
15、產(chǎn)生這些問題的主要原因在于:所開發(fā)軟件的規(guī)模越來越大、復(fù)雜度越來越高,與此同時,用戶需求并不十分明確,且缺乏軟件開發(fā)方法學和工具方面的支持。這使得人們開始用工程的方法進行軟件的開發(fā)、管理和維護,即“軟件工程”。軟件工程在軟件開發(fā)方法、工具、管理等方面的應(yīng)用在很大程度上解決了軟件危機所引發(fā)的問題。 本節(jié)從軟件需求開始,介紹軟件工程師的若干要項。3.3.1軟件需求分析與定義 軟件需求是一個為解決特定問題而必須由披開發(fā)或被修改的軟件展示的特性。這個問題可能是使用軟件的某人的任務(wù)中的一個自動化部分,或是支持委托開發(fā)軟件的組織的業(yè)務(wù)流程,或修正當前軟件的缺點,或是控制一個設(shè)備等。用戶、業(yè)務(wù)流程和設(shè)備的功
16、能通常根復(fù)雜,因此,特定軟件的需求在外延上通常是來自一個組織不同層次的不同人員的需求和來自軟件將要在其中運行的環(huán)境的需求的復(fù)雜組合。 所有軟件需求的一個基本特性就是可驗證性。驗證某些軟件需求可能很困難或者成本很高。軟件需求和軟件質(zhì)保人員都必須保證,在現(xiàn)有的資源約束下,需求可以被驗證。 除了其表達的行為特性外,需求還有其他特性,如優(yōu)先級,以便在資源有限時進行權(quán)衡。通常,要唯一地標識軟件需求,才能在整個軟件生命周期中,進行軟件配置控制和管理。 需求分析涉及分析需求的過程,其目的如下。 (1)檢測和解決需求之間的沖突。 (2)發(fā)現(xiàn)軟件的邊界,以及軟件與其環(huán)境如何交互。 (3)詳細描述系統(tǒng)需求,以導出
17、軟件需求。 描述需求時必須仔細,應(yīng)該精確到能確認需求,驗證需求的實現(xiàn),估算需求的成本。 開發(fā)真實世界問題的模型是軟件需求分析的關(guān)鍵,模型的目的是幫助理解問題,而不是啟動方案的設(shè)計。因此,概念模型由來自問題域的實體模型組成,實體模型反映了它們在真實世界的聯(lián)系和依賴。可以開發(fā)的模型包括數(shù)據(jù)和控制流、狀態(tài)模型、事件追蹤、用戶交互、對象模型、數(shù)據(jù)模型,以及其他模型。 架構(gòu)設(shè)計是需求過程與軟件或系統(tǒng)設(shè)計重疊進行的,將二者截然分開是不可能的。其工作是需求分配,即將滿足需求的職責分配到組件上。 需求協(xié)商的另一個普遍使用的術(shù)語是“解決沖突”。這涉及需求沖突的問題,沖突發(fā)生在兩個不兼容的需求之間,或者發(fā)生在需求
18、與資源之間,或者在功能與非功能需求之間。3-3.2軟件設(shè)計、測試與維護 1軟件設(shè)計 軟件設(shè)計是“定義一個系統(tǒng)或組件的架構(gòu)、組件、接口和其他特征的逆程”,并得到“這個過程的結(jié)果M。作為過程看待時,軟件設(shè)計是一種軟件生命周期活動,在這個活動中,要分析軟件需求,以產(chǎn)生一個軟件內(nèi)部結(jié)構(gòu)的描述,并將其作為軟件構(gòu)造的基礎(chǔ)。更精確地說,軟件設(shè)計必須描述軟件架構(gòu)和這些組件之間的接口,也必須在詳細的層次上描述組件,以便能構(gòu)造這些組件。 軟件設(shè)計在軟件開發(fā)中起著重要作用,通過它形成要實現(xiàn)的各種不同模型。分析和評價這些模型,以確定它們能否實現(xiàn)各種不同的需求,在各種不同的候選方案中進行權(quán)衡,確定最終方案。最后,將其作
19、為構(gòu)造和測試的輸入和起始點,并用來規(guī)劃后續(xù)的開發(fā)活動。 軟件設(shè)計由兩個處于軟件需求和軟件構(gòu)造之間的活動組成。 軟件架構(gòu)設(shè)計(有時叫做高層設(shè)計):描述軟件的結(jié)構(gòu)和組織,標識各種不同的 組件。 軟件詳細設(shè)計:詳細地描述各個組件,使之能被構(gòu)造。 軟件架構(gòu)是“一個描述軟件系統(tǒng)的子系統(tǒng)和組件,以及它們之間相互關(guān)系的學科”。架構(gòu)試圖定義軟件的內(nèi)部結(jié)構(gòu)。通過視圖可以從不同角度描述軟件結(jié)構(gòu),主要包括邏輯視圖(滿足功能需求)、過程視圖(并發(fā)問題)、組件視圖(實現(xiàn)問題)、部署視圖(分布問題)。 模式提供了架構(gòu)設(shè)計的某些方法。模式是“給定上下文中普遍問題的普遍解決方案”,主要涉及設(shè)計模式(微觀架構(gòu)模式)和架構(gòu)模式(
20、宏觀架構(gòu))。 2軟件測試 測試是為評價和改進產(chǎn)品質(zhì)量、識別產(chǎn)品的缺陷和問題而進行的活動。 軟件測試是針對一個程序的行為,在有限測試用例集合上,動態(tài)驗證是否達到預(yù)期的行為,需要選取適當?shù)臏y試用例。 測試不再只是一種僅在編碼階段完成后才開始的活動?,F(xiàn)在的軟件測試被認為是一種應(yīng)該包括在整個開發(fā)和維護過程中的活動,它本身是實際產(chǎn)品構(gòu)造的一個重要部分。 測試不僅是檢查預(yù)防措施是否有效的主要手段,而且是識別由于某種原因預(yù)舫措施無效而產(chǎn)生的錯誤的主要手段。需要注意的是,在廣泛的測試活動成功完成后,軟件可能仍包含錯誤,交付后出現(xiàn)的軟件失效的補救措施是由軟件維護達成的。 軟件測試隨開發(fā)和維護過程,通常在不同的級
21、別上進行,可以在概念上區(qū)分三個大的測試階段:單元測試、集成測試和系統(tǒng)測試。 3軟件維護 軟件開發(fā)工作的結(jié)果是交付滿足用戶需求的軟件產(chǎn)品。相應(yīng)地,軟件產(chǎn)品必然存在變更和演化。一旦投入運行,就可能發(fā)現(xiàn)缺昭,運行環(huán)境可能會變化,用戶會提出新的需求。軟件維護是坐命周期的一個完整部分。 可以將軟件維護定義為需要提供軟件支持的全部活動。這些活動包括在交付前完成的活動,以及交付后完成的活動。交付前完成的活動包括交付后運行的計劃和維護計劃等。交付后的活動包括軟件修改、培訓、幫助資料等。 軟件維護包括如下類型。 (1)更正性維護:軟件產(chǎn)品交付后進行的修改,以更正發(fā)現(xiàn)的問題。 (2)適應(yīng)性維護:軟件產(chǎn)品交付后進行
22、的修改,以保持軟件產(chǎn)品能在變化后或變化中的環(huán)境中可以繼續(xù)使用。 (3)完善性維護:軟件產(chǎn)品交付后進行的修改,以改進性能和司維護性。 (4)預(yù)防性維護:軟件產(chǎn)品交付后進行的修改,以在軟件產(chǎn)品中的潛在錯誤成為實際錯誤前,檢測和更正它們。33.3軟件復(fù)用 軟件復(fù)用是指利用已有軟件的各種有關(guān)知識構(gòu)造新的軟件,以縮減軟件開發(fā)和維護的費用。軟件復(fù)用是提高軟件生產(chǎn)力和質(zhì)量的一種重要技術(shù)。早期的軟件復(fù)用主要是代碼級復(fù)用,被復(fù)用的知識專指程序,后來擴大到包括領(lǐng)域知識、開發(fā)經(jīng)驗、設(shè)計決策、架構(gòu)、需求、設(shè)計、代碼和文檔等一切有關(guān)方面。 軟件復(fù)用是一種計算機軟件工程方法和理論。20世紀60年代的“軟件危機”使程序設(shè)計
23、人員明白難于維護的軟件的成本是極其高昂的,當軟件的規(guī)模不斷擴大時,這種軟件的綜合成本可以說是沒有人能負擔的,并且即使投入了高昂的資金也難以得到可靠的產(chǎn)品,而軟件重用是解決這一問題的有效方法。 軟件復(fù)用的主要思想是,將軟件看成是由不同功能的“組件”所組成的有機體,每一個組件在設(shè)計編寫時可以被設(shè)計成完成同類工作的通用工具,這樣,如果完成各種工作的組件被建立起來以后,編寫某一特定軟件的工作就變成了將各種不同組件組織連接起來的簡單問題,這對于軟件產(chǎn)品的最終質(zhì)量和維護工作都有本質(zhì)性的改變。 軟件制品的復(fù)用,按抽象程度的高低,可以劃分為如下復(fù)用級別:代碼的復(fù)用、設(shè)計的復(fù)用、分析的復(fù)用、測試信息的復(fù)用等。
24、支持軟件復(fù)用是人們對面向?qū)ο蠓椒耐械闹饕M唬彩沁@種方法受到廣泛重視的主要原因之一。面向?qū)ο蠓椒ㄖ蕴貏e有利于軟件復(fù)用,是由于它的主要概念及原則與軟件復(fù)用的要求十分吻合。 面向?qū)ο蟮能浖_發(fā)和軟件復(fù)用之間的關(guān)系是相輔相成的。一方面,面向?qū)ο蟮姆椒ǖ幕靖拍睢⒃瓌t與技術(shù)提供了實現(xiàn)軟件復(fù)用的有利條件;另一方面,軟件復(fù)用技術(shù)也對面向?qū)ο蟮能浖_發(fā)提供了有力的支持。3.3.4軼件質(zhì)量保證及質(zhì)量評價 1999年,軟件“產(chǎn)品評價”國際標準IS014598給出的“軟件質(zhì)量”的定義是:軟件特性的總合,軟件滿足規(guī)定或潛在用戶需求的能力。也就是說,質(zhì)量就是遵從用戶需求,達到用戶滿意。 2001年,軟件“
25、產(chǎn)品質(zhì)量”國際標準IS09126定義的軟件質(zhì)量包括“內(nèi)部質(zhì)量”、“外部質(zhì)量”和“使用質(zhì)量”三部分。也就是說,“軟件滿足規(guī)定或潛在用戶需求的能力”要從軟件在內(nèi)部、外部和使用中的表現(xiàn)來衡量。 軟件需求定義了軟件質(zhì)量特性,并影響評價這些特性的度量方法和接收準則。 應(yīng)在軟件過程、產(chǎn)品和資源的各個方面進行軟件質(zhì)量管理,軟件質(zhì)量管理過程由許多活動組成,一些活動可直接發(fā)現(xiàn)缺陷,其他活動則指出深入的檢查是否有價值,前者也稱為直接缺陷發(fā)現(xiàn)活動,許多活動都可以達到這兩個目的。 軟件質(zhì)量管理過程包括:質(zhì)量保證過程、驗證過程、確認過程、評審過程、審計過程等。 1軟件質(zhì)量保證 軟件質(zhì)量保證過程通過計劃制訂、實施和完成一
26、組活動提供保證,這些活動保證項目生命周期中的軟件產(chǎn)品和過程符合其規(guī)定的需求。 軟件質(zhì)量保證計劃定義了用于保證為特定產(chǎn)品開發(fā)的軟件滿足用戶需求并在項目的約束內(nèi)具有最高的質(zhì)量的手段。 2驗證與確認 驗證與確認過程使用能夠定位缺陷并便于以后改正的測試技術(shù)直接處理軟件產(chǎn)品質(zhì)量問題。 驗證與確認過程確定某一開發(fā)和維護括動的產(chǎn)品是否符合活動的需求,尾終的軟件產(chǎn)品是否達到其意圖并滿足用戶需求。驗證過程試圖確保活動的輸出產(chǎn)品已經(jīng)被正確制造,即活動的輸出產(chǎn)品滿足前面活動施加的規(guī)范說明;確認過程則試圖確保建造了正確的產(chǎn)品,即產(chǎn)品滿足其特定的目的。 3評審與審計 評審與審計過程包括:管理評審、技術(shù)評審、檢查、走查、
27、審計等。 管理評審的目的是監(jiān)控進展,決定計劃和進度的狀態(tài),確認需求及其系統(tǒng)分配,或評價用于達到目標適應(yīng)性的管理方法的有效性。它們支持有關(guān)軟件項目期間需求的變更和其他變更活動。 技術(shù)評審的目的是評價軟件產(chǎn)品。以確定其對使用意圖的適合性,目標是識別規(guī)范說明和標準的差異,并向管理提供證據(jù),以表明產(chǎn)品是否滿足規(guī)范說明并遵從標準,而且可以控制變更。 檢查的目的是檢測和識別軟件產(chǎn)品異常。一次檢查通常針對產(chǎn)品的一個相對小的部分。發(fā)現(xiàn)的任何異常都要記錄到文檔中,并提交。 走查的目的是評價軟件產(chǎn)品,走查也可以用于培訓軟件產(chǎn)品的聽眾,主要目標是:發(fā)現(xiàn)異常、改進軟件產(chǎn)品、壽慮其他實現(xiàn)、評價是否遵從標準和規(guī)范說明。走
28、查類似于檢查,但通常不那么正式。走查通常主要由同事評審其工作,以作為一種保障技術(shù)。 軟件審計的目的是提供軟件產(chǎn)品和過程對于可應(yīng)用的規(guī)則、標準、指南、計劃和流程的遵從性的獨立評價。審計是正式組織的活動,識別違例情況,并產(chǎn)生一個報告,采取更正性行動。33.5軟件配置管理 軟件配置管理是有益于項目管理、開發(fā)和維護活動。軟件配置管理與軟件質(zhì)量保證活動密切相關(guān),軟件配置管理活動可以幫助達成軟件質(zhì)量保證目標。 軟件配置管理活動有;軟件配置管理過程的管理和計劃、軟件配置標識、軟件配置控制、軟件配置狀態(tài)記錄、軟件配置審計、軟件發(fā)布管理與交付。 l,軟件配置管理過程的管理和計劃 軟件配置管理通過標識產(chǎn)品的元素、
29、管理和控制變更、驗證、記錄和報告配置信息,來控制產(chǎn)品的進化和完整性。為了給項目的軟件配置管理制訂計劃,有必要理解組織結(jié)構(gòu)上下文環(huán)境和組織的元素之間的聯(lián)系。軟件配置管理在記錄管理和非遵從項(non-conforming)等問題上,可能與組織的質(zhì)量保證活動交互。軟件配置管理也許與軟件開發(fā)和維護組織的聯(lián)系最緊密。正是在這個上下文環(huán)境中,需要進行許多軟件配置控制任務(wù)。通常,同樣的工具可以支持開發(fā)、維護和軟件配置管理。 2軟件配置標識 軟件配置標識活動標識要控制的項,為這些項及其版本建立標識模式,安裝獲取和管理受控項時使用的工具。這些活動為其他軟件配置管理活動提供了基礎(chǔ)??刂谱兏牡谝徊骄褪菢俗R要控制的
30、軟件項,這涉及理解在系統(tǒng)配置上下文環(huán)境中的軟件配置、選擇軟件配置項、開發(fā)為軟件項加標簽并描述它們之間關(guān)系的策略、標識要使用的基線以及獲取基線的項的流程。 3軟件配置控制 軟件配置控制關(guān)注管理軟件生命周期中的變更,它覆蓋確定要作什么樣的變更的過程、批準某些變更的權(quán)力職權(quán)、支持這些變更的實現(xiàn),以及與項目需求偏離和放棄這些偏離的概念。 4軟件配置狀態(tài)記錄 軟件配置狀態(tài)記錄要記錄和報告進行有效的軟件配置管理需要的信息。軟件配置狀態(tài)記錄活動為在生命周期中捕獲和報告必要的信息設(shè)計和運行一個系統(tǒng),同任何信息系統(tǒng)一樣,必須標識、收集和維持為進化中的配置要管理的配置狀態(tài)信息。 5軟件配置審計 軟件審計是獨立評價
31、軟件產(chǎn)品和過程是否遵從已有的規(guī)則、標準、指南、計劃和流程而進行的活動。審計是根據(jù)由不同的審計規(guī)則和責任而定義的過程進行的。軟件功能醍置審計的目的是保證被審計的軟件實現(xiàn)與其相關(guān)的規(guī)范說明一致。 6軟件發(fā)布管理和交付 當軟件項的不同版本可以用于交付時,如不同平臺的版本,通常有必要重新創(chuàng)建特定的版本,并將交付版本的正確材料打包。完成發(fā)布和交付任務(wù)時,軟件庫是關(guān)鍵的元素。3.3.6軟件開發(fā)環(huán)境 軟件開發(fā)工具是用于輔助軟件生命周期過程的基于計算機的工具。通??梢栽O(shè)計并實現(xiàn)工具來支持特定的軟件工程方法,減少手工方式管理的負擔。與軟件工程方法一樣,它們試圖讓軟件工程更加系統(tǒng)化,工具的種類包括支持單個任務(wù)的工
32、具及囊括整個生命周期的工具。 1軟件需求工具 軟件需求工具包括需求建模工具和需求追蹤工具。 2軟件設(shè)計工具 軟件設(shè)計工具用于創(chuàng)建和檢查軟件設(shè)計,因為軟件設(shè)計方法的多樣性,這類工具的種類很多。 3軟件構(gòu)造工具 軟件構(gòu)造工具包括程序編輯器、 4。軟件測試工具 軟件測試工具包括測試生成器、能分析工具。編譯器和代碼生成器、解釋器、調(diào)試器等。測試執(zhí)行框架、測試評價工具、測試管理工具、性 5軟件維護工具 軟件維護工具包括理解工具(如可視化工具)和再造工具(如重構(gòu)工具)。 6軟件配置管理工具 軟件配置管理工具包括追蹤工具、版本管理工具和發(fā)布工具。 7軟件工程管理工具 軟件工程管理工具包括項目計劃與追蹤工具、
33、風險管理工具和度量工具。 8軟件工程過程工具 軟件工程過程工具包括建模工具、管理工具、軟件開發(fā)環(huán)境。 9軟件質(zhì)量工具 軟件質(zhì)量工具包括檢查工具和分析工具。3.3.7軟件過程管理 軟件工程管理集成了過程管理和項目管理,包括以下6個方面。 1啟動和范圍定義 進行啟動軟件工程項目的活動并作出決定。通過各種方法來有效地確定軟件需求,并從不同的角度評估項目的可行性。一旦可行性建立后,余下的任務(wù)就是需求驗證和變更流程的規(guī)范說明。 2軟件項目計劃 從管理的角度,進行為成功的軟件工程作準備而要采取的活動。使用迭代方式制訂計劃。要點在于評價并確定適當?shù)能浖芷谶^程,并完成相關(guān)的工作。 3。軟件項目實施 進行
34、軟件工程過程中發(fā)生的各種軟件工程管理活動。實施項目計劃,最重要的是遵循計劃,井完成相關(guān)的工作。 4評審和評價 進行確認軟件是否得到滿足的驗證活動。 5關(guān)閉 進行軟件工程項目完成后的活動。在這一階段,重新審查項目成功的準則。一旦關(guān)閉成立,進行歸檔、事后分析和過程改進活動。 6軟件工程度量 進行在軟件工程組織中有效地開發(fā)和實現(xiàn)度量的程序。3.4面向?qū)ο笙到y(tǒng)分析與設(shè)計3*4.1面向?qū)ο蟮幕靖拍?面向?qū)ο蟮幕靖拍钣袑ο?、類、抽象、封裝、繼承、多態(tài)、接口、消息、組件、模式和復(fù)用等。 I對象 對象是由數(shù)據(jù)及其操作所構(gòu)成的封裝體,是系統(tǒng)中用來描述客觀事物的一個封裝,是構(gòu)成系統(tǒng)的基本單位,采用計算機語言描
35、述,對象是由一組屬性和對這組屬性進行操作的一組服務(wù)構(gòu)成。 對象包含三個基本要素,分別是對象標識、對象狀態(tài)和對象行為。 每一個對象必須有一個名字以區(qū)別于其他對象,這就是對象標識;狀態(tài)用來描述對象的某些特征;對象行為用來封裝對象所擁有的業(yè)務(wù)操作。 舉例說明,對于教師Joe而言,包含性別、年齡、職位等個人狀態(tài)信息,同時還具有授課的行為特征,那么Joe就是封裝后的一個典型對象。 2類 類是現(xiàn)實世界中實體的形式化描述,類將該實體的數(shù)據(jù)和函數(shù)封裝在一起。類的數(shù)據(jù)也叫屬性、狀態(tài)或特征,它表現(xiàn)類靜態(tài)的一面。類的函數(shù)也叫功能、操作或服務(wù),它表現(xiàn)類動態(tài)的一面。 Joe是一名教師,也就擁有了教師的特征,這個特征就是
36、教師這個類所特有的,具體而言,共同的狀態(tài)通過屬性表現(xiàn)出來,共同的行為通過操作表現(xiàn)出來,如圖3-1所示。3類和對象的關(guān)系對象是類的實際例子。如果將對象比作房子,那么類就是房子的設(shè)計圖紙。例如,銀行里所有儲戶的賬戶,可以抽象為賬戶類。用自然語言描述賬戶類如下:類 賬戶(屬性: 存款人姓名; 身份證號f 開戶日期j 賬號j 密碼j 賬上余額j 行為: 存放(), 取款()j 用計算機語言表示賬戶類,命名賬戶類為ACCOUNT:Class ACCOUNT Attribute: n ame; ID Number; date; Account_Number; pasSword; total; Functi
37、on: Save c)j Withdraw(1, 賬戶類的對象,可以是一個個具體的儲戶如張三工行的賬戶、張三建行的賬戶、李四工行的賬戶。用計算機語言描述如下:Class ACCOUNT ZhangSan ICBCAccount;ZhangSan CBCAccount;LiSi ICaCAccount: - 類和對象的關(guān)系可以總結(jié)為: (1)每一個對象都是某一個類的實例。 (2)每一個類在某一時刻都有零或更多的實例。 (3)類是靜態(tài)的,它們的存在、語義和關(guān)系在程序執(zhí)行前就已經(jīng)定義好了,對象是動態(tài)的,它們在程序執(zhí)行時可以被創(chuàng)建和刪除。 (4)類是生成對象的模板。 4抽象 抽象是通過特定的實例抽取共
38、同特征以后形成概念的過程。它強調(diào)主要特征,忽略次要特征。一個對象是現(xiàn)實世界中一個實體的抽象,一個類足一組對象的抽象,抽象是系統(tǒng)集成項目管理工程師教程一種單一化的描述,它強調(diào)給出與應(yīng)用相關(guān)的特性,拋棄不相關(guān)的特性。 5封裝 封裝是將相關(guān)的概念組成一個單元,然后通過一個名稱來引用它。面向?qū)ο蠓庋b是將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝成一個整體對象,對數(shù)據(jù)的訪問或修改只能通過對象對外提供的接口進行。 對于銀行賬戶類而言,有取款和存款的行為特征,但實現(xiàn)細節(jié)對于客戶而言并不可見,所以在進行ATM提款交易的過程中,我們并不知道交易如何進行,對應(yīng)賬戶是如何保存狀態(tài)的,這就體現(xiàn)了對象的封裝。 6繼承 繼承表示類之間的層
39、次關(guān)系,這種關(guān)系使得某類對象可以繼承另外一類對象的特征(attributes)和能力(operations),繼承又可分為單繼承和多繼承,單繼承是子類只從一個父類繼承,而多繼承中的子類可以從多于一個的父類繼承,Java是單繼承的語言,而C+允許多繼承。 假設(shè)類B繼承類A,即類B中的對象具有類A的一切特征(包括屬性和操作)。類A稱為基類或父類或超類,類B稱為類A的派生類或子類,類B在類A的基礎(chǔ)上還可以有一些擴展。 如圖3-2所示,Dog和Cat類都是從Mammal繼承而來,具有父類的eyeColor屬性特征,因此在子類中就下用重復(fù)指定eyeColor這個屬性。 7多態(tài) 多態(tài)性是一種方法,這種方法
40、使得在多個類中可以定義同一個操作或?qū)傩悦?,并在每個類中可以有不同的實現(xiàn)。多態(tài)性使得一個屬性或變量在不同的時期可以表示不同類的對象。 如圖3-3所示,Rectangle和Circle都繼承于Shape,對于Shape而言,會有g(shù)etArea0的操作。但顯而易見,RectaI y;le和Circle的getArea()方法的實現(xiàn)是完全不一樣的,這就體現(xiàn)了多態(tài)的特征。 8接口 所謂接口就是對操作規(guī)范的說明。接口只是說明操作應(yīng)該做什么( What),但沒有定義操作如何做( How)。接口可以理解成為類的一個特例,它只規(guī)定實現(xiàn)此接口的類的操作方法,而把真正的實現(xiàn)細節(jié)交由實現(xiàn)該接口的類去完成。 接口在面向
41、對象分析和設(shè)計過程中起到了至關(guān)重要的橋梁作用,系統(tǒng)分析員通常先把有待實現(xiàn)的功能封裝并定義成接口,而后期程序員依據(jù)此接口進行編碼實現(xiàn)。 9消息 消息(Message)是對象間的交互手段,其形式如下:Message: dest.op,paraJ 其中dest指目標對象Destination Object,op指操作Operation,para指操作需要的參數(shù)Parameters。 10.組件 組件是軟件系統(tǒng)可替換的、物理的組成部分,它封裝了實現(xiàn)體(實現(xiàn)某個職能)并提供了一組接口的實現(xiàn)方法??梢哉J為組件是一個封裝的代碼模塊或大粒度的運行對的模塊,也可將組件理解為具有一定功能、能夠獨立工作或同其他組件
42、組合起來協(xié)詞工作的對象。 對于組件,應(yīng)當按可復(fù)用的要求進行設(shè)計、實現(xiàn)、打包、編寫文檔。組件應(yīng)當是內(nèi)聚的,并具有相當穩(wěn)定的公開的接口。 為了使組件更切合實際、更有效地被復(fù)用,組件應(yīng)當其各“可變性”(variability),以提高其通用性。組件應(yīng)向復(fù)用者提供一些公共“特性”,另一方面還要提供可變的“特性”。針對不同的應(yīng)用系統(tǒng),只需對其可變部分進行適當?shù)恼{(diào)節(jié),復(fù)用者要根據(jù)復(fù)用的具體需要,改造組件的可變“特性”,即“客戶化”。 11.模式 模式是一條由三部分組成的規(guī)則,它表示了一個特定環(huán)境、一個問題和一個解決方案之間的關(guān)系。每一個模式描述了一個不斷重復(fù)發(fā)生的問題,以及該問題的解決方案。這樣就能一次又
43、一次地使用該方案而不必做重復(fù)勞動。 將設(shè)計模式引入軟件設(shè)計和開發(fā)過程的目的在于充分利用已有的軟件開發(fā)經(jīng)驗,這是因為設(shè)計模式通常是對于某一類軟件設(shè)計問題的可重用的解決方案。 設(shè)計模式使得人們可以更加簡單和方便地去復(fù)用成功的軟件設(shè)計和體系結(jié)構(gòu),從而能夠幫助設(shè)計者更快更好地完成系統(tǒng)設(shè)計。 12復(fù)用 軟件復(fù)用是指將已有的軟件及其有效成分用于構(gòu)造新的軟件或系統(tǒng)。組件技術(shù)是軟件復(fù)用實現(xiàn)的關(guān)鍵。3.4.2可視化建模與統(tǒng)一建模語言 1統(tǒng)一建模語言 1)統(tǒng)一建模語言的概念 統(tǒng)一建模語言(Unified Modeling Language,UMI。)是一個通用的可視化建模語言,它是面向?qū)ο蠓治龊驮O(shè)計的一種標準化表
44、示,用于對軟件進行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)的文檔。它記錄了對所構(gòu)造的系統(tǒng)的抉定和理解,可用于對系統(tǒng)的理解、設(shè)計、瀏覽、配置、維護和信息控制。UML適用于各種軟件開發(fā)方法、軟件生命周期的各個階段、各種應(yīng)用領(lǐng)域以及各種開發(fā)工具,是一種總結(jié)了以往建模技術(shù)的經(jīng)驗并吸收當今優(yōu)秀成果的標準建模方法。UML標準包括相關(guān)概念的語義,表示法和說明,提供了靜態(tài)、動態(tài)、系統(tǒng)環(huán)境及組織結(jié)構(gòu)的模型。它可被可視化建模工具所支持,這些工具提供了代碼生成器和報表生成器等。UML標準并沒有定義一種標準的開發(fā)過程,但它比較適用于迭代式的開發(fā)過程,是為支持大部分現(xiàn)存的面向?qū)ο箝_發(fā)過程而設(shè)計的。 UML描述了系統(tǒng)的靜態(tài)結(jié)
45、構(gòu)和動態(tài)行為,它將系統(tǒng)描述為一些獨立的相互作用的對象,構(gòu)成為外界提供一定功能的模型結(jié)構(gòu),靜態(tài)結(jié)構(gòu)定義了系統(tǒng)中重要對象的屬性和服務(wù),以及這些對象之間的相互關(guān)系,動態(tài)行為定義了對象的時間特性和對象為完成目標而相互進行通信的機制。 2)統(tǒng)一建模語言的特征 UML具有如下的語言特征。 (1)不是一種可視化的程序設(shè)計語言,而是一種可視化的建模語言。 (2)是一種建模語言規(guī)范說明,是面向?qū)ο蠓治雠c設(shè)計的一種標準表示。 (3)不是過程,也不是方法,但允許任何一種過程和方法使用它。 (4)簡單并且可擴展,具有擴展和專有化機制,便于擴展,無需對核心概念進行修改。 (5)為面向?qū)ο蟮脑O(shè)計與開發(fā)中涌現(xiàn)出的高級概念(
46、如協(xié)作、框架、模式和組件)提供支持,強調(diào)在軟件開發(fā)中,對架構(gòu)、框架、模式和組件的重用。 (6)與最好的軟件工程實踐經(jīng)驗集成。 3) UML的發(fā)展歷史 面向?qū)ο蠹夹g(shù)和UML的發(fā)展過程經(jīng)歷了長期的過程。在美國,截止1996年10月,UML獲得了工業(yè)界、科技界和應(yīng)用界的廣泛支持,已有700多個公司表示支持采用UML作為建模語言。1996年底,UML已穩(wěn)占面向?qū)ο蠹夹g(shù)市場的85%,成為可視化建模語言事實上的工業(yè)標準。1997年1 1月17日OMG采納UML l.1作為基于面向?qū)ο蠹夹g(shù)的標準建模語言。至今,UML已發(fā)展至2.X版本。UML代表了面向?qū)ο蠓椒ǖ能浖_發(fā)技術(shù)的發(fā)展方向,具有巨大的市場前景,也
47、具有重大的經(jīng)濟價值和國防價值。 2UML的設(shè)計目標 首先,晟重要的目標是使UML成為一個通用的建模語言,可供所有建模者使用。它并非某人專有,而是建立在計算機界普遍認同的基礎(chǔ)上,即它包括了各種圭要的方法并可作為它們的建模語言。其次,UML應(yīng)能夠很好地支持設(shè)計工作,像封裝、劃分等記錄模型構(gòu)造思路。此外,UML應(yīng)該能夠準確表達當前軟件開發(fā)中的熱點問題,比如軟件規(guī)模、分布、并發(fā)、方式和團隊開發(fā)等。 UML并不試圖成為一個完整的開發(fā)方法,它不包括一步一步的開發(fā)過程。UML和使用UML的軟件開發(fā)過程是兩回事。UML可以支持很多的,至少是目前現(xiàn)有的大部分軟件開發(fā)過程。UML包含了完整的概念,這些概念對于支持
48、基于一個健壯的架構(gòu)來解決用例驅(qū)動的選代式開發(fā)過程是必要的。 UML的最終目標是在盡可能簡單的同時能夠?qū)?yīng)用系統(tǒng)的各個方面建模。UML需要有足夠的表達能力以便可以處理現(xiàn)代軟件系統(tǒng)中出現(xiàn)的所有概念,如并發(fā)和分布,以及軟件工程中使用的技巧,如封裝和組件。它必須是一個通用語言,像任何一種通用程序設(shè)計語言一樣,這就意味著UML必將十分龐大,它比先前的建模語言更復(fù)雜、更全面。 3UML視圖 UML中的各種組件和概念之間沒有明顯的劃分界限,但為方便起見,用視圖來劃分這些概念和組件。視圖只是表達系統(tǒng)某一方面特征的UML,建模組件的子集。在每一類視圖中使用一種或多種特定的圖來可視化地表示視圖中的各種概念。 在晟
49、上一層,視圖被劃分成三個視圖域:結(jié)構(gòu)、動態(tài)行為和模型管理。 結(jié)構(gòu)描述了系統(tǒng)中的結(jié)構(gòu)成員及其相互關(guān)系。模型元素包括類、用例、構(gòu)件和節(jié)點。模型元素為研究系統(tǒng)動態(tài)行為奠定了基礎(chǔ)。結(jié)構(gòu)視圖包括靜態(tài)視圖、用例視圖和實現(xiàn)視圖。 動態(tài)行為描述了系統(tǒng)隨時間變化的行為。行為用從靜態(tài)視圖中抽取的瞬間值的變化來描述。動態(tài)行為視圖包括狀態(tài)機視圖、活動視圖和交互視圖。 模型管理說明了模型的分層組織結(jié)構(gòu)。包是模型的基本組織單元,特殊的包還包括模型和子系統(tǒng)。模型管理視圖跨越了其他視圖并根據(jù)系統(tǒng)開發(fā)和配置組織這些視圖。 UML還包括多種具有擴展能力的組件,這些擴展能力有限但很有用。這些組件包括約束、構(gòu)造型和標記值,它們適用于
50、所有的視圖元素。 在UML中,使用各種不同的符號元素,根據(jù)需求調(diào)研的結(jié)果,苒由符號畫成圖形以表示待建系統(tǒng)的結(jié)構(gòu)和行為。 UML提供了如下9種主要的圖來對待建系統(tǒng)進行建模。 用例圖(Use Case Diagram) 類圖(Class Diagram) 對象圖(Object Diagram) 構(gòu)件圖(Component Diagram) 部署圖( Deployment Diagram) 狀態(tài)圖(State Diagram) 序列圖(Sequence Diagram) 協(xié)作圖(Collaboration Diagram) 活動圖(ActMty Diagram) 表3-1列出了UML的視圖和視圖所包
51、括的圖以及與每種圖有關(guān)的主要概念。3.4.3使用面向?qū)ο蠹夹g(shù)進行軟件開發(fā)的最佳實踐_一RUP RUP是軟件工程的過程。它提供了在開發(fā)組織中分派任務(wù)和責任的紀律化方法。它的目標是在可預(yù)見的日程和預(yù)算的前提下,確保滿足雖終用戶需求的高質(zhì)量產(chǎn)品。 RUP是Rahonal公司開發(fā)和維護的過程產(chǎn)品。RUP的開發(fā)團隊與顧客、合作伙伴、Rational產(chǎn)品小組及顧問公司共同協(xié)作,確保開發(fā)過程持續(xù)地更新和提高以反映新的經(jīng)驗和不斷演化的實踐經(jīng)驗。 RUP提高了團隊生產(chǎn)力。對于所有的關(guān)鍵開發(fā)活動,它為每個團隊成員提供了使用準則、模板、工具指導來進行訪問的知識基礎(chǔ)。而通過對相同知識基礎(chǔ)的理解,無論是進行需求分析、設(shè)
52、計、測試項目管理或配置管理,均能確保全體成員共享相同的知識、過程和開發(fā)軟件的視圖。 RUP能對大部分開發(fā)過程提供自動化的工具支持。它們被用來創(chuàng)建和維護軟件開發(fā)過程(可視化建模、編程、測試等)的各種各樣的產(chǎn)物特別是模型。另外在每個迭代過程的變更管理和配置管理相關(guān)的文檔工作支持方面也是非常有價值的。 RUP是可配置的過程。RUP既適用小的開發(fā)團隊也適合大型開發(fā)組織。RUP建立簡潔和清晰的過程結(jié)構(gòu)為開發(fā)過程提供遁用性。并且,它可以變更以容納不同的情況。它還包含了開發(fā)工具包,為配置適應(yīng)特定組織機構(gòu)的開發(fā)過程提供了支持。 RUP以適合于大范圍項目和機構(gòu)的方式捕捉了許多現(xiàn)代軟件開發(fā)過程的最佳實踐。使用RUP作為指南,給開發(fā)團趴提供了大量的關(guān)鍵優(yōu)勢。 RUP的6個基本最佳實踐經(jīng)驗如下。 (1)迭代式開發(fā)。 (2)需求管理。 (3)使用以組件為中心的軟件架構(gòu)。 (4)可視化軟件建模。 (5)驗證軟件質(zhì)量。 (6)控制軟件變更。 RUP的開發(fā)過程可以用二維結(jié)構(gòu)或沿著兩個坐標軸來表達,如圖34所示。 軟件生命周期被分解為周期,每一個周期都工作在產(chǎn)品的一個新版本上。RUP將周期又劃分為4個連續(xù)的階段,即初始階段、細化階段、構(gòu)造階段和交付階段。每個階段終結(jié)于良好定義的里程碑某些關(guān)鍵決策必須做出的時間點,因此關(guān)鍵的目標必須被達到。3.4.4面向?qū)?/p>
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心靈相約與健康同行演講稿三篇
- 2025年四川職教高考《職業(yè)適應(yīng)性測試》考前沖刺模擬試題庫(附答案)
- 2025年“雄鷹杯”小動物醫(yī)師技能大賽備考試題庫(含答案)
- 錯誤記憶課件
- 【語文試卷+答案】2024-2025學年泉州高二上期末質(zhì)檢
- 專題04 世界古代史(易錯選擇題50道)
- 山東省德州市高三3月份高考模擬考試語文試題(含答案)
- 中班幼兒趣味親子活動策劃方案五篇
- 電子商務(wù)采購合同范本
- 物品抵押借款合同標準范本
- 2025年銷售部年度工作計劃
- 2024年蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- ESG表現(xiàn)對企業(yè)財務(wù)績效的影響研究
- 車間空調(diào)崗位送風方案
- 使用錯誤評估報告(可用性工程)模版
- 初一年級班主任上學期工作總結(jié)
- 2023-2024年同等學力經(jīng)濟學綜合真題及參考答案
- 農(nóng)村集體土地使用權(quán)轉(zhuǎn)讓協(xié)議
- 課件四露天礦山安全知識培訓
- 2024年高考全國甲卷英語試卷(含答案)
- 職業(yè)技術(shù)學院《裝配式混凝土構(gòu)件生產(chǎn)與管理》課程標準
評論
0/150
提交評論