“软件开发生命周期?那不就是从‘一见钟情’的需求分析,到‘七年之痒’的系统维护,中间还穿插着无数次的‘代码约会’和‘bug分手’吗?”
传统的软件生命周期方法学划分阶段,可以把软件生命周期划分为软件定义、软件开发、软件运行与维护三个阶段。
软件开发的生命周期模型
软件定义包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的目标。具体可分成问题定义、可行性研究、需求分析等。
- 问题定义。问题定义是明确软件系统的目标、定位、范围,并依据软件工程需求界定问题空间,确立系统性质的关键步骤。
- 可行性研究。软件系统的可行性研究涵盖技术、经济、操作和社会层面,旨在评估问题解决的可能性及解决方案的实施可行性。
- 需求分析。需求分析旨在明确软件系统的功能、性能需求及运行环境约束,产出需求规格、测试大纲和用户手册,确保软件满足安全性、可靠性、可维护性、精度、容错性、响应速度和适应性等关键指标。
软件开发时期就是软件的设计与实现,可分成概要(总体)设计、详细设计、编码、测试等。
- 概要设计是在软件需求规格说明的基础上,构建系统总体架构,包括子系统划分,明确模块间关系,定义各功能模块及其相互联系。
- 详细设计对概要设计产生的功能模块逐步细化,把模块内部细节转化为可编程的程序过程性描述。详细设计包括算法与数据结构、数据分布、数据组织、模块间接口信息和用户界面等的设计,并写出详细设计报告。
编码,即编程,是将详细设计转化为可执行程序的过程。
测试则包括单元测试、集成测试、确认测试和系统测试等阶段,编码和测试合称为系统实现。
软件运行和维护
- 软件运行涉及将软件产品交付用户使用,并确保软件持续满足用户需求。
- 软件维护是响应需求变化和修正软件产品的过程,旨在延长其使用寿命;当维护不再有价值时,软件应退役,其生命周期随之结束。
开发方法 vs. 开发模型:软件工程的舞步与舞台
在软件工程的世界里,开发方法就像是舞步,它们是具体的步骤和技巧,告诉我们如何跳这支舞——也就是说,如何进行编码、测试和维护。而开发模型则像是舞台,它们提供了一个框架,定义了软件开发的整个生命周期,从构思到部署,再到最终的维护。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。