(计算机应用技术专业论文)基于构件复用和xml技术的柔性信息系统开发研究.pdf_第1页
(计算机应用技术专业论文)基于构件复用和xml技术的柔性信息系统开发研究.pdf_第2页
(计算机应用技术专业论文)基于构件复用和xml技术的柔性信息系统开发研究.pdf_第3页
(计算机应用技术专业论文)基于构件复用和xml技术的柔性信息系统开发研究.pdf_第4页
(计算机应用技术专业论文)基于构件复用和xml技术的柔性信息系统开发研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)基于构件复用和xml技术的柔性信息系统开发研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

独创性申明 秉承祖阍优良道德传统和学校的严谨学风郑重申明:本人所呈交的学 位沦文是我个人在导师指导下进行的研究工作及取得的成果。尽我所知, 除特别加以标注和致谢的地方外,论艾中不包含其他人的研究成果。与我 q i l t 作的同志对本文所论述的工作的任何贡献均己任论文中作了明确的 说明并已致谢。 本论文及其相关资料若有不实之处,由本人承担一切相关责任 论文作者签名霉圭瘁加烨 多月工8 日 保护知识产权申明 本人完全了解西安理 _ = 大学有关保护知识产权的规定,即:研究誉住 校攻读学位期问所取得的所有研究成果的知识产权属西安理工大学所有。 本人保证:发表或使用与本论文栩关的成果时署名单位仍然为西安理工大 学,无论何时何地,未经学校许可,决不转移或扩散与之相关的任何技术 或成果。学校有杖保留本人所提交论文的原件或复印件允许论文被查阅 或借阅;学校可以公布本论文的全部或部分内容,可以采用影印、缩印或 其他手段复制保存本沦文。 ( 加密学位论文解密之前后,以上申明同样适用) 论文作者签名:窭室盘导师签名: 摘要 基于构件复用和x m l 技术的柔性 信息系统开发研究 学科:计算机应用技术 导师:姚全珠( 副教授) 研究生:戴建峰 摘要 答辩日期: 导师签名: 学生签名: 本课题来源于陕西省自然科学基金项目信息系统的形式化开发方法研究。 随着市场竞争的加剧和客户需求的多样化,现在的企业信息系统必须具有适应 各种变化的能力,如果企业信息系统没有良好的柔性,不能方便地进行用户化和二次 开发,那么这样的信息系统反而会成为束缚企业发展的枷锁。如何快速高质量地开发 出满足企业需求变化的信息系统软件,已成为当今信息系统开发的重要课题。 本文针对现有信息系统开发方法的不足,在对构件复用技术和x m l 技术深入研究 的基础上,结合x m l 与构件技术这两种软件开发热门技术,并参考形式化开发方法, 提出了基于构件复用和x i v i l 技术的柔性信息系统开发方法模型。 本文对这个开发模型进行了详细的分析研究,使该开发模型克服了传统模型的一 些不足,是一种快速高效开发柔性信息系统的先进方法模型。本文还以人力资源管理 系统为例,对这种开发模型进行了实践,初步建立起了一个信息系统动态集成框架平 台。该框架实现了基于构件的信息系统的插座式组装。通过】m 对信息系统及其构件 进行形式化描述,使该框架具有很好的可扩展机制,方便的实现软构件的复用,管理 和组装。在该框架平台下构建的企业信息系统,将具有很强的灵活性和伸缩性,并能 根据现代企业需求多变的情况方便地进行快速重构。 关键字:构件复用,x m l ,柔性,框架,动态集成信息系统 本研究得到陕西省年自然科学基金的资助 l 李舞 a b s t r a c t r e s e a r c ho ff o r m a lf l e x i b l ei n f o r m a t l 0 nd e v e l o p m e n tb a s e d o nc o m p o n e n tt e c h n i q u ea n dx m lt e c h n o l o g y m a j o r : c o m p u t e ra p p li c a t i o n d i r e c t o r :y a oq u a n z h u a u t h o r :d a ij i a n f e n g s i g n a t u r e s i g n a t u r e 妞鳓 a b s t r a c t t h ep r o b l e md i s c u s s e di nt h isp a p e rc o 【n e sf r o mt h es h a n x in a t u r es c i e n c ef o u n d a t i o n p r o j e c t :t h er e s e a r c ho ff o r m a lm e t h o di nd e v e l o p i n gi n f o r m a t i o ns y s t e m w i t ht h em a r k e tc o m p e t i t i o nt u r n i n gw o r s ea n dt h ec u s t o mr e q u i r e m e n th e i n g o fd i v e r s i y 。p r e s e n t i n ge n t e r p r i s ei n f o r m a t i o ns y s t e mm u s tb ec a p a b l eo f a d a p t i n ga l iv a t l a n c e s i ft h ee n t e r p r i s ei n f o r m a t i o ns y s t e mh a sn og o o d f l e x i b l e n e s sa n dc o u l dn o tc u s t o m i z e o rs e c o n d h a n dd e v e l o p ,i tw i l lb e c o m e t h ef e t t e r so fe n t e r p r i s ed e v e l o p m e n t h o wt od e v e l o pq u i c k l yh i g hq u a n t i t y e n t e r p r is ei n f o r m a t i o ns y s t e mh a sb e e nt h ev e r yi m p o r t a n ts u b j e c ti ns o f t w a r e d e v e l o p m e n tf i e l d t h i sp a p e ra i ma tt h es h o r t a g eo fp r e s e n t i n gb u i i d i n gi n f o r m a t i o ns y s t e m m e t h o d p r o p o s eam o d e lb a s e do nr e u s e c o m p o n e n ta n d ) ( m lt h r o u g hr e s e a r c h i n g t h ep o p u l a rt e c h n o l o g yo ft h er e u s e c o m p o n e n ta n dx m la n dt h ef o r m a lm e t h o d 1a n a l y z ea n dr e s e a r c ht h i sm o d e li nd e t a i li nt h i sp a p e r t h em o d e lc o u l d o v e r c o m es o m es h o r t a g eo ft r a d i t i o n a ld e v e l o p i n gm e t h o da n di sa d v a n c e dm o d e l i nd e v e l o p i n gs t a b l ea n df l e x i b l ei n f o r m a t i o ns y s t e m t h ep a p e rt a k e st h eh u m a n r e s o u r c em a n a g e rs y s t e ma se x a m p l et op r a c t i c et h ed e v e l o p i n gm o d e l a n d e s t a b l i s hp r e l i m i n a r i l yad y n a m i ci n t e g r a t e dp l a t f o r mo fi n f o r m a t i o ns y s t e m i tc a nr e a l i z es o c k e ta s s e m b l eo fi n f o r m a t i o ns y s t e mw i t hc o m p o n e n t t h r o u g h t h ef o r m a ld e s c r i p t i o ni n f o r m a t i o ns y s t e ma n dc o m p o n e n tb yx m l ,t h ef r a m e w o r k i sv e r ye x t e n d a b l ea n dc a nr e a l i z ec o n v e n i e n t l yr e u s ea n da s s e m b l yo ft h e c o m p o n e n t t h ee n t e r p r is ei n f o r m a t i o ns y s t e mb u i l du n d e rt h i sf r a m e w o r k is v e r yf l e x i b l ea n dr e t r a c t i l e ,w h i c hc a nr e b u i l dc o n v e n i e n t l ya c c o r d i n gt o c h a n g e f u lr e q u i r e m e n to fe n t e r p r i s e k e y w o r d s :r e u s eo fc o m p o n e n t ,蹦l ,f r a m e w o r k ,d y n a m i ci n t e g r a t e ,i n f o r m a t i o n s y s t a m i i 1 绪论 1 1 引言 随着计算机技术的飞速发展,当今社会的各个部门,各类人员都在使 用各种计算机软件系统,但就目前情况而言,软件的质量问题却始终没有 得到圆满的解决,用户需求得不到满足。可以说,计算机软件技术已成为 计算机应用的瓶颈,软件危机正在继续。 就信息系统软件来说,由于市场竞争的加剧和客户需求的多样化,企 业对信息系统软件的更新速度提出了更高的要求。现在的企业信息系统必 须具有适应各种变化的能力,具有高度的稳定性和时效性,如果企业信息 系统没有良好的柔性,不能方便地进行用户化和二次开发,或者企业信息系 统的开发时间过长,稳定性不够,那么,这样的信息系统将反而会成为企 业发展的枷锁“,。如何行之有效的开发企业信息系统? 基于构件复用技术的 软件开发方法己成为解决这一问题的公认的最佳方法。通过构件复用,使 软件能够像硬件那样,通过各部分的动态组装组成完整的系统。 本文在对传统软件开发方法和构件复用技术等软件开发新技术进行深 入研究的基础上,提出了一种基于构件和x m l 技术的柔性信息系统开发方 法理论模型,并以人力资源管理系统为例,对这种开发方法模型进行了实 践,初步建立起了一个信息系统动态集成框架平台。 1 2 课题的背景和研究意义 1 2 1 信息系统的发展过程及其重要地位 近几十年,以计算机为中心的现代信息技术引发了社会经济结构、 生产组织乃至生活方式的重大变化。世界各国,不论是发达国家还是发 展中国家,从政府到企业界,对信息系统的建设都极为重视。美国企业 固定资产中,信息系统所占的比例从2 0 世纪8 0 年代初的平均5 逐渐上 升到2 0 世纪8 0 年代末期的2 5 。一些大公司用于信息系统的投资甚至达 到了新投资资金总额的5 0 。欧洲共同体1 9 9 3 年末提出开发欧洲信息网 西安理工大学硕士学位论文 基础设施的庞大项目,计划l o 年内,在信息技术方面投资1 5 7 8 9 亿美 元。 日本、韩国、新加坡等国家也纷纷投入了大量的资金发展信息化。 在我国,虽然信息系统的建设起步较晚,但改革开放以来,我国对 发展信息产业给予了高度的重视。早在1 9 8 4 年,邓小平同志就指出:“开 发信息资源,服务四化建设”。2 0 世纪8 0 年代以来,我国投入了大量的 人力、物力和财力,其中2 0 个国家级大型信息系统就耗资1 0 0 多亿人民 币。 1 2 2 信息系统建设中存在的许多问题 然而,在这信息爆炸的时代,如何高效的对信息进行采集、传输、加 工、储存和应用已成为企业信息化快速发展的“瓶颈”,如果不能充分利用 数据信息为公司业务决策和战略发展服务,其大量的数据将可能成为包袱, 甚至成为垃圾。著名的管理学家h a s i m o n 曾指出:“美国大公司中建立的 第一代管理信息系统被证明基本上是失败的”。回顾我国信息系统发展的旱 程,2 0 世纪8 0 年代上了不少m i s 项目,整体上说产出效果未能尽如人意。 有些项目开发周期大于系统生命周期,有些企业的m i s 长期见不到效益, 严重阻碍了我国信息化建设前进的步伐。近年来,信息系统建设和应用过 程中出现的问题更是日益严重,具体列举如下: a 信息系统的适用性和可用性问题 很少有信息系统能够不断满足用户的需求,软件适应变化的能力还是 很不够,很多已实旋的信息系统中,哪怕是出现很小的需求变化,也需要 设计人员修改代码,才能满足用户的需求。用户需求包括显性需求和隐性 需求。显性需求是指用户能够较为明确、完整地表达需求;而隐性需求 是指用户对某种需求往往不十分明晰,只能传达出较为含糊的信息。按 照一般的开发模式,软件开发商为用户开发的系统一般只能满足其显性 需求,而对隐性需求无从考虑,当用户意识到隐性需求后,需求不明确 的问题才暴露出来。这时,软件需要不断的修改,常常因此需要全面系 统的修改;企业机构和业务重组、规模扩大必然导致了用户需求的变化, 绪论 由于软件业务模型已经固化于程序之中,如果业务模型发生变化,就必 须由开发人员修改软件,这种修改会向软件中增加更多的刚性部件,使 以后模型的动态修改或重构更加困难;目前软件还不能与现代社会的这种 发展相适应。有些时候,尽管已经做好了系统规划、可行性研究,签订了较 明确的技术合同,然而随着系统分析、系统设计和系统实施的进展,客户 的需求不断地被激发,导致程序、界面以及相关文档需要经常修改。而且 在修改过程中又可能产生新的问题,这些问题很可能经过相当长的时间后 才会被发现。 b 信息系统的稳定性问题 系统开发完成后,必然存在不稳定性,而系统的不稳定性将对用户 的使用造成极大的障碍,而且,这种不稳定性经常在系统在不断使用和 扩充的过程中逐步积累,最终导致信息系统的彻底瘫痪。 c 信息系统的开发周期问题 按照一般的软件开发方式,软件开发商实施任一套软件系统的周期 至少为半年,甚至数年,用户需求不断发生变化,开发周期将被无限制 的延长,这必将导致软件开发商及用户失去信心或需要用户不断的追加 投入,使得开发永无休止。 d 开发商和用户的风险问题 由于用户需求具有不完整性和可变性,软件开发商开发的系统总是 无法让用户完全满意。如用户不满意,项目尾款的支付也成了未知数, 对开发商来说无疑是一个很大的风险。“1 所以,如何省时、省力、快速地开发出能够不断满足用户需求的高效 的、稳定的信息系统是当今信息化建设中的核心问题。 1 2 3 迫切需要新的信息系统软件开发方法 鉴于以上原因,在信息化建设中已迫切需要新的软件开发方法模型。 在市场经济规模下,企业为了生存,对软件的更新速度提出了更高的 要求,过去一年更新一次的软件,现在可能是半年、三个月、甚至一个 西安理工大学硕士学位论文 月就必须更新。另方面,软件从过去主要用于提高生产效率、加强内 部管理逐渐成为帮助企业获得更大效益的工具,也成为人们工作和生活 中不可或缺的元素。这种变化使软件开发面临新的挑战:如何快速且高 质量地开发出满足不同需求的软件? 传统的软件开发方法在这时已显得 无能为力了,建立更好的软件开发环境和不断发展软件开发方法,是解决 这一问题的关键所在,对此,国内外都进行了大量的研究,到目前为止, 形成了一些比较成熟的方法和技术:面向对象技术( o o a ,o o d ,o o p ) , 中间件技术,软件复用技术等,这些方法和技术在不同的层面上和一定 程度上缓解了需求变化给软件带来的影响,但由于软件,特别是信息系 统软件固有的复杂性和多变性,如何快速且高质量地开发出满足不同需 求的软件的问题仍然没有根本解决,因此还需要新的思想来整合各种技 术和方法,而开发和采用可复用的软件构件,进行软件框架下的基于构 件的软件动态集成成为解决这一问题的公认最佳方法。”1 本论文的研究正是在这种背景和环境下进行的,主要从构件复用的角 度探讨了信息系统的开发方法:整合构件复用技术,x m l 技术,框架技术 等多种软件开发先进技术,对信息系统的开发方法提出了了一些新的见 解和解决途径,并对该开发方法进行了初步实践。实践证明该开发方法 对信息系统的开发有着积极的参考价值。 软件开发现状和信息系统开发方法研究 2 软件开发现状和信息系统开发方法研 究 由于信息产业在国民经济中的重要地位,为了促进信息产业的发展, 近年来,各个国家和大型公司以及国内外的大批学者对信息技术的发展都 投入了巨大的精力。 2 1 国内外软件开发的研究现状 2 1 1 软件开发模型 目前,软件开发模型主要有瀑布模型,原型模型,p a d 模型,演化模 型( 增量模型,螺旋模型,构件组装模型) 和形式化方法模型。瀑布模型 在传统的软件开发中应用最为广泛,但这种方法要求一开始就能清楚的知 道用户的所有需求,然而它的程序却又要等到开发的晚期才能得到,所以 如果因为需求不清楚而导致的错误在这时才发现,后果是灾难性的:原型 模型从总体上讲并不是提交个最终的系统,而主要是帮助用户和开发者 理解需求。可以说,软件变化特征在这些传统的软件工程规范中都没有加 以考虑,而实际上,业务和产品需求常随着软件开发的进展不断变化。面 向对象技术问世以来,以面向对象技术为基础的快速原形法虽比较适合于 用户需求不清、需求经常变化的情况,但这种方法需要与用户反复沟通, 且单个系统的开发效率不高“1 ;形式化方法成为近年来的研究热点,因为 它能消除其它软件工程规范难以克服的二义性、不完整性和不一致性问题, 但由于其复杂、开发费时、昂贵,目前也只能在开发的局部过程中使用: 演化模型是利用一种迭代的思想方法,很适合现代企业组织和需求多变的 情况。本文研究的开发模型以演化模型中的构件组装模型为基础,结合形 式化模型,着重研究信息系统随企业需求和机构变化怎样快速重构,构件 技术与形式化方法相结合代表了新一代软件技术的发展方向,在近几年已 成为学术界和产业界共同关注的热点。 西安理工大学硕士学位论文 2 1 2 软件开发方法 目前,就软件开发方法来说,主要有:结构化方法,面向数据结构 的方法,p a m 问题分析法和面向对象的方法。 as s a d 方法 1 9 7 8 年e y o u r d o n 和l l c o n s t a n t i n e 提出了结构化方法,即 s s a & d f s t r u c t u r e ds y s t e m sa n a l y s i sa n dd e s i g n ) 方法,也可称为面向功能 的软件开发方法或面向数据流的软件开发方法。y o u r d o n 方法是8 0 年代 使用最广泛的软件丌发方法。它首先用结构化分析( s a ) 对软件进行需求 分析,然后用结构化设计( s d ) 方法进行总体设计,最后是结构化编程 ( s p ) 。这一方法不仅开发步骤明确,s a 、s d 、s p 相辅相成,一气呵成, 而且给出了两类典型的软件结构( 变换型和事务型) ,便于参照,使软件 开发的成功率大大提高,从而深受软件开发人员的青睐。 b j s d 方法 1 9 7 5 年,m a ,j a c k s o n 提出了一类至今仍广泛使用的软件开发方 法。该方法有六个步骤:1 ) 实体行为:2 ) 实体结构;3 ) 初始模型;4 ) 功 能;5 ) 系统实时;6 ) 实现;这一方法从目标系统的输入、输出数据结构 入手,强调正确地模拟客观世界,强调描述过程的动态性,首先建立模 型,进而初始化模型,导出程序框架结构,再补充其它细节,就可得到 完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统 特别有效。j a c k s o n 方法有时也称为面向数据结构的软件设计方法。 c p a m 问题分析法 p a m ( p r o b l e ma n a l y s i sm e t h o d ) 是8 0 年代末由日立公司提出的一种 软件开发方法,它的基本思想是:考虑到输入、输出数据结构,指导系 统的分解,在系统分析指导下逐步综合。这一方法本质上是综合的自底 向上的方法,但在逐步综合之前已进行了有目的的分解,这个目的就是 充分考虑系统的输入、输出数据结构。p a m 方法的另一个优点是使用p a d 图。这是一种二维树形结构图,是到目前为止最好的详细设计表示方法 软件开发现状和信息系统开发方法研究 之一,远远优于n s 图s d p d l 语言。但是由于在输入、输出数据结构与整个 系统之间同样存在着鸿沟,这一方法仍只适用于中小型系统开发。 d 面向对象的软件开发方法 面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑 的意义。随着o o p ( 面向对象编程) 向o o d ( 面向对象设计) s n o o a ( 面向对象 分析) 的发展,最终形成面向对象的软件开发方法o m t ( o b j e c tm o d e li n g t e c h n i q u e ) 。这是一种自底向上和自顶向下相结合的方法,而且它以对 象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了 所有对象的数据结构。所以o m t 彻底实现了p a m 没有完全实现的目标。不 仅如此,0 0 技术在需求分析、可维护性和可靠性这三个软件开发的关键 环节和质量指标上有了实质性的突破。 近年来,软件复用技术已成为软件开发方法的研究热点,当今国际 上已十分重视软件复用,提出了构件、体系结构和框架等一系列方法。 2 2 信息系统开发研究 2 2 1 信息系统研究 a 信息系统基本概念 在信息系统开发方法进行深入研究之前,有必要先对信息系统作一番 研究,只有先弄清信息系统的概念,特点,才能更好的对信息系统的开发 方法作进一步的深入研究。 信息系统主要是指基于计算机技术、通信技术和软件技术并且融合 各种现代管理理论、现代管理方法以及各级管理人员为一体,最终为某 个组织整体管理与决策服务的一个人机结合的系统。在这个系统中,输 入的是数据,经过加工处理后输出的是对管理与决策有用的信息。 从宏观的实际系统模型上看一般有输入、处理和输出三部分。如图 2 一l 。图中输入是指系统处理所需要的内容、条件和数据;处理是指根据 条件,对输入的内容进行可能的各种加工和转换;输出是指系统处理后 的结果。 西安理工大学硕士学位论文 ( a ) 简单系统模型 ( b ) 多输入多输出系统模型 图2 - 1 系统模型 从信息系统的组成结构上看,主要是用反馈环路来改变信息交换的过 程,目的是对用户的要求做出准确、及时的反应。系统结构如图2 - 2 所 不。 图2 - 2 信息系统结构模型 b 现代制造企业信息管理中的关键技术 ( 1 ) 采用基于网络环境的b s 分布式结构 由于今后i n t r a n e t 将成为许多大公司网络建设的选择,且使用w e b 客户机具有费用低廉、安装和维护方便、跨平台运行和具有统一、友好 的用户界面的优点,加之所有的数据库厂商对w e b 技术的支持,因此传 统的基于c s 的体系结构正逐步被基于w e b 和i n t e r n e t i n t r a n e t 上的 b s ( 浏览器n 务器) 三层体系结构所替代。通过计算机网络将企业、 用户、供应商及其它合作伙伴集成起来,可实现信息流、物流和资金流 软件开发现状和信息系统开发方法研究 的有效转移与优化,使企业管理信息系统更适合于跨地区的企业集团或 虚拟企业应用,更能支持供需链上企业运作的系统化、同步化与集成化。 ( 2 ) 运用构件技术和计算机集成技术 针对企业的不同情况和不同需求,管理信息系统应具有较高的灵活性: 针对企业业务的不断发展,管理信息系统应具有较好的扩展性。因此企业 管理信息系统应采用软构件所构架而成的结构,以提高系统的可扩充性、 适应性和可维护性。由于企业从市场分析、产品设计、加工制造、经营管 理到售后服务的全部生产活动是一个不可分割的整体,需要统一的进行规 划和组织。因此在企业管理信息系统中应充分利用集成技术,实现s c m 、c r m 、 m i s 等功能的集成优化,并实现物流、信息流、资金流等信息的集成优化, 从而充分发挥企业各种技术的综合优势,提高企业的总体效益和市场竞争 力。 c 现代企业信息管理软件的发展趋势 ( 1 ) 新的模块化 通过采用丌放的、标准化的业务应用程序接口b a p i ( b u s i h e s s a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) ,使软件具有“无限”的扩展能 力。b a p i 使软件开发商在技术上有能力把第三方软件集成在自己的核心 软件上,也可使用户能够按照实际需求单独更新某一个模块。 ( 2 ) 支持全球化 全球化市场的形成和不断发展与多企业合作经营生产方式的出现使 得企业管理信息系统将成为基于i n t e r n e t e x t r a n e t 的,支持异地企业 运营、异种语言操作和异种货币交易的,支持全球范围企业合作与虚拟 企业运营的集成化企业管理系统。 ( 3 ) 专业化 在软件结构和功能上,不再追求大而全,而更趋于灵活、面向具体 领域和具体用户,能适用于多种生产制造方式的管理模式。 ( 4 ) 应用范围拓宽 西安理王大学硕士学位论文 为了寻求更广阔的市场,企业信息管理软件将覆盖制造业以外的其 它许多领域,如能源、电讯等。 2 2 2 信息系统开发 信息系统软件作为软件的一种,其开发方法自然也是基于上面讨论的 开发模型和开发方法,但由于信息系统有其区别于其他软件的特殊性,如 果照搬照抄上面所述的方法进行信息系统开发,很难收到理想的效果,所 以很有必要对信息系统的开发作深入详细的研究。 传统的信息系统开发方法主要有: a 自底向上法和自顶向下法 自底向上法出现于早期的计算机管理应用系统,即在进行系统分析和设 计时自下而上,先从底层模块做起,然后逐步完成整个系统。自底向上法 使得信息系统的开发易于适应组织机构真正的需要;有助于发现系统的增 长需要,所获得的经验有助于下一阶段的开发,易于控制和管理。但由于 方法的演变性质,自底向上法使系统难以实现其整体性:同时由于系统未 进行全局规划,数据一致性和完整性难以保证;而且为了保证系统性能的 需求,往往要重新调整,甚至重新设计系统。 随着系统规划的扩大和对开发经验的总结与归纳,自顶向下的系统分 析方法论逐步得到了发展和完善。自顶向下法要求开发者首先制定系统的 总体规划,然后逐步分离出高度结构化的子系统,从上至下实现整个系统。 运用这类方法可以为企业或机构系统的中期或长期发展规划奠定基础,同 时支持信息系统的整体性,为系统的总体规划、子系统的协调和通信提供 保证。但它同样也存在缺点:对系统分析、设计人员要求较高,在大系统 中,对下层系统的实施往往缺乏约束力,开发的周期长。系统复杂,成本 较高。 b 快速原型法 原型法的核心是原型,即模型,是系统的早期可运行版本。随着用户 或开发者对系统理解的加深,不断地对原型进行补充和细化。系统的定义 软件开发现状和信息系统开发方法研究 是在逐步发现的过程中进行,这就是快速原型法的基本出发点。快速原型 法的开发过程体现了不断迭代的快速修改过程,是一种动态定义技术。快 速原型法的最大优点是能够大大减少软件系统的后期维护费用,使系统功 能能够正确反映用户的需求。原型本身及这种方法的不足之处在于,如果 原型本身功能设置不齐全、性能不好,会导致原型的设计和使用超出预期 的花费和时间。另一个关键不足是原型法需要一个合适的软件开发环境, 以便原型能直接转换成现实的系统。 总之,“自底向上”法只重局部而忽视了对整体的把握:“自顶向下” 法开发周期长、见效慢、缺乏灵活性和适应性;快速原型法虽然具有很明 显的优越性,但因其依赖于快速开发工具的支持,又不能不令许多系统开 发者望而却步“1 。 因此本文通过整合各种新技术,提出一种新的开发方法积木法。 即基于构件和x m l 的柔性信息系统开发方法。下一章。我们将详细介绍这 种信息系统开发方法。 基于构件和x m l 技术的柔性信息系统开发研究 3 基于构件复用和x m l 技术的柔性信息 系统开发研究 虽然到目前为止,还没有出现一个完整的开放式软构件系统的实施方 案。但我们相信,软构件化是软件工业化的必然。本章从构件复用的角度 深入的探讨了信息系统的开发方法 框架技术等多种软件开发先进技术 些新的见解和解决途径。 3 1 基于构件的软件工程 通过整合构件复用技术,x m l 技术, 对信息系统的开发方法提出了了一 基于构件的软件工程( c b s e ) 是指用装配可复用软件构件的方法来构 造应用程序,软件开发的系统分析、构造、维护和扩展等各个方面都是己 构件为核心的,在c b s e 中构件是可用来构成软件系统的即插即用的软件成 分。 与其他软件复用相比较,c b s e 有以下特点: 1 ) 即插即用:构件可以方便的集成到框架中,不用修改代码,也不用重新 编译。 2 ) 己接口为中心:构件的接口和实现是分离的,构件通过接口与其他构件 和框架交互。构件的具体实现被封装在内部,组装者只关心接口,不必知 道其实现细节。 3 ) 标准化:构件的接口必须标准化,这是构件技术成熟的标志之一,目前 主要的构件标准有s u n 的e j b 、m i c r o s o f t 的c o m + 、n e t 和o m g 的c o r b a , 正是由于出现了以上较为成熟的标准,才使得c b s e 的梦想走向实现“1 。 3 1 1 构件复用技术基本概念 软件复用技术:所谓软件复用是指在开发新的应用系统时使用以前开 发的软件资源,如设计、代码、文档等,从而提高系统开发效率及软件质 量。 构件:软件构件是一个封装的、规范的、可重用的软件模块,是规范 1 , 西安理工大学硕士学位论文 了的对象的组合。逻辑上是相对完整的小功能件,物理上是软件项目的配 置单元。规范的接口称为契约,契约构件框架( 运行环境提供的集成框架, 本身也是构件的集合) 保证该构件得以运行,实施其功能,在外界看来实 现了的构件只是提供使用功能的接口集,其构件只是完成使用功能的黑箱, 插入框架就能用。形象的讲,构件相似于建筑版上的预制板,在相应的软 件开发中,可以从构件库中选择构件,通过构件的组装来构造应用软件, 该系统中通常是多个构件协作完成一定功能,所以构件依赖于组装环境。 为了更好地了解构件的性质,我们可对构件按多种角度进行分类:按开 发过程,构件可分为分析件、设计件、程序件和数据件;按功能分,可 分为三层:基础层为基本数据类构件和系统支撑构件( 小粒度) ,中间层 为各种通用的中间件,顶层为针对领域的专用构件或子系统构件( 大粒 度) :按使用方式,可分为动态和静态两种:按构件的结构,可分为原子 构件及由多个构件聚集的组合构件。 构件框架:框架是构件实例“即插即用”的支撑结构。通过一定的环 境条件和交互规则,构件框架允许一组构件形成一个“孤岛”,独立地与 外部构件或其他框架交互和协作,因此构件框架及其内含的构件也可以视 为一个构件,于是构件通过不断的迭代和合成,构成一个结构复杂的应用 系统。可以晓,一个框架是一个可复用的设计构件,它规定了应用的体系 结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程, 表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下 文关系。因此构件库的大规模重用需要框架”1 。 基于构件组装的框架就是黑盒框架。应用开发者通过整理、组装对象 来获得系统的实现。用户只须了解构件的外部接口,无须了解内部的具体 实现。在理想情况下,任何所需的功能都可通过组装已有的构件得到,事 实上可获得的构件远远不能满足需求,黑盒框架也是系统开发希望达到的 理想目标。 构件技术和框架技术是支持软件复用的核心技术。 基于构件和x m l 技术的乘 生信息系统开发研究 构件复用是软件复用技术的最新发展成果,通常可分为两类:产品复 用和过程复用。产品复用指对软件开发过程中生成的各种产品( 需求规约、 设计、程序、测试计划和数据等) 构件的复用,这涉及可复用构件的建造 ( 从现有系统中获取及有目的的生产) 及可复用构件的使用两个方面,通 过专业性的构件开发和基于构件复用的系统集成实现软件的工业化生产。 过程复用指通过采用自动化技术,复用关于软件系统生成或变换的知识, 从而使得可以从需求描述出发,通过生成或变换,自动生成最终所需的系 统,应用生成器、程序变换器和可执行规约语言均是过程复用的例子。完 全通用的过程复用意味着软件生产的自动化,是非常理想的软件复用方式, 但在目前技术发展水平下,由于复用难度大,不易实施,仍是难以企及的 目标。产品复用成为主要的研究课题。 构件复用包括三个相关的过程: 可复用构件的开发: 可复用构件的管理; 基于可复用构件的应用系统构造( 集成和组装) : 其核心是:制作构件和如何提取可复用构件以及如何组装成系统并能 实现互操作。 3 1 2 基于构件复用的软件开发方法 软件行业的工业化趋势导致了软构件的产生。能够像硬件系统那样, 将部分软件组合起来构建软件系统,一直是软件行业多年来追求的目标。 很多应用信息系统软件的开发( 例如很多行业和单位的m i s 系统) ,若能结 合系统的实际情况充分利用已有的软件构件,将会大大提高生产效率,减 少大量的重复劳动。可以说,软构件技术的出现是对传统软件开发过程的 一次变革。构件( c o m p o n e n t ) 是可复用的软件组成成份,可被用来构造其 他软件。它可咀是被封装的对象类、类树、一些功能模块、软件框架 ( f r a m e w o r k ) 、软件构架( 或体系结构a r c h i t e c t u r a l ) 、文档、分析件、 设计模式( p a t t e r n ) 等。构件分为构件类和构件实例,通过给出构件类的 西安a - t - 大学硕士学位论文 参数,生成实例,通过实例的组装和控制来构造相应的应用软件。 所谓基于构件的开发( c o m p o n e n t b a s e dd e v e l o p m e n t ,简称c b d ) 是 一种软件开发新模式,它是在一定构件模型的支持下,复用构件库中的一 个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的 过程。面向对象技术已达到了类级重用( 代码重用) ,它以类为封装的单位。 构件将抽象的程度提到一个更高的层次,它是对一组类的组合进行封装, 并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个 构件隐藏了具体的实现,只用接口提供服务。这样,在不同层次上,构件 均可以将底层的多个逻辑组合成高层次上的粒度更大的新构件,甚至直接 封装到一个系统,使模块的重用从代码级、对象级、架构级到系统级都可 能实现,从而使软件像硬件一样,能任人装配定制而成的梦想得以实现。 其过程如图3 一l 。 持久。陆) 图3 一l 基于构件的插座式组装的信思系统开发 基于构件的软件工程和基于构件的设计的研究方向: ( 1 ) 基于构件软件工程方法的概念模型:研究软件过程模型; ( 2 ) 构件模型:研究构件的本质特征及构件间的关系; ( 3 ) 构件获取:有目的的构件生产和从已有系统中挖掘提取构件: ( 4 ) 构件描述语言:以构件模型为基础,解决构件的精确描述、理解及组 装问题; ( 5 ) 构件库( 构件分类与检索) :研究构件分类策略、组织模式及检索策 略,建立构件库系统,支持构件的有效管理: 基于构件和x m l 技术的柔性信息系统开发研究 ( 6 ) 构件集成组装:在构件模型的基础上研究构件组装机制,包括源代码 级的组装和基于构件对象互操作性的运行级组装; ( 7 ) 标准化:构件模型的标准化和构件库系统的标准化; ( 8 ) 构件系统的安全性问题和时效( r e a l t i m e ) 问题。 构件复用对于提高开发效率和软件质量有着巨大的发展潜力,目前的 热点之一是提供验证合格的构件,也可以说构件复用可以通过恰当的使用 构件库得以实现。在构件库支持下,软件工程师应该能够“取众家之长”, 避免开发已有的软件。 构件复用是提高软件产品质量和软件开发效率的关键技术。 构件复用首先可以提高软件开发速度。一个有8 0 可重用能力的软件开 发公司将比同等规模但只有2 0 可重用能力的公司具有更大的生产能力。这 意味着用更少的人能开发更多的产品,同时也意味着能在更短的时间内能 开发出更多的产品。基于构件开发的最重要的方面就是构件的开发,管理 和构件的组装。构件复用还可以提高系统的稳定性。“1 3 1 3 构件复用技术中的关键问题 构件库和框架构件是基于构件开发技术的核心。 构件库的本质问题是如何建立构件的智力模型,从而用精确的方法表 达构件的语义,使c b d 过程中构件能够得到正确的理解和复用。基于构件 的软件工程和基于构件的开发是以构件库为中心的开发模型,构件库是领 域工程和应用工程两个开发过程的桥梁。构件库系统当然是一类数据库管 理系统,它具备数据库的基本特征和功能,为了向基于构件的应用系统开 发提供构件,构件库管理系统必须能够存储构件和构件相关信息。构件的 语义描述,构件的分类,构件的形态,构件的技术环境,包括构件的开发 工具、配置方法和部署环境等。为了能够管理和维护构件信息,构件库管 理系统必须能够提供如下的操作:构件的添加;构件的检索;其他构件库 管理手段:构件的删除、备份、用户登记和存取控制、使用跟踪和统计分 析、异构构件库的连接等。为了实现构件复用的基本目标,构件库必须提 西安理工大学硕士学位论文 供许多有重用价值的软构件,并且这些软构件的功能或行为不能像函数 库的标准函数那样刻板、单调,而应表现出可适应不同软件开发项目的 灵活性。“” 构件库是由构件组成的,对于构件的开发,通常应遵循以下几条原则: 系统结构分层,业务与实现分离,逻辑与数据分离,将应用逻辑独立分离, 可即插即用替换构件,让系统易于升级。应用逻辑是应用系统的核心,分离 出来有利于高质量、高效处理。在多层结构应用系统中,如果应用服务器 上所用中间件有变化,独立分离出来的应用逻辑则不会受到影响。在利用 已有构件或购买的构件进行组装时,需要编制一些粘合代码,对这些完成粘 合定制构件的代码最好也要构件化,尽可能按容器方式构造,以便构成高 层上的构件。以接口为核心,使用开放标准构件设计的目标就是即插即用, 写一次,处处可用。用构件组合定制开发,接口很重要,它是构件之问的契 约。一个接口提供一种服务,完成某种逻辑行为。构件接口由两部分组成: 一是署名部分,即构件本身提供服务的描述:二是行为部分,即构件行为的 描述。一个构件可以有一个或多个接口,在应用系统中,各构件接口必须 用统一标准。开发者自已开发的构件,也必须用相同标准来提供a p i 接口。 构件语义的描述要形式化,构件接口的标准化实质上是构件语义形式化描 述措施的一个重要方面。除此以外,还有前置和后续条件定义操作、命名 上下文标准、目录和目录上下文标准、事务服务描述符、部署描述符等, 事务语义定义、资源分布部署说明等。1 框架的= 最大好处就是重用。面向对象系统获得的最大的复用方式就是 框架,一个大的应用系统往往可能由多层互相协作的框架组成。由于框架 能重用代码,因此从已有构件库中建立应用变得非常容易,因为构件都采 用框架统一定义的接口,从而使构件间的通信简单。框架能重用设计。它 提供可重用的抽象算法及高层设计,并能将大系统分解成更小的构件,而 且能描述构件间的内部接口。这些标准接口使在已有的构件基础上通过组 装建立各种各样的系统成为可能。只要符合接口定义,新的构件就能插入 基于构件和x m l 技术的柔性信息系统开发研究 框架中,构件设计者就能重用构架的设计。 框架必须是健壮的、可扩展的、灵活的,且支持动态内容,它要求基于 开放或共享标准。框架的设计要力求做到:完备性、灵活性、可扩展性、 可理解性,同时抽象能用于不同的场合;用户能轻松地添加和修改功能, 定制框架;用户和框架的交互清晰,文档齐全。框架设计的一个核心问题 就是发现可重用的设计和“热点”,以保证框架具备充分的灵活性,使用 户能在已有构件的基础上生成应用程序,实现“零代码编写”的理想目标“”。 框架的设计是一个反复的过程,在这个过程中需要领域和设计两方面的专 家意见,框架用户和框架开发者之间的交流对框架的设计也很重要,因为 框架是在不断反复的过程中逐步成熟的。应用框架能高度抽象同一领域内 的问题,进而降低开发难度和强度。虽然框架和构件技术已经出现许多年 了,开始走入实用,但还不成熟,有大量问题有待研究。 总的来说,框架必须具有下面的特征: ( 1 ) 模块化:框架将多变的实现细节封装于固定的接口之中,提高了软件 的模块性,改善了应用程序的质量,同时也有助于理解和维护已有的软件。 ( 2 ) 可复用性:框架定义的固定接口可被用来制造新的应用程序,框架的 可复用性利用了有经验的开发者在该领域的专业知识和开发结果,避免了 后继开发人员针对该领域中的同一问题和需求做重复的劳动,框架构件的 复用能大幅度提高后继开发人员的产量,同时能够改善软件的质量、性能 和可靠性。 ( 3 ) 扩展性:框架通过提供显式的“钩子”方法,允许应用程序来扩展其 应用接口,这样就提高了框架的扩展性。“钩子”方法系统的为框架的固定 接口和由于不同接口而产生的应用程序行为之间进行交互。 ( 4 ) 反向控制:框架是一种运行时的体系结构。这种结构被称为“反向控 制”,它使得标准的应用程序能被框架派发机制一步步的定制。方向控制允 许框架,而不是应用程序决定用何种方法来响应外部实践。“” 西安理工大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论