软件工程全套课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
原型模型(Prototype Model) 原型:是指模拟某种产品的原始模型
快速分析 和设计
加工 原型
原型
建造 原型
客户 评价原型
1、原型系统仅包括未来系统的 主要功能,以及系统的重要 接口。
2、为了尽快向用户提供原型, 开发原型系统时应尽量使用 能缩短开发周期的语言和工 具。
2020/7/4
第二章 问题的定义与可性行研究
2020/7/4
2、 软件工程学
软件工程学
软件开发技术
软件开发方法学 软件工具 软件工程环境
软件工程管理
软件工程管理学 软件经济学
---- 软件工程学的范畴
2020/7/4
微软企业文化宗旨部分内容
Wake up every day with a feeling of passion for the different technology will make in people’s Life.
《软件工程》
Software Engineering
2020/7/4
课程的性质、目的与任务
软源自文库工程是计算机科学与技术专业的一门专 业核心课程。通过本课程的学习,使学生掌握系 统的软件开发理论、技术和方法,使用正确的工 程方法开发出成本低、可靠性好并在机器上能高 效运行的软件,为今后从事软件开发和维护打下 坚实的基础。
2020/7/4
3、按软件开发划分
软软 件件 项产 目品 开开 发发
2020/7/4
1.2 软件工程的概念及范畴
1、“软件工程”----Software Engineering
于1968年 NATO 组织在 德国召开的一次会议上提出
是把软件当作一种工业产品,要求 “采用工程化的 原理与方法对软件进行计划、开发和维护 ”。
2020/7/4
计划时期的工作流程图
开始
问题定义
可性行研究
可行否?
Y
项目实施计划
N
终止项目的建议
结束
2020/7/4
有用的软件
Who 为谁设计,用户是谁?
当我们在着手做任何一件工作以前,必须明确工 作的性质、任务,制定完成任务的计划,这是非常必 要的。同样对于软件产品的开发 ,显然也应该解决好 这样类似的问题,明确该软件产品开发的任务,以及 完成任务的价值从而制定出完成任务的计划。那么问 题的定义和可性行研究就是制定软件系统的计划的第 一步。
所以在软件工程中把这一步称为 计划时期
每天醒来的时候,要对技术给生活造成的改变 始终拥有一份 激情。
2020/7/4
3、软件的演变(即从传统软件开发到现代软件开发)
程序 软件 软件产品 传统软件开发 现代软件开发
营业额
240
增长曲线
80
0.00016 1975
1989
2000
2020/7/4
1.3 软件生存周期 (SW life cycle)
2020/7/4
1.1 软件的概念与特点
1、软件
software soft+ware
软制品 (软体)
软件是计算机系统中与硬件相互依存的另一部分。 它包括程序、数据及其相关文档的完整集合。
2020/7/4
2、软件特点
. 软件是一种逻辑实体,而不是具体的物理实体 . 软件的生产与硬件不同
. 在软件的运行和使用期间,没有硬件那样的机械 磨损,老化问题
2020/7/4
2、按软件的规模进行划分
按开发软件所需的 人力、时间以及完成的 源代码行数。
类别
微型 小型 中型 大型 甚大型 极大型
参加人数
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万行
章 学时 章 学时 章 学时 章 学时
1
2
3
4
9
4 13 2
补充 2
4
2 10 2 14 4
2
2
8
4 12 2
总学时 46=38(讲授)+8(课程设计)
2020/7/4
第一章 软件工程概述
传统工程 新兴工程
水利工程 建筑工程 机械工程 … … 气象工程 生物工程 软件工程
本章将对软件的地位和作用、软件的特点、软件 的发展、软件的危机以及软件工程学科的形成、软件 生期等方面的问题和基本概念
2020/7/4
课程主要内容
本课程比较全面、系统地介绍软件工程的概念、技术 与方法。
主要内容包括:软件工程概述、软件生存周期及软件 需求分析、软件设计方法、软件测试技术等。
通过本课程的学习,使学生能真正的从中了解软件开 发的整个过程。为了让学生真正得以实践,结合实际软件 开发项目,让学生从问题定义开始,经过可行性研究、需 求分析、概要设计、详细设计、编码直到最后要对自己开 发的软件还要进行测试,这样一个软件开发过程,从而使 学生掌握软件开发的基本技能。
把软件从产生、发展到成熟、直至衰亡为止
2020/7/4
软件生存周期模型(瀑布模型 Waterfall Model)
计划 时期
开发 时期
问题定义
特点:
上一阶段的变换结果
可性行研究
是下一阶段的变换的
输入,相邻两个阶段
需求分析
具有因果关系,紧密
相联。
概要设计
详细设计
编码
运行 时期
测试 运行与维护
2020/7/4
失
磨合
效 调整
率
磨损 用坏
修改点
失 效 率
实际曲线 理想曲线
时间 硬件失效率曲线
软件失效率曲线
时间
2020/7/4
. 软件的成本相当昂贵
软
件
软件需求
复 杂
差距
性 软件技术
时间
软件技术的发展落后于需求
成本%
硬件
软件
1950 1970 1985 1995 年份
硬、软件成本比例的变化
2020/7/4
3、软件的分类
1、按软件的功能进行划分
系应支 统用撑 软软软 件件件
2020/7/4
支撑软件
一般类型: 文本编辑程序 文本格式化程序
支持需求分析: PSL/PSA问题描述语言 关系数据库管理系统
支持设计:
支持测试:
图形软件包
静态分析器
结构化流程图绘图程序
测试覆盖检验程序
支持实现: 编辑程序 连接编辑程序
支持管理: 标准检验程序 库管理程序
2020/7/4
学习本课程的基本要求
本课程是继程序设计课程之后,对提高学生软件 开发能力有重要作用的一门课程。要求学生在学习本 课程前应掌握信息管理系统、数据结构、结构化程序 设计、面向对象程序设计以及程序设计方法论。
通过本课程的学习,为学生后期的毕业设计环节 奠定了良好的基础。
2020/7/4
各章学时安排