软件生命周期的维护措施

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件生命周期的维护措施

09计科系2班 37号杨禹

摘要:

软件的生命周期包括软件定义、软件开发和运行维护三个时期,每一个时期又由若干若干个阶段组成。

软件定义时期由问题定义、可行性研究和需求分析组成。这一时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。开发时期具体设计和实现在前一时期定义的软件,它通常划分为4个阶段:总体设计、详细设计、编码和单元测试、综合测试。其中前两个阶段又称为系统设计,后两个阶段称为系统实现。维护时期是当软件在使用过程中发现错误时加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新的要求时应及时修改软件以满足用户的新需要。

关键字:软件定义、软件开发、运行维护

问题描述:分别从软件生命周期的每阶段谈谈关于提高软件开发的质量、效率、可维护性的措施。

软件生命周期的八个阶段:1、问题定义2、可行性研究3、需求分析4、总体设计5、详细设计6、编码和单元7、综合测试8、软件维护

1.问题定义阶段

明确问题。问题定义阶段必须要明确要解决的问题是什么,如果没有明确这个问题,那么所做的功夫和时间都是白费的。要明确这个问题就要我们通过对客户的访问调查,系统分析员扼要的写出关于问题的性质、工程目标和工程规模的书面报告,经过讨论和必要的修改。

2.可行性研究阶段

明确市场前景。软件的最终目的是要提供给客户方便、所以必须要先明确市场的前景、了解客户的需要、针对客户提出的要求提出解决问题的方法。

3.需求分析阶段

明确质量保证审查。一旦检测出问题来,就要采取纠正措施,从而控制不断增长的软件维护成本,延长软件的有效生命期。

内部评审、同行评审和客户方评审。对需求分析中不符合逻辑、不符合规范的地方要予以指正。

使用准确完整的规格说明书说明系统。找到在控制一个产品的质量的过程中所隐含的需求,并给予验证。

进行软件测试。为了提高软件质量,软件测试要贯穿整个于软件定义与开发过程。

从众多的业务中提取出用户核心的、主要的、急需的业务。

必须加强软件项目的需求管理,提高软件开发项目的管理效率。

运用管理思想,优化业务流程,加强人员配合。

4.总体设计阶段

设计多种方案。最少包括低、中、高成本的发案,分析每种方案的优缺点,选取一种最优的方案,要求能是花费较少。

将功能分解,确定具体的方案和软件结构,设计数据库,制定测试计划,书写文档,逐步求精。

我们要确定所使用的开发环境,选择优秀的软件开发环境以提高系统的管理和可维护性、大大降低风险。例如:Magic eDeveloper、Websphere、WebLogic、Oracle互联网开发套件、Visual Studio等等。

建立明确的软件功能需求优先级。先满足用户的核心要求再满足主要的和次要的。一定要使用户对各项功能感到满意。

准确的设计软件流程。要从根本上解决软件质量问题,提高工作效率就要规整个范软件产品的开发过程。

功能点的叠加。要实现可持续性,就要通过将功能点是逐渐去叠加来完善,而不能不断的推翻后重新实现,在软件设计过程中一定要注重这一点。

进行项目的时候使用敏捷软件的scrum方法、极限编程反法、crystal方法、特性驱动方法等,提高软件的质量、效率、可维护性。

尽量满足程序的可维护性。一个可维护的软件应是可理解的、可测试的、可修改的、可移植的、可使用的和效率高的。但是因为某些质量的特性是相互促进的,另一些质量特性却是相互抵触的。因此,可维护性要要求每一种功能特性都要得到满足。

5.详细设计阶段

要在软件设计初期就进行全面的分析,否则容易走弯路。

使用判定表。判定表的设计要简洁,无歧义地描述处理规则。

数据结构方面可以使用循环控制结构的重复数据或者分支控制结构的选择数据。

正确选择适当的程序设计语言。所选的语言要有理想的模块化机制,以及可读性好的控制结构和数据结构。及是否能使编译程序能够尽可能多的发现程序中的错误编程语言要规范化。编程必须要遵循良好的定义标准和过程。不规范的语言应用给程序的可理解性、可维护性以及可测试性带来了很大的影响。

编写正确完整的详细规格说明书。一个高质量软件需求规格说明书要足够详细,以便产品可以根据这些规格说明书进行定量的分析。

使用闭环跟踪方法,即自上而下方法。这种方法能确保程序的正确管理和跟踪需求的变更,以变更请求并最终变更软件代码。

对系统模块的开发过程,要使用结构化程序设计技术,提高现有系统的可维护性。6.编码和单元测试阶段

写一些简单容易理解和维护的小的程序块,选择语言,翻译设计,书写程序,仔细测试每个模块。

可以使用从下往上编写代码。也就是要求按照逻辑顺序,每分支出去一个功能函数,都要将这个函数编写完成,才能回到主程序继续编写。

可以使用从上往下的编写方式。就是当编写程序的过程中,每一个被分出去的程序,可以暂时用空程序去替代而不去具体实现软件功能。当主程序完成了以后,再一个个实现它的其他的子程序。

编写代码的时候要同时编写释义名称与注释,以提高程序的可理解性,以便日后的查看和维护,利用并缩进、空行等明显的视觉组织来突出程序的控制结构。

利用历史文档。在软件维护阶段,程序越长越复杂,则它对文档的需要就越迫切,而利用历史文档,可以大大简化维护工作。

利用提高代码的复用提高软件的可维护性。对整个系统的分析与规划可以局部代码复用,以提高编程效率。

7.综合测试阶段

充分利用文档的记录测试计划,详细的测试方案,还有实际的测试结果。

对软件的分析、设计和实现等各个阶段所得到的结果,包括需求规格说明、设计规格说明和源程序都要进行相应的软件测试。

需要明确一个具体的目标,确定哪种情况下是开始,哪种情况可以视为结束?测试通过的准则是什么?开始定制的计划,都需要经过详细的评审,还有测试所需要的资源、工具、测试工作所需的配置管理和保证方案、初始的测试策略、任务划分等等。

测试执行期间需要跟踪观察其执行效率。随时根据用户要求调整测试的策略,软件出现漏洞到结束的生命周期的管理过程,收集测试过程中产生的各种有用数据,分析问题将会对用户和系统产生的影响等等。

每当测试结束以后,需要对测试结果进行详细的分析与总结。测试报告里要有对测试产品的质量分析与评估,对软件测试过程自身的分析与评估,只有完整的过程才能保证完整的输出结果,同时总结经验和教训,对下一次测试活动进行有效的改善。

8.软件维护阶段

持续对软件进行维护,以便最大限度的满足用户的需求。

进行周期性的维护检查。定期安全检查认识系统的安全,以跟踪软件质量的变化,可以完善安全策略。

对错误进行统计、跟踪。可以更合理地评价软件质量以及软件质量度量标准和软件方法的有效性。

参考文献

[1] 《软件工程导论》第五版张海藩编著(清华大学出版社)

相关文档
最新文档