欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    软件工程新技术.ppt

    • 资源ID:235716       资源大小:1.42MB        全文页数:54页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程新技术.ppt

    1,软件工程新技术,2,软件工程新技术报告提纲,一、面向对象与统一建模语言二、软件过程改进与能力成熟度模型三、构件与软件重用四、模式与构架,3,一、面向对象与统一建模语言,面向对象(Object-Oriented)方法形成最初是从面向对象程序设计语言开始的。第一个OO语言是20世纪60年代末挪威奥斯陆大学和挪威计算中心共同研制的Simula。到20世纪80年代中期,OO语言达数十种之多。,4,一、面向对象与统一建模语言,20世纪80年代中期,面向对象分析(OOA)的研究开始发展,进而延伸到面向对象设计(OOD)。90年代以后,OOA/OOD方法逐渐走向实用,形成OO开发方法:,5,一、面向对象与统一建模语言,什么是建模和可视化建模?,6,一、面向对象与统一建模语言,一些专家按照OO思想,对系统分析和设计工作的步骤、方法、图形工具等进行了详细的研究,提出了许多不同的实施方案。比较著名和流行的有Coad/Yourdon方法、Booch方法和Rumbaugh的OMT方法。OMT方法把分析时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型。,7,一、面向对象与统一建模语言,对象模型是三个模型中最关键的一个模型,它的作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作,及它们之间的关系。,8,一、面向对象与统一建模语言,动态模型由多个状态图组成。,9,一、面向对象与统一建模语言,功能模型由多个数据流图组成,它们指明从外部输入,通过操作和内部存储,直到外部输出,这整个的数据流情况。,10,一、面向对象与统一建模语言,UML(Unified Modeling Language)是下面这些最好的建模方法中最好部分的集成:数据建模的概念(E-R模型)商务流程模型(Work Flow)对象建模方法软构件建模思想 UML是一种用可视化方法对软件系统进行描述、实施和说明的标准语言。支持用不同实现技术进行的软件开发全过程。,11,一、面向对象与统一建模语言,UML的历史,12,一、面向对象与统一建模语言,UML的组成,13,一、面向对象与统一建模语言,UML支持用于系统开发,Classes,application partitioning,Business Objects,Relationships,Business Process,Objects,Use Cases,large scale system,Scenarios,ComponentsMicrosoft,ActiveX/COMMicrosoft,ORDBMSOracle,CORBAOMG,14,一、面向对象与统一建模语言,15,二、软件过程改进与能力成熟度模型,软件过程(Software Process)是人们建立、维护和进化软件产品整个过程中所有技术活动和管理活动的集合。从1984年起每年有软件过程国际研讨会(ISPW),从1991年起开始召开软件过程国际会议(ICSP),每个国家几乎都有自己的软件过程改进网络(SPIN)。主要研究方向:软件过程分析和建模、软件过程支持、软件过程评估和改进。,16,二、软件过程改进与能力成熟度模型,RUP软件过程 XP软件过程 敏捷软件过程 CMM软件过程 PSP个体软件过程 TSP群组软件过程,17,二、软件过程改进与能力成熟度模型,Rational Unified Process(RUP)是Rational公司的一个软件过程产品,其初始版本为5.0,先后经历了5.1、5.1.1、5.5等版本直到最新的Rational Unified Process 2000版本。RUP将项目管理、商业建模、分析与设计等统一起来,贯穿整个开发过程。RUP采用Internet技术,可以增强团队的开发效率,并为所有成员提供最佳的软件实现方案。,基于RUP的软件过程,18,二、软件过程改进与能力成熟度模型,基于RUP的软件过程,19,二、软件过程改进与能力成熟度模型,基于RUP的软件过程,20,二、软件过程改进与能力成熟度模型,基于XP的软件过程,Kent Beck于1997年在Extreme Programming Explained Embrace Change中提出 一种高度动态的过程,它通过非常短的迭代周期来应对软件开发中的变化 强调有效测试和演化设计,21,二、软件过程改进与能力成熟度模型,基于XP的软件过程,Kent Beck于1997年在Extreme Programming Explained Embrace Change中提出 一种高度动态的过程,它通过非常短的迭代周期来应对软件开发中的变化 强调有效测试和演化设计,22,二、软件过程改进与能力成熟度模型,基于XP的软件过程,什么时候需要XP?需求不明确、变化快 高风险:在特定的时间内,面对一个相当难开发的系统 中小型团队(人数不超过10 个),23,二、软件过程改进与能力成熟度模型,基于XP的软件过程,XP项目的状态图,24,二、软件过程改进与能力成熟度模型,基于XP的软件过程,XP的计划反馈循环,25,二、软件过程改进与能力成熟度模型,敏捷软件过程,敏捷(agility)软件过程是Aoyama在1998年提出来的。基于时间的、并行的、分布的、演化的快速软件开发过程。,26,二、软件过程改进与能力成熟度模型,敏捷软件过程,27,二、软件过程改进与能力成熟度模型,软件能力成熟度模型(SW-CMM),80年代,在美国国防部资助下,由卡内基梅隆大学软件工程研究所(CMU/SEI)建立,用于评价软件开发组织的软件过程能力成熟度。1991年,CMM1.0版;1993年,CMM 1.1版 软件过程能力:遵循一个软件过程后能够得到的预期结果的界限范围。该指标是对能力的一种衡量,用它可以预测一个组织在承接下一个软件项目时,所能期望得到的最可能的结果。,28,二、软件过程改进与能力成熟度模型,软件能力成熟度模型(SW-CMM),软件过程成熟度:指一个具体的软件过程被明确地定义、管理、评价、控制和产生实效的程度。成熟度包含着能力的一种潜力,同时也表明了组织实施软件过程的实际水平。关键过程域:是一组相互关联的活动,实现一组对建立过程能力至关重要的目标。规定每一个关键过程域属于某个成熟度级别。每个关键过程域由SEI标识为一个基本结构单元域,以帮助确定机构的软件过程能力和了解要达到软件成熟度级别所需要的过程改进。,29,二、软件过程改进与能力成熟度模型,软件能力成熟度模型(SW-CMM),30,二、软件过程改进与能力成熟度模型,软件能力成熟度模型(SW-CMM),31,二、软件过程改进与能力成熟度模型,软件能力成熟度模型,32,二、软件过程改进与能力成熟度模型,个体软件过程(PSP),PSP是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。,33,二、软件过程改进与能力成熟度模型,个体软件过程(PSP),PSP保障软件产品质量的一个重要途径是提高设计质量。在软件设计阶段,PSP的着眼点在于软件缺陷的预防,其具体办法是强化设计结束准则,而不是设计方法的选择。统计数据表明,在应用了PSP后,软件中总的缺陷减少了58.0%,在测试阶段发现的缺陷减少了71.9%,生产效率提高了20.8%。,34,二、软件过程改进与能力成熟度模型,群组软件过程(TSP),指导项目组中的成员如何有效地规划和管理所面临的项目开发任务。告诉管理人员如何指导软件开发队伍始终以最佳状态来完成工作。TSP实施集体管理与自已管理自己相结合的原则,最终目的在于指导一切人员如何在最少的时间内,以预定的费用生产出高质量的软件产品。,35,二、软件过程改进与能力成熟度模型,群组软件过程(TSP),TSP比较适合规模为3-20人的开发小组。实施TSP的先决条件有三条:1、需要有高层主管和各级经理的支持,以取得必要的资源。2、项目组开发人员需要经过PSP的培训并有按TSP工作的愿望和热情。3、整个软件企业在总体上应处于CMM二级以上。,36,二、软件过程改进与能力成熟度模型,CMM/PSP/TSP,37,二、软件过程改进与能力成熟度模型,集成化过程改进(CMMI),工程系统越来越复杂 执行工程的方式发生了变化 各种模型之间的不协调,38,二、软件过程改进与能力成熟度模型,集成化过程改进(CMMI),CMMI是由美国产业界、政府和CMU/SEI共同主持的项目,于1998年启动,2002年1月11日正式发布CMMI 1.1版。CMMI参照CMM模型,也是分成五个等级。,39,三、构件与软件重用,软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需要分析文档甚至领域知识。通常将这些软件元素称为软构件。简单地说,构件是具有一定的功能,能够独立工作或能同其它构件装配起来协调工作的程序体,构件的使用同他的开发、生产无关。,40,三、构件与软件重用,横向重用是指重用不同应用领域中的软件元素,例如数据结构、分类算法、人机界面构件等。标准函数库是一种典型的、原始的横向重用机制。纵向重用是指在一类具有较多公共性的应用领域之间进行软部件重用。,41,三、构件与软件重用,降低费用、提高复用性、提高可定制性和适应性、提高可维护性。至今,构件技术已形成三个流派:Sun的Java平台、Microsoft的COM+、IBM的CORBA。,42,三、构件与软件重用,43,四、模式与构架,软件体系结构(Software architecture)的定义:1997年,Bass,Clements etc.使用软件体系结构:一个程序或计算机系统的软件体系结构包括一个或一组软件部件、软件部件的外部的可见特性及其相互关系。定义了软件部件;一个系统可以包括多于一个结构;系统可看作是由软件部件及其相互关系组成;每一部件的行为都是体系结构的一部分;基本单位是部件。,44,四、模式与构架,经典的软件体系结构模式:管道和过滤器 数据抽象和面向对象组织 基于事件的隐式调用 分层系统 仓库系统及知识库 表格驱动的解释器 过程控制 其他类型的体系结构 异构结构,45,四、模式与构架,客户机/服务器模式,Client/Server(客户机/服务器)结构,是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术。C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。,46,四、模式与构架,客户机/服务器模式,开发成本较高。C/S 体系结构对客户端软硬件配置要求较高,增加了整个系统的成本。客户端程序设计复杂。大部分工作量放在客户端的程序设计上,客户端显得十分庞大。软件移植困难。采用不同开发工具或平台开发的软件,一般互不兼容,不能或很难移植到其它平台上运行。软件维护和升级困难。对软件的一个小小改动,每一个客户端都必须更新。,47,四、模式与构架,浏览器/服务器模式,Browser/Server(浏览器/服务器)结构是随着Internet技术的兴起,对C/S体系结构的一种变化或者改进的结构。在B/S体系结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。节约了开发成本,系统安装、修改和维护全在服务器端解决。真正达到了“零客户端”的功能,很容易在运行时自动升级。,48,四、模式与构架,浏览器/服务器模式,B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。B/S体系结构的系统扩展能力差,安全性难以控制。在数据查询等响应速度上,要远远地低于C/S体系结构。数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。,49,四、模式与构架,C/S与B/S混合模式,内外有别,50,四、模式与构架,C/S与B/S混合模式,查改有别,51,四、模式与构架,三层结构模式,52,四、模式与构架,三层结构模式,允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。,53,四、模式与构架,三层结构模式,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。使之能并行地而且是高效地进行开发,达到较高的性能价格比;对每一层的处理逻辑的开发和维护也会更容易些。允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,这就为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理和可控制。,54,谢谢大家!,

    注意事项

    本文(软件工程新技术.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开