《软件架构设计》学习笔记--4--架构设计的过程概述
来源:互联网 发布:詹姆斯个人数据统计 编辑:程序博客网 时间:2024/05/19 12:38
架构设计的过程概述
本篇博客概述性地写一下架构设计的过程,内容包括3原则和6步骤。
3个原则
- [原则1] 看透需求
- [原则2] 架构大方向正确
- [原则3] 设计好架构的各个方面
[原则1] 看透需求
需求要全。指的是“功能、质量、约束”这需求的三方面都要有,不要遗漏。
需求之间的关系要搞清楚。指的是需求之间的约束矛盾关系、追溯关系。
不同受众有不同需求。需求项之间有约束和联系。
[原则2] 架构大方向正确
架构大方向正确是一种策略,关键是要先设计、设计正确的概念架构。
架构新手和有经验的架构师的区别之一,在于是否懂得、并能有效地进行概念架构设计。
概念架构是直指系统设计目标的设计思想和重大选择—-是关乎任何复杂系统成败的最关键的、指向性的设计。
[原则3] 设计好架构的各个方面
架构师必须具备“忘却”的能力在架构设计初期避免涉及太多细节性的东西。但是大型系统又是复杂的,在细化架构设计阶段本书推荐“5视图方法”将架构的各个方面设计好。
6个步骤
作者总结道,整个架构设计的过程包含6大步骤:
- 需求分析
- 领域建模
- 确认关键需求
- 概念架构设计
- 细化架构设计
- 架构验证
每个步骤都有其输入与输出。下图展示出了6个步骤之间的演进关系。
需求分析。在没有全面认识需求并权衡不同需求之间关系及相互影响的情况下,设计出的架构可能有问题。
领域建模。领域建模的目的是,透过问题领域的重重现象,捕捉其背后最为稳固的领域概念,以及这些概念之间的关系。在项目前期,所建立的领域模型将为所有团队成员之间、团队成员和客户之间的交流提供共同认可的语言核心。随着项目的进展,领域模型不断被精化,最终成为整个软件的问题领域层,该层决定了软件系统能力的范围。
确定关键需求。这不仅要求对功能需求进行筛选,还要对非功能需求进行权衡,最终确定对软件架构起关键作用的需求子集。
概念架构设计。概念架构设计必须同时重视关键功能和关键质量。
细化架构设计。本书提出了“5视图法”的细化架构设计方法论。
架构验证。对后续工作产生重大影响、返工代价很高的任何工作都应该进行验证。软件需求如此,架构设计方案也如此。从架构验证工作得到的不应该仅仅是“软件架构是否有效”的回答,还必须有可实际运行的程序。这些成果为后续开发提供了实在支持。
- 《软件架构设计》学习笔记--4--架构设计的过程概述
- 软件架构设计学习笔记
- 架构实战--软件架构设计的过程
- 软件架构设计 笔记
- 学习软件架构设计
- 《软件架构设计》学习笔记--2--软件架构概念
- 《软件架构设计》学习笔记--3--软件架构视图
- 软件架构设计学习笔记(1) 基本概念
- 《软件架构设计》学习笔记&摘录
- 《软件架构设计》学习笔记--0--开篇
- 软件架构设计的一般过程
- 软件架构设计的一般过程
- 软件架构设计的一般过程
- 《软件架构设计》学习笔记--8--6大步骤4:概念架构设计
- 架构实战—软件架构设计的过程
- 《架构实践--软件架构设计的过程》读书笔记
- 架构实战—软件架构设计的过程
- 软件的架构设计
- view.layer.shouldRasterize = YES(光栅化)的使用 及图片性能整理
- mysql数据库安装的时候可能出现的问题及解决办法
- 等额本金
- 字符串类——NSString/NSMutableString
- 关于AndroidStudio运行项目时出现 Could not create plugin of type 'AppPlugin'.
- 《软件架构设计》学习笔记--4--架构设计的过程概述
- Unity3D 获取与设置对象Transform组件下的position,rotation
- 如何变得更聪明?
- OpenCV中的三种图像数据结构CvMat, IplImage和Mat(二)IplImage
- 苹果电脑mac安装nginx教程
- Android WebView和JavaScript之间的交互
- Redis快速入门
- flv封装ffmpeg编码的视音频笔记(二)
- JDK各个版本的新特性jdk1.5-jdk8