升级版Excel,千亿级大厂新选择:吊打金蝶用友?完胜SAP Oracle?-英雄云拓展知识分享
149
2023-10-26
【摘要】 本书摘自《Java架构之完美设计 实战经典》一书中第2章,第3节,由颜廷吉编著。
2.3 架构开发模型
2.3.1 开发模型概述
软件开发模型 (Software Development Model) 是指软件开发全部过程、活动和任务的结 构形式。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动 和任务,可以用来作为软件项目开发的基础。
常用的开发模型有边做边改模型、迭代模型、瀑布模型、螺旋模型、增量模型、快速原型 模型、喷泉模型、演化模型、统一过程模型 (RUP) 等。对于不同的软件系统,需要采用不同 的开发模型甚至多种开发模型并用。架构开发过程中最适合的是边做边改模型和迭代模型。
2.3.2 边做边改模型
当一个软件产品客户需求不太明确时,开发团队可先开发一个产品的最初版本交由客户 验收,然后再根据验收的反馈结果进行新的版本升级,然后再交客户进行验收,如图2-7 所示。这个过程一直持续到客户对产品满意为止,这种开发模型就是边做边改模型。
边做边改模型最大的缺点在于需求的不完善以及设计与实现中的错误要到整个产品被构 建出来后才能被发现。虽然这是一种类似于作坊式的开发方法,但是对于需求简单、功能不 复杂且容易验证的系统来说还是非常有效的。然而对于大中型规模的开发,边做边改模型就 不适合,主要问题在于:
1)需求与规划环节的忽略,给软件开发带来很大的风险。
2)缺少完善的设计环节,软件的结构很容易随着不断的修改越来越糟,导致无法继续开发。
3)没有考虑测试和程序的可维护性,也没有完善的文档,软件的维护十分困难。
因为这种模型省略了编码前的设计阶段,所以它不是一个完整的生命周期模型。
2.3.3 迭代开发模型
在迭代开发方法中,整个开发工作被划分为一系列固定长度(如3周)的小项目(被 称为一系列的迭代),每一次迭代都包括了需求分析、设计、编码与测试,这种开发模型就 是迭代开发模型,如图2-8所示。
采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统
的一部分功能。再通过客户的反馈来细化需求,并开始新一轮的迭代。
与传统的瀑布模型相比,迭代过程具有以下优点:
(1)降低在一次增量上的开发风险
如果开发人员返工某个迭代,那么损失的只是这一次的迭代成本。
(2)降低产品无法按时进入市场的风险
在开发早期就可以发现风险,因此可以尽早解决,不至于在开发后期手忙脚乱。
(3)加快整个开发工作的进度
因为开发人员经过几次迭代之后已经很有经验,所以工作效率会提高很多。
(4)容易适应需求变化
由于用户需求并不能在一开始就做出完全的界定,通常是在后续阶段通过某种契机而不
断被挖掘与细化,因此很容易应对需求变更。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~