《软件工程》全套课程系统的软件开发理论、技术和方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


坚实的基础。

2020/5/9




课程主要内容
业 大 学
本课程比较全面、系统地介绍软件工程的概念、技术 与方法。
主要内容包括:软件工程概述、软件生存周期及软件
需求分析、软件设计方法、软件测试技术等。
通过本课程的学习,使学生能真正的从中了解软件开

发的整个过程。为了让学生真正得以实践,结合实际软件
《软件工程》全套课程 系统的软件开发理论、技术和方法
2020/5/9



工 业
课程的性质、目的与任务


软件工程是计算机科学与技术专业的一门专
业核心课程。通过本课程的学习,使学生掌握系
统的软件开发理论、技术和方法,使用正确的工
程方法开发出成本低、可靠性好并在机器上能高

效运行的软件,为今后从事软件开发和维护打下
1
1-6周
约2000行

中型
2-5
1-2年
5000-50000行

大型
5-20
2-3年
5万-10万行

甚大型
100-1000
4-5年
100万行
极大型
2000-5000 5-10年
1000万行
2020/5/9





大 学
3、按软件开发划分
软软
件件
项产

目品

开开

发发
2020/5/9

1.2 软件工程的概念及范畴

开发项目,让学生从问题定义开始,经过可行性研究、需

求分析、概要设计、详细设计、编码直到最后要对自己开
发的软件还要进行测试,这样一个软件开发过程,从而使
学生掌握软件开发的基本技能。
2020/5/9





学习本课程的基本要求


本课程是继程序设计课程之后,对提高学生软件
开发能力有重要作用的一门课程。要求学生在学习本



1、“软件工程”----Software Engineering
业 大
于1968年 NATO 组织在 德国召开的一次会议上提出



是把软件当作一种工业产品,要求 “采用工程化的

原理与方法对软件进行计划、开发和维护 ”。
2020/5/9

2、 软件工程学




软件开发方法学
大 学
软件开发技术 软件工具
课程前应掌握信息管理系统、数据结构、结构化程序

设计、面向对象程序设计以及程序设计方法论。

通过本课程的学习,为学生后期的毕业设计环节

奠定了良好的基础。
2020/5/9

各章学时安排




章 学时 章 学时 章 学时 章 学时


1
2
3
4
9
4 13 2
补充 2
4
2 10 2 14 4
2
2
8
4 12 2
Life.
韩 静 萍
每天醒来的时候,要对技术给生活造成的改变
始终拥有一份 激情。
2020/5/9

3、软件的演变(即从传统软件开发到现代软件开发)



程序 软件 软件产品



传统软件开发 现代软件开发
营业额

240
增长曲线


80
0.00016 1975
1989
2000
2020/5/9

1.3 软件生存周期 (SW life cycle)
2020/5/9

1.1 软件的概念与特点



1、软件
software soft+ware


软制品

(软体)

软件是计算机系统中与硬件相互依存的另一部分。

它包括程序、数据及其相关文档的完整集合。

2020/5/9

2、软件特点

滨 工
. 软件是一种逻辑实体,而不是具体的物理实体

. 软件的生产与硬件不同

. 在软件的运行和使用期间,没有硬件那样的机械

磨损,老化问题
修改点

磨合


效 调整 率
磨损

用坏



实际曲线 理想曲线
时间 硬件失效率曲线
软件失效率曲线
时间
2020/5/9

. 软件的成本相当昂贵








软件需求
成本%
复 杂
差距
性 软件技术

硬件
软件

时间
1950 1970 1985 1995 年份


工 业
把软件从产生、发展到成熟、直至衰亡为止


韩 静 萍
2020/5/9
软件生存周期模型(瀑布模型 Waterfall Model)



问题定义
特点:
工 业
计划 时期
可性行研究
上一阶段的变换结果 是下一阶段的变换的 输入,相邻两个阶段

需求分析
具有因果关系,紧密

相联。
概要设计
开发 时期
详细设计

总学时 46=38(讲授)+8(课程设计)


2020/5/9

第一章 软件工程概述




传统工程
水利工程 建筑工程 机械工程 … …


新兴工程
气象工程 生物工程 软件工程

本章将对软件的地位和作用、软件的特点、软件

的发展、软件的危机以及软件工程学科的形成、软件

生期等方面的问题和基本概念

软件技术的发展落后于需求
硬、软件成本比例的变化
2020/5/9

3、软件的分类




1、按软件的功能进行划分


系应支
统用撑
软软软
件件件
韩 静 萍
2020/5/9

支撑软件




一般类型:
支持需求分析:

文本编辑程序
PSL/PSA问题描述语言

文本格式化程序
关系数据库管理系统
支持设计:
支持测试:
图形软件包
静态分析器

结构化流程图绘图程序
测试覆盖检验程序
静 萍
支持实现:
支持管理:
编辑程序
标准检验程序
连接编辑程序
库管理程序
2020/5/9

2、按软件的规模进行划分


按开发软件所需的

人力、时间以及完成的

源代码行数。

Hale Waihona Puke Baidu

类别
参加人数
研制期限 产品规模(源代码行数)
微型
1
1-4周
约500行
小型
软件工程环境
软件工程学
韩 静 萍
软件工程管理
软件工程管理学 软件经济学
---- 软件工程学的范畴
2020/5/9
哈 尔 滨


微软企业文化宗旨部分内容


Wake up every day with a feeling of passion
for the different technology will make in people’s

编码


测试
运行 时期
运行与维护
2020/5/9

原型模型(Prototype Model)



原型:是指模拟某种产品的原始模型



快速分析 和设计
1、原型系统仅包括未来系统的 主要功能,以及系统的重要
接口。
韩 静
加工 原型
原型
建造 原型
2、为了尽快向用户提供原型, 开发原型系统时应尽量使用

能缩短开发周期的语言和工
客户
具。
评价原型
2020/5/9

第二章 问题的定义与可性行研究



业 大 学
当我们在着手做任何一件工作以前,必须明确工 作的性质、任务,制定完成任务的计划,这是非常必 要的。同样对于软件产品的开发 ,显然也应该解决好
这样类似的问题,明确该软件产品开发的任务,以及
相关文档
最新文档