《按圖索驥軟件的設(shè)計(jì)圖紙(用例圖類圖狀態(tài)圖活動(dòng)圖順序圖)》由會(huì)員分享,可在線閱讀,更多相關(guān)《按圖索驥軟件的設(shè)計(jì)圖紙(用例圖類圖狀態(tài)圖活動(dòng)圖順序圖)(10頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、按圖索驥-軟件的設(shè)計(jì)圖紙序:我一直以為,在軟件設(shè)計(jì)中,各種圖要比文檔重要的多。圖可以更加直接的反應(yīng)軟件的構(gòu)造。尤其是在面向?qū)ο蟮能浖O(shè)計(jì)中。圖可以讓我們直觀的了解各個(gè)類和對(duì)象直接的交互和關(guān)系。1、用例圖定義:展示系統(tǒng)中參與者與用例之間的關(guān)系我的理解 :用例圖是根據(jù)需求分析得到的,也是軟件設(shè)計(jì)中的第一張圖紙。描述了軟件系統(tǒng)的全部用戶(角色)和全部功能點(diǎn)(業(yè)務(wù)需求),以及他們之間的關(guān)系。也是軟件開發(fā)中最重要的一張圖紙。用例準(zhǔn)則:用例描述了為參與者提供可測(cè)量的價(jià)值的一個(gè)動(dòng)作順序,如:提取資金,登記文件。參與者準(zhǔn)則:參與者是和系統(tǒng)進(jìn)行一次或多次交互的某個(gè)角色,它可以是人,組織,進(jìn)程或者外部系統(tǒng),如:客
2、戶,學(xué)生,付款機(jī)技巧:通過豎排用例,隱含表達(dá)用例之間的時(shí)間順序。 用例名以意義明確的動(dòng)詞開頭。 主要參與者放在圖的左上角圖例:2、類圖定義:類圖展示的系統(tǒng)中的類,類之間的相互關(guān)系,類的方法和屬性。理解:根據(jù)用例圖,可以基本上設(shè)計(jì)出系統(tǒng)的類和他們的之間的關(guān)系。類圖描述的就是類的靜態(tài)結(jié)構(gòu)類關(guān)系: 關(guān)聯(lián):關(guān)聯(lián)指的是類之間的特定的對(duì)應(yīng)關(guān)系,在UML中擁戴實(shí)現(xiàn)的箭頭表示。按照類之間的數(shù)量對(duì)比,關(guān)聯(lián)可分為以下3種。聚合:聚合指的是整體與部分之間的關(guān)系,在UML中用帶實(shí)線的菱形箭頭表示。例如臺(tái)燈和燈泡之間就是聚集關(guān)系。當(dāng)臺(tái)燈類(ReadingLamp類)由燈泡類(Bulb類)和Circuit類聚集而成時(shí),在
3、ReadingLamp類中應(yīng)該包含Bulb類和Circuit類型的成員變量。聚集關(guān)系中,子系統(tǒng)允許被拆卸和替換。例如:電燈和燈泡 Bulb bulb1 = new Bulb(); /創(chuàng)建第一個(gè)燈泡 Bulb bulb2 = new Bulb(); /創(chuàng)建第二個(gè)燈泡 ReadingLamp lamp = new ReadingLamp(bulb1); /創(chuàng)建的時(shí)候使用第一個(gè)燈泡 lamp.setBulb(bulb2); /創(chuàng)建以后還可以換成第二個(gè)燈泡 組合:是關(guān)聯(lián)關(guān)系的一種,是比聚集關(guān)系強(qiáng)的關(guān)聯(lián)關(guān)系。它要求普通的聚合關(guān)系中代表的對(duì)象負(fù)責(zé)代表部分的對(duì)象的生命周期,合成關(guān)系是不能共享的。 合成關(guān)系中
4、,子系統(tǒng)不允許被拆卸和替換。例如:Windows的窗口和窗口上的菜單就是組合關(guān)系。生命周期一致指的是部分必須在組合創(chuàng)建的同時(shí)或者之后創(chuàng)建,在組合銷毀之前或者同時(shí)銷毀,部分的生命周期不會(huì)超出組合的生命周期。 依賴:依賴指的是類之間的調(diào)用關(guān)系,在UML中用帶虛線的箭頭表示。如果類A訪問類B的屬性或方法,或者類A負(fù)責(zé)實(shí)例化類B,那么可以說類A依賴類B。和關(guān)聯(lián)關(guān)系不同,無須在類A中定義類B類型的屬性。例如Panel與Shape類之間存在依賴關(guān)系,因?yàn)镻anel類會(huì)調(diào)用Shape類的draw()方法。 繼承:類之間的繼承關(guān)系,在UML中用帶實(shí)線的三角形箭頭表示。例如長(zhǎng)方形Rectangle、圓形Circ
5、le和直線Line都繼承Shape類 實(shí)現(xiàn):實(shí)現(xiàn)指的是類與接口之間的關(guān)系,在UML中用帶虛線的三角形箭頭表示,這里的接口指的是接口類型,接口名字用斜體字表示,接口中的方法都是抽象方法,也采用斜體字表示。圖例:3、狀態(tài)圖定義:狀態(tài)圖中展示實(shí)體基于它當(dāng)前的狀態(tài)對(duì)不同的事件是如何反應(yīng)的。我的理解:狀態(tài)圖是系統(tǒng)即時(shí)、實(shí)施的圖紙。從這個(gè)圖開始,消息的概念開始貫穿設(shè)計(jì)始終。通過狀態(tài)圖,我們可以了解系統(tǒng)中的主要對(duì)象的狀態(tài)變遷和變遷散發(fā)出的消息。圖例:4、活動(dòng)圖定義:工作流程活動(dòng)圖用于研究實(shí)現(xiàn)業(yè)務(wù)目標(biāo)時(shí)所要執(zhí)行的各項(xiàng)任務(wù)或活動(dòng)的順序安排?;顒?dòng)既可以是手動(dòng)執(zhí)行的任務(wù),也可以是自動(dòng)執(zhí)行的任務(wù)。它可完成一個(gè)工作單元
6、。我的理解:活動(dòng)圖是狀態(tài)圖的延續(xù),不止是在圖中標(biāo)記了對(duì)象狀態(tài)的變遷,還加入了狀態(tài)變遷相關(guān)的操作?;驹兀夯顒?dòng)狀態(tài)表示在工作流程中執(zhí)行某個(gè)活動(dòng)或步驟。 轉(zhuǎn)移表示各種活動(dòng)狀態(tài)的先后順序。這種轉(zhuǎn)移可稱為完成轉(zhuǎn)移。它不同于一般的轉(zhuǎn)移,因?yàn)樗恍枰黠@的觸發(fā)器事件,而是通過完成活動(dòng)(用活動(dòng)狀態(tài)表示)來觸發(fā)。 決策,為其定義了一組警戒條件。這些警戒條件決定在活動(dòng)完成后將執(zhí)行一組備選轉(zhuǎn)移中的哪一個(gè)轉(zhuǎn)移。您也可以使用判定圖標(biāo)來表示線程重新合并的位置。決策和警戒條件使您能夠顯示業(yè)務(wù)用例的工作流程中的備選線程。 同步示意條用于顯示平行分支流。同步示意條使您能夠顯示業(yè)務(wù)用例的工作流程中的并行線程。泳道:可以使用垂直實(shí)線將活動(dòng)圖劃分為泳道。每條泳道代表整個(gè)工作流程的某活動(dòng)圖個(gè)部分的職責(zé),該職責(zé)由組織的某個(gè)部門來執(zhí)行。泳道最終可以由組織單元或者業(yè)務(wù)對(duì)象模型中的一組類來實(shí)施。圖例:5、順序圖定義:描述涉及用例實(shí)現(xiàn)的多個(gè)對(duì)象實(shí)例以及對(duì)象交互時(shí)傳遞的消息,并按照用例的執(zhí)行步驟為順序指明對(duì)象的交互順序。我的理解:主要描述對(duì)象間消息的傳遞和消息傳遞的順序。重點(diǎn):畫順序的關(guān)鍵是要理清對(duì)象間的交互,也就是決定消息該發(fā)給那個(gè)對(duì)象。圖例:blo