软件工程导论-软件工程-沈师(第1章)34170.pptx
《软件工程导论-软件工程-沈师(第1章)34170.pptx》由会员分享,可在线阅读,更多相关《软件工程导论-软件工程-沈师(第1章)34170.pptx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程(Software Engineering)课程介绍课 课 程主要内容:程主要内容:第一部分:第一部分:软 软 件工程的基本定 件工程的基本定 义 义、基本原理和、基本原理和 软 软 件 件 过 过 程模型 程模型(对应 对应 第一章)第一章)第二部分:从可行性研究、需求分析、第二部分:从可行性研究、需求分析、总 总 体 体 设计 设计、详细设计 详细设计、编码实现 编码实现、维护 维护 六个步 六个步 骤 骤 来 来 说 说 明 明 软 软 件开 件开 发过 发过 程中的具体 程中的具体 问 问题 题 和具体解决方法(和具体解决方法(对应 对应 第二、三、四、五、六、七、八 第二、三
2、、四、五、六、七、八章)章)结 结 构化分析 构化分析 设计 设计第三部分:面向 第三部分:面向 对 对 象方法概 象方法概 论 论、面向、面向 对 对 象分析、象分析、设计 设计、实现 实现(对应 对应 第九、十、十一、十二章)第九、十、十一、十二章)第四部分:第四部分:软 软 件 件 项 项 目管理基本概念(目管理基本概念(对应 对应 第十三章)第十三章)考核方式考 考 试 试 方法:采用百分制,方法:采用百分制,满 满 分 分 为 为100 100 分。分。(1 1)闭 闭 卷考 卷考 试 试:占:占 总评 总评 成 成 绩 绩 的 的50%50%。(2 2)期中考)期中考 试 试:占:
3、占 总评 总评 成 成 绩 绩 的 的30%30%。(3 3)课 课 堂作 堂作 业 业、平、平 时 时 考勤、提 考勤、提 问 问:占:占 总评 总评 成 成 绩 绩 的 的10%10%;课 课后作 后作 业 业、实验报 实验报 告:占 告:占 总评 总评 成 成 绩 绩 的 的10%10%。第1 章:软件工程学概述1.1 1.1 软件危机软件危机 60 60 年 年 代 代 中 中 期 期 以 以 前 前:通 通 用 用 硬 硬 件 件 相 相 当 当 普 普 遍 遍,软 软 件 件 却 却 是 是 为 为 某 某 个 个具体的 具体的 应 应 用而 用而 编 编 写的。写的。60 60
4、年 年 代 代 中 中 期 期 到 到70 70 年 年 代 代 中 中 期 期:软 软 件 件 作 作 坊 坊。这 这 时 时 软 软 件 件 危 危 机 机 出 出现 现,随 随 之 之 而 而 来 来 人 人 们 们 开 开 始 始 研 研 究 究 消 消 除 除 危 危 机 机 的 的 途 途 径 径,从 从 而 而 形 形 成 成 一 一门 门 新的学科 新的学科 软 软 件工程学。件工程学。软软件危机件危机:计计算机算机软软件的开件的开发发和和维护过维护过程中所遇程中所遇到的一系列到的一系列严严重重问题问题。(正常、不正常运行。(正常、不正常运行软软件都件都具有具有这这种种问题问题
5、)1.1.1 软件危机的介绍软软件危机的件危机的实质实质:l l如何开如何开发软发软件,以件,以满满足足对软对软件日益增件日益增长长的需求的需求l l如何如何维护维护数量不断膨数量不断膨胀胀的已有的已有软软件件1 1)对软 对软 件开 件开 发 发 成本和 成本和 进 进 度的估 度的估 计 计 常常很不准确;常常很不准确;2 2)用)用 户对 户对 完成的 完成的 软 软 件系 件系 统 统 不 不 满 满 意的 意的 现 现 象 象 经 经 常 常 发 发 生;生;3 3)软 软 件 件 产 产 品的 品的 质 质 量往往靠不住;量往往靠不住;4 4)软 软 件常常是不可 件常常是不可 维
6、护 维护 的;的;5 5)软 软 件通常没有适当的文档 件通常没有适当的文档 资 资 料;料;6 6)软 软 件成本在 件成本在 计 计 算机系 算机系 统总 统总 成本中所占的比例逐年上升;成本中所占的比例逐年上升;7 7)软 软 件开 件开 发 发 生 生 产 产 率提高的速度跟不上 率提高的速度跟不上 计 计 算机 算机 应 应 用的 用的 发 发 展 展趋势 趋势。软件危机的典型表现:1.1.2 产生软件危机的原因1)软件本身特点造成;程序规模庞大;程序复杂性随着程序规模的增加而呈指数上升。2)软件开发与维护的方法不正确。主要表现:(a)忽视软件需求分析;(b)认为软件开发就是写程序并
7、使之运行;(c)轻视软件维护;在在软软件开件开发发的不同的不同阶阶段段进进行修改需要付出的行修改需要付出的代价很不相同:代价很不相同:高中低早期 中期 后期 软件开发时期代价引入同一修改的代价随时间变化的趋势1.1.组织组织管理:管理:软 软 件开 件开 发 发 不是某种个体 不是某种个体 劳动 劳动 的神秘技巧,的神秘技巧,软 软 件开 件开 发应该 发应该 是一种 是一种 组织 组织 良好、管理 良好、管理 严 严 密、各 密、各 类 类 人 人员协 员协 同配合、共同完成的工程 同配合、共同完成的工程 项 项 目。目。2.2.方法:方法:应该 应该 推广使用在 推广使用在 实 实 践中
8、践中 总结 总结 出来的开 出来的开 发软 发软 件 件的成功的技 的成功的技 术 术 和方法,并且研究探索更好更有效的 和方法,并且研究探索更好更有效的技 技 术 术 和方法,尽快消除在 和方法,尽快消除在 计 计 算机系 算机系 统 统 早期 早期 发 发 展 展 阶 阶 段 段形成的一些 形成的一些 错误 错误 概念和做法。概念和做法。3.3.工具:工具:应该 应该 开 开 发 发 和使用更好的 和使用更好的 软 软 件工具。在 件工具。在 软 软 件开 件开发 发 的每个 的每个 阶 阶 段都有 段都有 许 许 多繁 多繁 琐 琐 重复的工作需要做,在 重复的工作需要做,在适当的 适当
9、的 软 软 件工具 件工具 辅 辅 助下,开 助下,开 发 发 人 人 员 员 可以把 可以把 这类 这类 工作 工作做得既快又好。做得既快又好。1.1.3 解决软件危机的途径 如果把各个阶段使用的软件工具有机地集合成一个整体,支持软件开发的全过程,则称为软件工程支撑环境。为为了了解解决决软软件件危危机机产产生生的的问问题题,软软件件工工程程与与方方法法学学逐逐渐渐形形成成,然然后后出出现现了了两两个个相相互互相相承承又又各有各有侧侧重的学科:重的学科:11)软软件件工工程程学学:主主要要应应用用工工程程的的方方法法和和技技术术研研究究软软件件开开发发与与维维护护的的方方法法、工工具具和和管管
10、理理的的一一门门交叉学科。交叉学科。2 2)程序程序设计设计方法学方法学:主要:主要应应用数学的方法研用数学的方法研究程序的性究程序的性质质以及程序以及程序设计设计的理的理论论和方法的学和方法的学科。科。1.2 软件工程1.2.1 1.2.1 软软件工程的介件工程的介绍绍1968年NATO会议:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。1993年IEEE:软件工程是(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径。1.1.软软件工程关注于大型程序的构造;件工程关注于大型程
11、序的构造;2.2.软软件工程的中心件工程的中心课题课题是控制复是控制复杂杂性;性;3.3.软软件件经经常常变变化;化;4.4.开开发软发软件的效率非常重要;件的效率非常重要;5.5.和和谐谐地合作是地合作是软软件开件开发发的关的关键键;6.6.软软件必件必须须有效地支持它的用有效地支持它的用户户;7.7.在在软软件工程件工程领领域中是由具有一种文化背景的域中是由具有一种文化背景的人替具有另一种文化背景的人人替具有另一种文化背景的人创创造造产产品。品。软件工程的本质特性:1.2.2 软件工程的基本原理1.用分阶段的生命周期计划严格管理;2.坚持进行阶段评审;3.实行严格的产品控制;4.采用现代程
12、序设计技术;5.结果能清楚地审查;6.开发小组的人员应该少而精;7.承认不断改进软件工程实践的必要性。1.2.3 软件工程方法学软 软 件工程 件工程 包括:技 包括:技 术 术 和管理两个方面的内容,是技 和管理两个方面的内容,是技 术 术 和 和管理 管理 紧 紧 密 密 结 结 合所形成的工程学科。合所形成的工程学科。通常把在 通常把在 软 软 件生命周期全 件生命周期全 过 过 程中使用的一整套技 程中使用的一整套技 术 术 方法 方法的集合称 的集合称 为 为 方法学 方法学(Methodology Methodology),也称),也称 为 为 范型 范型(Paradigm Par
13、adigm)。)。软 软 件工程方法学的 件工程方法学的3 3 要素 要素:方法 方法、工具 工具 和 和 过 过 程 程一.传统方法学 也称也称为为生命周期方法学或生命周期方法学或结结构化范型。构化范型。从 从 时间 时间 角度 角度对软 对软 件开 件开 发 发 和 和 维护 维护 的复 的复 杂问题进 杂问题进 行分解,把 行分解,把 软 软 件生命的漫 件生命的漫 长 长 周期依次划分 周期依次划分 为 为若干个 若干个 阶 阶 段,每个 段,每个 阶 阶 段有相 段有相 对 对 独立的任 独立的任 务 务,然后逐步完成每个,然后逐步完成每个 阶 阶 段的任 段的任 务 务。文档是通信
14、的工具,它们清楚准确地说明了到这个时候为止,关于该项工程已经知道了什么,同时确立了下一步工作的基础。此外,文档也起备忘录的作用,在完成生命周期每个阶段的任务时,应该采用适合该阶段任务特点的系统化的技术方法结构分析或结构设计技术。结构化方法(Structure Method)有:1)结构化设计方法(SD);2)结构化分析方法(SA);3)结构化分析与设计技术(SADT)4)JACKSON 方法 5)WARNIER 方法二.面向对象方法学 把数据和把数据和对对数据的操作数据的操作紧紧密密结结合起来的方法,合起来的方法,模模拟拟人人类认识类认识世界解决世界解决问题问题的方法和的方法和过过程。程。面向
15、面向对对象的方法象的方法=对对象(属性与服象(属性与服务务的封装)的封装)+分分类类+继继承承+通通过过消息的通消息的通讯讯面向 面向 对 对 象方法把数据和行 象方法把数据和行 为 为 看成同等重要,是一种以数据 看成同等重要,是一种以数据 为 为 主 主 线 线,把数,把数据和 据和 对 对 数据的操作 数据的操作 紧 紧 密地 密地 结 结 合起来的方法。其具有如下 合起来的方法。其具有如下4 4 个要点:个要点:把 把 对 对 象 象(Object)(Object)作 作 为 为 融合了数据及在数据上的操作行 融合了数据及在数据上的操作行 为 为 的 的 统 统 一的 一的软 软 件构
16、件。用 件构件。用 对 对 象分解取代 象分解取代 传统 传统 方法的功能分解。方法的功能分解。把所有 把所有 对 对 象划分 象划分 为类 为类(Class)(Class):每个:每个 类 类 定 定 义 义 了一 了一 组 组 数据和一 数据和一 组 组 操 操作。作。按照父 按照父 类 类(基(基 类 类)和子)和子 类 类(派生(派生 类 类)的关系,把若干个相关)的关系,把若干个相关 类 类组 组 成一个 成一个 层 层 次 次 结 结 构的系 构的系 统 统。子。子 类 类 能 能 够继 够继 承。承。对 对 象彼此 象彼此 间仅 间仅 能通 能通 过发 过发 送消息互相 送消息互
17、相 联 联 系。系。对 对 象是数据 象是数据 处 处 理的主 理的主体,具有封装性特点。体,具有封装性特点。复 复 杂 杂 性降低、可理解性、性降低、可理解性、简 简 化开 化开 发 发 与 与 维护 维护、软 软 件重用。件重用。11)适适用用于于实实时时事事物物处处理理系系统统的的有有限限状状态态机机方方法法(FSMFSM););22)适用于并适用于并发软发软件系件系统统的的PETRIPETRI网方法;网方法;33)以数学概念和理)以数学概念和理论为论为基基础础的形式化方法,如的形式化方法,如 SDCSDC公司的形式化开公司的形式化开发发方法方法FDMFDM:(Formal Develo
18、pment MethodologyFormal Development Methodology)IBM IBM公司的公司的维维也也纳纳开开发发方法方法VDMVDM:(Vienna Development Method Vienna Development Method)三.其他开发方法 1.3 软件生命周期软件生命周期:指软件从提出到最终被淘汰的这个存在期。软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又划分若干个阶段。软件生命周期组成:11)软软件定件定义时义时期的主要任期的主要任务为务为:A.A.问题问题定定义义 B.B.可行性研究可行性研究 C.C.需求分需求分析析 2
19、2)软软件开件开发时发时期的主要任期的主要任务为务为:D.D.总总体体设计设计 E.E.详细设计详细设计 F.F.编码编码和和单单元元测试测试 G.G.综综合合测试测试 33)运行)运行维护时维护时期的主要任期的主要任务为务为:H.H.使使软软件持久地件持久地满满足用足用户户的需要的需要 问题 问题 定 定 义 义问题 问题 定 定 义阶 义阶 段必 段必 须 须 回答的关 回答的关 键问题 键问题 是:是:“要解决的 要解决的 问题 问题 是什么 是什么?”。通 通 过问题 过问题 定 定 义阶 义阶 段的工作,段的工作,系 系 统 统 分析 分析 员应该 员应该 提出关于 提出关于 问题
20、问题 性 性 质 质、工程目 工程目 标 标 和 和 规 规 模 模 的 的 书 书 面 面 报 报 告。通 告。通 过访问调查 过访问调查,分析,分析 员 员 扼要地写 扼要地写出他 出他 对问题 对问题 的理解,并在用 的理解,并在用 户 户 和使用部 和使用部 门负责 门负责 人的会 人的会 议 议 上 上 认 认 真 真讨论这 讨论这 份 份 书 书 面 面 报 报 告,得出一份双方都 告,得出一份双方都 满 满 意的文档。意的文档。可行性研究 可行性研究这 这 个 个 阶 阶 段要回答的关 段要回答的关 键问题 键问题 是:是:“对 对 上一 上一 阶 阶 段所确定的 段所确定的 问
21、题 问题 有行得 有行得通的解决 通的解决 办 办 法 法 吗 吗?”系 系 统 统 分析 分析 员 员 需要 需要 进 进 行一次大大 行一次大大 压缩 压缩 和 和 简 简 化 化了的系 了的系 统 统 分析和 分析和 设计 设计 的 的 过 过 程,也就是在 程,也就是在 较 较 抽象的高 抽象的高 层 层 次上 次上 进 进 行 行的分析和 的分析和 设计 设计 的 的 过 过 程。可行性研究 程。可行性研究 应该 应该 比 比 较简 较简 短,短,这 这 个 个 阶 阶 段的 段的任 任 务 务 不是具体解决 不是具体解决 问题 问题,而是研究,而是研究 问题 问题 的范 的范 围
22、围,探索,探索 这 这 个 个 问题 问题是否 是否 值 值 得去解,是否有可行的解决 得去解,是否有可行的解决 办 办 法 法。在 在 问题 问题 定 定 义阶 义阶 段提出的 段提出的 对 对 工程目 工程目 标 标 和 和 规 规 模的 模的 报 报 告通常比 告通常比 较 较 含糊。可 含糊。可行性研究 行性研究 阶 阶 段 段 应该导 应该导 出系 出系 统 统 的高 的高 层逻辑 层逻辑 模型(通常用数据流 模型(通常用数据流 图 图表示)表示),并且在此基,并且在此基 础 础 上 上 更准确、更具体地确定工程 更准确、更具体地确定工程 规 规 模和目 模和目标 标。然后分析。然后
23、分析 员 员 更准确地估 更准确地估 计 计 系 系 统 统 的成本和效益 的成本和效益,对 对 建 建 议 议 的系 的系统进 统进 行仔 行仔 细 细 的成本效益分析是 的成本效益分析是 这 这 个 个 阶 阶 段的主要任 段的主要任 务 务 之一 之一。软件定义可行性研究的 可行性研究的 结 结 果是使用部 果是使用部 门负责 门负责 人做出是否 人做出是否 继续进 继续进 行 行 这项 这项 工程的 工程的决定的重要依据 决定的重要依据,一般,一般 说 说 来,只有投 来,只有投 资 资 可能取得 可能取得 较 较 大效益的那些 大效益的那些工程 工程 项 项 目才 目才 值 值 得
24、得 继续进 继续进 行下去。可行性研究以后的那些 行下去。可行性研究以后的那些 阶 阶 段将需 段将需要投入更多的人力物力。及 要投入更多的人力物力。及 时终 时终 止不 止不 值 值 得投 得投 资 资 的工程 的工程 项 项 目,可以 目,可以避免更大的浪 避免更大的浪 费 费。需求分析 需求分析这 这 个 个 阶 阶 段的任 段的任 务 务 仍然不是具体地解决 仍然不是具体地解决 问题 问题,而是准确地确定,而是准确地确定“为 为 了 了解决 解决 这 这 个 个 问题 问题,目,目 标 标 系 系 统 统 必 必 须 须 做什么 做什么”,主要是确定目,主要是确定目 标 标 系 系 统
25、 统 必 必须 须 具 具 备 备 哪些 哪些 功能 功能。用。用 户 户 了解他 了解他 们 们 所面 所面 对 对 的 的 问题 问题,知道必,知道必 须 须 做什么,做什么,但是通常不能完整准确地表达出他 但是通常不能完整准确地表达出他 们 们 的要求,更不知道怎 的要求,更不知道怎 样 样 利用 利用计 计 算机解决他 算机解决他 们 们 的 的 问题 问题;软 软 件开 件开 发 发 人 人 员 员 知道怎 知道怎 样 样 用 用 软 软 件 件 实现 实现 人 人 们 们的要求,但是 的要求,但是 对 对 特定用 特定用 户 户 的具体要求并不完全清楚。因此,系 的具体要求并不完全
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 沈师 34170
限制150内