SEI为什么要研究软件工程.ppt

上传人:豆**** 文档编号:24716933 上传时间:2022-07-06 格式:PPT 页数:62 大小:1.71MB
返回 下载 相关 举报
SEI为什么要研究软件工程.ppt_第1页
第1页 / 共62页
SEI为什么要研究软件工程.ppt_第2页
第2页 / 共62页
点击查看更多>>
资源描述

《SEI为什么要研究软件工程.ppt》由会员分享,可在线阅读,更多相关《SEI为什么要研究软件工程.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程体系软件工程体系软件工程导论软件工程导论需需求求工工程程系系统统设设计计编编程程方方法法软软件件测测试试项项目目管管理理质质量量管管理理过过程程管管理理配配置置管管理理内容提要内容提要http:/ 本书围绕软件工程最基本的核心“质量和生产率”展开,力求通过一些具体的实例来说明软件工程的思想和方法。本书在回答为什么要研究软件工程问题之后,首先系统地给出软件工程的知识体系框架,帮助读者建立其软件工程的完整而清晰的概念。然后深入软件过程、软件工程目标和要求的讨论,全面阐述了软件工程的思想、方法、技术和工具,结合软件工程环境、软件项目管理等内容,使读者坚实地掌握和运用软件工程的知识内涵。本书在

2、内容组织上,构思新颖,突破软件工程图书的传统框架,使整个软件工程体系更清晰,从思想和管理出发,自然延伸到流程、方法、工具和环境,重新阐释了软件工程体系。本书吸收了软件工程的最新进展,适应软件即服务(SaaS)新的开发模式,增加了相应的内容,符合当今软件工程的实际需求。 引子引子回答最重要的问题回答最重要的问题Q1-什么是软件工程?什么是软件工程? v 软件工程是一种工程形式,它运用计算机科学和数学原理,针对软件问题获得一种经济有效的解决方案v 用系统的、规范的、可度量的方法,开发、运行和维护软件软件工程是采用系统工程学和管理学相结合的原软件工程是采用系统工程学和管理学相结合的原理、方法和技术来

3、指导、管理和实施软件的各种理、方法和技术来指导、管理和实施软件的各种活动,包括软件开发、运行、维护和服务等活动,包括软件开发、运行、维护和服务等Q2-软件工程的基本目标是什么?软件工程的基本目标是什么? v高质量就是最大程度地满足客户需求、帮助客户获得成功 v高生产力就是以最小的成本获得最好的收益,即在规定的时间和预算之内完成软件开发、维护和服务等任务 高质量高质量 &高生产力高生产力Q3-为什么要讨论软件工程?为什么要讨论软件工程? v软件危机的出现和加剧 v软件系统越来越复杂 v软件环境变化很快v软件用户的需求越来越高 Q4-软件工程带来的益处又是什么?软件工程带来的益处又是什么? v规范

4、软件开发的行为,从而提高软件的可维护、可移植性和可靠性 v提供许多科学的方法、最佳实践和工具,帮助人们高效地、系统地、正确地构造软件 v帮助我们建立有效的、平稳的并能持续改进的软件过程,预防缺陷、降低成本,最终多快好省地提供优质的软件产品或服务,为组织赢得利润、获得竞争力 Q5-软件工程的基本思想是什么?软件工程的基本思想是什么? v 将软件看成一个系统v 通过迭代来完善软件系统,逐渐逼近客户的需求v 软件开发是工程和艺术的统一、创造性和规范性的统一v 过程决定产品,持续改进过程v 质量以预防为主、重在文化建设v 以顾客为导向、软件即服务v 个人和团队并重v 向传统的成熟工业学习v 适合自己的

5、,才是最好的Q6-如何理解软件工程?如何理解软件工程? v 管理,针对不同的领域建立目标、标准和规则v 过程:定义完成软件各项任务的工作阶段、内容、流程、阶段性成果和验收要求v 方法:软件开发、运行和维护等所需的技术方法v 工具:为方法的运用提供自动或半自动的软件支撑环境首先就是一种指导软件管理和实施的先进思想。其次,是首先就是一种指导软件管理和实施的先进思想。其次,是针对软件特点而建立的科学管理体系。最后,是一门学科,针对软件特点而建立的科学管理体系。最后,是一门学科,研究适合软件的过程、方法和工具研究适合软件的过程、方法和工具 Q7-软件工程知识体系包含哪些内容?软件工程知识体系包含哪些内

6、容? v软件工程分为:软件工程方法学和软件工程管理学v 10 个知识域个知识域 :软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法和软件质量 管理。巴比伦塔巴比伦塔可能是第一个工程上的彻底失败,但它不是最后一个可能是第一个工程上的彻底失败,但它不是最后一个本章内容本章内容v1.1 软件危机v1.2 软件的问题在哪里?v1.3 软件工程的诞生v1.4 软件工程的命题v1.5 软件工程知识体系v1.6 现代软件工程http:/ 本章内容本章内容v1.1 软件危机软件危机v1.2 软件的问题在哪里?v1.3 软件工程的诞生v1.4 软件工

7、程的命题v1.5 软件工程知识体系v1.6 现代软件工程http:/ 软件危机软件危机1.1.1 1.1.1 软件不再只是程序软件不再只是程序1.1.2 1.1.2 危机四伏危机四伏1.1.3 1.1.3 软件危机之证软件危机之证http:/ 软件危机 (Software Crisis) 是在软件开发和维护过程中所遭遇的一系列严重问题,导致开发延期、成本激增或者软件运行质量事故等。 软件不再只是程序软件不再只是程序软件软件 程序程序 人机交互、实时系统、业务系统人机交互、实时系统、业务系统http:/ 世界上第一位软件工程师世界上第一位软件工程师 vAda Lovelace (18151851

8、) v数学家v穿孔机程序创始人,建立了循环和子程序概念 v英国著名诗人拜伦 的女儿 典型的例子典型的例子vIBM 360系列机的操作系统系列机的操作系统 vFred Brooks在的人月神话(The Mythical Man-Month) http:/ 软件软件危机四伏危机四伏v对软件开发成本和进度的估计不足,超预算、对软件开发成本和进度的估计不足,超预算、完成日期一再被推迟的现象屡屡出现完成日期一再被推迟的现象屡屡出现v不能满足客户需求,用户不满意不能满足客户需求,用户不满意v缺乏质量保证体系,没有成熟的开发流程,产缺乏质量保证体系,没有成熟的开发流程,产品的质量得不到保证品的质量得不到保证

9、 v软件不容易被维护,错误难以纠正,新功能难软件不容易被维护,错误难以纠正,新功能难以扩充以扩充v软件发展速度跟不上硬件发展的要求软件发展速度跟不上硬件发展的要求vhttp:/ 软件危机之证软件危机之证(1)(1)v 1994年,英特尔奔腾CPU芯片曾经存在一个浮点运算的缺陷v 丹佛新国际机场的自动化行李处理系统中存在严重的程序缺陷,导致行李箱被绞碎v 1999年美国宇航局的火星基地登陆飞船在试图登陆火星表面时突然坠毁失踪。v Windows2000存在许多安全性漏洞v 2002年7月23日,我国首都机场因计算机软件系统故障,6000多人滞留机场,150多个航班延误。v 2003年8月14日发

10、生的美国及加拿大部分地区史上最大停电事故是由软件错误所引起 http:/ 质量事故的例子质量事故的例子 软件危机之证软件危机之证(2)(2)http:/ 项目拖延或取消的事例项目拖延或取消的事例 44% 恶化的趋势恶化的趋势本章内容本章内容v1.1 软件危机v1.2 软件的问题在哪里?软件的问题在哪里?v1.3 软件工程的诞生v1.4 软件工程的命题v1.5 软件工程知识体系v1.6 现代软件工程http:/ 1.2 软件的问题在哪里?软件的问题在哪里?1.2.1 软件特性软件特性1.2.2 软件业所面临的问题软件业所面临的问题1.2.3 软件问题的幽默画软件问题的幽默画http:/ 软件软件

11、特性特性v创造性创造性 v软件技术日新月异软件技术日新月异 v易修改性易修改性 v需求不断变化需求不断变化 v非标准化非标准化 http:/ 软件是逻辑的、知识性的智力产品,是软件是逻辑的、知识性的智力产品,是对物理世界的一种抽象对物理世界的一种抽象 软件软件开发开发 = = 焦油坑焦油坑http:/ 软件开发被喻为让众多史前巨兽痛苦挣扎,软件开发被喻为让众多史前巨兽痛苦挣扎,却无力摆脱的焦油坑。却无力摆脱的焦油坑。软件软件所面临的问题所面临的问题v软件系统的复杂性,使我们理解程序如何工作也变得非常难,团队工作效率低下,容易产生问题v软件需求不充分,同时经常变更 v大规模的软件会使开发人员数量

12、的增长很快,导致团队沟通不畅(二次级数增长)v其它问题 http:/ 软件软件问题的幽默画问题的幽默画http:/ 客户是如何解释的的项目经理这样理解的分析人员的设计程序员代码写成这样业务咨询师描述成那样项目文档这样记载软件安装后的结果客户遭到乱收费支持人员的工作客户的真正需求本章内容本章内容v1.1 软件危机v1.2 软件的问题在哪里?v1.3 软件工程的诞生软件工程的诞生v1.4 软件工程的命题v1.5 软件工程知识体系v1.6 现代软件工程http:/ 概念来源概念来源v1968年北大西洋公约组织(NATO)的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,正式提出了“软件工程”

13、GOTO语句大讨论语句大讨论 foreach my $try (options) next unless exists $hash$try; do_something($try); goto SUCCESS; log_failure(); SUCCESS: . 本章内容本章内容v1.1 软件危机v1.2 软件的问题在哪里?v1.3 软件工程的诞生v1.4 软件工程的命题软件工程的命题v1.5 软件工程知识体系v1.6 现代软件工程http:/ 软件工程学科软件工程学科v 软件工程从计算机科学中的一个学科方向发展成为与之并重的一门独立学科,重点研究如何以系统的、可控的、高效的方式开发和维护高质量

14、软件的问题 软件工程的定义软件工程的定义 vF.L. Bauer:软件工程软件工程是为了经济地获得能够在实际机器上高效运行的、可靠的软件而建立和应用一系列坚实的软件工程原则vSEI: 软件工程软件工程是以工程的形式应用计算机科学和数学原理,从而经济有效地解决软件问题vIEEE: 软件工程软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护 软件工程的内涵软件工程的内涵v 软件工程学科包含为完成软件需求、设计、构建、测试和维护所需的知识、方法和工具。v 软件工程不局限在理论之上,更重要在实践上,能够帮助软件组织协调团队、运用有限的资源,遵守已定义的软件工程规范,通过一系列可复

15、用的、有效的方法,在规定的时间内达到预先设定的目标 交叉性学科交叉性学科v 计算机科学和数学用于构造软件的模型与算法v 工程科学用于制定规范、设计范型、评估成本以及确定权衡等v 管理科学用于计划、资源、质量、成本等管理 软件工程由下列软件工程由下列3部分组成:部分组成:学科范围学科范围本章内容本章内容v1.1 软件危机v1.2 软件的问题在哪里?v1.3 软件工程的诞生v1.4 软件工程的命题v1.5 软件工程知识体系软件工程知识体系v1.6 现代软件工程http:/ 1.5 软件工程知识体系软件工程知识体系1.5.1 软件工程知识体系的构成软件工程知识体系的构成1.5.2 软件工程要素软件工

16、程要素1.5.3 SWEBOKhttp:/ 多视角观察多视角观察 软件工程学的构成软件工程学的构成软件工程方法学软件工程方法学 v软件方法学实际上就是研究在软件工程中可以采用的软件方法、技术和工具,即完成软件构建和维护所需要的有效方法和技术 v软件方法学离不开软件过程,包括软件过程的定义、监控、管理和改进 v软件开发环境是方法和工具的结合 软件工程管理学软件工程管理学 v计划管理v成本管理v人员组织v软件配置管理v质量管理v软件度量软件工程要素软件工程要素 v从项目管理看,自然涉及到人员与组织、成本、风险、软件配置项、基线、质量等要素 v从技术看,会涉及到设计模式、编程语言、开发平台、网络、通

17、用组件、中间件、接口、数据库、人机界面、服务器、客户端等要素v总体上看,有软件质量、标准、过程、方法、技术、工具、团队等主要因素流程、方法和工具流程、方法和工具 基本要素基本要素软件工程软件工程 思想思想 流程流程 方法方法 工具工具 最佳实践最佳实践 思想思想流程流程方法方法工具工具最佳最佳实践实践SWEBOK实施三阶段实施三阶段v草人阶段草人阶段( 1997年5月 )产生软件工程本体知识指南的雏型,主要是为该指南确定恰当的组织结构。v石人阶段石人阶段( 2001年4月18日),草稿完成、进入试用阶段, SWEBOK 0.95版的发布标志着该阶段结束。v铁人阶段铁人阶段( 2004年),从正

18、式版本1.0版开始到现在,包括最新的2004版本 10个知识域个知识域 v软件需求 (Software Requirements)v软件设计 (Software Design)v软件构造 ( Software Construction) v软件测试 (Software Testing )v软件维护 (Software Maintenance)v软件配置管理 (Software Configuration Management)v软件工程管理 (Software Engineering Management)v软件工程过程 ( Process) v软件工程工具和方法 ( Tool and Met

19、hod)v软件质量 (Software Q知识体系的构成知识体系的构成 知识域及其子域知识域及其子域 本章内容本章内容v1.1 软件危机v1.2 软件的问题在哪里?v1.3 软件工程的诞生v1.4 软件工程的命题v1.5 软件工程知识体系v1.6 现代软件工程现代软件工程http:/ 1.6 现代软件工程现代软件工程1.6.1 开源软件运动开源软件运动1.6.2 SaaS1.6.3 现代软件工程的基本思想现代软件工程的基本思想http:/ Tim OReilly and Richard Stallman Richard Stallman is an activist in the FREE S

20、OFTWARE MOVEMENT(FSM), which he founded in 1983. OPEN SOURCE MOVEMENT split off from FSM in 1998.开源运动开源运动 (19982008)OpenWisdom = Open Source = Community = Share 开源软件产品开源软件产品开源软件的特点开源软件的特点v 日常管理成本则被最小化v 开源软件的设计,努力提取其共性而形成参考体系结构,并使其易于移植。v 核心小组成员及其责任分配是自发形成的,并不是硬性指派产生。v 非正式交流(如邮件列表、论坛等)在开源软件开发的活动中发挥着积极

21、的重要作用v 开源项目用户的参与度高v 并不刻意遵循特定的软件工程方法和过程v 采取独特的、灵活的方式来解决标、资源配置和进度安排等问题, 开源软件开发的经验开源软件开发的经验 v早发布、常发布、听取用户的建议。v把用户当做协作开发者和测试人员v精妙的数据结构和笨拙的代码所构成的组合肯定好于笨拙的数据结构和精妙的代码。v最好的设计是最精简的设计v好的程序员知道如何写代码,伟大的程序员知道重用或重构代码SaaSvSoftware-as-a-Service的简称v新的软件应用模式v厂商统一部署应用软件v客户按需获得服务SaaS服务服务EssUP的八大过程的八大过程 现代软件工程的基本思想现代软件工程的基本思想v让过程作为指南,而不是“警察” v过程等于一组实践,不等于惯例v精益概念,摒弃复杂的公式化元模型,取而代之的是简单的、可感知的分类法。v简炼的表示方法,使用卡片和指南表来提供实践及相关工件的一致、简单的解释v专业人员是知识的主体v开放的和可扩展的小结小结v只有技术路线技术路线、项目管理项目管理和质量管理质量管理的有机结合,一个软件工程项目才能有序、有计划、高质量地完成 v工程需要规范和范型,需要建立相对应的标准v要系统、彻底地解决软件工程问题,需要借助系统工程学、管理学、行为组织学、数学等多个学科的帮助Q & AQ & Ahttp:/ 62 结束语结束语

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁