第六章 需求分析與建模最佳實(shí)踐

6.1 需求分析建模的要點(diǎn)與誤區(qū)

6.1.1 需求分析到底做什么

需求分析的任務(wù)不是分析系統(tǒng)如何實(shí)現(xiàn)用戶(hù)的需要镰官,而是對(duì)業(yè)務(wù)分析,形成一個(gè)體系完整,內(nèi)容清晰的業(yè)務(wù)框架眷细,以指導(dǎo)后續(xù)的設(shè)計(jì)開(kāi)發(fā)工作。

需求分析就是先分解鹃祖,再提煉溪椎,在這個(gè)過(guò)程中消除矛盾。

6.1.1.1 分解

現(xiàn)代需求工程理論更建議采用業(yè)務(wù)導(dǎo)向分解恬口,而非傳統(tǒng)的系統(tǒng)導(dǎo)向分解校读。

》業(yè)務(wù)流程為線索的分解結(jié)構(gòu)

這種結(jié)構(gòu)是以業(yè)務(wù)流程為主線索,對(duì)于聯(lián)機(jī)事務(wù)處理系統(tǒng)祖能,管理信息系統(tǒng)而言都是非常適用的方法歉秫。

》程序結(jié)構(gòu)為線索的分解結(jié)構(gòu)

這種分解結(jié)構(gòu)過(guò)早的進(jìn)入了程序結(jié)構(gòu),割裂了與問(wèn)題域之間的聯(lián)系芯杀,從醫(yī)導(dǎo)致對(duì)問(wèn)題研究不足的情況端考,從而降低需求質(zhì)量,增加變更風(fēng)險(xiǎn)揭厚。這種結(jié)構(gòu)適用于問(wèn)題不復(fù)雜却特,系統(tǒng)與問(wèn)題關(guān)聯(lián)性不強(qiáng)的情況,例如工具軟件筛圆,面向設(shè)備的系統(tǒng)等裂明。

》基于場(chǎng)景的分解結(jié)構(gòu)

對(duì)于決策支持系統(tǒng),面向用戶(hù)的嵌入式系統(tǒng)太援,就比較適合使用場(chǎng)景作為線索闽晦。這些場(chǎng)景向上可以總結(jié)成一系列關(guān)注點(diǎn)或功能域,向下可以分解成具體的決策步驟提岔。

》基于數(shù)據(jù)的分解結(jié)構(gòu)

》小結(jié)

選擇了合適的分解結(jié)構(gòu)之后仙蛉,就可以按其線索把需求規(guī)格說(shuō)明書(shū)大綱確定下來(lái)了,就知道應(yīng)該捕獲什么信息了碱蒙,信息捕獲回來(lái)之后就將其填充到大綱里荠瘪,并不斷驗(yàn)證。

6.1.1.2 提煉

分解是一種自頂向下的方法赛惩,按任何一種線索分解哀墓,都會(huì)破壞其他線索的完整性。所以還需要自底向上的方法進(jìn)行提煉喷兼,抽取出共性的部分篮绰,建立針對(duì)全局的領(lǐng)域模型。

6.1.1.3 消除矛盾

6.1.2 建模的目標(biāo)和要點(diǎn)

建模的過(guò)程比結(jié)果重要季惯。

建模是需求分析的主要手段吠各。但如果為了建模而建模臀突,它就會(huì)變成一個(gè)問(wèn)題,導(dǎo)致華而不實(shí)贾漏,造成溝通障礙惧辈。

6.1.2.1 建模的目的

建模的好處在于更好地理解正在開(kāi)發(fā)的系統(tǒng)。建模的目的在于幫助我們按照需要的樣式對(duì)系統(tǒng)進(jìn)行可視化磕瓷,提供一種詳細(xì)說(shuō)明系統(tǒng)的結(jié)構(gòu)或行為的方法盒齿,給出一個(gè)指導(dǎo)系統(tǒng)構(gòu)造的模板,對(duì)我們所做出的決策進(jìn)行文檔化困食。

6.1.2.3 建模的要點(diǎn)與原則

要點(diǎn):設(shè)計(jì)要文檔化边翁;用可視化的模型表達(dá)架構(gòu);不要為了建模而建模硕盹,如果模型不能對(duì)系統(tǒng)的構(gòu)建起到幫助作用符匾,那么就是一種人力資源的浪費(fèi)。

模型是用來(lái)溝通的瘩例,因此僅當(dāng)需要的時(shí)候才構(gòu)建模型啊胶。

6.1.3 選擇建模工具的要點(diǎn)

6.1.3.1 正確認(rèn)識(shí)建模方法論

建模的要點(diǎn)是根據(jù)要完成的任務(wù),選擇合適的建模工具垛贤。

6.1.3.2 正確認(rèn)識(shí)UML

》UML的發(fā)展歷史

》UML的準(zhǔn)確理解

》為什么要用UML建模

》如何選擇UML圖

6.2 周期一:理清框架與脈絡(luò)

任務(wù):理清需求的結(jié)構(gòu)框架(領(lǐng)域類(lèi)圖)焰坪,行為脈絡(luò)(流程圖和用例圖)。

輸入:需求定義階段產(chǎn)生的業(yè)務(wù)時(shí)間列表和報(bào)表列表聘惦。

輸出:領(lǐng)域模型和用例模型某饰。

該任務(wù)對(duì)應(yīng)于RUP中細(xì)化階段的第一次迭代,該階段的結(jié)束標(biāo)志是標(biāo)識(shí)除了絕大部分用例善绎,生成了領(lǐng)域模型黔漂。

6.2.1 業(yè)務(wù)流程分析

每個(gè)業(yè)務(wù)事件都是流程的觸發(fā),因此針對(duì)每個(gè)事件都應(yīng)該繼續(xù)做流程分析禀酱。不過(guò)根據(jù)流程的復(fù)雜度作出裁剪炬守,簡(jiǎn)單的流程可以只用文本描述,復(fù)雜的流程可以通過(guò)流程圖表示剂跟。

6.2.1.1 業(yè)務(wù)流程分析任務(wù)概述

業(yè)務(wù)流程分析减途,具體來(lái)說(shuō)就是識(shí)別,分析現(xiàn)有業(yè)務(wù)活動(dòng)浩聋,確定活動(dòng)之間的關(guān)系观蜗,了解活動(dòng)需要接受哪些信息臊恋,產(chǎn)生哪些數(shù)據(jù)衣洁,確定數(shù)據(jù)傳輸路線,標(biāo)識(shí)出活動(dòng)是由哪些部門(mén)抖仅,崗位負(fù)責(zé)坊夫。

分析過(guò)程中砖第,要注意抓住核心業(yè)務(wù)和主要活動(dòng)點(diǎn),部門(mén)之間的銜接环凿,工作中繁瑣梧兼,反復(fù),成本高智听,效率低羽杰,時(shí)間長(zhǎng),轉(zhuǎn)手多的活動(dòng)到推。

6.2.1.2 業(yè)務(wù)流程分析與流程管理理論的關(guān)系

業(yè)務(wù)流程是對(duì)信息系統(tǒng)進(jìn)行庖丁解牛的核心線索考赛。

》流程的六大特性:目標(biāo)性,內(nèi)在性莉测,整體性颜骤,動(dòng)態(tài)性,層次性捣卤,結(jié)構(gòu)性忍抽。

》工作流實(shí)現(xiàn)的本質(zhì)

》流程設(shè)計(jì)(BPD)的原則

1 流程應(yīng)該以產(chǎn)出為中心,而非任務(wù)為中心董朝。

2 讓需要得到流程產(chǎn)出的人自己執(zhí)行流程鸠项。一方面現(xiàn)在流程設(shè)計(jì)經(jīng)常引入自助的概念;第二個(gè)方面是任務(wù)應(yīng)該由誰(shuí)來(lái)執(zhí)行可以參照這一原則子姜。

3 將決策權(quán)放到更低的管理職位上锈锤,這樣會(huì)得到更高的效率。在需求分析時(shí)闲询,如果發(fā)現(xiàn)流程的決策點(diǎn)在較高的管理崗位上久免,就應(yīng)該注意它經(jīng)常會(huì)帶來(lái)執(zhí)行上的瓶頸,也就會(huì)影響系統(tǒng)的正常運(yùn)作扭弧。

4 流程多樣化阎姥。因?yàn)閳?chǎng)景不同,同一個(gè)業(yè)務(wù)事件可能會(huì)執(zhí)行不同的流程鸽捻,在系統(tǒng)開(kāi)發(fā)時(shí)呼巴,應(yīng)該充分考慮到。

5 單點(diǎn)接觸客戶(hù)御蒲。這一點(diǎn)充分體現(xiàn)了流程對(duì)外部客戶(hù)滿(mǎn)意度的關(guān)注衣赶,也是未來(lái)流程變化的一個(gè)常見(jiàn)趨勢(shì)。

》流程改進(jìn)(BPR)的ESIA策略

ESIA就是清除低效環(huán)節(jié)(E)厚满,簡(jiǎn)化瓶頸點(diǎn)(S)府瞄,整合資源(I),繁瑣任務(wù)自動(dòng)化(A)碘箍。

這些因素就是導(dǎo)致流程發(fā)生變化的主要原因遵馆。

6.2.1.3 業(yè)務(wù)流程分析的要點(diǎn)與產(chǎn)物

在進(jìn)行業(yè)務(wù)流程分析時(shí)鲸郊,有幾個(gè)關(guān)鍵點(diǎn):

》流程是有層次的

部門(mén)級(jí)是需求分析的主線索,崗位級(jí)是需求細(xì)節(jié)填充時(shí)的工作內(nèi)容货邓,組織級(jí)是對(duì)部門(mén)級(jí)流程的抽象概括秆撮。

》流程是有類(lèi)型的

主要類(lèi)型包括:

生產(chǎn)性流程:是流程中最重要的部分,通常也最容易標(biāo)識(shí)换况。

管理型流程:是對(duì)生產(chǎn)性流程的管控职辨,對(duì)質(zhì)量效率進(jìn)度等進(jìn)行控制的流程,容易忽略戈二。

支撐性流程:是對(duì)生產(chǎn)性流程的補(bǔ)充拨匆,通常是協(xié)作部門(mén),本部門(mén)員工執(zhí)行挽拂,也是容易丟失的部分惭每。

》流程分析的產(chǎn)物

應(yīng)該盡可能地使用模型來(lái)描述流程。最常使用的有三種:跨職責(zé)流程圖亏栈,活動(dòng)圖和數(shù)據(jù)流圖台腥。

跨職責(zé)流程圖:強(qiáng)調(diào)業(yè)務(wù)背景。Visio是最佳工具绒北。

活動(dòng)圖:強(qiáng)調(diào)對(duì)軟件開(kāi)發(fā)的指導(dǎo)黎侈。Rose,Together都是最佳工具之一闷游。

數(shù)據(jù)流圖:強(qiáng)調(diào)數(shù)據(jù)的流通加工和處理峻汉。Visio是最佳工具。

6.2.1.4 跨職責(zé)流程圖應(yīng)用基礎(chǔ)與要點(diǎn)

》元素

流程名稱(chēng)脐往,職責(zé)帶區(qū)休吠,流程階段,流程元素业簿。

》繪制要點(diǎn)

要保障繪制出來(lái)的流程圖是真實(shí)有效的瘤礁,就必須要強(qiáng)化用戶(hù)參與。

要善于梅尤,敢于拋棄細(xì)節(jié)柜思,不要過(guò)早鉆研到業(yè)務(wù)活動(dòng)的具體步驟中。

要拋棄一次成型的思路巷燥,使用迭代的方式赡盘,畫(huà)草搞,談問(wèn)題缰揪,改草搞陨享,再討論,再修正,直到達(dá)成共識(shí)霉咨。

所有職責(zé)帶區(qū)上的活動(dòng)都細(xì)化到具體的崗位。

每個(gè)活動(dòng)之間的關(guān)系都已經(jīng)沒(méi)有疑問(wèn)拍屑,都達(dá)成共識(shí)途戒。

6.2.1.5 活動(dòng)圖應(yīng)用基礎(chǔ)與要點(diǎn)

活動(dòng)圖就是可以支持并行行為的流程圖。

在完成活動(dòng)圖或跨職責(zé)流程圖之后僵驰,還需要注意:

》進(jìn)行瓶頸分析喷斋。

》進(jìn)行利益分析。

當(dāng)流程圖繪制完成之后蒜茴,花些時(shí)間進(jìn)行瓶頸和利益分析星爪,會(huì)有意想不到的收獲。

6.2.1.6 數(shù)據(jù)流圖應(yīng)用基礎(chǔ)

對(duì)于數(shù)據(jù)流為主線索的處理過(guò)程非常合適粉私。

》主要元素

》分層的數(shù)據(jù)流圖

6.2.2 業(yè)務(wù)實(shí)體分析

具體來(lái)說(shuō)顽腾,就是要了解這個(gè)問(wèn)題域中有哪些業(yè)務(wù)實(shí)體,它們之間存在什么樣的邏輯關(guān)系诺核,數(shù)量關(guān)系抄肖,以及有什么相應(yīng)的結(jié)構(gòu)規(guī)則。

6.2.2.1 業(yè)務(wù)實(shí)體分析任務(wù)概述

在領(lǐng)域建模過(guò)程中窖杀,更多地采用自底向上的方法漓摩,針對(duì)每一個(gè)業(yè)務(wù)事件或報(bào)表,分析類(lèi)圖片段入客,然后再將這些片段抽象管毙,提煉,合并桌硫,形成全局的領(lǐng)域模型夭咬。

實(shí)體分析的產(chǎn)物有兩種可選模型:類(lèi)圖,ER圖铆隘。推薦使用類(lèi)圖皱埠。

6.2.2.2 類(lèi)圖應(yīng)用基礎(chǔ)與要點(diǎn)

》面向?qū)ο笏枷?/p>

》類(lèi)的表示方法

》類(lèi)之間的關(guān)系:關(guān)聯(lián),泛化咖驮,組合边器。

》確定類(lèi)的主要職責(zé):屬性和方法。

領(lǐng)域模型(類(lèi)圖)托修,是自底向上合并出來(lái)的忘巧。

領(lǐng)域模型應(yīng)該遵循:拒絕實(shí)現(xiàn)細(xì)節(jié),大類(lèi)不拆分睦刃,子類(lèi)不合并砚嘴,同類(lèi)不抽象。

領(lǐng)域模型:以面向?qū)ο蟮囊暯强创F(xiàn)實(shí)世界,通過(guò)類(lèi)圖來(lái)描述事物之間的關(guān)系际长。因此主要工作是找出相關(guān)的類(lèi)耸采,以及他們之間的關(guān)系。

分析模型:分析模型是針對(duì)軟件系統(tǒng)分析工育,領(lǐng)域模型則偏重對(duì)業(yè)務(wù)分析虾宇。分析模型主要用到實(shí)體類(lèi),控制類(lèi)如绸,邊界類(lèi)嘱朽。

設(shè)計(jì)模型:設(shè)計(jì)模型將直接對(duì)編碼予以指導(dǎo)。

6.2.2.3 ER圖應(yīng)用基礎(chǔ)

ER圖的優(yōu)勢(shì)在于更好地跟數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)合怔接,缺點(diǎn)在于語(yǔ)義較類(lèi)圖更弱一些搪泳。

》數(shù)據(jù)建模過(guò)程

6.2.3 角色與使用場(chǎng)景分析

用例分析技術(shù),能更好地以用戶(hù)的角度扼脐,將系統(tǒng)當(dāng)作一個(gè)黑盒子岸军,了解并梳理需求,解釋如何使用系統(tǒng)(場(chǎng)景)瓦侮。

6.2.3.1 用例分析技術(shù)概述

用例分析技術(shù)凛膏,包含兩個(gè)部分:用例圖,用例描述脏榆。用例圖是目錄猖毫,用例描述是封裝所有需求的形式。

6.2.3.2 參與者與用例

參與者是一種角色须喂,可以是人吁断,可以是其他系統(tǒng),可以是硬件設(shè)備坞生,也可以是時(shí)鐘仔役,但一定要是在系統(tǒng)之外。

參與者是直接使用系統(tǒng)的最終用戶(hù)是己,任何間接與系統(tǒng)相關(guān)的人員是StakeHolder又兵,不是參與者。

6.2.3.3 用例圖

千萬(wàn)不要為了使用擴(kuò)展卒废,包含關(guān)系而使用他們沛厨。擴(kuò)展用例建模通常都是優(yōu)先級(jí)較低的事件。面向客戶(hù)的用例圖通常都不應(yīng)該出現(xiàn)包含關(guān)系摔认,這些事情應(yīng)該是在面向開(kāi)發(fā)團(tuán)隊(duì)時(shí)才進(jìn)行填充和歸納的細(xì)節(jié)逆皮。

6.2.3.4 用例的來(lái)源

如何從需求中歸納出用例呢?通常可以采用兩種方法:自頂向下導(dǎo)出法参袱,自底向上合并法电谣。

》自頂向下導(dǎo)出法

就是從流程圖中派生出用例圖秽梅。而流程圖是通過(guò)劃分主題域,再?gòu)闹黝}域標(biāo)識(shí)業(yè)務(wù)事件剿牺,然后通過(guò)業(yè)務(wù)事件繪制出來(lái)流程圖企垦。

拿到流程圖后,我們首先可以跟客戶(hù)進(jìn)行邊界確定和角色確定晒来,以得出表示系統(tǒng)邊界的用例圖钞诡。

1 邊界確定。首先排除掉不直接使用系統(tǒng)的崗位潜索。

2 確定角色臭增。對(duì)剩下的職責(zé)帶區(qū)進(jìn)行角色化懂酱。

3 確定用例竹习。用例是從職責(zé)帶區(qū)中的業(yè)務(wù)活動(dòng)中派生出來(lái)的。

4 繪制用例圖列牺。有了以上分析整陌,我們得到了角色,參與者瞎领,用例泌辫,就可以繪制出用例圖了。

》自底向上合并法

對(duì)于一些中小項(xiàng)目而言九默,流程并非涇渭分明震放,從流程開(kāi)始梳理會(huì)比較困難,就適合采用自底向上合并法驼修,從需求捕獲階段得到的需求列表著手殿遂,合并出需要的用例。

1 收集原始需求乙各。

2 確定參與者墨礁。

3 合并用例。

4 繪制用例圖耳峦。

用例的注意事項(xiàng):

1 用例圖的顆粒度取決于業(yè)務(wù)價(jià)值恩静。

2 用業(yè)務(wù)動(dòng)詞命名用例十分重要,不要在用新增xx蹲坷,修改xx驶乾,刪除xx,查詢(xún)xx了循签。

3 采用先事后人的方式分析轻掩,而非先人后事。

6.3 周期二:確定需求細(xì)節(jié)

這一階段的任務(wù)懦底,是對(duì)上一階段產(chǎn)出的用例模型和領(lǐng)域模型進(jìn)行細(xì)節(jié)填充唇牧。對(duì)于行為需求的用例罕扎,我們要填充事件流,包括:相關(guān)需求或功能點(diǎn)丐重,界面原型腔召,用例規(guī)則與約束。對(duì)于數(shù)據(jù)需求的領(lǐng)域類(lèi)扮惦,我們要填充字段與格式臀蛛,包括字段信息,字段格式與規(guī)則崖蜜,計(jì)算規(guī)則浊仆,結(jié)構(gòu)規(guī)則。

6.3.1 確定行為需求的細(xì)節(jié)

行為需求對(duì)應(yīng)的是“人豫领,事抡柿,物,接口”四大需求主線中的“事”等恐,這也是軟件功能需求的主體內(nèi)容洲劣。

6.3.1.1 用例的靈活運(yùn)用

行為需求可以分為四個(gè)類(lèi)型:業(yè)務(wù)功能,報(bào)表功能课蔬,接口囱稽,技術(shù)支持。

6.3.1.2 用例描述模板

對(duì)于行為用例來(lái)說(shuō)二跋,需要整理的內(nèi)容有事件流战惊,相關(guān)需求或功能點(diǎn),界面原型扎即,規(guī)則或約束四個(gè)方面吞获。

事件流分析:場(chǎng)景和用例的關(guān)系锋爪,類(lèi)似對(duì)象與類(lèi)之間的關(guān)系瘩欺,一個(gè)用例是對(duì)一組類(lèi)似場(chǎng)景的抽象儒鹿。而一個(gè)用例通常是一組事件流所構(gòu)成逻翁。

6.3.1.3 業(yè)務(wù)用例與系統(tǒng)用例

業(yè)務(wù)用例描述的是所有業(yè)務(wù)操作梧却,系統(tǒng)用例則只描述與系統(tǒng)相關(guān)的業(yè)務(wù)步驟了牛。要警惕將系統(tǒng)用例寫(xiě)成界面操作窒朋。

下面是機(jī)場(chǎng)checkin的業(yè)務(wù)用例與系統(tǒng)用例示范:

業(yè)務(wù)用例

很明顯寓辱,2粮坞,3蚊荣,6,9都是跟系統(tǒng)無(wú)關(guān)的步驟莫杈,將他們?nèi)コ蠡ダ蛷臉I(yè)務(wù)用例得到了系統(tǒng)用例。

系統(tǒng)用例

》創(chuàng)建業(yè)務(wù)用例的好處:避免開(kāi)發(fā)層面斷章取義筝闹,而使系統(tǒng)步驟融入到業(yè)務(wù)場(chǎng)景中媳叨;提供業(yè)務(wù)優(yōu)化的可能性腥光;更好設(shè)置未來(lái)的拓展點(diǎn)

》事件流描述中糊秆,應(yīng)該保留主語(yǔ)武福。可以使用表格或者文字的方式痘番。

避免在用例事件流描述中出現(xiàn)實(shí)現(xiàn)細(xì)節(jié)捉片,分支結(jié)構(gòu),循環(huán)結(jié)構(gòu)汞舱。特別是不能出現(xiàn)多路分支結(jié)構(gòu)伍纫。

6.3.1.5 界面原型

》要點(diǎn):軟件需求規(guī)格里的用戶(hù)界面原型,是約束昂芜,建議莹规,而非解決方案。需求分析人員也只能給用戶(hù)界面設(shè)計(jì)提供依據(jù)说铃,而非設(shè)計(jì)访惜。

》不要忽略交互嘹履∧迳龋可以采取動(dòng)態(tài)原型的方式,也可以用狀態(tài)圖表示界面的流轉(zhuǎn)砾嫉。

》別讓界面掩蓋本質(zhì)幼苛。

6.3.1.6 規(guī)則與約束

規(guī)則是在實(shí)現(xiàn)時(shí)應(yīng)該考慮的東西,約束是對(duì)技術(shù)選擇時(shí)的限制條件焕刮。

》規(guī)則的類(lèi)型:業(yè)務(wù)規(guī)則舶沿,數(shù)據(jù)規(guī)則,界面規(guī)則配并。

業(yè)務(wù)規(guī)則:與業(yè)務(wù)邏輯相關(guān)的規(guī)則括荡。

數(shù)據(jù)規(guī)則:數(shù)據(jù)結(jié)構(gòu)層面上的規(guī)則。比如長(zhǎng)度溉旋,類(lèi)型等畸冲。

界面規(guī)則:用戶(hù)界面相關(guān)的規(guī)則。比如什么顏色的數(shù)據(jù)顯示不同的等級(jí)观腊。

》規(guī)則的層次

數(shù)據(jù)與界面規(guī)則通常都是微觀規(guī)則邑闲,而業(yè)務(wù)規(guī)則卻通常涉及宏觀微觀等多種不同層次,因此在組織時(shí)需要注意其中的差別梧油。

總之苫耸,對(duì)于規(guī)則與約束,有一個(gè)核心原則儡陨,就是“只寫(xiě)針對(duì)本用例的內(nèi)容”褪子。

6.3.1.7 基于stakeholder利益分析的需求挖掘

6.3.2 確定結(jié)構(gòu)需求細(xì)節(jié)

如果說(shuō)行為需求從用例模型中得出量淌,結(jié)構(gòu)需求就是從領(lǐng)域模型中得出。我們將從基本內(nèi)容和常見(jiàn)盲區(qū)兩個(gè)角度來(lái)說(shuō)明結(jié)構(gòu)需求的細(xì)節(jié)填充嫌褪。

6.3.2.1 基本內(nèi)容

》領(lǐng)域模型的組織

從領(lǐng)域模型的組織角度來(lái)說(shuō)类少,通常會(huì)首先按照主題域進(jìn)行第一次分解,一個(gè)主題域?qū)?yīng)一個(gè)領(lǐng)域模型渔扎,然后根據(jù)需要將各個(gè)主題域共性的領(lǐng)域類(lèi)抽取出來(lái)硫狞,形成全局公共領(lǐng)域類(lèi)模型。對(duì)于每個(gè)主題域內(nèi)的領(lǐng)域模型而言晃痴,涉及的領(lǐng)域類(lèi)可能還是很多残吩,就可以根據(jù)邏輯關(guān)系劃分為不同的包,每個(gè)包就是一個(gè)邏輯相關(guān)的領(lǐng)域類(lèi)圖的片段倘核。接著對(duì)每個(gè)片段進(jìn)行概述泣侮。就得到以下層次:

在xx類(lèi)中,我們就可以對(duì)每個(gè)領(lǐng)域類(lèi)做進(jìn)一步描述了紧唱。通常都是從“數(shù)據(jù)窗口分析”活尊,“數(shù)據(jù)組成與格式”,“派生數(shù)據(jù)的計(jì)算方法”三個(gè)角度進(jìn)行描述漏益。

》數(shù)據(jù)窗口分析

系統(tǒng)中的公共數(shù)據(jù)經(jīng)常成為工作交叉和沖突的地方蛹锰,對(duì)于這種情況,建議采用數(shù)據(jù)窗口的方式處理绰疤,即將公共屬性變成公共的铜犬,個(gè)性屬性仍然壓在各個(gè)模塊中。

》數(shù)據(jù)組成與格式

數(shù)據(jù)組成與格式包括:數(shù)據(jù)類(lèi)型轻庆,如int癣猾,char,boolean等余爆;長(zhǎng)度精度等信息纷宇。組成格式,如2位字母蛾方,6位數(shù)字等像捶。

》派生數(shù)據(jù)的計(jì)算方法

領(lǐng)域類(lèi)中,還可能涉及一些并非直接輸入的屬性转捕,他們的值是通過(guò)計(jì)算得出的作岖,例如訂單的總金額等。因此我們還需要為這些屬性生成規(guī)則五芝。通常通過(guò)決策表或決策樹(shù)的形式來(lái)描述他們痘儡。

6.3.2.2 常見(jiàn)盲區(qū)

與結(jié)構(gòu)需求相關(guān)的,還有一些相關(guān)的盲區(qū)枢步。

》數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)

對(duì)于一個(gè)領(lǐng)域類(lèi)而言沉删,不同的屬性它們的重要性渐尿,穩(wěn)定性,周期性都會(huì)影響到具體的開(kāi)發(fā)決策矾瑰,例如:主要字段與次要字段砖茸,穩(wěn)定字段和不穩(wěn)定字段,即時(shí)記錄與歷史記錄殴穴。

》數(shù)據(jù)使用特點(diǎn)

》非功能要求

6.3.3 周期二的產(chǎn)物

完整的用例描述凉夯,完整的領(lǐng)域類(lèi)細(xì)節(jié),界面流轉(zhuǎn)圖采幌,頁(yè)面原型劲够。

6.4 其他需求分析

其他需求包括:接口需求,全局性的非功能需求和全局性的設(shè)計(jì)約束休傍。

6.4.1 接口需求

哪里有分解征绎,哪里就有接口。當(dāng)標(biāo)識(shí)出接口之后磨取,千萬(wàn)不要談及接口的設(shè)計(jì)和實(shí)現(xiàn)人柿,從需求的角度來(lái)說(shuō),接口的重點(diǎn)應(yīng)該從使用者忙厌,內(nèi)容與格式凫岖,設(shè)計(jì)約束與要求三個(gè)方面展開(kāi)。

6.4.1.1 使用者

在描述接口使用者時(shí)慰毅,可以從以下角度進(jìn)行說(shuō)明:

》使用者名稱(chēng)隘截,羅列出該接口的外部使用者扎阶。

》業(yè)務(wù)目的汹胃,說(shuō)明使用者通過(guò)該接口實(shí)現(xiàn)什么樣的業(yè)務(wù)。

》使用時(shí)機(jī)东臀,說(shuō)明使用者將在什么場(chǎng)景中使用該接口着饥。

》使用頻率,描述各類(lèi)使用者調(diào)用該接口的頻率惰赋。

6.4.1.2 內(nèi)容與格式

6.4.1.3 設(shè)計(jì)約束

對(duì)接口實(shí)現(xiàn)時(shí)必須考慮的約束條件或設(shè)計(jì)要求宰掉,內(nèi)容比較廣泛,例如協(xié)議格式要求赁濒,性能要求轨奄,環(huán)境限制等。

6.4.2 非功能需求的追蹤

6.4.2.1 質(zhì)量特性分析

在組織非功能需求類(lèi)型時(shí)拒炎,可以參考相關(guān)的質(zhì)量特性標(biāo)準(zhǔn)挪拟,其中最常用的有ISO/IEC 9126軟件質(zhì)量模型 和 McCall軟件質(zhì)量模型。也可以根據(jù)自己項(xiàng)目的特點(diǎn)击你,關(guān)注重心來(lái)確定玉组。接下來(lái)我們將介紹ISO/IEC 9126定義的6類(lèi)21項(xiàng)質(zhì)量屬性進(jìn)行簡(jiǎn)要分析谎柄。

》功能性

》可靠性

》易用性

》效率

》可維護(hù)性

》可移植性

6.5 小結(jié)

SERU方法的核心,就是從“事惯雳,物朝巫,人,接口”四個(gè)主線著手石景,沿著業(yè)務(wù)脈絡(luò)(業(yè)務(wù)主題域-業(yè)務(wù)事件/流程-業(yè)務(wù)活動(dòng)-業(yè)務(wù)步驟)進(jìn)行分解劈猿,構(gòu)建(構(gòu)件-流程圖-用例-事件流),實(shí)現(xiàn)需求分析潮孽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末糙臼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子恩商,更是在濱河造成了極大的恐慌变逃,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怠堪,死亡現(xiàn)場(chǎng)離奇詭異揽乱,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)粟矿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)凰棉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人陌粹,你說(shuō)我怎么就攤上這事撒犀。” “怎么了掏秩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵或舞,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蒙幻,道長(zhǎng)映凳,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任邮破,我火速辦了婚禮诈豌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抒和。我一直安慰自己矫渔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布摧莽。 她就那樣靜靜地躺著庙洼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上送膳,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天员魏,我揣著相機(jī)與錄音,去河邊找鬼叠聋。 笑死撕阎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碌补。 我是一名探鬼主播虏束,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼厦章!你這毒婦竟也來(lái)了镇匀?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤袜啃,失蹤者是張志新(化名)和其女友劉穎汗侵,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體群发,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晰韵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熟妓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雪猪。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖起愈,靈堂內(nèi)的尸體忽然破棺而出只恨,到底是詐尸還是另有隱情,我是刑警寧澤抬虽,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布官觅,位于F島的核電站,受9級(jí)特大地震影響斥赋,放射性物質(zhì)發(fā)生泄漏缰猴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一疤剑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闷堡,春花似錦隘膘、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至踱阿,卻和暖如春管钳,著一層夾襖步出監(jiān)牢的瞬間钦铁,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工才漆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牛曹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓醇滥,卻偏偏與公主長(zhǎng)得像黎比,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸳玩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容