软件工程:理解开发的本质与数据流分配

需积分: 12 1 下载量 6 浏览量 更新于2024-08-23 收藏 3.53MB PPT 举报
"这篇资料是王福利教授关于软件工程的课件,主要讲解了软件开发中的数据流分派,以及软件工程的基础知识,包括软件过程、需求分析、开发方法学和CMM等内容。课件强调了理解软件开发的本质和基本手段的重要性,并通过实例解释了概念映射和抽象在软件开发中的应用。" 在软件工程中,"分派"数据流是指在系统设计阶段,根据特定的业务需求将数据流分配到不同的处理模块,以便于构建系统的各个组件。在这个过程中,需要确保录入、修改或删除商品信息、计算现金额和余额、查询销售情况以及计算日销售额等操作都能准确地与顶层数据流对应,保持整个系统的一致性。同时,这个过程并不一定需要引入额外的数据源或数据潭,可以根据实际需求来决定。 软件工程的本质在于将问题域(即实际要解决的问题)转化为运行在特定平台上的计算逻辑。这涉及到从问题空间的概念到解空间的模型化概念的映射,即数据抽象,以及问题空间的处理逻辑到解空间处理逻辑的映射,即过程抽象。这两种抽象是需求分析阶段的关键,它们分别对应于面向对象方法和结构化方法。数据抽象关注于形成计算的客体,而过程抽象则旨在构建可构造的计算逻辑。 软件过程涵盖了软件开发的所有活动及其组织,包括需求获取、系统分析、设计、编码、测试和维护等阶段。软件需求及系统/产品需求规约是软件开发的起点,它们为后续的工作提供基准,并在产品/系统确认测试中作为标准。软件开发方法学则指导如何有效地进行这些活动,如结构化方法、面向对象方法、面向数据结构方法等,提供了实现开发过程的不同路径。 CMM(Capability Maturity Model for software)则关注于提升软件开发过程的能力和成熟度,以确保能产出高质量的产品。它提供了一套框架来评估和改进软件开发过程的组织和管理。 这篇课件深入浅出地讲解了软件工程的基础,强调了理解本质和掌握基本手段对于软件开发的重要性,以及如何通过各种方法学和技术实现从需求到实现的转化。