zoukankan      html  css  js  c++  java
  • 如何做好架构设计与写好架构设计的文档?

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

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

  • 相关阅读:
    试试用有限状态机的思路来定义javascript组件
    利用grunt-contrib-connect和grunt-connect-proxy搭建前后端分离的开发环境
    利用bootstrap的modal组件自定义alert,confirm和modal对话框
    利用轮播原理结合hammer.js实现简洁的滑屏功能
    等高分栏布局小结
    圣杯布局小结
    浏览器缓存知识小结及应用
    基于淘宝弹性布局方案lib-flexible的问题研究
    淘宝弹性布局方案lib-flexible实践
    Js位置与大小(1)——正确理解和运用与尺寸大小相关的DOM属性
  • 原文地址:https://www.cnblogs.com/chenzhao/p/2355770.html
Copyright © 2011-2022 走看看