《系统分析与设计方法及实践》一2.1 软件生命周期

2.1 软件生命周期

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

时间: 2024-09-20 21:50:34

《系统分析与设计方法及实践》一2.1 软件生命周期的相关文章

《系统分析与设计方法及实践》一2.4 软件过程模型

2.4 软件过程模型 软件过程是整个软件生命周期中一系列有序的软件生产活动的流程.为了能高效地开发一个高质量的软件产品,通常把软件生命周期中各项开发活动的流程用一个合理的框架--开发模型来规范描述,这就是软件过程模型,或者称为软件生命周期模型.所以,软件过程模型是一种软件过程的抽象表示法,"建模"是软件过程中最常使用的技术手段之一.软件过程模型是从一个特定的角度表现一个过程,一般使用直观的图形标识软件开发的过程,主要根据软件的类型.规模,特别是软件的开发方法.开发环境等多种因素确立过程

《系统分析与设计方法及实践》一1.2 什么是软件分析与设计

1.2 什么是软件分析与设计 软件分析与设计是软件工程的重要组成部分,其定义目前还没有统一的标准.早期,软件工程专家B.W. Boehm将软件工程定义为:设计并构造计算机程序,以及为开发.运行和维护这些程序所必需的相关文件资料.Fritz Bauer如下定义软件工程:为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则.IEEE软件工程标准定义软件工程为:开发.运行.维护和修复软件的系统方法.尽管软件工程的具体定义不尽相同,且又有一些学者提出了更完善的定义,但都是

《系统分析与设计方法及实践》一2.2 敏捷软件开发

2.2 敏捷软件开发 在传统的软件开发方法中,工作人员努力构建客户想要的产品.他们花费大量的时间努力从客户那里获取需求,针对需求进行分析和建模,并且归纳成规格说明书.然后,评审说明书,与客户开会讨论,最后签字.表面上看他们开发的产品是符合客户的要求的,但通常事与愿违.在项目快要结束的时候,需求和范围.产品的适用性成为争论的焦点. 敏捷软件开发方法告诉我们开发项目是一个学习的体验.没有谁能完全理解所有需求之后才开始项目,即使是客户也一样.客户一开始有一些主意,但是他们也会随着项目的进展进一步了解他

《系统分析与设计方法及实践》一1.4 软件生产活动

1.4 软件生产活动在软件工程概念被提出来之前,开发人员错误地认为,软件就是编码,至于分析和设计等都是次要的.随着软件规模的不断增大,软件生产过程中暴露出很多问题.软件工程是为克服这些问题(软件危机)而提出的一种概念,并在实践中不断地探索它的原理.技术和方法.软件开发的工程化思想让开发人员看到,软件生产活动不仅是开发活动,还有重要的维护活动.管理活动,进而发展了过程改进活动.1.开发活动开发活动是软件人员生产软件的活动.开发活动是软件工程的核心过程活动,软件工程提供了一整套工程化的方法来指导软件

《系统分析与设计方法及实践》一1.1 什么是软件

1.1 什么是软件 软件分析与设计的主旨是以工程化的思想进行软件开发,以便生产出高质量和高效率的软件系统,即软件分析与设计研究的基础就是软件.那么,软件是怎么定义的呢?它有哪些特性呢? 1.1.1 软件定义与特性 软件是计算机系统中与硬件系统相对应的部分,包括一系列程序.数据及其相关文档的集合.在这里,程序是按照特定顺序组织的计算机数据和指令的集合:数据是使程序能正常执行的数据结构:文档是与程序开发.维护和使用有关的图文资料.软件系统的核心是程序,而文档则是软件系统不可分割的组成部分. 要理解软

《系统分析与设计方法及实践》一第1章 软件分析与设计概述

软件系统分析与设计是软件工程(Software Engineering,SE)的重要组成部分,其目的是倡导以工程化的原理.原则和方法进行软件系统开发,是解决当时出现的"软件危机"的根本途径.

《系统分析与设计方法及实践》一第2章 软件分析与设计过程及其模型

随着软件工程的发展,人们开始关注软件分析与设计的核心问题--软件开发过程.软件过程是指把用户需要转变成软件产品所需的所有活动.有效的软件过程可以提高组织的生产能力.为了研究软件开发项目中各种活动的一般规律,以及对软件开发过程进行定量度量和优化,人们提出了所谓的软件过程模型,也叫做软件的生命周期模型.软件过程模型是一种开发策略,该策略对软件工程的各个阶段提供了一套范型,使工程的进展达到预期的目的.

《系统分析与设计方法及实践》一2.6 小结

2.6 小结 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤.软件过程框架定义了若干个小的框架活动,为完整的软件开发过程建立了基础.软件过程框架的通用过程框架活动包括沟通.计划.建模.构建和部署. 软件工程的敏捷理念强调自我组织团队.团队交流与合作.敏捷对待变更.敏捷方法是一组敏捷实践技术的总称.随着敏捷开发思想和极限编程方法在21世纪初前几年的快速普及,结对编程也迅速被大家熟知和尝试.结对编程是极限编程的12个主要实践之一,它吸收合作式编程的关键思想,

《系统分析与设计方法及实践》一2.3 结对编程方法

2.3 结对编程方法 极限编程的实践中有一个非常重要的原则就是结对编程,这里所谓的结对编程并非是一个人在编程,另一个在看.另外一个人也同样起着非常重要的作用,他需要帮助编码的人找到低级失误,防止其编码出现方向性的错误,特别是在出现一个正在编码的人不擅长解决的问题的时候,他会直接替换编码的人来进行编程.这样做的好处也许只有在实践了之后才能够体会到,它不仅可以避免一些错误的发生,而且可以通过直接的讨论来更快地解决一些容易产生歧义的问题.在交流的过程中,大家的水平也会有很快的提高.结对编程的过程也是一