软件工程基础与方法学探索-王立福教授讲座

需积分: 32 23 下载量 59 浏览量 更新于2024-08-20 收藏 3.86MB PPT 举报
"北大王立福教授的软件工程2012研修班课件,主要讲解了软件工程的基础知识,包括软件开发的本质、软件过程、软件需求与系统规约、软件开发方法学以及CMM(软件能力成熟度模型)。课程强调了在软件生存周期中的各个阶段,特别是如何通过不同的开发方法学进行软件设计与实现。" 在软件工程中,"第二种方法"是指在自顶向下开发过程中,针对子系统和接口的需求捕获以及可能存在的替代设计方案。这种情况下,可以在层次体系的不同层上描述用况细化的设计,以子系统的形式表示,如示例中的b、a和c,这种做法有助于更细致地管理和设计使用参与的用况细化子系统及其接口。 课程提到了软件工程的五个核心方面: 1. 概论:探讨软件开发的本质,即如何将问题域的概念和处理逻辑映射到不同抽象层,包括需求、设计、实现和部署阶段。软件工程是应用计算机科学理论、技术和工程管理原则,按照预算和时间表来创建满足用户需求的软件产品。 2. 软件过程:这部分试图定义开发活动中涉及的各种活动及其组织方式,确保软件开发的有序进行。 3. 软件需求与系统/产品规约:这是软件开发的起点,需求规约作为测试的基准,确保产品或系统符合预期。 4. 软件开发方法学:涵盖各种开发方法,如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法,这些方法提供了实现开发过程的路径。 5. CMM(软件能力成熟度模型):关注如何保证软件开发过程的能力,确保能够产出正确的产品。 软件开发的本质在于将问题域的概念通过不同的抽象层(概念模型、设计模型、实现模型和部署模型)映射到计算逻辑,以适应不同的运行平台和应用环境。课程还强调了软件模型的重要性,它是问题域和计算逻辑之间的桥梁,反映了不同抽象层之间的映射关系。 在实际开发中,选择合适的开发风范,应用适当的开发方法,并提供必要的工程支持,实施有效的工程管理,这些都是确保软件开发成功的关键因素。而软件模型的建立,无论是概念模型、设计模型还是实现模型,都是为了更好地理解和解决具体问题,最终实现软件的功能性和可用性,同时确保项目的经济合理性。