软件工程:概念、过程与方法学
需积分: 31 141 浏览量
更新于2024-08-20
收藏 3.53MB PPT 举报
"北大王立福《软件工程》自考课件中的框图和PAD图在软件工程中的应用"
在软件工程中,有效的软件开发和评估不仅需要理解具体的操作,还需要深入理解其背后的原理。北京大学软件工程国家工程研究中心的王立福教授在2009年的课程中阐述了这一观点,强调了对软件开发本质和基本手段的认识。软件工程涵盖了从需求获取到系统验证的全过程,并通过不同的方法学和过程模型来支撑。
在课程的一、概论部分,王立福教授探讨了软件开发的本质,即从问题域到不同抽象层之间概念和计算逻辑的映射。这个映射过程涉及到需求分析,以及数据抽象和过程抽象。例如,数据抽象是将问题空间的概念转化为模型化概念,如将人物张山映射为对象;而过程抽象则是将问题空间的处理逻辑转化为可构造的计算逻辑,如计算学生的平均成绩。
框图作为一种软件设计的第二种表达方式,被用于逐步求精的设计过程中。它通过简单的图形表示,如s1、s2等,来描述系统的各个部分和它们之间的关系。这种表达方式有助于简化复杂性,使设计更加清晰易懂。
第三种表达,PAD图(Problem Analysis Diagram),是软件设计中另一种重要的工具。PAD图以树状结构展示程序的逻辑流程,它支持递归和并发,使得复杂程序结构的展现更为直观。
软件过程的讨论涉及到开发活动中涉及的步骤和这些活动的组织。软件需求及系统/产品需求规约是软件开发的起点,它们为产品的确认和测试提供了基准。软件开发方法学,如结构化方法、面向对象方法、面向数据结构方法等,提供了解决问题的不同路径。每种方法学都有其特定的实现途径和理论基础,如结构化方法主要基于过程抽象,面向对象方法则依赖于数据抽象。
CMM(Capability Maturity Model for software)是评估和改进软件开发过程能力的框架,确保能产出正确的系统或产品。它关注的是过程成熟度,以提升软件开发的质量和效率。
王立福教授的课程涵盖了软件工程的基础知识结构,从本质到方法学,再到过程模型和质量保障,全面地阐述了软件开发的各个环节。这些知识对于理解和实践软件工程至关重要,有助于开发者构建高质量的软件系统。
2012-06-12 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
慕栗子
- 粉丝: 20
- 资源: 2万+
最新资源
- [影音娱乐]无组件音乐防盗链程序(PHP)_ft_php.rar
- 9Gag Simple Extension-crx插件
- profile-generator
- Dédalo:查找连接到ares p2p网络的所有房间。-开源
- 安卓壁纸v5.15.6 清爽版.txt打包整理.zip
- ruishaweigonglvwuxian,易语言c编译器模块源码,c语言
- terraform-aws网站
- MTZODROW-Style-Guide:Meghan Zodrow的更新样式指南
- asyncnio:Java 的 JDK7+ 异步套接字通道的洁净室实现(建立在 JDK1.4+ NIO SocketChannel apis 之上)
- E-commerce-website-with-realtime-tracking:这是一个具有实时跟踪的电子商务网站的项目构建。 使用此网站,您可以在购物车中添加他/她的物品,然后下订单。 该项目使用soket.io提供订单的实时跟踪
- 仿拍鞋网商城首页触屏版html5手机wap购物网站模板_网站开发模板含源代码(css+html+js+图样).zip
- Klumpinatoren-crx插件
- apitest,c语言链表源码代码,c语言
- Rating-System:一个可以对下属进行评分的简单系统
- MartinsAccount:我的个人资料库
- JS-Discord-Bot:我想学习JS