`

DevSuite 实践之瀑布篇(一)

 
阅读更多

谈到瀑布模型,我想懂的人可能一听到这个词,瞬间就在想,都已经被淘汰的方法论了,还提它作甚?

 

那真的已经被淘汰了吗?我说是未必,虽然现在的确敏捷很流行,但是敏捷不一定适合所有的开发类型,在一些特殊的行业或者特殊的产品中,瀑布还是很实用的,它们本来就不会追求敏捷,只在乎质量,所以敏捷恰恰对于他们来说没有意义。

 

我想你应该能够猜到这些行业或者软件是什么了,其实想想也很多的,比如银行的交易系统,股票交易系统,军事航电系统等等,这类系统都有一些相似点:

 

开发周期长:一般一套系统,即使表面功能看起来比较简单,都可能需要开发一年两年时间,因为这种系统界面上只要实现基本的功能就行了,而后台要保证数据的完整性和正确性,不能出一点点差错,大家知道这种交易软件,出一点差错就是几千万,几个亿的资金量变化了。

 

更新速度慢:这类系统一般不会经常更新,一句话,只要够用就行了,只有实在不够用的时候才会想到要更新,人家国外的股票系统,用了几十年了都没换过,为什么呢?之前没出过问题啊,现在好像用用也还行,干嘛要去换,一换万一出问题怎么办呢?

 

需求变更少:一般这类系统,由于垄断性的原因,使用的人只能使用着,而无法要求需求这么改或者那么改,所以就意味着一般不需要去做需求变更的。我们经常到银行存取钱,看到他们的系统一般都是UnixLinux下的,这个倒还好说,但是看看他们的操作界面,真的只能以惨不忍睹来描述了,我自己做出系统的界面都比他们那个漂亮很多。那些银行员工难道就没意见,不可能的,但是虽然不漂亮,对于正常的存取钱的使用好像也没什么影响,所以对于这种界面的需求变更一般就忽略过去了,可能等个五年十年时间,累积了一定需求了以后,再花个五年时间开发一套新系统,到时估计界面就好看点了。

 

你说这类系统如果用敏捷怎么来搞? 所以瀑布其实还是有一定的用武之地的,下面来看一下瀑布模型的结构图:

 

 

这是一个比较全面的瀑布流程图,从可行性研究,到需求分析、概要设计、详细设计都覆盖了,然后是编码、单元测试、组装测试、确认测试、运行与维护,最后退役,整个一个完整的软件生命周期。

 

这些一个个的流程,包括软件工程本身,甚至是瀑布模型这个概念,其实都是理论性的东西,都是些方法论,它们的提出,只是对于软件开发工作的一个方向性指导,但是具体如何去实施,其实是另一个重要的命题了。

 

伟人说过,实践是检验真理的唯一标准,所以我们所有的理论知识,需要通过实际的操作来应用才能知道这个理论是否有用,那我们本文的目的是为了跟大家探讨如何在实际开发中操作来实现瀑布模型。

 

对于瀑布模型,由于它的流程有严格的顺序,所以本文的介绍也是按照流程的顺序来进行的。对于大部分的产品或者项目的开发来说,一般都需要借助专业的研发管理工具来进行管理,不然整个开发过程质量将无法得到控制,对于瀑布模型来说,这个就更加重要了,所以本文的介绍,会结合业界最专业的研发管理系统 DevSuite 来进行介绍。

 

首先简单了解一下 DevSuite 系统,DevSuite系统是ALM领域巨头美国 TechExcel 公司通过几十年在该领域不断摸索、不断累积经验、不断创新而开发出来的一整套软件生命周期管理系统,它覆盖了产品的概念形成、需求分析、项目规划、到任务跟踪和质量测试等全生命周期管理,可以帮助有效地控制需求、资源、工期和质量,规范和改进产品研发过程,提高产品质量和工作效率。

 

我们接下来就开始结合 DevSuite 来分析如何实现一个产品在瀑布模式下从可行性分析开始最后到交付的整一个过程。

 



 

 

对于瀑布模型而言,第一个过程就是可行性研究,然后就是需求分析,概要设计和详细设计,我们把这几个过程都归类成一个过程,叫做需求设计阶段,因为这个阶段做的事情,基本上就是把这个产品需要完成什么样的功能给提炼并设计出来,不管你是需求分析还是概要设计,还是详细设计,最终目的都是为了这个,所以我们把它们算成一类。

 

 

 

那我们来看看在 DevSuite 中如何来完成这个过程的呢?DevSuite系统中有专门管理需求的模块,大家可以在如下的界面中看到,

 



 

 

 

对于任何的需求点,不管是客户的需求还是自己公司的一些想法,最终都会转化成一个设计文档来让开发来实现,所以在 DevSuite 中,我们首先需要将客户的需求或者自己公司的一些想法创建到需求管理这个视图中。

 

 

 

创建需求的过程很简单,DevSuite可以定义各种类型的字段,使得任何的需求都能在这里被描述得很清楚,如果原始的文档时保存在Word格式里的话,DevSuite还能自动将Word格式里的需求导入进来,甚至是你在Word里修改,然后可以直接同步到DevSuite里。

 

 

 

对于已经创建或者导入进来的需求,DevSuite通过工作流对其进行管理,所谓的工作流就是一个需求从刚刚提出到可行性分析,再到设计,然后是审核,最后交付开发去完成的这么一个流程,当然这个是一个最简单的功能,DevSuite中还可以根据需要自定义任何复杂或者简单的工作流程,这种流程的设计,使得一个需求一般情况下只要走完一个流程就能成为一个可开发的功能点了(当然,还有可能是被放弃或者延迟到下一个版本)。

 

 

 

在需求设计过程中,DevSuite能够记录跟踪记录任何一次的修改,以便你可以随时查看以前的设计甚至回滚到之前多少天的设计上。

 

 

 

当所有需求完成设计并审核通过以后,就可以开始记录开发阶段了。

 

 

 

对于开发阶段,首先要做一下项目规划,也就是说这个产品或者说这些需求点计划什么时间内完成,会投入多少人力资源等信息。

 

 

 

DevSuite中有相应的项目规划模块(如下图),可以帮助定义项目的计划开始与结束时间,并且还可以根据投入的人力资源以及实际的工作进展来分析项目是否能够按时完成。此外,还提供了甘特图,可以看到项目的实时进度。

 

 



 

 

 

在项目规划模块中,我们还可以设计更加细致的计划,比如我们想把可行性分析以及需求分析与设计那个过程也一并来规划一下,这样子的话,这个规划就是对于整个产品生命周期的一个规划了,而不是之前从开发过程开始的规划。对于这种规划,我们一般需要建立许多个里程碑,比如完成需求提取是一个里程碑,完成设计也是一个,完成开发当然也算,最后完成测试更是一个,每个里程碑之间有严格的时间规划,比如第一个里程碑从20131月开始,10月份结束,那第二个里程碑就得从11月开始,当然 DevSuite 允许中间有些缓冲地带,可以提前或者延迟一段时间,方便由于估算的不精确导致最终的时间不精确。

 

 

 

完成项目规划以后,就要真正开始的开发工作了。

 

 

 

 

  • 大小: 296.3 KB
  • 大小: 28.6 KB
  • 大小: 157.8 KB
  • 大小: 201.1 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Scrum+With+DevSuite

    DevSuite是一款工具,它支持Scrum的实践应用。在DevSuite中,产品主管通过DevSpec管理需求和功能点,分配Backlog,并设定优先级。Scrum Master使用DevSpec协助管理所有产品Backlog,同时在DevPlan中分配Backlog,...

    DevSuite大团队敏捷研发实践

    #### 一、DevSuite大团队敏捷研发实践概述 DevSuite是一种针对大型团队的敏捷开发管理方法,旨在提高软件研发效率与质量。本实践着重介绍了如何利用DevSuite进行敏捷开发的具体步骤与管理策略。 #### 二、Sprint...

    Scrum With DevSuite

    Scrum是一种敏捷开发方法,由Ken Schwaber和Jeff Sutherland在1993年提出,旨在应对传统瀑布模型中的一些弊端。瀑布模型强调严格的线性流程,从需求分析到编程,但这种模式在面对需求变更和风险时显得过于僵化。...

    Qios.DevSuite 可运行的反编译源码

    最后,`Qios.DevSuite.DemoZone`可能是一个演示区或示例项目的目录,包含了使用Qios.DevSuite控件的各种示例应用,这些实例可以帮助我们更好地理解如何在实际项目中集成和使用这些控件。通过运行这些示例,我们可以...

    Scrum在DevSuite中的迭代模型

    在DevSuite中,Scrum被整合为一种有效的工具,帮助团队更好地实现敏捷开发流程。 首先,我们要理解Scrum的核心概念。Scrum由几个关键组件构成:产品待办事项列表(Product Backlog)、冲刺待办事项列表(Sprint ...

    Scrum+With+DevSuite--DongmingJia_052608.ppt

    Oracle DevSuite是一系列集成的开发工具,可能包括版本控制系统、缺陷跟踪系统、项目管理工具等。这些工具能够支持Scrum实践,例如: 1. **版本控制** - Oracle的版本控制系统(如Git或Mercurial)允许团队成员协同...

    Qios Devsuite-开源

    Qios DevSuite 是一个先进的.NET 控件库,它与Visual Studio.NET 完全集成,可用于所有.NET 语言,如C#、VB.NET 和C++.NET。 如需支持,请访问我的论坛 www.forum.qiosdevsuite,com

    DEVSUITE服务器产品安装步骤 - TECHEXCEL 用户社区.docx

    DEVSUITE服务器产品安装教程主要涵盖了四个组件的安装步骤:数据库还原、Application Server、WebService和Document Server,以及DevSuite Windows Client。以下是每个组件的详细安装说明: 1. **数据库还原**: ...

    免费而强大的.net控件库C#,VB.net

    Qios DevSuite is an advanced .NET control library, that is fully integrated with Visual Studio.NET and can be used with all .NET languages, such as C#, VB.NET and C++.NET. Qios DevSuite is a FREE ...

    java需求分析

    为了解决上述问题,DevSuite提出了一种以过程为中心的项目及研发管理解决方案。该方案旨在帮助企业实现项目及研发管理的过程透明化,并提升组织级项目及研发管理能力。 ##### 2.1 统一协同 DevSuite通过整合不同...

    Scrum一个轻量级的软件开发方法

    提到的“DevSuite”可能是指一个用于支持Scrum实践的工具集,它可能包括以下功能: - **项目管理**:管理产品和Sprint待办事项列表,跟踪进度。 - **协作平台**:促进团队沟通,如评论、任务分配和文件共享。 - **...

    CMMI过程解决方案

    - **DevSuite过程管理解决方案**:TechExcel推出的DevSuite过程管理解决方案是一款集成了最佳实践的平台,旨在帮助企业解决实际研发过程中遇到的问题,从而降低管理成本和资源消耗。该解决方案覆盖了项目计划、需求...

    软件研发过程管理解决方案(支持CMMI GJB5000A)

    DevSuite过程管理解决方案提供了一套全面的质量管理框架,确保从需求提出到产品交付的每一个环节都符合预定的标准。 1. 需求管理:DevSuite支持CMMI 2级和3级过程域,提供了一个协同工作流驱动的平台,简化了需求...

    Scrum介绍ppt

    7. **DevSuite与Scrum**:"Scrum+With+DevSuite--DongmingJia_052608.ppt"这个文件名可能暗示这份PPT也涵盖了如何使用DevSuite(可能是一个开发工具或服务套件)来支持Scrum实践。它可能讨论了工具如何帮助团队管理...

    TECHEXCEL游戏行业解决方案(说明书)

    该方案基于多年与顶级游戏公司的合作经验,提炼出了适合游戏开发的独特敏捷方法论——SpecDD(功能点驱动的开发),并借助TechExcel自家的DevSuite平台实现了这一方法论的全过程覆盖。 #### 二、SpecDD方法论详解 -...

    ASP.NET工具栏和菜单控件源码(仿Winform)

    控件主要包括两个部件:工具栏和菜单 功能简简介: 支持式样设置 支持SCRIPT绑定 支持服务器端事件 SCRIPT绑定和服务器端事件功能...由于菜单是采用popup window方式弹出(并没有采用层的方式),所以只支持一级。

    Multikey 18.0.3 x64 t.7z

    5. `Dseo12.exe`:这可能是DevSuite Enterprise Edition的一个版本,它是一个设备管理工具,可能用于配置或管理加密狗模拟。 6. `Devcon.exe`:微软提供的设备控制台工具,用于查看、修改、安装、删除硬件设备驱动。...

    质管部人员绩效考核管理办法.pdf

    QA工程师需要考核质量保证计划的完备性,质量月报的发布,日常检查,里程碑阶段检查,项目发布时的QA工作,以及DevSuite工具的配置和问题解决;配置工程师则需要考核配置管理计划的制定,日常配置项检查,以及备份...

    12306订票助手.NET版

    TOBA.Interface.dll和TOBA.Interface.pdb则是接口库和对应的调试符号文件,可能代表了一个名为TOBA的系统或框架,12306订票助手通过这个接口与之交互,实现更高级别的功能,如登录验证、票务查询等。pdb文件则在开发...

Global site tag (gtag.js) - Google Analytics