se8-ch05-v5軟件工程工具_(dá)第1頁
se8-ch05-v5軟件工程工具_(dá)第2頁
se8-ch05-v5軟件工程工具_(dá)第3頁
se8-ch05-v5軟件工程工具_(dá)第4頁
se8-ch05-v5軟件工程工具_(dá)第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Slide 5.1Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering 李東Slide 5.2Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. CHAPTER 5THE TOOLS OF THE TRADESlide 5.3Copyright 2011 by The McGraw-Hill Companies, In

2、c. All rights reserved. Overviewl Stepwise refinementl Costbenefit analysisl Software metricsl CASEl Taxonomy of CASE分類l Scope of CASEl Software versionsl Configuration controll Build toolslProductivity gains with CASE technologySlide 5.4Copyright 2011 by The McGraw-Hill Companies, Inc. All rights r

3、eserved. 5.1 Stepwise Refinement逐步求精法A basic principle underlying many software engineering techniques “Postpone decisions as to details as late as possible to be able to concentrate on the important issues” 定義推延到最后,以便集中精力在重要定義推延到最后,以便集中精力在重要的事項(xiàng)上的事項(xiàng)上Millers law (1956)A human being can concentrate on

4、 7 2 items at a timeSlide 5.5Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 5.1.1 Stepwise Refinement Mini Case StudylThree types of transactions Type 1:INSERT (a new subscriberinto the master file) Type 2:MODIFY (an existing subscriber record) Type 3:DELETE (an existing subs

5、criber record) Slide 5.6Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 設(shè)計(jì)解決方案l第一步:建立輸入事務(wù)的典型文件,如下表所示:事務(wù)類型姓名地址31231BrownHarrisJonesJonesSmith2 Oak Lane,TownsvilleBox 345, Tarrytown1304 Elm Avenue, Oak CitySlide 5.7Copyright 2011 by The McGraw-Hill Companies, Inc. All rights res

6、erved. 解決方案l第二步:開始設(shè)計(jì)過程;開始點(diǎn)是上圖的更新主文件更新主文件方框3 Brown1 Harris2 Jones3 Jones1 SmithAbelBrownJamesJonesSmithTownsendAbelHarrisJamesSmithTownsendSmithSlide 5.8Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 解決方案事務(wù)記錄關(guān)鍵詞=舊的主文件記錄關(guān)鍵詞1.INSERT: 打印錯(cuò)誤信息2.MODIFY:修改主文件記錄3.DELETE:刪除主文件記錄事務(wù)記錄關(guān)鍵詞

7、舊的主文件記錄關(guān)鍵詞復(fù)制舊的主文件記錄到新的主文件事務(wù)記錄關(guān)鍵詞舊的主文件記錄關(guān)鍵詞1.INSERT: 將事務(wù)記錄寫入新的主文件2.MODIFY:打印錯(cuò)誤信息3.DELETE:打印錯(cuò)誤信息Slide 5.9Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 解決方案l第三步對(duì)處理框再次提煉,進(jìn)行第二次求精,如下圖所示:Slide 5.10Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 解決方案l第四步求精輸入和輸

8、出方框,如下圖所示=設(shè)計(jì)有主要錯(cuò)誤設(shè)計(jì)有主要錯(cuò)誤Slide 5.11Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 解決方案l第五步,進(jìn)行第四次求精,考慮打開,關(guān)閉文件等細(xì)節(jié)問題的處理;l逐步求精法可看成是建立某個(gè)階段內(nèi)需解決的各種問題的優(yōu)先級(jí)的一種技術(shù),逐步求精確保每個(gè)問題都得到解決,并且在合適的時(shí)間解決,不需要一次處理超過7 2個(gè)程序塊;l逐步求精是一項(xiàng)通用技術(shù),可用于軟件開發(fā)的每個(gè)工作流,表現(xiàn)形式也可以多種多樣。l使用逐步求精法的難點(diǎn)在于確定當(dāng)前的求精中必須處理的重要事項(xiàng),以及哪些事項(xiàng)需推遲到后

9、面的求精中解決;Slide 5.12Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 5.2 CostBenefit Analysis 成本效益分析法 l成本-效益分析法:對(duì)比估計(jì)的未來收益和預(yù)測(cè)的未來成本,確定一個(gè)可能的行為過程是否有利可圖;l成本-效益分析法是確定客戶是否應(yīng)當(dāng)進(jìn)行業(yè)務(wù)計(jì)算機(jī)化的基本技術(shù),如果確定使用計(jì)算機(jī)處理業(yè)務(wù),應(yīng)用何種方式來比較各種可選方案的成本和效益;Slide 5.13Copyright 2011 by The McGraw-Hill Companies, Inc. All

10、rights reserved. 5.3 Software Metrics軟件度量l沒有度量(或測(cè)度)是不可能在軟件開發(fā)過程的早期,在問題暴露之前檢測(cè)到該問題的;l常用的度量:代碼行(LOC),每千行代碼檢測(cè)出的錯(cuò)誤數(shù),平均故障間隔時(shí)間,人月為單位測(cè)試工作量,職員的流動(dòng)性;l產(chǎn)品度量:測(cè)量產(chǎn)品本身的某個(gè)特性,例如規(guī)模或可靠性l過程度量:開發(fā)者使用這些度量推斷有關(guān)軟件開發(fā)過程的信息,例如開發(fā)過程中錯(cuò)誤檢測(cè)的有效性;l成本與計(jì)算度量值所需搜集的數(shù)據(jù)相關(guān);l一個(gè)軟件組織應(yīng)該測(cè)量什么?The Five Basic Metrics :(1) 規(guī)模(代碼行);(2) 成本(美元);(3) 持續(xù)時(shí)間(以月計(jì)

11、);(4) 工作量(人月);(5) 質(zhì)量(檢測(cè)錯(cuò)誤數(shù))。這些度量每一個(gè)都必須按工作流測(cè)量,根據(jù)從這些基本度量中獲得的數(shù)據(jù),管理者可以發(fā)現(xiàn)軟件組織內(nèi)部的問題;Slide 5.14Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 5.4 CASE (Computer-Aided Software Engineering)l軟件開發(fā)產(chǎn)品的開發(fā)過程中,需要進(jìn)行許多不同的操作。典型的活動(dòng)包括評(píng)估資源要求、寫出規(guī)格說明文檔、進(jìn)行集成測(cè)試以及編寫用戶操作指南。這些工作不能由計(jì)算機(jī)完全自己實(shí)現(xiàn),需要人的參與,但是計(jì)算機(jī)

12、可以輔助這些工作的實(shí)現(xiàn);lCASE:計(jì)算機(jī)輔助軟件工程;lCASE包含計(jì)算機(jī)支持軟件工程的所有方面;Slide 5.15Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. CASE的分類lUpperCASE (front-end tool)高端CASE或高端工具:在軟件開發(fā)過程的較早工作流幫助開發(fā)者的CASE工具;lLowerCASE (back-end tool)低端CASE或低端工具:幫助實(shí)現(xiàn)流、和交付后維護(hù)的CASE工具;l數(shù)據(jù)字典l一致性檢查器l報(bào)表生成器l屏幕生成器l圖形表示工具與數(shù)據(jù)字典結(jié)合,

13、一致性檢查器、報(bào)表生成器一起構(gòu)成需求、分析和設(shè)計(jì)的工作平臺(tái);l另一類工作平臺(tái)是需求管理工作平臺(tái),這類工作平臺(tái)允許系統(tǒng)分析員組織和跟蹤軟件開發(fā)項(xiàng)目的需求;Slide 5.16Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. CASE的分類lCASE工作平臺(tái)是一些工具的集合,共同支持一個(gè)或兩個(gè)活動(dòng),這里,活動(dòng)是相關(guān)任務(wù)的集合;l將CASE技術(shù)從工具到工作平臺(tái)的發(fā)展再繼續(xù)下去,下一項(xiàng)是CASE環(huán)境。l與一個(gè)支持一個(gè)或兩個(gè)活動(dòng)的工作平臺(tái)不同,環(huán)境支持整個(gè)軟件開發(fā)過程,或者至少是軟件開發(fā)過程的大部分;Slide

14、5.17Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Taxonomy分類of CASE (contd)l(a) Tool versus (b) workbench平臺(tái) versus (c) environmentFigure 5.9Slide 5.18Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 5.6 Scope of CASE CASE的范圍l實(shí)現(xiàn)CASE技術(shù)的一個(gè)主要原因是總是需要有準(zhǔn)確、最新和可

15、用的文檔;編程工具編程工具一詞指諸如文本編輯器、調(diào)試器和靈巧打印機(jī)這樣的CASE工具;Slide 5.19Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 5.7 Software Versions 軟件版本老版本新版本新版本替代老版本?RevisionvariationA version to fix a fault in the artifactWe cannot throw away an incorrect versionThe new version may be no betterSome

16、sites may not install the new versionA variation is a version for a different operating systemhardware Variations are designed to coexist in parallelSlide 5.20Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 5.8 Configuration Control 配置控制制品代碼形式:(1)源代碼(2)目標(biāo)代碼(編譯代碼)(3)可執(zhí)行載入映像Slid

17、e 5.21Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 配置控制現(xiàn)象:現(xiàn)象:測(cè)試報(bào)告顯示一個(gè)制品在某組測(cè)試數(shù)據(jù)上有問題。問題:?jiǎn)栴}:程序員如何確定制品哪個(gè)變種版的哪個(gè)修訂版進(jìn)入了出現(xiàn)問題的產(chǎn)品版本?處理多個(gè)版本時(shí)必須解決兩個(gè)問題:處理多個(gè)版本時(shí)必須解決兩個(gè)問題:第一,有必要區(qū)分版本,以便將每個(gè)制品的正確版本編譯并鏈接到產(chǎn)品中;第二,存在相反的問題:給定一個(gè)可執(zhí)行載入映像,確定每個(gè)組件的哪個(gè)版本進(jìn)入了它;解決問題的方法解決問題的方法:(1) 版本控制工具;版本控制工具;(2) 保留產(chǎn)品每保留產(chǎn)品每個(gè)

18、版本的詳細(xì)記錄個(gè)版本的詳細(xì)記錄(出處出處)Slide 5.22Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. 配置控制l版本控制常用技術(shù):使每個(gè)文件的名稱包含兩部分,文件名本身和修訂版本號(hào);l關(guān)于多個(gè)變種版,一個(gè)基本的文件名后跟著一個(gè)帶圓括號(hào)的變種名;l版本控制記錄出處的方法:包括每個(gè)源代碼組成部分的名稱、使用的多種編譯器和鏈接器的版本、創(chuàng)建產(chǎn)品的人的名字,生成產(chǎn)品的日期和時(shí)間;l如果在一個(gè)變種版中發(fā)現(xiàn)的錯(cuò)誤在其他變種版本中也存在,怎么辦?l配置控制工具可以自動(dòng)管理多個(gè)變種版,但配置控制的作用不局限于

19、多個(gè)變種版。l配置控制工具還可以處理小組開發(fā)和維護(hù)時(shí)出現(xiàn)的問題;Slide 5.23Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Configuration-Controll問題:多個(gè)程序員同時(shí)維護(hù)維護(hù)一個(gè)產(chǎn)品,會(huì)產(chǎn)生意想不到的麻煩=如何解決? 基準(zhǔn)Baselines :產(chǎn)品中所有制品的配置(版本集) 個(gè)人工作臺(tái)Private workspaces 凍結(jié)version is frozenl產(chǎn)品開發(fā)過程中的配置控制 While an artifact is being codedThe program

20、mer performs informal testing Then the artifact is given to the SQA group for methodical testing An artifact must be subject to configuration control from the time it is passed by SQASlide 5.24Copyright 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Configuration-Control ToolslUNIX version-control tools sccs源代碼控制系統(tǒng) rcs修訂版控制系統(tǒng) cvs并行版本控制系統(tǒng)lPopular commercial configuration-control tools PVCS SourceSafelOpen-source configuration-control tool cvsSlide 5.25Copyright 2011 by The McGraw-Hill Companies, Inc. All rights re

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論