软件工程基础:王立福2011版自学考试课件解析
需积分: 37 159 浏览量
更新于2024-08-15
收藏 3.61MB PPT 举报
"王立福教授的2011版自学考试软件工程课件,主要讲解了软件工程的基础知识,包括软件开发的本质、软件过程、软件需求、开发方法学以及软件成熟度模型CMM。课件特别强调了理解软件开发的重要性,并通过实例解释了软件生存周期过程中的各种映射关系,如数据抽象和过程抽象。"
在软件工程中,表达及其格式是UML(统一建模语言)中的一种关键元素。状态转换在UML中表现为带有箭头的实线,从源状态出发并终止于目标状态。转换可以被标记,其格式为“转换触发器 ‘[‘监护条件’]’ ‘/’ 动作表达式”。转换触发器描述了一个带参数的事件,例如“事件名'(参数表)'”。监护条件则通常是一个布尔表达式,它可以利用事件参数、对象的属性、链接,甚至可以指定对象在特定状态的情况,如“in State1”或“not in State2”。
软件工程的基础在于有效地进行软件开发和测评,这要求我们不仅要理解表面的操作,还要了解其背后的原理。北京大学软件工程国家工程研究中心的王立福教授在2009年的课件中,提出了软件开发的五个核心部分:
1. 概论:探讨软件开发的本质和基本手段,强调正确认识软件开发对实践的重要性。
2. 软件过程:关注开发活动及其组织方式,构建软件生存周期模型。
3. 软件需求及系统/产品需求规约:定义软件开发的起点,作为产品测试的依据。
4. 软件开发方法学:介绍如结构化、面向对象等不同的开发方法,提供实现开发过程的途径。
5. CMM(软件能力成熟度模型):讨论如何确保开发过程的能力,以产出正确的产品。
软件开发的本质可以看作是从问题域到不同抽象层的概念和计算逻辑的映射。这包括数据抽象(如对象=F(张山)),过程抽象(如计算学生成绩的处理逻辑),以及交互设计(如交互图)。这些映射关系在需求分析、设计阶段通过各种方法(如面向对象、结构化)来实现,基于相应的原理,如数据抽象和过程抽象,目标是形成可计算的模型和逻辑。
课件还提到了软件生存周期过程的支持和管理技术,它们对于软件工程的知识结构至关重要,提供了活动的顺序和建立过程的方向。此外,课件列举了多种软件开发方法,包括结构化方法、面向对象方法、面向数据结构方法以及维也纳开发方法等,展示了不同方法在实际开发中的应用。
通过学习王立福教授的课件,自学者可以深入理解软件工程的核心概念,掌握软件开发的关键技术和方法,从而更有效地参与软件项目的开发与管理。
2023-03-29 上传
2024-11-06 上传
2024-11-06 上传
2024-11-06 上传
2024-11-13 上传
2024-11-12 上传