如何做好架构设计与写好架构设计的文档?

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 )。

这种做法不仅有利于我们编写架构设计文档,同时更是一种好的架构设计思考流程。

posted @ 2012-02-17 14:35  attitudedecidesall  Views(2357)  Comments(0Edit  收藏  举报