5种视图法进行架构设计

玩技站长
玩技站长
玩技站长
管理员, Keymaster
10735
文章
669
评论
测试分享评论167字数 1029阅读3分25秒阅读模式
摘要1 逻辑架构逻辑架构的重点是考虑软件功能性需求。No 考虑的方面产出物工具说明1系统功能划分为几个子系统与功能模块?系统功能树树型结构

1. 逻辑架构
逻辑架构的重点是考虑软件功能性需求。

No.考虑的方面产出物工具说明
1系统功能划分为几个子系统与功能模块?系统功能树树型结构图
2向什么用户提供什么样的功能?用例模型UML用例图体现用户和行为
3每个功能都是怎样的操作流程与分支?用例描述用例描述表含输入输出、事件流分析;
不要有界面描述
UML活动图进行业务流程分析,包括泳道图
4如何通过界面与用户交互?怎样交互?鲁棒分析鲁棒图通过对“用例描述表”进行原文分析法拣出名词和动词
5应当设计哪些类与界面?怎样设计?领域模型UML类图
6与哪些外部系统接口?怎样接口?接口描述UML类图

文章源自玩技e族-https://www.playezu.com/203777.html

2.开发架构

开发架构重点关注的是开发编码实现方面的问题。文章源自玩技e族-https://www.playezu.com/203777.html

No.考虑的方面产出物工具说明
1分层结构设计分层架构图(开发架构图)各种绘图工具好的分层结构支持自动化测试
2开发技术选项开发语言
开发框架
开发工具
考虑商用产品、开源框架、自研框架
3模块划分源码工程;Project目录结构;
分包(分库)
4开发规范开发/编码规范文档;
5软件质量属性分析和决策结果考虑运行期和开发期软件质量属性,并权衡利弊进行决策。

文章源自玩技e族-https://www.playezu.com/203777.html

3.数据架构

数据架构不仅仅要考虑开发中涉及到的数据库,实体模型,也要考虑物理架构中数据存储的设计。文章源自玩技e族-https://www.playezu.com/203777.html

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.运行架构

运行架构关注的不再是全局而是局部,着重关注那些关键点与难点,常常需要技术攻关与预研。主要考虑控制流、通讯机制、资源争用、锁机制、同步异步、并发、串行,同时也要考虑质量属性。文章源自玩技e族-https://www.playezu.com/203777.html

No.考虑的方面产出物工具说明
1运行:同步vs.异步;并发vs.串行考虑开发架构中代码的实现。
2交互:对象间交互;状态转换考虑开发架构的合理性,到类、到接口、到代码。
3质量:安全;可靠;可伸缩考虑开发架构的合理性
4性能:响应时间;吞吐量估算:
在线人数、并发人数;
每秒事务量;
响应时间。
5.物理架构

物理架构主要考虑硬件选择和拓扑结构,软件到硬件的映射,软硬件的相互影响。文章源自玩技e族-https://www.playezu.com/203777.html

考虑的方面产出物工具说明
1网络方面:网络拓扑;网络设备;安全机制拓扑图
安全规范
2性能方面:可靠性、可伸缩性需要什么样设备性能
3部署方面:集中式还是分布式;组件部署部署图

实际在执行时有两种观念:一是五种视图按逻辑架构、开发架构、数据架构、运行架构、物理架构顺序进行;二是五种视图穿插进行设计,尤其是复杂系统,五种视图穿插进行思考更有利于思考的全局性和完整性。文章源自玩技e族-https://www.playezu.com/203777.html 文章源自玩技e族-https://www.playezu.com/203777.html

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证