软件体系结构是关于如何在最高级别构建软件系统的。需要在考虑质量和设计的同时从多个角度进行大胆思考。软件团队与许多实际问题相关联, 例如:
- 开发团队的结构。
- 业务需求。
- 开发周期。
- 结构本身的意图。
软件体系结构提供了完整软件系统的基本设计。它定义了系统中包含的元素, 每个元素具有的功能以及每个元素之间的关系。简而言之, 这是整个系统的整体概况或整体结构。
为了形成架构, 软件架构师将考虑以下几个因素:
- 该系统将用于什么?
- 谁将使用该系统?
- 什么质量对他们重要?
- 系统将在哪里运行?
架构师计划系统的结构以满足此类需求。拥有适当的软件体系结构(对于大型软件系统)至关重要。以完整系统的清晰设计为起点, 为开发人员提供了坚实的基础。
每个开发人员都将知道需要实施什么以及事物如何有效地满足期望的需求。软件体系结构的主要优点之一是, 它为软件团队提供了高生产率。通过提出适当的解释结构来协调工作, 实现单个功能或就潜在问题进行地面讨论, 软件开发变得更加有效。使用清晰的体系结构, 可以更轻松地知道系统中的主要职责在哪里, 以及在何处进行更改以添加新要求或简单地修复故障。
此外, 清晰的体系结构将使用关注点分离等原则, 通过设计良好的结构来帮助提高软件质量。系统变得易于维护, 重用和适应。该软件体系结构对诸如软件开发人员, 项目经理, 客户和最终用户之类的人员很有用。每个人都有不同的视角来查看系统, 并将为项目带来不同的议程。另外, 它提供了几个视图的集合。最好理解为五个视图的集合:
- 用例视图
- 设计图
- 实施视图
- 工艺图
- 发展观
用例视图
- 该视图显示了外部参与者感知到的系统功能。
- 它揭示了系统的要求。
- 使用UML, 很容易在用例图中捕获此视图的静态方面, 而在交互图, 状态图和活动图中捕获其动态方面。
设计图
- 该视图显示了如何根据静态结构和动态行为在系统内部设计功能。
- 它捕获问题空间和解决方案空间的词汇。
- 使用UML, 它在类和对象图中表示此视图的静态方面, 而在交互图, 状态图和活动图中捕获其动态方面。
实施视图
- 该视图代表核心组件和文件的组织。
- 它主要解决系统版本的配置管理。
- 使用UML, 它的静态方面在组件图中表示, 而动态方面在交互图, 状态图和活动图中捕获。
流程视图
- 该视图演示了系统的并发性。
- 它合并了构成并发系统和同步机制的线程和进程。
- 它主要解决系统的可伸缩性, 吞吐量和性能。
- 它的静态和动态方面的表达方式与设计视图相同, 但更多地关注表示这些线程和进程的活动类。
部署视图
- 该视图从物理架构的角度显示了系统的部署。
- 它包括节点, 这些节点形成将在其中执行系统的系统硬件拓扑。
- 它主要解决构建物理系统的零件的分发, 交付和安装。
评论前必须登录!
注册