UML和模式的实战应用:细化阶段第一轮迭代解析
最编程
2024-08-06 09:05:53
...
1.前言
从本文开始进入细化阶段,讨论迭代技术的基础,本次讨论将着重讨论第一次迭代,以POS机为例。
2. 第一次迭代处理的需求(以NextGen POS项目处理销售用例)
- 实现 处理销售 用例中基本和关键的场景:输入商品项目并收取现金
- 实现用于支持迭代初始化需要的启动用例
- 不处理任何特殊和复杂的部分,仅仅针对场景的简单理想路径,并对此进行设计和实现
- 不与外部服务进行协作
- 不应用复杂的定价规则
- 不考虑UI支持、数据库内容的支持
3. 迭代过程,并非一次就实现所有需求
- 迭代生命周期方法的关键理解:对需求子集开始具有产品品质的编程和测试
4. 多个迭代里对同一用例进行增量式开发
图 用例的实现可能在多个迭代中展开
- 在多次迭代内对同一用例的各种场景进行开发,渐进的扩展系统直到最终完成此用例的所有功能。
5. 初始阶段和细化阶段的过程
5.1 初始阶段
初始阶段的特点再说明:
- 初始阶段持续较短时间,只经过轻量级的调查
- 所创建的制品是简明和不完整的
- 初始阶段是迈向细化阶段的一小步
- 初始阶段决定基本的可行性、风险和范围,是否值得进行更深入的调查进行决策
- 并非所有适合于初始阶段的活动都涵盖在其中
初始阶段中可能的活动和制品:
- 简短的需求讨论会
- 大多数参与者、目标和用例名称
- 大多数以摘要形式编写的用例。以详述形式编写10%左右的用例
- 确定大多数具有影响和风险的质量需求
- 编写设想和补充性规格说明的第一个版本
- 风险列表:如工作量
- 技术上的验证检验(如javascript是否可以在触摸屏上工作?)
- 面向用户界面的原型,用于确定对功能需求的设想
- 对购买/构建/复用构件的建议,在细化阶段进行精化(如建议购买税金计算器程序包)
- 对候选的高层架构和构建给出建议(这里只是概要向的推测,以作为细化阶段的起点)
- 第一次迭代计划
- 候选工具列表
5.2 细化阶段
细化是一般项目中最初的一系列迭代,包括:
- 对核心、有风险的软件架构进行编程和测试;
- 发现并稳定需求的主体部分
- 澄清大多数需求和规避主要风险
- 细化阶段通常由两个或多个阶段组成,建议迭代时间定量,结束日期固定
- 该阶段产生的代码和设计具有产品品质的最终系统的一部分
细化阶段可能出现的一些关键思想和最佳实践包括:
- 实现短时间定量、风险驱动的迭代
- 及早开始编程
- 对架构的核心和风险部分进行适应性的设计、实现和测试
- 尽早、频繁、实际的测试
- 基于来自测试、用户、开发者的反馈进行调整
- 通过一系列讨论会,详细编写大部分用例和其他需求,每个细化迭代举行一次
细化阶段可能构建的制品:
图 细化阶段的制品举例
上图并未包含初始阶段就开始构建的制品,而只是细化阶段开始的制品,这些制品不是在一次迭代完成,而是会跨越若干次迭代进行精化。
6. 计划下一个迭代
通过风险、覆盖范围和关键程度组织需求和迭代,划分工作等级,如POS示例中,处理销售被划分成高等级
- 风险:技术复杂性,工作量和其它不确定性
- 覆盖范围:早期迭代要涉及系统所有主要部分(肤浅和广泛)
- 关键程度:客户认为具有高业务价值
下一篇: Python中的迭代算法详解
推荐阅读
-
UML和模式的实战应用:细化阶段第一轮迭代解析
-
对话NGC蔡岩:从机制创新到价值沉淀,解析DeFi产品开发逻辑 |链捕手 - 真正的DeFi产品首先要有足够的安全性和稳定性,如果能在此基础上有一些功能创新,那就非常好了。像 Uniswap 这样逐渐成为 DeFi 基础架构的产品,可遇而不可求。 链式捕手:固定利率协议之前关注度比较高,但观察下来发现,大部分协议还是类似于传统金融CDO(抵押债务凭证)的玩法,风险系数很高,您如何理解这块业务的价值和风险? 蔡岩:确实有些定息协议类似CDO玩法,背后绑定一个债券,但并不是所有的定息协议都是这样的玩法,像这种CDO玩法的主要代表项目是88mph,背后绑定的是Aave、Compoud这样的借贷协议,在此基础上做定息和浮息债券;像APWine,背后同样是Aave,它会发行期货收益代币来锁定你的收益;Notional本身是做借贷市场的,在此基础上做定息协议。 非 CDO 的玩法,比如 Horizon,更像是一个利率撮合器,背后需要用户通过拍卖产生更合适的目标收益率;像 Saffron、BarnBridge 等是通过风险分级来定义不同的收益率。总的来说,创新还是挺多的。 价值层面是创新和想象力,因为在传统金融领域,比如银行做固定收益证券,或者评级机构给风险分级,这些业务都非常大,利润也很丰厚。而 DeFi 的对口业务给了类似业务很大的想象空间。尤其是固定利率协议的成熟产品不多,尝试各种微创新是很有意义的。 风险程度还是要具体到不同的玩法,比如,在 Aave、Compoud 等借贷协议的固定利率协议背后,如果这些借贷协议受到攻击,与之绑定的固定利率协议也会受损。 同样,如果自己做借贷市场,可能更需要更强的开发能力。再有,如果该程序的机制或参数设计不当,同样会导致协议运行不稳定,并可能造成大量用户清盘。 总的来说,风险在于固定利率协议的设计,这是一个非常复杂的过程,需要不断地尝试和出错。 链式捕捉器:刚刚提到背后是Aave/Compound的固定费率协议风险较大,您认为Aave最大的不确定性和创新点分在哪里? 蔡岩:其实爱钱进一直被认为是走在行业前列的项目,他们的迭代速度非常快,比如率先尝试闪贷、推出新的经济激励模式、推出目前业内首个安全模块、尝试L2解决方案等等。 而在主要的借贷业务上,他们又十分谨慎,比如在抵押率、清算系数等风险参数的设计上相对于其他借贷协议较为保守,并不会存在为了吸引更多借贷资金而降低风险的要求。 与许多 DeFi 项目一样,即使 Aave 进行了多次审计,也无法保证不存在漏洞。前段时间,Aave 刚进入 V2 阶段时,白帽黑客就指出了某个漏洞。 之前的创新点可能是闪电借贷,这是当时业内独一无二的新产品功能,也为 Aave 带来了不少收益。当然,也有人批评闪电贷只能方便黑客实现资金效益的最大化,但工具本身并没有错,未来闪电贷肯定会有更多的应用场景。 其次是安全模块的设计,这有点像项目本身的储备金库,保障项目的安全性,这也是爱维开创的先河。说实话,目前大多数项目都没有做到代币模式的良性或正向运营,也做不到像Aave一样的安全模块,这是一个不小的门槛。 Chaincatcher从某种程度上来说,挖矿模式是DeFi财富效应的根本支撑,但Aave的CEO却说挖矿机制带来的动力是不可持续的,您怎么看这个观点? 蔡岩:"挖矿机制 "不可能失效,因为它是一种激励机制,或者说是项目冷启动的一种方式。但流动性开采亚博体育手机客户端不会一直高涨。比如去年11月的流行性挖矿高APY持续了一两个月就崩盘了,导致DeFi市场大幅回调。 Aave、Uniswap、Synthetix等项目真正爆发进入市值前15名也是在今年2月,我更倾向于这是头部DeFi长期价值的体现。虽然大家都喜欢抢高APY的矿机,但我个人很少参与挖矿,所以我并不觉得流动性挖矿是DeFi的基本面支撑。