软件工程:需求规约与软件开发本质探索

需积分: 32 23 下载量 30 浏览量 更新于2024-08-20 收藏 3.86MB PPT 举报
"需求规约草案格式-北大王立福教授 软件工程2012研修班课件" 在软件工程中,需求规约是软件开发过程中的重要环节,它为项目的成功奠定了坚实的基础。王立福教授在2011年的课程中详细阐述了软件工程的基础,包括软件生存周期过程、软件需求和系统/产品需求规约等关键概念。根据IEEE标准830-1998,需求规约草案应遵循特定的格式,以确保文档的完整性和清晰度。 1. 引言 - 目的:明确文档编写的目的,解释为何需要该需求规约,以及它将如何帮助项目团队和利益相关者理解软件的目标。 - 范围:定义软件系统的边界,指出哪些功能将被包含,哪些不在考虑范围内,帮助避免后期的理解分歧。 - 定义,缩略语:列出所有重要的术语和缩写,以便读者能准确理解文档内容。 - 参考文献:列出所有引用的资料,如相关标准、研究报告或先前的协议,以提供进一步的信息来源。 - 概述:简要介绍软件系统的核心功能和预期效果,为读者提供整体认识。 软件工程关注的不仅仅是技术实现,还包括开发流程的组织和管理。软件生存周期过程涵盖了从需求分析到维护的各个阶段。在这一过程中,需求规约是软件开发的起点,它是产品/系统确认(测试)的标准,确保最终产品符合原始需求。 2. 软件开发方法学 - 结构化方法:通过自顶向下分解问题,逐步实现系统,适用于较简单的系统。 - 面向对象方法:基于对象和类的编程,强调代码的重用性和模块化,适合复杂的系统。 - 面向数据结构方法:根据数据结构来设计和实现软件,强调数据的组织和操作。 - 维也纳开发方法(VDM):一种形式化方法,用于验证软件设计的正确性。 3. CMM(Capability Maturity Model for software) - CMM模型旨在提升软件开发过程的能力,通过不同的成熟度级别来评估和改进软件组织的开发过程。 4. 软件开发的本质 - 软件开发本质上是将问题域的概念和处理逻辑映射到各种抽象层,包括需求、设计、实现和部署阶段。 - 在这个映射过程中,需要建立软件模型,如概念模型、设计模型、实现模型和部署模型,以适应不同的运行平台和计算逻辑。 软件工程的目标是按照预算和时间表,应用科学理论、技术以及工程管理原则,创造出满足用户需求的软件产品。为了达到这一目标,必须选择合适的开发风格,应用适当的开发方法,并提供必要的工程支持,同时实施有效的工程管理,确保项目的成功执行。