軟件體系結(jié)構(gòu)專家講座_第1頁(yè)
軟件體系結(jié)構(gòu)專家講座_第2頁(yè)
軟件體系結(jié)構(gòu)專家講座_第3頁(yè)
軟件體系結(jié)構(gòu)專家講座_第4頁(yè)
軟件體系結(jié)構(gòu)專家講座_第5頁(yè)
已閱讀5頁(yè),還剩132頁(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)介

軟件體系結(jié)構(gòu)

(SoftwareArchitecture)講義13:統(tǒng)一軟件開(kāi)發(fā)過(guò)程(RUP)軟件體系結(jié)構(gòu)專家講座第1頁(yè)一、引言為屏蔽計(jì)算機(jī)硬件異構(gòu)性,發(fā)展了操作系統(tǒng).NET/COMWebServicesJ2EE/EJB操作系統(tǒng)UNIXWindowsLinuxC/C++語(yǔ)言Java語(yǔ)言支撐軟件中間件為屏蔽操作系統(tǒng)和編程語(yǔ)言異構(gòu)性,發(fā)展了支撐軟件和中間件為了屏蔽中間件之間異構(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ā)展軟件體系結(jié)構(gòu)專家講座第2頁(yè)

應(yīng)用系統(tǒng)概念不一樣,邏輯不一樣。處理問(wèn)題思維邏輯不一樣。-“距離”語(yǔ)言網(wǎng)絡(luò)異構(gòu)VB、VC--程序設(shè)計(jì)環(huán)境中間件技術(shù)與產(chǎn)品面向領(lǐng)域軟件體系結(jié)構(gòu)應(yīng)用框架領(lǐng)域軟件生產(chǎn)線系統(tǒng)建模運(yùn)行平臺(tái)開(kāi)發(fā)平臺(tái)軟件工程學(xué)科所要處理問(wèn)題軟件體系結(jié)構(gòu)專家講座第3頁(yè)軟件開(kāi)發(fā)本質(zhì)可概括為:第一點(diǎn):?jiǎn)栴}空間概念與

解空間模型化概念之間映射比如:對(duì)象=F(張山)(模型化概念)(問(wèn)題空間概念)其中,對(duì)應(yīng)過(guò)程:需求分析使用技術(shù):面向?qū)ο笫褂迷恚簲?shù)據(jù)抽象

目標(biāo):作為計(jì)算客體。

軟件體系結(jié)構(gòu)專家講座第4頁(yè)第二點(diǎn):?jiǎn)栴}空間處理邏輯與

解空間處理邏輯之間映射比如1:加工1(及相關(guān)數(shù)據(jù)流)=F(計(jì)算學(xué)生成績(jī))其中:使用方法:結(jié)構(gòu)化方法;對(duì)應(yīng)過(guò)程:需求分析使用原理:過(guò)程抽象

加工1計(jì)算學(xué)生平均成績(jī)科目+年級(jí)/班學(xué)生成績(jī)文件學(xué)生平均成績(jī)規(guī)約后處理邏輯軟件體系結(jié)構(gòu)專家講座第5頁(yè)比如2:交互圖1=H(計(jì)算學(xué)生成績(jī))其中:對(duì)應(yīng)過(guò)程:需求分析使用方法:面向?qū)ο笫褂迷恚盒袨榻Y(jié)構(gòu)抽象(簡(jiǎn)稱行為抽象)

作用:作為計(jì)算規(guī)則:教務(wù)員:教員遞交A科學(xué)生成績(jī)表A科學(xué)生成績(jī)表:教學(xué)主任求A科平均A科平均軟件體系結(jié)構(gòu)專家講座第6頁(yè)因?yàn)橐陨蟽蓚€(gè)映射是由“人”完成,所以就軟件開(kāi)發(fā)而言,需要處理兩個(gè)方面問(wèn)題:

1:技術(shù)2:管理深入說(shuō),技術(shù)問(wèn)題主要是指軟件開(kāi)發(fā)過(guò)程通常需要遵照路徑和方向其中,過(guò)程方向確定用于創(chuàng)建問(wèn)題模型和設(shè)計(jì)解特定抽象層次比如,需求、設(shè)計(jì)、實(shí)現(xiàn)、布署等軟件體系結(jié)構(gòu)專家講座第7頁(yè)問(wèn)題空間需求-一個(gè)抽象層設(shè)計(jì)-一個(gè)抽象層實(shí)現(xiàn)-一個(gè)抽象層布署-一個(gè)抽象層特定notation特定notation特定notation特定notation驗(yàn)證/確認(rèn)軟件體系結(jié)構(gòu)專家講座第8頁(yè)問(wèn)題空間需求-一個(gè)抽象層設(shè)計(jì)-一個(gè)抽象層實(shí)現(xiàn)-一個(gè)抽象層布署-一個(gè)抽象層特定notation特定notation特定notation特定notation驗(yàn)證/確認(rèn)它們表達(dá)了我們所說(shuō)一些軟件設(shè)計(jì)原理

過(guò)程路徑

實(shí)現(xiàn)不一樣抽象層次映射

????????軟件體系結(jié)構(gòu)專家講座第9頁(yè)經(jīng)典路徑有:結(jié)構(gòu)化方法面向數(shù)據(jù)結(jié)構(gòu)方法面向?qū)ο蠓椒ㄒ约熬S也納開(kāi)發(fā)方法(VDM)等注:主要講解結(jié)構(gòu)化方法和面向?qū)ο蠓椒ā\浖w系結(jié)構(gòu)專家講座第10頁(yè)RUP本質(zhì)及特點(diǎn)

(1)是一個(gè)迭代、以架構(gòu)為中心、用例驅(qū)動(dòng)軟件開(kāi)發(fā)方法

(2)是一個(gè)含有明確定義和結(jié)構(gòu)軟件工程過(guò)程,包含要求了人員職責(zé)、怎樣完成各項(xiàng)工作以及何時(shí)完成各項(xiàng)工作。還提供了軟件開(kāi)發(fā)生命周期結(jié)構(gòu),明確定義了主要里程碑和決議關(guān)系

(3)是一個(gè)過(guò)程產(chǎn)品,提供了可定制軟件工程過(guò)程框架。能夠適合用于于不一樣規(guī)模開(kāi)發(fā)團(tuán)體和規(guī)范程度不一樣開(kāi)發(fā)方法軟件體系結(jié)構(gòu)專家講座第11頁(yè)RUP基本原理盡早而且不?;庵卮箫L(fēng)險(xiǎn)確保滿足客戶需求把注意力放到可執(zhí)行軟件上盡早在項(xiàng)目中適應(yīng)改變?cè)谠缙诖_定一個(gè)可執(zhí)行架構(gòu)使用構(gòu)件結(jié)構(gòu)系統(tǒng)建立高效開(kāi)發(fā)團(tuán)體軟件體系結(jié)構(gòu)專家講座第12頁(yè)

突出特點(diǎn)是:

UseCase驅(qū)動(dòng)、

以體系結(jié)構(gòu)為中心、

迭代、增量開(kāi)發(fā)

.何謂USECASE驅(qū)動(dòng)USECASE

分析輸入

設(shè)計(jì)

實(shí)現(xiàn)跟蹤輸入跟蹤輸入跟蹤輸入輸入

測(cè)試輸入跟蹤輸入軟件體系結(jié)構(gòu)專家講座第13頁(yè)從USECASE模型視覺(jué)從分析模型視覺(jué)從設(shè)計(jì)模型視覺(jué)從實(shí)現(xiàn)模型視覺(jué)從布署模型視覺(jué)給出體系結(jié)構(gòu)描述

何謂以體系結(jié)構(gòu)為中心軟件體系結(jié)構(gòu)專家講座第14頁(yè)階段關(guān)鍵工作流何謂迭代、增量開(kāi)發(fā)軟件體系結(jié)構(gòu)專家講座第15頁(yè)

初始階段(theinceptionphase)基本目標(biāo)是:

-了解項(xiàng)目標(biāo)范圍

-建立業(yè)務(wù)模型

-得到涉眾認(rèn)可換言之,其目標(biāo)是:建立該項(xiàng)目標(biāo)生存周期目標(biāo)

(objectives)軟件體系結(jié)構(gòu)專家講座第16頁(yè)精化階段(theelaborationphase)基本目標(biāo)是

-建立體系結(jié)構(gòu)基線

-捕捉大多數(shù)需求-降低主要技術(shù)風(fēng)險(xiǎn)

-降低次要錯(cuò)誤風(fēng)險(xiǎn),即建立生存周期體系結(jié)構(gòu)(thelifecyclearchitecture).

到該階段末,就能夠估算成本、進(jìn)度,并能詳細(xì)地規(guī)劃結(jié)構(gòu)階段(

theconstructionphase)。

軟件體系結(jié)構(gòu)專家講座第17頁(yè)結(jié)構(gòu)階段(theconstructionphase)基本目標(biāo)是:

-開(kāi)發(fā)完整系統(tǒng)

-確保產(chǎn)品能夠開(kāi)始向客戶交付,即含有初始操作能力。

交付階段(thetransitionphase)基本目標(biāo)是:

-確保有一個(gè)實(shí)在產(chǎn)品,公布給用戶群。期間,培訓(xùn)用戶怎樣使用該軟件。注:這4個(gè)階段是演化模型一個(gè)變體。

軟件體系結(jié)構(gòu)專家講座第18頁(yè)

由上可見(jiàn):USDP對(duì)于怎樣利用UML概念進(jìn)行軟件開(kāi)發(fā)提供了詳細(xì)指導(dǎo)。即:

指導(dǎo)開(kāi)發(fā)隊(duì)伍安排其開(kāi)發(fā)活動(dòng)次序;

為各開(kāi)發(fā)者和整個(gè)開(kāi)發(fā)組指定任務(wù);

明確地要求需要開(kāi)發(fā)制品;

提供對(duì)項(xiàng)目中制品和活動(dòng)進(jìn)行監(jiān)控與度量準(zhǔn)則。軟件體系結(jié)構(gòu)專家講座第19頁(yè)

1)需求獲取目標(biāo)對(duì)大系統(tǒng)開(kāi)發(fā)來(lái)說(shuō),需求普通包含需求獲取和需求分析需求獲取目標(biāo)是:

需求分析目標(biāo)是:

客觀問(wèn)題(系統(tǒng))系統(tǒng)需求獲取模型形成--包括:不一樣概念和不一樣處理邏輯形成--包括:不一樣概念和不一樣處理邏輯系統(tǒng)分析模型描述—系統(tǒng)需求獲取模型體系結(jié)構(gòu)描述-USECASE模型體系結(jié)構(gòu)描述-Analysis模型軟件體系結(jié)構(gòu)專家講座第20頁(yè)實(shí)現(xiàn)需求獲取目標(biāo)基本路徑實(shí)現(xiàn)需求獲取目標(biāo),即實(shí)現(xiàn)實(shí)際問(wèn)題到軟件開(kāi)發(fā)需求獲取層映射,從軟件開(kāi)發(fā)角度-實(shí)現(xiàn)第一次抽象。其中最少包括以下3個(gè)問(wèn)題:

怎樣定義需求獲取層,即給出該層術(shù)語(yǔ);怎樣確定模型表示工具;怎樣映射。實(shí)際問(wèn)題需求獲取層模型表示工具注:這些概念表達(dá)了一些設(shè)計(jì)原理軟件體系結(jié)構(gòu)專家講座第21頁(yè)(1)需求獲取層術(shù)語(yǔ)(概念)

USECASE

actor以及

4個(gè)表示關(guān)系概念:關(guān)聯(lián)、包含、擴(kuò)展、泛化。以及USECASE圖。實(shí)際問(wèn)題模型表示工具-USECASE圖體系結(jié)構(gòu)描述-USECASE模型軟件體系結(jié)構(gòu)專家講座第22頁(yè)(2)需求工作流實(shí)際問(wèn)題?需求獲取模型-(USECASE模型)形成體系結(jié)構(gòu)描述-USECASE模型形成軟件體系結(jié)構(gòu)專家講座第23頁(yè)2.1需求工作流及所創(chuàng)建制品普通來(lái)說(shuō),需求工作流包含以下四步,但它們并非是嚴(yán)格分離。

要做工作

產(chǎn)生制品

-列出候選需求特征(Feature)列表

-了解系統(tǒng)語(yǔ)境領(lǐng)域模型或業(yè)務(wù)模型

-捕捉功效需求Usecase模型

-捕捉非功效需求補(bǔ)充需求或針對(duì)一些特定需求

usecases

軟件體系結(jié)構(gòu)專家講座第24頁(yè)特征(Feature):

一個(gè)功效項(xiàng)(function

item)以及相關(guān)簡(jiǎn)明描述稱為特征(feature)。作為需求,并被轉(zhuǎn)換為其它制品。應(yīng)用系統(tǒng)潛在抽象層比如:按學(xué)科計(jì)算每一學(xué)生期末考試平均成績(jī)。統(tǒng)計(jì)2科以上不及格人數(shù)。給出各分段(0-60,60-85,85-100)人數(shù)分布情況。feature軟件體系結(jié)構(gòu)專家講座第25頁(yè)作為需求,被轉(zhuǎn)換為其它制品。應(yīng)用系統(tǒng)潛在抽象層(特征層)一個(gè)抽象層(USECASE

層)USECASE1USECASEUSECASE2USECASE3制品:USECASE模型規(guī)約規(guī)約形成Actor關(guān)聯(lián)軟件體系結(jié)構(gòu)專家講座第26頁(yè)關(guān)于特征幾點(diǎn)說(shuō)明:

-每一特征有一個(gè)簡(jiǎn)短名字和簡(jiǎn)明說(shuō)明或定義。

-每一特征還有一組對(duì)規(guī)劃有意義信息,能夠包含:狀態(tài)(Status),比如,提交,同意,確認(rèn)是組成等。估算實(shí)現(xiàn)成本。(所需資源類型和人/時(shí))。優(yōu)先級(jí)(Priority)(e.g.,critical,important,orancillary)。實(shí)現(xiàn)中相聯(lián)風(fēng)險(xiǎn)等級(jí)。軟件體系結(jié)構(gòu)專家講座第27頁(yè)業(yè)務(wù)模型或領(lǐng)域模型領(lǐng)域模型

領(lǐng)域模型捕捉了系統(tǒng)語(yǔ)境中一些主要對(duì)象類型。其中領(lǐng)域?qū)ο蟊硎鞠到y(tǒng)工作環(huán)境中存在事物或發(fā)生事件。普通來(lái)說(shuō),領(lǐng)域類以三種形態(tài)出現(xiàn):

業(yè)務(wù)對(duì)象:表示那些被業(yè)務(wù)所操縱(manipulate)事物(thing),比如定單,帳目和協(xié)議等。實(shí)在對(duì)象(Real-worldobjects)和概念:比如飛機(jī),火箭等。事件(Events):比如飛機(jī)抵達(dá),飛機(jī)起飛等。普通來(lái)說(shuō),領(lǐng)域模型是以類圖給予描述。軟件體系結(jié)構(gòu)專家講座第28頁(yè)Orderdateof

submissiondeliveryaddressItemdescriptionpicturecostInvoiceamountdateofsubmissionlastdateofpaymentAccountbalanceowner1..*payable1..*buyer1seller1Aclassdiagraminadomainmodel,capturingthemostimportantconceptsinthecontextofthesystemExample:DomainClassesOrder,Invoice,Item,andAccount軟件體系結(jié)構(gòu)專家講座第29頁(yè)業(yè)務(wù)模型

業(yè)務(wù)模型能夠分為以下2個(gè)層次:

?業(yè)務(wù)usecase模型經(jīng)過(guò)業(yè)務(wù)usecase和業(yè)務(wù)

actors

來(lái)描述業(yè)務(wù)過(guò)程,他們分別對(duì)應(yīng)業(yè)務(wù)過(guò)程(businessprocesses)和客戶(customers

)。

普通來(lái)說(shuō),業(yè)務(wù)usecase

模型是以u(píng)secase圖給予描述.?業(yè)務(wù)對(duì)象模型業(yè)務(wù)對(duì)象模型是一個(gè)業(yè)務(wù)內(nèi)部(interior)模型。描述每一個(gè)業(yè)務(wù)usecase

是怎樣經(jīng)過(guò)一組workers

、businessentities

workunits給予細(xì)化。

軟件體系結(jié)構(gòu)專家講座第30頁(yè)

其中,

Businessentity

表示一些事物(something),比如一張發(fā)票。它們?cè)谝粋€(gè)業(yè)務(wù)usecase中被使用之。

Aworkunit

是這么實(shí)體一個(gè)集合,對(duì)最終用戶而言,形成了可認(rèn)知整體。

Businessentities

和workunit

用于表示同一類概念,作為領(lǐng)域類,比如定單,欄目,發(fā)票等。

每一個(gè)業(yè)務(wù)usecase細(xì)化能夠經(jīng)過(guò)交互圖和活動(dòng)圖給予表示。軟件體系結(jié)構(gòu)專家講座第31頁(yè)以u(píng)secase捕捉需求

Use-Case模型

Use-Case模型用以表示客戶認(rèn)可需求-系統(tǒng)必須滿足條件和能力。Use-Case模型作為客戶和開(kāi)發(fā)人員之間一個(gè)共識(shí)。Use-Case模型是一個(gè)系統(tǒng)一個(gè)模型,包含actors、

usecases以及它們之間關(guān)系。Use-Case

systemUse-Case

model

Actor

Usecase**1TheUse-Casesystemdenotesthetop-levelpackageofthemodelUse-Case模型以及其內(nèi)容軟件體系結(jié)構(gòu)專家講座第32頁(yè)

參加需求工作流相關(guān)人員SystemAnalysis

responsibleforUse-caseSpecifier

responsibleforUser-interfacedesigner

responsibleforArchitect

responsiblefor

usecasemodel

ActorGlossary

Usecase

Userinterfaceprototype

ArchitectureDescription軟件體系結(jié)構(gòu)專家講座第33頁(yè)

需求捕捉工作流中活動(dòng)

1、發(fā)覺(jué)并描述Actor(1)發(fā)覺(jué)Actor方法發(fā)覺(jué)actor這一任務(wù),依賴于起始點(diǎn):

-當(dāng)存在業(yè)務(wù)模型時(shí)能夠直接地發(fā)覺(jué)一些候選actors,即:

?對(duì)于業(yè)務(wù)中每一個(gè)工作人員,能夠提議一個(gè)候選actor?對(duì)于每一個(gè)將要使用該信息系統(tǒng)業(yè)務(wù)actor

(即每一個(gè)業(yè)務(wù)客戶),能夠提議候選一個(gè)actor。

-當(dāng)有或沒(méi)有領(lǐng)域模型時(shí)分析人員就要與客戶一起標(biāo)識(shí)actor,并將所標(biāo)識(shí)actor進(jìn)行分類,形成一些候選actors。Note:還要標(biāo)識(shí)表示外部系統(tǒng)actor和系統(tǒng)維護(hù)和運(yùn)行所需要actor。

軟件體系結(jié)構(gòu)專家講座第34頁(yè)在確定系統(tǒng)actors時(shí)可用2條準(zhǔn)則:第一條準(zhǔn)則:最少要識(shí)別出一個(gè)用戶,能夠飾演候選

actor。

該準(zhǔn)則將幫助我們僅發(fā)覺(jué)那些相關(guān)actors,防止

actor僅是一些想象“事物”。

第二條準(zhǔn)則:系統(tǒng)中不一樣actors

實(shí)例之間,其角色重合應(yīng)是最少。

假如2個(gè)或多個(gè)actors有著幾乎相同角色,那么就應(yīng)該考慮:

是否將這些角色組合到一個(gè)actor角色中,或

是否需要發(fā)覺(jué)另外一個(gè)“普通化”actor,使之含有那些重合、公共角色,并能夠經(jīng)過(guò)“泛化”,形成那些特定actor。軟件體系結(jié)構(gòu)專家講座第35頁(yè)(2)Actors命名與描述

Actors命名:對(duì)actors給出恰當(dāng)名字是非常主要。這么名字能夠“傳達(dá)”(convey)所期望語(yǔ)義。Actors描述:對(duì)actor描述,應(yīng)包含其角色(責(zé)任)以及為了完成其責(zé)任所需要條件。軟件體系結(jié)構(gòu)專家講座第36頁(yè)比如:theBuyer,Seller,andAccountingSystemActorsBuyer

ABuyerrepresentsapersonwhoisresponsibleforbuyinggoodsorservicesasdescribedinthebusinessusecaseSales:fromOrdertoDelivery.Thispersonmaybeanindividualorsomeonewithinabusinessorganization.TheBuyerofgoodsandservicesneedtheBillingandPaymentSystemtosendorderandtopayinvoices.

Seller

ASellerrepresentsapersonwhosellsanddeliversgoodsorservices.TheSellerusesthesystemtolookfornewordersandtosendorderconfirmations,invoices,andpaymentreminders.軟件體系結(jié)構(gòu)專家講座第37頁(yè)AccountingSystem

TheBillingandPaymentSystemsendsverificationsoftransactionstotheAccountingSystem.

OrderGoodsorServicesConfirmOrderInvoiceBuyerPayInvoicePerformTransactionPayOverdraftFeeSendReminders《extend》InitiatorInitiatorInitiatorInitiatorInitiatorBuyerSellerAccountingsystemUsecaseintheBillingandPaymentSystemthatsupportthebusinessusecaseSales:FromOrdertoDelivery.Theroleinitiator,attachedtotheassociations,indicatewhichactorstartstheusecase.軟件體系結(jié)構(gòu)專家講座第38頁(yè)2、發(fā)覺(jué)并描述UseCase

(1)對(duì)

usecase回顧

Ausecasespecifiesasequenceofactions,includingalternativesofthesequence,thatthesystemcanperform,interactingwithactorofthesystem.actor

使用系統(tǒng)每一方法(way),被表示為一個(gè)usecase

Usecase是系統(tǒng)向它actors提供結(jié)果(值)功效塊(chunks)。比如,usecase實(shí)例WithdrawmoneyTheusecaseWithdrawmoneyenablesinstancesoftheactorBankCustomertowithdrawmoneythroughanATM軟件體系結(jié)構(gòu)專家講座第39頁(yè)所以對(duì)一個(gè)usecase描述能夠使用正文事件流、狀態(tài)圖、活動(dòng)圖、通訊圖和次序圖。在一個(gè)usecase中一條路徑,能夠看作:開(kāi)啟了該usecase實(shí)例,并使之處于一個(gè)開(kāi)始狀態(tài);

該狀態(tài)由一個(gè)外部actor所引發(fā)(invoke);并由一個(gè)動(dòng)作序列執(zhí)行,使之轉(zhuǎn)化為另一狀態(tài)。其中該序列包含內(nèi)部計(jì)算、路徑選擇和向某一actor發(fā)送消息。在一個(gè)新?tīng)顟B(tài)中,等候actor發(fā)送另一外部消息。該狀態(tài)由一個(gè)新消息給予引發(fā)(invoke),以此繼續(xù),經(jīng)過(guò)了許多狀態(tài),直到該usecase實(shí)例被終止.軟件體系結(jié)構(gòu)專家講座第40頁(yè)大部分是一個(gè)actor實(shí)例引發(fā)一個(gè)usecase實(shí)例,但也可能由一個(gè)事件所引發(fā),比如由系統(tǒng)之外定時(shí)時(shí)鐘所引發(fā)。Usecase有其自己屬性,比如Withdrawmoney這一usecase能夠認(rèn)為它有屬性“帳目”(account)、存款數(shù)目(

amounttobewithdrawn)等,這些值局部于一個(gè)usecase實(shí)例Usecase實(shí)例不能與其它usecase實(shí)例發(fā)生交互。在usecase模型中,唯一一類交互能夠發(fā)生在actor實(shí)例和usecase實(shí)例之間。這是因?yàn)槲覀儼製secase實(shí)例看作是原子,每一個(gè)usecase行為能夠被其它usecase所中止,這就確保了我們能夠了解一個(gè)特定usecase模型。軟件體系結(jié)構(gòu)專家講座第41頁(yè)(2)發(fā)覺(jué)UseCase方法

當(dāng)開(kāi)始點(diǎn)是一個(gè)業(yè)務(wù)模型時(shí)一旦我們發(fā)覺(jué)了一個(gè)工作人員或業(yè)務(wù)actor全部角色,標(biāo)識(shí)一些暫時(shí)usecase最直接方法是:對(duì)每一工作人員和業(yè)務(wù)actor

每一角色,對(duì)應(yīng)地創(chuàng)建一個(gè)usecase。軟件體系結(jié)構(gòu)專家講座第42頁(yè)所以,針對(duì)每一業(yè)務(wù)usecase,為每一工作人員和業(yè)務(wù)actor,設(shè)置一個(gè)

usecase。

細(xì)化并調(diào)整這些暫時(shí)usecases.決議工作人員和業(yè)務(wù)actor

那些任務(wù)應(yīng)該由系統(tǒng)自動(dòng)地給予實(shí)現(xiàn),作為usecases,并重新組織這些usecase,更加好地適應(yīng)actors要求(needs)。結(jié)論:為參加業(yè)務(wù)usecase細(xì)化(realization)、使用該信息系統(tǒng)每一工作人員每一角色,提議一個(gè)usecase。軟件體系結(jié)構(gòu)專家講座第43頁(yè)當(dāng)開(kāi)始點(diǎn)沒(méi)有業(yè)務(wù)模型時(shí)

要經(jīng)過(guò)與客戶以及用戶一起工作來(lái)標(biāo)識(shí)usecase。其中:

應(yīng)一個(gè)一個(gè)地審閱actors,為每一個(gè)actor提議一些侯選

usecase。比如,能夠與他們進(jìn)行交談,研究需要哪些usecase。其中,均應(yīng)依據(jù)actor需求來(lái)發(fā)覺(jué)usecase:

-actor通常需要usecases來(lái)支持他們工作:創(chuàng)建、改變、跟蹤、遷移業(yè)務(wù)usecases中使用業(yè)務(wù)對(duì)象,比如定單和帳目。

-actor可能還要通知系統(tǒng)一些外部事件,包含已經(jīng)發(fā)生一些事件,比如:發(fā)票已經(jīng)過(guò)期。

-還可能存在一些其它actors,他們執(zhí)行系統(tǒng)開(kāi)啟、終止和維護(hù)。軟件體系結(jié)構(gòu)專家講座第44頁(yè)對(duì)發(fā)覺(jué)候選usecases

初始處理:

依據(jù)以上發(fā)覺(jué)那些侯選usecases,為了使系統(tǒng)usecases輕易修改、復(fù)審、測(cè)試和管理,應(yīng)考慮它們之間組成關(guān)系。

為每一usecases選擇一個(gè)名字(普通應(yīng)以動(dòng)詞開(kāi)始),這個(gè)能夠引導(dǎo)我們思索其中向actor產(chǎn)生值特定動(dòng)作序列。用戶和系統(tǒng)一個(gè)交互序列,能夠在一個(gè)usecase中給予規(guī)約,也能夠在多個(gè)usecase中給予規(guī)約。

當(dāng)決定把一個(gè)侯選usecase最終作為系統(tǒng)一個(gè)usecase

時(shí),必須考慮:它是否是完整(complete);它是否是另一usecase組成部分。軟件體系結(jié)構(gòu)專家講座第45頁(yè)usecase大小確實(shí)定

確定usecase大小,有時(shí)是相當(dāng)困難.

對(duì)此,必須了解:

-usecase應(yīng)為它actors產(chǎn)生對(duì)應(yīng)值.-尤其地,usecase向一個(gè)特定actor交付了可見(jiàn)結(jié)果(值).

以上了解,能夠指導(dǎo)我們適當(dāng)確實(shí)定usecase大小。其中要注意2個(gè)關(guān)鍵詞:

結(jié)果(值)(resultofvalue

特定actor(particularactor

軟件體系結(jié)構(gòu)專家講座第46頁(yè)結(jié)果(值)

(resultofvalue)

每一個(gè)成功執(zhí)行usecase應(yīng)向actor提供一些值,使actor到達(dá)某一目標(biāo)。注意:一個(gè)usecase實(shí)例,比如電話呼叫,可能包括多個(gè)actor.在這種情況中,應(yīng)該應(yīng)用“可見(jiàn)結(jié)果值”這一準(zhǔn)則,開(kāi)啟actor(toinitiatingactor).“結(jié)果(值)‘

resultofvalue

‘”這一準(zhǔn)則,能夠幫助我們防止使發(fā)覺(jué)usecases太小。軟件體系結(jié)構(gòu)專家講座第47頁(yè)特定actor(particularactor)

經(jīng)過(guò)使標(biāo)識(shí)usecases都有對(duì)應(yīng)真實(shí)用戶,這么能夠確保不會(huì)太大。

針對(duì)一些actors,我們第一次發(fā)覺(jué)usecases經(jīng)常需要給予重新組織,重新評(píng)定,使之愈加“穩(wěn)定”。比如,一旦我們已經(jīng)有了一個(gè)體系結(jié)構(gòu),那么對(duì)于我們捕捉新usecases就必須進(jìn)行調(diào)整,方便適應(yīng)已經(jīng)有體系結(jié)構(gòu)。這么,就有可能需要相當(dāng)大變動(dòng)。軟件體系結(jié)構(gòu)專家講座第48頁(yè)(3)usecase簡(jiǎn)單描述當(dāng)分析員標(biāo)識(shí)usecase時(shí),首先,普通要給出該usecase名字。繼之,對(duì)usecase給出簡(jiǎn)單描述:

?

開(kāi)始,用幾句話概括其中動(dòng)作;

?

而后,對(duì)系統(tǒng)與其actor交互時(shí)要做事情給予一步一步地描述.比如:描述PayInvoiceUseCases概括動(dòng)作

TheusecasePayInvoiceisusedbyaBuyertoscheduleinvoicepayments.ThePayInvoiceusecasetheneffectsthepaymentontheduedate.軟件體系結(jié)構(gòu)專家講座第49頁(yè)一步一步描述

Beforethisusecasecanbeinitiated,theBuyerhasalreadyreceivedaninvoice(deliveredbyanotherusecasecalledInvoiceBuyer)andhasalsoreceivedthegoodsorservicesordered.:1.Thebuyerstudiestheinvoicetopayandchecksthatitisconsistentwiththeoriginalorder.2.TheBuyerschedulestheinvoiceforpaymentbythebank.3.Onthedaypaymentisdue,thesystemcheckstoseeifthereisenoughmoneyintheBuyer’saccount.Ifenoughmoneyisavailable,thetransactionismade.軟件體系結(jié)構(gòu)專家講座第50頁(yè)

(4)確定usecase優(yōu)先級(jí)(Priority)目標(biāo)

用于決定哪些usecase在早期迭代中給予開(kāi)發(fā)(即分析、設(shè)計(jì)、實(shí)現(xiàn)等),哪些usecase在后期迭代中給予開(kāi)發(fā)。輸入與輸出Architect

UseCasemodel[outlined]

SupplementaryRequirementsGlossaryArchitectureDescription[viewoftheusecasemodel]PrioritizedUseCases軟件體系結(jié)構(gòu)專家講座第51頁(yè)視角與使用視角:從體系結(jié)構(gòu)視覺(jué),來(lái)審閱所建立usecase模型。并給出在這一視覺(jué)下體系結(jié)構(gòu)描述。(注:其中必須與項(xiàng)目經(jīng)理一起來(lái)工作。)使用:由該視角形成體系結(jié)構(gòu),能夠在規(guī)劃一個(gè)迭代中針對(duì)要開(kāi)發(fā)什么時(shí)給予使用。其中,要注意:在這一規(guī)劃中,還需要考慮其它非技術(shù)原因,比如系統(tǒng)開(kāi)發(fā)業(yè)務(wù)和經(jīng)濟(jì)方面原因。軟件體系結(jié)構(gòu)專家講座第52頁(yè)內(nèi)容:UseCase模型視覺(jué)下體系結(jié)構(gòu)描述,刻畫(huà)了在體系結(jié)構(gòu)方面含有主要意義usecases。包含:

-一些主要、關(guān)鍵功效usecase;或

-那些必須在軟件生存周期早期給予開(kāi)發(fā)一些主要需求usecase。

軟件體系結(jié)構(gòu)專家講座第53頁(yè)

(5)DetailaUseCase目標(biāo)

詳細(xì)地描述事件流,包含usecase是怎樣開(kāi)始,是怎樣結(jié)束,是怎樣與actors進(jìn)行交互。輸入與輸出UsecaseSpecifier

UseCasemodel[outlined]

SupplementaryRequirementsGlossary

UseCase[detailed]DetailaUseCaseTheresultisadetaileddescriptionofaparticularusecaseintextanddiagram.軟件體系結(jié)構(gòu)專家講座第54頁(yè)細(xì)化路徑

包括:怎樣描述一個(gè)usecase中全部可選路徑;在一個(gè)usecase描述中包含內(nèi)容;怎樣在必要時(shí)形式化地給出usecase描述。

其中規(guī)約人員應(yīng)該:

-緊密地與該usecase實(shí)際用戶一起工作;

-在與用戶交談中,通常需要統(tǒng)計(jì)他們對(duì)該usecase了解;

-與用戶討論提議方案,并請(qǐng)他們復(fù)審usecase描述。軟件體系結(jié)構(gòu)專家講座第55頁(yè)

有效技術(shù):事件流技術(shù)

關(guān)于事件流(FlowofEvents)作用:

當(dāng)所規(guī)約usecase執(zhí)行時(shí),事件流規(guī)約了系統(tǒng)做什么。即每一個(gè)usecase事件流,能夠作為usecase動(dòng)作序列正文描述。當(dāng)所規(guī)約usecase執(zhí)行時(shí),事件流還規(guī)約了系統(tǒng)怎樣與其actors進(jìn)行交互基本要求:從管理角度來(lái)說(shuō),一個(gè)事件流描述應(yīng)包含一組動(dòng)作序列,該組動(dòng)作序列適于修改、復(fù)審、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試,并作為用戶手冊(cè)一節(jié)。軟件體系結(jié)構(gòu)專家講座第56頁(yè)

以事件流描述UseCase所采取結(jié)構(gòu)

一個(gè)usecase能夠被認(rèn)為有一個(gè)開(kāi)始狀態(tài),一些中間狀態(tài),并從一個(gè)狀態(tài)轉(zhuǎn)換為另一狀態(tài),以下所表示:其中,

?紅箭頭線表示基本路徑,曲線是其它路徑。

?當(dāng)被一個(gè)事件(比如一個(gè)消息)激發(fā)時(shí),每一這么轉(zhuǎn)換是該use-case一個(gè)實(shí)例所執(zhí)行一個(gè)動(dòng)作序列。軟件體系結(jié)構(gòu)專家講座第57頁(yè)細(xì)化USECASE,即:

從開(kāi)始狀態(tài)到終止?fàn)顟B(tài)選擇一條完整基本路徑,并在一節(jié)中對(duì)該路徑給予描述。其中,這一路徑選擇應(yīng)該是用戶認(rèn)為它是一條最通常路徑,并對(duì)相關(guān)actor產(chǎn)生最顯著值(themostobviousvalue)。普通來(lái)說(shuō),這么一條路徑應(yīng)該包含系統(tǒng)不大需要一些例外和異常處理。軟件體系結(jié)構(gòu)專家講座第58頁(yè)接之,在另一節(jié)中描述其余可選路徑其中,有些可選路徑是很小,是否能夠把它作為基本路徑組成部分還是在一個(gè)獨(dú)立一節(jié)中作為可選路徑給予描述,這是一個(gè)設(shè)計(jì)決議問(wèn)題,取決于該描述是否準(zhǔn)確,是否輕易閱讀。.

注意:不論我們選擇了什么描述技術(shù),都必須描述全部可選路徑,不然就不能說(shuō)給出了對(duì)該usecase規(guī)約。軟件體系結(jié)構(gòu)專家講座第59頁(yè)Example:PathsofthePayInvoiceUseCase

Precondition:Thebuyerhasreceivedthegoodsorservicesorderedandatleastoneinvoicefromthesystem.Thebuyernowplanstoscheduletheinvoice(s)forpayment.FlowofEventsBasicPath

1Thebuyerinvokestheusecasebybeginningtobrowsetheinvoicesreceivedbythesystem.Thesystemchecksthatthecontentofeachinvoiceisconsistentwithorderconfirmationsreceivedearly(aspartoftheConfirmOrderusecase)andsomehowindicatesthistothebuyer.Theorderconfirmationdescribeswhichitemswillbedelivered,when,where,andatwhatprice.

軟件體系結(jié)構(gòu)專家講座第60頁(yè)2Thebuyerdecidestoscheduleaninvoiceforpaymentbythebank,andthesystemgeneratesapaymentrequesttotransfermoneytotheseller’saccount.Notethatabuyermaynotschedulethesameinvoiceforpaymenttwice.3later,ifthereisenoughmoneyinthebuyer’saccount,apaymenttransactionismadeonthescheduleddate.Duringthetransaction,moneyistransferredfromthebuyer’saccounttotheseller’saccount,asdescribedbytheabstractusecasePerformTransaction(whichisusedbyPayInvoice).Thebuyerandthesellerarenotifiedoftheresultofthetransaction.Thebankcollectafeeforthetransaction,whichiswithdrawnfromthebuyer’saccountbythesystem.4Theusecaseinstanceterminates.軟件體系結(jié)構(gòu)專家講座第61頁(yè)AlternativePathInStep2,thebuyermayinsteadaskthesystemtosendaninvoicerejectionbacktotheseller.InStep3,ifthereisnotenoughmoneyintheaccount,theusecasewillcancelthepaymentandnotifythebuyer.

Post-condition:Theusecaseinstanceendswhentheinvoicehasbeenpaidorwhentheinvoicepaymentwascanceledandnomoneywastransferred.軟件體系結(jié)構(gòu)專家講座第62頁(yè)

UseCase描述中基本內(nèi)容一個(gè)use-case描述中,必須包含:定義其開(kāi)始狀態(tài),作為一個(gè)前置條件(recondition).定義第一個(gè)要執(zhí)行動(dòng)作,比如Step1,即描述該usecase

是怎樣開(kāi)始,什么時(shí)候開(kāi)始。定義所要求次序,即給出其中動(dòng)作必須以該次序給予執(zhí)行。例中,該次序是經(jīng)過(guò)步驟號(hào)給予定義((Step1-4))。描述該usecase

是怎樣結(jié)束,什么時(shí)候結(jié)束(Step4)。定義可能結(jié)束狀態(tài),作為后置條件(postconditions).軟件體系結(jié)構(gòu)專家講座第63頁(yè)

給出在基本路徑描述中可選路徑描述。給出那些基本路徑之外可選路徑描述。定義與actors系統(tǒng)交互以及它們之間交換

(Step2andStep3),即描述該usecase動(dòng)作序列,這些動(dòng)作是怎樣被相關(guān)actors給予激發(fā)(invoke)以及它們是怎樣執(zhí)行,以響應(yīng)actor要求。描述系統(tǒng)中相關(guān)對(duì)象、值和資源使用方法(Usage)

(Step3).

即描述在一個(gè)use-case使用中動(dòng)作序列以及對(duì)該use-case屬性所賦予值。軟件體系結(jié)構(gòu)專家講座第64頁(yè)假如該系統(tǒng)與其它系統(tǒng)交互,則必須規(guī)約這一交互,比如引用一個(gè)標(biāo)準(zhǔn)通訊協(xié)議。注意:在use-case描述中,我們必須顯式地描述系統(tǒng)做什么(執(zhí)行動(dòng)作),以及actor做什么。應(yīng)從actors做什么中分離出系統(tǒng)責(zé)任。不然,對(duì)系統(tǒng)規(guī)約使用來(lái)說(shuō),這么use-case描述就不夠準(zhǔn)確。軟件體系結(jié)構(gòu)專家講座第65頁(yè)

當(dāng)usecase描述是:可了解;正確(即捕捉了正確需求);完備(complete,比如,描述了全部可能路徑);一致.

我們才能夠說(shuō),結(jié)束了usecase描述。該描述能夠在需求捕捉結(jié)束復(fù)審會(huì)中,由分析員給予評(píng)定,也能夠由用戶和客戶給予評(píng)定。但僅客戶和用戶才能確認(rèn)該usecases是否是正確。

軟件體系結(jié)構(gòu)專家講座第66頁(yè)半形式化Use-Case描述

?

前置條件對(duì)于一個(gè)復(fù)雜實(shí)時(shí)系統(tǒng),usecase可能是相當(dāng)負(fù)責(zé),比如actors和usecase之間交互可能經(jīng)過(guò)相當(dāng)多狀態(tài)和狀態(tài)轉(zhuǎn)換,從而幾乎不可能保持正文描述usecase一致性。

?

相關(guān)技術(shù)

為此,需要使用更結(jié)構(gòu)化描述技術(shù),這么技術(shù)普通使用可視化建模技術(shù),來(lái)描述usecases。以下技術(shù)能夠幫助系統(tǒng)分析人員更加好地了解usecases:軟件體系結(jié)構(gòu)專家講座第67頁(yè)BrowsingScheduleRejectInvoiceScheduledPayonduedateInvoicePaidInvoiceCancelledThestatechartdiagramforthePayInvoiceusecaseshowinghowaninstanceoftheInvoiceusecasemovesoverseveralstatesinseriesofstatetransitions.UML狀態(tài)圖

用于描述usecase狀態(tài)和狀態(tài)之間轉(zhuǎn)換。軟件體系結(jié)構(gòu)專家講座第68頁(yè)活動(dòng)圖用于描述狀態(tài)之間更詳細(xì)動(dòng)作序列。注:活動(dòng)圖源于SDL狀態(tài)轉(zhuǎn)換圖(SDLstatetransitiondiagrams),它是已予證實(shí)、用于電信一個(gè)語(yǔ)言。交互圖用于描述一個(gè)usecase實(shí)比怎樣與actor一個(gè)實(shí)例進(jìn)行交互。為此,交互圖給出了usecase以及參加

actor(s)。軟件體系結(jié)構(gòu)專家講座第69頁(yè)注意:

在使用這些圖當(dāng)中,因?yàn)閱?wèn)題復(fù)雜性,有時(shí)可能會(huì)出現(xiàn)一些大、復(fù)雜圖,以至于極難閱讀和了解,尤其對(duì)于那些不是軟件開(kāi)發(fā)人員來(lái)說(shuō)更難閱讀。

這些圖是一些更靠近開(kāi)發(fā)細(xì)節(jié)圖,應(yīng)與系統(tǒng)其它模型保持一致。提議:應(yīng)慎重地使用這些圖,在普通情況下,應(yīng)采取usecase正文描述(即事件流描述)。在很多情況中,正文描述和這些圖是互補(bǔ)。軟件體系結(jié)構(gòu)專家講座第70頁(yè)(6)用戶界面原型結(jié)構(gòu)目標(biāo)建造一個(gè)用戶界面原型,使用戶有效地執(zhí)行usecases。步驟第一步,用戶界面邏輯設(shè)計(jì)第二步,物理用戶界面設(shè)計(jì)第三步,開(kāi)發(fā)用戶界面原型,演示為了執(zhí)行該usecase,用戶怎樣使用該系統(tǒng)。注:怎樣進(jìn)行以上三步,可參見(jiàn)相關(guān)文件。軟件體系結(jié)構(gòu)專家講座第71頁(yè)

(7)UseCase模型結(jié)構(gòu)化

前置條件:系統(tǒng)分析員已經(jīng)標(biāo)識(shí)了actors和usecases,已經(jīng)以圖給予了描述,并給出了整個(gè)usecase模型說(shuō)明。usecase規(guī)約人員已經(jīng)對(duì)每一usecase開(kāi)發(fā)了詳細(xì)描述。

做什么:

?

抽取usecase描述中普通、共享功效,用于特定

usecase描述。

?

抽取usecase描述中附加或可選(additionaloroptional)功效,它們可能被擴(kuò)展為特定usecase描述。

軟件體系結(jié)構(gòu)專家講座第72頁(yè)使用泛化關(guān)系,標(biāo)識(shí)并描述那些共享功效比如:BuyerSellerPayInvoicePayInvoice和PerformTransaction這2個(gè)usecase之間泛化關(guān)系PerformTransaction軟件體系結(jié)構(gòu)專家講座第73頁(yè)使用擴(kuò)展關(guān)系,標(biāo)識(shí)并描述附加或可選功效比如:BuyerSellerPayInvoicePayInvoice和PayOverdraftFee

這2個(gè)usecases之間擴(kuò)展關(guān)系《extend》PerformTransactionPayOverdraftFee標(biāo)識(shí)usecase之間其它關(guān)系

usecases之間還包含其它關(guān)系,比如包含關(guān)系(include

)。軟件體系結(jié)構(gòu)專家講座第74頁(yè)注意:(3點(diǎn))

在結(jié)構(gòu)化

usecase中應(yīng)注意以下3個(gè)問(wèn)題:建立usecases結(jié)構(gòu)和它們關(guān)系,應(yīng)盡可能地反應(yīng)usecases實(shí)際情況。不然,不論對(duì)用戶或客戶還是對(duì)開(kāi)發(fā)人員本身,要了解這些usecases以及它們意圖就變得相當(dāng)困難.每一個(gè)usecase都需要被深入處理為一個(gè)特定制品。有時(shí),usecase規(guī)約人員需要給出它描述;在后續(xù)分析和設(shè)計(jì)中,usecase需要用不一樣use-case細(xì)化(realization)給予細(xì)化。為此,usecases不應(yīng)太小或太多,從而需要對(duì)usecase結(jié)構(gòu)化工作給予有效地管理。軟件體系結(jié)構(gòu)專家講座第75頁(yè)應(yīng)防止分解usecase模型中usecases功效。最好在分析和設(shè)計(jì)中對(duì)每一usecase進(jìn)行精化(refining)。這一精化,假如需要話,是以面向?qū)ο蟾裾{(diào)將由usecases所定義功效作為概念分析層面上對(duì)象之間協(xié)作,方便產(chǎn)生對(duì)需求深入了解.軟件體系結(jié)構(gòu)專家講座第76頁(yè)總結(jié)-需求獲取需求獲取以及相關(guān)制品

worktobedoneresultartifacts-ListcandidaterequirementsFeaturelist-UnderstandsystemcontextBusinessordomainmodel-CapturefunctionalrequirementsUsecasemodel-CapturenonfunctionalSupplementaryrequirementsrequirementsorindividualusecases(forusecasespecificreq.)軟件體系結(jié)構(gòu)專家講座第77頁(yè)業(yè)務(wù)模型或領(lǐng)域模型建立了系統(tǒng)語(yǔ)境,是創(chuàng)建系統(tǒng)usecase模型基礎(chǔ)。usecase模型

Use-CaseModel是軟件和客戶就需求一個(gè)共識(shí),即系統(tǒng)必須含有條件(conditions)和能力(capabilities)。TheUse-Case模型為系統(tǒng)分析、設(shè)計(jì)、實(shí)現(xiàn)以及測(cè)試提供了基本輸入。

AUse-Case模型是系統(tǒng)一個(gè)模型,包含系統(tǒng)中actors、usecases以及它們之間關(guān)系。即:Use-Case

systemUse-Case

model

Actor

Usecase**1TheUse-Casemodelanditscontents.TheUse-Casesystemdenotesthetop-levelpackageofthemodel軟件體系結(jié)構(gòu)專家講座第78頁(yè)use-case模型捕捉了功效需求。非功效需求特定于單個(gè)usecase,其規(guī)約含有普通性,并不針對(duì)一個(gè)特定usecase。

use-case模型描述,能夠經(jīng)過(guò):

-asurveydescription-adetaileddescriptionofeachusecase.

對(duì)于usecase模型中每一usecase,應(yīng)驅(qū)動(dòng)開(kāi)發(fā)后續(xù)工作,并實(shí)現(xiàn)它們無(wú)縫連接。即在分析階段和設(shè)計(jì)階段,應(yīng)標(biāo)識(shí)相匹配use-case細(xì)化(realization),并標(biāo)識(shí)測(cè)試階段中一組測(cè)試用例(testcases)。軟件體系結(jié)構(gòu)專家講座第79頁(yè)

捕捉需求階段活動(dòng)序號(hào)輸入活動(dòng)執(zhí)行者輸出1業(yè)務(wù)模型或領(lǐng)域模型,補(bǔ)充需求,特征表發(fā)覺(jué)參加者和用況系統(tǒng)分析員、客戶、用戶、其它分析員用況模型概述,術(shù)語(yǔ)表2用況模型概述,補(bǔ)充需求,術(shù)語(yǔ)表賦予用況優(yōu)先級(jí)體系結(jié)構(gòu)設(shè)計(jì)者體系結(jié)構(gòu)描述用況模型角度3用況模型概述,補(bǔ)充需求,術(shù)語(yǔ)表細(xì)化用況用況描述者用況詳述4用況詳述,用況模型概述,補(bǔ)充需求,術(shù)語(yǔ)表人機(jī)接口原型化人機(jī)接口設(shè)計(jì)者人機(jī)接口原型5用況詳述,用況模型概述,補(bǔ)充需求,術(shù)語(yǔ)表結(jié)構(gòu)用況模型系統(tǒng)分析員用況模型詳述軟件體系結(jié)構(gòu)專家講座第80頁(yè)2、需求分析

實(shí)際問(wèn)題?需求獲取模型形成?需求分析模型形成需求獲取需求分析注:實(shí)現(xiàn)第二次抽象注:實(shí)現(xiàn)第一次抽象軟件體系結(jié)構(gòu)專家講座第81頁(yè)1)需求分析層術(shù)語(yǔ)

分析類(Analysisclass)

UseCase細(xì)化(UseCaseRealization-Analysis)

分析包(AnalysisPackage)分析類(Analysisclass)一個(gè)分析類抽象地表示了系統(tǒng)設(shè)計(jì)中一個(gè)或多個(gè)類和/或子系統(tǒng)。分析類基本性質(zhì):

?

分析類關(guān)注處理功效需求,而將非功效需求處理延遲到以后設(shè)計(jì)和實(shí)現(xiàn)活動(dòng)中,并作為類特殊需求。軟件體系結(jié)構(gòu)專家講座第82頁(yè)?

分析類極少經(jīng)過(guò)操作和其申明(

signatures)定義或提供接口。其行為普通是經(jīng)過(guò)高層責(zé)任給予定義。一個(gè)責(zé)任是高內(nèi)聚一組由類所定義行為正文描述。?

分析類屬性也是在很高層次上定義。這類屬性經(jīng)常是問(wèn)題域上概念,并可經(jīng)過(guò)問(wèn)題域就能夠了解其含義。?

分析類所包括關(guān)聯(lián),多數(shù)是概念性,比如關(guān)聯(lián)導(dǎo)航性,在分析中并非十分主要,而在設(shè)計(jì)中就是基本。目標(biāo):使分析類在問(wèn)題域中愈加突出,與設(shè)計(jì)和實(shí)現(xiàn)中類相比,粒度大,是概念性。軟件體系結(jié)構(gòu)專家講座第83頁(yè)Boundaryclasses:

內(nèi)涵:用于系統(tǒng)與其actors之間交互建模。該交互普通包括向用戶和外部系統(tǒng)發(fā)出請(qǐng)求和從他們那里接受信息。

與設(shè)計(jì)平臺(tái)關(guān)系:邊界類經(jīng)常是在更高概念層上,對(duì)windows,forms,panes,communicationinterfaces,printerinterfaces,sensors,terminals,andAPIs等抽象,忽略其中一些細(xì)節(jié),比如:

everywidgetofauserinterface,而且不需要描述該交互物理實(shí)現(xiàn)(realize)。

基于設(shè)計(jì)原理:分離用戶界面或通訊界面中改變,形成一個(gè)或多個(gè)邊界類。分析類種類:通常含有三種:邊界類(Boundaryclasses),

實(shí)體類(Entityclasses),控制類(Controlclasses).軟件體系結(jié)構(gòu)專家講座第84頁(yè)實(shí)體類(Entityclasses):內(nèi)涵:用于對(duì)那些需要長(zhǎng)久足留系統(tǒng)模型化對(duì)象以及與行為相關(guān)一些現(xiàn)象進(jìn)行建模,比如人信息以及實(shí)際一個(gè)事件。與業(yè)務(wù)類關(guān)系:在大多數(shù)情況下,實(shí)體類對(duì)應(yīng)業(yè)務(wù)模型中業(yè)務(wù)類。其中一個(gè)主要區(qū)分是:現(xiàn)在所考慮實(shí)體類,普通是要由系統(tǒng)處理那些對(duì)象。與設(shè)計(jì)平臺(tái)關(guān)系:實(shí)體類普通表示一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)和屬性,以了解系統(tǒng)依賴什么信息。基于設(shè)計(jì)原理:分離一些改變,形成不一樣對(duì)象所表示信息。軟件體系結(jié)構(gòu)專家講座第85頁(yè)控制類(ControlClasses):內(nèi)涵

:控制類處理并協(xié)調(diào)那些主要?jiǎng)幼鳎╝ctions)和控制流,并向其它對(duì)象(比如邊界類對(duì)象,實(shí)體類對(duì)象)委派工作。用途:控制類能夠?qū)崿F(xiàn)對(duì)系統(tǒng)動(dòng)態(tài)性(dynamics)建模:用于表示協(xié)同、定序、事務(wù)以及對(duì)其它對(duì)象控制;經(jīng)慣用于封裝那些與特定usecase相關(guān)控制;用于表示復(fù)雜推導(dǎo)和計(jì)算,比如業(yè)務(wù)邏輯,該邏輯并不與任意存貯在系統(tǒng)中特定信息相關(guān)?;谠O(shè)計(jì)原理:?jiǎn)栴}分離控制類分離一些在控制方面、協(xié)調(diào)方面、定序方面以及復(fù)雜業(yè)務(wù)邏輯方面改變,并給予封裝,形成所謂控制類,其中普通要包括其它一些對(duì)象。而不能封裝那些與actors交互相關(guān)問(wèn)題(由邊界類給予封裝)。也不能封裝與系統(tǒng)處理那些信息相關(guān)問(wèn)題(由實(shí)體類給予封裝)。

軟件體系結(jié)構(gòu)專家講座第86頁(yè)可見(jiàn):邊界類封裝了一些主要通信接口和用戶界面機(jī)制。實(shí)體類封裝了問(wèn)題域中實(shí)體概念控制類封裝了一些主要定序(sequences),包括多個(gè)成份,比如協(xié)調(diào)有意義use-case細(xì)化。軟件體系結(jié)構(gòu)專家講座第87頁(yè)分析包(AnalysisPackage)

分析包提供了一個(gè)組織分析制品伎倆,形成一些可管理部分。分析包能夠包含分析類、usecase細(xì)化以及其它分析包。Analysispackage***AnalysisclassUsecaseRealization-analysisAnalysispackagecontents軟件體系結(jié)構(gòu)專家講座第88頁(yè)分析包主要特征(characteristic)高內(nèi)聚、低耦合;

表示分析問(wèn)題分離;比如,將不一樣領(lǐng)域知識(shí)同時(shí)分為不一樣包給予分析。因?yàn)槭轻槍?duì)功效需求和問(wèn)題域給予創(chuàng)建,所以對(duì)含有領(lǐng)域知識(shí)人來(lái)說(shuō),是能夠閱讀、了解。很有可能成為一些子系統(tǒng)或成為一些子系統(tǒng)組成部分。在一些情況中,甚至能夠反應(yīng)一個(gè)完整頂層設(shè)計(jì)。軟件體系結(jié)構(gòu)專家講座第89頁(yè)Use-Case細(xì)化(Use-CaseRealization-Analysis)

內(nèi)涵(何謂Use-Case細(xì)化?)一個(gè)Use-Case細(xì)化是分析模型中一個(gè)協(xié)作(acollaboration

),描述了一個(gè)特定Use-Case怎樣利用分析類以及分析類交互對(duì)象進(jìn)行細(xì)化和執(zhí)行。

作用:Use-Case細(xì)化對(duì)use-case模型中一個(gè)特定usecase提供了一中直接方式跟蹤。

怎樣表示Use-Case細(xì)化?

正文事件流類圖交互圖軟件體系結(jié)構(gòu)專家講座第90頁(yè)2)需求分析層制品:(5個(gè))

除了以上3個(gè)外,還有:分析模型(Analysismodel)體系結(jié)構(gòu)描述(ArchitectureDescription(ViewoftheAnalysisModel)

分析模型體系結(jié)構(gòu)描述-分析軟件體系結(jié)構(gòu)專家講座第91頁(yè)分析模型AnalysismodelAnalysisSystemAnalysisPackageAnalysisClassUse-CaseRealization-Analysis分析模型是分析包一個(gè)層次結(jié)構(gòu),包含分析類和use-case細(xì)化。******1[AnalysisSystemdenotesthetop-levelpackageofthemodel.]軟件體系結(jié)構(gòu)專家講座第92頁(yè)體系結(jié)構(gòu)描述(ViewoftheAnalysisModel)

從體系結(jié)構(gòu)視覺(jué),描述一些在體系結(jié)構(gòu)方面含有主要意義制品。

普通包含:

?分析包以及它們依賴(dependencies)

(Why?Thisdecompositionoftenimpactsthesubsystemsintop-levellayersduringdesignandimplementationandisthussignificantforthearchitectureingeneral.)

?一些關(guān)鍵分析類

(Why?analysisclasseshavemanyrelationshipswithotheranalysisclasses.Itisusuallysufficienttoconsideranabstractclass.

)軟件體系結(jié)構(gòu)專家講座第93頁(yè)3)Workflow(1)體系結(jié)構(gòu)分析(ArchitecturalAnalysis)目標(biāo):經(jīng)過(guò)標(biāo)識(shí)分析包,分析類,公共特定需求,建立分析模型和體系結(jié)構(gòu)“骨架”?需求分析模型形成需求

溫馨提示

  • 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)論