第10章 软件架构的演化和维护(2024)

本文深入探讨了软件架构的演化和维护,强调了架构演化的重要性及其与定义的关系。文章详细阐述了面向对象软件架构的演化过程,包括对象、消息、复合片段和约束的演化,并介绍了软件架构的静态和动态演化方式。此外,文章提到了软件架构的演化原则,以及针对已知和未知演化过程的评估方法。通过大型网站系统架构的十阶段演化实例,展示了从单体架构到分布式服务的演进过程。最后,讨论了软件架构的维护,包括知识管理、修改管理和版本管理,以及可维护性度量的实践。
摘要由CSDN通过智能技术生成

10.1软件架构演化和定义的关系

10.1.1演化的重要性

        架构不是设计来的,而是演化来的

        软件架构作为软件系统的骨架支撑着整个软件系统,是具备诸多好特性的重要保障

        软件架构作为软件蓝图为人们宏观管控软件系统的整体复杂性和变化性提供了一条有效途径,而且基于软件架构进行的软件检测和修改的成本相对较低,所以要刻画复杂的软件演化,并对演化中影响效应进行观察和控制,从演化出发更加合理

        软件架构的演化可以更好的保证软件演化的一致性和正确性,且明显降低软件演化的成本,并且软件架构演化使得软件系统演化更加便捷

10.2演化和定义的关系

        软件架构包括组件、连接件、约束,演化主要关注的就是组件、连接件、约束的添加、修改、删除等

10.2面向对象软件架构演化过程

10.2.1对象演化

        组件实体为对象,演化包括:AddObject(AO)、DeleteObject(DO)

10.2.2消息演化

        AddMessage(AM)、DeleteMessage(DM)、SwapMessageOrder(SMO)、OverturnMessage(OM)、ChanageMessageModule(CMM)

        消息是顺序图核心内容,消息演化是顺序图演化的核心

10.2.3复合片段演化

        AddFragment(AF)、DeleteFragment(DF)、FragmentTypeChange(FTC)、FragmentConditionChange(FCC)

10.2.4约束演化

        Add Constraint(AC)、Delete Constraint(DC)

10.3软件架构演化方式的分类

        按实现方式和实施粒度分类:基于过程和函数演化、面向对象演化、基于组件的演化、基于架构的演化

        按照研究方法:对演化支持、版本和工程的管理工具、架构变化的形式方法、架构演化的成本收益分析

        按软件架构的演化过程是否处于系统运行期:静态演化、动态演化

10.3.1软件架构演化时期

        设计时演化、运行前演化、有限运行时演化、运行时演化

10.3.2软件架构静态演化

        静态演化需求:设计时演化需求、运行前演化需求

        静态演化一般过程:更正性维护、适应性维护、完善性维护;步骤(软件理解、需求变更分析、演化计划、系统重构、系统测试)</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值