如何做好架构设计与写好架构设计的文档
2008-01-08 15:37
483 查看
1 建议读一下IEEE1471
2 一下是我的写文档的一些心得:
现代架构设计文档的编写
4+1 视图与 UML 软件架构设计已经逐渐成为现代软件开发过程的核心,然而能够清晰表明架构设计并不是一件容易的事,就面向对象开发而言, RUP 的 4+1 视图已在架构设计的撰写中得到了广泛的应用和认可。
对于 4+1 view 的描述有几个不同版本(或包含的视图不同,或视图的名称不同),文中以 Philippe Kruchten, November 1995 提出的 4+1 视图为准。
4+1 视图包括:逻辑视图( Logic View ),开发视图( Develop View ),进程视图( Process View ),物理视图( Physical View )和场景视图( Scenarios )。
视图间的关系
4+1 视图不仅便于我们记录架构设计,实际上它也指导了我们进行架构设计活动的部分过程。
通常我们选择 UML 来表现各种视图,以下列出了 UML 和各视图的对应关系
4+1 视图 UML
场景视图 use case
逻辑视图 类图
开发视图 类图,组件图
进程视图 无完全对应
部署视图 部署图
在架构设计稳定中通常不会给出较多的用例描述,这些是在需求稳定中定义。但是往往架构文档会选择一些用例,列入文档中,这些用例和一些非功能性需求一起用以证明架构的有效和正确性。在逻辑视图中用例的实现是必不可少的一节,尽管架构设计更关注非功能性需求。
融入 MDA 的思想 对于逻辑视图和开发视图所应包含的内容常常会觉得很难区分两者间的明显界限。逻辑视图包含更多的分析模型与实现技术本身相关性应该较少,如业务对象模型及其扩展。而开发视图则会与实现技术紧密相关。
随着 MDA 思想的推广,在架构设计文档的撰写方面也产生了影响,我们不难把 MDA 的 PIM 和逻辑视图联系起来,而把 MDA 中的 PSM 和开发视图联系起来。
在编写逻辑视图是我们应该描述与技术平台无关的模型,而开发视图则描述与实现技术平台相关的模型。
如在逻辑视图中表现的某些实体类,我们会在开发视图中转换为 EJB 组件(实体 Bean )。
这种做法不仅有利于我们编写架构设计文档,同时更是一种好的架构设计思考流程。
2 一下是我的写文档的一些心得:
现代架构设计文档的编写
4+1 视图与 UML 软件架构设计已经逐渐成为现代软件开发过程的核心,然而能够清晰表明架构设计并不是一件容易的事,就面向对象开发而言, RUP 的 4+1 视图已在架构设计的撰写中得到了广泛的应用和认可。
对于 4+1 view 的描述有几个不同版本(或包含的视图不同,或视图的名称不同),文中以 Philippe Kruchten, November 1995 提出的 4+1 视图为准。
4+1 视图包括:逻辑视图( Logic View ),开发视图( Develop View ),进程视图( Process View ),物理视图( Physical View )和场景视图( Scenarios )。
视图间的关系
4+1 视图不仅便于我们记录架构设计,实际上它也指导了我们进行架构设计活动的部分过程。
通常我们选择 UML 来表现各种视图,以下列出了 UML 和各视图的对应关系
4+1 视图 UML
场景视图 use case
逻辑视图 类图
开发视图 类图,组件图
进程视图 无完全对应
部署视图 部署图
在架构设计稳定中通常不会给出较多的用例描述,这些是在需求稳定中定义。但是往往架构文档会选择一些用例,列入文档中,这些用例和一些非功能性需求一起用以证明架构的有效和正确性。在逻辑视图中用例的实现是必不可少的一节,尽管架构设计更关注非功能性需求。
融入 MDA 的思想 对于逻辑视图和开发视图所应包含的内容常常会觉得很难区分两者间的明显界限。逻辑视图包含更多的分析模型与实现技术本身相关性应该较少,如业务对象模型及其扩展。而开发视图则会与实现技术紧密相关。
随着 MDA 思想的推广,在架构设计文档的撰写方面也产生了影响,我们不难把 MDA 的 PIM 和逻辑视图联系起来,而把 MDA 中的 PSM 和开发视图联系起来。
在编写逻辑视图是我们应该描述与技术平台无关的模型,而开发视图则描述与实现技术平台相关的模型。
如在逻辑视图中表现的某些实体类,我们会在开发视图中转换为 EJB 组件(实体 Bean )。
这种做法不仅有利于我们编写架构设计文档,同时更是一种好的架构设计思考流程。
相关文章推荐
- 如何做好架构设计与写好架构设计的文档?
- 如何做好架构设计与写好架构设计的文档?
- 如何做好软件系统的架构设计2
- 架构师必看:谈软件架构师如何做好架构设计(上)
- 如何做好架构设计
- 如何做好软件架构设计
- 如何做好软件系统的架构设计?
- 谈软件架构师如何做好架构设计
- 如何一步一步用DDD设计一个电商网站(二)—— 项目架构
- 我是如何设计游戏服务器架构的
- 互联网架构,如何进行容量设计?
- 如何做好产品设计系列之一:序言
- 三个步骤教你如何做好后台产品设计
- [转] .NET领域驱动设计—看DDD是如何运用设计模式颠覆传统架构
- 互联网架构,如何进行容量设计?
- 服务端技术进阶(三)从架构到监控报警,支付系统的设计如何步步为营
- 现代架构设计文档的编写
- 架构设计:生产者/消费者模式[1]:如何确定数据单元?
- 如何写好技术文档
- 架构漫谈(四):如何做好架构之架构切分