一、軟體建模基本內容:
(一)領域建模
(二)需求建模
描述軟體向使用者所能提供的外在特性,包括軟體的目標、功能等特性。
(三)設計模型
軟體的設計方案,包括軟體的實現結構、構件、檔案等。
(四)測試模型
測試軟體的模型描述
二、軟體建模方法
大致分為以下三種,但在實際的軟體建模過程中將其三和一進行建模。
(一)面向功能建模——功能分層劃分
(二)面向資料建模
(三)物件導向建模
三、uml九大類圖
1、用例圖
描述角色以及角色與用例之間的連線關係。說明的是誰要使用系統,以及他們使用該系統可以做些什麼。乙個用例圖包含了多個模型元素,如系統、參與者和用例,並且顯示了這些元素之間的各種關係,如泛化、關聯和依賴。
2、類圖
類圖是描述系統中的類,以及各個類之間的關係的靜態檢視。能夠讓我們在正確編寫**以前對系統有乙個全面的認識。類圖是一種模型型別,確切的說,是一種靜態模型型別。
3、物件圖
與類圖極為相似,它是類圖的例項,物件圖顯示類的多個物件例項,而不是實際的類。它描述的不是類之間的關係,而是物件之間的關係。
4、活**
描述用例要求所要進行的活動,以及活動間的約束關係,有利於識別並行活動。能夠演示出系統中哪些地方存在功能,以及這些功能和系統中其他元件的功能如何共同滿足前面使用用例圖建模的商務需求。
5、狀態圖
描述類的物件所有可能的狀態,以及事件發生時狀態的轉移條件。可以捕獲物件、子系統和系統的生命週期。他們可以告知乙個物件可以擁有的狀態,並且事件(如訊息的接收、時間的流逝、錯誤、條件變為真等)會怎麼隨著時間的推移來影響這些狀態。乙個狀態圖應該連線到所有具有清晰的可標識狀態和複雜行為的類;該圖可以確定類的行為,以及該行為如何根據當前的狀態變化,也可以展示哪些事件將會改變類的物件的狀態。狀態圖是對類圖的補充。
6、序列圖(順序圖)
序列圖是用來顯示你的參與者如何以一系列順序的步驟與系統的物件互動的模型。順序圖可以用來展示物件之間是如何進行互動的。順序圖將顯示的重點放在訊息序列上,即強調訊息是如何在物件之間被傳送和接收的。
7、協作圖
和序列圖相似,顯示物件間的動態合作關係。可以看成是類圖和順序圖的交集,協作圖建模物件或者角色,以及它們彼此之間是如何通訊的。如果強調時間和順序,則使用序列圖;如果強調上下級關係,則選擇協作圖;這兩種圖合稱為互動圖。
8、構件圖 (元件圖)
描述**構件的物理結構以及各種構建之間的依賴關係。用來建模軟體的元件及其相互之間的關係,這些圖由構件標記符和構件之間的關係構成。在元件圖中,構件時軟體單個組成部分,它可以是乙個檔案,產品、可執行檔案和指令碼等。
9、部署圖 (配置圖)
是用來建模系統的物理部署。例如計算機和裝置,以及它們之間是如何連線的。部署圖的使用者是開發人員、系統集**員和測試人員。
幾種圖的區別:
一:這九種模型圖各有側重,
1:用例圖側重描述使用者需求,
2:類圖側重描述系統具體實現;
二:描述的方面都不相同,
1:類圖描述的是系統的結構,
2:序列圖描述的是系統的行為;
三:抽象的層次也不同,
1:構件圖描述系統的模組結構,抽象層次較高,
2:類圖是描述具體模組的結構,抽象層次一般,
3:物件圖描述了具體的模組實現,抽象層次較低。
在有的文獻書籍中,將這九種模型圖分為三大類:
結構分類、動態行為和模型管理:
1:結構分類包括用例圖、類圖、物件圖、構件圖和部署圖,
2:動態行為包括狀態圖、活**、順序圖和協作圖,
3:模型管理則包含類圖。
畫圖說明
uml(統一建模語言):是物件導向的視覺化建模的一種語言。是資料庫設計過程中,在e-r圖(實體-聯絡圖)的設計後的進一步建模。
uml中有3種構造塊:事物、關係和圖,事物是對模型中最具有代表性的成分的抽象;關係是把事物結合在一起;圖聚集了相關的的事物。具體關係圖示如下:
說明:構件事物是名詞,是模型的靜態部分。
行為事物是動態部分,表示行為。
分組事物是組織部分。
注釋事物是解釋部分。
依賴:乙個事物變化會引起另乙個事物變化。
聚集:特殊的關聯,描述整體與部分的組合關係。
泛化:是一種特殊與一般的關係,如子元素(特殊)與父元素(一般),箭頭指向父元素。
實現:類元之間的關係,其中乙個類元指定了由另乙個類元保證執行的契約。一般用在介面和實現他們的類之間或用例和實現它們的協作之間。
uml提供9種檢視:類圖、物件圖,用例圖,序列圖、協作圖,狀態圖、活**,構件圖和部署圖。
在uml系統開發中有三個主要的模型:
功能模型: 從使用者的角度展示系統的功能,包括用例圖。
物件模型: 採用物件,屬性,操作,關聯等概念展示系統的結構和基礎,包括類圖。
動態模型: 展現系統的內部行為。 包括序列圖,活**,狀態圖。
下面具體說明:
1.類圖:描述一組物件、介面、協作等事物之間的關係。如下圖(摘自網路):
注:#表示protected,+表示public,-表示private
2.物件圖:描述一組物件之間的關係,是具有具體屬性值和行為的乙個具體事物,其是類圖中所建事物例項的靜態快照,其與類圖的主要區別是乙個是抽象的,而物件圖是具體的。如下圖(摘自網路):
3.用例圖:描述一組用例、參與者以及它們之間的關係,其展示的是該系統在它的外面環境中所提供的外部可見服務。如下圖(摘自網路):
4.互動圖:包括序列圖(順序圖)和協作圖,兩者對應,順序圖是強調訊息時間順序,有物件生命線和控制焦點。協作圖是強調接收和傳送訊息的物件的結構組織,有路徑和順序號。如下圖(摘自網路):
序列圖:
協作圖:
5.狀態圖:展示了乙個狀態機,由狀態、轉換、事件和活動組成。強調事件行為的順序。如下圖(摘自網路):
6.活**:是一種特殊的狀態圖,實現乙個活動到另乙個活動的流程。如下圖(摘自網路):
7.構件圖和部署圖:構件圖展示一組構件之間的組織和依賴關係,並以全域性的模型展示出來。部署圖是構件的配置及描述系統如何在硬體上部署。如下圖(摘自網路):
四、系統分析工具
流程檢視、功能檢視、物件檢視、任務/崗位檢視等。
五、組織結構分析
通過組織結構分析,進行組織結構調查,便於繪製組織結構圖。
其中包括的內容為:了解各部門職責、領導與被領導關係、資訊資料傳遞(資料流向)、物資與資金流向等。
六、業務建模分析
通過業務建模分析,繪製管理業務流程圖,從而真實反映活動發生及產生的資料。(業務流程圖整體來看較為繁瑣,主要用於詳細業務流程中的關係,描述內部實體、外部實體、業務流、單據報表及賬目的四者關係,因此此過程不適用於做業務優化。)
四種業務流程圖圖形符號:
引用:
結構化 半結構化和非結構化資料
在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis,mangodb rdbms關聯式資料庫 oracle,mysql等 還有一些其它的資料庫如hbase,在這些資料庫中,又會出現結構化資料,非結構化資料,半結構化資料,下面列出各種資料型別 結構化資料 ...
結構化 半結構化和非結構化資料
在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis。mangodb rdbms關聯式資料庫 oracle,mysql等 另一些其他的資料庫如hbase,在這些資料庫中。又會出現結構化資料。非結構化資料。半結構化資料,以下列出各種資料型別 結構化資料 可...
結構化 半結構化和非結構化問題
結構化程度 是指對某一決策問題的決策過程 決策環境和規律,能否用明確的語言 數學的或邏輯學的 形式的或非形式的 定量的或定性的 給予說明或描述清晰程度或準確程度。按照決策問題的結構化程度不同把決策問題分成結構化問題 半結構化問題和非結構化問題三種型別。1 結構化決策問題 結構化決策問題相對比較簡單 ...