UML 學習——UML概述(一)

来源:http://www.cnblogs.com/wwyx-xi/archive/2017/09/21/7569535.html
-Advertisement-
Play Games

1.什麼是UML? 面對日益複雜的軟體需求的挑戰,面向過程的開發已經不能再滿足,面向對象的開發模式應運而生,隨即出現瞭如 java ,c++等面向對象編程的語言。對於軟體的開發也有了新的思維——面向對象建模。在此理論以及實踐的基礎上,UML誕生了,其作用就是將使用面向對象模型開發軟體的思維方法,以及 ...


1.什麼是UML?

  面對日益複雜的軟體需求的挑戰,面向過程的開發已經不能再滿足,面向對象的開發模式應運而生,隨即出現瞭如 java ,c++等面向對象編程的語言。對於軟體的開發也有了新的思維——面向對象建模。在此理論以及實踐的基礎上,UML誕生了,其作用就是將使用面向對象模型開發軟體的思維方法,以及過程以圖像的形式展示出來,讓軟體開發團隊更直觀的瞭解軟體項目,提高開發效率。

2.什麼是UML建模?

  對於UML的建模從以下兩個個方面瞭解

  2.1 面向對象方法

    面向對象的三大特征:繼承,封裝,多態。而面向對象的核心思想就是對象、繼承、封裝、多態。

  2.2面向對象建模(OMT)

    OMT是一種通過模型來思考問題的方法。OMT方法提供了一組面向對象的概念以及圖形符號。用於軟體開發中的需求分析,系統設計,架構設計等各個環節。

    OMT從三個相關但體現系統不同方面的角度去對系統建模。得到三種模型分別是:對象模型,動態模型,功能模型。

    對象模型代表了系統靜態的結構。

    動態模型代表了系統隨時間變化的、行為的,控制的方面。

    功能模型代表了系統的功能。

    三種模型不是獨立的,其中對象模型最為重要。

3.為什麼使用UML?

    對軟體工程影響最大的就是建築工程。每幢高樓在建設前都有一張設計圖(藍圖),軟體工程在開發前同樣需要這樣的設計圖,而UML可以完成我們這一要求。

    使用UML的好處。

    1)可以按照需要對系統進行可視化。

    2)能夠規約系統的行為。

    3)對做出的決策進行文檔化。

4.UML基本元素

  .三個基本模塊:事務,關係,圖。

  1.四種事務

    1.1結構事務:類,介面,協作,用例,活動類,組件,節點。  

    1.2行為事務:交互,狀態機。

    1.3分組事務:包

    1.4註釋事務:註釋。

  2.四種關係

    2.1:依賴

    2.2:關聯

    2.3:實現

    2.4:泛化

  3.十種圖

    3.1:用例圖

    3.2:類圖

    3.3:對象圖

    3.4:包圖

    3.5:部署圖

    3.6:活動圖

    3.7:狀態圖

    3.8:序列圖

    3.9:協作圖

    3.10:組件圖


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用python web做Restful 風格,很簡單,採用Flask框架輕鬆實現一個RESTful的服務。 Restful相關介紹請查看:https://www.ibm.com/developerworks/library/ws-restful/index.html 1. 環境搭建 首先需要準備環 ...
  • JdbcUtils工具類3.0最終版,添加了事務相關功能和釋放鏈接。最終版本可以直接打成jar包,在後面的基本項目都會使用該工具類 1. JdbcUtils代碼 2. 在src下給出c3p0-config.xml配置文件 3. 總結 從第一個基本版本1.0到加入連接池2.0再到現在的事務,一步一個腳 ...
  • 算術異常類:ArithmeticExecption 空指針異常類:NullPointerException 類型強制轉換異常:ClassCastException 數組負下標異常:NegativeArrayException 數組下標越界異常:ArrayIndexOutOfBoundsExcepti ...
  • 在《基於Spring Boot,使用JPA操作Sql Server資料庫完成CRUD》,《基於Spring Boot,使用JPA調用Sql Server資料庫的存儲過程並返回記錄集合》完成了CRUD,調用存儲過程查詢數據。 很多複雜的情況下,會存在要直接執行SQL來獲取數據。 通過“EntityMa ...
  • 標題示例: 標題一 標題二 標題三 標題四 標題五 標題六 連接示例: " " "github" 無序列表示例: 1 2 3 4 代碼示例: 1、一行代碼用``包含 2、多行代碼用一對 { "code":1, "message":"成功", "object":{ }, "map":{}, "hand ...
  • 如果準備工作: 1.Python 2.Django 3.Git 安裝Python: 官網下載 安裝Django: 現在正式開始創建一個名為my_blog的Django項目: 建立Django app(article): 到目前為止的項目結構如下: 併在my_blog/my_blog/setting. ...
  • 1.什麼是用例? 用例模型主要應用在工程開發的初期進行系統需求分析階段,描述了系統具備什麼功能,也就是說從用戶的角度觀察系統應該支持哪些功能,同時幫助系統分析員對系統功能有個全面的認識,從巨集觀上描述系統的行為。 用例模型包括的基本元素有:用例,角色,系統。 2用例的作用 一個系統中可以包含多個用例, ...
  • 【那座山,正當頂上,有一塊仙石。其石有三丈六尺五寸高,有二丈四尺圍圓。三丈六尺五寸高,按周天三百六十五度;二丈四尺圍圓,按政歷二十四氣。上有九竅八孔,按九宮八卦。四面更無樹木遮陰,左右倒有芝蘭相襯。蓋自開闢以來,每受天真地秀,日精月華,感之既久,遂有靈通之意。內育仙胞,一日迸裂,產一石卵,似圓球樣大 ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...