(计算机应用技术专业论文)基于构件和构架技术的mis开发方法研究.pdf_第1页
(计算机应用技术专业论文)基于构件和构架技术的mis开发方法研究.pdf_第2页
(计算机应用技术专业论文)基于构件和构架技术的mis开发方法研究.pdf_第3页
(计算机应用技术专业论文)基于构件和构架技术的mis开发方法研究.pdf_第4页
(计算机应用技术专业论文)基于构件和构架技术的mis开发方法研究.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机应用技术专业论文)基于构件和构架技术的mis开发方法研究.pdf.pdf 免费下载

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

文档简介

牡 构件取l f j 裂技术的m i s 扦发矗i 2 1 0 t 究 【摘要】 g 前有许多软件组织在从事管理信息系缉m a n a g e m e n t l n f o r m :l i i 。n s y s t e m ) 的丌发工作。而基于构件和构架的软件复用技术是近年来软件工程学的前沿研究 内容。大量的m i s 在丌发目标、应用领域、丌发方法等各方面具有许多相通的 地方,这使得将基于构侈和构架的软件复用技术应用到m i s 丌发中来具有很强 的可行性和现实意义。,通过对m i s 开发进行领域分析、构架建立、构件选取和 组装等一系列j 作,可以在很大程度上减少重复劳动,降低丌发复杂程度,同时 可以满足多个应用领域的要求。能够在大型构架构件库的支持下,利用现有的、 质量好的、可靠性强的构件和构架,按照大规模软件丌发的工程规范进行开发。 这样不仅提高了玎发效率,减少了开发所需的人力和物力,也使得丌发过程更加 有序和规范,有利于丌发过程的管理和改进。 本文对目前m i s 开发的现状作了简要分析,从消费者复用和生产者复用两 个角度探讨了如何将构件和构架技术引入到m i s 丌发过程中去,并以作者参与 , 发的一个m i s 作为实例,重点分析了m i s 丌发过程中的生产者复用是如何进 行的,同时给出了若干m i s 子领域的参考构架。在此基础上,本文总结出綦于 构件和构架技术的m i s 丌发的概要性实施方案。 【关键词】 软件复啊,构件,构架,生产者复用消费者复用,扩展点,刻丽 太 v v& 【分类号】 带l j 螽写 复t 3 人学硕i :学位论史 旌j 一蜘“h i 蜘棠十l 术的m i s 】f 技方法f w 究 a b s t r a c t 】 s o f t w a r er e u s et e c h n o l o g i e sb a s e do nc o m p o n e n t sa n da r c h i t e c t u r e sa r eah o t a r e ao fs o f t w a r e e n g i n e e r i n g i nr e c e n t y e a r s a n dm a n a g e m e n t i n f o r m a t i o n s y s t e m ( m i s ) i sv e r yp o p u l a rn o w m a n ym i sd e v e l o p i n g w o r k sh a v ec o m m o n p o i n t s i ns u c ha r e a sa sd e v e l o p m e n tg o a l s ,a p p l i c a t i o na r e a s ,d e v e l o p m e n tm e t h o d sa n ds o o n s oi t sv e r yf e a s i b l ea n dm e a n i n g f u lt oi n t r o d u c et h et e c h n o l o g i e so f c o m p o n e n t s a n da r c h i t e c t u r e si n t ot h ed e v e l o p m e n to fm i s i nt h i sa r t i c l e ,t h ea u t h o rm a k e sb r i e fi n t r o d u c t i o no nt h ec u r r e n ts i t u a t i o no f m i s d e v e l o p m e n tf i r s t l y t h e nt h ef o c u si sp u to nh o wt or e a l i z em i sd e v e l o p m e n t b a s e do nc o m p o n e n ta n da r c h i t e c t u r et e c h n o l o g i e s t h ep r o b l e mi sc o n s i d e r e df r o m t h ef a c e t so fp r o d u c t e rr e u s ea n dc o n s u m e rr e u s e t h e nt h ea u t h o rt a k e sas a m p l em i st oe x p l a i nt h ep r o c e s so fp r o d u c t e rr e u s e a n ds o m er e f e r e n c ea r c h i t e c t u r e so fs u b d o m a i n so fm i sa r eg i v e n b a s e do nt h i s w o r k ,t h ea u t h o rg i v e so u tap r a c t i c a lp l a no fd e v e l o p i n gm i sw i t ht e c h n o l o g i e so f c o m p o n e n t sa n da r c h i t e c t u r e s k e yw o r d s s o f t w a r er e u s e ,c o m p o n e n t ,a r c h i t e c t u r e ,d o m a i na n a l y s i s ,f a c e t 复人学坝l 。学位论且:2 艰j 一曲牛和f 构架技术m i s 开发力法川砣 绪论 软件复用技术是近年来软件工程学的自u 沿研究内容。软件复川的发点是 i j :应用系统的丌发不再采用一切从头开始的模式,而是以已有的工作为攮i i i j ,充 分利用过去系统丌发中积累的丌发结果和经验,如:需求分析结果、发汁方案、 源代码、测试计划和案例等,从而将丌发重点集中于应用的特有构成成分。 通过软件复用,在应用系统丌发中可以充分地利用已有的劳动开发成果,消 除了包括分析、殴计、编码、测试等在内的许多重复劳动。从而提高了软件丌发 的效率。同时,通过复用高质量的已有丌发成果,避免了重新丌发可能引入的错 误,从而提高了软件的质量。 构件和构架技术是实现软件复用的关键技术。构件( c o m p o n e n t ) 是指应用 系统中可以明确辨识的构成成分。而可复用构件( r e u s a b l ec o m p o n e n t ) 是指具 有相对独立的功能和可复用价值的构件。构架则是指软件系统中软件成分( 或构 件) 的组织结构、约束和关系,它是对系统的组成、系统结构以及系统如何工作 的较为宏观的描述。 日i j i 有许多软件组织在从事管理信息系统( m a n a g e m e n ti n f o r m a t i o ns y s t e m ) 的j t 发工作。而基于构件和构架的软件复用技术是近年来软件工程学的前沿研究 内容。人量的m i s 在丌发一标、应用领域、丌发方法等各方面具有许多丰【 通的 地疗,这使得将基于构件和构架的软件复用技术应用到m i s 丌发中柬贝有报强 的一,行性和现实意义。通过对m i s 丌发进 亍领域分析、构架建立、构件选取和 甜i 黻等一系列工作,可以在很大程度上减少重复劳动,酶低丌发复杂程度,同时 1 j 以满足多j 矗j j j 顶域互j :。能够l ! i 人。丝1 0 菜j 0 f l j 帕上j ,f 4 j j j 现j ,j , 质艟好的、可张r l :强m 0 内什和f j = j 架,按照人j ! i ! 馍软什j r 发的j j 程舰范逃“) r 发。 这样小仅提高了) l :发效率,减少了j r 发所需的人j j 和物力也使得丌发过椰更 仃瞄和舰范有利j :jr 发过程的管罡i ! 和改j ! l ! 。 本文的i - 旨征州j 究如n 口将躯j : :i 件干拗架的软什三:f 川技术应t l j - 5 - :0m i s r 发i 作i l t 去。具体结f ;: ! f l | f : 笫。氍、j “im i s 外发t ;i f 况们简介和分 ;:简要分忻“im i sn 0 段 状况也挢m i s 的 发坂! f ! l j ,外毁i i - 所需沌意的m 越 发策 略,l :婴的j l :发方法等等。 笫:翡物r j :垌j 构架j ;6 乏其捌关技术:0 要介绍了软件复脚的概念,以及 软件复j 所涉及的_ _ l 三要技术,包括陶件、 f :j 架、领域i :f l ! 等等。 笫j i 章丛f j 二构件平构架技术的m i s ”发过私分析:从_ ;l i 赞栉复川、 牛j “:拧堑川、复川支持者二! 个j 发分析了如何将掬f l :, f lm 构架技 术,) l 入到m i sj r 发过程一p 去。 复q 人学颤i :学l 芷论史 摧十掬件和构禁让术的m i s 开发方法l j f 究 第四章 第厶章 第六章 附录 从一个例子看m i sj i :发过程中的生产者复用: 以作者参与丌 发的一个管理信息系统作为例子,分析了如何在丌发过程中实 现生产者复用,同时提出了若干m i s 子领域的参考构架。 基于构件和构架技术的m i s 丌发实施方案:从消费者复用和 生产者复用两个角度提出一个比较详细的基于构件和构架技术 的m i s 丌发实旋方案。 总结与展望:总结全文所做的工作,指出不足之处,提出以后 工作的前景。 基于c 2 风格的构架描述语言:对文中所使用到的基于c 2 风 格的构架描述语言的语法做简要说明。 复q 人学颤l 。学位论文 坫 蜘“扣l f ;j 禁技术的m i s 慢疗法川 第一章当前s 开发情况的简介和分析 1 1 管理信息系统( m i s ) 简介 、 管理信息系统( m i s ) 在现代社会中已经深入各行各业,它是一类f 1 常事务 处理系统,在此系统中,为管理的需要进行信息的收集、传递、存储、加工、维 护和使用,并把信息反馈给上层管理人员,以便反映出在达到主要目标方面的进 展或不足。一个管理信息系统能使行政寿 j 门及时地管理一个公司的情况。 m i s 是个不断发展的新型学科,它的定义随着计算机技术和通信技术的 进步也在不断更新,按照其名称进行基本概念分解,可分为管理、信息和系统置 个部分,事实上m i s 正是在这三个科学领域的基础上发展起来的。信息是经过 加:f :的数据,反映着客观事物,信息以数据、文字、符号、声音和图象等各种不 同的形式表示出来。这些形式经过转换都可以输入到计算机中。信息的主要特征 是来源分散,数量庞大。在管理信息系统中,信息是管理的对象。管理的含义 般晚来就是计划、组织、领导和控制的活动。利用已有的和可以争取到的各种资 源,在实现其目标的过程中,所应用的一切思想、理论和方法就构成了管理的士 要内容。系统是 自相互联系、相互f l - j f j 的若于要素按一定的法则组成并具有+ 定 功能的整体。一个大系统还可以分成若下个子系统各子系统又可以有它自己的 组成部件。系统有两个以上要素,各要素和携体之棚,整体和环境之j 存在一定 的有机联系。系统 l j 输入、处理、输f l :、反馈、控制血个基本要素组成。管圳信 ,0 | | j f i ,0 1 j 0 乐l 、n 心i n f o j 址、n 髓。帕l ,j 、h 。以的朋i _ j 、f 。j 0 、怕难j j 耶j 0 , 使j i j i 个厅l f f i 甜l 成。 仟何地j j - j l 璎订箭耻就必然有托想,如粜形成系统就形成m i s 。计锥f j l i 5 衙 使m r s 盟! 仃设,尤j 魁现代i ! f = 会,m i sl 二嗣f f 鲜机没帑彳:i 叮分离,f f 此殷来 酏m i s 就址汁l # 机m l s 。m i $ 也撕汁弹 l 、网络通信设符等硬件成份,包括操 f 1 :系统、应川软件包等软r 卜成份。并随竹汁算 【技术干通信技术n 0 遐述毁憾j 巫会 脱业多的ij j 7 总之什州托乜,系统址卟综f i r “i j 概念,斯0 还m 小断地 z 之性符。 t ;删信息系统j 种j 占木元素所绑l 成:人、硬什、软件、数搦胙平i :作脱“。 人:+ 个m i s 为氽q ! 的人所使川,时也必须人水控制。mj s 巾的人员 以分为心人类:终端川j 。嗣i 系统技术人抛。根掘匀【彭l 的结构和需要丽彬j i 要分 为一矧0 领学、竹删人员霸l 数据操作人f ,j ,后彳辛包括了系统分析师、系统一张师、 f i i d i ,3 、系统 j :理抛等。 复q 人学颤i 瘁位论土: 坫t 掬件和勺架让术的m i s 开发方法川允 硬件:硬件系统包括了计算机、网络、数捌输入、数据显示殴备、数据存储 i 5 2 衙等。 软件:软件分为操作系统、软件包和为特定应用而编写的应用程序。 数据库:数据库系统是数据和数据管理系统的集合,是m i s :j :作的基础。 工作规程:工作规程包括了对系统的使用规则、安全保证措施、对系统控制 的,法以及对系统中各种人员的职责和权限的规定等。 个组织的管理信息系统可分解为四个基本部分: 1 、基本操作部分,主要完成数据的收集、输入,数掘库的管理、查询、基 本运算、闩常报表的输出等。 2 、分析部分,主要在基本操作的基础之上,对数据进行深加工,如运用各 种僻理模型、定量化分析手段、运筹学方法等对组织的生产经营情况进行分析。 3 、决策部分,m i s 的决策模型多限于以解决结构化的管理决策问题为主, j # 决策结果要为高层管理者提供一个最佳的决策方案。 4 、数据库部分,主要完成数掘和信息的存贮、组织、备份等功能,数据库 比管理信息系统的核心部分。 此外,一个组l 织的管理信息系统可以根掘管理功能的不同划分为不i h f l :jr 系 统。例如: l 、库存管理子系统,功能包括对库存的控制、库存台账的管理、订货计划 的制定和仓库i ,l 身管理等。 2 、,ij “0 等理j ,系统,功能包括物科需求计划的制定、生产计划的安排、乍 j 6 涮嫂秆1 1 1 常化产数1 l l ;的符,l ! s b 折等。 3 、人j 1 = 竹州j :系统,功能包括人员的档案管理、人员考勤精况符删、人员 符 j l i 保险j 金的竹f i 和人员培训计划的制定等。 4 、m t 务竹州r 系统,功能包括* l 务帐| i 符州、小产:经营成小竹州、 多 : 凡 f i 圳i ! 蟹汁刨f i :l :l i i l 宅等 5 、 f l j 佴竹删j ,系统,j j j 能也抓钔舛汁划的制定、销化状:兄分惭、帧笄佑0 , 的竹删干钔 i ;介川的符理等。 6 、决策支特r 系统,功能也括介_ k 绛恃战略的制定、企_ k 资洲i n 0 分眦博。 j i 系统的划分w 氽业帕生产经营特点的一;同而存张差异,i 二砸的六个j 力能j 系统般氽、i k7 f | ;j 彳的,而l t j :面i 的每个彳系统可以进行更细层;久的划分。 橄抓f i 川的划分标准,可以列m i s 进行如下分类 复n 人学蟛li :学位论史 堆寸一构件羊均架 上术的m i s 开发方法州究 1 基于组织职能进行划分 m i s 按组织职能可以划分为办公系统、决策系统、生产系统和信息系统。 2 基于信息处理层次进行划分 m i s 基于信息处理层次进行划分为面向数量的执行系统、面向价值的核算系 统、报告监控系统,分析信息系统、规划决策系统,自底向上形成信息会字塔。 3 基于规模进行划分 随着电信技术和计算机技术的飞速发展,现代m i s 从地域上划分已逐渐由 局域范围走向广域范围。 4 m i s 的综合结构 m i s 可以划分为横向综合结构和纵向综合结构,横向综合结构指同一管理层 次各种职能部门的综合,如劳资、人事部门。纵向综合结构指具有某种职能的各 管理层的业务组织在一起,如上下级的对口部门。 复q 人学确i :学位论文 坫j f 圳牛私】柏架拙术的m i s ,f 发疗法川冗 1 2 当前m i s 开发状况 1 2 1 开发原则 在m i s 的丌发过程中,般应该遵循以下原则: 创新原则,体现先进性。计算机技术的发展十分迅速,要及时了解新技术, 使用新技术,使目标系统较原系统有质的飞跃。 整体原则,体现完整性。企业管理可以理解为一个合理的1 闭环系统。目标 系统应当是这个l 闭坏啄统的完善。企业完整的实现计算机管理不一定必须在企 业的各个方面同时实现,但必须完整的设计系统的各个方面。 不断发展原则,体现超前性。为了提高使用率,有效的发挥m i s 的作用, 应当注意技术的发展和环境的变化。w i s 在开发过程中应注重不断发展和超前意 识。 经济原则,体现实用性。大而全和高精尖并不是成功m i s 的衡量标准。事 实。e 许多失败的m i s 正是由于盲目追求高新技术而忽视了其实用性。盲目追求 完善的m i s 丽忽视了本单位的技术水平、管理水平和人员素质。 1 2 2 开发中所需注意的问题 m i s 的丌发是一个复杂的系统l :程它涉及到计算机处理技术、系统理论、 纠l 织结构、管理功能、管理知订 等各方而的问题,至今没有一种统一完备的丌发 疗法。但是,每一种开发方法都要遵循相应的开发策略。任何一种) 发策略i i i ;要 :9 j l a j 以i j 逝: l 、系统要解决们问题如采取f 4 种办,解决组织竹列剐f 羔乜处雕,j i f i i i 门问 题对食、i k 捉 j 的新的管理需求陔 c i i f i i f 满足等。 2 、系统可行性研究确定系统所篮史脱n :“i 标。j 通过对企q k 状;j 己的例步 j m 彤f 搿现状分析的结架,然后提“j i , r i i f k 厅案j f 进 i 论“。系统i , j 行性的i i j f 究乜 抓i | 枷:霹l 万案的州行性、技术n r 行竹、经济方| f i 的可 j :性别i l :会;j ;i 响,j f l i 的号 i g 。 3 、系统 发的昧! j ! i j 。n :系统j r 投j f i i ! i t t ,篮遵衍领岢参1 i 、优化刨新、。典 川1 一浯效、处删规范化的原则。 4 、系统丌发f j i 的准符:t = 作,作女rj l :发人员的组织准符和企q k 捧 i :l 准符一l - 作。 5 、系统j f 发方法的选择和j r 发汁划的制定。针对已经确定的j r 发策略选定 十成n 勺) f :发方法,足结构化系统分析和i 5 汁疗法,还足选择原,锂法或丽阳对象的 j 厶j i :发计划的制定足婺l 删确系统外发f ( j l :f l - i l 划、投资计划、,l + 程进度计划 i l 资源利川计划。 复口人擘峨l :学证论文 l o 牡- i 构件嗣1 构婴扎水的m i s 开发方法m “ 1 2 3 开发策略 m 1 s 的丌发策略一般有自上而f 和自下而二两种。自上而下( t o p d o w n ) , 从企业管理的整体进行设计,逐渐从抽象到具体,从概要设计到详细设计,体现结 构化的设计思想。自下而上( b o t t o mu p ) ,设计系统的构件,采用搭积木的方 式组成整个系统,缺点在于忽视系统部件的有机联系。 两者结合是实际丌发过程中常用的方法。通过对系统进行分析得到系统的逻 辑模型,进而从逻辑模型求得最优的物理模型。逻辑模型和物理模型的这种螺旋 式循环优化的设计模式体现了自上而f 、自下而上结合的设计思想。 完整实用的文档资料是成功m i s 的标志。科学的玎发过程从可行性研究丌 始,经过系统分析、系统设计、系统实施等主要阶段。每一个阶段都应有文档资 料并且在丌发过程中不断完善和充实。 1 2 4 开发方法 管理信息系统的丌发有多种方法,有些方法的基本思路就不相同,有些方法 则是相互i 日j 只有细小的技术上的差别。概括起来讲目前广泛使用的主要足以下二j 类: 1 结构化系统丌发方法 结构化系统设计方法是在d i j k s t r a 等人提出的结构化程序设计思想堆l i ; ;j 二发 展起来的,其基本思想是用系统的思想,系统一 程的方法,按用j 。至一t :f l :j 蹶则, 结构化、模块化,自顶向f 对信息系统进行分析与设计。结构化分析、结f :l 化发 汁,结构化程序设计( 简称s a s d s p 方法) f 】瀑以i 模型来模拟。各阶段的工作 n 顶向卜从抽象到具体顺序进行。结 ;:i 化 发疗法适合,l :发规模1 i 大、川户蔼i 二j 之 矗消晰叫确、“_ 户业务流程杆l 对稳定小变的系统。 订! 结f f = 化系统j r 发办法- hl :要他川的盯发摸鸭址瀑打i 模型。瀑钳 :c ! 州意味 竹n :巾命j 剖 】再阶段m 存作苻浒的顺瞄 1 1 1 i 依仃。瀑和模趔避甲j i l jm i s 波 | 的1 :蛭下段 川结构化,i - 命j 用j j 玎发厅法r 发。个系统,将牿个j i :发过椰划分为l 个依;i : 连接的阶段: ( 1 ) 系统规划阶段1 :要住务是l 刿硫系统j l :发帕消求,i :进行初步的州f t f 通过可行件研究确定r 阶段的实施。系统规划方法行战略i j 标集转化法( s s t s t r a t e g ys e tt r a n s f o r m a t i o n ) 、天键成功阴素法( c s f c r i t i c a ls u c c e s sf a c t o r s ) 和食、i k 规划法( b s p ,b u s i n e s ss y s t e mp l a n n i n g ) 。 ( 2 ) 系统分析阶段,1 i 要侄务足对纠l 纵缩黝j 功能进行分析,州i i i 食、业 复避人学碳l :学位论义 牡卜f ! j 件和f f j 禁技术的m i sj f 发矗沾圳充 务流榉和数据流程的处理,并且将企业业务流程与数据流程抽象化,通过对功能 数拟的分析,提出新系统的逻辑方案。 ( 3 ) 系统设计阶段,主要任务是确定系统的总体设计方案,划分子系统功 能,确定共享数据的组织,然后进行详细设计,如处理模块的设计、数据库系统 的设计、输入输出接口的设计、界面设计等。该阶段的成果为下一阶段的实施提 供了编程指导书。 ( 4 ) 系统实施阶段,主要任务是讨论确定设计方案、编码、对系统模块进 行调试、进行系统运行所需数据的准备、对相关人员进行培训等。 ( 5 ) 系统运行阶段,主要任务是进行系统的r 常运行管理,评价系统的运 行效率,对运行费用和效果进行监理审计,如出现问题则对系统进行修改、调熬。 这五个阶段共同构成了系统丌发和维护的生命周期。结构化生命周期7 | 发方 法,一格区分了丌发阶段,非常重视文档工作,对于丌发过程中出现的问题可以得 到及时的纠讴,避免了出现混乱的状态。 但是,陔方法不可避免地出现丌发周期过长、系统预算超支的情况,而且在 开发过程中用户的需求一旦发生变化,系统的调整将花费高额的代价。另外,用 户与系统研制人员之间的思想交流不直观,丌发过程较为复杂。 2 原型法系统丌发疗法 原j ! 法是近年来针对结构化系统丌发方法的缺陷提:j :的设计新途径,足适应 当i 阿 f 算机技- 术的进步及对软件需求的极大增长而出现的。是一种快速、灵活、 交。旺式的软件丌发方法学。其核心是用交互的、快速建立起来的原型取代了形, 帕、般硬的( 4 :易修改的) 规格i 兑明,用户通过在汁算机e 实际运行和i 试j j 原,铿 i n j | - 外发行捉 真实的反馈意见。快速原型法的实现基础之一足可视化的第心代 i 占i 的脱。 n :使川顾弘法丌z 之系统的过程t h j l :始就凭蔚系统分析人员对川j 一要j j 之的 o l ! l i j f 竹! 姒订j 的软件巧境支持卜| 给:f ;一个实实在在的系统摸型( 或称味j 弘、 俯j p l 这个榉,足j :2 火哒了系统分析 、奠耐“1 前f 1 j f ,婴求的删懈和f 他芾弘系缝 吱啦n f l 0 形八然后系统分析人员和i ij ,t 遴,时这个摸- i i t ! 逍行盯价。惦i :i 4 i j i f i j 诬能够;戚少软件系统后! o j f r :j f l n 7 、j 5 1 1 1 j ,仕系统功能能小确j 王映川p 的j 踮二j , 3 f f 阳对象的系统”发力_ 去 i l l i l f i i 对象的系统”发疗法越把j f i j i ; l 对象的思恕应川f 软件外发过张i ,指导 ”发; z 巩的系统疗法。它所川。发的软件系统列象匀i 成。埘象以腻r t 及操f l q l 为 接| l ( 界j f j i ) ,坎川栉从可越过接门访问对象( 请求) j 】j 王务) ,对象的: 伟实现绑 复】人学颇l :举垃论且= 杜卜f j j 件f f ;j 架救术的m i s ,r 发方法卅 肯对外是不可见的。这些特征使得软件系统的体系结构是模块化的,这种体系结 构易于理解、扩充和修改。当对象的接口确定以后,实现细节的修改不会影l 札其 它对象,可维护性好。同时也便于分配给不同的丌发人员去实现,依据规定的接 门能方便地组装成系统。 面向对象的系统丌发分为三个阶段:分析阶段、设计阶段和实现阶段。在分 昕阶段,识别系统中的对象以及它们之乜j 的关系;在设计阶段,仍延用分析的结 果,并根据实现的需要增加、删除或合并某些对象,或在某些对象中添加相关的 属性和操作,同时设计实现这些操作的方法;在实现阶段,则利用程序设计语言 - 束描述这些对象以及它们之问的联系。 面向对象方法符合人们对客观世界的认识规律,所丌发的系统相对比较稳 定,其体系结构易于理解、扩充和修改。当对象的接口确定以后,实现细节的修 改不会影响其它对象,可维护性好。同时也便于分配给不同的歼发人员去实现, 依据规定的接口能方便地组装成系统。另外,面向对象方法中地继承机制有力地 支持软件的复用。 复q 人学蛾i :学位论文 j f f = j 什秆i f f j 架技术的m i s 肝发疗法究 第二章构件和构架及其相关技术简介 2 1 关于软件复用 复用概念的第一次引入是在1 9 6 8 年的n a t o 软件工程会议上,m c l l r o y 的论 文“大量生产的软件构件”晕。在此之前,子程序的概念也体现了复用的思想。 但其目的是为了节省当时昂贵的机器内存资源,而不是为了节省丌发程序的人力 资源。在其后的发展过程中,有许多复用技术豹研究成果和成功的复用实践活动。 但是,复用对整个软件产业的影响并不尽如人意。技术方面的不成熟是主要的原 因。近十几年来,面向对象技术出现并逐渐成为主流技术,为软件复用提供了基 本的技术支持。软件复用研究重新成为热点,被视为解决软件危机,提高软件生 产效率和质量的现实可行的途径。 】l ;i 我们所从事的各种应用系统的丌发,主要包括需求分析、设计、编码、 测试、维护等几个阶段。如果每次丌发系统时都是从头丌始,那么在7 r 发过程中 必然存在大量重复性的劳动。包括用户需求获取的重复、需求分析和设计的重复、 编码的醺复、测试的重复和文档工作的重复等。 时我们所丌发的各种应用系统进行分析,可以发现应用系统通常e “三利一成分 绑i 成: 1 通f 1 的璀本成分是与府i h 铺 城无关的构成成分例如通用的数抑;结构、 f t j f t 界i t i i ) t j 豢等等可以存在f 各种应丹】系统中。 2 领域j 作成分。是h ;2 1 1 】系统所腻领域的共性构成成分,存在j 二孩领域的符 利t 心川系统i 1 1 0 3 i , v i j0 川成分。址博个i , ;z 1 1 j 系统的特订构成成分。 j 遁川系统的弧复j j 发卜要址f i i i l , v _ i 类成分的重复) :发,我们进行软f ,| = 复川 :篮 比址引 0 肺n 光成分复川。 软什丝川的发点址i l :l , m l tj 系统的jr 发不i 耳采川切从三lj l :始的摸j ,i n j 址 以t z h - f f ji :作为攮硎:,充分利川过上系统) r 发巾积岽的,i :发结粜和经验如: j 求分忻 粜、i ! 汁方案、源代码、测试计划和案例等,从而将 发m 集一f ,1 i 成 川的特仃 = ;:l 成成分。 丑噩过软件复川,在应川系统j f :发t l - i 叮以充分地利1 j 已订的j i :发成果,消除了 也括分h i 、波汁,编码、测试等拍! 内许多重复劳动。从而提高了软1 1 :j f :发的效 复q 人学蝴卜学位地文】4 堆卜f 勾件秆i 栩艇投术的m i sj f 发疗法州笕 率。同时,通过复用高质量的已有j f :发成果,避免了重新j r 发可能引入的错误, 从而提高了软件的质量。 软件复用是指重复使用“为了复用目的而设计的软件”的过程。相应的r 可 复用软件是指为了复用而设h 的软f l 二( 比如构件) 。与软件复用的概念相关,重 复使用软件的行为还可能是使用“并q l ;y , j 了复用目的而设计的软件”,或者是一 个应用系统的不同版本之自j 重复使用代码,严格意义上来说,这些不属于软件复 用的范畴。 以下的类比有助于进一步说明软件复用的概念。在软件演化的过程中,重复 使用的行为可能发生在三个维上: 1 时阃维使用以f f 的软件版本作为新版本的基础,加入新功能,适应新需 求,即软件维护。 2 平台维以某平台上的软件为基础,修改其和运行平台相关的部分使其 运行于新平台,即软件移植。 3 应用维将某软件( 或其中构件) 用f 其它应用系统中,新系统具有不同 功能和用途,即真i f 的软件复用。 这三种行为都藿复使用了现有软件,f 1 1 是,真n i 的复用是为了支持软件在应 川维的演化,使用“为复用而丌发的软件( 构件) ”来更快更好地j r 发新的应f | j 系统。 软件复用可以从多个角度进行考察。依掘复用的对象,可以将软件复h j 分为 ,m 。1 复用承i j 立程复川。产锗复刖指复用已仃的软件构件,通过构件组装和集成水 绺到新的系统。过氍复j j 指复 j 已有的软件) l :发过程,使用可复用的应 j9 i 成器 水l i 动或l 功的7 卜成所需系统。过袱复川依帧j 二软f j | :f j 动化技术的发r ,m l l 通川j 一一些特殊的应j 玎领域。j “,j 复川足j i f 现实旧、 三流的复用途径。 依抓时“f 复川信息进行复j 1 j 的办式,- i 以将软件复用区分为懒俞 ,b lg l c kb o x l 复手i i 龠f w h i t eb o x ) 复川翼愈艇f ) 是拼对l 仃黝”4 :需 蛆以f t t 口修l 1 5 ( “拨i - ,以复川。这足f p 慰的堑川厅。一盒复j f 】 艺l 仃i = ;:j 什j i : 1 :能究个符、川p 前求,需要 【 搬徉j 、;柠求进行适心悱修改后彳能l 儿i 以使川。m 仡人多数成川们组狄过程i h = :i 件们适应r t 修投址必须的。 软什复川7 i j 个丛小问题:。是必须仃可以复川的对象,j 是所复门j n 0 刈象 必须越仃川的,。i 址复川扦必须知j 道盘 何去使| j 被复i i 】的对象。软f i :复川包抓i 撕 个十灭的过程:可复川软件( f f j 什) 的丌发( d e v e l o p m e n t f o r r e u s e ) ,堆j 二可复 复旺人学鳓i :学位论j 【: 堡! :丝盟墨! 丝型丝查塑坚竖! 茎塑鲨型! ! j 软件( 构件) 的应用系统构造( 集成和组装) ( d e v e l o p m e n tw i t h r e u s e ) 。这 两方面的问题都解决好爿算是真f 的成功的软件复用。 2 2 构件和构架及其相关技术 实现软件复用的关键因素( 包括技术因素和非技术因素) 主要包括:软件构 件技术( s o f t w a r e c o m p o n e n t t e c h n o l o g y ) 、领域工程( d o m a i n i n g e n g i n e e r i n g ) 、 软件构架( s o f t w a r ea r c h i t e c t u r e ) 、软件再工程( s o f t w a r er e e n g i n e e r i n g ) 、丌放 系统( o p e ns y s t e r m ) 、软件过程( s o f t w a r ep r o c e s s ) 、c a s e 技术等以及非技术 因素,且各种因素是互相联系、互相影响的,它们结合在一起,共同影响软件复 用的实现。 2 2 1 构件 构件( c o m p o n e n t ) 是指应用系统中可以明确辨识的构成成分。而可复用构 件( r e u s a b l ec o m p o n e n t ) 是指具有相对独立的功能和有复用价值的构件。 可复用构件应具有以下属性:1 有用性( u s e f u l n e s s ) ,构件必须提供有用的 功能;2 可用性( u s a b i l i t y ) ,构件必须易于理解和使用;3 质量( q u a l i t y ) ,构 件及其变形必须能萨确工作;4 适应性( a d a p t a b i l i t y ) ,构件应该易于通过参数 化等方式在不同语境中进行配胃:5 可移植性( p o r t a b i l i t y ) ,构件应能在不同的 硬件运行平台和软件环境中工作。 构件应是抽象的系统特征单元,具有封装性和信息隐蔽,其功能山它的接i - i 定义。构件可以是原子的,也可以是复合的。因此它可以是函数,过程或对象类, 也叮以是亚犬舰模的单元。一个子系统可以是包含其它构件的构件。构件是可配 。起和辜的,这是基二j 二构件j l :发的基石,n 构件之州能车甘互提供服务。 随着刈软件复j | j 删解的深入,构件的概念已经4 i 再局限- f 源代码构件m j 是 延 剑需求、系统和软f l :f l :j 需求舰约、系统和软件的构架、文档、测试计划、测 试案例和数j f :以及他对活动有利的信息。这些信息者| g i f f 以称为t j 丁复用软f l :构 什 我们i , j - 以根据4 i i 州f | ,j 侧丽对构什进行分类: 按,| :发过程构件可分为分析作、设计t l :、代码件和测试什。 按功能分,分为三层:齄础层为揍本操作类构件和系统支撑构件:t ”n q 层为 符种通川的小f r o t l :顶层为针刈箨种领域的专用构件或子系统构件。从粒度j :行 通常底层的粒度为较小1 i 项层的粒度为较大。 按构什的结构分为原了构件及l = i 多个构件聚集的组合构件。 复q 人学颤i j 学位论文 6 牡十构h 和馏架技术的m i s 开发方法“ 构件技术主要涉及的内容包括: 构件获取:有目的的构件生产和从已有系统中挖掘提取构件 构件模型:研究构件的本质特征及构件问的关系 构件描述语言:以构件模型为基础,解决构件的精确描述、理解和组装 问题 构件分类和检索:研究构件分类策略、组织模式及检索策略,建立构件 库系统,支持构件的有效管理 构件复合组装:在构件的模型的基础上研究构件的组装机制,包括源代 码级的组装和基于构件对象互操作性的运行级组装 标准化:构件模型的标准化和构件库系统的标准化 2 2 2 构架 软件构架是对系统整体结构设计的刻画,是系统原型或早期的实现,也可以 理解成关于特定技术如何合作组成一个特定系统的解释,包括全局组织和控制结 构,构件问通信、嗣步和数据访问的协议,设计元素问的功能分配,物理分布, 设计元素集成,伸缩性和技能,设计选择等。 软什 j 架研究如何快速、可靠地从可复用构件构造系统的方式,着重于软件 系统自身的整体结构和构件问的互联。 研究软件构架对于进行高效的软件工程具有非常重要的意义。通过对软件构 架的研究,有利于发现不同系统在较高级别上的共同特性:获得币确的构架对于 进 j 二系统的证确设计非常的重要;对各种软件构架的深入了解,使得软件1 程师 可以根捌一些原则在不同的软件构架之间进行选择:从构架的层次上介绍系统, f f 利r 系统较高级别性质的描述和分析。特别重要的是在基j 二软件复j i j 的软仲 丌发小,为复厢丽7 r 发的软件构架可以作为利t 大粒度的、抽象级别较高的软件 构件进 r 复j j ,j | _ il 软件构架还为构件的组装提供了耩础和j 二f 文,对j i 成功的 复 】n 秆粉拧币崾的意义 阳架技术涉及的内存j :要包括: 软件构架原理和风格 软件构架的描述和规约 特定领域软件构架 构件向软件构架的集成风格 复h 人掌峨f :学位论史 坫r j 。构件和构架于上术的m i s 开发方法圳究 2 2 3 领域工程 领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的 过程,它覆盖了建立可复用软件构件的所有活动。领域是指组具有相似或相近 软件需求的应用系统所覆盖的功能区域。领域工程包括三个主要的阶段: 1 领域分析。这个阶段的主要目标是获得领域模型( d o m a i nm o d e l ) 。领域 模型描述的是领域内系统的共同的需求。这个阶段的主要活动包括确定领域边 界,识别信息源,分析领域中系统的需求,确定哪些需求是被领域中的系统广泛 共享的,哪些是可变的,从而建立系统模型。 2 领域设计。这个阶段的主要目标是获得领域构架( d o m a i l s p e c i f i c s o f t w a r e a r c h i t e c t u r e ,缩写为d s s a ) 。d s s a 描述在领域模型中表示的需求的解决方案。 它不是单个系统的表示,丽是能够适应领域中多个系统的需求的一个高层次的设 计。建立了领域模型之后,就可以派生出满足这些被建模的领域需求的d s s a 。 由于领域模型中的领域需求具有一定的变化性,d s s a 也相应的需要具有变化 性。 3 领域实现。这个阶段的主要行为是定义将需求翻译到由可复用构件创建 的系统的机制。根据所采用的复用策略和系统的稳定和成熟程度,这种机制可能 是一组与领域模型和d s s a 相联系的可复用构件,也可能是应用系统的生成器。 这螳活动的产品( 可复用的软件构件) 包括:领域模型、领域构架、领域特 定的语南、代码生成器和代码构件等。 2 2 4 其他相关技术 软件再工程旨在对现存的大量软件系统进行挖掘、整理以得到有用的软件拗 仲,或对已有软件构件进行维护以延长其生存期。它是一个工程过程,能够将逆 mi 雕、重构和1 1 二向工程组合起来,将现存系统重新构造为新的形式。再l 科的 螭础足系统理解,包括对运行系统、源代码、设计、分析和文档等的全丽理解, 似n 很多情况下,山于各类文档的丢失,只能对源代码进行理解即程序瑚解。 j i 放系统技术的艟小原则足存系统) 1 i 发f t 使j 1 j 接【i 标准,同时使j i j 符合拔 l i 标准的实现。当胁以解决并构环境t i 的互操作为日标的分斫积t 象技术避j r 放系 统技术l ,珊i f l g z 流技术。 软件过程又称为软件! i i 存周期过程,是软件生存周划内为达到一定 卡,j ;i 酊 必须实施的系列十h 关过程的集合。一个良好定义的软件过程对软件”发的质 进 和效率彳肴巫要影响。众所周知,基于构件复用的软件丌发过程和传统的一切从 复h 人擘顿l :学位论文 坫j f ;! j 什相i f j j 柴 上术的m i s 开发方法叫c 头丌始的软件丌发过程有着实质性的不f i 司,探讨适应于软件复用的软件过程就成 为了厨待解决的问题。 以计算机辅助丌发软件为目标的c a s e 技术对软件工程的很多方面,如分析、 设计、代码生成、测试、版本控制和配置管理等等,都可以提供有力的自动或半 自动支持。它能够帮助软件开发人员控制软件开发中的复杂性,有利于提高软件 丌发的效率和质量在软件复用过程中同样意义重大。 2 3 基于构件和构架的软件开发的基本原则 在选好系统框架和统一开发方针后,系统构件的开发就应充分利用已有框 架所提供的服务和工具。通常构件的开发应遵循以下几条原则: 1 系统结构分层,业务与实现分离,逻辑与数据分离 首先,应用系统按照客户端、w e b 服务器、应用服务器、数据服务器分层: 其次以上几层分别提炼出客户端浏览器上和w e b 服务器上的构件,即用户可视 化界醯构件与应用服务器上的应用逻辑构件。 如用u m l 语言和r o s e 工具时,具体做法是:用u s e rc a s e 图对应用系统域进 行拙述。对每种u s e rc a s e 建立事件流说明,关注主题事件流功能。它常常是应 用逻辑构件的雏形内容。用类图、包图寻找底层和高层逻辑构件。通常,事件控 制功能或事务性功能都属于应用逻辑构件的候选构件。在利用已有构件或购买的 构件进行组装时。需要编制一些粘合代码,对这些完成粘合定制构件的代码最好 也要构件化,尽可能按容器

温馨提示

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

评论

0/150

提交评论