第1章+SEI-为什么要研究软件工程课件_第1页
第1章+SEI-为什么要研究软件工程课件_第2页
第1章+SEI-为什么要研究软件工程课件_第3页
第1章+SEI-为什么要研究软件工程课件_第4页
第1章+SEI-为什么要研究软件工程课件_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程导论(1)

为什么要研究软件工程软件工程导论(1)软件工程体系软件工程导论需求工程系统设计编程方法软件测试项目管理质量管理过程管理配置管理软件工程体系软件工程导论需求工程系统设计编程方法软件测试项目内容提要/Kerryzhu

本书围绕软件工程最基本的核心——“质量和生产率”展开,力求通过一些具体的实例来说明软件工程的思想和方法。本书在回答为什么要研究软件工程问题之后,首先系统地给出软件工程的知识体系框架,帮助读者建立其软件工程的完整而清晰的概念。然后深入软件过程、软件工程目标和要求的讨论,全面阐述了软件工程的思想、方法、技术和工具,结合软件工程环境、软件项目管理等内容,使读者坚实地掌握和运用软件工程的知识内涵。本书在内容组织上,构思新颖,突破软件工程图书的传统框架,使整个软件工程体系更清晰,从思想和管理出发,自然延伸到流程、方法、工具和环境,重新阐释了软件工程体系。本书吸收了软件工程的最新进展,适应软件即服务(SaaS)新的开发模式,增加了相应的内容,符合当今软件工程的实际需求。

内容提要/Kerry引子回答最重要的问题引子回答最重要的问题Q1-什么是软件工程?

软件工程是一种工程形式,它运用计算机科学和数学原理,针对软件问题获得一种经济有效的解决方案用系统的、规范的、可度量的方法,开发、运行和维护软件软件工程是采用系统工程学和管理学相结合的原理、方法和技术来指导、管理和实施软件的各种活动,包括软件开发、运行、维护和服务等Q1-什么是软件工程?软件工程是一种工程形式,它运用计算机Q2-软件工程的基本目标是什么?

高质量就是最大程度地满足客户需求、帮助客户获得成功高生产力就是以最小的成本获得最好的收益,即在规定的时间和预算之内完成软件开发、维护和服务等任务高质量&高生产力Q2-软件工程的基本目标是什么?高质量就是最大程度地满足客Q3-为什么要讨论软件工程?

软件危机的出现和加剧软件系统越来越复杂软件环境变化很快软件用户的需求越来越高Q3-为什么要讨论软件工程?软件危机的出现和加剧Q4-软件工程带来的益处又是什么?

规范软件开发的行为,从而提高软件的可维护、可移植性和可靠性提供许多科学的方法、最佳实践和工具,帮助人们高效地、系统地、正确地构造软件帮助我们建立有效的、平稳的并能持续改进的软件过程,预防缺陷、降低成本,最终多快好省地提供优质的软件产品或服务,为组织赢得利润、获得竞争力Q4-软件工程带来的益处又是什么?规范软件开发的行为,从而Q5-软件工程的基本思想是什么?

将软件看成一个系统通过迭代来完善软件系统,逐渐逼近客户的需求软件开发是工程和艺术的统一、创造性和规范性的统一过程决定产品,持续改进过程质量以预防为主、重在文化建设以顾客为导向、软件即服务个人和团队并重向传统的成熟工业学习适合自己的,才是最好的Q5-软件工程的基本思想是什么?将软件看成一个系统Q6-如何理解软件工程?

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

软件工程分为:软件工程方法学和软件工程管理学

10个知识域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法和软件质量管理。Q7-软件工程知识体系包含哪些内容?软件工程分为:软件工程巴比伦塔可能是第一个工程上的彻底失败,但它不是最后一个巴比伦塔可能是第一个工程上的彻底失败,但它不是最后一个本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n软件危机1.1.1软件不再只是程序1.1.2危机四伏1.1.3软件危机之证/Kerryzhu

软件危机(SoftwareCrisis)是在软件开发和维护过程中所遭遇的一系列严重问题,导致开发延期、成本激增或者软件运行质量事故等。

软件危机1.1.1软件不再只是程序http://blog.软件不再只是程序软件=程序

人机交互、实时系统、业务系统/Kerryzhu

软件不再只是程序软件=程序http://blog.cs世界上第一位软件工程师

AdaLovelace(1815-1851)数学家穿孔机程序创始人,建立了循环和子程序概念英国著名诗人拜伦的女儿世界上第一位软件工程师AdaLovelace典型的例子IBM360系列机的操作系统

FredBrooks在的《人月神话》(TheMythicalMan-Month)

/Kerryzhu

典型的例子IBM360系列机的操作系统http://bl软件危机四伏对软件开发成本和进度的估计不足,超预算、完成日期一再被推迟的现象屡屡出现不能满足客户需求,用户不满意缺乏质量保证体系,没有成熟的开发流程,产品的质量得不到保证

软件不容易被维护,错误难以纠正,新功能难以扩充软件发展速度跟不上硬件发展的要求……/Kerryzhu

软件危机四伏对软件开发成本和进度的估计不足,超预算、完成日期软件危机之证(1)1994年,英特尔奔腾CPU芯片曾经存在一个浮点运算的缺陷丹佛新国际机场的自动化行李处理系统中存在严重的程序缺陷,导致行李箱被绞碎……1999年美国宇航局的火星基地登陆飞船在试图登陆火星表面时突然坠毁失踪。Windows2000存在许多安全性漏洞2002年7月23日,我国首都机场因计算机软件系统故障,6000多人滞留机场,150多个航班延误。2003年8月14日发生的美国及加拿大部分地区史上最大停电事故是由软件错误所引起/Kerryzhu

质量事故的例子

软件危机之证(1)1994年,英特尔奔腾CPU芯片曾经存在一软件危机之证(2)/Kerryzhu

项目拖延或取消的事例

44%challenged软件危机之证(2)/恶化的趋势恶化的趋势本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n1.2软件的问题在哪里?1.2.1软件特性 1.2.2软件业所面临的问题1.2.3软件问题的幽默画/Kerryzhu

1.2软件的问题在哪里?1.2.1软件特性 http:/软件特性创造性

软件技术日新月异

易修改性

需求不断变化

非标准化

/Kerryzhu

软件是逻辑的、知识性的智力产品,是对物理世界的一种抽象软件特性创造性/K软件开发=焦油坑/Kerryzhu

软件开发被喻为让众多史前巨兽痛苦挣扎,却无力摆脱的焦油坑。软件开发=焦油坑软件所面临的问题软件系统的复杂性,使我们理解程序如何工作也变得非常难,团队工作效率低下,容易产生问题软件需求不充分,同时经常变更大规模的软件会使开发人员数量的增长很快,导致团队沟通不畅(二次级数增长)其它问题/Kerryzhu

软件所面临的问题软件系统的复杂性,使我们理解程序如何工作也变软件问题的幽默画/Kerryzhu

客户是如何解释的的项目经理这样理解的分析人员的设计程序员代码写成这样业务咨询师描述成那样项目文档这样记载软件安装后的结果客户遭到乱收费支持人员的工作客户的真正需求软件问题的幽默画/K本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n概念来源1968年北大西洋公约组织(NATO)的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,正式提出了“软件工程”概念来源1968年北大西洋公约组织(NATO)的计算机科学家GOTO语句大讨论foreachmy$try(@options){nextunlessexists$hash{$try};do_something($try);gotoSUCCESS;}log_failure();SUCCESS:...GOTO语句大讨论foreachmy$try(@op本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n软件工程学科软件工程从计算机科学中的一个学科方向发展成为与之并重的一门独立学科,重点研究如何以系统的、可控的、高效的方式开发和维护高质量软件的问题软件工程学科软件工程从计算机科学中的一个学科方向发展成为与之软件工程的定义

F.L.Bauer:软件工程是为了经济地获得能够在实际机器上高效运行的、可靠的软件而建立和应用一系列坚实的软件工程原则SEI:

软件工程是以工程的形式应用计算机科学和数学原理,从而经济有效地解决软件问题IEEE:

软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护软件工程的定义F.L.Bauer:软件工程是为了经济地获软件工程的内涵软件工程学科包含为完成软件需求、设计、构建、测试和维护所需的知识、方法和工具。软件工程不局限在理论之上,更重要在实践上,能够帮助软件组织协调团队、运用有限的资源,遵守已定义的软件工程规范,通过一系列可复用的、有效的方法,在规定的时间内达到预先设定的目标软件工程的内涵软件工程学科包含为完成软件需求、设计、构建、测交叉性学科计算机科学和数学用于构造软件的模型与算法工程科学用于制定规范、设计范型、评估成本以及确定权衡等管理科学用于计划、资源、质量、成本等管理软件工程由下列3部分组成:交叉性学科计算机科学和数学用于构造软件的模型与算法软件工程由学科范围学科范围本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n1.5软件工程知识体系1.5.1软件工程知识体系的构成1.5.2软件工程要素1.5.3SWEBOK/Kerryzhu

1.5软件工程知识体系1.5.1软件工程知识体系的构成h多视角观察

多视角观察软件工程学的构成软件工程学的构成软件工程方法学

软件方法学实际上就是研究在软件工程中可以采用的软件方法、技术和工具,即完成软件构建和维护所需要的有效方法和技术软件方法学离不开软件过程,包括软件过程的定义、监控、管理和改进软件开发环境是方法和工具的结合软件工程方法学软件方法学实际上就是研究在软件工程中可以采用软件工程管理学

计划管理成本管理人员组织软件配置管理质量管理软件度量软件工程管理学计划管理软件工程要素

从项目管理看,自然涉及到人员与组织、成本、风险、软件配置项、基线、质量等要素从技术看,会涉及到设计模式、编程语言、开发平台、网络、通用组件、中间件、接口、数据库、人机界面、服务器、客户端等要素总体上看,有软件质量、标准、过程、方法、技术、工具、团队等主要因素流程、方法和工具

软件工程要素从项目管理看,自然涉及到人员与组织、成本、风险基本要素软件工程=思想+流程+方法+工具+最佳实践思想流程方法工具最佳实践基本要素软件工程=思想+流程+方法+工具+最佳实SWEBOK实施三阶段草人阶段(~1997年5月)产生软件工程本体知识指南的雏型,主要是为该指南确定恰当的组织结构。石人阶段(~2001年4月18日),草稿完成、进入试用阶段,SWEBOK0.95版的发布标志着该阶段结束。铁人阶段(~2004年),从正式版本——1.0版开始到现在,包括最新的2004版本SWEBOK实施三阶段草人阶段(~1997年5月)产生软10个知识域

软件需求(SoftwareRequirements)软件设计(SoftwareDesign)软件构造(SoftwareConstruction)软件测试(SoftwareTesting)软件维护(SoftwareMaintenance)软件配置管理(SoftwareConfigurationManagement)软件工程管理(SoftwareEngineeringManagement)软件工程过程(~Process)软件工程工具和方法(~ToolandMethod)软件质量(SoftwareQuality10个知识域软件需求(SoftwareRequirem知识体系的构成知识体系的构成知识域及其子域知识域及其子域本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n1.6现代软件工程1.6.1开源软件运动1.6.2SaaS1.6.3现代软件工程的基本思想/Kerryzhu

1.6现代软件工程1.6.1开源软件运动http://b

TimO'ReillyandRichardStallman

RichardStallmanisanactivistintheFREESOFTWAREMOVEMENT(FSM),whichhefoundedin1983.OPENSOURCEMOVEMENTsplitofffromFSMin1998.开源运动

(1998-2008)OpenWisdom=OpenSource=Community=Share

TimO'ReillyandRichardStalSendmail开源软件产品CVSSendmail开源软件产品CVS开源软件的特点日常管理成本则被最小化开源软件的设计,努力提取其共性而形成参考体系结构,并使其易于移植。核心小组成员及其责任分配是自发形成的,并不是硬性指派产生。非正式交流(如邮件列表、论坛等)在开源软件开发的活动中发挥着积极的重要作用开源项目用户的参与度高并不刻意遵循特定的软件工程方法和过程采取独特的、灵活的方式来解决标、资源配置和进度安排等问题,开源软件的特点日常管理成本则被最小化开源软件开发的经验早发布、常发布、听取用户的建议。把用户当做协作开发者和测试人员精妙的数据结构和笨拙的代码所构成的组合肯定好于笨拙的数据结构和精妙的代码。最好的设计是最精简的设计好的程序员知道如何写代码,伟大的程序员知道重用或重构代码开源软件开发的经验早发布、常发布、听取用户的建议。SaaSSoftware-as-a-Service的简称新的软件应用模式厂商统一部署应用软件客户按需获得服务SaaSSaaS服务SaaS服务EssUP的八大过程

EssUP的八大过程现代软件工程的基本思想让过程作为指南,而不是“警察”过程等于一组实践,不等于惯例精益概念,摒弃复杂的公式化元模型,取而代之的是简单的、可感知的分类法。简炼的表示方法,使用卡片和指南表来提供实践及相关工件的一致、简单的解释专业人员是知识的主体开放的和可扩展的现代软件工程的基本思想小结只有技术路线、项目管理和质量管理的有机结合,一个软件工程项目才能有序、有计划、高质量地完成工程需要规范和范型,需要建立相对应的标准要系统、彻底地解决软件工程问题,需要借助系统工程学、管理学、行为组织学、数学等多个学科的帮助小结只有技术路线、项目管理和质量管理的有机结合,一个软件工程Q&A/Kerryzhu

Q&A/Kerr演讲完毕,谢谢观看!演讲完毕,谢谢观看!软件工程导论(1)

为什么要研究软件工程软件工程导论(1)软件工程体系软件工程导论需求工程系统设计编程方法软件测试项目管理质量管理过程管理配置管理软件工程体系软件工程导论需求工程系统设计编程方法软件测试项目内容提要/Kerryzhu

本书围绕软件工程最基本的核心——“质量和生产率”展开,力求通过一些具体的实例来说明软件工程的思想和方法。本书在回答为什么要研究软件工程问题之后,首先系统地给出软件工程的知识体系框架,帮助读者建立其软件工程的完整而清晰的概念。然后深入软件过程、软件工程目标和要求的讨论,全面阐述了软件工程的思想、方法、技术和工具,结合软件工程环境、软件项目管理等内容,使读者坚实地掌握和运用软件工程的知识内涵。本书在内容组织上,构思新颖,突破软件工程图书的传统框架,使整个软件工程体系更清晰,从思想和管理出发,自然延伸到流程、方法、工具和环境,重新阐释了软件工程体系。本书吸收了软件工程的最新进展,适应软件即服务(SaaS)新的开发模式,增加了相应的内容,符合当今软件工程的实际需求。

内容提要/Kerry引子回答最重要的问题引子回答最重要的问题Q1-什么是软件工程?

软件工程是一种工程形式,它运用计算机科学和数学原理,针对软件问题获得一种经济有效的解决方案用系统的、规范的、可度量的方法,开发、运行和维护软件软件工程是采用系统工程学和管理学相结合的原理、方法和技术来指导、管理和实施软件的各种活动,包括软件开发、运行、维护和服务等Q1-什么是软件工程?软件工程是一种工程形式,它运用计算机Q2-软件工程的基本目标是什么?

高质量就是最大程度地满足客户需求、帮助客户获得成功高生产力就是以最小的成本获得最好的收益,即在规定的时间和预算之内完成软件开发、维护和服务等任务高质量&高生产力Q2-软件工程的基本目标是什么?高质量就是最大程度地满足客Q3-为什么要讨论软件工程?

软件危机的出现和加剧软件系统越来越复杂软件环境变化很快软件用户的需求越来越高Q3-为什么要讨论软件工程?软件危机的出现和加剧Q4-软件工程带来的益处又是什么?

规范软件开发的行为,从而提高软件的可维护、可移植性和可靠性提供许多科学的方法、最佳实践和工具,帮助人们高效地、系统地、正确地构造软件帮助我们建立有效的、平稳的并能持续改进的软件过程,预防缺陷、降低成本,最终多快好省地提供优质的软件产品或服务,为组织赢得利润、获得竞争力Q4-软件工程带来的益处又是什么?规范软件开发的行为,从而Q5-软件工程的基本思想是什么?

将软件看成一个系统通过迭代来完善软件系统,逐渐逼近客户的需求软件开发是工程和艺术的统一、创造性和规范性的统一过程决定产品,持续改进过程质量以预防为主、重在文化建设以顾客为导向、软件即服务个人和团队并重向传统的成熟工业学习适合自己的,才是最好的Q5-软件工程的基本思想是什么?将软件看成一个系统Q6-如何理解软件工程?

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

软件工程分为:软件工程方法学和软件工程管理学

10个知识域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法和软件质量管理。Q7-软件工程知识体系包含哪些内容?软件工程分为:软件工程巴比伦塔可能是第一个工程上的彻底失败,但它不是最后一个巴比伦塔可能是第一个工程上的彻底失败,但它不是最后一个本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n软件危机1.1.1软件不再只是程序1.1.2危机四伏1.1.3软件危机之证/Kerryzhu

软件危机(SoftwareCrisis)是在软件开发和维护过程中所遭遇的一系列严重问题,导致开发延期、成本激增或者软件运行质量事故等。

软件危机1.1.1软件不再只是程序http://blog.软件不再只是程序软件=程序

人机交互、实时系统、业务系统/Kerryzhu

软件不再只是程序软件=程序http://blog.cs世界上第一位软件工程师

AdaLovelace(1815-1851)数学家穿孔机程序创始人,建立了循环和子程序概念英国著名诗人拜伦的女儿世界上第一位软件工程师AdaLovelace典型的例子IBM360系列机的操作系统

FredBrooks在的《人月神话》(TheMythicalMan-Month)

/Kerryzhu

典型的例子IBM360系列机的操作系统http://bl软件危机四伏对软件开发成本和进度的估计不足,超预算、完成日期一再被推迟的现象屡屡出现不能满足客户需求,用户不满意缺乏质量保证体系,没有成熟的开发流程,产品的质量得不到保证

软件不容易被维护,错误难以纠正,新功能难以扩充软件发展速度跟不上硬件发展的要求……/Kerryzhu

软件危机四伏对软件开发成本和进度的估计不足,超预算、完成日期软件危机之证(1)1994年,英特尔奔腾CPU芯片曾经存在一个浮点运算的缺陷丹佛新国际机场的自动化行李处理系统中存在严重的程序缺陷,导致行李箱被绞碎……1999年美国宇航局的火星基地登陆飞船在试图登陆火星表面时突然坠毁失踪。Windows2000存在许多安全性漏洞2002年7月23日,我国首都机场因计算机软件系统故障,6000多人滞留机场,150多个航班延误。2003年8月14日发生的美国及加拿大部分地区史上最大停电事故是由软件错误所引起/Kerryzhu

质量事故的例子

软件危机之证(1)1994年,英特尔奔腾CPU芯片曾经存在一软件危机之证(2)/Kerryzhu

项目拖延或取消的事例

44%challenged软件危机之证(2)/恶化的趋势恶化的趋势本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n1.2软件的问题在哪里?1.2.1软件特性 1.2.2软件业所面临的问题1.2.3软件问题的幽默画/Kerryzhu

1.2软件的问题在哪里?1.2.1软件特性 http:/软件特性创造性

软件技术日新月异

易修改性

需求不断变化

非标准化

/Kerryzhu

软件是逻辑的、知识性的智力产品,是对物理世界的一种抽象软件特性创造性/K软件开发=焦油坑/Kerryzhu

软件开发被喻为让众多史前巨兽痛苦挣扎,却无力摆脱的焦油坑。软件开发=焦油坑软件所面临的问题软件系统的复杂性,使我们理解程序如何工作也变得非常难,团队工作效率低下,容易产生问题软件需求不充分,同时经常变更大规模的软件会使开发人员数量的增长很快,导致团队沟通不畅(二次级数增长)其它问题/Kerryzhu

软件所面临的问题软件系统的复杂性,使我们理解程序如何工作也变软件问题的幽默画/Kerryzhu

客户是如何解释的的项目经理这样理解的分析人员的设计程序员代码写成这样业务咨询师描述成那样项目文档这样记载软件安装后的结果客户遭到乱收费支持人员的工作客户的真正需求软件问题的幽默画/K本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n概念来源1968年北大西洋公约组织(NATO)的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,正式提出了“软件工程”概念来源1968年北大西洋公约组织(NATO)的计算机科学家GOTO语句大讨论foreachmy$try(@options){nextunlessexists$hash{$try};do_something($try);gotoSUCCESS;}log_failure();SUCCESS:...GOTO语句大讨论foreachmy$try(@op本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n软件工程学科软件工程从计算机科学中的一个学科方向发展成为与之并重的一门独立学科,重点研究如何以系统的、可控的、高效的方式开发和维护高质量软件的问题软件工程学科软件工程从计算机科学中的一个学科方向发展成为与之软件工程的定义

F.L.Bauer:软件工程是为了经济地获得能够在实际机器上高效运行的、可靠的软件而建立和应用一系列坚实的软件工程原则SEI:

软件工程是以工程的形式应用计算机科学和数学原理,从而经济有效地解决软件问题IEEE:

软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护软件工程的定义F.L.Bauer:软件工程是为了经济地获软件工程的内涵软件工程学科包含为完成软件需求、设计、构建、测试和维护所需的知识、方法和工具。软件工程不局限在理论之上,更重要在实践上,能够帮助软件组织协调团队、运用有限的资源,遵守已定义的软件工程规范,通过一系列可复用的、有效的方法,在规定的时间内达到预先设定的目标软件工程的内涵软件工程学科包含为完成软件需求、设计、构建、测交叉性学科计算机科学和数学用于构造软件的模型与算法工程科学用于制定规范、设计范型、评估成本以及确定权衡等管理科学用于计划、资源、质量、成本等管理软件工程由下列3部分组成:交叉性学科计算机科学和数学用于构造软件的模型与算法软件工程由学科范围学科范围本章内容1.1软件危机1.2软件的问题在哪里?1.3软件工程的诞生1.4软件工程的命题1.5软件工程知识体系1.6现代软件工程/Kerryzhu

本章内容1.1软件危机http://blog.csdn.n1.5软件工程知识体系1.5.1软件工程知识体系的构成1.5.2软件工程要素1.5.3SWEBOK/Kerryzhu

1.5软件工程知识体系1.5.1软件工程知识体系的构成h多视角观察

多视角观察软件工程学的构成软件工程学的构成软件工程方法学

软件方法学实际上就是研究在软件工程中可以采用的软件方法、技术和工具,即完成软件构建和维护所需要的有效方法和技术软件方法学离不开软件过程,包括软件过程的定义、监控、管理和改进软件开发环境是方法和工具的结合软件工程方法学软件方法学实际上就是研究在软件工程中可以采用软件工程管理学

计划管理成本管理人员组织软件配置管理质量管理软件度量软件工程管理学计划管理软件工程要素

从项目管理看,自然涉及到人员与组织、成本、风险、软件配置项、基线、质量等要素从技术看,会涉及到设计模式、编程语言、开发平台、网络、通用组件、中间件、接口、数据库、人机界面、服务器、客户端等要素总体上看,有软件质量、标准、过程、方法、技术、工具、团队等主要因素流程、方法和工具

软件工程要素从项目管理看,自然涉及到人员与组织、成本、风险基本要素软件工程=思想+流程+方法+工具+最佳实践思想流程方法工具最佳实践基本要素软件工程=思想+流程+方法+工具+最佳实SWEBOK实施三阶段草人阶段(~1997年5月)产生软件工程本体知识指南的雏型,主要是为该指南确定恰当的组织结构。石人阶段(~2001年4月18日),草稿完成、进入试用阶段,SWEBOK0.95版的发布标志着该阶段结束。铁人阶段(~2004年),从正式版本——1.0版开始到现在,包括最新的2004版本SWEBOK实施三阶段草人阶段(~1997年5月)产生软10个知识域

软件需求(SoftwareRequirements)软件设计(SoftwareDesign)软件构造(SoftwareConstruction)软件测试(SoftwareTesting)软件维护(SoftwareMaintenance)软件配置管理(SoftwareConfigurationManagement)软件工程管理(SoftwareEngineeringManagement)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论