分享

概念性架构设计的步骤

 icecity1306 2015-05-23

概念性架构设计的输入是关键的功能需求、关键的质量属性需求和关键的商业需求。

温昱在《软件架构设计》中给出了三个基本步骤:

第一步,鲁棒性分析。通过分析表示关键功能需求的用例规约中的事件流,识别出实现用例规定的功能的主要对象及其职责,形成以职责模型为主的初步设计。

鲁棒性分析是从用例到面向对象设计进行过度的一种技术。鲁棒性分析用鲁棒图作为描述工具。鲁棒图用边界对象、控制对象和实体对象三种元素。

边界对象对模拟外部环境与系统之间的交互建模。它负责接收外部输入,展现或传递处理的结果。人或外部系统都是通过边界对象与系统进行交互。

控制对象对行为进行封装,描述用例中事件流的控制行为。

实体对象对需要存储的信息进行描述,与领域模型中的对象有良好的对应。

鲁棒图的三种对象很好地概括了实际系统中对象的三种职责:交互、控制、信息。这三种职责与组成架构的抽象元素有完美的对应关系:连接元素、处理元素、数据元素。与MVC的对应关系是:边界对象对应视图,控制对象对应控制器,实体对象对应模型。

第二步,引入架构模式。架构模式的核心是架构机制,即以“组件+连接件”的形式表示的关键设计元素和关键交互方式。

在现行软件架构设计中,已经出现了很多有效的架构模式。根据系统的规模和更抽象的设计决策,选择一个合适的架构模式,确定交互机制,并将鲁棒图中的各个对象分配到架构模式中各个部分中,形成系统初始的概念性架构。

第三步,质量属性分析。利用“属性-场景-决策”方法,对关键的“质量属性”在特定的“场景”下如何得到满足为目标,制定出满足非功能需求的高层设计决策,并根据设计决策对前面两部的工作成果进行增强、调整,以保证概念性架构体现这些与非功能需求相关的设计决策。

上述三步需要循环式地反复进行,直到满意为止。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多