首页 > 编程学习 > 读书笔记:软件工程(3) - 软件生存周期

软件生存周期

指某一软件项目从被提出并着手实现开始,直到该软件报废或停止使用为止所经历的时间。

软件的生存周期一般分为软件计划、软件开发和软件运行3个时期。软件计划时期一般有问题定义和可行性研究两个阶段;开发时期有需求分析、软件设计(包括概要设计、详细设计)、编码和测试4个阶段;运行时期主要是维护阶段。图1.1列出了一个典型的软件生存周期。下面结合该图说明软件生存周期各阶段的主要任务。

1.计划时期

计划时期的主要任务是调查用户需求,分析新系统的主要目标,分析开发该系统的可行性。用户提出一个软件开发要求后,系统分析员首先要分析该软件项目的性质是什么,通过对用户和使用部门负责人的访问和调查,开会讨论即可得到解决。

(1)问题定义

问题定义是计划时期的第一步。这一步必须回答的问题是“用户需要计算机解决的问题是什么”。由系统分析员根据对问题的理解,提出关于“系统目标与范围的说明”,请用户审查和认可。

(2)可行性研究

在对问题的性质、目标、规模清楚之后,还要确定该问题有没有行得通的解决办法。在这个阶段要为前一步提出的问题寻找一种以上在技术上可行,且在经济上有较高效益的可操作解决方案。为此,系统分析员应在高层次上做一次简化的、抽象的需求分析概要设计,探索这个问题是否值得去解决。最后写出可行性研究报告。有时可行性研究报告要包含“系统流程图”,用来描述新系统(含硬件与软件)的组成。

2.开发时期

开发时期要完成设计、编码和测试3大任务。其中设计任务用需求分析概要设计详细设计3个阶段完成。

(1)需求分析

其任务在于弄清用户对目标系统的全部需求,准确地确定“目标系统必须做什么”,确定目标系统必须具备哪些功能.

用户了解它们所面对的问题,知道必须做什么,但通常不能完整而准确地表达它们的需求,当然也不知道怎么利用计算机解决它们的问题。而软件开发人员虽然知道怎么用软件完成人们提出的各种功能要求,但是对用户领域内的业务和具体要求并不完全清楚。因此系统分析员在这个阶段必须和用户密切配合,充分交流信息,在此基础上用“需求规格说明书”的形式准确地表达出来。需求规格说明书应包括对软件的功能需求、性能需求、环境约束和外部接口等的描述。这些文档既是对用户确认的系统逻辑模型的描述,也是下一步进行设计的依据。

(2)概要设计

概要设计又称总体设计。这个阶段必须回答的关键问题是“怎么做”,即应该怎样实现目标系统。主要任务是将需求转变为软件的表示形式。开发人员要把确定的各项功能需求转换成需求的体系结构,即从需求规格说明书导出软件结构图,确定由哪些模块组成及模块之间的关系。同时还要设计该项目的应用系统的总体数据结构和数据库结构。

(3)详细设计

详细设计阶段不是编写程序,这个阶段的任务是要回答“应该怎样具体地实现这个系统”。为概要设计阶段得到的软件结构图中的每个模块完成的功能进行具体描述,要把功能描述转变为精确的、结构化的过程描述,即确定实现模块功能所需要的算法和数据结构,并用相应的详细设计工具表示出来。

(4)编码

这一阶段是按照选定的语言,把设计的每一个模块的过程性描述翻译为计算机可接受的源程序。写出的程序应该与设计相一致,并且结构好,清晰易读。

(5)测试

测试是开发时期的最后一个阶段,是保证软件质量的重要手段。按照不同的层次,又可细分为单元测试、集成测试、验收测试。单元测试也称模块测试,是查找各模块在功能和结构上存在的问题;集成测试也称组装测试,是将各模块按一定顺序组装起来的测试,主要是查找各模块之间接口上存在的问题;验收测试也称确认测试,是按照需求规格说明书的规定,由用户参加的对目标系统进行验收。

3.运行时期

软件人员在这一时期的主要工作是做好软件维护。运行时期是软件生存周期的最后一个时期,也是时间最长的阶段。已交付的软件投入正式使用后,便进入软件维护阶段,它可以持续几年甚至几十年。软件在运行过程中可能会发现潜藏的错误,需要对它们进行诊断和改正,称为改正性维护;也可能是为了适应变化了的软件工作环境而需要做适应性维护;也可能是在软件漫长的运行时期,用户业务发生变化往往会对软件提出新的功能要求和性能要求,这种增加软件功能、增强软件性能的维护称为完善性维护;另外还有一些其他维护,如为了提高软件的可维护性和可靠性而对软件修改的预防性维护。

Copyright © 2010-2022 kler.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号