软件工程基础:王立福教授讲解
需积分: 29 3 浏览量
更新于2024-08-20
收藏 3.53MB PPT 举报
"输出模块-2011王立福的软件工程课件"
这篇资料主要探讨了软件工程的基础知识,由北京大学软件工程国家工程研究中心的王立福教授讲解。内容涵盖软件开发的本质、软件过程、软件需求及系统/产品规约、软件开发方法学以及CMM(软件能力成熟度模型)。资料中提到了软件开发的核心概念,并通过实例解释了软件开发的本质,包括问题域的映射、数据抽象和过程抽象。
1. 软件开发的本质:
- 问题域与解空间的映射:软件开发的本质在于将问题域中的客观事物系统转化为不同抽象层的概念和计算逻辑。例如,将现实世界的问题转化为计算机可以理解和处理的形式。
- 数据抽象:这是需求分析阶段的一个关键过程,通过模型化概念将问题空间的概念转化为计算的客体。
- 过程抽象:将问题空间的处理逻辑转化为可构造的计算逻辑,结构化方法在此过程中起着重要作用。
2. 软件过程:
- 软件生存周期过程:软件开发涉及到一系列的活动,这些活动按照一定的顺序进行,形成了软件的生命周期。
- 软件工程生存周期过程和支持过程:不仅包括开发活动,还包括对这些活动的管理和支持,以确保过程的有效性和产品质量。
3. 软件需求及系统/产品规约:
- 需求是软件开发的起点,它们定义了软件应该做什么,是产品/系统确认(测试)的依据。
- 需求分析是确定和文档化这些需求的关键步骤。
4. 软件开发方法学:
- 包括结构化方法、面向对象方法、面向数据结构方法、维也纳开发方法等多种途径,这些方法学为实现开发过程提供了指导。
- 结构化方法侧重于过程的分解和控制,面向对象方法强调对象和类的使用,而面向数据结构方法则关注数据的组织和操作。
5. CMM(软件能力成熟度模型):
- CMM提供了一种评估和改进软件开发过程能力的框架,旨在确保软件开发过程的质量和效率。
6. 输出模块:
- 在课程中提到的“输出模块”可能是指软件系统中的部分功能,如生成mpg、mph、里程等显示,还包括加/减速显示和蜂鸣等,这些都是软件与用户交互的一部分,体现了软件功能的实现。
这些知识点构成了软件工程的基础,对于自学软件工程的人来说,理解并掌握这些内容是至关重要的,因为它们构成了软件开发思想的基础。
2009-06-04 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
琳琅破碎
- 粉丝: 19
- 资源: 2万+
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码