1. 程式人生 > >【UML視訊總結】——UML概述

【UML視訊總結】——UML概述

本章介紹內容較多,但都是提綱要領,不會細細展開

一、面向物件技術

面向物件技術是一種程式設計方法,是對現實世界中問題的抽象方式         軟體質量衡量的指標 外部: 1、正確性 2、健壯性和可靠性 3、效能 內部: 1、模組性 2、靈活性和可擴充套件性 能不能很好的根據需求方便的修改軟體。 3、可複用性 有新的需求是,程式碼在原本的基礎上是不是能很輕鬆的就更改了。 4、可相容性 版本之間相容,應對環境是不是很平滑。

二、為什麼要建模

模型:模型是對現實的簡化。 把複雜的系統變成小的系統,採用“逐個擊破”原則逐一解決 為什麼視覺化建模? 就像米老師說的,一張圖勝過千言萬語 用圖表現出軟體之間的關係,清楚明瞭
模型組成
模型中的6個元組 M={O,G,T,V,R,S} O:表示模型的物件集 G:目標集 T:系統所處的環境及約束條件 V:變數集,包括內部變數、外部變數、狀態變數 R:變數之間的關係集 S:狀態集,從初態到終態 建模原理及原則 1、分解 2、抽象:非常重要 3、泛華 4、投影/檢視:一個物件不同角度 5、構件化 6、形式化

三、什麼是UML


UML不是程式語言 UML不是形式化語言 軟體危機的主要特徵: 1、軟體開發週期大大超過規定日期 2、軟體開發成本嚴重超標 3、軟體質量難以保證

五、軟體過程

不同的軟體開發過程
  • 美國CMM/TSP/PSP
  • ISO900系列
  • ISO/SPICE標準
  • RUP(統一軟體過程
  • XP(極限程式設計)
RUP的三個特點 1、用例驅動 2、以架構為中心 3、採用迭代和增量 一個軟體產品開發應包括多次迴圈 每個迴圈有四個階段: 初始、細化、構造、移交 每個階段又包括多個迭代過程

六、UML工具

最常用的Rational rose 用來畫圖

七、UML的結構

整個UML學習的重中之重

UML基本結構塊

1、事物

    構成模型圖的一些基本圖示符號,他們表示一些面向物件的基本概念     a. 結構事物         Ⅰ.類(class)          對一組具有相同屬性、方法、關係和語義的物件的描述         Ⅱ.介面(interface)
        描述了一個類或構件的服務的操作集。僅僅定義了一組操作規範,沒有給具體的實施方法         Ⅲ.協作(conllaboration)         Ⅳ.用例(use case)         對一組動作序列的描述         Ⅴ.主動類(active class)         其物件至少擁有一個程序或程序線,因此他能啟動控制活動         Ⅵ.構件(components)         是系統中物理的、可替代的部件,他遵循且提供一組介面的實現         是一個系統中存在的物理結構,如:一個.DLL動態連結庫         Ⅶ.節點(nodes)         執行時總在一個物理元素,通常有一些記憶能力、處理能力     b.行為事物     是UML模型的動態部分。他們是模型中的動詞,描述了跨越時間和空間的為         Ⅰ.互動(interaction)         由特定語境中共同完成一定任務的一組物件之間的交換的訊息組成。         Ⅱ.狀態機(state machine)         描述了一個物件或一個互動在生命期內相應事件所經歷的狀態序列。         帶個類或一組類之間協作的行為可以用狀態機來描述。         一個狀態機書記到一些其他元素,包括狀態轉換(從一個狀態到另一個狀態流)、事件(發生轉換的事物)、活動(對一個轉換的響應)     c.分組事物     是UML模型的組織部分,是主要的分組事物是包。     包是唯一的組織機制     包是把元素組織成組的機制     包可以擁有其他元素,這些元素可以是結構事物中的任意一個,甚至可以是其他的包     一個包形成一個名稱空間。在一個包中同一種元素的名稱必須唯一。不同種類的元素可以有相同的名稱。     d.註記事物         註解(note)         主要的註釋事物

2、關係

    基本圖示符號之間的關係     a.關聯association         兩個或多個類之間的結構性關係,最普遍存在的關係     b.依賴dependency         一個類依賴於一個類,兩個事物的使用關係,可以指類、包或者構件之間的關係     c.泛化generalizetion         面向物件中的繼承關係。子元素共享了父元素的結構和行為     d.實現realization         一個類實現了一個藉口,類源之間的語義關係

3、圖

    最最重要的部分,後期接手維護的重要部分     特定的視角對系統所做的抽象描述     a.類圖         系統中的所有類,及之間的關係     b.物件圖     c.狀態圖     d.構件圖         系統之間構件之間的關係     e.部署圖         設計開發結束之後,如何佈置到實際生活中,比如要使用多少伺服器等     f.協作圖         和序列圖共同描述系統的動態行為,類和物件之間的互動     g.互動序列圖     h.活動圖         描述系統中的某種活動,有點類似流程圖     i.用例圖         對使用者的需求進行描述,軟體開發人員和使用者共同繪製 事物是對模型中最具代表性的成分的抽象;關係把事物結合在一起;圖聚集了相關的事物。

UML規則

UML有用於描述如下物理的語義規則     a.命名為事物、關係和圖起名     b.範圍給一個名稱以特定含義的語境     c.可見性怎樣讓其他人使用或看見名稱     d.完整性事物如何正確、一致地相互聯絡     e.執行執行或模擬動態模型的含義是什麼

UML的公共機制

1、規格說明     a.UML不只是一種圖形語言,在它的圖形表示法背後都有一個規格說明     b.這個規格說明提供了對構造塊的語法和語義的文字敘述     c.圖形表示法用來對系統進行視覺化,規格用來描述系統的細節     d.規格提供了一個語義底版,UML圖只是對底版的一個簡單投影 2、修飾     a.UML表示法中的每一個元素都有一個基本符號,可以把每種修飾細節加到這個符號中 3、通用劃分     a.類/物件二分法         類是一個抽象;物件是這種抽象的一個具體形式         如:用例和用例例項(場景),構件和構件例項     b.介面/實現二分法         介面宣告一個契約;實現表示對契約的具體實施,它負責如實時地實現介面的完整語義 4、擴充套件機制     a.對UML圖示符號的擴充套件。     b.包括         Ⅰ.構造型stereotype         Ⅱ.標準值taggedvalue         Ⅲ.約束constraint

UML中的圖

UML表示機制的層次結構 1、用例圖 2、類圖 3、行為圖     a.狀態圖     b.活動圖     c.互動圖         物件之間的互動。         兩個圖示等價的,只是表現方式不同         Ⅰ.序列圖         Ⅱ.協同圖 4、實現圖     a.元件圖     b.部署圖 概要定義 1、用例圖     從使用者的角度來描述功能 2、靜態圖     a.類圖         定義系統中類,描述類的內部結構和類之間的關係     b.物件圖         是類圖的一個例項,描述系統在具體時間點上鎖包含的物件以及各物件之間的關係 3、行為圖     用來描述系統的動態模型和物件之間的互動關係     a.狀態圖         用來描述類的物件所有可能的狀態以及事件發生時狀態的轉移條件         比如:燈的存在開關兩種狀態,以及他們之間是如何轉變的     b.活動圖         用來描述滿足用例要求所要進行的活動以及活動間的約束關係         使用活動圖有利於識別系統的並行活動     c.互動圖         用來描述物件之間的互動關係         序列圖和協作圖可以相互轉化         Ⅰ.序列圖              描述物件之間的互動順序,強調物件間訊息傳遞的時間順序 Ⅱ.協作圖              描述物件之間的合作關係,強調說明哪些物件之間有訊息的傳遞 4、實現圖     a.構件圖         用來描述程式碼構件的物理結構以及各構件之間的依賴關係     b.實施圖         部署圖定義了一個系統中硬體的物理體系結構,用來描述實際的物理裝置以及他們之間的聯絡關係

九、UML在軟體開發各階段的應用

1、在軟體開發各階段,使用不同的UML圖對系統進行描述 2、使用用例圖來描述使用者需求;使用類圖、物件圖、包圖、構件圖、部署圖、5種靜態圖來描述系統的靜態結構;使用順序圖、合作圖、活動圖和狀態圖4種圖描述系統的動態行為 3、需求:     採用用例圖來描述需求(角色、功能、外部互動) 4、分析:明確解決問題的細節     採用類圖來描述靜態結構     採用順序圖、合作圖、活動圖、狀態圖來描述動態行為 5、設計:給出解決方案     採用類圖、包,對類的介面進行設計 6、實現:     將類用某面向物件語言實現 7、整合與交付:     構件圖、包、部署圖 8、測試:     a.單元測試:使用類圖和類的規格說明書     b.整合測試:使用類圖、包、構件圖、合作圖     c.系統測試:使用用例圖來測試系統功能

相關推薦

UML視訊總結——UML概述

本章介紹內容較多,但都是提綱要領,不會細細展開 一、面向物件技術 面向物件技術是一種程式設計方法,是對現實世界中問題的抽象方式         軟體質量衡量的指標 外部: 1、正確性 2、健壯性和

UML視訊總結(全面)

    經過和UML視訊的相處,終於在今天跟他說再見了,看完視訊給我最大的感受就是他的裡面講的面向物件的思想真是深入人心,我也從中體會到了這一點所以對他有一個很大的總結,以後會有很小的總結推出。  

Java基礎總結反射

cto 調用構造 lan 調用方法 arm tde ins java 傳遞數據 1. 什麽是反射  Class、Method、Field、Constructor,它們是反射對象。它們是類、方法、成員變量、構造器,在內存中的形式。  也就是萬物皆對象!類是類型、方法是類型、成

Java基礎總結多線程

none 加載 引用 rup 什麽 true 執行過程 lose 好處 1. java中實現多線程的兩種方式 1 //第一種:繼承Thread類,重寫run()方法 2 class ThreadTest1 extends Thread{ 3 publ

Java基礎總結字符串

col contains pan nbsp index split 內存區域 反轉 bytes 1. java內存區域(堆區、棧區、常量池) 2. String length() //長度 //獲取子串位置 indexOf(subStr) las

項目總結:怎樣做一個牛逼的Team leader?

又一 技術分享 什麽 spa 是什麽 jenkins集成 方法 模塊開發 div 隨著ITOO高校雲平臺3.1項目的結束,我們各種各樣的總結也被提上了日程。Java版本號的全部開發者和Donet版本號的全部開發者坐在一起進行了關於

代碼總結Struts2 Action接受參數方式的對比

AI nco form () 應用 username nac ring imp 一、屬性方式 1、Action中:對應表單參數的setter、getter 2、頁面中 :Form中元素name取值屬性名   <s:property value="屬性名" />

測試分析總結:測試術語的一些概念

bsp com www. 環境 執行 aid 腳本 檢查 簡單 1、【冒煙測試和回歸測試的區別】: 冒煙測試,是版本驗證測試;是微軟首先提出來的一個概念,和微軟一直提倡的每日build(構建版本)有很密切的聯系。具體說,冒煙測試就是在每日build(構建版本)建立後,對系統

算法總結博弈論相關

jsoi2009 algo n-k 流操作 sg函數 span HA font color 〖相關資料〗 《博弈論 SG函數》 〖相關題目〗 1.【bzoj1188】[HNOI2007]分裂遊戲 題意:共有n個瓶子,標號為0,1,2.....n-1,第i個瓶子中裝有

算法總結概率與期望相關

else tle 選擇 def mem html ros 也不能 algorithm 〖相關資料〗 《淺析競賽中一類數學期望問題的解決方法》 〖相關題目〗 1.【bzoj1415】[NOI2005] 聰聰和可可 題意:在一個魔法森林裏,住著一只聰明的小貓聰聰和一只可

算法總結基本算法

排序 src swap etc bre clu AD opened main 【堆排序】 〖模板代碼〗 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstrin

團隊作業總結個人總結(從後端來看整個項目)

map exp 失效 undefined defined 用戶名 目的 color scores 團隊作業總結(byPB16061082耿子鋼): 本次項目做的是一個作業管理系統,包括教師端和學生端,主要功能簡單來說為教師通過教師端來上傳學生名單,發布作業,批改作業,管理作

10.21總結一個滲透測試練習例項——發現未知的漏洞(Race condition)

Write-up地址:Exploiting an unknown vulnerability 作者:Abhishek Bundela   這篇文章跟我之前看到的文章不太一樣,作者是按照一個練習的方式簡單描述了他對一個應用進行滲透測試的過程,其中提到的許多測試雖然沒有成功,但是對於像我這樣的菜鳥來說還是有很

10.20總結一個漏洞提交頁面的提權漏洞

!!!寫完之後網頁崩潰了,然後草稿找回的內容還不對!!! Write-up地址:Add comment on a private Oculus Developer bug report  漏洞起源於作者Sarmad Hassan (Juba Baghdad)對Oculus網站漏洞(非安全漏洞

Docker學習總結2.Docker的基本組成介紹

上一篇總結我們介紹了Docker的基本資訊、優點以及使用場景。本篇我們來介紹一下Docker的基本組成。 Docker包含了以下的幾個部分:Docker Client客戶端 Docker Daemon守護程序 Docker Image映象 Docker Container容器 Docker

Docker學習總結1.Docker容器技術介紹

一般來說,我們編寫好的應用程式,需要部署在響應的伺服器中,而伺服器則是一臺安裝了OS作業系統的計算機。 在該計算機中,執行我們的應用程式,通過網路對外提供服務。期間我們的應用程式在不停的使用伺服器計算機的軟體 和硬體,來滿足它的計算和執行。 在介紹Docker之前,我們先來介紹一下容器技術。

Docker學習總結6.Docker守護式容器

上一篇總結,我們學習瞭如何執行一個“互動式”的容器,這些容器在命令互動之後就會停止。但是,在大多數情況下,我們需要一個能夠長期執行的容器來提供服務,這就是Docker的“守護式”程序。即我們可以使用守護方式來執行容器,使得容器可以在後臺一直保持執行狀態。 守護式程序的特點是:(1)能夠長期執

Docker學習總結5.Docker容器的基本操作

上一篇我們介紹了Docker的安裝和部署,本篇總結Docker安裝完畢後,我們如何進行一些基本的操作。 首先開啟我們之前安裝好docker ce的Cent OS7虛擬機器,使用“docker version”驗證docker已經安裝成功: 然後我們來學習如何操作docker容器: (1)

軟考總結不負韶光--I eat konwledge like air.

軟考於我 昨天看狗大兵的微博,才知道我們居然準備了三個月的軟考,這真是,太不可思議了。 早在大概半年前我就對軟考充滿了好奇,覺得它有點神祕,前輩說大概就是學過的自考科目的彙總,但是隻有自己經歷了才知道到底是怎麼回事兒。 一想到自己即將擁有一個“中級職稱”就驕傲的不行,雖然我不

Docker學習總結7.Docker在容器中部署靜態網站

上一篇我們介紹了Docker守護式容器的啟動方式,本篇我們來學習如何在Docker容器中部署靜態網站。 這裡我們將在Docker容器中使用Nginx搭建一個靜態網站,通過這個部署,讓大家對在前幾節中學到的Docker容器知識,有進一步的熟悉和理解。 在開始部署之前,首先我們需要先了解一個