软件工程基础与开发过程解析

需积分: 32 23 下载量 165 浏览量 更新于2024-08-20 收藏 3.86MB PPT 举报
"北大王立福教授的软件工程2012研修班课件主要涵盖了软件工程的基础知识,包括软件过程、软件需求、软件开发方法学以及软件能力成熟度模型(CMM)。课程旨在探讨软件开发的本质、基本活动和保障正确产品产出的过程能力。" 在软件工程中,软件开发过程是一系列有序的活动,这些活动在标题和描述中被概括为七个基本步骤: 1. 启动:这是项目的开端,通常包括确定项目的目标、范围和可行性,以及组建团队。 2. 准备投标:在商业环境中,这可能涉及到编写和提交提案,以赢得客户的合同。 3. 签订合同:一旦提案被接受,双方将签订正式的合同,明确项目的要求、时间表和预算。 4. 规划:这个阶段包括详细规划项目的各个阶段,分配资源,制定时间表,并建立质量保证计划。 5. 执行和控制:这是实际开发软件的过程,包括需求分析、设计、编码、测试和调试。同时,项目管理需要监控进度,确保符合预定的标准和目标。 6. 复审和评估:在开发过程中,定期进行评审以检查工作是否符合预期,同时评估项目的风险和性能。 7. 交付和完成:当软件开发完成后,它会被交付给客户,并进行最终的验收。完成阶段还包括文档整理、用户培训和维护安排。 软件工程的其他核心概念包括: - 软件需求和系统/产品需求规约:这是软件开发的起点,定义了软件必须满足的功能和非功能需求,也是测试和验证软件是否符合标准的依据。 - 软件开发方法学:如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法等,它们提供了不同的开发途径,帮助工程师实现软件开发过程。 - CMM(软件能力成熟度模型):这是一个评估和改进软件开发组织过程能力的框架,旨在提高软件质量和可靠性,确保按时按预算完成项目。 软件开发的本质在于将问题域的概念和处理逻辑映射到不同抽象层,如需求、设计、实现和部署,形成软件模型。软件工程师需要选择合适的开发范式,应用适当的开发方法,提供必要的工程支持,并实施有效的工程管理,以确保软件产品的功能性、可用性、合算性和工程目标的达成。