2024年1月9日发(作者:)
软件系统的架构设计方案
架构的定义
定义架构的最短形式是: “架构是一种结构”, 这是一种正确的理解, 但世
界还没太平。 若做一个比喻, 架构就像一个操作系统, 不同的角度有不同的理解,
不同的关切者有各自的着重点, 多视点的不同理解都是架构需要的, 也只有通过
多视点来考察才能演化出一个有效的架构
。
从静态的角度, 架构要回答一个系统在技术上如何组织; 从变化的角度, 架
构要回答如何支持系统不断产生的新功能、 新变化以及适时的重构; 从服务质量
的角度, 架构要平衡各种和用户体验有关的指标; 从运维的角度, 架构要回答如
何充分利用计算机或网络资源及其扩展策略; 从经济的角度, 架构要回答如何在
可行的基础上降低实现成本等等
软件系统架构( )是关于软件系统的结构、行为、属性、组成要素及其之间交
互关系的高级抽象 。任何软件开发项目, 都会经历需求获取、系统分析、系统设
计、 编码研发、 系统运维等常规阶段, 软件系统架构设计就位于系统分析和系统
设计之间。 做好软件系统架构, 可以为软件系统提供稳定可靠的体系结构支撑平
台, 还可以支持最大粒度的软件复用, 降低开发运维成本。 如何做好软件系统的
架构设计呢?
软件系统架构设计方法步骤
基于体系架构的软件设计模型把软件过程划分为体系架构需求、 设计、文档化、
复审、实现和演化 6 个子过程,现逐一简要概述如下。
体系架构需求: 即将用户对软件系统功能、性能、界面、设计约束等方面的期
望 (即“需求”) 进行获取、分析、加工, 并将每一个需求项目抽象定义为构件 (类
的集合)。
体系架构设计:即采用迭代的方法首先选择一个合适的软件体系架构风格
(如、、N 层、管道过滤器风格、 C2 风格等)作为架构模型,然后将需求阶段标识
的构件映射到模型中, 分析构件间的相互作用关系, 最后形成量身订做的软件体
系架构。
体系架构文档化: 即生成用户和研发人员能够阅读的体系架构规格说明书和体
系架构设计说明书。
体系架构复审: 即及早发现体系架构设计中存在的缺陷和错误, 及时予以标记
和排除。
体系架构实现: 即设计人员开发出系统构件, 按照体系架构设计规格说明书进
行构件的关联、合成、组装和测试。
体系架构演化: 如果用户需求发生了变化, 则需相应地修改完善优化、 调整软
件体系结构,以适应新的变化了的软件需求。
以上 6 个子过程是软件系统架构设计的通用方法步骤。 但由于软件需求、 现实
情况的变化是难以预测的,这 6 个子过程往往是螺旋式向前推进。
软件系统架构设计常用模式
目前软件领域广泛使用的软件系统架构模式, 主要有层次化架构设计、 企业集
成架构设计、嵌入式架构设计和面向服务的架构设计模式。
层次化架构设计模式: 分层设计是一种最为常见的架构设计方案, 能有效地使
系统结构清晰、 设计简化。 模式是当今最为流行的多层设计模式。 该模式把一个
应用的输入、处理、输出流程进行分离并抽象为控制器()、模型()、视图()三个模
块, 实现了业务逻辑层、 数据库访问层和用户界面层之间在彼此分离的同时仍保
持松散的耦合关系, 增加了灵活性和可扩展性 。我们常见的架构、架构、N 层架
构都是层次化架构设计的表现形式。
企业集成架构设计模式 :该模式不仅为企业在异构分布式环境下(操作系统、
网络、 数据库) 的业务应用提供了一致的信息访问和交互手段, 而且为各类业务
应用提供了有效的通信、信息集成、应用集成、维护开发、运行管理等服务 。 目
前最著名的企业集成架构设计包括: 、、J2、等。
嵌入式架构设计模式: 该模式具备良好的可配置性、可管理性、可扩展性、时
效性等性能指标。 目前业界主流的嵌入式操作系统都是特定领域专用的, 其中包
括:、、、、、等。
面向服务的架构设计模式:该模式将业务应用按照一定的粒度和原则划分成为
统一标准和统一格式的服务, 使企业可以按照模块化的方式添加新服务或更新现
有服务, 有助于打破信息孤岛, 促进企业系统集成、资源共享 。该模式包括服务
注册表模式和企业服务总线模式两类。
软件系统架构设计实践
软件系统架构设计是一项非常复杂的工作任务。 如何才能做好软件系统架构设
计呢?需要做好以下几项工作:
树立软件系统架构的意识。 设计人员不能局限在算法和数据结构上, 而是要树
立和不断强化软件系统整体架构的意识, 学会运用多层架构的视角和观念去分析
设计软件。 在多层架构的实践上, 通过模式实现软件多层结构, 层和层之间要做
到职责清晰、互相独立、耦合关系松散;在模块设计原则上,要尽量体现“高内
聚、低耦合”的思想。
高度重视软件设计模式。 软件设计模式是设计人员在长期开发实践中总结出来
的, 其他设计人员可借助这些模式加快软件设计进程, 降低开发风险 。所以, 设
计人员应高度重视设计模式思想, 切勿滞留在编码的层面, 应不断总结经验, 积
极尝试运用软件设计模式的思想去提出问题、 分析问题、 解决问题, 提高自身开
发软件的水平。
形成自身的软件架构风格。 软件系统架构设计的核心目标是实现体系架构级别
的软件复用。这就需要设计人员一方面不断学习钻研不同应用领域中软件架构的
惯用模式、思维、风格; 另一方面要借鉴吸收先进理念, 积极探索实践, 最终形
成自身独特的软件架构风格。
充分了解用户需求, 做好全局架构设计。 要做好软件系统的架构设计, 不能急
于求成, 首先, 要全面准确地收集到用户需求, 对整个系统功能形成清晰完整的
认识; 其次, 针对整个软件系统做好全局架构设计工作, 从而避免因考虑不周或
片面理解带来的失误。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1704747136a1368965.html
评论列表(0条)