软件工程基础:王立福教授2012研修班课件

需积分: 32 23 下载量 19 浏览量 更新于2024-08-20 收藏 3.86MB PPT 举报
"北大王立福教授的软件工程2012研修班课件,主要探讨了软件工程的基础知识,包括软件过程、需求分析、开发方法学以及CMM等核心概念。课件中详细阐述了软件开发的本质,强调了状态分类在UML中的运用,如初态、终态和正常状态,并介绍了软件生存周期过程及其模型。" 在软件工程中,状态分类是UML建模中不可或缺的一部分。王立福教授指出,状态分为初态、终态和正常状态。初态是状态机的起点,通常用实心圆表示,它标志着状态机开始执行。终态则表示状态机执行完毕,用一个内含实心圆的圆来标识。正常状态是指那些既不是初态也不是终态的状态,是状态机运行过程中的主要组成部分。在实际描述中,除非特别指明,一般提到的状态指的是正常状态。初态和终态被视为伪状态,仅具有名称,它们可以与其他状态通过转移条件和动作相连,比如监护条件和动作,以驱动状态机的运行。 课程还涵盖了软件工程的基础知识,软件开发被定义为运用计算机科学理论、技术和工程管理原则,按照预定的时间和预算来创建满足用户需求的软件产品。软件开发的本质是将问题域的概念和处理逻辑映射到不同的抽象层,包括需求、设计、实现和部署阶段。每个阶段都对应着不同的模型,如概念模型、设计模型、实现模型和部署模型,这些模型反映了问题域到运行平台之间的映射关系。 软件工程过程包括了从概论(理解软件开发的本质)、软件过程(定义开发活动及其组织)、软件需求及系统/产品需求规约(作为开发的起点和测试的标准)、软件开发方法学(指导开发活动的方式)到CMM(软件过程能力成熟度模型),这些构成了软件工程的完整框架。开发方法学中提到了结构化方法、面向对象方法、面向数据结构方法以及维也纳开发方法等多种实现途径,而工程支持和管理技术则确保了整个开发流程的有效实施。 此外,课件强调了软件工程的目标,包括功能性的实现、可用性、经济性和工程原则的应用。软件开发不仅涉及技术层面,还包括了需求分析、设计、实现、集成、部署和维护等工程活动,同时要采用合适的开发风格,应用适当的开发方法,并提供必要的工程支持,实施有效的工程管理,以确保软件产品的质量和效率。