软件工程与软件测试ppt课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
it软件工程与软件测试
1
学习情境4-主要内容
❖软件工程发展历程 ❖常见过程模型 ❖ 面向对象技术 ❖UML概述 ❖Rational Rose的安装与使用 ❖
3
软件工程的发展历史
❖从20世纪60年代中期到70年代中期, 软件业进入了一个发展时期。此时出现 了所谓的软件公司。
8
软件工程的生命周期
❖ 经典的软件工程思想将软件开发分成以下 5个阶段:
① 需求捕获(Requirements Capture)阶段 ② 系统分析与设计(System Analysis and
Design)阶段。 ③ 系统实现(Implementation)阶段。 ④ 测试(Testing)阶段 ⑤ 维护(Maintenance)阶段 • 从项目的角度还加入了
个开发者一起开发,,开在发联人邦员德按国各召自开的国际会议,讨论软件危机 爱好和习惯进行工作问,题没。有正统式一提的出标“准软件工程”这个名词──新 可以遵循,以手工艺兴的工方程式学形诞成生“了软。件
作坊”来进行。 用“工程化”的思想作指导,可以大大减少
软件开发成本并提高软件开发质量,“工程
化”为人们开辟了新的道路,“软件工程学
❖其次,根据软件项目的特点选择合适的 过程模型。
❖值得注意的是,由于现实中项目的复杂 性,通常会在一个项目中选择几种过程 模型嵌套使用。
13
瀑布模型
优点:
1)可强迫开发人员采用 规范的开发方法;
2)严格规定每个阶段必 须提交的文档;
3)要求每个阶段的提交 工作产品都必须通过 QA的验证。
缺点:
缺乏灵活性,变动成本 高。
程模型?
20
案例分析2
❖张扬是某大学软件技术专业的学生,在 寒假中,他为他的邻居开发了一个小型 的超市管理系统。他的邻居从来不懂软 件开发,也不知道超市管理系统应该是 什么样的。那么你建议张扬采用哪种过 程模型呢 ?
21
面向对象技术
22
面向对象技术(面向对象方法OOSD)
❖软件工程方法学
▪ 传统方法学 SA+ SD+ SP
6
拉布雷阿的焦油坑(Mural of La Brea Tar Pits)
过去几十年的大型系统开发就犹如这样一个 焦油坑,很多大型和强壮的动物在其中剧烈 地挣扎。
7
软件工程的产生 ❖为了解决“软件危机”,于是出现了 “软
件工程”学科,有众多专家学者致力于软 件工程方法学的研究,并将研究结果应用 于实践中进行检验,解决了软件开发中存 在的各种问题,使得软件制造的质量大大 提高。
,除程序清单外,无其 它文档资料。
个体化的软件环境 “软件作坊” 软件工程 面向对象软件开发
上世纪60年代中期 上世纪70年代 上世纪80年代
面向对象技术的应用
计算机应用领域越来越广,系统规模越
改变了软件界的开发
来越大,逻辑越来越复杂,而且功能上
方式。
需要不断更改和扩充1。96软8年件,开北发大需西要洋多公约组织的计算机科学家
适用于需求非常明确的情况。
14
快速原型模型
快速原型的本质是“快速”。开发人 员应该尽可能快地建造出原型系统,以加 速软件开发过程,节约软件开发成本。
原型的用途是获知用户的真正需求。 原型又可分为抛弃型原型和演进型原 型。
适用:主要适用于项目需求不太明确,或需 要减少项目的不确定性的情况。
15
增 量 模 型
图2.6 简化的螺旋模型
17
喷泉模型
迭代是软件开发过程中普遍存在的 一种内在属性。经验表明,软件过程 各个阶段之间的迭代或一个阶段内各 个工作步骤之间的迭代,在面向对象 范型中比在结构化范型中更常见。
“喷泉”这个词体现了面向对象 软件开发过程迭代和无缝的特性。
18
图2.8 喷泉模型
19
案例分析1
❖1968年,出现“软件工程 (SoftwareEngineering)”这一术语。
❖30余年来,尽管软件的一些毛病仍然无 法根治,但软件的发展速度却超过了任 何传统工业,并未出现真正的软件危机, 这的确是前人的先见之明。如今软件工 程成了一门学科。
4
软使件用软规者件模往小 往的,是编同发写一者个展和人历程
”蓬勃发展起来。
5
个体化的软件环境 “软件作坊” 软件工程 面向对象软件开发 上世纪60年代中期 上世纪70年代 上世纪80年代
软件危机
随着硬件成本的降低,电脑开始变得普及,人们对软件的 需求越来越高,而这时候的软件行业还处于“手工作坊” 阶段,软件的产量和质量远远不能满足人们的需要,于是 出现了一系列严重问题,被称为“软件危机”
❖辅导员张老师 为了方便管理学生,他
委托学生小明帮助他开发一个学生管理
系统,用来管理他所带的班级的学生信
息,该系统仅供张老师一个人使用,系
统功能不是很复杂。张老师对自己需要
的系统功能有了明确的认识,并且他本
身也对软件开发有一定程度的了解,与
小明的沟通过程非常的顺利。在这种情
况下,如果你是小明,你会选用哪种过
特点:每次提交的都 是一个满足用户需求 子集的可运行的产品
优点:用户每次都可以得到一个 可完成部分功能的可用的产品, 并有足够的时间去学习和适应新 产品; 困难之处:对软件体系结构的设 计要求较高,体系结构必须是开 放的。
16
螺旋模型
基本思想:使用原型及 其它方法来尽量降低风 险。 可看作是在每个阶段之 前都增加了风险分析过 程的快速原型模型。
开发软件的 方法不同
▪ 面向对象方法学 OOA+ OOD +OOP
23
类的作用: 1. 分类:用于区分不同事物。 2. 是创建对象的模板:产生对象。
24
关联
在现实世界中,对象之间通常会发生 某种联系,程序世界中用“关联”来 表示对象之间的联系。
单向关联
25
关联
对象之间还可以以多种方式发生关联
26
9
➢ 软件工程:技术层次
工具 tools 方法 methods 过程模型 process model 质量目标 a “quality” focus
10
常见过程模型
11
常见过程模型
❖瀑布模型 ❖快速原型模型 ❖增量模型 ❖螺旋模型 ❖喷泉模型
12
过程模型的选择
❖首先,了解每一种过程模型的特点和适 用性。
关联
类也可以发生关联:一个类可以和多个类关联
27
关联的多重性 ❖在关联中一个类的对象可以对应另一个类
1
学习情境4-主要内容
❖软件工程发展历程 ❖常见过程模型 ❖ 面向对象技术 ❖UML概述 ❖Rational Rose的安装与使用 ❖
3
软件工程的发展历史
❖从20世纪60年代中期到70年代中期, 软件业进入了一个发展时期。此时出现 了所谓的软件公司。
8
软件工程的生命周期
❖ 经典的软件工程思想将软件开发分成以下 5个阶段:
① 需求捕获(Requirements Capture)阶段 ② 系统分析与设计(System Analysis and
Design)阶段。 ③ 系统实现(Implementation)阶段。 ④ 测试(Testing)阶段 ⑤ 维护(Maintenance)阶段 • 从项目的角度还加入了
个开发者一起开发,,开在发联人邦员德按国各召自开的国际会议,讨论软件危机 爱好和习惯进行工作问,题没。有正统式一提的出标“准软件工程”这个名词──新 可以遵循,以手工艺兴的工方程式学形诞成生“了软。件
作坊”来进行。 用“工程化”的思想作指导,可以大大减少
软件开发成本并提高软件开发质量,“工程
化”为人们开辟了新的道路,“软件工程学
❖其次,根据软件项目的特点选择合适的 过程模型。
❖值得注意的是,由于现实中项目的复杂 性,通常会在一个项目中选择几种过程 模型嵌套使用。
13
瀑布模型
优点:
1)可强迫开发人员采用 规范的开发方法;
2)严格规定每个阶段必 须提交的文档;
3)要求每个阶段的提交 工作产品都必须通过 QA的验证。
缺点:
缺乏灵活性,变动成本 高。
程模型?
20
案例分析2
❖张扬是某大学软件技术专业的学生,在 寒假中,他为他的邻居开发了一个小型 的超市管理系统。他的邻居从来不懂软 件开发,也不知道超市管理系统应该是 什么样的。那么你建议张扬采用哪种过 程模型呢 ?
21
面向对象技术
22
面向对象技术(面向对象方法OOSD)
❖软件工程方法学
▪ 传统方法学 SA+ SD+ SP
6
拉布雷阿的焦油坑(Mural of La Brea Tar Pits)
过去几十年的大型系统开发就犹如这样一个 焦油坑,很多大型和强壮的动物在其中剧烈 地挣扎。
7
软件工程的产生 ❖为了解决“软件危机”,于是出现了 “软
件工程”学科,有众多专家学者致力于软 件工程方法学的研究,并将研究结果应用 于实践中进行检验,解决了软件开发中存 在的各种问题,使得软件制造的质量大大 提高。
,除程序清单外,无其 它文档资料。
个体化的软件环境 “软件作坊” 软件工程 面向对象软件开发
上世纪60年代中期 上世纪70年代 上世纪80年代
面向对象技术的应用
计算机应用领域越来越广,系统规模越
改变了软件界的开发
来越大,逻辑越来越复杂,而且功能上
方式。
需要不断更改和扩充1。96软8年件,开北发大需西要洋多公约组织的计算机科学家
适用于需求非常明确的情况。
14
快速原型模型
快速原型的本质是“快速”。开发人 员应该尽可能快地建造出原型系统,以加 速软件开发过程,节约软件开发成本。
原型的用途是获知用户的真正需求。 原型又可分为抛弃型原型和演进型原 型。
适用:主要适用于项目需求不太明确,或需 要减少项目的不确定性的情况。
15
增 量 模 型
图2.6 简化的螺旋模型
17
喷泉模型
迭代是软件开发过程中普遍存在的 一种内在属性。经验表明,软件过程 各个阶段之间的迭代或一个阶段内各 个工作步骤之间的迭代,在面向对象 范型中比在结构化范型中更常见。
“喷泉”这个词体现了面向对象 软件开发过程迭代和无缝的特性。
18
图2.8 喷泉模型
19
案例分析1
❖1968年,出现“软件工程 (SoftwareEngineering)”这一术语。
❖30余年来,尽管软件的一些毛病仍然无 法根治,但软件的发展速度却超过了任 何传统工业,并未出现真正的软件危机, 这的确是前人的先见之明。如今软件工 程成了一门学科。
4
软使件用软规者件模往小 往的,是编同发写一者个展和人历程
”蓬勃发展起来。
5
个体化的软件环境 “软件作坊” 软件工程 面向对象软件开发 上世纪60年代中期 上世纪70年代 上世纪80年代
软件危机
随着硬件成本的降低,电脑开始变得普及,人们对软件的 需求越来越高,而这时候的软件行业还处于“手工作坊” 阶段,软件的产量和质量远远不能满足人们的需要,于是 出现了一系列严重问题,被称为“软件危机”
❖辅导员张老师 为了方便管理学生,他
委托学生小明帮助他开发一个学生管理
系统,用来管理他所带的班级的学生信
息,该系统仅供张老师一个人使用,系
统功能不是很复杂。张老师对自己需要
的系统功能有了明确的认识,并且他本
身也对软件开发有一定程度的了解,与
小明的沟通过程非常的顺利。在这种情
况下,如果你是小明,你会选用哪种过
特点:每次提交的都 是一个满足用户需求 子集的可运行的产品
优点:用户每次都可以得到一个 可完成部分功能的可用的产品, 并有足够的时间去学习和适应新 产品; 困难之处:对软件体系结构的设 计要求较高,体系结构必须是开 放的。
16
螺旋模型
基本思想:使用原型及 其它方法来尽量降低风 险。 可看作是在每个阶段之 前都增加了风险分析过 程的快速原型模型。
开发软件的 方法不同
▪ 面向对象方法学 OOA+ OOD +OOP
23
类的作用: 1. 分类:用于区分不同事物。 2. 是创建对象的模板:产生对象。
24
关联
在现实世界中,对象之间通常会发生 某种联系,程序世界中用“关联”来 表示对象之间的联系。
单向关联
25
关联
对象之间还可以以多种方式发生关联
26
9
➢ 软件工程:技术层次
工具 tools 方法 methods 过程模型 process model 质量目标 a “quality” focus
10
常见过程模型
11
常见过程模型
❖瀑布模型 ❖快速原型模型 ❖增量模型 ❖螺旋模型 ❖喷泉模型
12
过程模型的选择
❖首先,了解每一种过程模型的特点和适 用性。
关联
类也可以发生关联:一个类可以和多个类关联
27
关联的多重性 ❖在关联中一个类的对象可以对应另一个类