第1页共18页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共18页编者按:越来越多的压力使得一个软件项目无论是最终用户、企业、开发团队都希望在最短的时间完成,可事与愿违的是软件项目的时间延期问题普遍存在,一些调查表明,70%的项目超出了估算的时间。大型项目平均超出计划交付时间的20%到50%,项目越大,超出计划的时间越长。一直以来开发速度的问题都是软件开发业的头等问题。那怎样才能在保证软件质量的同时又缩短开发速度呢?本期的《领航人》月刊中我们就将围绕着有关软件的“快速开发”主题来进行探讨。开发软件所需要经历的阶段要谈“快速开发”我们就需要先来了解一下软件项目所需要经历的过程:软件的开发过程并不仅是一个编写、实现代码的简单过程,软件的开发需要经历许多的步骤。因此在开始时我们先用一个相对简单的方式了解一下软件开发的常见过程:第2页共18页第1页共18页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共18页从上图可以直观的看出,一个软件的开发至少是包含了上图的三个阶段、七个步骤。而这个过程中又可能涉及到下列各种参与软件开发的角色:第3页共18页第2页共18页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共18页[并不是任何项目中都会出现所有角色,角色同实际的参与人员也并不一定一一对应]我们在此所探讨的软件“快速开发”为的是在软件目标、外部资源相同的情况下(如:同一团队,同一项目)可以缩减整个开发周期的各种方式,使软件项目最终能在一个更短时间内完成。第4页共18页第3页共18页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共18页能缩短软件开发周期的三种方式缩短软件开发周期其实一直是全世界软件开发团队所长期关注的话题,把现在已被广泛认可的有效缩短周期的方式归类一下可划分为三大类:1.工具快速2.模式快速3.经验快速其分别代表着实现软件项目“快速开发”的“天时、地利、人和”,同时也蕴藏着“天时不如地利,地利不如人和”的真谛。第5页共18页第4页共18页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第5页共18页天时——工具快速在一个软件项目所经历的各阶段中(如:⑴需求分析、⑵原型开发、⑶实现、⑷测试、⑸完成、⑹需求变更、⑺后期维护),不同阶段选用适当的工具能非常直接的相应参与人员的工作效率、沟通效率,缩短单个步骤所需要的时间,从而在整体上缩短软件项目的开发周期。值得注意的一点是,工具并不仅限于软件形态的工具。⑴需求分析:是软件项目开发第一个也是很重要的一个阶段,需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。在这个阶段中包含需要获取需求、分析需求、编写规格说明和需求验证。从获取需求到需求验证的这个过程需要编写文档、绘制图形、创建需求模型等,像文档之类的工具可以使用word、绘制图形可以使用visio、建模可以使用rationalrose等工具软件,有了这些工具的辅助,可提高编写文档的速度,缩短分析阶段的周期。除了以上这些软件形态的工具外还可为更快的项目参与人员之间的想法沟通,借助一些实体类工具,如纸制卡片,黑板或一些已经成型的系统。⑵原型开发:在软件需求分析阶段,需要搞清楚的是软件要“做什么”的问题,并把这些需求通过文档的形式描述出来,这也是目标系统的逻辑模型。进入设计阶段,则要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明”文档中,接下来开始设计。设计的基本任务包括:软件结构、数据结构及数据库设计、概要设计文档。开发一个大而复杂的软件系统,我们可以将它进行适当的分解来降低其复杂性,还可减少开发工作量,你也可以使用一些能够提高设计速的软件来帮助你进行设计,从而提高软件生产率,降低开发成本。所用的工具比如使用UML绘制类图的工具。⑶实现:设计完成之后进入编码实现阶段,为了提高整个项目的开发速度,编写代码我们可以借助一些有力的开发工具来加快速度,例如,如果是用J...