软件架构非功能需求——易变性

本文探讨了软件的易变性,包括易变性的重要性、原因及提升方法。易变性涉及软件的可维护性、可扩展性、重组和可移植性。为了确保软件能适应需求变化,需要设计易于修改、扩展和移植的架构,降低模块间的耦合,并关注对硬件的依赖。通过这些策略,可以增强软件的长期适应性和灵活性。
摘要由CSDN通过智能技术生成

是什么

易变性指软件能被轻松改良的能力。

具体来讲,易变性要求软件能被轻易修改、轻易扩展、轻易重组、轻易移植到其他平台。此外,在保证质量的前提下迅速完成改良也是易变性的要求之一。

为什么

我们总希望软件在发布之后一直不用修改,但事实并非如此。软件在使用周期内会不断被修改和扩展。原需求会不断发生变更,新需求也会不断添加进来。

要想长期快速应对用户的各种琐碎需求,我们就需要设计出便于修改代码的软件架构。

怎么做

  • 可维护性

可维护性指解决问题的难易度,即修改故障代码的难易度。

要提高可维护性,使用的软件架构就必须将修改控制在局部范围内,把对其他模块的副作用降至最低。

  • 可扩展性

可扩展性是指添加新功能、更新模块版本以及删除不需要的功能和模块等操作的难易度。

提高可扩展性需要降低模块之间的结合度。

可扩展性追求的是在不给客户端造成影响的情况下完成模块交换的结构,以及能将新模块整合到现有软件架构中的结构。

  • 重组

重组指重新组织模块间的关系,当对模块的位置进行调整时(比如将模块移至其它子系统),就需要进行重组。

为方便重组,我们设计的软件架构要能在不影响模块实现的前提下灵活对模块进行配置。

  • 可移植性

可移植性指将软件移植至各种硬件平台,用户接口,操作系统,编程语言和编译器等的难易度。

要提高可移植性,就要在设计软件时考虑软件对硬件的依赖性。

要想做出不依赖与硬件的软件,就要将系统库和用户接口库等对平台特有的功能进行操作的部分整合成一个独立的专用模块。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值