軟件需求工程課件2013-06-11_第1頁
軟件需求工程課件2013-06-11_第2頁
軟件需求工程課件2013-06-11_第3頁
軟件需求工程課件2013-06-11_第4頁
軟件需求工程課件2013-06-11_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

需求模版框架產(chǎn)品限制條件------適用于項(xiàng)目與產(chǎn)品的限制與局限產(chǎn)品的目標(biāo)客戶、顧客和其他的風(fēng)險承擔(dān)者產(chǎn)品的用戶需求限制條件命名標(biāo)準(zhǔn)和定義相關(guān)事實(shí)假定1需求模版框架功能需求------產(chǎn)品的功能產(chǎn)品的范圍功能與數(shù)據(jù)需求2需求模版框架非功能需求------產(chǎn)品的品質(zhì)觀感需求易用性需求性能需求操作需求可維護(hù)性和可移植性需求安全性需求文化與政策需求法律需求3需求模版框架項(xiàng)目問題------適用于構(gòu)建產(chǎn)品的項(xiàng)目開放式問題商業(yè)上架式軟件解決方案新問題任務(wù)遷移風(fēng)險費(fèi)用用戶文檔后續(xù)版本需求4項(xiàng)目啟動一、在這個階段,我們要找出對項(xiàng)目我們真正知道些什么?

二、并開始對項(xiàng)目盡早進(jìn)行度量。5項(xiàng)目啟動階段主要目的通過收集各種信息,確保項(xiàng)目可行,且資金充足。6項(xiàng)目啟動階段圖示項(xiàng)目啟動領(lǐng)域知識可重用的需求網(wǎng)羅知識客戶客戶的想法產(chǎn)品的戰(zhàn)略計(jì)劃主要風(fēng)險和初始費(fèi)用上下文范圍圖業(yè)務(wù)目標(biāo)7項(xiàng)目啟動階段提交的產(chǎn)物1、產(chǎn)品的目的;2、客戶;3、顧客;4、風(fēng)險承擔(dān)者;5、用戶;6、限制條件;7、名稱;8、相關(guān)事實(shí)和假定;9、工作的范圍;10、估算的費(fèi)用;11、風(fēng)險;12、繼續(xù)或終止的決定。8項(xiàng)目案例

IceBreaker項(xiàng)目運(yùn)用各種數(shù)據(jù)來精確預(yù)測何時道路將結(jié)冰。然后它安排調(diào)度并派出卡車,在道路變得危險之前用除冰物質(zhì)(一種鹽類化合物)來處理道路。9IceBreaker氣象站

該設(shè)備將氣象和道路表面情況數(shù)據(jù)傳送到產(chǎn)品的另一部份,在那里預(yù)測道路何時將結(jié)冰,然后派出卡車,用除冰物質(zhì)處理路面。

10

IceBreaker氣象站11產(chǎn)品目標(biāo)應(yīng)具備什么?大家一致同意的;清晰的;無歧義的;可度量的。12如何得到產(chǎn)品目標(biāo)?需要從一份用戶問題或項(xiàng)目背景的描述開始。推薦格式:1.產(chǎn)品的目標(biāo)1a.該項(xiàng)工作的用戶問題或背景內(nèi)容:對引發(fā)任務(wù)的工作和情況的描述,同時也應(yīng)描述用戶希望用提交的軟件來完成的工作。動機(jī):這項(xiàng)說明為該項(xiàng)目提供了合法的理由。考慮:您應(yīng)該考慮用戶的問題是否嚴(yán)重,是否應(yīng)該解決和為什么應(yīng)該解決。13案例背景描述(IceBreaker項(xiàng)目)“道路在冬季結(jié)冰,這種結(jié)冰路面將引發(fā)道路交通事故,使人喪生。我們需要能夠預(yù)測何時道路可能結(jié)冰,然后我們的車庫可以及時調(diào)度除冰卡車來防止道路結(jié)冰。除了氣象預(yù)報(bào)之外,可以使用地區(qū)的熱象圖和安裝在道路上的氣象儀發(fā)出的道路溫度數(shù)據(jù),我們希望新的系統(tǒng)能提供更精確的冰情預(yù)報(bào)。這將使我們能比現(xiàn)在更及時地進(jìn)行除冰處理,從而減少道路交通事故。我們也希望能消除對道路不加選擇的處理,因?yàn)槟菢訒速M(fèi)除冰化合物,并破壞環(huán)境?!?4目標(biāo)來自于------問題的解決方案

當(dāng)我們知道了問題是什么,并能夠清晰地說明它,我們就可以開始規(guī)劃一個解決方案。該解決方案就是產(chǎn)品要做的事,有助于解決問題或緩解問題。

但,產(chǎn)品的目標(biāo)應(yīng)該不僅僅是解決問題,還要提供業(yè)務(wù)上的優(yōu)勢。并且,如果存在這種優(yōu)勢,我們必須能夠度量它。問題解決方案優(yōu)勢可度量的優(yōu)勢15案例項(xiàng)目目標(biāo)的得出

根據(jù)IceBreaker項(xiàng)目的背景描述,我們發(fā)現(xiàn):問題是:“因?yàn)榈缆方Y(jié)冰而引起的道路交通事故”,問題的解決方案是:“處理路面以防止結(jié)冰(如果道路已經(jīng)結(jié)冰,理所當(dāng)然是使冰融化)?!币虼?,我們可以說產(chǎn)品的目標(biāo)是:“精確預(yù)報(bào)道路結(jié)冰時間并分派除冰卡車?!?6案例項(xiàng)目目標(biāo)的業(yè)務(wù)優(yōu)勢請看案例背景描述(紅色部分):“道路在冬季結(jié)冰,這種結(jié)冰路面將引發(fā)道路交通事故,使人喪生。我們需要能夠預(yù)測何時道路可能結(jié)冰,然后我們的車庫可以及時調(diào)度除冰卡車來防止道路結(jié)冰。除了氣象預(yù)報(bào)之外,可以使用地區(qū)的熱象圖和安裝在道路上的氣象儀發(fā)出的道路溫度數(shù)據(jù),我們希望新的系統(tǒng)能提供更精確的冰情預(yù)報(bào)。這將使我們能比現(xiàn)在更及時地進(jìn)行除冰處理,從而減少道路交通事故。我們也希望能消除對道路不加選擇的處理,因?yàn)槟菢訒速M(fèi)除冰化合物,并破壞環(huán)境?!币虼?,我們得出該產(chǎn)品的業(yè)務(wù)優(yōu)勢是:“通過預(yù)報(bào)道路結(jié)冰情況來減少道路事故?!边@個優(yōu)勢是可度量的嗎?17案例項(xiàng)目目標(biāo)的得出

“道路在冬季結(jié)冰,這種結(jié)冰路面將引發(fā)道路交通事故,使人喪生。我們需要能夠預(yù)測何時道路可能結(jié)冰,然后我們的車路可以及時調(diào)度除冰卡車來防止道路結(jié)冰。除了氣象預(yù)報(bào)之外,可以使用地區(qū)的熱象圖和安裝在道路上的氣象儀發(fā)出的道路溫度數(shù)據(jù),我們希望新的系統(tǒng)能提供更精確的冰情預(yù)報(bào)。這將使我們能比現(xiàn)在更及時地進(jìn)行除冰處理,從而減少道路交通事故。我們也希望能消除對道路不加選擇的處理,因?yàn)槟菢訒速M(fèi)除冰化合物,并破壞環(huán)境?!笔堑摹.a(chǎn)品的成功可以通過事故數(shù)量的減少來度量,在這些事故中,道路結(jié)冰是一個因素。度量:“因結(jié)冰而發(fā)生的事故數(shù)將低于冬季發(fā)生的事故數(shù)的15%。”18目標(biāo)的合理性至此,我們已經(jīng)得到了一個可度量的目標(biāo),對一兩個冬季進(jìn)行事故監(jiān)控也是可行的。事故統(tǒng)計(jì)數(shù)據(jù)和警察報(bào)告已經(jīng)收集,對我們了解產(chǎn)品是否成功已經(jīng)沒有障礙。

但,這是一個合理的目標(biāo)嗎?為了消除大部分因?yàn)榻Y(jié)冰導(dǎo)致的事故而花費(fèi)成本和工作量來構(gòu)建該產(chǎn)品,這值得嗎?你想過下面的問題嗎?“因結(jié)冰而發(fā)生的事故數(shù)將低于冬季發(fā)生的事故數(shù)的15%?!逼渲校翱倲?shù)的15%”是從哪里來的?---啟動會議或其替代方式19目標(biāo)的可行性該目標(biāo)可行嗎?“及時地進(jìn)行除冰處理”就會導(dǎo)致事故的減少嗎?會降到低于總數(shù)的15%嗎?讓主要風(fēng)險承擔(dān)者參加會議的一個主要原因就是回答諸如此類的問題。20目標(biāo)的可達(dá)成性該目標(biāo)可達(dá)成嗎?

本例中,代表產(chǎn)品設(shè)計(jì)者、構(gòu)建者、硬件方的技術(shù)專家和氣象學(xué)者的風(fēng)險承擔(dān)者讓啟動會議的參加者相信,技術(shù)是可獲得的或可以建造的,類似的軟件問題已經(jīng)被團(tuán)隊(duì)事先解決。21有些產(chǎn)品的目標(biāo)說明不止一個。請看背景描述:

“道路在冬季結(jié)冰,這種結(jié)冰路面將引發(fā)道路交通事故,使人喪生。我們需要能夠預(yù)測何時道路可能結(jié)冰,然后我們的車路可以及時調(diào)度除冰卡車來防止道路結(jié)冰。除了氣象預(yù)報(bào)之外,可以使用地區(qū)的熱象圖和安裝在道路上的氣象儀發(fā)出的道路溫度數(shù)據(jù),我們希望新的系統(tǒng)能提供更精確的冰情預(yù)報(bào)。這將使我們能比現(xiàn)在更及時地進(jìn)行除冰處理,從而減少道路交通事故。我們也希望能消除對道路不加選擇的處理,因?yàn)槟菢訒速M(fèi)除冰化合物,并破壞環(huán)境。”目標(biāo):“在冬季道路養(yǎng)護(hù)支出上節(jié)省費(fèi)用。”優(yōu)勢:“減少除冰和道路養(yǎng)護(hù)的費(fèi)用。”度量:“除冰費(fèi)用將在目前道路處理費(fèi)用的基礎(chǔ)上降低25%,并對道路造成的損傷將降低50%?!?2小結(jié):目標(biāo)的以下方面

目標(biāo)------關(guān)于產(chǎn)品要做什么的描述。優(yōu)勢------產(chǎn)品能提供怎樣的業(yè)務(wù)優(yōu)勢?度量------如何對優(yōu)勢進(jìn)行度量?合理性------構(gòu)建產(chǎn)品的工作量超過了業(yè)務(wù)優(yōu)勢嗎?可行性------產(chǎn)品能達(dá)到度量標(biāo)準(zhǔn)嗎?可達(dá)成性------組織是否具備(或可獲得)構(gòu)建該產(chǎn)品的技能,在構(gòu)建之后能夠操作它嗎?

目標(biāo)陳述導(dǎo)致了優(yōu)勢和度量標(biāo)準(zhǔn)。一個簡單的事實(shí)是:如果不能表達(dá)實(shí)現(xiàn)目標(biāo)將取得的優(yōu)勢,或者該優(yōu)勢不可度量,那么該目標(biāo)就不應(yīng)該成為規(guī)格說明書的一部分。231.產(chǎn)品的目標(biāo)1a.該項(xiàng)工作的用戶問題或背景(已完成)1b.產(chǎn)品的目標(biāo)內(nèi)容:用一句話或很少的幾句話來說明“我們希望該產(chǎn)品做什么?”換言之,即開發(fā)該產(chǎn)品的真正原因。動機(jī):項(xiàng)目如果沒有一個表述清晰、易于理解的目標(biāo),就會容易迷失在產(chǎn)品開發(fā)的沙漠中。產(chǎn)品必須提供某種業(yè)務(wù)優(yōu)勢。典型的優(yōu)勢是產(chǎn)品會增加組織在市場中的價值,減少運(yùn)作的成本,或提供更好的顧客服務(wù)。不管是哪種優(yōu)勢,都應(yīng)該是可度量的。開發(fā)該產(chǎn)品的優(yōu)勢或好處必須有某種客觀的度量,首先它讓您能確定該產(chǎn)品是否值得,其次讓您能確定提交的產(chǎn)品是否達(dá)到目標(biāo)。例子:“我們希望對顧客通過電話下訂單訂購我們的產(chǎn)品做出立即和完整的響應(yīng)?!边@個目標(biāo)的度量將會表達(dá)為由于更好的響應(yīng)帶來的營業(yè)額的增長,或顧客滿意度調(diào)查中分?jǐn)?shù)值的上升。24請?jiān)u價下面的這條業(yè)務(wù)目標(biāo)

目標(biāo):改進(jìn)我們進(jìn)行業(yè)務(wù)的方式。25保持跟蹤目標(biāo)在建立起產(chǎn)品的目標(biāo)后,需要保持項(xiàng)目朝著目標(biāo)在前進(jìn)。質(zhì)量關(guān)讓每項(xiàng)需求通過一系列的檢查。有一項(xiàng)檢查確保其相關(guān)性。產(chǎn)品的目標(biāo)說明被作為評判相關(guān)性的準(zhǔn)繩------如果需求不能以某種方式對目標(biāo)做出貢獻(xiàn),那么它就是無關(guān)的。當(dāng)需求分析師和用戶對工作和建議的產(chǎn)品進(jìn)行研究時,總是有可能忘記產(chǎn)品的目標(biāo)。隨著越來越多的需求被發(fā)現(xiàn),越來越多的令人興奮的功能被建議加入,有可能產(chǎn)品將不再能滿足最初的目標(biāo)了,因此最初期望的業(yè)務(wù)優(yōu)勢將不能實(shí)現(xiàn)。26誰為它付錢:客戶IceBreaker產(chǎn)品的客戶是MackAndrews先生,SaltworksSystems公司的首席執(zhí)行官,MackAndrews先生已經(jīng)同意為開發(fā)該產(chǎn)品投資,我們需要將這一點(diǎn)寫入需求規(guī)格說明書中:“該產(chǎn)品的客戶是MackAndrews先生,他是SaltworksSystems公司的首席執(zhí)行官。最終客戶會將該產(chǎn)品賣給其他國家的顧客。客戶說他一個人對批準(zhǔn)產(chǎn)品范圍的變化負(fù)責(zé)。“27誰為它付錢:客戶顧客:在產(chǎn)品開發(fā)完成后購買該產(chǎn)品。對IceBreaker來說,Northunmerland郡高速公路部門已經(jīng)同意作為產(chǎn)品的第一個用戶。說明書中如下:

“該產(chǎn)品的顧客是Northunmerland郡高速公路部門,主管JaneTorville是顧客代表?!?8誰為它付錢:客戶SaltworksSystems公司對IceBreaker項(xiàng)目抱有更大的期望。他們預(yù)計(jì),一個成功的除冰預(yù)報(bào)系統(tǒng)將可以賣給其他郡議會,如果在開發(fā)產(chǎn)品時抱有這種想法,那么需求規(guī)格說明書應(yīng)該包括一個附加的顧客。表述如下:

“該產(chǎn)品的潛在顧客包括英國所有的郡議會,需求規(guī)格說明書的一份小結(jié)將提供所有郡議會的高速公路部門管理者,目的是發(fā)現(xiàn)附加的需求?!?9誰為它付錢:客戶

“該產(chǎn)品的潛在顧客包括英國所有的郡議會,需求規(guī)格說明書的一份小結(jié)將提供所有郡議會的高速公路部門管理者,目的是發(fā)現(xiàn)附加的需求。”30顧客顧客應(yīng)該由一個風(fēng)險承擔(dān)者代表,積極參與項(xiàng)目開發(fā)。盡管可能存在很多用戶,但是需要有一個顧客代表。這可能是市場部門、來自用戶小組的一個代表、來自關(guān)鍵顧客一個高級用戶,或者是來自于我們組織內(nèi)部的領(lǐng)域?qū)<液鸵子眯詫<遥蛘呤瞧渌恍┤?。產(chǎn)品的實(shí)質(zhì)、組織結(jié)構(gòu)、顧客基礎(chǔ)和其他一些可能因素將決定誰將成為團(tuán)隊(duì)里的顧客代表?!皡⒖假Y料:最初的Vaisala除冰系統(tǒng)是在1996年為Cheshire郡議會開發(fā)的,產(chǎn)品的設(shè)計(jì)者是ThermalMappingInternational公司和計(jì)算機(jī)部門,該產(chǎn)品目前已在英國所有郡實(shí)施,并擁有超過100個海外顧客?!?1用戶:理解他們用戶是最終操縱您的產(chǎn)品的人。確定用戶的目的是讓您能理解他們所做的工作。對他們越了解,就越能開發(fā)出合適的產(chǎn)品。不同的用戶對產(chǎn)品將提出不同的需求??偸菚嬖诤芏嗟臐撛谟脩?,還有很多可能會被遺忘或沒有被注意到。簡易的方法是:對可能使用產(chǎn)品的人列一份清單------一份分類清單。作為一個起點(diǎn),列出人們將扮演的角色,這些角色與產(chǎn)品的關(guān)系。32風(fēng)險承擔(dān)者和顧問風(fēng)險承擔(dān)者是在產(chǎn)品中有既得利益的人------他們構(gòu)建產(chǎn)品、管理產(chǎn)品、使用產(chǎn)品或以某種方式受到產(chǎn)品用途的影響。風(fēng)險承擔(dān)者是對產(chǎn)品有一些要求的人,因此在需求收集活動中必須向他們咨詢。顧問是那些知道產(chǎn)品的一些需求的人,雖然產(chǎn)品不會影響到他們。首要的風(fēng)險承擔(dān)者是?

用戶、客戶和顧客33其他風(fēng)險承擔(dān)者管理者、業(yè)務(wù)主題相關(guān)者、開發(fā)者、檢查人員、市場力量、法律方面、反對者、專業(yè)團(tuán)體、公眾意見、政府、特殊利益團(tuán)體、技術(shù)專家、文化利益、相鄰系統(tǒng)342.客戶、顧客和其他風(fēng)險承擔(dān)者2a.客戶是為開發(fā)付費(fèi)的人,并將成為所提交產(chǎn)品的擁有者內(nèi)容:這一項(xiàng)必須給出客戶的姓名。有多個姓名是允許的,但是如果姓名超過三個,本項(xiàng)就會失去意義。動機(jī):客戶最終將接受該產(chǎn)品,因此必須對提交的產(chǎn)品滿意。如果產(chǎn)品是作為內(nèi)部使用來開發(fā)的,客戶和顧客的角色由相同的人來擔(dān)當(dāng)。如果您無法找到一個客戶的姓名,那么也許您就不應(yīng)該構(gòu)建該產(chǎn)品??紤]:當(dāng)為外部用戶構(gòu)建一個軟件包或產(chǎn)品時,有時客戶是市場部門。在這種情況下,來自于市場部門的一個人必須作為客戶,并記下姓名。352.客戶、顧客和其他風(fēng)險承擔(dān)者2b.顧客是將花錢購買該產(chǎn)品的人內(nèi)容:對內(nèi)部使用的開發(fā)來說,顧客就是最終將決定是否接受該產(chǎn)品的人,這通常是將部署該產(chǎn)品的部門經(jīng)理。給出此人的姓名。注意這可能與客戶相同。對于大量上市銷售的產(chǎn)品,顧客是那些將從貨架上購買產(chǎn)品的人。在這種情況下,應(yīng)該以足夠詳細(xì)的方式定義目標(biāo)顧客的特征,這樣需求分析師可以想象顧客并據(jù)此形成需求。請注意,對于某些大量上市銷售產(chǎn)品的開發(fā)工作來說,市場部門可能作為代理顧客,在這種情況下,應(yīng)該確保市場人員盡可能地像最終顧客一樣給出詳細(xì)的描述。動機(jī):顧客的角色將決定是否購買該產(chǎn)品,或是否部署它。構(gòu)建的產(chǎn)品必須滿足顧客的目標(biāo),同時也要滿足客戶的限制條件。即使您的顧客是工作在客戶組織中其他部門的人,他們還是有權(quán)決定用還是不用新產(chǎn)品。362.客戶、顧客和其他風(fēng)險承擔(dān)者2c.其他風(fēng)險承擔(dān)者內(nèi)容:其他一些人或組織的名稱,他們或者受到產(chǎn)品的影響,或者需要他們提供輸入信息以便構(gòu)建產(chǎn)品。例如:風(fēng)險承擔(dān)者可能包括:經(jīng)理或項(xiàng)目;業(yè)務(wù)主題方面的專家;技術(shù)人員;系統(tǒng)開發(fā)者;市場人員;產(chǎn)品經(jīng)理;測試和質(zhì)量保證人員;審查員,諸如安全審查人員或?qū)徲?jì)人員;律師;易用性專家;您所處行業(yè)的專業(yè)人員。同時也請檢查上下文范圍圖中每個相鄰系統(tǒng)。在您收集需求的活動中,可能需要有人對相鄰系統(tǒng)做一些講解。動機(jī):風(fēng)險承擔(dān)者對產(chǎn)品有要求。不能找齊所有的風(fēng)險承擔(dān)者會導(dǎo)致遺漏需求。373.產(chǎn)品的用戶3a.產(chǎn)品的用戶內(nèi)容:產(chǎn)品的潛在用戶或操作員的列表。針對每種類型的用戶提供以下信息:用戶分類——如學(xué)校里的兒童、公路工程師,項(xiàng)目經(jīng)理等;用戶工作的任務(wù)——總結(jié)用戶的職責(zé);主題相關(guān)的經(jīng)驗(yàn)——用戶在業(yè)務(wù)方面的知識。按照新手、熟練工或?qū)<襾碓u定;技術(shù)經(jīng)驗(yàn)——描述用戶在相關(guān)技術(shù)方面的經(jīng)驗(yàn),按照新手、熟練工或?qū)<襾碓u定。其他用戶特征——描述任何可能對產(chǎn)品需求和最終設(shè)計(jì)產(chǎn)生影響的其他特征。描述諸如以下問題:身體能力/障礙;智利能力/障礙;對工作的態(tài)度;對技術(shù)的態(tài)度;教育程度;語言技能;年齡段;性別等。383.產(chǎn)品的用戶3a.產(chǎn)品的用戶動機(jī):用戶是為了完成工作而與產(chǎn)品交互的人。您越了解用戶,就越可能提交適合用戶工作方式的產(chǎn)品,符合用戶的隱喻和偏好。當(dāng)您在確定產(chǎn)品的易用性需求時,應(yīng)該考慮這些對用戶的描述。例子:用戶的來源可能很廣,有時甚至想象不到。考慮您的用戶可能是辦公室職員、商店店員、經(jīng)理、接受過專門訓(xùn)練的操作員;普通公眾;隨意的用戶;過路人;文盲;手工藝人;學(xué)生;測試工程師;外國人;兒童;律師;遠(yuǎn)程用戶;用過電話線或因特網(wǎng)使用該產(chǎn)品的人,救險工作人員等,幾乎任何人都可以成為用戶。393.產(chǎn)品的用戶3b.對用戶設(shè)的優(yōu)先級內(nèi)容:在每類用戶后面附上一個優(yōu)先級,這區(qū)別了用戶的重要性和優(yōu)先地位。按以下優(yōu)先級劃分用戶:關(guān)鍵用戶——這些用戶是對產(chǎn)品的后續(xù)成功至關(guān)重要的。給由這類用戶提出的需求更高的優(yōu)先級;次要用戶——他們將使用該產(chǎn)品,但他們的意見對產(chǎn)品的長期成功并無影響。如果次要用戶的需求和關(guān)鍵用戶的需求發(fā)生沖突,應(yīng)該優(yōu)先考慮關(guān)鍵用戶的需求。不重要用戶——這類用戶的優(yōu)先級是最低的。這包括不常用的、未授權(quán)的和沒有技能的用戶,以及誤用了該產(chǎn)品的用戶。(這種類型的用戶所占的百分比,目的是評估對這類用戶要考慮多少)403.產(chǎn)品的用戶3b.對用戶設(shè)的優(yōu)先級動機(jī):如果認(rèn)為某些用戶對產(chǎn)品或組織更重要,那么應(yīng)該寫明,因?yàn)檫@會影響您設(shè)計(jì)該產(chǎn)品的方式。例如:您需要知道,是否有一個很大的顧客曾經(jīng)特別詢問過該產(chǎn)品,并且如果他們得不到想要的東西,結(jié)果會造成嚴(yán)重的業(yè)務(wù)損失。某些用戶可能被列為對產(chǎn)品沒有重要影響,這表示這些用戶會使用該產(chǎn)品,但在產(chǎn)品中的沒有被賦予利益。換言之,這些用戶不會抱怨,也不會對產(chǎn)品作出什么貢獻(xiàn)。來自于這些用戶的任何特殊需求都只有較低的設(shè)計(jì)優(yōu)先級。41需求限制條件解決方案限制條件項(xiàng)目限制條件424.需求限制條件4a.解決方案的限制條件內(nèi)容:此處明確了限制條件,它們規(guī)定了解決問題必須采取的方式。您可以認(rèn)為它們的指令性的解決方案。仔細(xì)描述該解決方案,以及測試是否符合的度量標(biāo)準(zhǔn)。如果可能,您應(yīng)該解釋使用該解決方案的原因。動機(jī):動機(jī)是確定必須成為最終產(chǎn)品一部分的限制條件。出于某些原因,您的客戶、顧客或用戶可能有一些設(shè)計(jì)偏好。如果不滿足這些偏好,您的解決方案將不會被接受。例子:“產(chǎn)品必須使用目前的雙向無線電系統(tǒng)與卡車中的駕駛員通信?!?、”產(chǎn)品必須使用WindowsNT操作系統(tǒng)”、”產(chǎn)品必須是一個手持設(shè)備?!?34.需求限制條件4a.解決方案的限制條件考慮:我們希望定義一個邊界,在此邊界范圍內(nèi)我們可以解決問題。請注意,任何人如果有在某項(xiàng)技術(shù)方面的經(jīng)驗(yàn),都會傾向于以該項(xiàng)技術(shù)的角度看需求。這種傾向性導(dǎo)致人們出于錯誤的原因強(qiáng)加一些解決方案限制條件,假定限制條件很容易就潛入到需求規(guī)格說明書中。如果您強(qiáng)加了一些限制條件,帶來的危險性就是您將失去得到問題的最佳解決方案的自由。解決方案限制條件應(yīng)該只限于那些絕對不可能商榷的解決方案。444.需求限制條件4b.實(shí)現(xiàn)環(huán)境。此處描述產(chǎn)品將被實(shí)施的技術(shù)環(huán)境和物理環(huán)境,包括自動的、機(jī)械的、組織的和其他設(shè)備。這包括了非人力相鄰系統(tǒng)。4c.伙伴應(yīng)用。此處描述那些不屬于產(chǎn)品的一部分的應(yīng)用程序,但產(chǎn)品必須與這些應(yīng)用程序協(xié)作。4d.商業(yè)上架銷售軟件。此處描述實(shí)現(xiàn)產(chǎn)品需求必需使用的COTS。4e.預(yù)期的工作場地環(huán)境。此處描述用戶工作和使用該產(chǎn)品的工作場地。此處描述任何可能對產(chǎn)品設(shè)計(jì)產(chǎn)生影響的工作場地特征。4f.開發(fā)者構(gòu)建該產(chǎn)品需要多長時間。最后期限或商業(yè)機(jī)會的時限。4g.該產(chǎn)品的財(cái)務(wù)預(yù)算是多少。以金錢的形式或可得資源的形式說明。45詞匯表------數(shù)據(jù)字典的基礎(chǔ)名稱很重要。在啟動會議上開始收集并記錄項(xiàng)目將用到的一些名稱。每個項(xiàng)目或產(chǎn)品都有一些特別的名稱。這些是我們需要捕獲的術(shù)語,同時也要得到它們公認(rèn)的含義。當(dāng)沒有一個集中的詞匯表時,我們總是會吃驚地發(fā)現(xiàn)將導(dǎo)致多少錯誤。我們也發(fā)現(xiàn)好的名稱對交流思想是很有效的。這方面花一些功夫是值得的,這將保證今后在項(xiàng)目中能順利地進(jìn)行溝通。將來的詳細(xì)系統(tǒng)分析將用這些詞匯作為基礎(chǔ)來形成完整的數(shù)據(jù)字典。46詞匯表請對IceBreaker項(xiàng)目中的“氣象站”一詞進(jìn)行定義。47詞匯表“氣象站”:一組硬件,能夠收集并傳遞道路溫度、空氣溫度、濕度和降水量數(shù)據(jù)。氣象站在Northumberland郡安裝了八處。485.命名標(biāo)準(zhǔn)和定義定義項(xiàng)目中使用到的所有術(shù)語,包括同義詞。內(nèi)容:一個字典,包括在需求規(guī)格說明書中使用的所有名稱的含義。這個字典應(yīng)該使用您的組織或行業(yè)使用的標(biāo)準(zhǔn)名稱。這些名稱也應(yīng)該反映出在工作領(lǐng)域中當(dāng)前使用的術(shù)語。該字典包括項(xiàng)目中用到的所有重要名稱。請仔細(xì)地選擇名稱,以避免傳達(dá)不同的、不期望的含義。為每個名字寫下簡明扼要的定義,這些定義必須經(jīng)過相應(yīng)的風(fēng)險承擔(dān)者同意。動機(jī):名稱十分重要,它們能反映含義。如果定義得好,可以省掉數(shù)小時的解釋。在項(xiàng)目的這個階段注意名稱將有助于盡早澄清誤解。在需求階段得到的字典將在整個項(xiàng)目中使用并不斷補(bǔ)充。例子:除冰卡車——在冬季,將除冰物質(zhì)散布到道路上的運(yùn)輸工具49ATM案例的數(shù)據(jù)詞典(供參考):賬戶:某銀行的單個賬戶,交易要依靠賬戶來進(jìn)行。賬戶可以有許多不同的種類,例如經(jīng)常賬戶和儲蓄賬戶。一個客戶可以持有多個賬戶。ATM:允許客戶使用現(xiàn)金卡作為身份證明來進(jìn)行交易的柜臺。ATM與客戶進(jìn)行交互,收集交易信息,給中心計(jì)算機(jī)發(fā)送交易信息進(jìn)行校驗(yàn)和處理,給用戶支付現(xiàn)金。我們假定ATM不需要獨(dú)立于網(wǎng)絡(luò)運(yùn)轉(zhuǎn)。銀行:擁有客戶賬戶的金融機(jī)構(gòu),發(fā)放現(xiàn)金卡,通過ATM網(wǎng)絡(luò)授權(quán)訪問帳戶。50設(shè)定范圍我們設(shè)定范圍的方法是把一塊工作(我們要研究的工作)與另一些工作(圍繞我們的工作)分開。記住,你碰到的任何一項(xiàng)工作都或多或少與其他的工作有聯(lián)系。51設(shè)定范圍為了確定何處是一項(xiàng)工作的結(jié)束,另一項(xiàng)工作開始的地方,請考慮工作職責(zé)。也就是說,我的這部分工作要負(fù)責(zé)得到什么,相鄰的工作要負(fù)責(zé)接收什么。我的工作需要從相鄰的工作得到什么才能開始自己的職責(zé)?(如下頁圖示)52影響范圍設(shè)定的因素:產(chǎn)品目標(biāo)和其他限制條件設(shè)定工作的范圍意味著決定在確定產(chǎn)品的需求之前有多少工作要研究。當(dāng)考慮哪部分是本產(chǎn)品的工作,哪部分是其他工作時,請牢記產(chǎn)品的目標(biāo)。它限制了哪些應(yīng)該是我們的工作范圍之內(nèi)的,哪些放在工作范圍之外是安全的。但必須確保在工作范圍之內(nèi)的工作足夠滿足產(chǎn)品的目標(biāo)??傻玫降念A(yù)算和允許的開發(fā)時間也會影響項(xiàng)目的范圍。53影響范圍設(shè)定的因素:感興趣的領(lǐng)域感興趣的領(lǐng)域是與主題相關(guān)的領(lǐng)域。我們要研究的工作來自于一個主題或多個主題。根據(jù)本項(xiàng)目的背景描述,請找出該項(xiàng)目涉及的領(lǐng)域。54背景描述“道路在冬季結(jié)冰,這種結(jié)冰路面將引發(fā)道路交通事故,使人喪生。我們需要能夠預(yù)測何時道路可能結(jié)冰,然后我們的車路可以及時調(diào)度除冰卡車來防止道路結(jié)冰。除了氣象預(yù)報(bào)之外,可以使用地區(qū)的熱象圖和安裝在道路上的氣象儀發(fā)出的道路溫度數(shù)據(jù),我們希望新的系統(tǒng)能提供更精確的冰情預(yù)報(bào)。這將使我們能比現(xiàn)在更及時地進(jìn)行除冰處理,從而減少道路交通事故。我們也希望能消除對道路不加選擇的處理,因?yàn)槟菢訒速M(fèi)除冰化合物,并破壞環(huán)境。”55設(shè)定工作上下文范圍工作上下文范圍定義了我們要研究的工作,以及工作周圍的其他系統(tǒng)??梢园阉胂蟪伞澳墓ぷ髀氊?zé)是什么?其他人的工作職責(zé)是什么?”我們通過創(chuàng)建上下文范圍的模型來展示這種指責(zé)上的劃分,上下文范圍模型表現(xiàn)了工作和與之相連的工作56設(shè)定工作上下文范圍讓我們從相鄰系統(tǒng)看起,它們是圍繞在我們的工作周圍的一些工作。它們可以從產(chǎn)品的目的、背景信息和感興趣的領(lǐng)域推導(dǎo)出來。針對每個領(lǐng)域,問以下問題:是否存在一個物理實(shí)體代表這個領(lǐng)域?這個領(lǐng)域提供數(shù)據(jù)或政策,還是都提供?我將從何處得到關(guān)于該領(lǐng)域的信息?578.產(chǎn)品的范圍內(nèi)容:上下文范圍圖確定了為了構(gòu)建該產(chǎn)品您需要調(diào)查的工作。請注意這包括的范圍超出了目標(biāo)產(chǎn)品。如果我們不了解產(chǎn)品將支持的工作,就很少有機(jī)會構(gòu)建能與它的環(huán)境無縫集成的產(chǎn)品。上下文范圍圖說明了需要理解的其他主題相關(guān)的領(lǐng)域(系統(tǒng)、人和組織)。相鄰系統(tǒng)與工作上下文范圍之間的接口說明了為什么我們對相鄰系統(tǒng)有興趣。動機(jī):動機(jī)是清楚地定義我們打算研究的工作的邊界。工作活動與相鄰系統(tǒng)之間的信息流精確地定義了工作系統(tǒng)的職責(zé)和相鄰系統(tǒng)的職責(zé)。58卡車車庫預(yù)測和調(diào)度道路除冰的工作氣象站氣象預(yù)報(bào)局道路工程熱像圖提供者59該產(chǎn)品的成本會是多少?在這個階段上下文范圍內(nèi)已經(jīng)提供了相當(dāng)多的可度量的方面,因此沒有理由不進(jìn)行度量。度量的要點(diǎn)是理解工作的大小。盡管這個階段還不知道精確的產(chǎn)品邊界,但是度量工作可以讓你對任務(wù)大小有個了解,以決定是否要進(jìn)行該項(xiàng)目。如果連基本的度量工作都不做,那么任何預(yù)測必定是建立在猜測的基礎(chǔ)之上。60風(fēng)險您知道問題有可能會發(fā)生,那么為什么不注意它們?一些破壞性最大的風(fēng)險:不準(zhǔn)確的度量標(biāo)準(zhǔn);測量工作做得不夠;過重的時間進(jìn)度壓力;管理層玩忽職守;不準(zhǔn)確的費(fèi)用估計(jì);銀彈綜合癥;蔓延的用戶需求;低質(zhì)量;低生產(chǎn)效率;61風(fēng)險可能與本階段最有關(guān)系的是需求相關(guān)的風(fēng)險。例如:產(chǎn)品沒有清晰和可度量的目標(biāo);缺少客戶參與;缺少風(fēng)險承擔(dān)者參與;在需求上很少或不能達(dá)成一致;需求蔓延;鍍金需求;沒有需求對應(yīng)的度量方式;快速變化的需求;需求變更控制不夠;新進(jìn)入未知的業(yè)務(wù),需求不確定。62繼續(xù)還是終止?在啟動會議階段得到的提交產(chǎn)物為評估項(xiàng)目的可行性提供了基礎(chǔ)??紤]以下問題,決定是否終止。產(chǎn)品的目標(biāo)清楚嗎?目標(biāo)是可度量的,可行的嗎?有可能達(dá)到項(xiàng)目的目標(biāo)嗎?能就工作的上下文范圍取得一致同意的意見嗎?高可能性、后果嚴(yán)重的風(fēng)險是否讓項(xiàng)目變得不可行?考慮產(chǎn)品帶來的好處,它的費(fèi)用是否合理?風(fēng)險承擔(dān)者愿意參與嗎?是否有足夠的理由投資該項(xiàng)目?是否有足夠的理由不投資該項(xiàng)目?在按下項(xiàng)目的啟動的按鈕之前,還需要進(jìn)行進(jìn)一步的調(diào)查嗎?63啟動會議替代方案您不必一定要舉行一個會議,但您需要知道會議要提交的那些事實(shí)。64小結(jié)項(xiàng)目啟動階段是一個了解認(rèn)知的過程。了解項(xiàng)目的限制條件。啟動階段提供了知識。啟動階段提交的產(chǎn)物作為后續(xù)活動的輸入信息,它們非常有價值。65用例------需求獲取的有效方法66建模公式67整個軟件過程就是用例驅(qū)動的。用例驅(qū)動軟件生產(chǎn)過程是非常有道理的。要解決問題領(lǐng)域就要?dú)w納出所有必要的抽象角度(用例),為這些用例描述可能的特定場景,并找到實(shí)現(xiàn)這些場景的事物、規(guī)則、行為。再換個說法,如果我們找到的那些事物、規(guī)則、行為實(shí)現(xiàn)了所有必要的用例,那么問題領(lǐng)域就解決了??傊?,實(shí)現(xiàn)用例是必須做的工作,一旦用例實(shí)現(xiàn)了,問題領(lǐng)域就解決了。這就是用例驅(qū)動方法的原理。用例驅(qū)動68只見樹木不見森林。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。UML。。。。。。。。。。。。。。。。。。。。。。。。(建模)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。69。。。。。。。。。。。。。。。。。。。UML。。。。。。。。。。。。。。。。。。。系統(tǒng)軟件過程站在軟件過程的角度70為什么需要UML?提到UML我們必須先搞清楚一個問題……71你贊同以下哪幾種說法?面向?qū)ο笫乾F(xiàn)代科學(xué)發(fā)展到一定程度才出現(xiàn)的研究成果;面向過程和面向?qū)ο蠖际且环N軟件技術(shù);面向過程和面向?qū)ο笫且粋€古已有之的認(rèn)識論的問題;世界的本質(zhì)是由對象組成的,平時看上去相互無關(guān)的獨(dú)立對象在不同的驅(qū)動力下和規(guī)則下體現(xiàn)出不同的運(yùn)動過程;世界的一切都不是孤立的,它們相互緊密聯(lián)系在一起,缺一不可,相互影響,相互作用,并形成一個個具有嚴(yán)格因果律的小系統(tǒng),而更小的系統(tǒng)組成了更大的系統(tǒng),所有小系統(tǒng)之間的聯(lián)系也是緊密不可分割的。面向?qū)ο蠓椒ň哂懈鼜?qiáng)大的抽象能力。UML是面向?qū)ο蠓椒ǖ木唧w化和符號。學(xué)習(xí)UML的過程就是掌握面向?qū)ο笏枷牒头椒ǖ倪^程。相對學(xué)習(xí)UML符號而言掌握它們背后的方法和思想是更為重要的;面向過程和面向?qū)ο蠖际侨藗冋J(rèn)識世界的方法。面向?qū)ο缶褪侵甘褂靡幌盗忻嫦驅(qū)ο蟪绦蛟O(shè)計(jì)語言的軟件開發(fā)方法。72。。。。。。。。。。。。。。。。。。。UML。。。。。。。。。。。。。。。。。。。系統(tǒng)面向?qū)ο筮€是面向過程?軟件過程73什么是面向?qū)ο?(ObjectOriented,簡稱OO)

面向?qū)ο筌浖_發(fā)方法描述和理解問題域的基本思想是,對問題域進(jìn)行自然分割,以更接近人類思維的方式建立問題域模型,從而使生產(chǎn)出的軟件盡可能直接地描述現(xiàn)實(shí)世界,具有更好的可維護(hù)性,能適應(yīng)用戶需求的變化。74什么是面向?qū)ο?(ObjectOriented,簡稱OO)面向?qū)ο蠼Ec設(shè)計(jì)是使用真實(shí)世界的概念模型來思考問題的一種方法。其基本元素是“對象”。

對象既包含數(shù)據(jù)結(jié)構(gòu),又包含行為。對于理解問題、與應(yīng)用領(lǐng)域?qū)<医涣?、建模企業(yè)級應(yīng)用、編寫文檔、設(shè)計(jì)程序和數(shù)據(jù)庫來說,面向?qū)ο竽P投挤浅S杏谩?5什么是面向?qū)ο?(ObjectOriented,簡稱OO)對于軟件來說,面向?qū)ο筮@個術(shù)語的意思是,把軟件組織成一系列離散的、合并了數(shù)據(jù)結(jié)構(gòu)和行為的對象。

76OO方法的幾個特征

1.標(biāo)識:意指數(shù)據(jù)被量化成稱為對象(object)的離散的、可辨識的實(shí)體。

在真實(shí)世界中,對象只是一種簡單的存在,但在編程語言中,每個對象都有一個唯一的句柄,借助這個句柄就可以引用對象。

77OO方法的幾個特征

2.分類:指的是有著相同的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象被分組為一個類。

類(class)是什么?答:A)是一種抽象;B)是單個對象組成的無限集合;

78每個對象都是該類的一個實(shí)例(instance)

自行車對象

抽象成-自行車類Mike的自行車屬性Brian的自行車車架尺寸Mary的自行車車輪尺寸……齒輪數(shù)材料操作變速移動修理79再一個例子

多邊形對象

抽象成-多邊形類屬性頂點(diǎn)邊界顏色填充顏色

操作繪制擦除移動80OO方法的幾個特征

3.繼承:指的是多個類基于一種分層關(guān)系,共享類間屬性和操作(合稱特征)。父類(super-class)擁有子類(subclass)要精煉和詳細(xì)指定的通用信息。子類不需要重復(fù)其父類的特征。

81OO方法的幾個特征

4.多態(tài):是指對于不同的類來說,相同的操作會有不同的動作。操作是對象執(zhí)行或被執(zhí)行的一個過程或轉(zhuǎn)換。

82OO主題

有幾個主題在OO方法中無處不在。盡管這幾個主題并不是OO系統(tǒng)所特有的,但OO系統(tǒng)對他們的支持卻極為出色。83OO主題---1.抽象抽象(abstraction)使我們可以專注于應(yīng)用程序最本質(zhì)的那些方面,同時忽略細(xì)節(jié)。這意味著在確定如何實(shí)現(xiàn)功能之前,要先關(guān)注對象是什么,做了什么。使用抽象機(jī)制,可以避免不成熟的細(xì)節(jié)承諾。對于OO開發(fā)來說,抽象的能力是最重要的一項(xiàng)技能。84OO主題---2.封裝封裝(encapsulation)將對象的外部因素(可以被其他對象訪問)與內(nèi)部實(shí)現(xiàn)細(xì)節(jié)(其他對象不可見)分離開來。封裝阻止程序的組成部分過于依賴,如果那樣的話,很小的變化也會引起巨大的漣漪效應(yīng)。

封裝不是OO語言所特有的,但將數(shù)據(jù)結(jié)構(gòu)和行為組織在一個實(shí)體中,這樣的封裝比以前的語言---例如Fortran、Cobol和C更干凈、更有力。85OO主題---3.共享

OO方法有利于不同層次上的共享。繼承數(shù)據(jù)結(jié)構(gòu)和行為使得子類可以共享通用代碼。通過繼承完成共享是OO語言的一個主要的優(yōu)點(diǎn)。比節(jié)省代碼量更重要的是概念的清晰性,認(rèn)識到不同的操作實(shí)行的實(shí)際上都是相同的事。這樣就減少了必須理解和分析的不同情形的數(shù)量。86OO主題---4.強(qiáng)調(diào)對象的本質(zhì)

OO方法強(qiáng)調(diào)對象是什么,而不是如何使用它。對象的用法依賴于應(yīng)用程序的細(xì)節(jié),經(jīng)常會在開發(fā)過程中發(fā)生變化。隨著需求的演化,對象提供的特征會比使用它的方法來得更加穩(wěn)定,因此,構(gòu)建在對象結(jié)構(gòu)上的軟件系統(tǒng)最終也會比較穩(wěn)定。與功能分解方法學(xué)相比,OO開發(fā)在數(shù)據(jù)結(jié)構(gòu)上投入了較大精力,而較少關(guān)注過程結(jié)構(gòu)。87OO主題---5.協(xié)同(synergy)標(biāo)識、分類、多態(tài)和繼承都是OO語言的特色。這些概念中的每一個都可以分開使用,但結(jié)合在一起,它們就會互相促進(jìn),互為補(bǔ)充。強(qiáng)調(diào)對象的基本特性會迫使開發(fā)者更加仔細(xì)和深入地思考對象是什么,做了些什么。這與關(guān)注重心只在數(shù)據(jù)和操作上的用法相比,前者所生成的最終系統(tǒng)會更加干凈、更加通用和更加健壯。88關(guān)于OO開發(fā)有效性的證據(jù)

OO開發(fā)工作開始于GE研發(fā)中心的內(nèi)部應(yīng)用程序。開發(fā)者用OO來開發(fā)編譯器、圖形、用戶界面、數(shù)據(jù)庫、oo語言、CAD系統(tǒng)、元模型、控制系統(tǒng)以及其他一些應(yīng)用。OO模型還被用于評述結(jié)構(gòu)不良、難以理解的程序。

自從20世紀(jì)90年代中期以來,OO從GE擴(kuò)展到了全世界?,F(xiàn)在,OO不能被認(rèn)為是一種時髦的或是一種純理論的方法了,它已經(jīng)是計(jì)算機(jī)科學(xué)和軟件工程的主流。89抽象層次是面向?qū)ο蠓椒ㄖ袠O其重要且非常難以把握的技巧;要想建立好模型,就需學(xué)會站在不同的抽象層次考慮問題。抽象層次越高,被屏蔽(或者說封裝)的信息也就越多,信息量越少也就越容易理解和處理。抽象層次90統(tǒng)一過程一般抽象層次91什么時候選擇什么樣的層次以及總共抽象多少層?------用例粒度抽象層次與邊界的選擇總是相生相伴------邊界抽象層次相關(guān)的問題92視圖是UML建模中另一個非常重要的概念;視圖用于組織UML元素,表達(dá)出模型某一方面的含義,視圖的準(zhǔn)確應(yīng)用是建立好模型的一個重要組成部分;目標(biāo)對象的每一個屬性都是它的一個視圖。例如:汽車的大小、重量、外觀、性能、安全等。只有將必要的方面都用視圖展現(xiàn)出來,觀察者才會真正理解這個事物。UML里定義了用例圖、類圖、對象圖、包圖、活動圖等不同的視圖。何謂視圖?93觀察者會抱怨視圖給出的信息不是很清晰;希望從更多的角度來查看事物的信息。這就引出了視圖中另一個被很多人忽視的概念------

視角給出事物所有屬性的視圖就足夠了嗎?94不同的人或者同一個人出于不同的目的會對同一個信息從不同的角度來審視和評估;不同的角度展示了同樣信息的不同認(rèn)知角度以便于理解。例如:汽車的外觀視圖。視角:是人們觀察事物的角度95適當(dāng)?shù)囊暯墙o適當(dāng)?shù)娜?。軟件干系人很多,有客戶、系統(tǒng)分析員、架構(gòu)師、設(shè)計(jì)師、開發(fā)人員、測試人員、項(xiàng)目經(jīng)理等,他們對同樣信息的審視角度是不同的。錯誤的選擇視角常常導(dǎo)致需求改來改去難以確定。恰當(dāng)?shù)囊暯?6為特定的信息選擇正確的視圖;為特定的干系人展示正確的視角。也就是要經(jīng)常思考下面兩個問題:應(yīng)該為哪些軟件信息繪制哪些視圖?應(yīng)該為哪些干系人展示哪些視角?視圖和視角對建立一個好的模型很重要97一切都是對象;對象都是獨(dú)立的;對象都具有原子性;對象都是可抽象的;對象都有層次性。對象分析方法98對象的獨(dú)立性99對象分析方法總結(jié)100構(gòu)造類型(stereotype)參與者用例邊界業(yè)務(wù)實(shí)體包分析類設(shè)計(jì)類關(guān)系組件節(jié)點(diǎn)UML核心元素101構(gòu)造類型(stereotype):也稱為版型、類型。概念:是對一個UML元素基礎(chǔ)定義的擴(kuò)展,在同一個元素基礎(chǔ)定義的基礎(chǔ)上賦予特別的含義,使得這個元素適用于特定的場合。例如:用例的構(gòu)造類型有“業(yè)務(wù)用例”、“業(yè)務(wù)用例實(shí)現(xiàn)”等;“類”有“邊界類”、“實(shí)體類”、“控制類”等。意義:構(gòu)造類型只是UML的一種擴(kuò)展手段,是在建模的不同階段區(qū)分視圖的不同點(diǎn)。例如:“業(yè)務(wù)用例”就是專門應(yīng)用在業(yè)務(wù)建模場合的。構(gòu)造類型也可以自己定義。UML核心元素1022.參與者(actor):定義:actor是在系統(tǒng)之外與系統(tǒng)交互的某人或某事物。如圖所示:UML核心元素參與者位于邊界之外;參與者可以非人。103發(fā)現(xiàn)參與者:參與者的一個重要來源是涉眾,從涉眾中找出那些直接對系統(tǒng)發(fā)出動作,或直接從系統(tǒng)中接收反饋的涉眾。在查找參與者的過程中,可以詢問以下問題以幫助確定參與者:誰負(fù)責(zé)提供、使用或刪除信息?誰將使用此功能?誰對某個特定功能感興趣?在

溫馨提示

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

最新文檔

評論

0/150

提交評論