欢迎来到天天文库
浏览记录
ID:33884301
大小:337.41 KB
页数:21页
时间:2019-03-01
《软件构件与软件开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中创软件商用中间件网站http://www.inforbus.com提供InforInfor中间件中间件快速构造网络应用快速构造网络应用全面提升集成能力全面提升集成能力软件构件与软件开发吴泉源2003年7月为什么发展软构件——从软件危机谈起§2002年,在美国总统信息技术顾问委员会(PITAC)发表的一份报告中指出:虽然虽然软件技术在过去的软件技术在过去的5050年中得到了飞速的发年中得到了飞速的发展,但是软件危机还没有过去,克服软件展,但是软件危机还没有过去,克服软件危机还是一个长期的过程。危机还是一个长期的过程。§软件危机主要表现为软件的产品质量难以保障,软件的开发效率难以提高。§
2、如今人们已经认识到:软件复用是解决软件危机的现实途径,而软件构件技术是软件复用的核心技术§因此,软构件技术对于提高软件的质量、提高软件的开发效率,乃至缓解软件危机有极其重要的现实意义历史回顾§手工艺方式〔20世纪60年代以前〕¢对每一项新的应用,都需要精雕细刻相应的软件系统,生产效率低下。¢随着应用领域迅速扩大,出现了“软件危机”。其实质是人们难以控制软件的研制与维护。¢软件工程于1968应运而生,其目的是采用工程化方法研制软件系统。小作坊方式〔70年代〕§70年代的软件开发工具大量涌现〔如:编程工具、调试工具、测试工具、模拟工具〕§软件管理方式也开始向工业化发展§“工欲善其事,必先利
3、其器”,“磨刀不误砍柴功”,软件生产率得到了明显提高合作社方式〔80年代〕§网络的发展使各类分布式软件研制和维护,不仅需要较高水平的软件工程师,而且需要一种支撑软件,通过共享网络上各种资源,来支持软件工程的整体性、扩充性、强壮性、安全性和可靠性§软件平台技术得到迅速发展,平台不仅包括各种工具,还包括了使用工具的分布集成环境大生产方式〔90年代〕§基于互联网技术的各类应用软件系统,呈现出明显的成长性、自治性和异构性§网络不仅是一种通信的基础设施,网络本身就是计算机,互联网为人们提供了最强大的计算平台§介于网络各结点操作系统与网络应用之间的一层称为中间件的支撑软件,逐渐成为主流的软件平台§
4、人们进入了“软总线+软构件”的软件工业化大生产方式软件的工业中间件化大生产软总线+软构件新一代网络构件运行构件开发操作系统支撑平台平台过程+对象〔协同〕〔封装〕网络催生--Æ基础通信中间件〔ORB〕网络、操作系统、资源软件运行平台§运行平台主要是支持应用系统有效地共享网络资源,为软构件提供容器〔操作环境〕,并最终集成为一个安全可靠的可运行的系统§运行平台自底向上大致包括:基础通信平台、应用服务器及构件管理平台,数据交换平台、应用集成平台、业务流程管理平台、B2B集成平台,以及面向领域的各种应用集成框架开发平台§通过建立各层面上的软构件库,提高网络应用系统的开发质量和效率§其技术涉及需求
5、分析、设计与实现、测试与验证、软件管理与维护,软件开发生命周期的全过程§主要研究基于软构件的软件开发过程,包括软构件的模型、管理、规约语言、组装、实现、质量与测试构件层次体系结构门户Portlet构件portletportlet集成层容器Web构件表示层ServletJSP容器业务方法集成层B2B层B2BB2构件B构件业务EJB/业务方法构件业务方法构件逻辑层Corba层应用EJB/应用接口构件应用接口构件集成层Corba层应用业务EJB/业务构件业务构件逻辑层Corba层EJB/访问层实体构件实体构件Corba层数据层数据库数据库基于构件的应用开发框架协同构件编排构件装载模型构件组装
6、构件容器构件管理监控构件运行平台构件映射基于构件的应用系统集成体系结构CORBA分布式构件IIOP其他支持HTTPHTTP/HTTPsIIOP应用客户的技术RMI-IIOPERP系统端容器分布式构件JMSHTTP(s)JCPApplet容器HTTPsJMS其它现有Web构件EJB容器应用程序容器HTTP(s)EJBEJBJSPServletEJB其他支持HTTP(s)的客户端其他支持IIOP专有性TP监视器IIOP其他支持的客户端JMSJDBCJMSJMS组件数据库的客户端客户层Web组件层业务逻辑层EIS层软件的本质特性——构造性§软件是典型的知识产品,实现客观世界中的问题空间描述向
7、解空间描述的映射,软件任务就是构造这种映射§传统的软件开发是个体作坊式的,主要解决逻辑功能问题,较少考虑结构问题,造成软件复杂度高,维护难度大软件的本质特性——演化性§软件是客观事物的一种反映,是知识的提炼,知识的体现,知识的固化§客观世界不断发展,不断发生变化软件系统不可能一成不变新需求、新技术不断出现软件系统要不断升级不断演化软件开发的特点§软件开发是典型的知识密集型活动,复杂度高、开发周期长、可靠性保证难§随着软件应用范围的快速扩大,以及
此文档下载收益归作者所有