软件工程:概念、过程与方法学探索

需积分: 37 19 下载量 32 浏览量 更新于2024-08-15 收藏 3.61MB PPT 举报
"王立福2011版软件工程自学考试课件,涵盖了软件工程的基础、软件过程、需求分析、开发方法学以及CMM等内容,强调了在软件开发中的本质——将问题域映射到不同抽象层的概念和计算逻辑。课件提及了多种开发工具和技术,如VB、VC、中间件、J2EE、.NET框架等,并指出UML作为系统分析和设计的工具,用于弥补不同抽象层次间的‘距离’。" 在软件工程中,王立福教授强调了理解软件开发的本质至关重要。软件开发的本质在于将问题域,即客观事物系统,映射到各种不同的抽象层,包括概念和计算逻辑层面。这个映射过程涉及到需求分析、模型化、抽象和逻辑处理等多个步骤。 首先,软件开发的基础是正确认识问题域与解空间之间的“距离”。以操作系统、语言处理系统、网络计算机等构成的运行平台为例,这些异构环境需要通过中间件技术与产品、应用框架来协调,实现不同抽象层次之间的沟通。 中间件技术是连接不同系统和应用程序的关键,它允许数据和功能在不同的系统间无缝流动。而.NET和J2EE框架提供了构建分布式应用程序的平台,支持多视角地建立系统模型,使得开发者可以使用UML(统一建模语言)来表达和理解复杂系统。 软件过程涉及的活动及活动组织是软件开发的另一核心。从需求获取到系统/产品需求规约,再到开发方法学的选择,如结构化方法、面向对象方法、面向数据结构方法或维也纳开发方法,每个阶段都有其特定的任务和目标。需求规约不仅是软件开发的起点,也是后续测试和确认的依据。 软件开发方法学则指导如何进行具体的开发活动。结构化方法强调程序的结构和模块化,面向对象方法则侧重于数据和行为的封装,面向数据结构方法关注数据结构的实现,而维也纳开发方法提供了一种形式化的系统开发途径。 CMM(能力成熟度模型)则关注软件开发过程的能力保障,旨在通过逐步改进和标准化过程,确保软件产品的质量和可靠性。 软件工程是一个综合性的学科,涵盖了从需求分析、设计、实现到维护的全过程。在王立福的课程中,他不仅讲解了理论知识,还强调了实践中的工具和技术应用,以帮助学习者全面理解软件开发的本质和实践。