软件工程基础:王立福DFD分析与软件开发探讨
需积分: 37 33 浏览量
更新于2024-08-15
收藏 3.61MB PPT 举报
"这篇资料是王立福教授关于2011版自考软件工程的课件,重点讲解了软件工程的基础知识,包括软件开发的本质、软件过程、需求及系统规约、软件开发方法学以及CMM(软件成熟度模型)。课件中提到通过‘打碎’和‘分派’来构建0层DFD,用于描述图书管理系统的各个处理事务,如借还书、咨询,以及涉及到的各种文件和信息。同时,提到了数据库设计的问题。"
在软件工程中,"打碎"和"分派"是数据流图(DFD)创建过程中的两个关键步骤,用于将复杂的系统分解为更小、更易管理的部分。0层DFD通常表示系统的最高抽象级别,描述了系统的主要功能和数据流。在这个例子中,0层DFD包括处理借还书事务、处理咨询事务,以及涉及的多个文件,如目录文件、借书文件、读者文件、罚款单等,这些都是图书管理系统的核心组成部分。同时,保持输入与输出的一致性是DFD设计的重要原则,确保系统功能的正确性和完整性。
软件工程的基础在于理解软件开发的本质和手段。软件开发的本质是将问题域(即实际问题)映射到不同的抽象层,包括数据抽象和过程抽象。数据抽象是指将问题空间的概念转化为模型化概念,如将"张山"映射为对象,而过程抽象则涉及将问题空间的处理逻辑转化为解空间的处理逻辑,如计算学生成绩的过程。这两个抽象过程在需求分析阶段尤为重要,常用的方法有面向对象方法和结构化方法。
软件过程涵盖了软件开发的所有活动及其组织,从需求获取、系统分析、设计、编码、测试到维护,每个阶段都有其特定的任务和交付物。软件需求及系统/产品(需求)规约是软件开发的起点,它们定义了软件应具备的功能、性能和其他非功能需求,也是后续测试和验证的标准。
软件开发方法学如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法等,提供了实现开发过程的不同途径。CMM(软件成熟度模型)则关注如何提升开发过程的能力,确保能够持续产出高质量的软件产品。
课件中还提到了软件生存周期过程,包括软件工程过程的支持和管理技术,这些都构成了软件工程的基本知识结构。正确理解和运用这些知识是成功开展软件开发的关键。
2019-08-27 上传
2008-10-29 上传
2023-05-24 上传
2023-09-06 上传
2023-04-29 上传
2023-09-12 上传
2023-05-20 上传
2023-09-07 上传
2023-10-18 上传
西住流军神
- 粉丝: 29
- 资源: 2万+
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升