美文网首页
敏捷设计

敏捷设计

作者: 泠云12 | 来源:发表于2019-03-17 13:39 被阅读0次

前言

这周进行第七、八、九章的阅读,这几章介绍什么是敏捷设计,以及引起软件腐化的原因,随后介绍在开发过程中应该遵循的两个原则:单一职责原则(SRP),开放-封闭原则(OCP)。

敏捷设计

在软件设计初始阶段,系统设计总是很清晰,但随着需求不断改变,功能需要不断增加,系统会变得越来越复杂,这时设计就逐渐变得腐化,系统开始变得难以扩展,难以维护。软件开始散发出腐化的气味。

1 软件腐化的气味

1) 僵化性 : 指的是很难对系统进行改动,每个小改动都意味着要更改系统其它更多的地方。

2)脆弱性:指的是对系统的一个地方进行改动,引起了其它地方出现了错误。

3)牢固性:指的是设计中包含了对其他系统有用的部分,但是要把这些部分从系统中出来所需要的努力和风险是巨大的。

4)粘滞性:粘滞性分为两种表现形式,软件的粘滞性和环境的粘滞性。开发人员在面临一个改动的多种方案中,发现那些保持软件设计的改动方法比破坏设计的方法更难用,此时软件设计具有很高的粘滞性。当开发环境迟钝或者低效时候就会产生环境的粘滞性。

5)不必要的复杂性:设计中包含没有用的组成部分。

6)不必要的重复:系统中有很多重复的代码。

7)晦涩性:指软件模块难以理解。

随着时间的推移,软件会逐渐腐化,为了尽量保持好的设计,我们在开发过程中就需要遵循一些原则。

单一职责原则

对于一个类来说,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合到了一起,这样的设计会引起软件的僵化性和脆弱性。因此,我们在开发过程中,需要把相同职责的功能都写到同一个类里面。

开放—封闭原则

1 描述

1.1 “对于扩展是开放的”。这意味着模块的行为是可以扩展的,当应用的需求改变时候,我们可以对模块进行扩展,使其具有满足那些改变的新行为。

1.2 “对于更改是封闭的”。对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。

2 关键是抽象

合适的抽象可以使软件设计满足这个原则。

总结

学习敏捷设计和敏捷设计该遵循的原则可以使我思考现有项目中存在的问题和应该采取什么样的措施去改进设计。

相关文章

  • 敏捷设计

    本文是敏捷软件开发第二部分,敏捷设计的阅读笔记,记录一些对自己感触深的想法。为什么需要敏捷,怎么实现敏捷。克服软件...

  • 敏捷设计

    前言 这周进行第七、八、九章的阅读,这几章介绍什么是敏捷设计,以及引起软件腐化的原因,随后介绍在开发过程中应该遵循...

  • 敏捷设计、srp、ocp设计原则

    从设计的臭味引出敏捷设计,并研究srp和ocp两个设计原则 敏捷设计是一个过程,不是一个事件。它是一个持续的应用原...

  • 第三章 获得高层的支持(3)-敏捷、精益和设计思维

    把设计冲刺与敏捷、精益和设计思维相结合 对于企业来说,了解设计冲刺如何与瀑布、敏捷和精益流程相适应是很重要的。尽管...

  • 6 团队和技术敏捷力

    敏捷宣言:坚持不懈的追求技术卓越和良好的设计,敏捷能力由此增强 为什么需要团队和技术敏捷力 团队和技术敏捷能力是业...

  • agile ppp第三次

    敏捷设计以及原则 ​ 敏捷设计:是一个持续的应用原则,模式以及实践来改进软件的结构和可读性的过程 ​ ...

  • ACP笔记02|《高效通过ACP》章节重点

    本章内容:价值驱动交付,敏捷的分析和设计,敏捷计划、估算、监控和适应,敏捷沟通和软技能,构建高绩效团队,风险管理和...

  • 敏捷开发设计

    参加了敏捷开发大师的培训,现在时隔2年后再来整理笔记,发现是如此的有效,记录下来,给需要的朋友一点思路! 敏...

  • 敏捷设计(上)

    满足工程设计标准的唯一软件文档,就是源代码清单。 一、软件腐化 在软件项目中最不稳定的就是需求。需求处在一个持续变...

  • 敏捷设计(下)

    一、Liskov 替换原则(LSP) 对于该原则的解释:子类型必须能够替换掉它们的基类型。 这里需要如下替换性质:...

网友评论

      本文标题:敏捷设计

      本文链接:https://www.haomeiwen.com/subject/csxumqtx.html