种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

软体开发过程

(2020-01-02 08:41:23) 百科综合

软体开发过程

软体开发过程(英语:software development process),或软体过程(英语:software process),是软体开发的开发生命周期(software development life cycle),其各个阶段实现了软体的需求定义与分析、设计、实现、测试、交付和维护。软体过程是在开发与构建系统时应遵循的步骤,是软体开发的路线图。

基本介绍

  • 中文名:软体开发过程
  • 外文名:software development process
  • 领域:计算机

简介

软体过程方法涉及交付(deliverables)和工件(artifacts)的预定义、软体产品在项目团队中的开发与维护。过程方法的套用可以完善软体设计、产品管理和项目管理。敏捷开发是现代软体开发中被广泛使用的範式。过程模型(英语:process models)则意图解决软体过程中的混乱,将软体开发过程中的沟通、计画、建模、构建和部署等活动(activities)有效地组织了起来。
软体过程为软体的开发定义了一个框架,将自动化工具、软体开发方法和质量管理紧密结合在了一起。软体过程构成了软体项目管理控制的基础,创建了一个环境以便于技术方法的採用、工作产品(模型、文档、报告、表格等)的产生、里程碑(milestones)的创建、质量的保证、正常变更的正确管理。

历史

软体开发方法(英语:software development methodology, SDM)框架在20世纪60年代开始出现。在信息系统的构建中,系统开发生命周期(SDLC)可被视作最早的形式化方法。SDLC的主要想法是,在採用框架时应当“以审慎、结构化和方法化的方式开发信息系统。生命周期中的每个阶段,从概念提出到系统交付,都应当严格、依次地进行”。当时的软体开发目标是,“在大型商业集团中开发大规模的功能性商业系统,系统需要承载大量数据处理和数据运算任务”。
方法、过程和框架覆盖範围甚广,包含从日常开发的步骤到为特定项目量身定製的灵活框架。一些情况下,组织会正式发布描述过程的文档。
软体开发方法历史中的重要事件有:
  • 1969年,结构化编程
  • 1980年,结构化系统分析与设计方法(Structured Systems Analysis and Design Method, SSADM)
  • 面向对象程式设计,起步于1960年代,1990年代中期成为一种主流方法
  • 1991年,快速应用程式开发
  • 1995年,Scrum
  • 1998年,团队软体过程
  • 1998年,由IBM维护的统一软体开发过程
  • 1999年,极限编程
  • 2005年,敏捷统一过程(Agile Unified Process, AUP)
  • 2010年代,基于大规模的敏捷框架(Scaled Agile Framework, SAFe)
  • 2010年代,大规模Scrum(Large-Scale Scrum, LeSS)

实践

在软体工程领域,项目生命周期刻画了一个工程从起始到完成,是如何进行计画、控制和监控的模型。在项目生命周期的早期和后期,软体架构、需求和系统定义是一个问题:
  1. 系统/软体的市场是什幺?
  2. 竞争对手有哪些?
  3. 系统/软体的运行平台是什幺?
  4. 这个项目可用的时间有多少?
  5. 项目需要是什幺?
经过这些年,从最早也最简单的瀑布模型开始,已经开发出了许多不同的模型。但是,随着软体变得更大和更複杂,这种开发方法已经出现负面影响,尤其是牵扯到有大型团队的时候。叠代的模型得到了发展,它包括原型法、演化原型法、增量开发、螺旋模型、V模型和混沌模型。
这些模型的使用大部分都局限于项目的总体管理,但是现在认为,如果在项目的单独部分都由最合适的模型控制,则这个项目受到了更好的控制。例如,一个项目用增量开发模型,但是在每一个增量过程,文档是按照瀑布模型创建和管理,而代码开发使用V模型管理。
每个项目的生命周期的正规性和複杂性受到很多因素的制约,包括预算约束,经验,项目规模和複杂度,开发队伍。

敏捷软体开发

敏捷软体开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软体开发方法,是一种应对快速变化的需求的一种软体开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程式设计师团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软体版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软体开发过程中人的作用。
敏捷软体开发(或称快速程式开发RAD)描述了一套软体开发的价值和原则,在这些开发中,需求和解决方案皆通过自组织跨功能团队达成。敏捷软体开发主张适度的项目、进化开发、提前交付与持续改进,并且鼓励快速与灵活的面对开发与变更。这些原则支持许多软体开发方法的定义和持续进化。

标 签

搜索
随机推荐

Powered By 种豆资源网||