• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    標準建模語言UML及其支持環境(三)

    發布: 2009-11-04 10:18 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 8次 | 進入軟件測試論壇討論

    領測軟件測試網

    類的獲取和命名 最頂部的格子包含類的名字。類的命名應盡量用應用領域中的術語,應明確、無歧義,以利于開發人員與用戶之間的相互理解和交流。類的獲取是一個依賴于人的創造力的過程,必須與領域專家合作,對研究領域仔細地分析,抽象出領域中的概念,定義其含義及相互關系,分析出系統類,并用領域中的術語為類命名。一般而言,類的名字是名詞。


    類的屬性 中間的格子包含類的屬性,用以描述該類對象的共同特點。該項可省略。圖1中"客戶"類有"客戶名"、"地址"等特性。屬性的選取應考慮以下因素:
    *原則上來說,類的屬性應能描述并區分每個特定的對象;
    *只有系統感興趣的特征才包含在類的屬性中;
    *系統建模的目的也會影響到屬性的選取。
    根據圖的詳細程度,每條屬性可以包括屬性的可見性、屬性名稱、類型、缺省值和約束特性。UML規定類的屬性的語法為:
    可見性 屬性名 : 類型 = 缺省值 {約束特性}
    圖1"客戶"類中,"客戶名"屬性描述為"- 客戶名 : 字符串 = 缺省客戶名"。 可見性"-"表示它是私有數據成員,其屬性名為"客戶名",類型為"字符串"類型,缺省值為"缺省客戶名",此處沒有約束特性。
    不同屬性具有不同可見性。常用的可見性有Public、Private和Protected三種,在UML中分別表示為"+"、"-"和"#"。
    類型表示該屬性的種類。它可以是基本數據類型,例如整數、實數、布爾型等,也可以是用戶自定義的類型。一般它由所涉及的程序設計語言確定。
    約束特性則是用戶對該屬性性質一個約束的說明。例如"{只讀}"說明該屬性是只讀屬性。
    類的操作(Operation) 該項可省略。操作用于修改、檢索類的屬性或執行某些動作。操作通常也被稱為功能,但是它們被約束在類的內部,只能作用到該類的對象上。操作名、返回類型和參數表組成操作界面。UML規定操作的語法為:
    可見性 操作名 (參數表) : 返回類型 {約束特性}
    在圖1中,"客戶"類中有"取客戶地址"操作,其中" +"表示該操作是公有操作,調用時需要參數"客戶名",參數類型為字符串,返回類型也為字符串。
    類圖描述了類和類之間的靜態關系。定義了類之后,就可以定義類之間的各種關系了。


    (3) 關聯關系
    關聯(Association)表示兩個類之間存在某種語義上的聯系。例如,一個人為一家公司工作,一家公司有許多辦公室。我們就認為人和公司、公司和辦公室之間存在某種語義上的聯系。在分析設計的類圖模型中,則在對應人類和公司類、公司類和辦公室類之間建立關聯關系。
    在圖1中最上部存在一個"屬于"/"簽定"關聯:每個"保險單"屬于一個"客戶",而"客戶"可以簽定多個"保險單"。除了這個關聯外,圖1中還有另外兩個關聯,分別表示每個"保險單"包含若干個"保險單上的項目",而每個"保險單上的項目"涉及單一的"保險類別"。

    關聯的方向 關聯可以有方向,表示該關聯單方向被使用。關聯上加上箭頭表示方向,在UML中稱為導航(Navigability)。我們將只在一個方向上存在導航表示的關聯,稱作單向關聯 ( Uni-directional Association ),在兩個方向上都有導航表示的關聯,稱作雙向關聯 ( Bi-directional Association )。圖1中,"保險單"到"保險單上的項目"是單向關聯。UML規定,不帶箭頭的關聯可以意味著未知、未確定或者該關聯是雙向關聯三種選擇,因此,在圖中應明確使用其中的一種選擇。


    關聯的命名 既然關聯可以是雙向的,最復雜的命名方法是每個方向上給出一個名字,這樣的關聯有兩個名字,可以用小黑三角表示名字的方向(見圖1中最上部的"屬于"/"簽定"關聯)。為關聯命名有幾種方法,其原則是該命名是否有助于理解該模型。

    角色 關聯兩頭的類以某種角色參與關聯。例如圖2中,"公司"以"雇主"的角色,"人"以"雇員"的角色參與的"工作合同"關聯。"雇主"和"雇員"稱為角色名。如果在關聯上沒有標出角色名,則隱含地用類的名稱作為角色名。角色還具有多重性(Multiplicity),表示可以有多少個對象參與該關聯。在圖2中,雇主(公司)可以雇傭(簽工作合同)多個雇員,表示為"*"; 雇員只能與一家雇主簽定工作合同,表示為"1"。多重性表示參與對象的數目的上下界限制。"*"代表0~∞,即一個客戶可以沒有保險單,也可以有任意多的保險單。"1"是1..1的簡寫,即任何一個保險單僅來自于一個客戶,可以用一個單個數字表示,也可以用范圍或者是數字和范圍不連續的組合表示。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    52/5<12345>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>