已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章软件开发方法 三 软件开发技术 计算机教学实验中心 第2 46页 问题的提出 什么是软件复用 构件 中间件 什么是CORBA DOM和JEB 什么是C S B S C S和B S的区别 第3 46页 1 了解目前主要的软件开发技术2 了解构件技术3 了解软件复用技术4 了解CORBA DCOM和J2EE技术5 了解C S和B S技术及开发基础 第4 46页 软件工程技术 构件技术软件复用技术C S技术B S技术 第5 46页 1 3 1构件技术 软件产业和软件工程技术正面临着新的挑战 而传统的软件设计思想根本无法应对 在这一背景下 构件技术应运而生 构件技术是基于OO技术上的更高级的抽象 它把底层的对象集合打成包 组成功能 插件 基于构件技术的软件生产就是把已存在的构件组装 集成 到当前软件系统的框架结构中 从而生产出新的软件产品 可以预见 构件技术是软件产业化革命的必然发展趋势 第6 46页 构件技术概述 OO技术是在 数据十算法 的基础上提升了对事物的认识方法 而构件技术则在 对象 算法 的基础上将认识事物的角度从对象个体本身提升到个体在群体中的作用 从抽象程度来看 OO技术已达到了类级重用 以类为封装单位 而构件技术是对一组类的组合进行封装 可以将底层的多个逻辑组合成高层次上的粒度更大的新构件 甚至直接封装到一个系统 使模块的重用从代码级 对象级 架构级到系统级都可能实现 显然 构件技术将抽象的程度提到了一个更高的层次 第7 46页 实现构件技术的必备条件 有标准软件体系结构 保证构件间通信协议统一 实现同步和异步操作控制 突破本地空间限制 充分利用网络环境 构件有标准接口 保证系统可分解成多个功能独立的单元 用构件组装而成 构件独立于编程语言 构件提供版本兼容 来实现应用系统的扩展和更新 第8 46页 构件设计 构件依赖于平台环境 所以设计时有特殊要求 以接口为核心 使用开放标准 构件语义的描述要形式化 提炼封装构件过程要严格记录 设计模式可以重用 利用开发工具 例如 开放标准有 CORBA DCOM EJB等 例如 Jbuilder EJBMaker等 优点 代码 设计 解决方案都能重用 要保证第三方用户能正确地理解 使用构件 如EJB中有会话Bean和实体Bean事务描述符等 第9 46页 中间件 构件是依赖于平台环境的 那么在分布式异构环境中如何应用构件呢 中间件就是基于跨环境的构件应用而发展起来的 中间件是介于应用层和网络层之间的一个功能层次 是使应用系统独立于由异构操作环境 操作系统 硬件平台及通信协议等 组成的开发环境 中间件扩展了客户 服务器结构 形成了一个包括客户 中间件和服务器在内的三层次结构及多层次结构 为开发可靠的 可扩展的 复杂的事物密集型应用提供了有力的支持 第10 46页 构件和中间件 中间件是构件技术的一种实现 是构件存在的基础 它的本质是对分布式应用的抽象 应用是在中间件提供的环境中以构件的形式存在 中间件将应用构件与系统资源隔离 使得构件开发者不用考虑下层的系统平台 中间件提供了构件封装 构件交互规则 构件与环境隔离等机制 为软件重用提供了解决方案 中间件可实现互操作 第11 46页 中间件分类 基于远程过程调用RPC RemoteProcedureCall 中间件被调用的对象可以在分布系统中的任何物理平台上 SunSoft的ONC 属于这种中间件 面向消息的中间件支持基于消息机制的进程间通信方式 例如 SunSoft的ToolTalk 基于对象请求代理ORB ObjectRequestBrokers 中间件消息通过ORB进行路由选择 ORB同时处理集成和安全方面问题 如Microsoft的COM OMG的CORBA等 数据库中间件支持对异构的关系数据库系统的透明访问 例如Sybase的OpenServer Oracle的SQLConnect等 第12 46页 J2EE技术简介 Java平台的第一个参考实现是JDK JavaDevelopmentKit 但JDK不支持服务器端构件开发 为提供服务器端的企业级服务 Sun公司开发了一些EnterpriseAPI Sun公司提出了三个不同的Java平台 J2ME Java2Platform MicroEdition 可用于Java设备 如呼机 手表等 的开发平台 J2SE Java2Platform StandardEdition 支持标准JDK编程 包含基本的Java语言支持 JFC库及其对applet和application的支持 J2EE Java2Platform EnterpriseEdition 一个基于Java的完整企业级应用开发平台 它与JavaEnterpriseAPI有机地结合 适合服务器端构件体系结构的开发 第13 46页 J2EE的核心技术 EJB J2EE规约中最重要的部分 RMI IIOPJava名字及目录接口JNDI数据库访问接口JDBC消息服务JMSJavaServerPapes JSP Java接口定义语言IDLJavaMail 基于Java的电子邮件API 通过建立远程接口支持Java和CORBA应用通信 用于编写动态网页 与消息驱动的中间件进行通信的API 实现跨平台访问各种DB EJB提供了使客户端使用远程分布式对象的框架 规定了EJB构件如何与EJB容器进行交互等服务 用于实现Java和CORBA应用之间互操作 是客户端代码连接EJB构件必需的关键技术 第14 46页 J2EE的核心技术示意图 第15 46页 COM 技术简介 COM 构件对象模型 是Microsoft提出的第一个构件模型 起源于OLE 对象连接和嵌入 OLE使用DDE 动态数据交换 机制来支持程序间通信 由于DDE稳定性和效率很差 由此诞生了COM 第16 46页 WindowsDNA 为了使Windows真正成为企业应用平台 Microsof公司又推出了WindowsDNA 分布式互联网应用体系结构 它是一个完整的 多层的新一代企业应用体系结构及服务器端的开发平台 它包含以下主要产品 WindowsNT 2000 DCOM 支持分布式构件的核心技术 MSMQ 消息队列产品 支持构件间的异步通信 MTS 管理构件的应用服务器 MicrosoftWolfpack 支持集群服务器的软件 MicrosoftSQLServer 一种关系型数据库管理系统 MicrosoftIIS Web服务器 MicrosoftManagementConsole 部署和管理工具 第17 46页 COM 为了把COM DCOM和MTS统一起来 形成真正适合于企业级应用的构件技术 诞生了COM COM 是一种中间件技术的规约 其要点是提供建立在操作系统上的 支持分布式企业级应用的 服务 COM 与WindowsDNA一起 使得用户可以采用Microsoft公司的技术开发服务器端的构件 COM 的核心是改进的COM DCOM和MTS的集成 但是COM 增加了一些非常重要的构件服务 比如负载平衡 驻留内存数据库 事件模型 队列服务等 第18 46页 COM 主要特点 真正的异步通信 COM 底层提供了队列构件服务 允许客户和构件进行异步通信 事件服务 新事件机制利用系统服务简化了事件模型 避免了COM可连接对象机制的琐碎细节 使事件源和事件接收方实现事件功能更加灵活 灵活性 动态负载平衡以及驻留内存数据库 对象池等系统服务为COM 的灵活性提供了技术基础 可管理和可部署性易于开发 COM 以前的COM构件开发更为简化 支持应用系统在开发完成后的管理和部署 第19 46页 COM 的基本结构 第20 46页 CORBA技术简介 CORBA CommonObjectRequestBrokerArchitecture 公共对象请求代理体系结构 是OMG制定的 体系结构最完整 最清晰 跨越平台最多的分布对象模型 通过CORBA接口定义语言IDL定义接口 使用不同编程语言 不同编译器实现的构件 可以通过对象请求代理ORB进行连接 形成一个跨平台的应用 CORBA一般有两层意思 一是指对象管理组织OMG提出的分布式对象体系结构标准 另一层意思是按这种体系结构开发的中间件产品 CORBA作为一种应用级的互联标准得到了广泛的认同和应用 CORBA是一套规约 而不是一个产品 开发商可以开发不同的产品来实现CORBA规约 例如 IBM公司的ComponentBroker等 第21 46页 1 3 2软件复用技术 软件复用是指在软件开发过程中重复使用相同或相似软件元素的过程 软件复用是在软件开发中避免重复劳动的解决方案 它使得应用系统的开发不再采用一切从零开始的模式 而是以已有的工作模式为基础 充分利用过去应用系统开发中积累的知识和经验 从而将开发的重点集中于应用的特有构成成分 为了能够在软件开发过程中重用已有的复用件 必须不断地进行复用件的积累 并将它们组织成复用件库 因此 软件复用不仅要解决如何检索所需的复用件 还要解决如何选取复用件 如何组织复用件库等问题 这类项目通常称为软件复用项目 软件重用过程可借助于支持软件重用的CASE工具 其主要任务是 用某种组织结构实现复用件库的存储 提供友好的人机界面 帮助用户浏览 检索和修改复用件库 并且对用户感兴趣的复用件进行解释 第22 46页 软件复用方式分类 依据复用的对象分类 可以分为 产品复用指复用已有的软件构件 通过构件集成得到新系统 产品复用是目前现实的 主流的途径 过程复用指复用已有的软件开发过程 过程复用依赖于软件自动化技术的发展 依据对可复用信息进行复用的方式分类 可分为 白盒复用指已有构件并不能完全符合用户要求 需要根据用户需求进行适应性修改后才能使用 黑盒复用指对已有构件不需作任何修改 通过构件组装的方式直接进行复用 这是目前的研究热点 也是将来的发展趋势 第23 46页 可复用的复用件 CaperJones定义了可候选的十种复用件 项目计划 计划的基本结构和内容 如 SQA计划 成本估计 有可能复用对某个功能的成本估计 体系结构 可能创建一组类属的体系结构模板 例如 事务处理体系结构 并将模板作为可复用的设计框架 需求模型和规约 类和对象的模型和规约是可复用的 用传统软件工程方法开发的分析模型 例如 数据流图 也是可复用的 设计 用传统方法开发的体系结构 数据 接口和过程化设计是复用的候选者 更常见的是 系统和对象设计是可复用的 源代码 验证过的程序构件 用兼容的程序设计语言书写的 用户和技术文档 对特定的不同应用 可复用大部分用户和技术文档 用户界面 可能是最广泛被复用的 例如GUI 数据 包括 内部表 列表和记录结构 以及文件和完整的数据库 测试用例 一旦设计或代码构件将被复用 相关的测试用例也可复用 第24 46页 软件复用面临的问题 管理问题 没有相应的鼓励机制等 复用的障碍 技术方面的问题 法律问题显然 很多其他相关问题对复用也有影响 政治的 文化的 财政的 市场的 以及产品化等方面的问题也必须考虑 第25 46页 复用的障碍 自负 太多的开发人员认为不是他们亲自编写的程序不可能是好程序 检索问题 如何从庞大的复用件库中所需要的复用件 几乎没有相应的复用培训 复用代价昂贵 有人估计 仅使一个构件可复用 就将至少增加60 的成本 虽然存在软件复用的CASE工具或构件 但大多数软件开发者并不使用它们 经济利益方面 一些开发人员尽力避免编写那些太通用的例程 唯恐使自己失业 第26 46页 技术方面的问题 采用软件复用可以降低开发成本 但如果其原件存在的某些问题代码 可能会导致其他采用该代码的系统具有相同的问题代码 这种情况称之为继承性缺陷 因此当原件的问题代码被修改后 往往无法自动更新实用软件中相应的代码 最终导致实用软件中的问题代码依旧存在 这种非但没有降低开发成本 反而增加维护消耗的复用技术显然是失败的 第27 46页 法律问题 合同软件带来的法律问题 有些软件合同规定软件产品是属于客户的 因此 当软件开发人员为另一个客户开发一个新产品时 如果他复用了另一个客户产品中的一个构件 在本质上是侵犯第一个客户的版权 第28 46页 1 3 3C S技术 客户机 服务器系统也称C S Client Server 系统 它是基于局域网 广域网的系统 在C S中存在着服务器和客户端 为了充分利用客户机的计算能力 计算和事务处理在服务器和客户机之间分配 服务器承担数据的集中管理 通信和客户管理的任务 因为数据在服务器端 对数据的处理和计算都在服务器端执行 而人机界面和一些需要实时响应的事件或人机交互的处理等在客户端进行 这些程序都运行在客户端 C S系统往往需要数据库服务器 第29 46页 C S系统体系结构特征 计算和处理分布在服务器和客户机之间 数据管理集中在服务器端 软件驻留在服务器和客户机 第30 46页 C S应用系统的特征 分布数据 出于安全性和负载平衡的考虑 数据库可以分布在多个数据库服务器上 分布过程 不同的过程 事务处理 数据库连接等 可以在不同服务器上进行 客户为中心 把需要在客户端执行的程序和定制的程序放在客户端 以使客户快速得到响应 把对数据进行处理的过程放在数据库服务器端 以加快数据处理速度 异构硬件和软件 在C S体系结构中很容易加入多层结构 屏蔽不同的硬件和软件 例如 加入应用服务器可以基于不同的操作系统和计算机主机 同样客户端安装的中间件可以基于不同的客户端系统 例如 Linux Windows 第31 46页 C S技术目标 集成处理资源 把客户和服务器端的处理能力集成 降低开发资源要求 在客户端和服务器端运行的程序分别存放 使得程序调试方便 开发比较简单 所需资源也减少 降低硬件和软件的要求 在C S系统中 客户机既有部分处理能力 价格相对较低 可以降低系统软硬件成本 降低系统维护成本 在服务器端的处理和计算程序只需在服务器端维护 与客户机无关 而客户端程序比较简单 所以系统维护较方便 成本较低 可扩充能力强 C S应用容易扩充 只要C S联入网络即可 第32 46页 C S系统构成 C S结构发展经历了两个阶段 两层结构和三 多 层结构 第33 46页 两层结构C S系统 第一层是客户端软件 由应用程序和相应的数据库链接程序组成 企业的业务过程都在程序中表现 第二层包括数据库服务器 根据客户端软件的请求进行数据库操作 然后将结果传送给客户端软件 导致 肥胖 客户机 两层应用软件的开发工作主要集中在客户端 使得客户机要管理复杂的软件 缺点 不能进行有效扩展 使这些系统不能支持大量用户的访问和高容量事务处理的应用 第34 46页 三 多 层结构C S系统 客户机上只安装具有用户界面和简单的数据处理功能的应用程序 负责处理与用户的交互和与应用服务器的交互 而将商业和应用逻辑的处理功能移到中间层 应用服务器上 应用服务器负责处理商业和应用逻辑 接受客户端应用程序的请求 然后根据商业和应用逻辑将这个请求转化为数据库请求后与数据库服务器交互 并将与数据库服务器交互的结果传送给客户端应用程序 数据库服务器软件根据应用服务器发送的请求进行数据库操作 并将操作的结果传送给应用服务器 第35 46页 三层C S结构优点 整个系统被分成不同的逻辑块 层次清晰 一层的改动不会影响其他层次 能够使 肥胖 的客户机变 瘦 开发和管理工作向服务器端转移 使得分布的数据处理成为可能 管理和维护变得相对简单 第36 46页 C S结构的局限性 第一 C S结构的计算能力过于分散 网络中服务器和客户机的数目正发生 细胞 分裂 使得系统的管理费用以几何级数的方式增长 第二 C S结构中数据库信息的使用只限于局域网的范围内 无法利用Internet的网络资源 第三 在C S结构中 无论多小的企业都必须安装自己的服务器 而服务器和服务器软件的管理和维护都是非常复杂的工作 需要专门人员负责 小企业往往无力购买高性能的服务器和聘用专门人员 因此 C S结构不利于小企业计算机应用的发展 第37 46页 应用子系统设计的指导原则 表示 交互子系统通常放置在客户端 基于图形界面的应用及程序驻留在客户端 这可快速响应用户的交互请求 尤其是在实现图形图像等复杂应用时 对于需要与本地资源 如调用本地磁盘文件等 进行交互性的操作 更是需要驻留在客户端的程序 这样做还可以降低网络流量 如果需要多个客户共享数据 则数据库及数据库管理系统应该放在服务器端 对DB进行操作的存储过程放在DB服务器上 对数据库进行插入 更新 删除的存储过程或触发器程序最好放在相应的DB服务器上 以减少DB连接 网络传输的时间消耗 降低DB连接过载发生的可能性 用于引用的静态数据应该分配到客户端 把数据存放在需要它的最近地方 不必在网络中传输 减少服务器压力 第38 46页 1 3 4基于Web工程设计基础 基于Web技术的Intranet近年来正受到广泛的关注 这种以TCP IP协议为基础 以Web技术为中心的应用正吸引着越来越多的企业以更快的速度 更低的费用去创建企业的应用系统 Web技术吸引人的地方是采用超链接和多媒体信息 Web服务器使用HTML描述网络的资源 创建网页 并以HTML数据文件的形式保存 以供Web浏览器阅读 Web浏览器是一个用于文档检索和显示的客户应用程序 并通过HTTP协议与Web服务器相连 目前 流行的IE和NetscapeNavigator除提供基本的文档检索 显示和导航特性外 还支持HTML的高级显示以及ActiveX Java JavaScript等特性 第39 46页 B S技术 浏览器 服务器系统也称B S Browser Server 系统 它也是基于局域网 广域网的系统 它的客户端是标准的浏览器 如IE等 服务器端为标准的Web服务器 可协同应用服务器响应浏览器的请求 B S是一种三层结构的系统 第一层客户机是用户与整个系统的接口 客户应用程序就是一个通用的浏览器 第二层是Web服务器 它负责启动相应的进程来响应处理请求 并动态生成一串嵌入了处理结果的HTML代码 并返回给客户端的浏览器 如果客户机提交的请求包括数据的存取 Web服务器还需与DB服务器协同完成这一处理工作 第三层数据库服务器的任务类似于C S模式 负责协调不同的Web服务器发出的SQL请求 管理数据库 第40 46页 B S系统的特点 B S系统采用B W D结构 即客户端只安装一个浏览器 Browser 中间层是Web服务器 再根据需要安装小支持库 如Java或VB的DDL以处理特殊应用 B S结构简化了客户端 客户机上只需安装通用的浏览器软件 节省客户机的硬盘空间与内存 简化了系的开发和维护 系统的开发者只需把所有的功能都实现在Web服务器上 并就不同的功能为各个组别的用户设置权限就可以了 相对于C S模式 B S的维护具有更大的灵活性 如果一个公司有上千台客户机 并且分布在不同的地点 那么便于维护将显得更加重要 用户操作更简单 客户端只用浏览器 不用培训即可使用 无纸办公 降低成本 提高工作效率 第41 46页 B S系统设计要点 设计目标 首先要确定目标 用户以及内容范围 包括 信息目标 向终端用户提供哪些特定的信息内容 应用目标 在网站上完成哪些任务 用户目标 网站的用户群 他们的背景 爱好和知识 商业目标 网站靠什么赚钱 如何实现商业目标 计划和分析 内容分析 标识要处理的信息 它们相互关系及信息的层次结构 交互分析 描述交互方式 例如哪些需要用户提交 功能分析 给出用户交互界面 定义系统功能等 配置分析 要描述网站的基础设施和服务器环境 例如它是Internet还是Intranet 是否需要数据库服务器 采用什么Web服务器 客户端需要配置什么样的浏览器 网站是托管还是租用虚拟服务器等 在硬件方面需要那些设备 是否需要防火墙 工程 发布和用户评价 工程即网站的设计和开发 发布包括本地调试 测试 建立网站 网站试运行 用户评价就是进行用户测试 最后验收 正式发布 第42 46页 选择Web服务器考虑因素 与企业现有网络的配合性 与数据库服务器的结合性 开发Web页面的难易程度 安全性 稳定性 与企业现有的系统密切配合 如果现有的企业网络系统是WindowNT 则可考虑选择MicrosoftIIS 如果企业的数据库是Oracle 那么OracleWebServer是一个适当的选择 第43 46页 B S和C S的比较 近年来 对于B S C S两种结构软件的优劣 国内基本已经达成共识 普遍认为B S结构软件将全面取代C S结构软件 下面从技术特性和商业特性两个方面进行比较 第44 46页 技术特性比较 1 数据安全性比较由于C S结构的数据分布特性 客户端的数据易攻击 对大型企业的异地软件应用 数据要在多个服务器之间进行数据同步 每个数据点上的数据安全都影响整个应用的数据安全 对于B S结构的软件来讲 由于其数据集中存放在数据库服务器 客户端不保存任何业务数据和数据库连接信息 安全问题好多了 2 数据一致性比较在C S结构的解决方案中 在异地经营点都采用区域
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手术复位技术的进展-洞察与解读
- 地热能开发利用合同
- 土地租赁合同范本
- 2025存量房买卖合同示范文本
- 2025合同范本车位租赁协议
- 2025-2030中国液体化工物流行业国际经验借鉴与本土化实践报告
- 2025-2030中国汽车电动转向系统电机可靠性验证标准研究
- 2025生特储能校招真题及答案
- 2025美容院转让合同范本
- 2025-2030中国药物筛选行业私募股权投资机会与退出机制分析报告
- 《“1+X”无人机摄影测量》课件-项目二 无人机航空摄影及航摄成果质量检查
- 国家职业标准 -碳排放管理员
- 科技小院筹建方案(3篇)
- 中国印度对比课件
- 2025至2030中国水产品加工行业发展分析及发展趋势分析与未来投资战略咨询研究报告
- 关于无人机多旋翼的结构细节试题及答案
- 企业财务管理中的流动性风险评估与应对策略
- 某管理咨询公司薪酬管理制度
- 物业管家管理课件
- TCACM 1460-2023 成年人中医体质治未病干预指南
- 大学生职业生涯规划书模板范文:市场营销篇
评论
0/150
提交评论