5中視圖法進行架構設計

1.  邏輯架構

邏輯架構的重點是考慮軟件功能性需求。數據庫

No.安全

考慮的方面網絡

產出物架構

工具併發

說明框架

1異步

系統功能劃分爲幾個子系統與功能模塊?分佈式

系統功能樹工具

樹型結構圖性能

 

2

向什麼用戶提供什麼樣的功能?

用例模型

UML用例圖

體現用戶和行爲

3

每一個功能都是怎樣的操做流程與分支?

用例描述

用例描述表

 

含輸入輸出、事件流分析;

不要有界面描述

UML活動圖

進行業務流程分析,包括泳道圖

4

如何經過界面與用戶交互?怎樣交互?

魯棒分析

魯棒圖

經過對「用例描述表」進行原文分析法揀出名詞和動詞

5

應當設計哪些類與界面?怎樣設計?

領域模型

UML類圖

 

6

與哪些外部系統接口?怎樣接口?

接口描述

UML類圖

 

 

2.  開發架構

 

開發架構重點關注的是開發編碼實現方面的問題。

 

No.

考慮的方面

產出物

工具

說明

1

分層結構設計

分層架構圖(開發架構圖)

各類繪圖工具

好的分層結構支持自動化測試

2

開發技術選項

開發語言

開發框架

開發工具

 

考慮商用產品、開源框架、自研框架

3

模塊劃分

源碼工程;Project目錄結構;

分包(分庫)

 

 

4

開發規範

開發/編碼規範文檔;

 

 

5

軟件質量屬性

分析和決策結果

 

考慮運行期和開發期軟件質量屬性,並權衡利弊進行決策。

 

3.  數據架構

 

數據架構不單單要考慮開發中涉及到的數據庫,實體模型,也要考慮物理架構中數據存儲的設計。

No.

考慮的方面

產出物

工具

說明

1

數據是集中仍是分佈存儲的?如何考慮分佈式存儲?

數據架構圖

 

 

2

領域模型到數據庫表的轉換?表結構關係的設計?

邏輯模型

物理模型

ER圖

Power Designer

Visio

 

3

實體如何設計?充血模型和貧血模型?

UML類圖

 

 

4

使用什麼數據庫?關係型仍是非關係型?

選型結果

 

 

 

 

關係型數據庫

非關係型數據庫(NoSQL)

Oracle(首次發行:1980年)

MySQL(首次發行:1995)

MS SQL Server(首次發行:1989)

PostgreSQL(首次發行:1989)

IBM DB2(首次發行:1983)

Microsoft Access(首次發行:1992)

Sybase ASE(首次發行:1987)

SQLite(首次發行:2000)

…… 

MongoDB(首次發行:2009)

Cassandra(首次發行:2008)

Apache CouchDB

Hbase

Redis

db4o

BaseX

…… 

 

 

4.  運行架構

 

運行架構關注的再也不是全局而是局部,着重關注那些關鍵點與難點,經常須要技術攻關與預研。主要考慮控制流、通信機制、資源爭用、鎖機制、同步異步、併發、串行,同時也要考慮質量屬性。

No.

考慮的方面

產出物

工具

說明

1

運行:同步vs.異步;併發vs.串行

考慮開發架構中代碼的實現。

 

 

2

交互:對象間交互;狀態轉換

考慮開發架構的合理性,到類、到接口、到代碼。

 

 

3

質量:安全;可靠;可伸縮

考慮開發架構的合理性

 

 

4

性能:響應時間;吞吐量

估算:

在線人數、併發人數;

每秒事務量;

響應時間。

 

 

 

 

5.  物理架構

 

物理架構主要考慮硬件選擇和拓撲結構,軟件到硬件的映射,軟硬件的相互影響。

 

 

考慮的方面

產出物

工具

說明

1

網絡方面:網絡拓撲;網絡設備;安全機制

拓撲圖

安全規範

 

 

2

性能方面:可靠性、可伸縮性

須要什麼樣設備性能

 

 

3

部署方面:集中式仍是分佈式;組件部署

部署圖

 

 

 

 

實際在執行時有兩種觀念:一是五種視圖按邏輯架構、開發架構、數據架構、運行架構、物理架構順序進行;二是五種視圖穿插進行設計,尤爲是複雜系統,五種視圖穿插進行思考更有利於思考的全局性和完整性。

相關文章
相關標籤/搜索