软件开发过程

✍ dations ◷ 2024-12-22 21:06:42 #软件开发过程
软件开发过程(英语:software development process),或软件过程(英语:software process),是软件开发的开发生命周期(software development life cycle),其各个阶段实现了软件的需求定义与分析、设计、实现、测试、交付和维护。软件过程是在开发与构建系统时应遵循的步骤,是软件开发的路线图。软件过程方法涉及交付(deliverables)和工件(artifacts)的预定义、软件产品在项目团队中的开发与维护。过程方法的应用可以完善软件设计、产品管理(英语:Software product management)和项目管理(英语:Software project management)。敏捷开发是现代软件开发中被广泛使用的范式。过程模型(英语:process models)则意图解决软件过程中的混乱,将软件开发过程中的沟通、计划、建模、构建(英语:Software construction)和部署等活动(activities)有效地组织了起来。软件过程为软件的开发定义了一个框架,将自动化工具、软件开发方法和质量管理紧密结合在了一起。软件过程构成了软件项目管理控制的基础,创建了一个环境以便于技术方法的采用、工作产品(模型、文档、报告、表格等)的产生、里程碑(milestones)的创建、质量的保证、正常变更的正确管理。软件开发方法(英语:software development methodology, SDM)框架在20世纪60年代开始出现。在信息系统的构建中,系统开发生命周期(SDLC)可被视作最早的形式化方法。SDLC的主要想法是,在采用框架时应当“以审慎、结构化和方法化的方式开发信息系统。生命周期中的每个阶段,从概念提出到系统交付,都应当严格、依次地进行”。当时的软件开发目标是,“在大型商业集团中开发大规模的功能性商业系统,系统需要承载大量数据处理和数据运算任务”。方法、过程和框架覆盖范围甚广,包含从日常开发的步骤到为特定项目量身定制的灵活框架。一些情况下,组织会正式发布描述过程的文档。软件开发方法历史中的重要事件有:过程模型由五个基本的框架活动组成:沟通、计划、建模、构建(英语:Software construction)和部署。他们之间线性(linear)、迭代(iterative)、演进(evolutionary)和平行(parallel)关系会产生不同的模型。常见的过程模型包括:瀑布模型、V模型、原型设计、增量模型、螺旋模型等瀑布模型是经典的生命周期模型,简单的线性过程模型。一般会依次进行以下环节:适用于需求良定义的软件开发工作,实际工作很难按照瀑布模型的预想进行。V模型是瀑布模型的变种,它允许软件过程中环节的回顾调整。在V字曲线上下行时,团队理解需求和设计实现;在V的顶点处,可运行的软件已经被生成;而在曲线上行则会进行诸项测试。螺旋模型最初由Barry Boehm提出,它是软件过程的一个演进模型,为版本递增软件的快速开发提供了可能。其两个主要特性是:在软件工程领域,项目生命周期刻画了一个工程从起始到完成,是如何进行计划、控制和监控的模型。在项目生命周期的早期和后期,软件架构、需求和系统定义是一个问题:经过这些年,从最早也最简单的瀑布模型开始,已经开发出了许多不同的模型。但是,随着软件变得更大和更复杂,这种开发方法已经出现负面影响,尤其是牵扯到有大型团队的时候。迭代的模型得到了发展,它包括原型法、演化原型法、增量开发、螺旋模型、V模型和混沌模型。这些模型的使用大部分都局限于项目的总体管理,但是现在认为,如果在项目的单独部分都由最合适的模型控制,则这个项目受到了更好的控制。例如,一个项目用增量开发模型,但是在每一个增量过程,文档是按照瀑布模型创建和管理,而代码开发使用V模型管理。每个项目的生命周期的正规性和复杂性受到很多因素的制约,包括预算约束,经验,项目规模和复杂度,开发队伍。一些经验丰富和很受尊敬的项目领导和程序员认为生命周期的严格应用是一种理论,并不能在实践中起到好作用。Linux内核的创建者林纳斯·托瓦兹(Linus Torvalds),在Linux内核的邮件列表中这样描述:ISO 12207是为描述为一个项目选择,执行和监控生命周期的方法而开发的国际标准。

相关

  • 雪茄雪茄(英文:Cigar),属于香烟的一类,由干燥及经过发酵的烟草卷成的香烟,吸食时把其中一端点燃,然后在另一端用口吸咄产生烟雾。雪茄的烟草的主要生产国是巴西、喀麦隆、古巴、多米尼
  • 阿拉伯撒哈拉民主共和国面积以下资讯是以2016年1月估计国家领袖立国历史阿拉伯撒哈拉民主共和国(阿拉伯语:الجمهورية العربية الصحراوية الديمقراطية‎╱al-Jum
  • 生化工程生化工程(英语:biochemical engineering),亦称生物技术工程(biotechnology engineering)或生物程序工程(bioprocess engineering)等,是化学工程的一门分支,主要致力于设计并建立包含生
  • 国际单位制基本单位国际单位制基本单位是一系列由物理学家订定的基本标准单位。国际单位制共有7个基本单位。中华人民共和国用的单位名称依据《中华人民共和国法定计量单位》。中华民国用的单
  • 前额叶前额叶皮质(prefrontal cortex, PFC)是额叶的前部,运动皮层和运动前区皮层的前方。按照细胞结构学来讲,脑前额叶外皮通过第四层大脑皮质而被定义存在。运动前区皮层可以通过几种
  • 絮凝水处理时,会透过常不同药剂进行絮凝以利除去水中悬浮物质,例如为混拟使用之硫酸铝、氯化铁、PAC等混拟剂等,以及强化胶凝作用之各种助凝剂等,为调整酸碱度之石灰、苏打等碱剂,或
  • 滨海夏朗德省滨海夏朗德省 (17) (法语:Charente-Maritime)是法国的一个省。滨海夏朗德省创立于法国大革命时期,1789年12月22日立法,1790年5月4日生效。此省是来源于原先的奥尼和散舵芝(Aunis e
  • 大伦敦大伦敦(英语:Greater London),位于英国英格兰东南部,是英格兰下属的一级行政区划之一,范围大致包含英国首都伦敦与其周围的卫星城镇所组成的都会区。行政上,该区域是在1965年时设置
  • OLET有机发光晶体管(英语:organic light-emitting transistor,简称OLET;也称有机发光敏晶体管)是一种新型的发光晶体管。该种晶体管已被声称具有显示器和片上光互连的潜力。OLET是一
  • 十六雄国印度列国时代(梵语:महाजनपद,Mahajanapada,意为“大国”,约前600年—约前300年),是印度历史上的一个时期,前承印度吠陀时代。主要是十六大国并立争霸,这些大国主要分布在印度中