《软件工程方法与实践》—— 2.4 软件生存周期

简介: 一般地,软件生存周期可划分为定义、开发和运行3个时期,每个时期又细分为若干个阶段。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。 通常,软件生存周期包括问题的定义与可行性分析、项目计划、需求分析、软件设计、编码与测试、运行与维护等阶段,每个阶段又包含一系列的活动,可以将这些活动以适当的方式分配到不同的阶段去完成。

本节书摘来自华章出版社《软件工程方法与实践》一 书中的第2章,第2.4节,作者窦万峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.4 软件生存周期

同任何事物类似,软件也有一个从生到死的过程,这个过程一般称为软件生存周期或生命周期(Software Development Life Cycle,SDLC)。一般地,软件生存周期可划分为定义、开发和运行3个时期,每个时期又细分为若干个阶段。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。
通常,软件生存周期包括问题的定义与可行性分析、项目计划、需求分析、软件设计、编码与测试、运行与维护等阶段,每个阶段又包含一系列的活动,可以将这些活动以适当的方式分配到不同的阶段去完成。软件产品经历了从开始到结束的整个开发周期后,新一代产品将通过开发周期的重复而发展。即使开发阶段重复进行,它们也不一定与开发周期最初的那些阶段相同。
软件生存周期的基本理念是把开发过程中复杂的问题趋于简单化,从而有效地控制和管理的方法学。对软件开发过程的研究,实际就是对软件生存周期方法学的研究,所以,软件生存周期方法学是软件工程方法学的核心内容。
软件生存周期的6个阶段如下。
问题的定义与可行性分析。在此阶段,软件开发人员与客户进行沟通,确定软件的开发目标、范围、规模等,以及项目的可行性。
项目计划。项目计划阶段根据项目的问题、范围、规模制订初步的开发计划,包括人员组织、项目过程、项目预算投入、项目风险管理、进度安排等。
需求分析。在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。同样,需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制订需求变更计划来应付这种变化,以保证整个项目的顺利进行。
软件设计。此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架结构设计、组件设计、数据库设计等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。
编码与测试。此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一、符合标准的编写规范,以保证程序的可读性、易维护性,提高程序的运行效率。在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试3个阶段进行。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。
运行与维护。软件维护是软件生存周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。

相关文章
|
2月前
|
小程序 测试技术 程序员
『软件工程12』软件工程实践方法——软件测试
该文章详细阐述了软件测试的重要性和基本原则,并按测试阶段顺序介绍了单元测试、集成测试、确认测试以及系统测试的具体内容和实施步骤。
『软件工程12』软件工程实践方法——软件测试
|
3月前
|
敏捷开发 安全 测试技术
软件工程:从概念到实践
【8月更文第20天】随着信息技术的快速发展,软件在现代社会中扮演着越来越重要的角色。从简单的移动应用到复杂的操作系统,软件已经成为连接人与数字世界的桥梁。为了有效地开发和维护这些软件系统,软件工程应运而生。本文将探讨软件工程的基本概念、目标、原则以及常用的生命周期模型。
195 0
|
数据处理
【软件工程】第三章
【软件工程】第三章
|
机器学习/深度学习 设计模式 人工智能
软件工程高效学 | 软件工程基础
软件工程是计算机领域的一门专业基础课,它对于培养大家的软件素质、提高大家的软件开发能力与软件项目管理能力具有重要意义。本篇介绍软件工程的发展过程以及典型的软件工程方法等相关内容。
90 0
软件工程高效学 | 软件工程基础
《软件工程方法与实践》—— 2.6 小结
开发软件产品或构建系统时,遵循一系列可预测的过程活动是非常必要的,有助于及时交付高质量的产品,这些过程活动称为软件过程。大多数软件开发过程都有一个共同的软件过程框架,即沟通、策划、建模、构建和部署的过程。每个过程有包含一系列小的任务或活动。
1101 0
|
测试技术
《软件工程方法与实践》—— 1.6 小结
软件是计算机系统中与硬件相对应的另一部分,是一系列程序、数据及其相关文档的集合。软件具有复杂性、一致性、退化性、易变性、移植性和高成本等特征。软件工程是由于软件危机的出现而被提出的,其主旨是以工程化的思想进行软件的开发与维护,目的是高效率地生产出高质量的软件。
1751 0
《软件工程方法与实践》—— 3.5 小结
软件过程模型是对软件开发的复杂过程的抽象描述,建立各种各样的过程模型,如早期的瀑布模型、螺旋模型、增量模型,以及后来发展流行的统一过程模型等。软件过程模型是在软件生存周期模型的基础发展起来的。
1530 0
|
测试技术 项目管理 uml
《软件工程方法与实践》—— 导读
软件工程包含一系列软件开发的基本原理、方法和实践经验,用来指导人们进行正确的软件开发。软件工程强调从工程化的原理出发,按照标准化规程和软件开发实践来引导软件开发人员进行软件开发和实践活动,并进行过程改进,促进软件企业向标准化和成熟化的方向发展。
3177 0
《软件工程方法与实践》—— 第一部分 软件工程基础
本部分将介绍软件工程的基本概念、软件过程及其模型和敏捷软件开发方法,包括软件工程概述、软件过程、软件过程模型和敏捷软件开发方法四章内容
1458 0
下一篇
无影云桌面