高级软件工程01(概述、DOT与对象模型).ppt

上传人:小飞机 文档编号:6358501 上传时间:2023-10-20 格式:PPT 页数:42 大小:222.99KB
返回 下载 相关 举报
高级软件工程01(概述、DOT与对象模型).ppt_第1页
第1页 / 共42页
高级软件工程01(概述、DOT与对象模型).ppt_第2页
第2页 / 共42页
高级软件工程01(概述、DOT与对象模型).ppt_第3页
第3页 / 共42页
高级软件工程01(概述、DOT与对象模型).ppt_第4页
第4页 / 共42页
高级软件工程01(概述、DOT与对象模型).ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《高级软件工程01(概述、DOT与对象模型).ppt》由会员分享,可在线阅读,更多相关《高级软件工程01(概述、DOT与对象模型).ppt(42页珍藏版)》请在三一办公上搜索。

1、高级软件工程,北京大学计算机科学与技术系硕士研究生课程,主讲教师:王千祥,课 程 介 绍,1、概述(1学时)课程内容设置背景与依据2、软件构件(分布式对象)模型(20学时)(1)CORBA(11)(2)COM(9)3、软件体系结构(12学时)(1)体系结构(6)(2)OMA(3)(3)DNA(3)4、软件建模(开发过程与结果)(15学时)(1)use case(3)(2)class(6)(3)sequence(6),一、授课内容与方式,5、其它话题(6学时)(1)软件复用 领域工程、应用工程、再工程(2)工程管理(CMM).,二、实习内容与方式 分成两组,每人分别针对不同的领域,利用CORBA

2、 或者DCOM开发一个小系统,鼓励多人协作开发。,三、成绩计算方法1、自学材料,提交反馈意见与报告。20分2、开发实习,提交程序及文档。30分3、期末笔试,提交答卷。50分,四、参考文献1、OMG,The Common Object Request Broker:Architecture and Specification,v2.31,1999.10。2、潘爱民,COM原理与应用,清华大学出版社,1999年11月。3、Mary Shaw,David Garlan,Software Architecture,Prentice Hall,1996。4、OMG,Unified Modeling La

3、nguage Specification,v1.3,1999年6月。,1、4可以从 www.omg.org 或者 下载2、3可以从书店购买。,5、邵维忠,杨芙清,面向对象的系统分析,清华大学出 版社,1999年。6、王立福,张世琨,朱冰,软件工程,北京大学出版社,1997年。7、周之英,现代软件工程,科学出版社,1999年9月。8、Thomas J.Mowbray,William A.Ruh,INSIDE CORBA,ADDISON-WESLEY,1997。9、Ivar Jacobson,Grady Booch,James Rumbaugh,“Unified Software Developi

4、ng Process”,Addison-Wesley,1999.9。10、Mark C.Paulk,Bill Curtis,Mary Beth Chrissis,Charles V.Weber,Capability Maturity Model for Software,Version 1.1,CMU/SEI-93-TR-024,1993。,今日作业:在课程内容侧重点授课方式 等方面提出建设性建议 并阐述理由提交方式:电子邮件,TO:,第一章 概 述,1、软件发展现状 2、软件发展趋势3、现有软件标准4、软件工程研究范围的扩展,1、软件发展现状(1)已经存在大量正在运行的软件 金融、电信、航空

5、航天等(2)软件的应用范围不断扩大商务、交通、家电等,“无处不在的软件”(3)软件的规模与复杂性持续增加越来越多的知识正在由软件进行显式表达(4)出现了大量与软件相关的标准(3)的需求(5)软件危机仍然存在(软件脱节)1968-2000,2、软件发展趋势(1)遗留软件将继续发挥作用(2)软件应用范围将继续扩大,成为信息社会的物理设施(3)网络化软件将是发展重点(4)软件的可靠性与安全性日趋重要(5)工业化生产是必由之路,3、与软件相关的各种标准(1)网络协议:ISO/OSI vs TCP/IP(2)软件构件:CORBA vs COM(3)建模语言:UML(4)数据访问:ODBC(5)工程管理:

6、CMM vs ISO(9001-3,15504),4、软件工程研究范围的扩展 软件工程:“确立并使用正确的工程原理和方法,以便能够经济地获得可靠而有效的软件”。Friedrich I.Bauer 原则(形式化、模块化等)方法与技术(过程及结果表示)开发方法(结果描述为主):结构化方法面向对象方法开发模型(过程描述为主):瀑布模型渐进(增量)模型螺旋模型喷泉模型 工具,高级软件工程:以传统软件工程研究内容为基础,以面向对象技术、网络计算技术、软件复用技术为核心 以CORBA、COM、UML标准等为主要参考 讨论、研究软件开发过程中需要关注的新焦点 新概念(原理):软件构件体系结构 新方法(技术)

7、:过程与结果软件复用与工程管理,分布计算技术,软件复用技术,传统软件工程,高级软件工程,概念与原理方法与技术 工具与环境,第二章 软件构件,本章 以分布对象为核心结合 CORBA与 COM介绍 运行级大粒度构件 的 概念与原理,什么是软件构件构件 是 系统中可以明确辨识的构成成分软件构件 是 软件系统中 具有一定意义的 独立构成成分可复用软件构件 是 可以被多个软件系统所复用的、具有 独立功能的软件系统构成成分构件是可以被直接复用的软件实体由构件接口与构件实现两部分组成,构件分类:纵向:系统级构件应用构件 共性面向领域 横向:界面构件(控件)业务构件数据访问构件本课程重点关注:应用构件 业务构

8、件 这样的构件与 分布对象技术中的构件(分布对象)概念 完全吻合,本 章 内 容一、分布对象技术发展过程二、CORBA三、COM四、不同实现技术的比较,一、分布对象技术发展过程 程序=算法+数据结构 软件=程序+文档 模块化是软件的规模与复杂性 发展到一定程度时产生的必然结果 关注焦点的不同,形成了不同的技术:数据与操作的封装 面向对象技术利用网络计算环境 分布计算技术利用已经开发出的代码 软件复用技术,不论哪种技术模块形式及模块之间的协作方式是关键问题 面向对象技术:对象对象之间的关联分布计算技术:不同节点上的运行程序及程序之间的通讯软件复用技术:软件构件软件构件的组装,从运行时刻不同模块所

9、处的进程考虑,两个模块之间存在如下三种关系:同一进程内部:子程序共享变量 同一机器的不同进程:操作系统提供进程间通讯 不同机器上:消息传递:TCP/IP 远程过程调用:RPC(DCE)模块化继续发展的结果之一即为 分布对象,分布对象技术是面向对象技术分布式计算(网络计算)技术软件复用技术 的结合 三者具有内在的一致性:自治、协作,分布对象技术的核心:分布对象模型,以及分布对象间的互操作分布对象技术的实现:OMG的CORBA 微软的DCOM,二、CORBA,本 节 内 容1、OMG与CORBA2、CORBA对象模型3、CORBA概述4、IDL5、ORB接口6、IR7、POA8、举例(9、CCM)

10、,1、OMG与CORBA(1)OMG(www.omg.org);成立于1989年4月固定成员很少不做开发:OMG不写任何代码致力于利用现有的技术进行应用系统的集成目前已经拥有超过1000个的成员:包括软件厂商、系统集成商以及最终用户,OMG与CORBA,总线,(2)如何使分布对象互操作 计算机硬件中的模块及互联方式:,OMG与CORBA,Object Services,Application Interfaces,Domain Interfaces,Common Facilities,OMG与CORBA,OMA:Object Management Architecture,OMG发布的与COR

11、BA相关的规范1、ORB CORBA:Common Object Request Broker Architecture and Specification2、Object ServicesCORBAservices:Common Object Services Specification.3、Common Facilities CORBAfacilities:Common Facilities Architecture,本章介绍CORBA的主要内容其它规范的部分内容将在第三章中进行介绍,OMG与CORBA,CORBA规范()内容第一部分:CORBA CORE第一章:对象模型,描述CORBA环

12、境中的计算模型第二章:CORBA 综述,描述ORB结构,以及接口、实现信息第三章:OMG IDL 词法与语义,描述 OMG IDL,IDL被用于 描述客户对象调用、对象实现提供的接口第四章:ORB 接口,定义ORB中不依赖于对象适配器的功能接口第五章:值类型语义,描述通过值传送对象的语义。第六章:抽象接口语义,解释一种抽象接口,它提供了延迟至 运行时刻决定对象由引用还是由值传送。,OMG与CORBA,第七章:动态调用接口(DII),客户端接口,允许动态创建并发出对象的请求。第八章:动态骨架接口(DSI),服务器端接口,可以从ORB 向对象实现发出请求,该实现体不具有它所实现对象 类型的编译知识

13、。第九章:Any Values的动态管理,描述动态Any Values 的接口。第十章:接口池,描述ORB的一个组成部分,它管理并提供对 对象定义集合的访问。第十一章:可移植对象适配器(POA),定义一组IDL接口,实现体用它们访问ORB功能。,OMG与CORBA,第二部分:CORBA 互操作第十二章:互操作综述第十三章:ORB 互操作体系结构第十四章:建立ORB间互操作的桥第十五章:General Inter-ORB Protocol(GIOP)第十六章:DCE ESIOP-Environment-Specific Inter-ORB Protocol(ESIOP),OMG与CORBA,第三

14、部分:CORBA 协作第十七章:协作体系结构第十八章:Mapping:COM and CORBA第十九章:Mapping:OLE Automation and CORBA第二十章:与非CORBA 系统互操作第二十一章:Interceptors,OMG与CORBA,第一章:CORBA对象模型第二章:CORBA 综述第三章:OMG IDL 第四章:ORB 接口第五章:值类型语义第六章:抽象接口语义第七章:动态调用接口第八章:动态骨架接口第九章:Any Values的动态管理第十章:接口池第十一章:可移植对象适配器(POA),本节主要讲述内容,应用程序具体开发步骤,2、CORBA对象模型(概念),客

15、户,对象(执行服务),以 客户/服务器模式 为 对象间互操作模型,CORBA对象模型,请求,对象实现 对象系统的实现执行请求服务所需的计算活动 这些活动可以包括计算请求的结果和更新系统状态 在这个过程中可能发出其它请求 实现模型包括两部分:执行模型和构造模型 执行模型描述如何执行服务 构造模型描述如何定义服务,(1)对象 符合传统对象的语义,具有封装、继承、多态等特点。“对象 是 可标识的封装实体,提供 客户可以请求的一个或多个 服务”。,CORBA对象模型,(2)请求(request)客户通过发出请求来请求服务。“从客户的初始化开始,至与该初始化因果相关的最后一个 事件之间的全部因果相关的事

16、件序列”。最后一个事件可能为:客户从服务器接收到与请求相关的最后响应。服务器在单向请求的情况下处理完相关操作。与请求相关的事件序列因失败而终止。与请求相关的信息包括:操作目标对象零个或多个(实际)参数以及可选的请求环境,CORBA对象模型,值(Value)任何可以作为合法请求(实)参数的皆可以是值。尤其是,一个值是一个OMG IDL数据类型的一个实例。对象引用(object reference)对象引用是可靠地指示一个特定对象的值。特别地,每次在请求中使用引用时,对象引用将标识相同的对象(受到某些空间和时间的实际限制)。对象可以由多个不同的对象引用指示。,CORBA对象模型,(3)类型(typ

17、e)类型是与一个定义在一组实体之上的谓词(结果为布尔 型的单参数数学函数)相关联的可标识实体。如果谓词对于 某个实体为真,那么该实体满足类型。满足类型的实体称为类型的成员。类型用于在签名(signature,基调、函数头)中对可 能的参数进行约束、特征化可能的返回结果。对象类型(object type)是成员为对象引用的类型。,CORBA对象模型,(4)操作(operation)一个操作是一个指示不可分割原语的可标识实体,该原语是可以被请求的服务体。请求一个操作的活动被称为调用(invoking,唤起)操作。一个操作是由操作标识符标识的。操作有一个描述请求参数合法值和返回值的签名。签名包括:请

18、求该操作时所需参数的规定 操作结果的规定 请求操作所引发例外处理的规定和它们附带的参数类型 可能影响请求的其它环境信息规定 客户预期从请求操作获得的执行语义指示,CORBA对象模型,操作签名的一般形式为:oneway(param1,.,paramL)raises(except1,.,exceptN)context(name1,.,nameM)其中:可选的oneway关键字指示对该操作的请求预期获得最佳效果语义;如果操作成功返回结果,则默认语义是只有一次,如果返回例外处理,则默认语义是最多一次。是返回结果的类型 为接口中的操作提供名称 操作所需的操作参数;它们以修饰符in、out或inout标记

19、,目的是指示信息流的方向(相对于执行请求的对象)可选的raises表达式指示可以引发的用户定义例外处理,它们用于终止对该操作的请求;如果没有提供这样的表达式,那么不会引发任何用户定义的例外处理 可选的context表达式指示将对对象实现有效的请求环境信息;没有其它信息需要与请求一起传送。,CORBA对象模型,(5)接口(interface)“接口是一组操作的描述,客户可以通过该接口向对象请求这些操作”。接口提供了句法描述,说明支持该接口的对象所提供服务的如何被访问。我们说一个对象满足一个接口,如果它按照操作的规约通过接口的操作提供其服务。一个给定接口的接口类型是一个对象类型,一个对象引用满足该

20、类型,当且仅当所引用的对象也满足该接口。接口是用OMG IDL指定的。接口继承提供的复合机制允许对象支持多个接口。,CORBA对象模型,值类型(value type)一个值类型是一个实体,同时具有接口与结构的许多特征。它是关于客户可能请求的操作集合与可以由客户访问的状态集合的描述。值类型实例总是某种编程语言中的本地实在实现体。值类型是用OMG IDL指定的。抽象接口(abstract interface)一个抽象接口是一个实体,在运行时可能表示一个通常的接口,也可能表示一个值类型。实体运行时刻的类型取决于它们使用的语义。,CORBA对象模型,(6)属性(attribute)属性是接口的一部分属性从逻辑上等价于声明一对辅助函数一个获取属性的值(set)一个设置属性的值(get)属性可以是只读的,CORBA对象模型,概念小结:对象(Object)请求(Request)类型(Type)接口(Interface)操作(Operation)属性(Attribute)Class?为什么不同的体系中概念存在不一致?视角不同、抽象层次不同OOP、OOD、OOA、运行?,CORBA对象模型,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号