架构-架构设计3-架构复用&质量属性
概述
软件产品线是指一组软件密集型系统,它们共享一个公共的、可管理的特性集,满足某个特定市场或任务的具体需要,是以规定的方式用公共的核心资产集成开发出来的。即围绕核心资产库进行管理复用、集成新的系统。
软件架构复用的类型包括机会复用和系统复用。
- 机会复用是指开发过程中,只要发现有可复用的资产,就对其进行复用。
- 系统复用是指在开发之前,就要进行规划,以决定哪些需要复用。
【软件复用】是一种系统化的软件开发过程,通过识别、分析、分类、获取和修改软件实体以便在不同软件开发过程中重复使用它们。
软件开发过程中重复使用相同或相似【软件元素】的过程。
可复用的资产包括:需求、架构设计、元素、建模与分析、测试、项目规划、过程方法和工具、人员、样本系统、缺陷消除。
复用的基本过程主要包括3个阶段:
- 首先构造/获取可复用的软件资产,
- 其次管理这些资产:(构件库),
- 最后针对特定的需求,从这些资产中选择可复用的部分,以开发满足需求的应用系统。
复用的维度
水平复用:不分行业领域,通用
垂直复用:分行业领域,专用
历史发展线路
特定领域软件架构DSSA
架构-架构设计3.2-特定领域软件架构DSSA基于架构的软件开发ABSD
架构-架构设计3.1-基于架构的软件开发ABSD软件系统的质量属性
可以将软件系统的质量属性分为开发期质量属性和运行期质量属性2个部分。
开发期质量属性
开发期质量属性主要指在软件开发阶段所关注的质量属性,主要包含6个方面.
- 易理解性:指设计被开发人员理解的难易程度。
- 可扩展性:软件因适应新需求或需求变化而增加新功能的能力,也称为灵活性,
- 可重用性:指重用软件系统或某一部分的难易程度。
- 可测试性:对软件测试以证明其满足需求规范的难易程度
- 可维护性:当需要修改缺陷、增加功能、提高质量属性时,识别修改点并实施修改的难易程度
- 可移植性:将软件系统从一个运行环境转移到另一个不同的运行环境的难易程度。
运行期质量属性
运行期质量属性主要指在软件运行阶段所关注的质量属性,主要包含7个方面。
- 性能:性能是指软件系统及时提供相应服务的能力,如速度、吞吐量和容量等的要求
- 安全性:指软件系统同时兼顾向合法用户提供服务,以及阻止非授权使用的能力。
- 可伸缩性:指当用户数和数据量增加时,软件系统维持高服务质量的能力。例如,通过增加服务器来提高能力。
- 互操作性:指本软件系统与其他系统交换数据和相互调用服务的难易程度
- 可靠性:软件系统在一定的时间内持续无故障运行的能力。
- 可用性:指系统在一定时间内正常工作的时间所占的比例。可用性会受到系统错误,恶意攻击高负载等问题的影响。
- 鲁棒性:是指软件系统在非正常情况(如用户进行了非法操作、相关的软硬件系统发生了故障等)下仍能够正常运行的能力,也称健壮性或容错性。
架构-架构设计3-架构复用&质量属性
http://060800.xyz/2025/08/18/架构/架构-架构设计3-架构复用&质量属性/