UML简单介绍(二十)——RUP的软件工程模式介绍(上)

来源:互联网 发布:一淘网和淘宝什么关系 编辑:程序博客网 时间:2024/06/05 08:15

1、软件工程模型

        软件工程模型常见的大概有这样三种:瀑布式模型,迭代开发模型(RUP)和敏捷开发模型(XP、SCRUM)。

        瀑布模型将软件工程比较明确的分开为几个重要的阶段,比如计划阶段、开发阶段和维护阶段类似的这样几个部分。瀑布模型主要使用在早期的大型项目中,尤其是对日本的外包公司会有很大的感慨,一般都需要先设计好,然后进行编码实现。这样做的好处是,文档非常丰富,每一个阶段的责任都可以追究到人。但是瀑布模型也有很多不利的地方,因为瀑布模型讲究每一个步骤都需要上一个步骤结束,一旦开始就错了,就比较坑爹了,后面的就会被推翻。

       为了避免瀑布模型的缺陷,软件工程提出了迭代开发模型。迭代模型不讲究一定要完成上一个步骤,才开始下一个步骤,它往往几个步骤在同时进行。比如,明确了一部分需求,我们就开始进行设计,然后开始编码实现。如果这个时候需求变了,我们的设计和编码能够迅速跟上。

       后来我们在迭代开发的基础上,软件工程又提出了敏捷开发,敏捷开发比迭代开发更加讲究快速高效。敏捷开发在现在的一些移动互联网公司非常常见,移动互联网公司基本没什么太多的文档说明,是一个项目不断开发晋升而来。敏捷开发比较常见的是XP和SCRUM两种,尤其是SCRUM应用广泛。


2、RUP软件工程图

迭代循环分为初始阶段,细化阶段,构造阶段,交付阶段,如下图所示:


横轴代表了制定开发过程的时间,体现了这个过程的动态结构,它以周期、阶段、里程碑来表示;

纵轴代表了过程的静态结构:如何用属于活动、产物、角色和工作流来描述。


3、V字模型

RUP中有一个V字模型的概念,我们可以看如下的图示:


在V字模型中,每一个条目都是一个阶段。在V字模型中,左边表示设计,项目越来越细致;右边表示实现,应该越来越多,逐步形成整个设计系统。


0 0
原创粉丝点击