新闻动态NEWS

当前位置:主页 > 新闻动态 > 公司新闻 > 公司新闻

苏州智全软件为您解析软件生命周期


 
     概括地说,软件生命周期是由软件规格描述、软件开发、软件确认和软件演进4个基本活动组成的,每个基本活动又进一步划分成若干个阶段,苏州软件公司为您分享。
 
      软件规格描述的主要任务是解决“做什么”的问题,即确定工程必须完成的总目标和可行性,导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制订工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件规格描述通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。
 
     软件开发的主要任务是解决“如何做”的问题,即具体设计和实现在前一个时期定义的软件,苏州软件开发认为它通常由下述3个阶段组成:总体设计,详细设计,编码实现。
 
     软件确认的主要任务是“确认实现的系统满足用户的要求”,即依据规格说明来测试所实现的软件。软件测试包括单元测试、集成测试、系统测试等。通常单元测试合并在编码实现阶段进行。
 
     软件演进又称为软件维护,通常有4类维护活动:改正性维护,当软件在使用过程中发现错误时应该加以改正;适应性维护,当环境改变时应该修改软件以适应新的环境;完善性维护,当用户有新要求时应该及时改进软件以满足用户的新需要;预防性维护,即修改软件为将来的维护活动做准备。
 
     下面简单介绍软件生命周期每个阶段的基本任务。
     1.问题定义
 
     问题定义阶段必须明确要解决的问题是什么。尽管确切地定义问题的必要性是十分明显的,但是在实践中它却可能是最容易被忽视的一个步骤。通过问题定义阶段的工作,系统分析员应该提出关于问题性质、工程目标和规模的书面报告。通过对系统的实际用户和使用部门负责人的访问调查,分析员扼要地写出他对问题的理解,并在用户和使用部门负责人的会议上认真讨论这份书面报告,澄清含糊不清的地方,改正理解不正确的地方,最后得出一份双方都满意的文档。
 
     问题定义阶段是软件生命周期中最简短的阶段,一般只需要卫天甚至更少的时间。
 
     2.可行性研究
 
     苏州工业自动化软件认为这个阶段要明确在成本和时间的限制条件下,上一个阶段所确定的问题是否有行得通的解决办法。为此,系统分析员需要在较抽象的高层次上进行一次系统分析和设计过程。在用户的配合下,由分析员提出解决问题的候选方案,然后对每个方案从技术、经济、法律和操作等方面进行可行性研究。
 
     可行性研究的结果将为使用部门做出最终是否开发软件项目的决定提供重要依据。可行性研究有助于尽早发现那些不值得投资的工程项目,避免了后期更大的浪费。
 
     3.需求分析
 
     这个阶段的任务主要是明确为了解决这个问题,目标系统必须做什么。为此,分析员要通过各种途径与用户沟通,获取他们的真实需求,并通过建模技术来表达这些需求。通常需要从功能、数据、行为等方面描述系统的静态和动态特性。
 
     在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,必须准确完整地体现用户的要求。系统分析员通常都是计算机软件专家,技术专家一般都喜欢很快着手进行具体设计,然而,一旦分析员开始谈论程序设计的细节,就会脱离用户,使他们不能继续提出他们的要求和建议。因此,分析人员必须和用户共同讨论决定哪些需求是必须的,然后编写出需求规格说明书和系统用户手册,在用户确认之后才能进人下一个阶段。
 
     4.总体设计
 
     又称为概要设计,这个阶段的主要任务是确定系统的架构,即给出软件的体系结构。首先,架构设计师必须制订几种可能的设计方案。例如,目标系统的一些主要功能是用计算机自动完成还是用人工完成;如果使用计算机,那么是使用批处理方式还是人机交互方式;信息存储使用传统的文件系统还是数据库等。
 
     选择最佳的方案,把上一阶段确定的需求映射成相应的软件体系结构。软件体系结构明确了系统由哪些子系统构成、子系统之间的关系、每个子系统由哪些模块组成、模块之间的关系,并将这样一种设计结果用适当的模型表示出来。
     5.详细设计
 
     也称为模块设计,这个阶段的主要任务是进一步确定如何实现这个系统,即设计总体设计阶段所给出的每个模块的内部算法流程和数据结构。这个阶段不是要编写每个模块的代码,而是运用适当的模型来刻画软件设计人员对模块算法的构思。
 
     6.编码和单元测试
 
     这个阶段的任务就是实现已做的设计,即写出正确的、容易理解和维护的程序代码。程序员应该选取一种适合的编程语言,把软件的设计结果转换成在机器上可以运行的程序代码。此外,在转换过程中,对每个设计模块要进行单元测试,并通过调试排除测试中发现的错误。
 
     7.集成和系统测试
 
     这个阶段就是通过各种类型的测试来提高软件质量,使软件达到预定的要求。本阶段主要做两类测试:集成测试和系统测试。
 
     集成测试又称为组装测试,即把经过单元测试的模块按设计规定的某种策略组装起来,在组装过程中对程序进行必要的测试,重点测试模块接口部分的正确性。
 
     系统测试又称为验收测试,是根据软件需求规格说明书的要求,对各项需求逐一进行测试。系统测试是在用户的参与下对目标系统进行的验收。
 
     8.软件维护
 
     软件维护发生在软件已经正式交付使用之后,维护的主要目标是使系统持久地满足用户的需要。软件维护的任务包括:提出维护要求,分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收等一系列步骤。
 
     软件维护发生在软件运行后退役前,每一次维护都经历了一次压缩和简化了的软件定义和开发的全过程,所以软件维护的工作量很大,应该在开发过程中就考虑将来的维护,使软件具有尽可能好的可维护性。

在线咨询
在线咨询
在线客服