




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目:1. 现代软件工程学与传统软件工程学的区别与联系现代软件工程是在传统软件工程模式的基础上,为了强调人在系统开发中的作用,同时为了适应软件新技术的发展趋势而提出的。/p-5820313902.html2.一个完整的软件需求应注意哪些方面制定软件的需求规格说明,为保证软件需求的正确性和需求的一致性,需要采用适当的软件工具支持需求分析工作。/twocat/blog/item/d2a864458727ba21cefca367.html/n14481c10.aspx3.谈谈现代软件体系结构的主要类型体系结构可以依据服务于软件开发的不同阶段,依据层次和细节程度划分为概略型、需求型和设计型。3.5概略型是上层宏观结构的描述,反映系统最上层的部件和连接关系。需求型是对概略型体系结构的深入表达,以满足用户功能和非功能需求的表达为主,通常需要对概略型的部件和连接进行深层的描述。设计型体系结构是从设计实现的角度对需求结构的更深层的描述。在此类型的结构中,需要从不同的侧面/视图,采用各种表达图示和说明,设计系统的各个层面的各个部件和连接的构件。该层面的体系结构将直接服务于系统的实现和性能分析。4.试将CBD与传统的软件开发方法相比较与传统的软件开发方式相比,基于构件的软件开发方法有以下几个方面的突破。1体系结构7.2 软件体系结构代表了系统公共的高层次的抽象,它是系统设计成败的关键。其设计的核心是能否使用重复的体系模式。传统的应用系统体系结构从基于主机的集中式框架,到在网络的客户端上通过网络访问服务器的框架,都不能适应目前企业所处的商业环境,原因是: 不能适应远程访问的分布式、多层次异构系统。企业过分地依赖于某个供应商的软件和硬件产品。这种单一供应商使得企业难以利计算供应商的免费市场,将计算基础设施的重要决定交给第三方处理,这显然不利于企业在合作伙伴之间共享信息。 封装的应用系统在出现某种组织需要时,难以用定制来维护系统,从而难以满足多变的需求。能实现分析、设计核心功能重用,最多只能实现代码重用。 如今,应用系统已经发展成为在Intranet和Internet上的各种客户端可远程访问的分布式、多层次异构系统。CBSD为开发这样的应用系统提供了新的系统体系结构。它是标准定义的、分布式、模块化结构,使应用系统可分成几个独立部分开发,可用增量方式开发。 这样的体系结构实现了CBSD的以下几点目标: 能够通过内部开发的、第三方提供的或市场上购买的现有构件,来集成和定制应用软件系统。 鼓励在各种应用系统中重用核心功能,努力实现分析、设计的重用。 系统都应具有灵活方便的升级和系统模块的更新维护能力。 封装最好的实践案例,并使其在商业条件改变的情况下,还能够被采用,并能保留已有资源。 由此看出,CBSD从系统高层次的抽象上解决了复用性与异构互操作性,这正是分布式网络系统所希望解决的难题。 2. 开发过程 传统的软件开发过程在重用元素、开发方法上都与CBSD有很大的不同。虽然面向对象技术促进了软件重用,但是,只实现了类和类继承的重用。在整个系统和类之间还存在很大的缺口。为填补这个缺口,人们曾想了许多方法,如系统体系结构、框架、设计模式等。 自从构件出现以来,软件的重用才得到了根本改变。CBSD实现了分析、设计、类等多层次上的重用。图74显示了它的复用元素分层实现。在分析抽象层上,重用元素有子系统、类;在设计层上重用元素有系统体系结构、子系统体系结构、设计模式、框架、容器、构件、类库、模板、抽象类等。 图74 构件的复用元素分层实现在软件开发方法上,CBSD引导软件开发从应用系统开发转变为应用系统集成。建立一个应用系统需要重用很多已有的构件模块,这些构件模块可能是在不同的时间、由不同的人员开发的,并有各种不同的用途。在这种情况下,应用系统的开发过程就变成对构件接口、构件上下文以及框架环境一致性的逐渐探索过程。例如,在J2EE平台上,用EJB框架开发应用系统,主要工作是将应用逻辑,按session Bean、entity Bean设计开发,并利用JTS事务处理的服务实现应用系统。其主要难点是事务划分、构件的部署与开发环境配置。概括地说,传统的软件开发过程是串行瀑布式、流水线的过程;而CBSD是并发进化式,不断升级完善的过程。图75显示了它们的不同。 图75 CBD与传统的软件开发方法的比较3. 软件方法学 软件方法学是从各种不同角度、不同思路去认识软件的本质。传统的软件方法学是从面向机器、面向数据、面向过程、面向功能、面向数据流、面向对象等不断创新的观点反映问题的本质。整个软件的发展历程使人们越来越认识到应按客观世界规律去解决软件方法学问题。直到面向对象方法的出现,才使软件方法学迈进了一大步。但是,高层次上的重用、分布式异构互操作的难点还没有解决。CBSD发展到今天,才在软件方法学上为解决这个难题提供了机会。它把应用业务和实现分离,即逻辑与数据的分离,提供标准接口和框架,使软件开发方法变成构件的组合。因此,软件方法学是以接口为中心,面向行为的设计。图76是其开发过程。 图76 CBSD开发过程模型图归纳起来,CBSD的软件开发方法学应包括下面几方面: (1)对构件有明确的定义。 (2)基于构件的概念需要有构件的描述技术和规范,如UML、JavaBean、EJB、Servlet规范等。 (3)开发应用系统必须按构件裁剪划分组织,包括分配不同的角色。(4)有支持检验构件特性和生成文档的工具,确保构件规范的实现和质量测试。总之,传统的软件方法学从草稿自顶向下进行,对重用没有提供更多的辅助。CBSE的软件方法学要丰富得多,它是即插即用,基于体系结构,以接口为中心,将构件有机组合,它把自顶向下和自底向上方法结合起来进行开发。4. 开发组织机构 传统软件的开发组织一般由分析员、设计员、程序员和测试员组成。对一个小的应用系统来说,一个熟练的开发人员,可能兼顾以上多个角色。但对CBSD来说,因为构件开发与应用系统集成往往是分开进行的,因此整个开发过程由六个角色来完成,他们是: (1)构件开发者 也是构件供货商,这些大多数是中间件构件提供者。(2)应用构件集成者 针对某应用领域将已有构件组合成更大的构件模块或容器, 作 为系统部署的基本单元。 (3)应用系统部署者 将系统部署基本单元放入选定的平台环境或基本框架中,完成软 件定制的要求。 (4)开发平台服务器供应商 提供服务器、操作系统和数据库等基本软件。(5)应用系统开发工具供应商 提供构件公共设施服务。 (6)系统管理员 配置硬件、网络和操作系统,监督和维护应用系统者。这六个角色的工作专业性很强,要兼顾成为多面手很不容易。目前已形成构件开放市场,而且还很火红。这也是当今软件人才大战所遇的一个困惑。因此,在CBSD中,如何组织好开发队伍尤为重要,必须按本企业所具备人才来组织。特别重要的是:开发初期必须选好标准框架,以及统一的开发指导方针,保证在整个开发过程中,各角色能随时互相沟通。一般来说,CBSD的人员素质决定了构件的重用率。 5. 构造方法 传统应用软件的构造是用白盒子方法,应用系统的实现全在代码中,应用逻辑和数据粘结在一起。而CBSD 的构造是用白盒子和黑盒子相结合的方法。 基于构件的框架是用两个概念来支持演变:第一个概念是构件有很强的性能接口,使构件逻辑功能和构件模型的实现都隐藏起来。这样,只要接口相同,构件就可以被替换。 第二个概念是隐式调用,即在基于构件的框架中,从来不直接给构件的接口分配地址,只在识别构件用户后才分配地址。因此,构件用户只要了解接口要求和为构件接口提供的引用后的返回信息 (该引用可能是一个构件,也可能是一个构件代理。对构件用户来说,构件代理就是构件,不用区分) 。 构件接口的信息并不存入构件内,而是存入构件仓库或注册处。这样才能保证构件替换灵活,并很容易利用隐式调用去重新部署构件。由于构件的实现对用户透明,因此也使构件能适应各种不同的个性化要求。为此,构件提供自检和规范化两个机制。自检保证在不了解构件的具体实现时,就能获得构件接口信息。例如,JavaBean提供的自检机制是Reflection和BeanInfo, 通过Reflection 可直接获得Bean构件的全部方法,通过BeanInfo可直接获得构件的许多复杂信息。 规范化允许不访问构件就可以修改它,如JavaBean提供的规范化是property sheet和customizer(定制器)。 通过property sheet提供一组简单参数,修改Bean的属性。复杂的修改由用户通过定制器设置参数完成。5.简述corba与dcom的异同1.与的相同点与都完全支持面向对象技术 ,系统中的软件元素以对象形式出现 ,相互间的交互采用对象技术。两者提供的某些服务是相同的 ,如命名服务 ,对象的永久存储服务 ,版本服务等。都以对象部件为提供服务的基础。都支持多平台 ,本身是由组织提出的 ,它一直支持多种计算平台 ,目前基本上所有主流平台上都有的实现。是由自行提出的 ,它原本只支持 32位平台 ,即95和 ,后由其合作伙伴 公司扩展到其他平台上 ,包括, - ,等。支持客户 服务器工作模式。以中间件作为达到互操作的基本工具。用接口来定义中间件 ,客户通过接口向对象提出服务请求 ,采用专门的“接口定义语言”。二者语言中立 ,都以二进制兼容。和都采用客户 服务器体系结构。对象提供了客户进程和服务器进程之间通过接口实现通信的方法。客户进程可以是任何包含指定的服务器对象函数指针的代码 ,它能通过这些指针来调用接口的具体实现代码 ,服务器进程则是对应于类标识符对象的运行实例。有 3种对象可以作为服务器对象 ;进程内服务器、本地进程外服务器和远端进程外服务器。在创建时 ,客户端调用()函数 ,给出被请求对象的类标识符和接口标识符 ,该函数将把接口的指针返回给客户。服务器创建对象实例 ,查询被调用接口并且调用()函数增加对象引用计数。在调用时 ,客户可以通过接口来调用其所指向的函数 ,就好像调用对象自己内存空间内的函数。如果客户需要调用该对象其它接口的方法 ,必须先调用()方法来给出被调用接口的接口标识符 ,获得了接口指针后 ,再通过同样的方法来实现调用。客户不再需要对象接口的方法时 ,可以调用()方法来减少对象的引用计数。把客户 服务器模式推广到分布式环境中。它是基于分布式计算环境 ()下的远端过程调用 ( :)。为了在异构网络中实现数据传输 ,采用网络数据表示法 ( : 定义 ,派生接口可以象使用自己的接口元素一样来使用基接口的元素。2. 与的不同点(1) 结构和规范性。是一个通用的分布式对象的规范说明 ,它没有给出参考的实现方案 ,所以为实现提供了极大的灵活性 ,而有明确的实现背景 ,规范 ,不利于优化。(2) 跨平台能力。本身不是由厂商 ,而是由标准制定组织提出的 ,所以它从一开始就是平台中立 ;原本由一家提出 ,只限于32平台 ,只是随后由将其扩展到其他平台 ,所以的跨平台受到初始设计的局限 ,一些测试也证明非平台上的在可靠性和性能方面不尽人意。目前 基本用于微软操作系统95和 ,虽然已有支持系统的实现的测试版本 ,但还需要进一步完善。而符合规范的产品支持广泛的平台 ,几乎可用在所有的操作系统上。(3) 安全性。所有的分布计算必然包括通信。如果分布计算是在分布式网络上 ,那么在传输数据时 ,数据的安全性和完整性都有危险。安全性必须保证用户不受破坏代码的侵害。使用远程调用 ()在相距异地的对象间通信。它没有在分布式的数据网络如上提供安全保证。使用实现的控件不含严格的安全性检查或资源权限检查 ,控件具有其资源的所有权限。这样就缺乏固有的安全性。而已经为基于的系统指定了广阔范围的安全服务 ,该服务不仅提供了保密性和认证机制 ,而且实现了非否认机制 (用于确保参加者在以后不能否认他们的许诺 )。的大多数服务均为自行定义 ,而的传输和安全服务则基于的标准。中对象之间的通信机制为基于的消息传递 ,而中则使用 ,它是对的扩展 ,其中增加了一种新的数据类型 ,即对象引用类型。(4) 跨语言支持能力。实现中所用的编程语言几乎都是 +,而对其它编程语言的支持有障碍。而具有语言中立性 ,可以包容多种编程语言在写规范时 ,已经采纳了用、 +、和语言使用机制的规范。具有很大的跨平台能力。的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年G2电站锅炉司炉理论考试题及答案
- 口才考试题及答案
- 钢筋考试题及答案
- 中华传统文化知到智慧树答案
- 药品知识竞赛考试题目及答案
- 中西医临床骨伤科学(运动健康与创伤防治)知到智慧树答案
- 中学生物学教学论知到智慧树答案
- 公需科目考试试题及答案
- 2025版清尾款支付与产品验收标准合同范本
- VR技能考核系统设计-洞察及研究
- 2025年财政管理知识竞赛题库及答案
- 满意度调查测评方案
- 区域产业协同发展面试题
- 当归种植培训课件
- 三年(2023-2025)中考语文真题分类汇编(全国)专题22 议论文阅读(解析版)
- 学习2025年初中初三开学第一课专题
- 2025年浙江省教师招聘考试(语文)历年参考题库含答案详解(5卷)
- 医学类案例教学法
- 2025巡护员考试题库及答案
- 2025文化和旅游部直属事业单位招聘社会人员29人模拟试卷附答案详解
- 产前准备课件
评论
0/150
提交评论