06-OOD设计原则与 敏捷设计综合实例 07sprint演示与总结

主要内容

LSP:Liskov替换原则
OCP:开放-封闭原则
SRP:单一职责原则
ISP:接口隔离原则
DIP:依赖倒置原则
敏捷设计综合示例
总结

设计质量:坏的设计
什么是坏的设计?
僵硬性(Rigidity):刚性,难以扩展
脆弱性(Fragility):易碎,难以修改
牢固性(Immobility):无法分解成可移植的组件
不必要的复杂性(Needless Repetition):Ctrl C + Ctrl V
晦涩性(Opacity):不透明,很难看清设计者的真实意图

设计质量:好的设计
什么是好的设计?
容易理解
容易修改和扩展
容易复用
容易实现与应用
简单、紧凑、经济适用
让人工作起来心情愉快的设计
设计原则是提高设计质量的基本原则

面向对象的基本设计原则

LSP:Liskov替换原则
The Liskov Substitution Principle
OCP:开放-封闭原则
The Open-Close Principle
SRP:单一职责原则
The Single Responsibility Principle
ISP:接口隔离原则
The Interface Segregation Principle
DIP:依赖倒置原则
The Dependency Inversion Principle

DIP

DIP(依赖倒置原则,The Dependency Inversion Principle)
高层模块不依赖于低层模块,二者都依赖于抽象
抽象不依赖于细节,细节依赖于抽象
针对接口编程,不要针对实现编程
又称控制反转(IoC,Inversion of Control)、依赖注入
Booch:所有结构良好的面向对象架构都具有清晰的层次定义,每个层次通过一个定义良好的、受控的接口向外提供了一组内聚的服务

传统的依赖关系

在这里插入图片描述
符合DIP的系统
在这里插入图片描述
启发式原则
“依赖于抽象”—程序中所有依赖关系都应该终止于抽象类或者接口
启发式原则:
任何变量都不应该拥有指向具体类的指针或者引用
任何类都不应该从具体类派生
任何方法都不应该改写其任何基类中已经实现的方法

常见的设计方案

在这里插入图片描述
这个设计存在的问题
泡泡类(Vapor Classes)
无用的抽象
上帝类(God Classes)

DIP的本质

通过抽象提取业务本质,并建立一个稳定的结构描述这个本质
对于具体的业务规则的处理是在这个本质的基础上的扩展
技术、工具、意识形态等的发展可能使业务规则不断变化,但本质不变;而DIP则帮助我们轻松的适应这些变更

合理使用任务板
燃尽图的使用
警示标记
每日站会
Sprint演示
项目财务计算
sprint回顾
总结

sprint回顾
sprint回顾是Scrum中第二重要的事件(最重要的是sprint计划会议),因为这是Scrum团队项目开发做改进的最佳时机。如果没有回顾,很可能团队会不断犯同样的错误。
回顾会议
使用白板

项目财务计算——现值(PV)

现值(Present Value,PV)
现值是一个比之前的投资回收期方法更加复杂的方法, 因为它考虑了货币的时间价值。这是很重要的,因为未来收到的钱通常比现在收到的钱具有的价值要小。
计算 PV 的公式是:
在这里插入图片描述

  FV 是未来的价值(未来相同货币数量的价值),PV 是现值,i 是利率或者通货膨胀率,n 是利率支付的时间周期数。 

项目财务计算——净现值(NPV)

净现值(NPV)
如同现值(PV)表示未来现金流或者收入的当前价值,净现值(NPV)指的是一段时间内全部收入的现值减去投资成本的现值。
通过计算,将有以下 3 种情况可供选择:
● 如果项目的 NPV 大于零,则项目应该接受。
● 如果 NPV 小于零,则项目应该拒绝。
● 如果有多个项目供选择,则选择 NPV最高的项目。

项目财务计算——投资回报率 (ROI)

项目财务计算——监控项目绩效

项目财务计算——成本绩效监控

项目财务计算——进度绩效监控

项目财务计算——项目预算预测

完工估算(EAC) = 完工预算(BAC) / 成本绩效指数(CPI)

完工尚需估算(ETC) = 完工估算(EAC) - 实际成本(AC)
完工偏差(VAC) = 完工预算(BAC) - 完工估算(EAC)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值