APP下载

浅谈软件开发生命周期

2020-08-13张嘉敏

科学导报·学术 2020年36期
关键词:生命周期软件模型

张嘉敏

摘  要:现在科技的飞速发展使软件的数量和规模急剧增加,所以软件开发不单单是一个人能完成的工作,而是需要各种成员来配合,完成计划、分析、設计、编码、测试、维护等一系列工作。为了在更大程度上保证软件产品的质量,软件的制造过程是需要进行监控的,软件工程必须科学、合理,所以在软件项目中提出了软件生命周期的概念。

关键词:软件;生命周期;模型

1引言

和人一样,一个软件产品或软件系统的诞生也是要经历从孕育、出生、婴儿、儿童、青年、中年、老年、死亡整个过程,电子商务网站也是这样的,要经历一个漫长而复杂的过程。任何一个电子商务系统都需要不断更新,不断维护,去适应环境的变化,防止它因为不适应而被淘汰,这就是软件的生命周期。根据生命周期模型把电子商务网站整个软件生存周期划分为若干阶段,将任务分给每一个阶段,使复杂软件开发变的容易控制和管理。

2软件生命周期的阶段

一、问题定义,首先要求分析员了解到客户需要解决的问题,然后写出工程目标和范围的说明,并形成一个完整的书面报告,提交给用户并得到用户对这份报告的确认。解决一个问题不能很好地明确该问题是什么以及该问题的目标是什么最终得出的结果极有可能是没有任何意义的,虽然说明确地定义一个问题是很重要的,但是在现实生活中却是极易被忽略掉的。进行该阶段的人设成为系统分析员,他通过一系列详细的了解,如:明确客户需要什么样的产品,有什么具体要求等,随后作最后的书面报告,并且,双方要意见一致,客户认可这份报告。

二、可行性研究,关键是要想上个阶段提出的问题是否有解决办法,因为不是所有的问题都是能解决的,如果解决不了,就没有必要在这个问题上浪费时间和金钱,这个阶段就是要确定问题是否能解决而不是解决问题。系统分析员需要从各种方面进行分析并形成一个可行性研究报告。对于电子商务网站来说,需要考虑经费的问题,所以要提前对收益和成本进行分析。这个阶段的目的是,用最小代价最短时间明确是否可以解决,关键的就是,确定在上一阶段中确定了的问题是否有可以解决的方法,而不是去解决这个问题。进行这个阶段的人设也是系统分析员,他要进一步地明确客户的需求,提出各种解决该问题的方案,对每一种方案都从多重角度进行分析,如技术层面、经济层面、社会因素层面等,最后确定这个项目是否要开展。

三、需求分析,要确定目标系统要做什么,要完成什么事情。第二个阶段提出的研究不是准确的,只是进行粗略的分析,但是本阶段是要求有清晰、准确的结果,然后通过分析员和客户的交流得出需求规格说明书。B2C电子商务网站是一个用于交易的系统,商家在网上发关于商品的各种信息,客户进行选购和支付。最后进行网上的交易,所以要满足商家管理商品、订单和客户能在线看商品信息、购物的需求。但是当系统出现新的需求时,不用改变原有的结构,就能扩展。

四、概要设计,基本任务是要知道实现目标系统的方法。首先软件工程师应该设计出多种方法,然后分析各个方法的优缺点,考虑各种因素后得出一种最佳方案并制定详细的计划。此时与客户进行沟通交流,若客户接受该方案,则进行下一步的工作。接下来的工作就是对目标系统中包含的程序进行模块的划分、确定模块的组成以及确定各模块之间的关系,设计出一个完整的体系结构,形成总体设计说明书。

五、详细设计,要把问题具体化,要制定实现系统的具体方法,这个阶段要设计出模块的算法和数据结构,不是编写程序。

六、编码和单元测试,选择语言,用工具把设计的结果翻译,翻译出这个语言的正确的程序,还要容易理解,容易维护。这一阶段才像是平常学校里进行的实验课一样,进行代码的编写和测试,当学习了软件工程导论这门课程之后才发现原来一个系统的实现,并不仅仅是编写代码那么简单且编写代码也不是系统实现的最主要过程,实际上一个目标系统的实现包括多个过程,每一步都不允许有任何遗漏与差错,想得到一个预期的结果,就离不开团队中每个成员的分工合作,离不开每个成员贡献的每一份力量。

七、综合测试,通过测试要发现系统中所存在的各种问题,要测试软件是否能满足用户要求。对这个案例进行分析,是要考虑系统的整体性能,测试时,需要先在内部进行,,然后按照说明书的规定,由用户进行验收。

八、软件维护,有四种维护活动:1、改正性维护:改正在软件在使用过程中发现的隐藏的错误;2、适应性维护:为了适应环境的变化来进行维护;3、完善性维护:用户有了新的要求后进行改进;4、预防性维护:防止以后软件出现问题而进行的维护和修改,使软件更完整。

3软件生命周期的模型

生命周期又叫过程模型,它把生命周期划分成了几个部分,并将这几个部分的执行过程进行排序,常用的生命周期模型有以下几种[1]:

瀑布模型在以前是生命周期模型中最为广泛使用的一种模型,这个模型以酷似瀑布而闻名。在瀑布模型中,首先要求软件工程师收集客户的需求,然后进行分析、设计、编码、测试和维护……显而易见,收集需求是瀑布模型的关键,只有完成这一步才能进行后续的操作,因此只有这一步正确,后面才能得到正确的结果,也就是说如果在后面的阶段出现了问题,很可能要从第一个阶段进行修改,这是需要付出很大的代价的。但是瀑布模型也有优点,由于前面阶段的错误会导致后面的阶段出现错误,所以这就要求每个阶段都需要小组成员进行多次反复认真的检查,严格提交产品。瀑布模型是一个由文档驱动的模型,有很多好的思想可以学习。

快速原型模型是可以在计算机上快速建立起来的模型,它展示的是部分功能,而且可以解决瀑布模型不够直观的这个缺点。一般来说,可以根据用户的需求在最短的时间内解决用户的迫切需要。快速原型模型首先要快速建立一个能体现用户需求的简易系统,让用户试用,根据用户试用后的意见来得出用户想要的系统,修改后的系统被用户认可后,原型系统将被扔掉,因此原型的结构并不是很重要,重点是要快速,然后工作人员就可以完成说明文档,可以得到用户最真实、最需要的系统。也就是说,在开发过程中不会出现文档的错误而导致系统的错误。而且。开发人员在建立原型模型中学到很多,后续阶段会尽量避免问题的出现,降低错误率,可加速软件开发并降低成本。但是,快速原型模型需要强有力的工具的支持,而这种有力的工具是缺少的并且尚未建立完整的开发标准。

增量模型也可以称为渐增模型。这个模型涉及到一个概念,增量构件,一个个相互作用在一起的模块构成了每一个增量构件。第一个增量构件提供最为核心的功能,如文件管理、文档生成和文件编辑等,第二个提供了更加完整的文档生成和编辑功能,不断重复上述的俩个内容,直至最终产品的产生。用户需要一些有用的工作产品时,该模型可以在较短时间内完成,但是当每一次并入增量的时候,会破坏原来已经构好了的东西。

4总结

当你明确用户需求的时候可以采用瀑布模型;在分析师能力不足、用户经验不足或者需要快速得到系统软件的时候一定要使用快速原型模型;在没有办法很好的规划系统时尽量使用增量模型或者螺旋模型,同时在得不到用户稳定的需求时建议用增量模型;也可将多种模型很好的结合起来一起使用,我们只有很好的了解生命周期才能做出一个合格的软件。

参考文献

[1] 顾明.软件工程中几种常用软件生命周期模型的简介[J].计算机时代,2003(01):20-21.

猜你喜欢

生命周期软件模型
基于云制造模式的产品碳足迹生命周期评价
自制空间站模型
有趣的识花软件
模型小览(二)
探索ASP.NET的生命周期
圆周运动与解题模型
基于生命周期理论的科技型小微企业融资路径选择探析
税收筹划在企业经营管理中的应用探讨
离散型随机变量分布列的两法则和三模型
即时通讯软件WhatsApp