北京大學(xué)工程碩士軟件工程教材軟件工程串講_第1頁(yè)
北京大學(xué)工程碩士軟件工程教材軟件工程串講_第2頁(yè)
北京大學(xué)工程碩士軟件工程教材軟件工程串講_第3頁(yè)
北京大學(xué)工程碩士軟件工程教材軟件工程串講_第4頁(yè)
北京大學(xué)工程碩士軟件工程教材軟件工程串講_第5頁(yè)
已閱讀5頁(yè),還剩137頁(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)介

北京大學(xué)工程碩士軟件工程教材軟件工程串講本課件PPT僅供大家學(xué)習(xí)使用學(xué)習(xí)完請(qǐng)自行刪除,謝謝!本課件PPT僅供大家學(xué)習(xí)使用學(xué)習(xí)完請(qǐng)自行刪除,謝謝!本課件PPT僅供大家學(xué)習(xí)使用學(xué)習(xí)完請(qǐng)自行刪除,謝謝!本課件PPT僅供大家學(xué)習(xí)使用學(xué)習(xí)完請(qǐng)自行刪除,謝謝!北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第1頁(yè)。為屏蔽計(jì)算機(jī)硬件的異構(gòu)性,開展了操作系統(tǒng).NET/COMWebServicesJ2EE/EJB操作系統(tǒng)UNIXWindowsLinuxC/C++語(yǔ)言Java語(yǔ)言支撐軟件中間件為屏蔽操作系統(tǒng)和編程語(yǔ)言的異構(gòu)性,開展了支撐軟件和中間件為了屏蔽中間件之間的異構(gòu)性,出現(xiàn)了Web技術(shù)。Fortran語(yǔ)言為了禰補(bǔ)應(yīng)用軟件與現(xiàn)實(shí)計(jì)算環(huán)境之間的距離應(yīng)用系統(tǒng)

網(wǎng)絡(luò)層綜觀軟件技術(shù)的開展軟件開發(fā)的本質(zhì)北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第2頁(yè)。

應(yīng)用系統(tǒng)概念不同,邏輯不同。解決問題的思維邏輯不同。-“距離〞語(yǔ)言網(wǎng)絡(luò)異構(gòu)VB、VC--程序設(shè)計(jì)環(huán)境中間件技術(shù)與產(chǎn)品面向領(lǐng)域的軟件體系構(gòu)造應(yīng)用框架領(lǐng)域軟件生產(chǎn)線系統(tǒng)建模運(yùn)行平臺(tái)開發(fā)平臺(tái)軟件工程學(xué)科所要解決的問題北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第3頁(yè)。軟件開發(fā)的本質(zhì)可概括為:第一點(diǎn):?jiǎn)栴}空間的概念與解空間的模型化概念之間的映射例如:對(duì)象=F〔張山〕〔模型化概念〕〔問題空間的概念〕其中,對(duì)應(yīng)的過(guò)程:需求分析使用的技術(shù):面向?qū)ο笫褂玫脑恚簲?shù)據(jù)抽象目的:作為計(jì)算的客體。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第4頁(yè)。第二點(diǎn):?jiǎn)栴}空間的處理邏輯與解空間處理邏輯之間的映射例如1:加工1〔及相關(guān)的數(shù)據(jù)流〕=F〔計(jì)算學(xué)生成績(jī)〕其中:使用的方法:構(gòu)造化方法;對(duì)應(yīng)的過(guò)程:需求分析使用的原理:過(guò)程抽象

加工1計(jì)算學(xué)生平均成績(jī)科目+年級(jí)/班學(xué)生成績(jī)文件學(xué)生平均成績(jī)規(guī)約后的處理邏輯北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第5頁(yè)。例如2:交互圖1=H〔計(jì)算學(xué)生成績(jī)〕其中:對(duì)應(yīng)的過(guò)程:需求分析使用的方法:面向?qū)ο笫褂玫脑恚盒袨闃?gòu)造抽象〔簡(jiǎn)稱行為抽象〕

作用:實(shí)現(xiàn)計(jì)算:教務(wù)員:教員遞交A科學(xué)生成績(jī)表A科學(xué)生成績(jī)表:教學(xué)主任求A科平均A科平均北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第6頁(yè)。由于以上兩個(gè)映射是由“人〞完成的,因此就軟件開發(fā)而言,需要解決兩個(gè)方面的問題:1:管理2:技術(shù)進(jìn)一步說(shuō),技術(shù)問題主要是指軟件開發(fā)過(guò)程通常需要遵循的途徑和方向其中,過(guò)程方向確定用于創(chuàng)立問題模型和設(shè)計(jì)解的特定的抽象層次例如,需求、設(shè)計(jì)、實(shí)現(xiàn)、部署等北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第7頁(yè)。一、根本概念1、軟件程序及其文檔2、軟件工程應(yīng)用計(jì)算機(jī)科學(xué)理論和技術(shù)以及工程管理原那么和方法,按預(yù)算和進(jìn)度,實(shí)現(xiàn)滿足用戶要求的軟件產(chǎn)品的定義、開發(fā)、發(fā)布和維護(hù)的工程,或以之為研究對(duì)象的學(xué)科。Softwareengineeringisthedisciplinedapplicationoftheoriesandtechniquesfromcomputersciencetodefine,develop,deliver,andmaintain,ontimeandwithinbudget,softwareproductsthatmeetcustomers’needsandexpectations.Softwareproductincludetheactualprogramsourcecodeanddatastructure,aswellasthedocumentsnecessarytoproducethese,anddocumentsandinterfaceprogramnecessarytousethemintheintendedenvironment.-BonnieMelhart,2000北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第8頁(yè)。3、軟件工程框架軟件工程目標(biāo)生產(chǎn)具有正確性、可用性和開銷合宜的產(chǎn)品。正確性是指軟件產(chǎn)品到達(dá)預(yù)期功能的程度??捎眯允侵杠浖緲?gòu)造、實(shí)現(xiàn)以及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運(yùn)行的整個(gè)開銷滿足用戶要求的程度。軟件開發(fā)活動(dòng)生產(chǎn)一個(gè)最終滿足需求且到達(dá)工程目標(biāo)的軟件產(chǎn)品所需要的活動(dòng)。軟件開發(fā)的根本活動(dòng)包括:需求分析〔requirementanalysis〕,設(shè)計(jì)〔design〕,實(shí)現(xiàn)〔implementation〕,驗(yàn)證/確認(rèn)〔verification/validation〕和維護(hù)〔maintenance〕。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第9頁(yè)。〔1〕需求分析是在一個(gè)抽象層上建立系統(tǒng)模型的活動(dòng)。產(chǎn)生需求規(guī)約,作為開發(fā)人員和客戶間契約的根底,并作為以后開發(fā)階段的輸入?!?〕設(shè)計(jì)定義了實(shí)現(xiàn)需求規(guī)約所需的構(gòu)造。包括軟件體系構(gòu)造〔數(shù)據(jù)和程序構(gòu)造〕,以及詳細(xì)的處理算法,即所謂設(shè)計(jì)規(guī)約,給出了實(shí)現(xiàn)軟件需求的軟件解決方案。〔3〕實(shí)現(xiàn)是由設(shè)計(jì)規(guī)約到代碼的轉(zhuǎn)換?!?〕驗(yàn)證/確認(rèn)是一種評(píng)估活動(dòng),其中主要包括需求規(guī)約、設(shè)計(jì)規(guī)約以及實(shí)現(xiàn)代碼的評(píng)估。驗(yàn)證/確認(rèn)這一評(píng)估可以是動(dòng)態(tài)的,或是靜態(tài)的。在動(dòng)態(tài)分析中,以選定的輸入來(lái)執(zhí)行程序或程序段,并與預(yù)期結(jié)果進(jìn)展比較。靜態(tài)分析是不執(zhí)行程序的分析,例如模型評(píng)審、代碼“走查〞以及程序的形式化驗(yàn)證等?!?〕維護(hù)是軟件發(fā)布之后所進(jìn)展的開發(fā)或修改(modification),包括對(duì)發(fā)現(xiàn)錯(cuò)誤的修正以及對(duì)環(huán)境的變化所進(jìn)展的必要調(diào)整等。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第10頁(yè)。軟件工程原那么圍繞軟件開發(fā),提出了以下根本原那么。第一:選取適宜的開發(fā)風(fēng)范在系統(tǒng)設(shè)計(jì)中,經(jīng)常需要權(quán)衡軟件需求、硬件需求以及其它因素之間的相互制約和影響,適應(yīng)需求的易變性。選用適宜的開發(fā)風(fēng)范,以保證軟件開發(fā)的可持續(xù)性,并使最終的軟件產(chǎn)品滿足客戶的要求。第二:采用適宜的設(shè)計(jì)方法在軟件設(shè)計(jì)中,通常需要考慮軟件的模塊化、信息隱蔽、局部化、一致性及適應(yīng)性等問題。采用適宜的設(shè)計(jì)方法,支持這些問題的解決和實(shí)現(xiàn)。第三條:提供高質(zhì)量的工程支持如其它工程一樣,需要提供高質(zhì)量的工程支持,例如配置管理、質(zhì)量保證等,才能按期交付高質(zhì)量的軟件產(chǎn)品。第四條原那么:有效的軟件工程管理軟件工程的管理,直接影響可用資源的有效利用,提高軟件組織的生產(chǎn)能力。僅當(dāng)對(duì)軟件過(guò)程實(shí)施有效管理時(shí),才能實(shí)現(xiàn)有效的軟件工程。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第11頁(yè)。二、軟件開發(fā)模型1、根本概念軟件過(guò)程、活動(dòng)、任務(wù)的構(gòu)造框架。2、幾種典型模型及其用法3、模型的外征與內(nèi)涵北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第12頁(yè)。系統(tǒng)需求軟件需求需求分析設(shè)計(jì)編碼測(cè)試運(yùn)行1〕瀑布模型活動(dòng)如瀑布流水式的組織規(guī)定每一活動(dòng)的工作對(duì)象和輸出評(píng)審、確認(rèn)和反響問題:無(wú)法通過(guò)開發(fā)活動(dòng)澄清本來(lái)不確切的軟件需求

維護(hù)、甚至返工的代價(jià)北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第13頁(yè)。優(yōu)點(diǎn):在決定系統(tǒng)怎樣做之前,存在一個(gè)單一的需求階段,從而鼓勵(lì)對(duì)系統(tǒng)做什么進(jìn)展規(guī)約〔即設(shè)計(jì)之前的規(guī)約〕在建造構(gòu)件之前,存在一個(gè)單一的設(shè)計(jì)階段,從而鼓勵(lì)規(guī)劃系統(tǒng)構(gòu)造〔即編碼之前的設(shè)計(jì)〕在每一階段完畢時(shí)進(jìn)展復(fù)審,從而允許獲取方和用戶的參與允許基線和配置早期承受控制前一步作為下一步被認(rèn)可的、文檔化的基線北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第14頁(yè)。缺乏之處:客戶必須能夠完整、正確和清晰地表達(dá)他們的需求設(shè)計(jì)、編碼和測(cè)試階段都可能發(fā)生延期可能要花費(fèi)更多的時(shí)間,用于建立一些用處不大的文檔在開場(chǎng)兩個(gè)或者三個(gè)階段中,很難評(píng)估真正的進(jìn)度狀態(tài)在一個(gè)工程的早期階段,過(guò)分地強(qiáng)調(diào)了基線和里程碑處的文檔開發(fā)人員一開場(chǎng)就必須理解其應(yīng)用當(dāng)接近工程完畢時(shí),出現(xiàn)了大量的集成和測(cè)試工作直到工程完畢之前,都不能演示系統(tǒng)的能力北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第15頁(yè)。需求設(shè)計(jì)編碼測(cè)試集成需求設(shè)計(jì)編碼測(cè)試集成開發(fā)反饋開發(fā)反饋...核心系統(tǒng)開發(fā)第二次迭代2〕演化模型〔Evolutionarymodel〕是一種有彈性的過(guò)程模式,由一些小的開發(fā)步組成,每一步歷經(jīng)需求分析、設(shè)計(jì)、實(shí)現(xiàn)和驗(yàn)證,產(chǎn)生軟件產(chǎn)品的一個(gè)增量。通過(guò)這些迭代,完成最終軟件產(chǎn)品的開發(fā)。針對(duì)事先不能完整地定義需求針對(duì)用戶的核心需求,開發(fā)核心系統(tǒng)根據(jù)用戶的反響,實(shí)施活動(dòng)的迭代北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第16頁(yè)。13259101167121384增量1

1,2,5,9

增量2

3,6,7,4,10,11

增量3

8,12,13

管理增量規(guī)約增量設(shè)計(jì)糾錯(cuò)性分析增量實(shí)現(xiàn)增量1增量2增量3〔3〕增量模型-一種迭代風(fēng)范北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第17頁(yè)。(4)螺旋模型-一種迭代風(fēng)范

Thespiralparadigmdividesthesoftwarelifecycleactivitiesintofourrepeatedstages:planning,riskanalysis,development,andevaluation.Progressismadealonganoutwardspiraleachspiralloop.Theevaluationandriskanalysisphaseendwithadecisiontoproceedornotwiththeplannedproject(Boehm,1988).Thewidthofthespiral(numberofloops)indicatestheresourcesalreadyconsumedfortheeffort.Therequirementsspecificationactivitytakesplaceduringplanning,riskanalysis,anddevelopment.Designandimplementationactivitiesaregenerallyinthedevelopmentstage.V&Vactivitiesoccurinthedevelopmentandevaluation.Prototypingisoftenusedinearlyloopstoguidedecisionsforthefinalimplementation.riskanalysisstageDevelopmentstagePlanningstageEvaluationstagestartResourceuse北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第18頁(yè)。(4)螺旋模型-一種迭代風(fēng)范〔1〕制定方案:確定軟件目標(biāo),選定實(shí)施方案,弄清工程開發(fā)的限制條件;〔2〕風(fēng)險(xiǎn)分析:分析評(píng)估所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn);〔3〕實(shí)施工程:實(shí)施軟件開發(fā)和驗(yàn)證;〔4〕客戶評(píng)估:評(píng)價(jià)開發(fā)工作,提出修正建議,制定下一步方案。優(yōu)點(diǎn)1〕設(shè)計(jì)上的靈活性,可以在工程的各個(gè)階段進(jìn)展變更。2〕以小的分段來(lái)構(gòu)建大型系統(tǒng),使本錢計(jì)算變得簡(jiǎn)單容易。3〕客戶始終參與每個(gè)階段的開發(fā),保證了工程不偏離正確方向以及工程的可控性。4〕隨著工程推進(jìn),客戶始終掌握工程的最新信息,從而他或她能夠和管理層有效地交互。5〕客戶認(rèn)可這種公司內(nèi)部的開發(fā)方式帶來(lái)的良好的溝通和高質(zhì)量的產(chǎn)品。缺點(diǎn)很難讓用戶確信這種演化方法的結(jié)果是可以控制的。建立周期長(zhǎng),而軟件技術(shù)開展比較快,所以經(jīng)常出現(xiàn)軟件開發(fā)完畢后,和當(dāng)前的技術(shù)水平有了較大的差距,無(wú)法滿足當(dāng)前用戶需求。螺旋模型的工程適用:對(duì)于新近開發(fā),需求不明確的情況下,適合用螺旋模型進(jìn)展開發(fā),便于風(fēng)險(xiǎn)控制和需求變更!北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第19頁(yè)。(4)螺旋模型-一種迭代風(fēng)范“螺旋模型〞剛開場(chǎng)規(guī)模很小,當(dāng)工程被定義得更好、更穩(wěn)定時(shí),逐漸展開?!奥菪P通暤暮诵木驮谟谀恍枰趧傞_場(chǎng)的時(shí)候就把所有事情都定義的清清楚楚。您輕松上陣,定義最重要的功能,實(shí)現(xiàn)它,然后聽取客戶的意見,之后再進(jìn)入到下一個(gè)階段。如此不斷輪回重復(fù),直到得到您滿意的最終產(chǎn)品。每輪循環(huán)包含如下六個(gè)步驟:1.確定目標(biāo),可選項(xiàng),以及強(qiáng)制條件。2.識(shí)別并化解風(fēng)險(xiǎn)。3.評(píng)估可選項(xiàng)。4.開發(fā)并測(cè)試當(dāng)前階段。5.規(guī)劃下一階段。6.確定進(jìn)入下一階段的方法步驟。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第20頁(yè)。演化維護(hù)確認(rèn)實(shí)現(xiàn)設(shè)計(jì)分析(5)噴泉模型-一種迭代風(fēng)范特征:迭代無(wú)縫與面向?qū)ο蠹夹g(shù)的關(guān)系北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第21頁(yè)。所有模型的內(nèi)在根本特征:描述了開發(fā)的主要階段定義了每一個(gè)階段要完成的主要過(guò)程和活動(dòng)規(guī)約了每一個(gè)階段的輸入和輸出〔產(chǎn)品〕提供了一個(gè)框架,可以把必要的活動(dòng)映射到該框架中開發(fā)模型內(nèi)涵:求解軟件的計(jì)算邏輯外延:宏觀上給出開發(fā)活動(dòng)的組織北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第22頁(yè)。三、系統(tǒng)建模技術(shù)-構(gòu)造化方法構(gòu)造化方法要答復(fù):如何定義問題?就如何定義問題而言,如何獲得需求如何規(guī)約需求如何驗(yàn)證需求北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第23頁(yè)?!惨弧承枨螳@取1、需求面臨的挑戰(zhàn)?問題空間理解?人與人之間的通信?需求的不斷變化2、需求目標(biāo)在任何一個(gè)設(shè)計(jì)中,準(zhǔn)確地陳述問題總是第一步的。需求的目標(biāo)是要簡(jiǎn)潔而準(zhǔn)確地說(shuō)明所要解決的問題北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第24頁(yè)。3、需求工程的原那么

1〕抽象:抓住事物的本質(zhì)〔要素〕。其中,一個(gè)重要方面是:捕獲問題空間的“一般/特殊〞關(guān)系是認(rèn)識(shí)、構(gòu)造問題的一般途徑。2〕劃分:別離問題。其中,一個(gè)重要方面是:捕獲問題空間的“整體/局部〞關(guān)系是降低問題復(fù)雜性的根本途徑之一3〕投影:捕獲并建立問題空間的多維“視圖〞是描述問題的根本手段之一是解決“A是B,B是A〞的根本方法北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第25頁(yè)。4、需求獲取技術(shù)-UseCase(IvarJacobson,1994)1〕引言UseCase主要用于促進(jìn)和用戶的交流、溝通。為此使用了一種用戶和開發(fā)人員都能理解方式描述系統(tǒng)功能和行為UseCase可以劃分系統(tǒng)與外部實(shí)體的界限,是系統(tǒng)開發(fā)的起點(diǎn),而最終應(yīng)該落實(shí)到類和實(shí)現(xiàn)代碼上UseCase既然是對(duì)系統(tǒng)行為的動(dòng)態(tài)描述,因此它是類、對(duì)象、操作的來(lái)源,是系統(tǒng)分析和設(shè)計(jì)階段的輸入之一,是分析和設(shè)計(jì),制定開發(fā)方案,測(cè)試方案,設(shè)計(jì)測(cè)試用例的依據(jù)之一UseCaseModel是系統(tǒng)需求分析階段的成果之一UseCase不但有助于幫助分析員理清思路;驗(yàn)證用戶需求。而且,也是開發(fā)人員之間進(jìn)展交流的重要手段北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第26頁(yè)。2〕語(yǔ)義與表示一般地說(shuō),USECASE是用戶為了到達(dá)某一目標(biāo)和系統(tǒng)進(jìn)展的典型交互。例如:“做一次拼寫檢查〞“對(duì)一個(gè)文檔建立索引〞對(duì)一個(gè)用況而言,關(guān)鍵要素是:表示一種用戶可以理解并對(duì)該用戶有價(jià)值的功能。用況提供了客戶和開發(fā)人員在制訂工程方案中進(jìn)展交流的主要成分。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第27頁(yè)?!?〕USECASE語(yǔ)義一個(gè)USECASE是系統(tǒng)或其它語(yǔ)義實(shí)體〔例如子系統(tǒng)或一個(gè)類〕所提供的一塊(unit)高內(nèi)聚的功能,顯露該系統(tǒng)和一個(gè)或多個(gè)外部的交互者〔稱為操作者〕交替出現(xiàn)的消息序列,以及該系統(tǒng)所執(zhí)行的動(dòng)作。可見,一個(gè)USECASE捕獲了參與交互的各方關(guān)于其行為的一個(gè)約定。通過(guò)這一約定,描述了該語(yǔ)義實(shí)體在不同條件下的行為對(duì)參與者一個(gè)要求的響應(yīng),以實(shí)現(xiàn)某一目的。不同的行為序列,依賴于所給出的特定要求以及與這些要求相關(guān)的條件。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第28頁(yè)?!?〕表示與描述USECASE通常被表示為:USECASE包含一組操作和屬性,這些操作和屬性規(guī)約了該USECASE的實(shí)例所執(zhí)行的那個(gè)動(dòng)作序列。動(dòng)作包含狀態(tài)的改變以及該USECASE與其環(huán)境的通訊。為了說(shuō)明USECASE所包含的具體內(nèi)容,還應(yīng)給出它的正文描述。即:北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第29頁(yè)。USECASE中包含的信息名稱(Name)標(biāo)識(shí)(Identifier)描述(Description)角色(Actor)狀態(tài)(Status)活動(dòng)及時(shí)序頻度(Frequency)北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第30頁(yè)。3〕操作者語(yǔ)義與表示一個(gè)操作者定義了一組高內(nèi)聚的角色,當(dāng)用戶與該實(shí)體交互時(shí),用戶可以扮演這一角色。對(duì)于每一USECASE,一個(gè)操作者有一種角色,即每一USECASE與具有一種角色的操作者進(jìn)展通訊。通常,一個(gè)操作者被表示為:

北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第31頁(yè)。4〕關(guān)系在USECASE之間,或在操作者與USECASE之間,存在一些標(biāo)準(zhǔn)的關(guān)系:關(guān)聯(lián):參與關(guān)系,即操作者參與一個(gè)USECASE。例如,操作者的實(shí)例與USECASE實(shí)例相互通訊。關(guān)聯(lián)是操作者和USECASE之間的唯一關(guān)系。擴(kuò)展:USECASEA到USECASEB的一個(gè)擴(kuò)展關(guān)系,指出了USECASEB的一個(gè)實(shí)例可以由A說(shuō)明的行為予以擴(kuò)展〔根據(jù)該擴(kuò)展所說(shuō)明的特定條件〕,并依據(jù)該擴(kuò)展點(diǎn)定義的位置,A說(shuō)明的行為被插入到B中。包含:USECASEA到USECASEB的一個(gè)包含,指出A的一個(gè)實(shí)例將包含B說(shuō)明的行為,即這一行為將包含在A定義的那局部中。泛化:USECASEA到USECASEB的泛化,指出A是B的特殊情況。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第32頁(yè)。1*<<include>><<include>><<include>><<extend>>thesalespersonasksforthecatalog

PlaceOrderextensionpointsadditionalrequests:aftercreationoftheorder

SupplyCustomerData

OrderProduct

ArrangePayment

RequestCatalogsalesperson

例:USECASE關(guān)系

Actor關(guān)系Supervisor(超級(jí)用戶)

EstablishCredit

1*北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第33頁(yè)。5〕USECASE圖USECASE圖給出了操作者和USECASE以及它們之間的關(guān)系。即圖中給出了一些操作者、一組關(guān)系、一些接口和這些元素之間的關(guān)系。(關(guān)系是操作者和USECASE之間的關(guān)聯(lián)是操作者之間的泛化是USECASE之間的泛化、擴(kuò)展和包含)可以將一些USECASE用一矩形括起,以表示所包括的那個(gè)系統(tǒng)或其它語(yǔ)義實(shí)體的邊界。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第34頁(yè)。CheckstatusPlaceorderFillorder

EstablishcreditTelephoneCatalogSalespersonShippingClerckSupervisorCustomer例:USECASE圖北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第35頁(yè)。5、需求規(guī)約需求規(guī)約的主要目標(biāo):依據(jù)需求陳述〔作為輸入〕,解決其中的歧義、不一致等問題,以系統(tǒng)化的形式表達(dá)用戶的需求,即給出問題的形式化或半形式化的描述〔建立模型〕,形成需求規(guī)格說(shuō)明書。為了實(shí)現(xiàn)這一目標(biāo),1〕提出的概念有:數(shù)據(jù)流:加工:數(shù)據(jù)存儲(chǔ):數(shù)據(jù)源:數(shù)據(jù)潭:概念是完備的。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第36頁(yè)。2〕建模過(guò)程(1)建立系統(tǒng)的功能模型---使用的工具為數(shù)據(jù)流圖DFD首先:建立系統(tǒng)環(huán)境圖,確定系統(tǒng)邊界繼之:自頂向下,逐層分解(2)建立數(shù)據(jù)字典定義數(shù)據(jù)流定義數(shù)據(jù)存儲(chǔ)定義數(shù)據(jù)項(xiàng)(3)給出加工小說(shuō)明---使用的工具可以為判定表判定樹北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第37頁(yè)。(1)建立系統(tǒng)的功能模型

---使用的工具為數(shù)據(jù)流圖DFD

數(shù)據(jù)流圖:是一種描述數(shù)據(jù)變換的圖形工具。例如:旅行社訂票單預(yù)定機(jī)票準(zhǔn)備機(jī)票記帳費(fèi)用航班帳單機(jī)票記帳文件航班目錄旅行社北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第38頁(yè)。數(shù)據(jù)流圖由四個(gè)根本成分組成:數(shù)據(jù)流加工數(shù)據(jù)存儲(chǔ)數(shù)據(jù)源和數(shù)據(jù)潭其中:1各成分的定義

2數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)---支持?jǐn)?shù)據(jù)抽象加工---支持過(guò)程/功能的抽象

3關(guān)于命名問題北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第39頁(yè)。簡(jiǎn)化的商業(yè)自動(dòng)化系統(tǒng)營(yíng)業(yè)員收款員經(jīng)理銷售的商品現(xiàn)金額現(xiàn)金余額銷售情況日銷售額查詢要求首先:建立系統(tǒng)環(huán)境圖,確定系統(tǒng)邊界

------頂層DFD其中:1數(shù)據(jù)流為:銷售的商品,日銷售額等

3個(gè)輸入流,3個(gè)輸出流數(shù)據(jù)源為:營(yíng)業(yè)員,經(jīng)理,收款員數(shù)據(jù)潭為:經(jīng)理,收款員

2加工名為:要建立的系統(tǒng)名字北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第40頁(yè)。錄入、修改或刪除商品信息錄入、修改現(xiàn)金額,并計(jì)算余額查詢商品銷售情況計(jì)算日銷售額123繼之:自頂向下,逐層分解A、按人或部門的功能要求,將加工“打碎〞,形成:注:需給每一加工編號(hào);北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第41頁(yè)。B、〞分派〞數(shù)據(jù)流,形成:錄入、修改或刪除商品信息2錄入、修改現(xiàn)金額,并計(jì)算余額查詢商品銷售情況計(jì)算日銷售額銷售的商品現(xiàn)金額現(xiàn)金余額查詢要求銷售情況日銷售額13其中:要根據(jù)特定的加工要求進(jìn)展分派;保持與頂層數(shù)據(jù)流的一致;可以不引入數(shù)據(jù)源和數(shù)據(jù)潭。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第42頁(yè)。錄入、修改或刪除商品信息錄入、修改現(xiàn)金額,并計(jì)算余額查詢商品銷售情況計(jì)算日銷售額銷售的商品現(xiàn)金額現(xiàn)金余額查詢要求銷售情況日銷售額銷售文件123C、引入文件,使之形成一個(gè)有機(jī)整體—系統(tǒng):注:到一個(gè)文件,既有輸入流,又有輸出流,那么可簡(jiǎn)化為,并可不給出標(biāo)識(shí)。至此,表達(dá)精化,形成0層數(shù)據(jù)流圖。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第43頁(yè)。查詢商品銷售情況計(jì)算日銷售額查詢要求銷售情況日銷售額銷售文件3繼續(xù)A、B、C:自頂向下,逐層分解。例如:加工3可分解為:判定要求查詢要求統(tǒng)計(jì)銷售情況計(jì)算日銷售額銷售文件查詢要求2查詢要求1銷售情況日銷售額加工3:北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第44頁(yè)。(2)建立數(shù)據(jù)字典定義數(shù)據(jù)流定義數(shù)據(jù)存儲(chǔ)定義數(shù)據(jù)項(xiàng)

引入:構(gòu)造符+|{}-用于定義數(shù)據(jù)構(gòu)造

AAABCB0C0B*北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第45頁(yè)。數(shù)據(jù)字典:1、數(shù)據(jù)流:銷售的商品=商品名+商品編號(hào)+單價(jià)+數(shù)量+日期現(xiàn)金額=余額=日銷售額=非負(fù)實(shí)數(shù)查詢要求=[商品編號(hào)|日期]查詢要求1=商品編號(hào)查詢要求2=日期銷售情況=商品名+商品編號(hào)+金額2、數(shù)據(jù)存貯:銷售文件={銷售的商品}3、數(shù)據(jù)項(xiàng)北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第46頁(yè)。(3)給出加工小說(shuō)明---使用的工具可以為判定表判定樹判斷表Ⅰ條件類別Ⅱ條件組合Ⅲ操作Ⅳ操作執(zhí)行例如:考試總分>=620>=620<620單科成績(jī)有總分值有不及格有總分值發(fā)升級(jí)通知書yyn發(fā)留級(jí)通知書nny發(fā)重修通知書nyn北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第47頁(yè)。3〕建模中注意的問題〔1〕模型平衡規(guī)那么·父圖和子圖必須平衡·每個(gè)數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)必須在數(shù)據(jù)字典中予以定義·“葉〞加工〔最低層〕必須給出加工小說(shuō)明·小說(shuō)明和數(shù)據(jù)流圖的圖形表示必須一致,例如:在小說(shuō)明中,必須說(shuō)明“輸入數(shù)據(jù)流〞如何使用,必須說(shuō)明如何產(chǎn)生“輸出數(shù)據(jù)流〞,必須說(shuō)明如何選取、使用、修改“數(shù)據(jù)存儲(chǔ)〞北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第48頁(yè)。〔2〕控制復(fù)雜性規(guī)那么·上層數(shù)據(jù)可以“打包〞上、下數(shù)據(jù)流對(duì)應(yīng)關(guān)系在數(shù)據(jù)字典中給出,但包內(nèi)數(shù)據(jù)流的性質(zhì)〔輸入、輸出〕必須一致?!ひ环鶊D中的圖元個(gè)數(shù)應(yīng)控制在7+/-2以內(nèi)·與每一加工相關(guān)的數(shù)據(jù)流的數(shù)目應(yīng)適中〔與層次有關(guān)〕·分析數(shù)據(jù)內(nèi)容,確定是否所有的輸入信息都用于產(chǎn)生輸出信息;分析加工,確定一個(gè)加工所產(chǎn)生的輸出,是否都能由該加工的輸入信息導(dǎo)出北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第49頁(yè)。實(shí)例講解:圖書管理系統(tǒng)—問題陳述見P35。根據(jù)問題陳述,在一定的層次上,可以把該系統(tǒng)分為兩“大塊〞,即:借還書等事務(wù)的處理,以及咨詢事務(wù)處理。---進(jìn)展功能抽象?!沧ⅲ翰煌墓δ艹橄髮?dǎo)致不同的結(jié)果!但應(yīng)該是等價(jià)的?!秤谑?,可以根據(jù)這一抽象,可以識(shí)別:1〕頂層數(shù)據(jù)流:借還書等事務(wù)處理要求咨詢事務(wù)要求以及相關(guān)的數(shù)據(jù)流2〕數(shù)據(jù)源和數(shù)據(jù)潭為:圖書管理人員,讀者以及時(shí)鐘。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第50頁(yè)?;谝陨戏治?,可形成該系統(tǒng)的環(huán)境圖:圖書管理系統(tǒng)圖書管理員圖書管理要求查詢要求圖書統(tǒng)計(jì)表圖書情況讀者情況

讀者

系統(tǒng)時(shí)鐘當(dāng)前日期罰款單其中:3個(gè)輸入流:圖書管理要求,查詢要求,系統(tǒng)時(shí)鐘圖書管理要求=入庫(kù)單借書單還書單注銷單查詢要求=讀者情況圖書情況圖書統(tǒng)計(jì)表

4個(gè)輸出流:圖書統(tǒng)計(jì)表,圖書情況,讀者情況、罰款單北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第51頁(yè)。通過(guò)“打碎〞、“分派〞,可形成如下0層DFD:1處理借還書等事務(wù)2處理咨詢事務(wù)圖書管理要求查詢要求當(dāng)前日期目錄文件借書文件讀者文件罰款單讀者情況圖書情況圖書統(tǒng)計(jì)表其中:保持輸入與輸出的一致;引入三個(gè)文件,對(duì)頂層DFD進(jìn)展細(xì)化?!沧ⅲ捍嬖跀?shù)據(jù)庫(kù)設(shè)計(jì)問題〕北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第52頁(yè)。以同樣方式,對(duì)加工1進(jìn)展分解,形成:入庫(kù)新書

借書

還書注銷圖書圖書管理要求處理圖書管理要求目錄文件罰款單當(dāng)前日期借書文件讀者文件入庫(kù)單借書單注銷單還書單其中:注意平衡問題;平面化問題。當(dāng)然,還可以繼續(xù)細(xì)化北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第53頁(yè)。

借書目錄文件借書文件例如:借書讀者文件借書單檢查讀者的有效性讀者文件檢查讀者的資格辦理借書檢查圖書庫(kù)存借書單無(wú)效讀者有效讀者借書單借書超限核準(zhǔn)后的借書單該書已借完借書記錄借書文件目錄文件注意:其中粗線數(shù)據(jù)流!北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第54頁(yè)。圖書管理系統(tǒng)的USECASE模型〔根本思路〕:借書還書新書入庫(kù)注銷圖書圖書管理員

讀者北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第55頁(yè)。6、關(guān)于需求驗(yàn)證有關(guān)SRS內(nèi)容方面:〔1〕正確性:指的是SRS中陳述的每個(gè)需求是否都表達(dá)了系統(tǒng)的某個(gè)要求〔2〕無(wú)二義性:指的是SRS中陳述的每個(gè)需求是否都只有一種解釋〔3〕完整性:·未來(lái)系統(tǒng)所做的任何事情都包含在SRS的陳述中·未來(lái)系統(tǒng)響應(yīng)所有可能的輸入〔包括有效和無(wú)效〕·SRS中沒有被標(biāo)識(shí)為“待定〞的內(nèi)容北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第56頁(yè)?!?〕可驗(yàn)證性:SRS中陳述的每個(gè)需求都是可驗(yàn)證的-即當(dāng)且僅當(dāng)存在一個(gè)有限代價(jià)的過(guò)程〔人工或機(jī)器〕可以檢查構(gòu)造的軟件產(chǎn)品是否符合用戶的需求〔5〕一致性:·SRS中陳述的需求沒有與以前的文檔發(fā)生沖突·SRS中陳述的各個(gè)需求之間沒有發(fā)生沖突〔6〕可理解性:北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第57頁(yè)。有關(guān)SRS格式與風(fēng)格方面〔7〕可修改性:指的是SRS的構(gòu)造和風(fēng)格使任何對(duì)需求的必要修改都易于完整、一致的進(jìn)展〔8〕可被跟蹤性:指的是SRS中的每個(gè)需求的出處都是清楚的,這意味著SRS中包含對(duì)前期支持文檔的引用表〔9〕可跟蹤性:指的是SRS的書寫方式有助于對(duì)其中陳述的每個(gè)需求進(jìn)展引用〔10〕設(shè)計(jì)無(wú)關(guān)性:指的是SRS不暗示特定的軟件構(gòu)造和算法北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第58頁(yè)。7、構(gòu)造化設(shè)計(jì)要答復(fù)如何解決問題-即給出軟件解決方案1)總體設(shè)計(jì)的任務(wù):如何將DFD轉(zhuǎn)化為MSD分二步實(shí)現(xiàn):第一步:如何將DFD轉(zhuǎn)化為初始的MSD第二步:如何將初始的MSD轉(zhuǎn)化為最終可供詳細(xì)設(shè)計(jì)

北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第59頁(yè)。第一步:如何將DFD轉(zhuǎn)化為初始的MSD數(shù)據(jù)流圖分類變換型:事務(wù)型12345678abcdefhgyxz123546abcdefgy北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第60頁(yè)。變換設(shè)計(jì)XX系統(tǒng)變換模塊geteputhputggetcgetdc,d->ee->ff->g,hh->yputyg->xputxx->zputzgetagetbb->da->ceeg,hhgzzxxgyyhdbcacdeefg,hfxab北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第61頁(yè)。事務(wù)設(shè)計(jì)事務(wù)中心輸入模塊路徑1路徑2輸出模塊aycgbfc->ecee->gegb->dbdd->fdf北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第62頁(yè)。34682579A2cbdefgihmkn110A1x

一個(gè)系統(tǒng)的DFD,通常是變換型數(shù)據(jù)流圖和事務(wù)型數(shù)據(jù)流圖的組合。如下所示:北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第63頁(yè)。第二步:如何將初始的MSD轉(zhuǎn)化為最終可供詳細(xì)設(shè)計(jì)使用的MSD概念:模塊模塊化模塊化度量:內(nèi)聚耦合設(shè)計(jì)規(guī)那么-經(jīng)歷規(guī)那么精化初始的MSD-表達(dá)設(shè)計(jì)人員的創(chuàng)造

北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第64頁(yè)。1〕耦合:不同模塊之間相互依賴程度的度量。耦合類型:〔1〕內(nèi)容耦合:一個(gè)模塊直接修改或操作另一個(gè)模塊的數(shù)據(jù)〔2〕公共耦合:兩個(gè)以上的模塊共同引用一個(gè)全局?jǐn)?shù)據(jù)項(xiàng)?!?〕控制耦合:一個(gè)模塊向另一模塊傳遞一個(gè)控制信號(hào),承受信號(hào)的模塊將依據(jù)該信號(hào)值進(jìn)展必要的活動(dòng)?!?〕標(biāo)記耦合:兩個(gè)模塊至少有一個(gè)通過(guò)界面?zhèn)鬟f的公共有構(gòu)造的參數(shù)?!?〕數(shù)據(jù)耦合:模塊間通過(guò)參數(shù)傳遞根本類型的數(shù)據(jù)。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第65頁(yè)。2〕內(nèi)聚:一個(gè)模塊之內(nèi)各成分之間相互依賴程度的度量。內(nèi)聚類型:〔1〕偶然內(nèi)聚:一個(gè)模塊之內(nèi)各成分之間沒有任何關(guān)系。〔2〕邏輯內(nèi)聚:幾個(gè)邏輯上相關(guān)的功能放在同一模塊中。〔3〕時(shí)間內(nèi)聚:一個(gè)模塊完成的功能必須在同一時(shí)間內(nèi)完成,而這些功能只是因?yàn)闀r(shí)間因素關(guān)聯(lián)在一起?!?〕過(guò)程內(nèi)聚:處理成分必須以特定的次序執(zhí)行?!?〕通信內(nèi)聚:各成分都操作在同一數(shù)據(jù)集或生成同一數(shù)據(jù)集?!?〕順序內(nèi)聚:各成分與一個(gè)功能相關(guān),且一個(gè)成分的輸出作為另一成分的輸入?!?〕功能內(nèi)聚:模塊的所有成分對(duì)完成單一功能是最根本的,且該模塊對(duì)完成這一功能而言是充分必要的。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第66頁(yè)。啟發(fā)性規(guī)那么-經(jīng)歷的總結(jié)〔1〕改進(jìn)軟件構(gòu)造,提高模塊性;〔2〕模塊規(guī)模適中-每頁(yè)60行語(yǔ)句;〔3〕深度、寬度、扇入和扇出適中;〔4〕模塊的作用域力爭(zhēng)在控制域之內(nèi);〔5〕降低模塊接口的復(fù)雜性;〔6〕模塊功能應(yīng)該可以預(yù)測(cè)。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第67頁(yè)。2)詳細(xì)設(shè)計(jì)的任務(wù):定義每一模塊構(gòu)造化程序設(shè)計(jì)三種控制構(gòu)造:順序begins1;s2;…snend;選擇if條件表達(dá)式thens1elses2;循環(huán)while條件表達(dá)式dos;北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第68頁(yè)。2)詳細(xì)設(shè)計(jì)的任務(wù):定義每一模塊幾種表示工具流程圖、PAD、N-S圖、偽碼等

框圖s1s2s1s2...s北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第69頁(yè)。偽碼偽碼是一種混合語(yǔ)言。外部采用形式語(yǔ)言的控制構(gòu)造,內(nèi)部使用自然語(yǔ)言。PAD圖S1S2S3S1S2X5X<5S順序:選擇:循環(huán):注:支持逐步求精設(shè)計(jì)北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第70頁(yè)。N-S圖

支持逐步求精設(shè)計(jì)舉例順序:選擇:循環(huán):條件FTS1S2循環(huán)條件循環(huán)體N:=1..10

X>5TFFTS1S2S3S4S5S6S8S7S9S10

X>10&Y>3北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第71頁(yè)。構(gòu)造化方法小結(jié):1〕構(gòu)造化方法是一種比較系統(tǒng)的軟件開發(fā)方法學(xué)。包括構(gòu)造化分析和構(gòu)造化設(shè)計(jì)。構(gòu)造化分析方法以分層的數(shù)據(jù)流圖和控制流圖為工具,開發(fā)系統(tǒng)的功能模型和數(shù)據(jù)模型。著名的有E.Yourdon和T.DeMarco的構(gòu)造化分析〔SSA〕。構(gòu)造化設(shè)計(jì)包括軟件體系構(gòu)造設(shè)計(jì)、過(guò)程〔功能〕設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)。體系構(gòu)造設(shè)計(jì)以系統(tǒng)的功能模型為根底,逐層精化,最終形成系統(tǒng)的模塊〔子系統(tǒng)〕以及它們之間的控制關(guān)系。其中,強(qiáng)調(diào)模塊〔子系統(tǒng)〕的高內(nèi)聚和低耦合。過(guò)程〔功能〕設(shè)計(jì)針對(duì)體系構(gòu)造中的每一模塊,給出它的過(guò)程屬性描述,即算法設(shè)計(jì)。數(shù)據(jù)設(shè)計(jì)將系統(tǒng)的數(shù)據(jù)模型轉(zhuǎn)換為數(shù)據(jù)構(gòu)造。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第72頁(yè)。2〕緊緊圍繞“過(guò)程抽象〞和“數(shù)據(jù)抽象〞,給出了完備的符號(hào)體系---概念與表示可操作的過(guò)程---步驟與準(zhǔn)那么易理解的表示工具提供了控制信息組織復(fù)雜性的機(jī)制,例如逐層分解,數(shù)據(jù)打包等北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第73頁(yè)。3〕問題:捕獲的“過(guò)程〞和“數(shù)據(jù)〞恰恰是客觀事物的易變性質(zhì),解的構(gòu)造也不保持原系統(tǒng)的構(gòu)造,從而:造成維護(hù),驗(yàn)證上的困難。AB1B2B3B4C2C3C4C5C1DnDm…數(shù)據(jù)構(gòu)造1數(shù)據(jù)構(gòu)造2北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第74頁(yè)。4〕軟件方法學(xué)概念軟件方法學(xué)-以軟件方法為研究對(duì)象的學(xué)科。主要涉及指導(dǎo)軟件設(shè)計(jì)的原理和原那么,以及基于這些原理、原那么的方法和技術(shù)。狹義的也指某種特定的軟件設(shè)計(jì)指導(dǎo)原那么和方法體系。從構(gòu)造的角度,軟件開發(fā)方法學(xué)主要由三局部組成·NOTATION·PROCESS·TOOLS從能力的角度,軟件開發(fā)方法學(xué)應(yīng)能表達(dá):·系統(tǒng)的說(shuō)明性信息·系統(tǒng)的行為信息·系統(tǒng)的功能信息,并要給出以下機(jī)制:·控制信息組織復(fù)雜性·控制文檔組織復(fù)雜性北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第75頁(yè)。四、系統(tǒng)建模技術(shù)-面向?qū)ο蠓椒ǘ鄬用娴慕⑾到y(tǒng)模型構(gòu)造模塊的四種根本觀點(diǎn)1〕以“過(guò)程〞或“函數(shù)〞為基點(diǎn),使每一模塊實(shí)現(xiàn)一項(xiàng)功能2〕以一個(gè)“數(shù)據(jù)構(gòu)造〞為基點(diǎn),使每一模塊實(shí)現(xiàn)該數(shù)據(jù)構(gòu)造上的操作功能;3〕以“事件驅(qū)動(dòng)〞為基點(diǎn),使每一模塊識(shí)別一個(gè)事件并對(duì)該事件作出響應(yīng)4〕以“問題域中的一個(gè)成分〞為基點(diǎn),使每一模塊對(duì)應(yīng)現(xiàn)實(shí)世界中的一個(gè)事物北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第76頁(yè)。OO方法基于的“世界觀〞:世界是由對(duì)象構(gòu)成的;對(duì)象有其自己的屬性和內(nèi)部運(yùn)動(dòng)規(guī)律;對(duì)象之間的相互作用,構(gòu)成了大千世界的各式各樣的不同系統(tǒng)。

北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第77頁(yè)。

1、靜態(tài)模型概念及其表示1〕對(duì)象(Object)及其特征〔自治性封閉性通信性〕2〕屬性:表示對(duì)象狀態(tài)的一組值。3〕操作:為其它對(duì)象提供的效勞。4〕連接5〕類(class):一組具有共同特征的相似對(duì)象的抽象描述。6〕一般/特殊關(guān)系7〕整體/局部關(guān)系北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第78頁(yè)。

例如北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第79頁(yè)。例子該圖說(shuō)明,類String支持接口Hashable、Comparable,而類HashTable使用接口Hashable、Comparable。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第80頁(yè)。關(guān)于對(duì)象的描述知識(shí)點(diǎn)〔1〕給出了表達(dá)客觀事物根本成分〔對(duì)描述客觀事物而言不可再分的〕的概念:對(duì)象,類語(yǔ)義及其表示?!?〕給出了這些成分的根本構(gòu)造:屬性,操作語(yǔ)義及其表示〔3〕給出了支持功能抽象的機(jī)制:接口語(yǔ)義及其表示,以及北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第81頁(yè)?!?〕接口與其他成分之間的關(guān)系接口:一組操作〔沒有實(shí)現(xiàn)的〕,這組操作在一個(gè)特定類中實(shí)現(xiàn)。作為一種機(jī)制,支持功能抽象。操作:一個(gè)類對(duì)外提供的效勞??梢允浅橄蟮?。其聲明可以作為接口的成分。方法:是操作的一個(gè)實(shí)現(xiàn)。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第82頁(yè)。至此可以說(shuō):這五個(gè)概念圍繞一個(gè)問題,即如何描述客觀事物-“對(duì)象〞展開的!如何抽象對(duì)象的“構(gòu)造〞:屬性,操作如何描述一組具有相似性質(zhì)的對(duì)象:類如何抽象并描述在特定環(huán)境中對(duì)象的功能:接口。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第83頁(yè)。解決問題的根本思想和途徑〔1〕大千世界是有對(duì)象構(gòu)成的,對(duì)象有其自己的屬性與運(yùn)動(dòng)規(guī)律?!?〕根本途徑數(shù)據(jù)和操作〔功能〕的局部化-支持事物語(yǔ)義的表達(dá);數(shù)據(jù)和操作的封裝性--支持交互;功能模塊化〔接口〕--支持在一個(gè)層次上的功能抽象;描述的“二分法〞〔?元數(shù)據(jù),數(shù)據(jù)?〕--支持復(fù)雜性控制〔抽象〕?類,對(duì)象??接口,操作??操作,方法?提高模型的穩(wěn)定性,可維護(hù)性北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第84頁(yè)。關(guān)于“關(guān)系〞描述1、知識(shí)點(diǎn)〔1〕給出了表達(dá)客觀事物之間關(guān)系的根本概念:鏈。〔2〕給出了關(guān)聯(lián)的語(yǔ)義和表示,并且,〔3〕還給出了一些特定的關(guān)聯(lián)〔分類〕。主要包括:二元關(guān)聯(lián)與N元關(guān)聯(lián),聚合與組合,泛化,依賴。語(yǔ)義及其表示?!?〕給出了關(guān)聯(lián)語(yǔ)義的描述:關(guān)聯(lián)端點(diǎn)-多重性,排序,導(dǎo)航,角色名,接口說(shuō)明符,可變性,可見性等;限定符-關(guān)聯(lián)的屬性;北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第85頁(yè)。關(guān)聯(lián)類;對(duì)泛化給出了子類劃分的語(yǔ)義約束。2、解決問題的根本思想和途徑緊緊圍繞“關(guān)系〞的表達(dá)〔其中包括“形〞與“義〞〕,給出了一組概念。采用“二分法〞:?關(guān)聯(lián),鏈?-控制信息組織的復(fù)雜性通過(guò)對(duì)關(guān)系的分類,可以有效地支持關(guān)系的建模為了彌補(bǔ)“形〞的表達(dá)能力,給出了一些概念〔多重性,可變性等〕,支持語(yǔ)義的表達(dá)為了支持關(guān)系屬性和操作的表示,引入了“關(guān)聯(lián)類〞和“限定符〞。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第86頁(yè)。2、順序圖目的:為了表示實(shí)例之間按時(shí)間順序組織的交互。支持實(shí)時(shí)系統(tǒng)和復(fù)雜場(chǎng)景的詳細(xì)建模。途徑:引入實(shí)例生命線,表示參與交互的實(shí)例;引入消息,并將消息按時(shí)間順序排列,表示實(shí)例之間的交互。局限性:只是對(duì)一組實(shí)例及之間的交互進(jìn)展描述。1〕順序圖(1)語(yǔ)義順序圖是一種表達(dá)對(duì)象間交互的圖,由一組對(duì)象以及其間順序發(fā)送的消息組成。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第87頁(yè)。(2)表示法北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第88頁(yè)??梢姡喉樞驁D是二維的。其中:垂直方向表示時(shí)間,水平方向表示不同的對(duì)象。(3)表示選項(xiàng) 生命線之間的順序是任意的??梢越粨Q軸;可以在消息名上使用時(shí)間表達(dá)式,表示計(jì)時(shí)約束。其中:可以把函數(shù)sendTime〔發(fā)送消息時(shí)間〕和函數(shù)receiveTime〔接收消息時(shí)間〕應(yīng)用于消息名,以計(jì)時(shí)間??梢允褂靡恍?gòu)造標(biāo)記,用于指示時(shí)間間隔。類似地,可以用消息名表示在計(jì)時(shí)表達(dá)式中的發(fā)送或接收消息的時(shí)間。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第89頁(yè)。2〕對(duì)象生命線(1)語(yǔ)義在順序圖中,對(duì)象生命線表示扮演特定角色的對(duì)象。類的角色規(guī)定了對(duì)象的角色,它描述了扮演該角色的對(duì)象的性質(zhì)。與對(duì)象生命線相關(guān)的有:生命線之間的箭頭〔消息〕:表示扮演這些角色的對(duì)象之間的通訊。窄長(zhǎng)的矩形〔活化〕:表示處于一個(gè)角色狀態(tài)的對(duì)象的存在和持續(xù)。(2)表示法“對(duì)象生命線〞表示為垂直虛線。生命線代表一個(gè)對(duì)象在特定時(shí)間內(nèi)的存在。例如:北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第90頁(yè)。其中:---:生命線:激活〔活化〕[X>0]:轉(zhuǎn)換時(shí)間:消息Foo(x):消息名:撤消北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第91頁(yè)。3〕激活(1)語(yǔ)義激活〔控制焦點(diǎn)〕表示一個(gè)對(duì)象直接或者通過(guò)附屬例程執(zhí)行一個(gè)行為的時(shí)期。它既表示了行為執(zhí)行的持續(xù)時(shí)間,也表示了活動(dòng)和它的調(diào)用者之間的控制關(guān)系。(2)表示法用一個(gè)窄長(zhǎng)的矩形表示激活〔活化〕。活化的:矩形頂端為活化的開場(chǎng)時(shí)刻,末端為完畢時(shí)刻。激活的動(dòng)作:可以用文本標(biāo)注被執(zhí)行的動(dòng)作。

北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第92頁(yè)。4〕消息(1)語(yǔ)義消息是兩個(gè)對(duì)象間的通訊,這樣的通訊用于傳輸將產(chǎn)生的動(dòng)作所需要的信息。一個(gè)消息會(huì)引起一個(gè)被調(diào)用的操作,產(chǎn)生一個(gè)信號(hào),或者引起一個(gè)對(duì)象被創(chuàng)立或者被消除。(2)表示法在順序圖中,把消息表示為從一個(gè)對(duì)象生命線到另一個(gè)對(duì)象生命線的一個(gè)水平實(shí)線箭頭。對(duì)于到自身的消息,箭頭就從同一個(gè)對(duì)象符號(hào)開場(chǎng)和完畢。用消息〔操作或信號(hào)〕的名字及其參數(shù)值或者參數(shù)表達(dá)式標(biāo)示箭頭。箭頭也可以用一個(gè)序列數(shù)標(biāo)示,以表示消息在整個(gè)交互中的順序。序列數(shù)對(duì)于標(biāo)示并發(fā)控制線程很有用處。另外,還可以用監(jiān)護(hù)條件標(biāo)示消息。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第93頁(yè)。5〕轉(zhuǎn)換時(shí)間(1)語(yǔ)義消息可以指定幾個(gè)不同的時(shí)間〔例如,發(fā)出時(shí)間和承受時(shí)間〕。這些時(shí)間可以用在約束表達(dá)式中。用戶可以按需要為特定的目的給出時(shí)間表達(dá),如elapsedTime〔占用時(shí)間〕和startExecutionTime〔開場(chǎng)執(zhí)行時(shí)間〕。可以在約束中使用這些表達(dá)式,以給消息指派有效的具體時(shí)間約束。(2)表示法可以賦予消息一個(gè)名字。把時(shí)間約束寫成為一個(gè)基于消息名字的表達(dá)式。例如,如果消息的名字是stim

,用stim.sendTime()表示發(fā)送時(shí)間,用stim.receiveTime()表達(dá)接收時(shí)間??梢园褧r(shí)間約束表示在與箭頭對(duì)齊的圖的左邊上,也可以通過(guò)把布爾表達(dá)式〔可能包括時(shí)間表達(dá)式〕放在括號(hào)中表示約束。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第94頁(yè)。3、狀態(tài)圖狀態(tài)圖用于描述模型元素〔如對(duì)象〕的行為。特別是,用它描述元素之狀態(tài)的可能序列和動(dòng)作的可能序列。因?qū)μ囟ㄊ录踩缧盘?hào)和操作調(diào)用〕的響應(yīng),元素在其生命期中要經(jīng)歷這樣的狀態(tài),并執(zhí)行相應(yīng)的動(dòng)作。1)狀態(tài)圖(1)語(yǔ)義通過(guò)描述對(duì)事件實(shí)例接收的響應(yīng),狀態(tài)圖描述了具有動(dòng)態(tài)行為能力的實(shí)體之行為。通常用狀態(tài)圖描述類的行為,也可以用它描述其它模型實(shí)體〔如用況、參與者、子系統(tǒng)、操作或方法〕的行為。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第95頁(yè)。(2)表示法狀態(tài)圖是表示狀態(tài)機(jī)的圖。用適當(dāng)?shù)臓顟B(tài)表示狀態(tài)機(jī)圖中的狀態(tài);一般地,用連接狀態(tài)的有向弧表示轉(zhuǎn)換。(3)實(shí)例簡(jiǎn)單的狀態(tài)的轉(zhuǎn)換其中:狀態(tài)轉(zhuǎn)換Ringing事件北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第96頁(yè)。狀態(tài)(1)語(yǔ)義一個(gè)狀態(tài)是對(duì)象在其生命期內(nèi)的一個(gè)條件,或在對(duì)象滿足某個(gè)條件、進(jìn)展某個(gè)動(dòng)作或等待某個(gè)事件的期間內(nèi)的一個(gè)交互。在概念上,對(duì)象要在一個(gè)狀態(tài)內(nèi)維持一段時(shí)間。在這一語(yǔ)義下,可以對(duì)瞬時(shí)狀態(tài)建模,以及對(duì)非瞬時(shí)的交互建模。(2)表示法把一個(gè)狀態(tài)表示成一個(gè)四角均為圓角的矩形。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第97頁(yè)。根據(jù)需要,可以把狀態(tài)劃分成由水平線相互分隔的多個(gè)分欄:

名稱分欄給出狀態(tài)名。在同一張狀態(tài)圖里不應(yīng)該出現(xiàn)具有一樣名稱的狀態(tài)。如果沒有狀態(tài)名稱,那么該狀態(tài)就是匿名的。同一張圖中的匿名狀態(tài)是各不一樣的。

內(nèi)部轉(zhuǎn)換分欄給出在這個(gè)狀態(tài)中對(duì)象所執(zhí)行的內(nèi)部動(dòng)作或活動(dòng)的列表其一般格式為:動(dòng)作標(biāo)號(hào)’/’動(dòng)作表達(dá)式其中:動(dòng)作標(biāo)號(hào)標(biāo)識(shí)在該環(huán)境下要調(diào)用由動(dòng)作表達(dá)式指定的動(dòng)作。動(dòng)作表達(dá)式可以使用對(duì)象范圍內(nèi)的任何屬性和鏈。假設(shè)動(dòng)作表達(dá)式為空,那么可省略斜線分隔符。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第98頁(yè)。下面給出專用的動(dòng)作標(biāo)號(hào)〔注:它們不能用作事件名〕:

?entry該標(biāo)號(hào)標(biāo)識(shí)在進(jìn)入狀態(tài)時(shí),執(zhí)行由相應(yīng)的動(dòng)作表達(dá)式規(guī)定的動(dòng)作〔進(jìn)入動(dòng)作〕。

?exit該標(biāo)號(hào)標(biāo)識(shí)在退出狀態(tài)時(shí),執(zhí)行由相應(yīng)的動(dòng)作表達(dá)式規(guī)定的動(dòng)作〔退出動(dòng)作〕。

?do該標(biāo)號(hào)標(biāo)識(shí)正在進(jìn)展的活動(dòng)〔“do活動(dòng)〞〕〔只要被建模的元素是在狀態(tài)中,沒有完成由動(dòng)作表達(dá)式指定的計(jì)算,就執(zhí)行這個(gè)活動(dòng);當(dāng)動(dòng)作表達(dá)式指定的計(jì)算完成時(shí),可能產(chǎn)生一個(gè)完成事件〕。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第99頁(yè)。3〕事件(1)語(yǔ)義事件是值得注意的所發(fā)生的事情。按照狀態(tài)圖的具體用意,事件是指可以引發(fā)狀態(tài)轉(zhuǎn)換的所發(fā)生的事情。事件可以分為:a)條件〔用布爾表達(dá)式描述〕變?yōu)檎?。不管何時(shí),只要條件變?yōu)檎?,事件都發(fā)生。〔注意:這不同于監(jiān)護(hù)條件。無(wú)論什么時(shí)候激發(fā)具有監(jiān)護(hù)條件的事件,都對(duì)監(jiān)護(hù)條件進(jìn)展求值。如果求值的結(jié)果為假,轉(zhuǎn)換就不發(fā)生,并且事件喪失?!砨)一個(gè)對(duì)象對(duì)另一個(gè)對(duì)象的顯式信號(hào)的接收,導(dǎo)致一個(gè)信號(hào)事件。把這樣的事件的特征標(biāo)記放由它所觸發(fā)的轉(zhuǎn)換上。c)對(duì)操作的調(diào)用的接收,導(dǎo)致一個(gè)調(diào)用事件。d)在指定事件〔經(jīng)常是當(dāng)前狀態(tài)的入口〕后,經(jīng)過(guò)了一定的時(shí)間或到了指定日期/時(shí)間,導(dǎo)致一個(gè)時(shí)間事件。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第100頁(yè)。(2)表示法可以按如下的格式定義信號(hào)事件或調(diào)用事件:事件名 ‘(‘用逗號(hào)分隔的參數(shù)列表‘)’參數(shù)的格式如下:參數(shù)名 ‘:’ 類型表達(dá)式在類圖中,在類符號(hào)上用關(guān)鍵字<<signal>>聲明信號(hào)。把該關(guān)鍵字放在信號(hào)名的上面,把參數(shù)說(shuō)明為信號(hào)的屬性。注意,信號(hào)是實(shí)例之間異步傳送的消息的規(guī)格說(shuō)明??梢杂藐P(guān)鍵詞“after〞和計(jì)算時(shí)間量的表達(dá)式表示時(shí)間事件,比方“after(5秒)〞或者〞after(從狀態(tài)A退出后經(jīng)歷了10秒)〞。如果沒指明時(shí)間起始點(diǎn),那么從進(jìn)入當(dāng)前狀態(tài)開場(chǎng)計(jì)時(shí)??砂哑渌臅r(shí)間事件指定為條件,比方“when(date=2000年1月1日)〞。用關(guān)鍵詞“when〞和布爾表達(dá)式表示變?yōu)檎娴氖录???梢园哑淇醋魇沁B續(xù)測(cè)試條件,直到它為真。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第101頁(yè)。4〕轉(zhuǎn)換(1)語(yǔ)義轉(zhuǎn)換是兩個(gè)狀態(tài)之間的關(guān)系,表示當(dāng)一個(gè)特定事件出現(xiàn)時(shí),如果滿足一定的條件,對(duì)象就從第一個(gè)狀態(tài)進(jìn)入第二個(gè)狀態(tài),并執(zhí)行一定的動(dòng)作。--對(duì)于這樣的狀態(tài)的改變,稱為“觸發(fā)〞轉(zhuǎn)換。轉(zhuǎn)換的觸發(fā)器就是標(biāo)注在轉(zhuǎn)換上的事件。事件可能有參數(shù),這樣的參數(shù)可由轉(zhuǎn)換指定的動(dòng)作訪問,也可由與源和目標(biāo)相聯(lián)系的退出和進(jìn)入動(dòng)作分別訪問。在狀態(tài)圖中,每次處理一個(gè)事件。如果事件沒有觸發(fā)任何轉(zhuǎn)換,就丟棄它。如果在同一個(gè)簡(jiǎn)單狀態(tài)圖中觸發(fā)了多個(gè)轉(zhuǎn)換,就只對(duì)優(yōu)先級(jí)最高的那個(gè)轉(zhuǎn)換點(diǎn)火。如果這些相沖突的轉(zhuǎn)換具有一樣的優(yōu)先級(jí),就隨機(jī)地選擇一個(gè)轉(zhuǎn)換,進(jìn)展觸發(fā)。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第102頁(yè)。(2)表示法把轉(zhuǎn)換表示成從源狀態(tài)出發(fā)并在目標(biāo)狀態(tài)上終止的帶箭頭的實(shí)線。它可以由轉(zhuǎn)換串標(biāo)記。轉(zhuǎn)換串的格式為:事件特征標(biāo)記‘[‘監(jiān)護(hù)條件’]’‘/’ 動(dòng)作表達(dá)式其中:事件特征標(biāo)記描述帶參數(shù)的事件:事件名 ‘(‘由逗號(hào)分隔的參數(shù)表‘)’監(jiān)護(hù)條件:是布爾表達(dá)式,根據(jù)觸發(fā)事件的參數(shù)和擁有這個(gè)狀態(tài)機(jī)的對(duì)象的屬性和鏈來(lái)書寫這樣的布爾表達(dá)式。也可用監(jiān)護(hù)條件顯式地指定某個(gè)可達(dá)對(duì)象的狀態(tài)〔例如,〞inState1〞或〞notinState2〞〕。如果觸發(fā)了轉(zhuǎn)換,就執(zhí)行動(dòng)作表達(dá)式??梢愿鶕?jù)對(duì)象的屬性、操作和鏈以及觸發(fā)事件的參數(shù),或在其范圍內(nèi)的其它特征書寫動(dòng)作表達(dá)式。動(dòng)作表達(dá)式可以是由一些有區(qū)別的動(dòng)作組成的動(dòng)作序列,其中包括顯式地產(chǎn)生事件的動(dòng)作,如發(fā)送信號(hào)或調(diào)用操作。表達(dá)式的細(xì)節(jié)與為模型選擇的動(dòng)作語(yǔ)言有關(guān)。北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第103頁(yè)。4、RUPRational統(tǒng)一過(guò)程是由統(tǒng)一建模語(yǔ)言〔UnifiedModelingLanguang,簡(jiǎn)稱UML〕的開發(fā)者們提出來(lái)的,并為對(duì)象管理組織(ObjectManagementGroup,簡(jiǎn)稱OMG)所推薦。RUP是在權(quán)衡了三十年的軟件開發(fā)實(shí)踐的根底上形成的。例如,它吸取了數(shù)百個(gè)用戶多年的現(xiàn)場(chǎng)經(jīng)歷以及Ratioanal公司多年的工作成果。RUP對(duì)于如何運(yùn)用UML的概念進(jìn)展軟件開發(fā)提供了詳細(xì)指導(dǎo)。即:指導(dǎo)開發(fā)隊(duì)伍安排其開發(fā)活動(dòng)的次序?yàn)楦鏖_發(fā)者和整個(gè)開發(fā)組指定任務(wù)明確地規(guī)定需要開發(fā)的制品提供對(duì)工程中的制品和活動(dòng)進(jìn)展監(jiān)控與度量的準(zhǔn)那么北京大學(xué)工程碩士軟件工程教材軟件工程串講全文共142頁(yè),當(dāng)前為第104頁(yè)。RUP是以用況〔usecase〕為驅(qū)動(dòng)、以體系

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論