使用UML工具進行建模,是公認的需求分析的好方法。那它如何與我們實施GJB5000需要編寫的軟件研制任務書、需求規(guī)格說明結合呢? 下面就是建模和編寫軟件任務書結合的建議。 使用UML可以建立業(yè)務模型、分析模型和設計模型。對于軟件研制任務書來說,它所對應的模型應當是業(yè)務模型。 什么是業(yè)務模型? 業(yè)務模型就是使用模型來反映用戶在現(xiàn)實中的需求。我們可以把業(yè)務模型理解成用戶需求的一種可視性更好、表達更清晰的表現(xiàn)形式。使用業(yè)務模型來表述用戶需求,要比我們在軟件研制任務書中只使用文字來表述,更清晰、準確,更容易與用戶達成對需求的一致理解。 一個完整的業(yè)務模型包括以下一些內(nèi)容:
我們在軟件研制任務書中要描述功能需求、性能需求、接口需求,如果使用模型來描述,那么至少要使用到用例視圖、用例場景、用例規(guī)約等內(nèi)容(后面業(yè)務對象模型一般只針對關鍵業(yè)務才建立,而用例實現(xiàn)視圖和實現(xiàn)場景與用例視圖和場景只是所站的角度不同)。
我們在編寫軟件研制任務書的時候,會用一段簡短的文字可概括軟件的一個又一個功能需求。而對于每個功能需求,我們要給它劃分邊界,找出業(yè)務主角,給出用例視圖。 用例視圖是通過展現(xiàn)業(yè)務的主要參與者(或稱業(yè)務主角)及其在業(yè)務中的主要操作(或稱用例)來表述功能需求的。比如某供電系統(tǒng)的業(yè)務用例視圖如下:
用例場景是用來描述該用例在該業(yè)務的實際過程中是如何做的。用例場景可以使用活動圖、時序圖或協(xié)作圖來描述。 例如某供電系統(tǒng)的申請永久用電有低壓用戶和高壓用戶兩種場景。如果用活動圖來表示低壓用戶的場景,如下圖所示: 如果用時序圖來表示低壓用戶的場景,如下圖所示: 如果用協(xié)作圖來表示低壓用戶的場景,如下圖所示: 這3種圖的區(qū)別是:活動圖強調(diào)的是角色的職責和活動,時序圖強調(diào)的是時間順序,協(xié)作圖強調(diào)的是角色間的交互過程。編寫時可以根據(jù)需要選擇。
用例規(guī)約是用文字來描述業(yè)務用例場景,它通常包括用例名稱、用例描述、執(zhí)行者、前置條件、后置條件、主過程描述、分支過程描述、異常過程描述、業(yè)務規(guī)則、涉及的業(yè)務實體等內(nèi)容。 某供電系統(tǒng)的用例規(guī)約如下圖所示: 用例規(guī)約是對視圖的有效補充,它包含了更多的信息,而且篇幅短小、井井有條。 總之,利用UML建立業(yè)務模型,并且將業(yè)務模型融入到軟件研制任務書中,將會使得軟件研制任務書表述更清晰,對用戶需求確認也會有很大幫助。 這正是: 針對業(yè)務來建模,視圖場景和規(guī)約 模型融入任務書,理解確認好處多 參考書目:大象:Thinking in UML(第二版),譚云杰,中國水利水電出版社 作者簡介:王小雙,長期從事GJB5000推廣、實施、評價、改進的工作,創(chuàng)建《軟件工程之思》微信公眾號,一直在《軟件工程之思》分享GJB5000、CMMI、軟件工程的知識和感悟。現(xiàn)致力于GJB5000咨詢以及軟件過程改進、軟件工程能力提升的研究工作。 |
|