系統(tǒng)分析 1、 系統(tǒng)用例 (1)系統(tǒng)用例是用來(lái)定義系統(tǒng)范圍、獲取功能性需求的。是軟件開(kāi)發(fā)的全部范圍,是我們得到的最終需求。 (2)系統(tǒng)用例視圖 一般的系統(tǒng)用例視圖是以業(yè)務(wù)用例為單位展開(kāi)的,系統(tǒng)用例視圖即是系統(tǒng)的開(kāi)發(fā)范圍。 (3)系統(tǒng)用例實(shí)現(xiàn)視圖 描述系統(tǒng)用例一種或多種實(shí)現(xiàn)方式。 (4)系統(tǒng)用例模型 為系統(tǒng)既定功能及系統(tǒng)環(huán)境的模型。主要包括:業(yè)務(wù)用例,概念用例,用例視圖,用例規(guī)約,補(bǔ)充規(guī)約,業(yè)務(wù)規(guī)則,用例實(shí)現(xiàn),用例場(chǎng)景,分析對(duì)象。 業(yè)務(wù)用例à系統(tǒng)用例à用例實(shí)現(xiàn)à用例場(chǎng)景à分析對(duì)象 2、 獲取系統(tǒng)用例 推導(dǎo)系統(tǒng)用例的基本方法是獲取業(yè)務(wù)用例場(chǎng)景圖,尤其是活動(dòng)圖。采用活動(dòng)圖繪制業(yè)務(wù)用例時(shí)講業(yè)務(wù)主角和業(yè)務(wù)工人作為泳道,方便觀察他們的職責(zé)。系統(tǒng)用例可以從這些職責(zé)里抽取出來(lái)。 從業(yè)務(wù)用例場(chǎng)景中抽象出備選的系統(tǒng)用例并且被納入系統(tǒng)的基本方法: 映射,抽象,合并,拆分,演繹 3、 描述系統(tǒng)用例 與業(yè)務(wù)用例相同,采用的工具仍然是用例場(chǎng)景,用例規(guī)約,對(duì)象模型,用例實(shí)現(xiàn),用例實(shí)現(xiàn)場(chǎng)景。視角和建模的目的已經(jīng)從原來(lái)的描述業(yè)務(wù),理解業(yè)務(wù)變成了理解系統(tǒng),描述系統(tǒng)。 (1) 從業(yè)務(wù)需求到系統(tǒng)需求 系統(tǒng)用例的確定是從業(yè)務(wù)用例場(chǎng)景開(kāi)始,采用映射,抽象,合并,拆分,演繹等方法,從業(yè)務(wù)用例場(chǎng)景中找到系統(tǒng)用例,從而確定了系統(tǒng)范圍。再針對(duì)系統(tǒng)用例進(jìn)行建模,通過(guò)用例場(chǎng)景和用例規(guī)約得到系統(tǒng)需求。 (2) 顆粒度問(wèn)題 在業(yè)務(wù)建模階段,用例的粒度以每個(gè)用例能夠說(shuō)明一件完整的事情為宜,即描述一項(xiàng)完整的業(yè)務(wù)流程。 在概念建模階段,用例的粒度以每個(gè)用例能表述一個(gè)完整的事件流為宜,完整業(yè)務(wù)中的一個(gè)步驟。 在系統(tǒng)建模階段,用例視角是針對(duì)計(jì)算機(jī)的,因此用例的粒度以一個(gè)用例能夠描述操作者與計(jì)算機(jī)的一次完整交互為宜。 4、 分析業(yè)務(wù)規(guī)約 業(yè)務(wù)規(guī)約:顧名思義就是業(yè)務(wù)上的一些規(guī)定。分析業(yè)務(wù)規(guī)約時(shí),按照三類進(jìn)行: (1) 全局規(guī)約: 對(duì)系統(tǒng)大部分業(yè)務(wù)或系統(tǒng)設(shè)計(jì)都起約束作用的那些規(guī)約。分析人是架構(gòu)師。 (2) 交互規(guī)約 活動(dòng)、狀態(tài)或?qū)ο?,他們?cè)诨顒?dòng)轉(zhuǎn)移、狀態(tài)變化或?qū)ο蠼换r(shí)會(huì)有一些限制性的條件。 交互規(guī)約產(chǎn)生于用例場(chǎng)景當(dāng)中。可以在業(yè)務(wù)用例場(chǎng)景、業(yè)務(wù)用例規(guī)約、系統(tǒng)用例場(chǎng)景、系統(tǒng)用例規(guī)約中找。 (3) 內(nèi)稟規(guī)則 業(yè)務(wù)對(duì)象本身所具備的,不會(huì)因?yàn)橥饷娴慕换ザ撟兓囊?guī)約。個(gè)人理解就是業(yè)務(wù)對(duì)象的某些特性。 5、 用例實(shí)現(xiàn) 用例實(shí)現(xiàn)是將系統(tǒng)用例進(jìn)行實(shí)現(xiàn),目的就是實(shí)現(xiàn)系統(tǒng)的需求。 用例場(chǎng)景和用例規(guī)約是我們實(shí)現(xiàn)用例的基礎(chǔ),采用的工具則是分析模型。 為了用例實(shí)現(xiàn)建模,需要以下步驟: (1) 需要在用例場(chǎng)景當(dāng)中發(fā)現(xiàn)和定義實(shí)體對(duì)象。 (2) 需要用控制對(duì)象來(lái)操作和處理實(shí)體對(duì)象中的數(shù)據(jù)。 (3) 需要用邊界對(duì)象來(lái)構(gòu)建接收外部指令界面。 6、 軟件架構(gòu) 對(duì)軟件結(jié)構(gòu)組成的規(guī)則和職責(zé)設(shè)定。 軟件框架是軟件架構(gòu)的一種實(shí)現(xiàn),它通常針對(duì)一個(gè)軟件架構(gòu)當(dāng)中某一個(gè)特定的問(wèn)題提供解決方案和輔助工具。 7、 分析模型 (1) 建立分析模型 將分析類和軟件架構(gòu)結(jié)合起來(lái),確定這些類在軟件架構(gòu)中是哪一層。 將分析類在各個(gè)層次的情況分析清楚后,需要在每一個(gè)層次上在軟件框架的規(guī)范內(nèi)來(lái)實(shí)現(xiàn)用例場(chǎng)景。 通過(guò)用例確定系統(tǒng)需求。 通過(guò)用例實(shí)現(xiàn),得到系統(tǒng)需求的計(jì)算機(jī)視角理解。 規(guī)定軟件架構(gòu),確定軟件層次。 在每一個(gè)層次上決定了適用的軟件框架。 分析用例實(shí)現(xiàn)在每個(gè)軟件層次上是如何動(dòng)作的。 根據(jù)每個(gè)軟件層次上所使用的軟件框架并使用分析類來(lái)實(shí)現(xiàn)用例。 綜合各個(gè)軟件層次得到的分析類,形成分析模型。 得到實(shí)現(xiàn)了系統(tǒng)需求最基本的類和類方法。 (2) 優(yōu)化分析模型 應(yīng)該關(guān)注這樣幾個(gè)關(guān)鍵點(diǎn): 容易變化的需求:使設(shè)計(jì)模型帶有一定的可擴(kuò)展能力,適應(yīng)變化。 結(jié)構(gòu)化和耦合度調(diào)整:盡量采用樹狀結(jié)構(gòu),對(duì)象之間的依賴是單向的,不是交叉的。 交互集中點(diǎn)調(diào)整:如果一個(gè)對(duì)象的交互多,它依賴或關(guān)聯(lián)到很多類,這個(gè)對(duì)象就需要調(diào)整??梢圆捎玫姆椒ㄓ校褐匦乱?guī)劃職責(zé)、增加冗余對(duì)象、增加中間調(diào)合對(duì)象等方法。 |
|