软件生命周期分为问题定义、可行性研究、需求分析、开发阶段、维护这5个阶段。各个阶段的主要任务是如下。
1、问题定义
要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。
2、可行性研究
一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
3、需求分析
弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。
4、开发阶段
开发阶段由四个阶段组成:概要设计、详细设计、实现、测试
五、维护
维护包括四个方面:
(1)改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。
(2)适应性维护:是为适应环境的变化而修改软件的活动。
(3)完善性维护:是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。
(4)预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。
扩展资料:
软件常见周期模型:
1、瀑布模型
瀑布模型首先由Royce提出。该模型由于酷似瀑布闻名。在该模型中,首先确定需求,并接受客户和SQA小组的验证。然后拟定规格说明,同样通过验证后,进入计划阶段?可以看出,瀑布模型中至关重要的一点是只有当一个阶段的文档已经编制好并获得SQA小组的认可才可以进入下一个阶段。
瀑布模型通过强制性的要求提供规约文档来确保每个阶段都能很好的完成任务。但是实际上往往难以办到,因为整个的模型几乎都是以文档驱动的,这对于非专业的用户来说是难以阅读和理解的。
2、迭代式模型
迭代式模型是RUP推荐的周期模型,也是我们在这个系列文章讨论的基础。在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。
所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段(需求及其它)都可以细分为迭代。
3、快速原型模型
快速原型模型在功能上等价于产品的一个子集。瀑布模型的缺点就在于不够直观,快速原型法就解决了这个问题。一般来说,根据客户的需要在很短的时间内解决用户最迫切需要,完成一个可以演示的产品。这个产品只是实现部分的功能(最重要的)。
它最重要的目的是为了确定用户的真正需求。在我的经验中,这种方法非常的有效,原先对计算机没有丝毫概念的用户在你的原型面前往往口若悬河,有些观点让你都觉得非常的吃惊。在得到用户的需求之后,原型将被抛弃。
因为原型开发的速度很快,设计方面是几乎没有考虑的,如果保留原型的话,在随后的开发中会为此付出极大的代价。至于保留原型方面,也是有一种叫做增量模型是这么做的,但这种模型并不为大家所接受的。
参考资料来源: