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

下載本文檔

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

文檔簡(jiǎn)介

1、0軟件工程軟件工程 基本概述基本概述1本講核心本講核心q一、軟件工程過(guò)程q二、軟件生存期模型q三、軟件開(kāi)發(fā)方法q四、軟件工具與軟件開(kāi)發(fā)環(huán)境q五、路線圖2軟件項(xiàng)目過(guò)程軟件項(xiàng)目過(guò)程顧客 顧客需求滿意產(chǎn)品輸入 輸出產(chǎn)品實(shí)現(xiàn)3軟件工程三段論軟件工程三段論軟件開(kāi)發(fā)項(xiàng)目管理過(guò)程改進(jìn)4軟件開(kāi)發(fā)軟件開(kāi)發(fā)開(kāi)發(fā)過(guò)程是軟件人員生產(chǎn)軟件的過(guò)程,例開(kāi)發(fā)過(guò)程是軟件人員生產(chǎn)軟件的過(guò)程,例如需求分析、設(shè)計(jì)、編碼、測(cè)試等如需求分析、設(shè)計(jì)、編碼、測(cè)試等,相當(dāng)相當(dāng)于生產(chǎn)線上的生產(chǎn)過(guò)程。于生產(chǎn)線上的生產(chǎn)過(guò)程。5軟件開(kāi)發(fā)路線圖軟件開(kāi)發(fā)路線圖 維護(hù)維護(hù) 產(chǎn)品產(chǎn)品 提交提交 測(cè)試測(cè)試 編碼編碼 詳細(xì)詳細(xì) 設(shè)計(jì)設(shè)計(jì) 概要概要 設(shè)計(jì)設(shè)計(jì) 需求

2、需求分析分析6軟件項(xiàng)目管理軟件項(xiàng)目管理 管理過(guò)程是項(xiàng)目管理者規(guī)劃軟件開(kāi)發(fā)、控管理過(guò)程是項(xiàng)目管理者規(guī)劃軟件開(kāi)發(fā)、控制軟件開(kāi)發(fā)的過(guò)程,相當(dāng)于生產(chǎn)線上的管制軟件開(kāi)發(fā)的過(guò)程,相當(dāng)于生產(chǎn)線上的管理過(guò)程,管理過(guò)程是伴隨開(kāi)發(fā)過(guò)程進(jìn)行的理過(guò)程,管理過(guò)程是伴隨開(kāi)發(fā)過(guò)程進(jìn)行的過(guò)程。過(guò)程。 7軟件項(xiàng)目管理路線圖軟件項(xiàng)目管理路線圖合同管理合同管理 生存期生存期 需求管理需求管理 任務(wù)分解任務(wù)分解項(xiàng)目進(jìn)度項(xiàng)目進(jìn)度項(xiàng)目估算項(xiàng)目估算質(zhì)量計(jì)劃質(zhì)量計(jì)劃 配置計(jì)劃配置計(jì)劃風(fēng)險(xiǎn)計(jì)劃風(fēng)險(xiǎn)計(jì)劃團(tuán)隊(duì)管理團(tuán)隊(duì)管理項(xiàng)目度量項(xiàng)目度量集成項(xiàng)目集成項(xiàng)目跟蹤控制跟蹤控制 項(xiàng)目結(jié)束項(xiàng)目結(jié)束8軟件過(guò)程改進(jìn)軟件過(guò)程改進(jìn) 過(guò)程改進(jìn)相當(dāng)于對(duì)軟件開(kāi)發(fā)過(guò)程和軟過(guò)

3、程改進(jìn)相當(dāng)于對(duì)軟件開(kāi)發(fā)過(guò)程和軟件管理過(guò)程的件管理過(guò)程的“工藝流程工藝流程”進(jìn)行管理進(jìn)行管理和改進(jìn),如果沒(méi)有好的工藝生產(chǎn)不出和改進(jìn),如果沒(méi)有好的工藝生產(chǎn)不出好的產(chǎn)品,它包括對(duì)開(kāi)發(fā)過(guò)程和管理好的產(chǎn)品,它包括對(duì)開(kāi)發(fā)過(guò)程和管理過(guò)程的定義和改進(jìn)過(guò)程的定義和改進(jìn)。9軟件過(guò)程改進(jìn)路線圖軟件過(guò)程改進(jìn)路線圖啟動(dòng)診斷建立實(shí)施評(píng)估10軟件工程過(guò)程軟件工程過(guò)程(Software engineering process) :指在指在軟件工具的支持下,所進(jìn)行的一系列軟件工程活動(dòng)。軟件工具的支持下,所進(jìn)行的一系列軟件工程活動(dòng)。 通常包括以下四類基本過(guò)程:通常包括以下四類基本過(guò)程:1. 1. 軟件規(guī)格說(shuō)明:軟件規(guī)格說(shuō)明:規(guī)定

4、軟件的功能及其運(yùn)行環(huán)境。規(guī)定軟件的功能及其運(yùn)行環(huán)境。2. 2. 軟件開(kāi)發(fā):軟件開(kāi)發(fā):產(chǎn)生滿足規(guī)格說(shuō)明的軟件。產(chǎn)生滿足規(guī)格說(shuō)明的軟件。3. 3. 軟件確認(rèn):軟件確認(rèn):確認(rèn)軟件能夠完成客戶提出的要求。確認(rèn)軟件能夠完成客戶提出的要求。4. 4. 軟件演進(jìn):軟件演進(jìn):為滿足客戶的變更要求,軟件必須在為滿足客戶的變更要求,軟件必須在使用的過(guò)程中演進(jìn)。使用的過(guò)程中演進(jìn)。11本講核心本講核心q一、軟件工程過(guò)程q二、軟件生存期模型q三、軟件開(kāi)發(fā)方法q四、軟件工具與軟件開(kāi)發(fā)環(huán)境q五、路線圖12是指從軟是指從軟件開(kāi)始開(kāi)發(fā)到報(bào)廢的全過(guò)程,亦稱件開(kāi)始開(kāi)發(fā)到報(bào)廢的全過(guò)程,亦稱。軟件生命周期可分為軟件生命周期可分為7 7

5、個(gè)階段:個(gè)階段:1. 1. 可行性研究和項(xiàng)目開(kāi)發(fā)計(jì)劃可行性研究和項(xiàng)目開(kāi)發(fā)計(jì)劃2.2. 需求分析需求分析3. 3. 概要設(shè)計(jì)概要設(shè)計(jì)4.4. 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)5. 5. 編碼編碼6.6. 測(cè)試測(cè)試7. 7. 維護(hù)維護(hù)一般用經(jīng)典的瀑布模型來(lái)描述。一般用經(jīng)典的瀑布模型來(lái)描述。13瀑布模型14 在大部分文獻(xiàn)中將生存周期劃分為在大部分文獻(xiàn)中將生存周期劃分為5 5個(gè)階段,即個(gè)階段,即需求定義、設(shè)計(jì)、編碼、測(cè)試及維護(hù)需求定義、設(shè)計(jì)、編碼、測(cè)試及維護(hù)。其中需求定義。其中需求定義階段包括可行性研究和項(xiàng)目開(kāi)發(fā)計(jì)劃、需求分析,設(shè)階段包括可行性研究和項(xiàng)目開(kāi)發(fā)計(jì)劃、需求分析,設(shè)計(jì)階段包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。計(jì)階段包括概

6、要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。 為了描述軟件生存期的活動(dòng),提出了多種生存期為了描述軟件生存期的活動(dòng),提出了多種生存期模型(也叫模型(也叫軟件過(guò)程模型軟件過(guò)程模型),例如:),例如: 瀑布模型、瀑布模型、V V模型、原型化模型、螺旋模型模型、原型化模型、螺旋模型等。等。15常用生存期模型常用生存期模型q瀑布WaterfallqV模型V-shapedq原型Prototypingq增量Incrementalq螺旋式Spiralq.16Figure 2.1 The waterfall model.REQUIREMENTSANALYSISSYSTEMDESIGNPROGRAMDESIGNCODINGUNIT &am

7、p; INTE-GRATION TESTINGSYSTEMTESTINGACCEPTANCETESTINGOPERATION &MAINTENANCE17瀑布模型瀑布模型是研究人員提出的第一個(gè)模型,它將開(kāi)發(fā)階段從一個(gè)階段瀑布般轉(zhuǎn)換到另一個(gè)階段。該圖暗示,一個(gè)開(kāi)發(fā)階段必須在另一個(gè)開(kāi)發(fā)階段開(kāi)始之前完成。問(wèn)題:并不能反映實(shí)際的代碼開(kāi)發(fā)方式,實(shí)際上軟件是通過(guò)大量的迭代進(jìn)行開(kāi)發(fā)的。若不對(duì)實(shí)際的軟件開(kāi)發(fā)過(guò)程加以控制,開(kāi)發(fā)過(guò)程可能看起來(lái)會(huì)像圖2.2。18Figure 2.2 The software development process in realityREQUIREMENTS ANALYSI

8、SSYSTEMDESIGNPROGRAMDESIGNPROGRAMIMPLEMENTATIONUNITTESTINGINTEGRATIONTESTINGSYSTEMTESTINGDELIVERYMAINTENANCE19n瀑布模型的主要缺點(diǎn)是沒(méi)有把軟件看做一個(gè)問(wèn)題求解的過(guò)程。n通過(guò)引入加強(qiáng)理解的活動(dòng)和子活動(dòng),軟件開(kāi)發(fā)過(guò)程有助于控制活動(dòng)之間的反反復(fù)復(fù)。n原型(prototype)就是這樣的一個(gè)子過(guò)程,它使客戶和開(kāi)發(fā)人員能夠?qū)τ?jì)劃開(kāi)發(fā)的系統(tǒng)的相關(guān)方面進(jìn)行檢查,以決定它對(duì)最終產(chǎn)品是否合適或恰當(dāng)。n確認(rèn)(validation)確保系統(tǒng)實(shí)現(xiàn)了所有的需求。n驗(yàn)證(verification)確保每項(xiàng)功能都是

9、正確的。20Figure 2.3 The waterfall model with prototypingREQUIREMENTS ANALYSISSYSTEM DESIGNPROGRAM DESIGNCODINGUNIT & INTE-GRATION TESTINGSYSTEM TESTINGACCEPTANCE TESTINGOPERATION & MAINTENANCEPrototyping21WaterFall modelWaterFall model適合的項(xiàng)目適合的項(xiàng)目q在項(xiàng)目開(kāi)始前,項(xiàng)目的需求很明確q在項(xiàng)目開(kāi)始前,解決方案也很明確q類似的項(xiàng)目如:q公司的財(cái)務(wù)系統(tǒng)q庫(kù)

10、存管理系統(tǒng)q短期項(xiàng)目短期項(xiàng)目22Figure 2.4 The V model.REQUIREMENTS ANALYSISSYSTEM DESIGNPROGRAM DESIGNCODINGUNIT & INTE-GRATION TESTINGSYSTEMTESTINGACCEPTANCE TESTINGOPERATION & MAINTENANCEVerify designValidate requirements23V V模型模型接收測(cè)試集成測(cè)試系統(tǒng)測(cè)試項(xiàng)目規(guī)化需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼和調(diào)試集成測(cè)試單元測(cè)試24V模型模型nV模型使得隱藏在瀑布模型中的迭代和重做更加明確n瀑布

11、模型關(guān)注的通常是文檔和制品nV模型關(guān)注的是活動(dòng)和正確性n大家誤認(rèn)為測(cè)試是開(kāi)發(fā)周期的最后一個(gè)階段,其實(shí)早期的測(cè)試對(duì)提高產(chǎn)品的質(zhì)量,縮短開(kāi)發(fā)周期起著重要作用。nV模型正好說(shuō)明的測(cè)試的重要性,它與開(kāi)發(fā)是并行的。V模型體現(xiàn)了全過(guò)程的質(zhì)量意識(shí)。25V V模型適合的項(xiàng)目模型適合的項(xiàng)目q在項(xiàng)目開(kāi)始前,項(xiàng)目的需求很明確q在項(xiàng)目開(kāi)始前,解決方案也很明確q對(duì)系統(tǒng)的性能安全很嚴(yán)格的項(xiàng)目q類似的項(xiàng)目如:q航天飛機(jī)等q公司的財(cái)務(wù)系統(tǒng) 實(shí)例26Figure 2.5 The prototyping modelLIST OFREVISIONSLIST OFREVISIONSLIST OFREVISIONSPROTOTYPER

12、EQUIREMENTSPROTOTYPEDESIGNPROTOTYPESYSTEMTESTDELIVEREDSYSTEMSYSTEMREQUIREMENTS(sometimes informalor incomplete)Reviseprototypeuser/Customerreview27PrototypePrototype28Prototype Prototype 模型適合的項(xiàng)目模型適合的項(xiàng)目q在項(xiàng)目開(kāi)始前,項(xiàng)目的需求不明確q需要減少項(xiàng)目需求的不確定性q類似的項(xiàng)目如:q確定顯示界面q第一次開(kāi)發(fā)的產(chǎn)品,驗(yàn)證可行性29Figure 2.9 the incremental and iterat

13、ive models.INCREMENTAL DEVELOPMENTITERATIVE DEVELOPMENT30階段性開(kāi)發(fā)階段性開(kāi)發(fā)n增量開(kāi)發(fā)(incremental development)l在增量開(kāi)發(fā)中,需求文檔中指定的系統(tǒng)按功能劃分為子系統(tǒng)。定義發(fā)布時(shí)首先定義一個(gè)小的功能子系統(tǒng),然后在每個(gè)新的發(fā)布中增加新功能。n迭代開(kāi)發(fā)(iterative development)l迭代開(kāi)發(fā)是在一開(kāi)始就提交一個(gè)完整的系統(tǒng),然后在每個(gè)新的發(fā)布中改變每個(gè)子系統(tǒng)的功能。31Incremental ModelIncremental Model核心功能核心功能112123第一增量第二增量第三增量核心功能1121

14、2332Incremental ModelIncremental Model適合的項(xiàng)目適合的項(xiàng)目q項(xiàng)目開(kāi)始,明確了需求的大部分,但是需求可能會(huì)發(fā)生變化q對(duì)于市場(chǎng)和用戶把握不是很準(zhǔn),需要逐步了解q對(duì)于有龐大和復(fù)雜功能的系統(tǒng)進(jìn)行功能改進(jìn),就需要一步一步實(shí)施的。增量模型實(shí)例33PLANDEVELOP AND TESTDETERMINE GOALS,ALTERNATIVES,CONSTRAINTSEVALUATE ALTERNATIVESAND RISKSstartRequirements,life-cycle planBudget1Alternatives1Constraints1Risk anal

15、ysis1Risk analysis2Risk analysis3Risk analysis4Constraints2Constraints3Constraints4Budget2Budget3Budget4Alternatives2Alternatives3Alternatives4Prototype1Prototype2Prototype3Prototype4Concept ofoperationSoftwarerequirementsValidatedrequirementsDevelopmentplanIntegrationand test planSoftwaredesignVali

16、dated,verified designDetaileddesignCodeUnit testSystemtestAcceptancetestImplementationplanFigure 2.10 the spiral model.34螺旋模型螺旋模型(Spiral Model)n 對(duì)于大型軟件,只開(kāi)發(fā)一個(gè)原型往往達(dá)不到要對(duì)于大型軟件,只開(kāi)發(fā)一個(gè)原型往往達(dá)不到要求。螺旋模型將瀑布模型和增量模型結(jié)合起來(lái),求。螺旋模型將瀑布模型和增量模型結(jié)合起來(lái),并并加入了風(fēng)險(xiǎn)分析加入了風(fēng)險(xiǎn)分析。n第一次迭代的產(chǎn)品是操作概念第一次迭代的產(chǎn)品是操作概念n第二次迭代的主要產(chǎn)品是需求第二次迭代的主要產(chǎn)品是需求n在

17、第三次迭代中,系統(tǒng)開(kāi)發(fā)產(chǎn)生設(shè)計(jì)在第三次迭代中,系統(tǒng)開(kāi)發(fā)產(chǎn)生設(shè)計(jì)n第四次迭代能夠進(jìn)行測(cè)試第四次迭代能夠進(jìn)行測(cè)試35Spiral ModelSpiral Model36Spiral ModelSpiral Model37n螺旋模型的每次迭代都根據(jù)需求和約束進(jìn)行風(fēng)螺旋模型的每次迭代都根據(jù)需求和約束進(jìn)行風(fēng)險(xiǎn)分析,以權(quán)衡不同的選擇,并且在確定某一險(xiǎn)分析,以權(quán)衡不同的選擇,并且在確定某一特定選擇之前,通過(guò)原型化驗(yàn)證可行性或期望特定選擇之前,通過(guò)原型化驗(yàn)證可行性或期望度。度。n當(dāng)風(fēng)險(xiǎn)確認(rèn)之后,項(xiàng)目經(jīng)理必須決定如何消除當(dāng)風(fēng)險(xiǎn)確認(rèn)之后,項(xiàng)目經(jīng)理必須決定如何消除或最小化風(fēng)險(xiǎn)?;蜃钚』L(fēng)險(xiǎn)。38Spiral Mod

18、elSpiral Model適合的項(xiàng)目適合的項(xiàng)目q風(fēng)險(xiǎn)是主要的制約因素q不確定因素和風(fēng)險(xiǎn)限制了項(xiàng)目進(jìn)度q用戶對(duì)自己的需求也不是很明確q需要對(duì)一些基本的概念進(jìn)行驗(yàn)證q可能發(fā)生一些重大的變更q項(xiàng)目規(guī)模很大q項(xiàng)目中采用了新技術(shù) 實(shí)例39敏捷方法敏捷方法(Agile Software Development)n目的:通過(guò)過(guò)程和工具理解個(gè)人和交流的作用;通過(guò)全面的文檔理解運(yùn)行的軟件;通過(guò)合同和談判得到客戶的協(xié)作;在計(jì)劃的執(zhí)行中做出對(duì)變更的響應(yīng)。n極限編程(XP)n水晶法(Crystal)n并列爭(zhēng)球法(Scrum)n自適應(yīng)軟件開(kāi)發(fā)(ASD)nhttp:/ 軟件開(kāi)發(fā)的目標(biāo)是要在規(guī)定的投資和時(shí)間內(nèi),軟件開(kāi)發(fā)的

19、目標(biāo)是要在規(guī)定的投資和時(shí)間內(nèi),開(kāi)發(fā)出符合用戶的需求,高質(zhì)量的軟件,為此需要開(kāi)發(fā)出符合用戶的需求,高質(zhì)量的軟件,為此需要有成功的開(kāi)發(fā)方法。有成功的開(kāi)發(fā)方法。 為了克服軟件危機(jī),從為了克服軟件危機(jī),從20世紀(jì)世紀(jì)60年代末開(kāi)始,年代末開(kāi)始,一直在進(jìn)行軟件方法的研究與實(shí)踐,提出了多種軟一直在進(jìn)行軟件方法的研究與實(shí)踐,提出了多種軟件開(kāi)發(fā)方法和技術(shù),對(duì)軟件產(chǎn)業(yè)的發(fā)展起著不可估件開(kāi)發(fā)方法和技術(shù),對(duì)軟件產(chǎn)業(yè)的發(fā)展起著不可估量的作用。量的作用。44 面向過(guò)程的開(kāi)發(fā)方法(傳統(tǒng)的)面向過(guò)程的開(kāi)發(fā)方法(傳統(tǒng)的) 面向?qū)ο蟮拈_(kāi)發(fā)方法面向?qū)ο蟮拈_(kāi)發(fā)方法 基于構(gòu)件的開(kāi)發(fā)方法基于構(gòu)件的開(kāi)發(fā)方法由于軟件與程序是不同的概念,由

20、于軟件與程序是不同的概念,軟件開(kāi)發(fā)方法與程序設(shè)軟件開(kāi)發(fā)方法與程序設(shè)計(jì)方法是兩個(gè)不同的概念。計(jì)方法是兩個(gè)不同的概念。軟件開(kāi)發(fā)方法可以是針對(duì)局部的,也可以是針對(duì)全局的。軟件開(kāi)發(fā)方法可以是針對(duì)局部的,也可以是針對(duì)全局的。軟件工程方法,更加軟件工程方法,更加強(qiáng)調(diào)強(qiáng)調(diào)和重點(diǎn)研究的是和重點(diǎn)研究的是需求分析與軟件設(shè)需求分析與軟件設(shè)計(jì)的開(kāi)發(fā)方法。計(jì)的開(kāi)發(fā)方法。45n面向過(guò)程的開(kāi)發(fā)方法面向過(guò)程的開(kāi)發(fā)方法結(jié)構(gòu)化開(kāi)發(fā)方法結(jié)構(gòu)化開(kāi)發(fā)方法、 JACKSON方法方法、原型原型化開(kāi)發(fā)方法化開(kāi)發(fā)方法、IDEF法等。法等。n面向?qū)ο蟮拈_(kāi)發(fā)方法面向?qū)ο蟮拈_(kāi)發(fā)方法Coad/Yourdon方法、方法、Booch方法、方法、OMT方方

21、法以及法以及UML等。等。 軟件開(kāi)發(fā)方法分類軟件開(kāi)發(fā)方法分類46 是現(xiàn)有的軟件開(kāi)發(fā)方法中最成熟,應(yīng)用最廣泛的方是現(xiàn)有的軟件開(kāi)發(fā)方法中最成熟,應(yīng)用最廣泛的方法,主要特點(diǎn)是快速、自然和方便。法,主要特點(diǎn)是快速、自然和方便。 結(jié)構(gòu)化開(kāi)發(fā)方法是一種面向數(shù)據(jù)流的開(kāi)發(fā)方法,結(jié)構(gòu)化開(kāi)發(fā)方法是一種面向數(shù)據(jù)流的開(kāi)發(fā)方法,它的基本原則是功能的分解與抽象。它的基本原則是功能的分解與抽象。 結(jié)構(gòu)化開(kāi)發(fā)方法總的指導(dǎo)思想是結(jié)構(gòu)化開(kāi)發(fā)方法總的指導(dǎo)思想是自頂向下、逐自頂向下、逐步求精步求精。47 2 0 2 0 世 紀(jì)世 紀(jì) 7 07 0 年 代 初年 代 初 結(jié) 構(gòu) 化 程 序 設(shè) 計(jì) 方 法結(jié) 構(gòu) 化 程 序 設(shè) 計(jì) 方

22、 法 (Structured Program,SP) 2020世紀(jì)世紀(jì)7070年代中年代中 結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法(Structured Design,SD) 2020世紀(jì)世紀(jì)7070年代末年代末 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法 (Structured Analysis,SA) SASA,SDSD,SP SP 法相互銜接,形成了一整套開(kāi)發(fā)方法相互銜接,形成了一整套開(kāi)發(fā)方法。若將法。若將SASA,SD SD 法結(jié)合起來(lái),又稱為結(jié)構(gòu)化分析與設(shè)法結(jié)合起來(lái),又稱為結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)(計(jì)技術(shù)(SADT SADT 技術(shù))。技術(shù))。一、一、48開(kāi)發(fā)時(shí)期運(yùn)行時(shí)期計(jì)劃時(shí)期(目標(biāo)與范圍說(shuō)明書(shū))(可行性論證報(bào)

23、告)(維護(hù)報(bào)告)(測(cè)試報(bào)告)(程序)(設(shè)計(jì)文檔)(需求說(shuō)明書(shū))瀑布模型49 但從但從2020世紀(jì)世紀(jì)8080年代開(kāi)始,逐漸發(fā)現(xiàn)其不足,軟年代開(kāi)始,逐漸發(fā)現(xiàn)其不足,軟件開(kāi)發(fā)過(guò)程是個(gè)充滿回朔的過(guò)程。而瀑布模型將其件開(kāi)發(fā)過(guò)程是個(gè)充滿回朔的過(guò)程。而瀑布模型將其分割為獨(dú)立的幾個(gè)階段,不能從本質(zhì)上反映軟件開(kāi)分割為獨(dú)立的幾個(gè)階段,不能從本質(zhì)上反映軟件開(kāi)發(fā)過(guò)程本身的規(guī)律。此外,過(guò)分強(qiáng)調(diào)復(fù)審,并不能發(fā)過(guò)程本身的規(guī)律。此外,過(guò)分強(qiáng)調(diào)復(fù)審,并不能完全避免較為頻繁的變動(dòng)。盡管如此,瀑布模型仍完全避免較為頻繁的變動(dòng)。盡管如此,瀑布模型仍然是開(kāi)發(fā)軟件產(chǎn)品的一個(gè)行之有效的工程模型。然是開(kāi)發(fā)軟件產(chǎn)品的一個(gè)行之有效的工程模型。

24、50 結(jié)構(gòu)化開(kāi)發(fā)方法是面向數(shù)據(jù)流、數(shù)據(jù)封閉性的結(jié)構(gòu)化開(kāi)發(fā)方法是面向數(shù)據(jù)流、數(shù)據(jù)封閉性的開(kāi)發(fā)方法,開(kāi)發(fā)方法,JACKSON 系統(tǒng)開(kāi)發(fā)方法則是面向數(shù)據(jù)系統(tǒng)開(kāi)發(fā)方法則是面向數(shù)據(jù)結(jié)構(gòu)的開(kāi)發(fā)方法結(jié)構(gòu)的開(kāi)發(fā)方法。 其基本思想是先建立輸入輸出的數(shù)據(jù)結(jié)構(gòu)其基本思想是先建立輸入輸出的數(shù)據(jù)結(jié)構(gòu),再將再將其轉(zhuǎn)換為軟件結(jié)構(gòu)。其轉(zhuǎn)換為軟件結(jié)構(gòu)。 51 JACKSON方法由方法由JSP(Jackson structured Programming)和和JSD(Jackson System Development)方法構(gòu)成。方法構(gòu)成。 JSP法主要體現(xiàn)程序結(jié)構(gòu)的設(shè)計(jì),不嚴(yán)格區(qū)分法主要體現(xiàn)程序結(jié)構(gòu)的設(shè)計(jì),不嚴(yán)格區(qū)分軟件概要設(shè)

25、計(jì)和詳細(xì)設(shè)計(jì)。軟件概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。 JSD法是法是對(duì)對(duì)JSP法的擴(kuò)充,針對(duì)法的擴(kuò)充,針對(duì)JSP法的缺陷法的缺陷而提出的解決方案。其主要特點(diǎn)是:用而提出的解決方案。其主要特點(diǎn)是:用“分而治之分而治之”的策略控制系統(tǒng)的復(fù)雜性的策略控制系統(tǒng)的復(fù)雜性,解決解決I/O結(jié)構(gòu)的沖突問(wèn)題。結(jié)構(gòu)的沖突問(wèn)題。 1JACKSON方法的構(gòu)成方法的構(gòu)成52 建立數(shù)據(jù)結(jié)構(gòu)建立數(shù)據(jù)結(jié)構(gòu) JACKSON方法中數(shù)據(jù)結(jié)構(gòu)通常表示為樹(shù)型結(jié)構(gòu),有順序、選擇和循環(huán)方法中數(shù)據(jù)結(jié)構(gòu)通常表示為樹(shù)型結(jié)構(gòu),有順序、選擇和循環(huán)三種基本結(jié)構(gòu)。如圖三種基本結(jié)構(gòu)。如圖(a)所示所示,按照三種基本結(jié)構(gòu)建立的文件數(shù)據(jù)結(jié)構(gòu)。按照三種基本結(jié)構(gòu)建立的文件數(shù)據(jù)

26、結(jié)構(gòu)。 以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ),建立相應(yīng)的程序結(jié)構(gòu)圖以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ),建立相應(yīng)的程序結(jié)構(gòu)圖 如圖如圖(b),也稱為,也稱為JACKSON 圖。當(dāng)沒(méi)有結(jié)構(gòu)沖突時(shí),轉(zhuǎn)換過(guò)程是簡(jiǎn)單的。圖。當(dāng)沒(méi)有結(jié)構(gòu)沖突時(shí),轉(zhuǎn)換過(guò)程是簡(jiǎn)單的。一般情況,數(shù)據(jù)結(jié)構(gòu)與模塊結(jié)構(gòu)是相對(duì)應(yīng)的,因此不難從數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序一般情況,數(shù)據(jù)結(jié)構(gòu)與模塊結(jié)構(gòu)是相對(duì)應(yīng)的,因此不難從數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)。結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為程序結(jié)構(gòu)文件文件記錄記錄*項(xiàng)項(xiàng)1項(xiàng)項(xiàng)2項(xiàng)項(xiàng)3(a)處理文件處理文件處理記錄處理記錄*處理項(xiàng)處理項(xiàng)1處理項(xiàng)處理項(xiàng)2處理項(xiàng)處理項(xiàng)3(b)535455 )法法所建立的原型反映了系統(tǒng)的某些特征,讓用戶學(xué)習(xí),所建立的原型反映了系統(tǒng)的某些特征

27、,讓用戶學(xué)習(xí),有利于獲得更加精確的需求說(shuō)明書(shū),待需求說(shuō)明書(shū)有利于獲得更加精確的需求說(shuō)明書(shū),待需求說(shuō)明書(shū)一旦確定原型被廢棄,后階段的工作仍按照瀑布模一旦確定原型被廢棄,后階段的工作仍按照瀑布模型開(kāi)發(fā)。型開(kāi)發(fā)。原型法分類原型法分類56 法采用循環(huán)法采用循環(huán)漸進(jìn)的開(kāi)發(fā)方式,對(duì)系統(tǒng)模型作連續(xù)精化,將系統(tǒng)漸進(jìn)的開(kāi)發(fā)方式,對(duì)系統(tǒng)模型作連續(xù)精化,將系統(tǒng)需要具備的性質(zhì)逐步添加上去,直至所有性質(zhì)全部需要具備的性質(zhì)逐步添加上去,直至所有性質(zhì)全部滿足,此時(shí)的原型模型也就是最終的產(chǎn)品。滿足,此時(shí)的原型模型也就是最終的產(chǎn)品。 速成原型法適合于開(kāi)發(fā)速成原型法適合于開(kāi)發(fā)“探索型探索型”,“實(shí)驗(yàn)型實(shí)驗(yàn)型”與與“進(jìn)化型進(jìn)化型”

28、一類的軟件系統(tǒng)。一類的軟件系統(tǒng)。原型法分類原型法分類57快速原型法按以下步驟循環(huán)執(zhí)行:快速原型法按以下步驟循環(huán)執(zhí)行: 1.1.快速分析快速分析 快速確定軟件系統(tǒng)的基本要快速確定軟件系統(tǒng)的基本要求,確定原型所要體現(xiàn)的特征求,確定原型所要體現(xiàn)的特征( (界面,總體結(jié)界面,總體結(jié)構(gòu),功能,性能構(gòu),功能,性能) )。 2.2.構(gòu)造原型構(gòu)造原型 在快速分析的基礎(chǔ)上,根據(jù)在快速分析的基礎(chǔ)上,根據(jù)基本規(guī)格說(shuō)明,忽略細(xì)節(jié),只考慮主要特征,基本規(guī)格說(shuō)明,忽略細(xì)節(jié),只考慮主要特征,快速構(gòu)造一個(gè)可運(yùn)行的系統(tǒng)。有三類原型:快速構(gòu)造一個(gè)可運(yùn)行的系統(tǒng)。有三類原型:用戶界面原型、功能原型和性能原型。用戶界面原型、功能原型和

29、性能原型。 3.3.運(yùn)行和評(píng)價(jià)原型運(yùn)行和評(píng)價(jià)原型 用戶試用原型并與開(kāi)用戶試用原型并與開(kāi)發(fā)者之間頻繁交流,發(fā)現(xiàn)問(wèn)題,目的是驗(yàn)證發(fā)者之間頻繁交流,發(fā)現(xiàn)問(wèn)題,目的是驗(yàn)證原型的正確性。原型的正確性。 4.4.修改與改進(jìn)修改與改進(jìn) 對(duì)原型進(jìn)行修改、增刪。對(duì)原型進(jìn)行修改、增刪。 原型的工作模型原型法工作模型原型法工作模型速成原型的工作模型是一個(gè)循環(huán)的模型。速成原型的工作模型是一個(gè)循環(huán)的模型。58構(gòu)造原型構(gòu)造原型運(yùn)行運(yùn)行/評(píng)價(jià)原型評(píng)價(jià)原型原型完成否原型完成否要細(xì)部說(shuō)明否要細(xì)部說(shuō)明否嚴(yán)格說(shuō)明細(xì)部嚴(yán)格說(shuō)明細(xì)部效果滿意否效果滿意否整理原型提供文檔整理原型提供文檔修修正正改改進(jìn)進(jìn)原原型型YYNN快速分析,確定初步規(guī)

30、格說(shuō)明快速分析,確定初步規(guī)格說(shuō)明YN 細(xì)化的快速原型模型細(xì)化的快速原型模型細(xì)化的快速原型模型59 OOSD(Object-Oriented Software Development)法是法是2020世紀(jì)世紀(jì)8080年代推出的一種全新的軟件開(kāi)發(fā)方法。非常實(shí)用年代推出的一種全新的軟件開(kāi)發(fā)方法。非常實(shí)用而強(qiáng)有力,被譽(yù)為而強(qiáng)有力,被譽(yù)為20世紀(jì)世紀(jì)9090年代軟件的核心技術(shù)之一。年代軟件的核心技術(shù)之一。 其基本思想是:其基本思想是:對(duì)問(wèn)題領(lǐng)域進(jìn)行自然分割,以更接近人對(duì)問(wèn)題領(lǐng)域進(jìn)行自然分割,以更接近人類通常思維的方式建立問(wèn)題領(lǐng)域的模型,以便對(duì)客觀的信類通常思維的方式建立問(wèn)題領(lǐng)域的模型,以便對(duì)客觀的信息實(shí)

31、體進(jìn)行結(jié)構(gòu)和行為的模擬,從而使設(shè)計(jì)的軟件更直接息實(shí)體進(jìn)行結(jié)構(gòu)和行為的模擬,從而使設(shè)計(jì)的軟件更直接地表現(xiàn)問(wèn)題的求解過(guò)程。面向?qū)ο蟮拈_(kāi)發(fā)方法以對(duì)象作為地表現(xiàn)問(wèn)題的求解過(guò)程。面向?qū)ο蟮拈_(kāi)發(fā)方法以對(duì)象作為最基本的元素,是分析和解決問(wèn)題的核心。最基本的元素,是分析和解決問(wèn)題的核心。 60面向?qū)ο箝_(kāi)發(fā)方法的組成 OOSD由三部分組成:由三部分組成: OOA(Object-Oriented Analysis) 面向?qū)ο蟮姆治雒嫦驅(qū)ο蟮姆治?OOD(Object-Oriented Design) 面向?qū)ο蟮脑O(shè)計(jì)面向?qū)ο蟮脑O(shè)計(jì) OOP (Object-Oriented Program) 面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)?/p>

32、象的程序設(shè)計(jì)61OOAOOA強(qiáng)調(diào)的是對(duì)一個(gè)系統(tǒng)中的對(duì)象特征和行為強(qiáng)調(diào)的是對(duì)一個(gè)系統(tǒng)中的對(duì)象特征和行為的定義。建立系統(tǒng)的三類模型。的定義。建立系統(tǒng)的三類模型。OODOODOOD與與OOAOOA密切配合,順序?qū)崿F(xiàn)對(duì)現(xiàn)實(shí)世界的進(jìn)一密切配合,順序?qū)崿F(xiàn)對(duì)現(xiàn)實(shí)世界的進(jìn)一步建模。步建模。OOPOOPOOP是面向?qū)ο蟮募夹g(shù)中發(fā)展最快的,使用面是面向?qū)ο蟮募夹g(shù)中發(fā)展最快的,使用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,進(jìn)行編碼。向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,進(jìn)行編碼。62 就是要解決就是要解決“做什么做什么”的問(wèn)題。的問(wèn)題。OOA 法的基本任法的基本任務(wù)就是要建立三種模型:務(wù)就是要建立三種模型:狀態(tài)模型狀態(tài)模型(動(dòng)態(tài)模型)(動(dòng)態(tài)模型)

33、描述任何時(shí)刻對(duì)象的聯(lián)系及其聯(lián)系的改變,即時(shí)序。常用狀態(tài)圖描述任何時(shí)刻對(duì)象的聯(lián)系及其聯(lián)系的改變,即時(shí)序。常用狀態(tài)圖, , 事件追蹤圖描述。事件追蹤圖描述。處理模型處理模型(函數(shù)模型)(函數(shù)模型) 描述系統(tǒng)內(nèi)部數(shù)據(jù)的傳送處理。描述系統(tǒng)內(nèi)部數(shù)據(jù)的傳送處理。 顯然,在三大模型中,最重要的是對(duì)象模型。如何建立三大模型。顯然,在三大模型中,最重要的是對(duì)象模型。如何建立三大模型。對(duì)象模型對(duì)象模型(信息模型)(信息模型) 定義構(gòu)成系統(tǒng)的類和對(duì)象,它們的屬性與操作。定義構(gòu)成系統(tǒng)的類和對(duì)象,它們的屬性與操作。63在需求分析的基礎(chǔ)上,進(jìn)一步解決在需求分析的基礎(chǔ)上,進(jìn)一步解決“如何做如何做”的問(wèn)題,的問(wèn)題,OOD O

34、OD 法也分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。法也分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。 細(xì)化對(duì)象行為,添加新對(duì)象,認(rèn)定細(xì)化對(duì)象行為,添加新對(duì)象,認(rèn)定類,組類庫(kù),確定外部接口及主要數(shù)據(jù)結(jié)構(gòu)。類,組類庫(kù),確定外部接口及主要數(shù)據(jù)結(jié)構(gòu)。 詳細(xì)設(shè)計(jì):詳細(xì)設(shè)計(jì):加細(xì)對(duì)象描述。加細(xì)對(duì)象描述。三、OOD 法64 使用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,如使用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,如C+C+進(jìn)行程進(jìn)行程序設(shè)計(jì)。序設(shè)計(jì)。 CoadCoad和和YourdonYourdon給出一個(gè)面向?qū)ο蟮亩x:給出一個(gè)面向?qū)ο蟮亩x:面向?qū)ο竺嫦驅(qū)ο? =對(duì)象對(duì)象+ +類類+ +繼承繼承+ +消息消息 如果一個(gè)軟件系統(tǒng)是按照這樣四個(gè)概念設(shè)計(jì)和如果一個(gè)軟件系統(tǒng)是按照

35、這樣四個(gè)概念設(shè)計(jì)和實(shí)現(xiàn)的,則可以認(rèn)為這個(gè)軟件系統(tǒng)是面向?qū)ο蟮?。?shí)現(xiàn)的,則可以認(rèn)為這個(gè)軟件系統(tǒng)是面向?qū)ο蟮?。三、OOD 法 “軟件重用軟件重用”或或“軟件復(fù)用軟件復(fù)用”(Software ReuseSoftware Reuse)是指將)是指將已有的軟件成分用于已有的軟件成分用于。該技術(shù)是提高軟件。該技術(shù)是提高軟件生產(chǎn)率和質(zhì)量,降低成本的有效方法。生產(chǎn)率和質(zhì)量,降低成本的有效方法。復(fù)用程序復(fù)用程序 包括目標(biāo)代碼和源代碼的復(fù)用,可通過(guò)連接包括目標(biāo)代碼和源代碼的復(fù)用,可通過(guò)連接(Link)(Link)、綁定、綁定(Binding) (Binding) 、包含、包含(include)(include)等

36、功能支持及等功能支持及對(duì)象鏈接及嵌入對(duì)象鏈接及嵌入(OLE)(OLE)技術(shù)實(shí)現(xiàn)。技術(shù)實(shí)現(xiàn)。復(fù)用分析復(fù)用分析 比設(shè)計(jì)復(fù)用級(jí)別更高,實(shí)現(xiàn)方式與設(shè)計(jì)復(fù)用類比設(shè)計(jì)復(fù)用級(jí)別更高,實(shí)現(xiàn)方式與設(shè)計(jì)復(fù)用類似。似。復(fù)用設(shè)計(jì)復(fù)用設(shè)計(jì) 設(shè)計(jì)結(jié)果比源程序的抽象級(jí)別高,因此復(fù)用受設(shè)計(jì)結(jié)果比源程序的抽象級(jí)別高,因此復(fù)用受環(huán)境影響小??梢酝ㄟ^(guò)從現(xiàn)有系統(tǒng)中提取全部或者不同粒環(huán)境影響小??梢酝ㄟ^(guò)從現(xiàn)有系統(tǒng)中提取全部或者不同粒度的設(shè)計(jì)構(gòu)件,或者獨(dú)立于具體應(yīng)用開(kāi)發(fā)設(shè)計(jì)構(gòu)件。度的設(shè)計(jì)構(gòu)件,或者獨(dú)立于具體應(yīng)用開(kāi)發(fā)設(shè)計(jì)構(gòu)件。復(fù)用結(jié)構(gòu)復(fù)用結(jié)構(gòu) 復(fù)用模塊結(jié)構(gòu)或者數(shù)據(jù)結(jié)構(gòu)。復(fù)用模塊結(jié)構(gòu)或者數(shù)據(jù)結(jié)構(gòu)。66 構(gòu)件構(gòu)件是指可以被明確標(biāo)識(shí)的軟件制品,

37、可以是軟件開(kāi)發(fā)是指可以被明確標(biāo)識(shí)的軟件制品,可以是軟件開(kāi)發(fā)不同階段的產(chǎn)品。不同階段的產(chǎn)品。 可復(fù)用構(gòu)件可復(fù)用構(gòu)件是指可被其它系統(tǒng)復(fù)用,用于構(gòu)成新系統(tǒng)的是指可被其它系統(tǒng)復(fù)用,用于構(gòu)成新系統(tǒng)的構(gòu)件。構(gòu)件。可復(fù)用構(gòu)件的特性:可復(fù)用構(gòu)件的特性:1. 獨(dú)立性獨(dú)立性 解決相對(duì)獨(dú)立的問(wèn)題,與外界聯(lián)系盡量少。解決相對(duì)獨(dú)立的問(wèn)題,與外界聯(lián)系盡量少。2. 完整性完整性 既要包括完整的解決方案,還定義相應(yīng)操作。既要包括完整的解決方案,還定義相應(yīng)操作。3. 通用性通用性 在同類應(yīng)用中具有一般性。在同類應(yīng)用中具有一般性。4. 可標(biāo)識(shí)性可標(biāo)識(shí)性 通過(guò)合適的命名,構(gòu)件所解決的問(wèn)題是可標(biāo)通過(guò)合適的命名,構(gòu)件所解決的問(wèn)題是可標(biāo)

38、識(shí)的。識(shí)的。5. 可適應(yīng)性可適應(yīng)性 適應(yīng)環(huán)境變化。適應(yīng)環(huán)境變化。6. 可靠性可靠性 對(duì)各個(gè)使用它的系統(tǒng)都具有高的可靠性。對(duì)各個(gè)使用它的系統(tǒng)都具有高的可靠性。67本講核心本講核心q一、軟件工程過(guò)程q二、軟件生存期模型q三、軟件開(kāi)發(fā)方法q四、軟件工具與軟件開(kāi)發(fā)環(huán)境q五、路線圖68軟件開(kāi)發(fā)工具69在軟件工程活動(dòng)中,軟件工程師和管理員按照軟在軟件工程活動(dòng)中,軟件工程師和管理員按照軟件工程的方法和原則,借助于計(jì)算機(jī)及其軟件工具的件工程的方法和原則,借助于計(jì)算機(jī)及其軟件工具的幫助,開(kāi)發(fā)、維護(hù)、管理軟件產(chǎn)品的過(guò)程,稱為幫助,開(kāi)發(fā)、維護(hù)、管理軟件產(chǎn)品的過(guò)程,稱為計(jì)算計(jì)算機(jī)輔助軟件工程(機(jī)輔助軟件工程(Comp

39、uter-Aided Software Engineering,簡(jiǎn)稱,簡(jiǎn)稱CASE)。)。70n圖稿繪制工具n源碼瀏覽的工具n配置管理工具n數(shù)據(jù)庫(kù)建模工具nRose與PowerDesigner兩款建模工具的對(duì)比71圖稿繪制工具 Visio:它是最通用(MS的東西,意味著許多附帶的通用的東西)的硬件、網(wǎng)絡(luò)平臺(tái)等圖表設(shè)計(jì)軟件。好處是易用性高,特別是對(duì)不善于自己構(gòu)造圖的人。但是正因?yàn)楹苋阅硞€(gè)方面上會(huì)造成專業(yè)程度較低。Smartdraw:提供你大堆模版,以目錄樹(shù)的形式放在左邊。smartdraw本身是獨(dú)立提供圖稿繪制的工具 ,因而工具齊全。 Go72VISIO的圖只能以對(duì)象的方式插入你的主文檔,

40、只有在它本身環(huán)境下才能修改。 有關(guān)工程管理類的顯然不如PROJECT2000好用; 畫(huà)IDEF0圖顯然不如BPWIN好用; 畫(huà)IDEF1X圖顯然無(wú)法與ERWIN相比; 畫(huà)組織機(jī)構(gòu)圖WORD足夠用了,且普遍適用; 畫(huà)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖只要有相應(yīng)的圖素,用什么畫(huà)都行; 畫(huà)有關(guān)圖表類的顯然不如EXCEL好用;73IDEFIDEF(ICAM DEFinition method )ICAM(Integrated Computer Aided Manufacturing) IDEF是用于描述企業(yè)內(nèi)部運(yùn)作的一套建模方法。IDEF是由美國(guó)空軍發(fā)明,現(xiàn)在則根據(jù)知識(shí)基礎(chǔ)系統(tǒng)開(kāi)發(fā)的。它本來(lái)只是運(yùn)用在制造業(yè)上的,經(jīng)過(guò)改造

41、后用途變廣泛了,適用于一般的軟件開(kāi)發(fā)。從IDEF0到IDEF14(包括IDEF1X在內(nèi))共有16套方法,每套方法都是通過(guò)建模程序來(lái)獲取某個(gè)特定類型的信息。IDEF方法是用于創(chuàng)建各種系統(tǒng)的圖像表達(dá)、分析系統(tǒng)模塊、創(chuàng)建系統(tǒng)的最佳版本和幫助不同系統(tǒng)之間的轉(zhuǎn)換。 74IDEF0:功能建模(Function Modeling)IDEF1:信息建模(Information Modeling)IDEF1X:數(shù)據(jù)建模(Data Modeling)IDEF2:仿真建模設(shè)計(jì)(Simulation Model Design)IDEF3:過(guò)程描述獲?。≒rocess Description Capture)IDEF4

42、:面向?qū)ο笤O(shè)計(jì)(Object-Oriented Design)75IDEF5:本體論描述獲?。∣ntology Description Capture)IDEF6:設(shè)計(jì)原理獲取(Design Rationale Capture)IDEF7:信息系統(tǒng)審定(Information System Auditing)IDEF8:用戶介面建模(User Interface Modeling)76IDEF9:場(chǎng)景驅(qū)動(dòng)信息系統(tǒng)設(shè)計(jì)(Scenario-Driven IS Design)IDEF10:實(shí)施體系結(jié)構(gòu)建模(Implementation Architecture Modeling)IDEF11:信息制

43、品建模(Information Artifact Modeling)IDEF12:組織建模(Organization Modeling)IDEF13:三模式映射設(shè)計(jì)(Three Schema Mapping Design)IDEF14:網(wǎng)絡(luò)規(guī)劃(Network Design)77IDEF0之基本組件圖之基本組件圖78IDEF0之系統(tǒng)功能展開(kāi)之系統(tǒng)功能展開(kāi) 79SourceInsigt:整個(gè)面板分成三個(gè)部分.左邊樹(shù)提供工程內(nèi)的所有變量,函數(shù),宏定義,右邊提供程序閱讀和編輯,下邊顯示你鼠標(biāo)在原碼觸及的函數(shù)或者變量定義.最讓人佩服的是SourceInsigt不僅高亮你的關(guān)鍵字,而且以近乎完美的板面編

44、排讓你看程序如果看報(bào)紙,好極了。SourceInsigt提供函數(shù)交叉調(diào)用的分析,并以樹(shù)狀的形式顯示調(diào)用關(guān)系。 Dia:(/projects/dia/)80SourceNavigator:這個(gè)是從Redhat Linux版本移植到win32下的,與SourceInsigt相比,樣子土多了,處處透著Linux的鄉(xiāng)土氣息,不過(guò)是干實(shí)事的家伙。提供原碼高亮顯示和編輯,提供頭文件的包含關(guān)系分析,提供類的層次關(guān)系,這個(gè)東西最大的特點(diǎn)是把原碼始終和文件聯(lián)系在一起,提供到文件的導(dǎo)航 。81Virsual Source Safe:微軟的studio企業(yè)版包含的版本管理工具。

45、該工具包括一服務(wù)器和一通過(guò)網(wǎng)絡(luò)可以連接服務(wù)器的客戶端。VSS提供了基本的認(rèn)證安全和版本控制機(jī)制,包括 CheckIn(入庫(kù))、CheckOut(出庫(kù))、Branch(分支)、Label(標(biāo)定)等功能;能夠?qū)ξ谋荆M(jìn)制,圖形圖象幾乎任何類型的文件進(jìn)行控制;提供歷史版本對(duì)比;可以集成在studio中。VSS的客戶端既可以連接服務(wù)器運(yùn)行,也可以在本機(jī)運(yùn)行,非常適合于個(gè)人程序開(kāi)發(fā)的版本管理。 82PVCS:PVCS基于WEB的應(yīng)用比較方便,只要設(shè)定用戶和權(quán)限,規(guī)劃好目錄結(jié)構(gòu),項(xiàng)目組成員通過(guò)瀏覽器完成操作。ClearCase:ClearCase 是rational公司的主要配置管理工具,可能大家對(duì)Ro

46、se熟悉一點(diǎn),不過(guò)就我所知,現(xiàn)在絕大多數(shù)企業(yè)已經(jīng)從PVCS過(guò)渡到ClearCase來(lái)了,其原因在于ClearCase是整個(gè)rational產(chǎn)品系列中的中樞(repository). CVS:在linux和unix下系統(tǒng)自帶的版本控制工具,是版本控制中工具的鼻祖,功能十分強(qiáng)大,但是都得通過(guò)命令行的形式來(lái)操作,不便使用。目前,Internet上提供了基于Windows的客戶端,名字叫WinCVS,而且提供了原碼。 83ERWin:CA 公司出品的拳頭產(chǎn)品, 強(qiáng)大的老牌數(shù)據(jù)庫(kù)建模工具。它有一個(gè)兄弟是BPWin,這個(gè)是CASE工具的一個(gè)里程碑似的產(chǎn)品。 erwin支持idef1x即信息建模,就是我們常

47、說(shuō)的er圖、實(shí)體關(guān)系圖,也就是數(shù)據(jù)庫(kù)結(jié)構(gòu)圖。bpwin支持idef0/idef3/dfd,是功能與流程建模,主要用來(lái)描述企業(yè)的業(yè)務(wù)流程,比uml的usecase/sequence更適合描述復(fù)雜邏輯。如果要全過(guò)程支持,請(qǐng)選擇bpwin + PowerDesigner7.5/8 or erwin4 + rational rose 2001 (建議用于50200個(gè)table的信息系統(tǒng))84MS Visio: Case Studio:性價(jià)比最高ER/Studio:很不錯(cuò)的數(shù)據(jù)庫(kù)建模工具新勢(shì)力, 非常不錯(cuò). 結(jié)合Repository, 可進(jìn)行VSS式的版本控制。erwin能做到的它都能做到 Modelm

48、akeDeZign for Databases:如果你是軟件工程師或是軟件產(chǎn)品經(jīng)理等常常需要規(guī)劃系統(tǒng)的話,勢(shì)必會(huì)需要規(guī)劃數(shù)據(jù)庫(kù)的Table Schema。這套軟件能夠輔助你的規(guī)劃,將各個(gè)Table之間Key的關(guān)連性表達(dá)出來(lái),也提供有資料庫(kù)欄位異動(dòng)時(shí)的版本控制紀(jì)錄與統(tǒng)計(jì)報(bào)表等功能。Rational Rose 85PowerDesign:Sybase推出的主打數(shù)據(jù)庫(kù)設(shè)計(jì)工具。PowerDesign致力于采用基于 Entiry-Relation的數(shù)據(jù)模型,分別從概念數(shù)據(jù)模型(Conceptual Data Model)和物理數(shù)據(jù)模型(Physical Data Model)兩個(gè)層次對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。

49、 86Rational Rose:大恐龍, 小項(xiàng)目中難以使用, 雖然是 UML 設(shè)計(jì)者做的。 Rose 2002功能上可以完成UML的9種標(biāo)準(zhǔn)建模,即靜態(tài)建模(用例圖 類圖 對(duì)象圖 組件圖 配置圖 )和動(dòng)態(tài)建模(合作圖 序列圖 狀態(tài)轉(zhuǎn)移圖 活動(dòng)圖),為了使靜態(tài)建??梢灾苯幼饔糜诖a,Rose提供了類設(shè)計(jì)到多種程序語(yǔ)言代碼自動(dòng)產(chǎn)生的插件同時(shí),作為一款優(yōu)秀的分析和設(shè)計(jì)工具,Rose具有強(qiáng)大的正向和逆向工程能力。 87XDE, 分別有4 和4 wsda的, 很不錯(cuò), 值得使用. Borland Together:有很多版本, 其中4VS.Net不推薦使用, 用Jbuilder推薦使用, MS Vis

50、io 2003 for Visual Studio:Visio Professional 2000開(kāi)始提供內(nèi)建的UML支持。和結(jié)合不錯(cuò), 只是僅限于 VS.NET 的代碼生成 。88PowerDesigner:是簡(jiǎn)練實(shí)用的建模工具、6.0支持?jǐn)?shù)據(jù)流圖,8.0支持UML的UseCase/sequence/class視圖;Visual Paradigm:(http:/www.visual- 強(qiáng)大, 非 Java. Community Edition 可以免費(fèi)使用, 當(dāng)然有功能限制.是一種UML建模和分析工具,出色的建模功能和代碼同步。WithClass 2000:(http:/ 而且也沒(méi)有免費(fèi)版本, 不過(guò)功能還不錯(cuò), 特別是代碼生成的能力.Poseidon (海神.):也是 J

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論