软件工程导论课件(全)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》
Software Engineering
2017/10/25
淮 北 师 范 大 学
教 育 学 院
在一些人眼里,今天的软件开发似乎已 成为简单的事情,已有了不少很好的开发工 具和软件库,软件开发人员训练有素,都强 烈渴望去编写很酷的软件,可以在几天的时 间里编写出一个相当复杂的软件。但为什么 有一些软件能够得到用户的喜欢,而另一些 则不能?为什么有些软件能够在市场上成功 ,而有些则受到冷落?由此可见,开发软件 并不一定难,难就难在如何开发有用的软件。
1.1 软件的概念与特点
1、软件
software
soft+ware
软制品 (软体)
教 育 学 院
软件是计算机系统中与硬件相互依存的另一部分。 它包括程序、数据及其相关文档的完整集合。
2017/10/25
淮 北 师 范 大 学
2、软件特点
. 软件是一种逻辑实体,而不是具体的物理实体 . 软件的生产与硬件不同
软件技术的发展落后于需求
硬、软件成本比例的变化
2017/10/25
淮 北 师 范 大 学
3、软件的分类
1、按软件的功能进行划分
系 统 软 件 应 用 软 件 支 撑 软 件
教 育 学 院
2017/10/25
淮 北 师 范 大 学
支撑软件
一般类型: 文本编辑程序 文本格式化程序
支持需求分析: PSL/PSA问题描述语言 关系数据库管理系统
淮 北 师 范 大 学
微软企业文化宗旨部分内容
教 育 学 院
Wake up every day with a feeling of passion for the different technology will make in people’s Life.
每天醒来的时候,要对技术给生活造成的改变 始终拥有一份 激情。
是把软件当作一种工业产品,要求 “采用工程化的 原理与方法对软件进行计划、开发和维护 ”。
2017/10/25
淮 北 师 范 大 学
2、 软件工程学
软件开发方法学Baidu Nhomakorabea
软件开发技术 软件工程学
软件工具 软件工程环境
教 育 学 院
软件工程管理
软件工程管理学 软件经济学
---- 软件工程学的范畴
2017/10/25
. 在软件的运行和使用期间,没有硬件那样的机械 磨损,老化问题
修改点 失 效 率 实际曲线
教 育 学 院
磨合 调整
磨损 用坏
失 效 率
理想曲线
硬件失效率曲线
时间
软件失效率曲线
时间
2017/10/25
淮 北 师 范 大 学
. 软件的成本相当昂贵
成本%
教 育 学 院
软 件 复 杂 性
软件需求 差距 软件技术 时间 1950 1970 硬件 软件 1985 1995 年份
2017/10/25
淮 北 师 范 大 学
第一章 软件工程概述
传统工程
水利工程
建筑工程
机械工程
… …
新兴工程
气象工程
生物工程 软件工程
教 育 学 院
本章将对软件的地位和作用、软件的特点、软件 的发展、软件的危机以及软件工程学科的形成、软件 生期等方面的问题和基本概念
2017/10/25
淮 北 师 范 大 学
微软凌小宁博士
2017/10/25
淮 北 师 范 大 学
教 育 学 院
我最大的心得是,一个产品一定要找到能够 真正适用的场合,不能只是为了技术而从事技术 为了研究而进行研究,却不管用户对你所研究的 技术和产品有没有需求。否则,无论你的技术是 多么优秀,多么先进,恐怕你的产品在市场上都 无法获得成功。
2017/10/25
淮 北 师 范 大 学
3、软件的演变(即从传统软件开发到现代软件开发)
程序
软件
软件产品 现代软件开发
传统软件开发
教 育 学 院
240 80 0.00016 1975
营业额 增长曲线
2017/10/25
教 育 学 院
淮 北 师 范 大 学
学习本课程的基本要求
本课程是继程序设计课程之后,对提高学生软件 开发能力有重要作用的一门课程。要求学生在学习本 课程前应掌握信息管理系统、数据结构、结构化程序 设计、面向对象程序设计以及程序设计方法论。
教 育 学 院
通过本课程的学习,为学生后期的毕业设计环节 奠定了良好的基础。
教 育 学 院
支持设计: 支持测试: 图形软件包 静态分析器 结构化流程图绘图程序 测试覆盖检验程序 支持实现: 编辑程序 连接编辑程序 支持管理: 标准检验程序 库管理程序
2017/10/25
淮 北 师 范 大 学
2、按软件的规模进行划分
按开发软件所需的 人力、时间以及完成的 源代码行数。
类别
参加人数
教 育 学 院
2017/10/25
淮 北 师 范 大 学
课程主要内容
本课程比较全面、系统地介绍软件工程的概念、技术 与方法。 主要内容包括:软件工程概述、软件生存周期及软件 需求分析、软件设计方法、软件测试技术等。 通过本课程的学习,使学生能真正的从中了解软件开 发的整个过程。为了让学生真正得以实践,结合实际软件 开发项目,让学生从问题定义开始,经过可行性研究、需 求分析、概要设计、详细设计、编码直到最后要对自己开 发的软件还要进行测试,这样一个软件开发过程,从而使 学生掌握软件开发的基本技能。
淮 北 师 范 大 学
3、按软件开发划分
软 件 项 目 开 发 软 件 产 品 开 发
教 育 学 院
2017/10/25
淮 北 师 范 大 学
1.2 软件工程的概念及范畴
1、“软件工程” ----Software Engineering
于1968年 NATO 组织在 德国召开的一次会议上提出
教 育 学 院
研制期限
产品规模(源代码行数)
教 育 学 院
微型 小型 中型 大型 甚大型 极大型
1 1 2-5 5-20 100-1000 2000-5000
1-4周 1-6周 1-2年 2-3年 4-5年 5-10年
约500行 约2000行 5000-50000行 5万-10万行 100万行 1000万行
2017/10/25
微软张益肇博士
2017/10/25
淮 北 师 范 大 学
课程的性质、目的与任务
软件工程是计算机科学与技术专业的一门专 业核心课程。通过本课程的学习,使学生掌握系 统的软件开发理论、技术和方法,使用正确的工 程方法开发出成本低、可靠性好并在机器上能高 效运行的软件,为今后从事软件开发和维护打下 坚实的基础。
Software Engineering
2017/10/25
淮 北 师 范 大 学
教 育 学 院
在一些人眼里,今天的软件开发似乎已 成为简单的事情,已有了不少很好的开发工 具和软件库,软件开发人员训练有素,都强 烈渴望去编写很酷的软件,可以在几天的时 间里编写出一个相当复杂的软件。但为什么 有一些软件能够得到用户的喜欢,而另一些 则不能?为什么有些软件能够在市场上成功 ,而有些则受到冷落?由此可见,开发软件 并不一定难,难就难在如何开发有用的软件。
1.1 软件的概念与特点
1、软件
software
soft+ware
软制品 (软体)
教 育 学 院
软件是计算机系统中与硬件相互依存的另一部分。 它包括程序、数据及其相关文档的完整集合。
2017/10/25
淮 北 师 范 大 学
2、软件特点
. 软件是一种逻辑实体,而不是具体的物理实体 . 软件的生产与硬件不同
软件技术的发展落后于需求
硬、软件成本比例的变化
2017/10/25
淮 北 师 范 大 学
3、软件的分类
1、按软件的功能进行划分
系 统 软 件 应 用 软 件 支 撑 软 件
教 育 学 院
2017/10/25
淮 北 师 范 大 学
支撑软件
一般类型: 文本编辑程序 文本格式化程序
支持需求分析: PSL/PSA问题描述语言 关系数据库管理系统
淮 北 师 范 大 学
微软企业文化宗旨部分内容
教 育 学 院
Wake up every day with a feeling of passion for the different technology will make in people’s Life.
每天醒来的时候,要对技术给生活造成的改变 始终拥有一份 激情。
是把软件当作一种工业产品,要求 “采用工程化的 原理与方法对软件进行计划、开发和维护 ”。
2017/10/25
淮 北 师 范 大 学
2、 软件工程学
软件开发方法学Baidu Nhomakorabea
软件开发技术 软件工程学
软件工具 软件工程环境
教 育 学 院
软件工程管理
软件工程管理学 软件经济学
---- 软件工程学的范畴
2017/10/25
. 在软件的运行和使用期间,没有硬件那样的机械 磨损,老化问题
修改点 失 效 率 实际曲线
教 育 学 院
磨合 调整
磨损 用坏
失 效 率
理想曲线
硬件失效率曲线
时间
软件失效率曲线
时间
2017/10/25
淮 北 师 范 大 学
. 软件的成本相当昂贵
成本%
教 育 学 院
软 件 复 杂 性
软件需求 差距 软件技术 时间 1950 1970 硬件 软件 1985 1995 年份
2017/10/25
淮 北 师 范 大 学
第一章 软件工程概述
传统工程
水利工程
建筑工程
机械工程
… …
新兴工程
气象工程
生物工程 软件工程
教 育 学 院
本章将对软件的地位和作用、软件的特点、软件 的发展、软件的危机以及软件工程学科的形成、软件 生期等方面的问题和基本概念
2017/10/25
淮 北 师 范 大 学
微软凌小宁博士
2017/10/25
淮 北 师 范 大 学
教 育 学 院
我最大的心得是,一个产品一定要找到能够 真正适用的场合,不能只是为了技术而从事技术 为了研究而进行研究,却不管用户对你所研究的 技术和产品有没有需求。否则,无论你的技术是 多么优秀,多么先进,恐怕你的产品在市场上都 无法获得成功。
2017/10/25
淮 北 师 范 大 学
3、软件的演变(即从传统软件开发到现代软件开发)
程序
软件
软件产品 现代软件开发
传统软件开发
教 育 学 院
240 80 0.00016 1975
营业额 增长曲线
2017/10/25
教 育 学 院
淮 北 师 范 大 学
学习本课程的基本要求
本课程是继程序设计课程之后,对提高学生软件 开发能力有重要作用的一门课程。要求学生在学习本 课程前应掌握信息管理系统、数据结构、结构化程序 设计、面向对象程序设计以及程序设计方法论。
教 育 学 院
通过本课程的学习,为学生后期的毕业设计环节 奠定了良好的基础。
教 育 学 院
支持设计: 支持测试: 图形软件包 静态分析器 结构化流程图绘图程序 测试覆盖检验程序 支持实现: 编辑程序 连接编辑程序 支持管理: 标准检验程序 库管理程序
2017/10/25
淮 北 师 范 大 学
2、按软件的规模进行划分
按开发软件所需的 人力、时间以及完成的 源代码行数。
类别
参加人数
教 育 学 院
2017/10/25
淮 北 师 范 大 学
课程主要内容
本课程比较全面、系统地介绍软件工程的概念、技术 与方法。 主要内容包括:软件工程概述、软件生存周期及软件 需求分析、软件设计方法、软件测试技术等。 通过本课程的学习,使学生能真正的从中了解软件开 发的整个过程。为了让学生真正得以实践,结合实际软件 开发项目,让学生从问题定义开始,经过可行性研究、需 求分析、概要设计、详细设计、编码直到最后要对自己开 发的软件还要进行测试,这样一个软件开发过程,从而使 学生掌握软件开发的基本技能。
淮 北 师 范 大 学
3、按软件开发划分
软 件 项 目 开 发 软 件 产 品 开 发
教 育 学 院
2017/10/25
淮 北 师 范 大 学
1.2 软件工程的概念及范畴
1、“软件工程” ----Software Engineering
于1968年 NATO 组织在 德国召开的一次会议上提出
教 育 学 院
研制期限
产品规模(源代码行数)
教 育 学 院
微型 小型 中型 大型 甚大型 极大型
1 1 2-5 5-20 100-1000 2000-5000
1-4周 1-6周 1-2年 2-3年 4-5年 5-10年
约500行 约2000行 5000-50000行 5万-10万行 100万行 1000万行
2017/10/25
微软张益肇博士
2017/10/25
淮 北 师 范 大 学
课程的性质、目的与任务
软件工程是计算机科学与技术专业的一门专 业核心课程。通过本课程的学习,使学生掌握系 统的软件开发理论、技术和方法,使用正确的工 程方法开发出成本低、可靠性好并在机器上能高 效运行的软件,为今后从事软件开发和维护打下 坚实的基础。