我們由乙個小的例子引入建模這個話題!
建造乙個狗窩不需要太多的考慮,因為狗的需求是簡單的,直接去建就可以滿足他們的所有需求。
建造一座房子或者一座高層建築就需要深思熟慮了。乙個家庭或者客房的需求不那麼不那麼簡單,因此即使為了滿足客戶最起碼的需求,也不能直接去建造,而是必須建立以資額模型。不同的人員會從不同的角度宜不同的目的來看待問題,所以對於複雜的建築物,你必須作平面圖設計、立體圖設計、暖氣/冷氣設計、電氣設計、管道設計、甚至網路設計。沒有任何乙個模型能夠充分地捕捉乙個複雜建築的所有方面。
而在軟體界,他曾經這麼說
綜合我們的例子和專家的看法,構造建築和構造軟體,在某些地方還是相通的,在建築界解決複雜要求,考慮複雜環境的方法:建模,我們也可以拿過來用!
uml概述
基本定義:
uml (unified modeling language)為物件導向軟體設計提供統一的、標準的、視覺化的建模語言。適用於描述以用例為驅動,以體系結構為中心的軟體設計的全過程。
uml的定義包括uml語義和uml表示法兩個部分。
(1) uml語義:uml對語義的描述使開發者能在語義上取得一致認識,消除了因人
而異的表達方法所造成的影響。
(2) uml表示法:uml表示法定義uml符號的表示法,為開發者或開發工具使用這
些圖形符號和文字語法為系統建模提供了標準。
我們 這不再贅述基本的概念,咱們討論討論,大家有爭議或者迷茫的地方
關係:include和extend
對比著兩個關係,我們可以發現,包含有一種更強的聯絡,而擴充套件是可有可無的聯絡,在圖形表現方面,包含有
理解業務
這塊就是我們要充分理解需求,分析出我們系統的主要業務和業務流程,有必要就畫畫!
做好標記
在理解業務時,對名字,尤其是操作和表名要特備標記,以防我們丟失一些重要的業務!
緊跟經驗
很多時候,我們畫圖,要緊跟我們的生活經驗,專案經驗,業務的理解和我們的專案經驗息息相關!
事後查驗
所有的事情都不是一蹴而就,有時候我們需要多接觸,多了解,我們畫出nul圖後也要帶到內容中去,進行反覆查驗,完善我們的系統!
總結:
uml就像我們生活中的演算紙,我們在上邊勾勾畫畫,試圖揭開謎團,我們畫好了之後,還會找人交流,這正好符合咱們的軟體開發,我們的軟體開發實際沒有什麼是新鮮的,他也照樣是生活的乙個縮影!
軟體工程(軟體設計)
系統分析階段完成了新系統的邏輯設計模型,回答了系統 是什麼 的問題,接下來就是軟體設計階段了,解決 怎麼幹 我們知道軟體設計是整個系統開發過程中最為核心的部分,它可以分為總體設計 概要設計 和詳細設計 過程設計 兩個階段。如果沒有軟體設計,我們只能建立乙個不穩定的系統結構,造成頭重腳輕的後果,而判斷...
測試開發工程師必備 軟體工程理論
1.可行性分析是在系統開發的早期所做的一項重要的論證工作,它是決定該系統是否開發的決策依據,因必須給出 c 的回答。a 確定 b 正確 c 行或不行 d 無二義 2 一般地,可以將軟體開發的生命週期劃分為問題定義 b 需求分析 總體設計 詳細設計 編碼和單元測試 綜合測試和維護8個階段。a 專案論證...
軟體設計師教程目錄
第1章 計算機系統知識 1.1計算機系統基礎知識1 1.2計算機體系結構1 1.3安全性 可靠性與系統效能評測基礎知識34 第2章 程式語言基礎知識51 2.1程式語言概述5 1 2.2語言處理程式基礎6l 第3章 作業系統知識94 3.1作業系統基礎知識94 3.2處理機管理98 3.3儲存管理 ...