一、組件圖概述
UML(Unified Modeling Language)是對軟體開發中所需的建模語言的一種標準化描述語言。UML組件圖用於展示系統中組件的結構,以及組件之間的依賴關係。一個組件可以是任何類別,比如,類、介面、程序包、甚至是整個系統。組件圖展示組件架構的層次結構,可以使用組件提供的介面與其他組件通信。
二、組件圖用途
組件圖可以為軟體開發提供多方面的信息,如下:
1、項目開發規劃
在計劃開發過程中,組件圖可以用於展示需要的開發組件以及僱傭的待開發的團隊成員,有助於集中精力開發關鍵組件。另外組件圖的助於制定開發計劃和預算預算支出。
2、系統架構
組件圖為系統的架構提供圖像,幫助在系統的構建之前建立共識,幫助團隊了解應用程序的構成。
3、通信協議
組件圖為系統中每個組件之間定義通信協議,幫助小組成員編寫可靠的代碼。
三、組件圖的構成
組件圖由多種元素構成,具體如下:
1、組件
組件表示為矩形,矩形內填寫組件名稱,可以是任何東西,如:類、對象、庫、可執行文件、模塊等。
2、介面
介面表示為圓形,圓形內填寫介面名稱,它定義了組件提供給其他組件的服務。介面可以傳遞方法調用和信號。
3、依賴關係
依賴關係是組件之間的關係,表示使用一個組件的類可能使用另一個組件。箭頭從使用組件指向被使用組件。
4、組合關係
組合關係用以說明一組類是一個整體,它意味著其中的類被組合組成一個大的類來提供更多的功能。組合關係用實線箭頭表示,箭頭指向被組合的類。
5、歸屬關係
歸屬關係用以說明兩個元素之間包含部分與整體之間的關係。歸屬關係使用菱形箭頭表示,箭頭指向包含部分的元素。
四、組件圖的示例代碼
@startuml !define AWSPUML https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/v7.2.0/dist !includeurl AWSPUML/Networking/@ElasticLoadBalancingController.puml !define ICONURL https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/v6.0.0/dist !includeurl ICONURL/AWSCommon/AWSLogo.puml !define SQSURL https://raw.githubusercontent.com/cloudtools/torture/master/markdown/img/plantuml !define SQSICONURL https://raw.githubusercontent.com/cloudtools/torture/master/markdown/img !includeurl SQSURL/aws-sqs.puml !define EBICONURL https://raw.githubusercontent.com/cloudtools/torture/master/markdown/img !includeurl EBICONURL/elasticbeanstalk.puml title Example Component View [Amazon SQS]-[Amazon SNS] [Amazon RDS]-[Amazon EC2] [Amazon RDS]-[AWS Elastic Beanstalk] [AWS Elastic Beanstalk]-[AWS Elastic Load Balancer] note right of [Amazon SQS]: A distributed messaging system [AWS] --> [AWS Elastic Beanstalk] note left of [AWS]: Architecture deployed on Amazon Web Services (AWS) @enduml
原創文章,作者:BAWPY,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/360929.html