版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子科技大学电子科技大学许家许家珆珆 学会如何在现代学会如何在现代IT企业的环境中做一个成功者;企业的环境中做一个成功者;学会如何做世界级的、高质量的研究;学会如何做世界级的、高质量的研究;学会如何创建大规模的软件产品。学会如何创建大规模的软件产品。 微软全球资深副总裁微软全球资深副总裁 原微软亚洲研究院院长原微软亚洲研究院院长 首席科学家首席科学家 张亚勤张亚勤 1.软件产业的网络化趋势软件产业的网络化趋势2.软件产业的服务化趋势软件产业的服务化趋势3.软件产业的全球化趋势软件产业的全球化趋势智能网络智能网络(Intelligent Web)从静态网到动态网从静态网到动态网从被动方式到主动方
2、式从被动方式到主动方式从呈现信息和浏览的窗从呈现信息和浏览的窗口到智能生成的平台口到智能生成的平台从从HTML到到XML1.软件产业的网络化趋势软件产业的网络化趋势2.软件产业的服务化趋势软件产业的服务化趋势3.软件产业的全球化趋势软件产业的全球化趋势 相对目前相对目前“打打包式包式”软件,为用户软件,为用户提供智能化的提供智能化的“服务服务式式”软件。软件。 The Challenges and Opportunities of the Global Software Industry.1.软件产业的网络化趋势软件产业的网络化趋势2.软件产业的服务化趋势软件产业的服务化趋势3.软件产业的全球
3、化趋势软件产业的全球化趋势强调开放性、交互性强调开放性、交互性支持主流的开放式标准支持主流的开放式标准人才的全球化人才的全球化对中国软件企业有什么启示和挑战?对中国软件企业有什么启示和挑战? Talent Beyond Technology _What Kind of Talent We Need for Modern Software Development扎实的基础扎实的基础创新、独立的工作能力创新、独立的工作能力主人翁精神和团队精神主人翁精神和团队精神沟通与协调能力沟通与协调能力有激情有激情锲而不舍,从错误中学习锲而不舍,从错误中学习二、现代软件开发对人才的要求二、现代软件开发对人才的要
4、求 有一次比尔有一次比尔盖茨和上帝谈话,上帝对他说:盖茨和上帝谈话,上帝对他说:“地球明天就要毁灭了!由于你是如此的成功,因地球明天就要毁灭了!由于你是如此的成功,因此我特许你从地球上带一样东西到天堂!你想带什此我特许你从地球上带一样东西到天堂!你想带什么?么?” 比尔比尔.盖茨回答:盖茨回答:“请允许我从微软选请允许我从微软选300个最个最优秀的人,我要把他们带到天堂!优秀的人,我要把他们带到天堂!” 尽管微软的尽管微软的Windows、Exchange、SQL、Office等都非常重要,但如果没有像你们这些人才,等都非常重要,但如果没有像你们这些人才,微软也将一无所有。你们对我们公司和微软
5、来说是微软也将一无所有。你们对我们公司和微软来说是处于第一位的。处于第一位的。 我国复合型软件人才匮乏我国复合型软件人才匮乏, ,培养适应迅速培养适应迅速变化的市场需求的复合型软件人才已是迫在变化的市场需求的复合型软件人才已是迫在眉睫。眉睫。三、信息化建设中对复合型软件人才的需求三、信息化建设中对复合型软件人才的需求 复合型软件人才具备不同专业背景、有复合型软件人才具备不同专业背景、有市场观念的开发管理、工程管理和软件经营等的市场观念的开发管理、工程管理和软件经营等的人才。人才。2.2.软件需求分析很困难,不管三七二十一先软件需求分析很困难,不管三七二十一先把软件做了再说,反正软件是灵活的,随
6、把软件做了再说,反正软件是灵活的,随时可以修改。时可以修改。 1.1.只要掌握了只要掌握了1 12 2门程序设计语言,进行软门程序设计语言,进行软件开发就没有问题。件开发就没有问题。总之,错误地认为:软件就是程序,开发软件就总之,错误地认为:软件就是程序,开发软件就是编写程序。是编写程序。3. 只要有最好的开发工具、最好的计算机,只要有最好的开发工具、最好的计算机,一定能做出优秀的软件。一定能做出优秀的软件。 1. 传统的软件工程方法传统的软件工程方法2. 面向对象的建模技术面向对象的建模技术UML(统一建模语(统一建模语言)言)3. 软件项目管理及软件项目管理及CMM4. 软件复用及构件工程
7、软件复用及构件工程 本课程以传统的软件工程技术为基础,主要讨论本课程以传统的软件工程技术为基础,主要讨论如何应用软件工程的最新技术如何应用软件工程的最新技术 UML(统一建模(统一建模语言)进行软件开发,提高软件开发的水平和技术。语言)进行软件开发,提高软件开发的水平和技术。实践性强、发展迅速实践性强、发展迅速2. 2. 课堂教学课堂教学(48学时)授课、案例分析、讨论。学时)授课、案例分析、讨论。 课程设计课程设计课内外结合,课外为主,课程设计以课内外结合,课外为主,课程设计以开发小组为单位,在开发小组为单位,在“网上课程设计平台网上课程设计平台”上进行。上进行。 3. 3. 关于考试关于考
8、试 需求及设计阶段答辩式评审:需求及设计阶段答辩式评审:20分分 笔试:笔试:40分,课程设计:分,课程设计:40分分作者:许家珆作者:许家珆 白忠建白忠建 吴磊吴磊出版社:高等教育出版社出版社:高等教育出版社本书是在吸取了国内外有关教本书是在吸取了国内外有关教材的精华,并结合编者多年来进行材的精华,并结合编者多年来进行软件工程的教学及软件开发实践的软件工程的教学及软件开发实践的经验、体会的基础上编写的经验、体会的基础上编写的。 本书在继承第本书在继承第1版理论联系实际的特点的基础上,版理论联系实际的特点的基础上,又补充了更加丰富的案例。又补充了更加丰富的案例。作者:许家珆作者:许家珆 曾翎曾
9、翎 彭德中彭德中出版社:高等教育出版社出版社:高等教育出版社出版日期:出版日期:2004-6配套光盘配套光盘1张张本书是教育部新世纪网络课程建设工程的子课题本书是教育部新世纪网络课程建设工程的子课题“软件工程网络课程软件工程网络课程”配套教材。其主要特色是理论与配套教材。其主要特色是理论与实践密切结合,给出了实践密切结合,给出了“软件工程课程设计软件工程课程设计”的相关指的相关指导。导。Software Engineering, 6th Edition作者:作者:(英)(英)Ian Sommerville出版社:机械工业出版社出版社:机械工业出版社(影印版)(影印版) 本书是英国著名软件工程学
10、家本书是英国著名软件工程学家 Ian Sommerville 系统介绍软件工程系统介绍软件工程理论的力作,以要求极高的一类系理论的力作,以要求极高的一类系统为实例,精辟、透彻地阐述了软统为实例,精辟、透彻地阐述了软件工程的内涵。件工程的内涵。 38/wlxt/ncourse/se/web/soft/default.aspx29/wlxt/ncourse/se/web/soft/default.aspx软件工程网软件工程网http:/ 卡内基卡内基梅隆大学软件工梅隆大学软件工程研究所程研究所h
11、ttp:/ / 对象技术和构件技术对象技术和构件技术链接链接http:/ Rational公司公司 OMG(Object Management Group)1高等教育出版社高等教育出版社高等教育电子音像出版社高等教育电子音像出版社 40 40年来,年来,软件工程软件工程已经历了四个重要已经历了四个重要发展发展阶段:阶段:40年来,软件工程已经历了四个重要发展阶段:年来,软件工程已经历了四个重要发展阶段: 6060年代末到年代末到7070年代为了年代为了克 服克 服 “” ” (Software crisis)(Softwa
12、re crisis)提出提出“软件工程软件工程”的名词的名词, , 将软将软件开发纳入工程化的轨道,件开发纳入工程化的轨道,基本形成软件工程的概念、基本形成软件工程的概念、框架、技术和方法,称为框架、技术和方法,称为传传统统的软件工程的软件工程40年来,软件工程已经历了四个重要发展阶段:年来,软件工程已经历了四个重要发展阶段: 8080年代中到年代中到9090年代,面向对象年代,面向对象的方法与技术得到发展,研究的重的方法与技术得到发展,研究的重点转移到面向对象的分析与设计,点转移到面向对象的分析与设计,演化为一种完整的软件开发方法和演化为一种完整的软件开发方法和系统的技术体系,称为对象工程。
13、系统的技术体系,称为对象工程。40年来,软件工程已经历了四个重要发展阶段:年来,软件工程已经历了四个重要发展阶段: 20 20世纪世纪8080年代中开始,年代中开始,人们在软人们在软件开发的实践过程中认识到:提高软件开发的实践过程中认识到:提高软件生产率,保证软件质量的关键是件生产率,保证软件质量的关键是“软件过程软件过程”,是软件开发和维护中,是软件开发和维护中的管理和支持能力,逐步形成软件过的管理和支持能力,逐步形成软件过程工程。程工程。40年来,软件工程已经历了四个重要发展阶段:年来,软件工程已经历了四个重要发展阶段: 20世纪世纪90年代起,基于构件年代起,基于构件(Component
14、)的开发方法取得重要进)的开发方法取得重要进展,软件系统的开发可展,软件系统的开发可通过使用现成的通过使用现成的可复用构件组装完成,而无需从头开始可复用构件组装完成,而无需从头开始构造,以此达到提高效率和质量,降低构造,以此达到提高效率和质量,降低成本的目的。称为成本的目的。称为构件工程。构件工程。 软件工程软件工程是一门新兴的边缘学科是一门新兴的边缘学科, ,涉及的学科多,涉及的学科多,研究的范围广,研究的主要内容有以下几方面:研究的范围广,研究的主要内容有以下几方面: 软件开发技术软件开发技术 软件管理技术软件管理技术 为了克服软件危机,人们从其他产业的工业为了克服软件危机,人们从其他产业
15、的工业化生产得到启示,于是在化生产得到启示,于是在1968年北大西洋公约的年北大西洋公约的软件可靠性会议(软件可靠性会议(NATO)上,首次提出了)上,首次提出了“软软件工程件工程”的概念。提出了在软件生产中采用工程的概念。提出了在软件生产中采用工程化的方法,采用一系列科学的、现代化的方法、化的方法,采用一系列科学的、现代化的方法、技术来开发软件。这种工程化的思想贯穿到软件技术来开发软件。这种工程化的思想贯穿到软件开发和维护的全过程。开发和维护的全过程。是指在软件工具的支持下,所进行的一系列软是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。件开发和进化的活动。通常包括以下通常包括以
16、下4 4类基本过程:类基本过程:1.1.软件规格说明:软件规格说明:规定软件的功能及其运行环境。规定软件的功能及其运行环境。2.2.软件开发:软件开发:产生满足规格说明的软件。产生满足规格说明的软件。3.3.软件确认:软件确认:确认软件能够完成客户提出的要求。确认软件能够完成客户提出的要求。4.4.软件演进:软件演进:为满足客户的变更要求,软件必须在使为满足客户的变更要求,软件必须在使用的过程中演进。用的过程中演进。软件工程过程软件工程过程(Software Engineering Process)软件工程过程软件工程过程(Software Engineering Process)设备和管理设
17、备和管理经过培训的开经过培训的开发人员发人员开发开发时期时期运行运行时期时期计划计划阶段阶段( (可行性论证报告可行性论证报告) )( (需求规格说明书需求规格说明书) )( (维护报告维护报告) )( (测试报告测试报告) )( (程序程序) )( (详细设计文档详细设计文档) )( (概要概要设计文档设计文档) )瀑布模型 软件开发模型是描述软件开发过程中各种活动软件开发模型是描述软件开发过程中各种活动如何执行的模型,又称为如何执行的模型,又称为软件过程模型软件过程模型。软件过程模型是对软件开发实际过程的抽象和软件过程模型是对软件开发实际过程的抽象和简化。简化。 目前典型的软件开发模型有:
18、目前典型的软件开发模型有: 瀑布模型、增量模型、螺旋模型、喷泉模型、瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等。变换模型和基于知识的模型等。 不同的开发方法有不同的软件过程模型。不同的开发方法有不同的软件过程模型。可行性研究可行性研究可行性论证报告可行性论证报告需求分析需求分析需求规格说明书需求规格说明书运行与维护运行与维护维护报告维护报告测测 试试测试报告测试报告编编 码码 程序程序详细设计详细设计详细设计文档详细设计文档概要设计概要设计 概要设计概要设计文档文档开发开发阶段阶段运行运行阶段阶段计划计划时期时期 瀑布模型在软件开发的前期起到重要作用,但逐渐暴瀑布模型在
19、软件开发的前期起到重要作用,但逐渐暴露出其缺陷,即将充满露出其缺陷,即将充满回溯的软件开发过程硬性分割为几回溯的软件开发过程硬性分割为几个阶段。个阶段。增量模型是一种非整体开发的模型,是一种进增量模型是一种非整体开发的模型,是一种进化式的开发过程。化式的开发过程。根据增量的方式和形式的不同,分为:根据增量的方式和形式的不同,分为:基于瀑布模型的渐增模型基于瀑布模型的渐增模型基于原型的快速原型模型基于原型的快速原型模型该模型具有较大的灵活性,适合于软件需求不该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。明确、设计方案有一定风险的软件项目。需求分析需求分析设计设计编码
20、编码测试测试运行运行计划计划循环模型评价评价 速成原型的工作模型是一个循环速成原型的工作模型是一个循环的模型。的模型。1.1.快速分析快速分析 快速确定软件系统的快速确定软件系统的基本要求,确定原型所要体现的特征基本要求,确定原型所要体现的特征( (界面、总体结构、功能、性能界面、总体结构、功能、性能) )。2.2.构造原型构造原型 考虑主要特征,快速考虑主要特征,快速构造一个可运行的系统。有三类原型:构造一个可运行的系统。有三类原型:用户界面原型、功能原型、性能原型。用户界面原型、功能原型、性能原型。3.3.运行和评价原型运行和评价原型 4.4.修改与改进修改与改进原型化工作模型运行运行评价
21、评价构造构造快速分析修改快速分析修改速成原型模型速成原型模型 也称为基于知识的软件开发模型,是知识工程也称为基于知识的软件开发模型,是知识工程与软件工程相结合的软件开发模型。与软件工程相结合的软件开发模型。获取需求获取需求需求分析需求分析具体描述具体描述优化优化程序程序调整调整验证验证维护维护知识库知识库专家系统专家系统程序程序智能模型软件开发的目标是要在规定的投资和时间内,软件开发的目标是要在规定的投资和时间内,开发出符合用户需求、高质量的软件,为此需要开发出符合用户需求、高质量的软件,为此需要有成功的开发方法。有成功的开发方法。 面向过程的开发方法面向过程的开发方法 面向对象的开发方法面向
22、对象的开发方法 基于构件的开发方法基于构件的开发方法 是现有的软件开发方法中最成熟,应用最广泛的是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。方法,主要特点是快速、自然和方便。 结构化方法总的指导思想是自顶向下、逐步求精。结构化方法总的指导思想是自顶向下、逐步求精。它的基本原则是功能的分解与抽象。它的基本原则是功能的分解与抽象。 结构化程序设计方法结构化程序设计方法 SP法(法(Structured Program) 结构化设计方法结构化设计方法 SD法(法(Structured Design) 结构化分析方法结构化分析方法 SA法(法(Structured An
23、alysis) SA、SD、SP 法相互衔接,形成了法相互衔接,形成了一整套开发方法。一整套开发方法。什么是原型化方法什么是原型化方法原型原型是软件的一个早期是软件的一个早期的版本,它的版本,它反映了最终系统的部分重要特性。反映了最终系统的部分重要特性。原型化方法的基本思想是花费少量代价建立一原型化方法的基本思想是花费少量代价建立一个可运行的系统,使用户及早获得学习的机会。个可运行的系统,使用户及早获得学习的机会。 原型化方法又称速成原型法(原型化方法又称速成原型法(Rapid Prototyping)。)。 1. 废弃(废弃(throw away)型)型 )快速建)快速建立需求规格原型。立需
24、求规格原型。 2. 追加(追加(add on)型)型法。采用循环渐进的开发方式,对系统模法。采用循环渐进的开发方式,对系统模型作连续精化。型作连续精化。YYNNYN细化的快速原型模型图2 细化的快速原型模型快速分析或修改快速分析或修改评价评价构造构造运运 行行 对大型软件对大型软件,需要多个原型描述系统的生存周期,需要多个原型描述系统的生存周期,螺旋螺旋模型将瀑布模型与原型化模型结合起来模型将瀑布模型与原型化模型结合起来, ,并加入了风险分析并加入了风险分析。 螺旋模型将开发过程螺旋模型将开发过程分为几个螺旋周期,每分为几个螺旋周期,每个螺旋周期可分为个螺旋周期可分为4 4个工个工作步骤:作步
25、骤: 第一,确定目标、方案第一,确定目标、方案和限制条件;和限制条件; 第二,评估方案、标识第二,评估方案、标识风险和解决风险;风险和解决风险; 第三,开发确认产品;第三,开发确认产品; 第四,计划下一周期工第四,计划下一周期工作。作。(Object-Oriented Software Development)是)是20世纪世纪80年代推出的一种全新年代推出的一种全新的软件开发方法。非常实用而强有力,被誉为软的软件开发方法。非常实用而强有力,被誉为软件开发的核心技术之一。件开发的核心技术之一。 其基本思想是:其基本思想是:对问题领域进行自然的分割,对问题领域进行自然的分割,以更接近人类通常思维
26、的方式建立问题领域的模以更接近人类通常思维的方式建立问题领域的模型,以便对客观的信息实体进行结构和行为的模型,以便对客观的信息实体进行结构和行为的模拟,从而使设计的软件更直接地表现问题的求解拟,从而使设计的软件更直接地表现问题的求解过程。面向对象的开发方法以对象作为最基本的过程。面向对象的开发方法以对象作为最基本的元素,是分析和解决问题的核心。元素,是分析和解决问题的核心。 OOSD由三部分组成:由三部分组成: OOA(Object-Oriented Analysis)面向对象的分析面向对象的分析 OOD(Object-Oriented Design)面向对象的设计面向对象的设计 OOP (O
27、bject-Oriented Program)面向对象的程序设计面向对象的程序设计OOAOOA强调的是对一个系统中的对象特征和行强调的是对一个系统中的对象特征和行为的定义。用于建立系统的三类模型。为的定义。用于建立系统的三类模型。OODOODOOD与与OOA密密切配合顺序实现对现实世界的进切配合顺序实现对现实世界的进一步建模。一步建模。OOPOOPOOP是面向对象的技术中发展最快的,使用是面向对象的技术中发展最快的,使用面向对象的程序设计语言进行编码。面向对象的程序设计语言进行编码。分分 析析系统系统 设计设计软件软件 设计设计实实 现现喷泉模型该模型是由该模型是由B.H.SollersB.H
28、.Sollers和和J.M.EdwardsJ.M.Edwards于于19901990年提出。它克年提出。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性、适宜面向对象的方法。泉模型使开发过程具有迭代性和无间隙性、适宜面向对象的方法。 其特点如下:其特点如下: . . 开发过程包括分析、系统设计、开发过程包括分析、系统设计、软件设计和实现软件设计和实现4 4个阶段。个阶段。 . .各阶段相互重叠,它反映了软件过各阶段相互重叠,它反映了软件过程并行性的特点。程并行性的特点。 . .以分析为基础,资源消耗成塔形。以分析为基础,资源消耗成塔形。 . .反映了软件过程迭代性的自然特性,反映了软件过程迭代性的自然特性,从高层返回低层无资源消耗。从高层返回低层无资源消耗。 . .强调增量开发,整个过程是一个迭强调增量开发,整个过程是一个迭代的逐步提炼的过程。代的逐步提炼的过程。 面向对象的方法的代表性成果有:面向对象的方法的代表性成果有:1. B. Henderson-sellers 和和 J. M. Edwards提出的面向对象软提出的面向对象软件生存周期喷泉模型及面向对象的系统开发方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 好玩的角色扮演作文课件
- 2025年注册城乡规划师复习题《城乡规划相关知识》测复习题及答案
- 数字化赋能:D公司上门维修远程派单流程革新与效率提升
- 2025年社会工作者之初级社会工作实务过关检测试卷附答案
- 2025年专利代理人资格复习题实务测复习题与参考答案
- 数字化浪潮下企业信息系统协同管理的多维探索与实践
- 数字化浪潮下IT服务管理在商品交易所的创新实践与变革
- 2025 高中阅读理解之心理细节展现技巧课件
- 2025年前台问询礼仪模拟题
- 中医院移动护理应用方案
- 精神卫生法知识课件
- 2025年包头钢铁职业技术学院单招职业适应性考试模拟测试卷附答案
- 楼顶发光字施工组织设计方案
- 2026年江苏建筑职业技术学院单招职业倾向性测试题库及答案详解1套
- 外墙镀锌穿孔板施工方案
- 经济学的思维方式全套课件
- 郑钦文事迹介绍
- 2025年中国卫浴行业发展研究报告
- 植保无人机作业课件
- 大棚螺旋桩施工方案
- 2025年中国烟草内蒙古应届高校毕业生招聘(申论)练习题及答案
评论
0/150
提交评论