软件工程新技术_第1页
软件工程新技术_第2页
软件工程新技术_第3页
软件工程新技术_第4页
软件工程新技术_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、12002.12.234现实世界为对象世界OOAOOPOOD5商务过程商务过程订货订货物品物品运输运输建模是为了捕捉、描述系统的核心建模是为了捕捉、描述系统的核心. Dr. James Rumbaugh计算机系统计算机系统可视化建模就是用标准的图可视化建模就是用标准的图示化方法来进行建模工作示化方法来进行建模工作什么是建模和可视化建模?什么是建模和可视化建模?6 OMT OMT方法方法把分析时收集的信息构造在三类模型中把分析时收集的信息构造在三类模型中,即,即对象模型对象模型、功能模型功能模型和和动态模型动态模型。7 对象模型对象模型8动态模型动态模型由多个状态图组成。由多个状态图组成。9 功

2、能模型功能模型由多个数据流图组成,它们指明从外部由多个数据流图组成,它们指明从外部输入,通过操作和内部存储,直到外部输出,这整个输入,通过操作和内部存储,直到外部输出,这整个的数据流情况。的数据流情况。10UMLUML( Unified Modeling LanguageUnified Modeling Language)是下面是下面这些这些最好最好的建模方法中的建模方法中最好最好部分的集成:部分的集成:数据建模的概念数据建模的概念( (E-RE-R模型模型) )商务流程模型商务流程模型( (Work Flow)Work Flow)对象建模方法对象建模方法软构件建模思想软构件建模思想 UML

3、UML是一种用可视化方法对软件系统进行描述是一种用可视化方法对软件系统进行描述、实施和说明的标准语言。、实施和说明的标准语言。支持用不同实现技术进行的软件开发全过程。支持用不同实现技术进行的软件开发全过程。111213UMLUML支持用于系统开发支持用于系统开发Classesapplication partitioningBusiness ObjectsRelationshipsBusiness ProcessObjectsUse Caseslarge scale systemScenariosComponentsMicrosoftActiveX/COMMicrosoftORDBMSOracl

4、eCORBAOMG14Use CaseDiagramsUse CaseDiagrams用例图用例图ScenarioDiagramsScenarioDiagrams协作图协作图StateDiagramsStateDiagrams组件图组件图ComponentDiagramsComponentDiagrams分布图分布图StateDiagramsStateDiagrams对象图对象图ScenarioDiagramsScenarioDiagrams状态图状态图Use CaseDiagramsUse CaseDiagrams时序图时序图StateDiagramsStateDiagrams类图类图活动图

5、活动图15软件过程软件过程( (Software Process)Software Process)是人们建立、维护和是人们建立、维护和进化软件产品整个过程中所有技术活动和管理活动进化软件产品整个过程中所有技术活动和管理活动的集合。的集合。从从19841984年起每年有软件过程国际研讨会年起每年有软件过程国际研讨会( (ISPW)ISPW),从从19911991年起开始召开软件过程国际会议年起开始召开软件过程国际会议( (ICSP)ICSP),每个每个国家几乎都有自己的软件过程改进网络国家几乎都有自己的软件过程改进网络( (SPIN)SPIN)。主要研究方向:软件过程分析和建模、软件过程支主要

6、研究方向:软件过程分析和建模、软件过程支持、软件过程评估和改进持、软件过程评估和改进16RUPRUP软件过程软件过程XPXP软件过程软件过程敏捷软件过程敏捷软件过程CMMCMM软件过程软件过程PSPPSP个体软件过程个体软件过程TSPTSP群组软件过程群组软件过程17Rational Unified Process(RUP)Rational Unified Process(RUP)是是RationalRational公司公司的一个软件过程产品,其初始版本为的一个软件过程产品,其初始版本为5.0,5.0,先后经历先后经历了了5.15.1、.1、5.55.5等版本直到最新的等版本直

7、到最新的Rational Rational Unified Process 2000Unified Process 2000版本。版本。 RUP RUP将项目管理、商业建模、分析与设计等统一起将项目管理、商业建模、分析与设计等统一起来来, ,贯穿整个开发过程。贯穿整个开发过程。 RUP RUP采用采用InternetInternet技术技术, ,可以增强团队的开发效率可以增强团队的开发效率, ,并为所有成员提供最佳的软件实现方案。并为所有成员提供最佳的软件实现方案。181920Kent BeckKent Beck于于19971997年年在在Extreme Programming Extreme

8、 Programming Explained Embrace ChangeExplained Embrace Change中提出中提出一种高度动态的过程,它通过非常短的迭代周期来一种高度动态的过程,它通过非常短的迭代周期来应对软件开发中的变化应对软件开发中的变化强调有效测试和演化设计强调有效测试和演化设计21Kent BeckKent Beck于于19971997年年在在Extreme Programming Extreme Programming Explained Embrace ChangeExplained Embrace Change中提出中提出一种高度动态的过程,它通过非常短的迭代

9、周期来一种高度动态的过程,它通过非常短的迭代周期来应对软件开发中的变化应对软件开发中的变化强调有效测试和演化设计强调有效测试和演化设计22什么时候需要什么时候需要XPXP?需求不明确、变化快需求不明确、变化快高风险:在特定的时间内,面对一个相当难高风险:在特定的时间内,面对一个相当难开发的系统开发的系统 中小型团队(人数不超过中小型团队(人数不超过10 10 个)个) 23XP项目的状态图项目的状态图24XP的的计计划划反反馈馈循循环环25敏捷敏捷( (agility)agility)软件过程是软件过程是AoyamaAoyama在在19981998年提出年提出来的。来的。 基于时间的、并行的、

10、分布的、演化的快速软基于时间的、并行的、分布的、演化的快速软件开发过程。件开发过程。2627 8080年代,在美国国防部资助下,由卡内基梅隆大年代,在美国国防部资助下,由卡内基梅隆大学软件工程研究所(学软件工程研究所(CMU/SEICMU/SEI)建立,用于评价软建立,用于评价软件开发组织的软件过程能力成熟度。件开发组织的软件过程能力成熟度。19911991年,年,CMM1.0CMM1.0版版;1993;1993年,年,CMM 1.1CMM 1.1版版软件过程能力:遵循一个软件过程后能够得到的软件过程能力:遵循一个软件过程后能够得到的预期结果的界限范围。该指标是对能力的一种衡预期结果的界限范围

11、。该指标是对能力的一种衡量,用它可以预测一个组织在承接下一个软件项量,用它可以预测一个组织在承接下一个软件项目时,所能期望得到的最可能的结果。目时,所能期望得到的最可能的结果。28软件过程成熟度:指一个具体的软件过程被明确软件过程成熟度:指一个具体的软件过程被明确地定义、管理、评价、控制和产生实效的程度。地定义、管理、评价、控制和产生实效的程度。成熟度包含着能力的一种潜力,同时也表明了组成熟度包含着能力的一种潜力,同时也表明了组织实施软件过程的实际水平。织实施软件过程的实际水平。关键过程域:是一组相互关联的活动,实现一组关键过程域:是一组相互关联的活动,实现一组对建立过程能力至关重要的目标。规

12、定每一个关对建立过程能力至关重要的目标。规定每一个关键过程域属于某个成熟度级别。每个关键过程域键过程域属于某个成熟度级别。每个关键过程域由由SEISEI标识为一个基本结构单元域,以帮助确定机标识为一个基本结构单元域,以帮助确定机构的软件过程能力和了解要达到软件成熟度级别构的软件过程能力和了解要达到软件成熟度级别所需要的过程改进。所需要的过程改进。29初 始 级 可 重 复 级 已 管 理 级 已 定 义 级 优 化 级 成成 熟熟 度度 风风 险险 30初 始 级 可 重 复 级 已 管 理 级 已 定 义 级 优 化 级 纪律化的过程纪律化的过程标准一致的过程标准一致的过程可预测的过程可预测

13、的过程不断改进的过程不断改进的过程31初始级初始级可重复级可重复级需求管理、软件项目计划、软件项目跟踪与监控需求管理、软件项目计划、软件项目跟踪与监控软件子合同管理、软件质量保证、软件配置管理软件子合同管理、软件质量保证、软件配置管理已定义级已定义级集成软件管理、组间协调、组织过程焦点集成软件管理、组间协调、组织过程焦点组织过程定义、培训程序、软件产品工程组织过程定义、培训程序、软件产品工程同级评审同级评审可管理级可管理级定量过程管理、软件质量管理定量过程管理、软件质量管理优化级优化级技术改革管理、过程技术改革管理、过程变更管理、缺陷防范变更管理、缺陷防范32PSPPSP是一种可用于控制、管理

14、和改进个人工作方是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。格、指南和规程的结构化框架。 PSPPSP与具体的技术(程序设计语言、工具或者设与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。的软件工程任务之中。33PSPPSP保障软件产品质量的一个重要途径是提高设保障软件产品质量的一个重要途径是提高设计质量。计质量。在软件设计阶段,在软件设计阶段,PSPPSP的着眼点在于的着眼点在于软件缺陷的软件缺

15、陷的预防预防,其具体办法是强化设计结束准则,而不是,其具体办法是强化设计结束准则,而不是设计方法的选择。设计方法的选择。统计数据表明,在应用了统计数据表明,在应用了PSPPSP后,软件中总的缺后,软件中总的缺陷减少了陷减少了58.0%58.0%,在测试阶段发现的缺陷减少了,在测试阶段发现的缺陷减少了71.9%71.9%,生产效率提高了,生产效率提高了20.8%20.8%。34指导项目组中的成员如何有效地规划和管理所面指导项目组中的成员如何有效地规划和管理所面临的项目开发任务。临的项目开发任务。告诉管理人员如何指导软件开发队伍始终以最佳告诉管理人员如何指导软件开发队伍始终以最佳状态来完成工作。状

16、态来完成工作。 TSP TSP实施集体管理与自已管理自己相结合的原则,实施集体管理与自已管理自己相结合的原则,最终目的在于指导一切人员如何在最少的时间内,最终目的在于指导一切人员如何在最少的时间内,以预定的费用生产出高质量的软件产品。以预定的费用生产出高质量的软件产品。35TSPTSP比较适合规模为比较适合规模为3-203-20人的开发小组。实施人的开发小组。实施TSPTSP的先决条件有三条:的先决条件有三条: 1 1、需要有高层主管和各级经理的支持,以取得、需要有高层主管和各级经理的支持,以取得必要的资源。必要的资源。 2 2、项目组开发人员需要经过、项目组开发人员需要经过PSPPSP的培训

17、并有按的培训并有按TSPTSP工作的愿望和热情。工作的愿望和热情。 3 3、整个软件企业在总体上应处于、整个软件企业在总体上应处于CMMCMM二级以上。二级以上。3637工程系统越来越复杂工程系统越来越复杂执行工程的方式发生了变化执行工程的方式发生了变化 各种模型之间的不协调各种模型之间的不协调38CMMICMMI是由美国产业界、政府和是由美国产业界、政府和CMU/SEICMU/SEI共同主共同主持的项目,于持的项目,于19981998年启动,年启动,20022002年年1 1月月1111日正日正式发布式发布CMMI 1.1CMMI 1.1版。版。39软件重用是指在两次或多次不同的软件开发过程

18、软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。软件元中重复使用相同或相似软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过素包括程序代码、测试用例、设计文档、设计过程、需要分析文档甚至领域知识。通常将这些软程、需要分析文档甚至领域知识。通常将这些软件元素称为软构件。件元素称为软构件。 简单地说,构件是具有一定的功能,能够独立工简单地说,构件是具有一定的功能,能够独立工作或能同其它构件装配起来协调工作的程序体,作或能同其它构件装配起来协调工作的程序体,构件的使用同他的开发、生产无关。构件的使用同他的开发、生产无关。4041降低费用、提高复用性、提高可

19、定制性和适应性、降低费用、提高复用性、提高可定制性和适应性、提高可维护性。提高可维护性。至今至今, 构件技术已形成三个流派构件技术已形成三个流派:Sun的的Java平台、平台、Microsoft的的COM+、IBM的的CORBA。 4243软件体系结构软件体系结构(Software architecture)的定义:的定义: 1997年,年,Bass,Clements etc.使用软件体系使用软件体系结构:一个程序或计算机系统的软件体系结构结构:一个程序或计算机系统的软件体系结构包括一个或一组软件部件、软件部件的外部的可包括一个或一组软件部件、软件部件的外部的可见特性及其相互关系。见特性及其相

20、互关系。 定义了软件部件;一个系统可以包括多于一个结定义了软件部件;一个系统可以包括多于一个结构;系统可看作是由软件部件及其相互关系组成;构;系统可看作是由软件部件及其相互关系组成;每一部件的行为都是体系结构的一部分;基本单每一部件的行为都是体系结构的一部分;基本单位是部件。位是部件。44经典的软件体系结构模式:经典的软件体系结构模式: 管道和过滤器管道和过滤器 数据抽象和面向对象组织数据抽象和面向对象组织 基于事件的隐式调用基于事件的隐式调用 分层系统分层系统 仓库系统及知识库仓库系统及知识库 表格驱动的解释器表格驱动的解释器 过程控制过程控制 其他类型的体系结构其他类型的体系结构 异构结构

21、异构结构45客户机客户机/ /服务器模式服务器模式Client/Server (Client/Server (客户机客户机/ /服务器服务器) )结构,是基于结构,是基于资源不对等,且为实现共享而提出来的,是资源不对等,且为实现共享而提出来的,是2020世世纪纪9090年代成熟起来的技术。年代成熟起来的技术。 C/S C/S结构将应用一分为二,服务器(后台)负责结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任数据管理,客户机(前台)完成与用户的交互任务。务。 C/S C/S 体系结构具有强大的数据操作和事务处理体系结构具有强大的数据操作和事务处理能力,模型思想简

22、单,易于人们理解和接受。能力,模型思想简单,易于人们理解和接受。46客户机客户机/ /服务器模式服务器模式开发成本较高。开发成本较高。C/S C/S 体系结构对客户端软硬件体系结构对客户端软硬件配置要求较高,增加了整个系统的成本。配置要求较高,增加了整个系统的成本。客户端程序设计复杂。大部分工作量放在客户客户端程序设计复杂。大部分工作量放在客户端的程序设计上,客户端显得十分庞大。端的程序设计上,客户端显得十分庞大。软件移植困难。采用不同开发工具或平台开发的软件移植困难。采用不同开发工具或平台开发的软件,一般互不兼容,不能或很难移植到其它平软件,一般互不兼容,不能或很难移植到其它平台上运行。台上

23、运行。软件维护和升级困难。对软件的一个小小改动软件维护和升级困难。对软件的一个小小改动, ,每一个客户端都必须更新。每一个客户端都必须更新。47浏览器浏览器/ /服务器模式服务器模式Browser/Server(Browser/Server(浏览器浏览器/ /服务器服务器) )结构是随着结构是随着InternetInternet技术的兴起,对技术的兴起,对C/SC/S体系结构的一种变体系结构的一种变化或者改进的结构。化或者改进的结构。在在B/SB/S体系结构下,用户界面完全通过体系结构下,用户界面完全通过WWWWWW浏览浏览器实现,一部分事务逻辑在前端实现,但是主要器实现,一部分事务逻辑在前端

24、实现,但是主要事务逻辑在服务器端实现。事务逻辑在服务器端实现。节约了开发成本,系统安装、修改和维护全在节约了开发成本,系统安装、修改和维护全在服务器端解决。真正达到了服务器端解决。真正达到了“零客户端零客户端”的功能,的功能,很容易在运行时自动升级。很容易在运行时自动升级。48浏览器浏览器/ /服务器模式服务器模式B/SB/S体系结构缺乏对动态页面的支持能力,没有体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。集成有效的数据库处理功能。 B/S B/S体系结构的系统扩展能力差,安全性难以控体系结构的系统扩展能力差,安全性难以控制。制。在数据查询等响应速度上,要远远地低于在数据查询等响应速度上,要远远地低于C/SC/S体体系结构。系结构。 数据提交一般以页面为单位,数据的动态交互数据提交一般以页面

温馨提示

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

评论

0/150

提交评论