软件系统的架构设计方案一
一、架构的定义
架构像一个操作系统,不同角度有不同理解,不同关切者有各自着重点,多视点不同理解是架构需要的,也只有通过多视点来考察才能演化出一个有效的架构。
从静态的角度,架构要回答一个系统在技术上如何组织;从变化的角度,架构要回答如何支持系统不断产生的新功能、新变化以及适时的重构;从服务质量的角度,架构要平衡各种和用户体验有关的指标;从运维的角度,架构要回答如何充分利用计算机或网络资源及其扩展策略;从经济的角度,架构要回答如何在可行的基础上降低实现成本等。
软件系统架构是关于软件系统的结构、行为、属性、组成要素及其之间交互关系的高级抽象。任何软件开发项目,都会经历需求获取、系统分析、系统设计、编码研发、系统运维等常规阶段,软件系统架构设计就位于系统分析和系统设计之间。做好软件系统架构,可以为软件系统提供稳定可靠的体系结构支撑平台,还可以支持最大粒度的软件复用,降低开发运维成本。
二、软件系统架构设计方法步骤
基于体系架构的软件设计模型把软件过程划分为体系架构需求、设计、文档化、复审、实现和演化6个子过程。
体系架构需求:将用户对软件系统功能、性能、界面、设计约束等方面的需求进行获取、分析、加工,并将每一个需求项目抽象定义为构件(类的集合)。
体系架构设计:采用迭代的方法,首先选择一个合适的软件体系架构风格(如C/S、B/S、N层、管道过滤器风格、C2风格等)作为架构模型,然后将需求阶段标识的构件映射到模型中,分析构件间的相互作用关系,最后形成量身订做的软件体系架构。
体系架构文档化:生成用户和研发人员能够阅读的体系架构规格说明书和体系架构设计说明书。
体系架构复审:及早发现体系架构设计中存在的缺陷和错误,及时予以标记和排除。
体系架构实现:设计人员开发出系统构件,按照体系架构设计规格说明书进行构件的关联、合成、组装和测试。
体系架构演化:如果用户需求发生了变化,则需相应地修改完善优化、调整软件体系结构,以适应新的变化了的软件需求。
以上6个子过程是软件系统架构设计的通用方法步骤。但由于软件需求、现实情况的变化是难以预测的,这6个子过程往往是螺旋式向前推进。