




已阅读5页,还剩83页未读, 继续免费阅读
(计算机软件与理论专业论文)基于软构件技术的教务管理系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学硕士论文 基于软构件技术的教务管理系统的设计与实现 摘要 随着软件开发规模和复杂性的不断提高,软件危机愈加明 显的暴露出来。提高软件生产率成为软件产业的当务之急,基 于软构件的软件复用技术成为解决这一危机的重要技术。本文 针对教务管理系统国内外的发展和研究现状,运用软构件的软 件复用思想,设计和实现了某高校教务管理系统。 本论文描述了整个系统的功能、组成和开发环境,并且运 用m v c 模式设计了四层结构的系统体系结构。在介绍统一建模 语言( u m l ) 的基础上,运用u m l 的构件抽取方法对教务管理 系统进行了构件抽取,并且总结出运用u i l 进行构件抽取方法 的抽取过程。 在程序设计过程中运用面向对象的构件设计方法和基于 c o r b a 的构件实现技术设计和实现了教务管理系统中的构件提 出了构件存储的数据结构和存储方法,定义了面向教务管理系 太原理工大学硕士论文 统领域的构件标识信息编码。 关键词:u m l 建模,构件,教务管理,c o r b a ,构件检索 太原理工大学硕士论文 d e s i ( ;n a n d r e a i 屁a i 卫0 n o f e d 【c a = ( 孙渔i 。 a d m 田研限a 0 nm a n a g 吲e n ts 蛾、1 e mb a s e d o ns o f t w a r ec o m p o n e n tt e c h n i q u e s a b s t r a c t w i t ht h e c o m p l e x i t y o fs o f t w a r e d e v e l o p m e n t , c o m p o n e n t - b a s e d s o f t w a r e d e v e l o p m e n t ist h em o s t i m p o r t a n t t e c h n i q u et oi m p r o v et h es o f t w a r er e u s e i na l l u s i o nt ot h ec u r r e n t d e v e l o p m e n ta n dr e s e a r c hs t a t i o no fe d u c a t i o n a la d m i n i s t r a t i o n m a n a g e m e n ts y s t e mi no u rn a t i o na n do v e r s e a s ,ac e r t a i nc o l l e g e e d u c a t i o n a la d m i n i s t r a t i o n m a n a g e m e n ts y s t e m i s d e s i g n e da n d r e a li z e di nt h i sp a p e r t h em a i nc o n t e n t sw ed i s c u s sa n dr e s e a r c h i nt h i sp a p e ra r ea sf o l l o w s : 1 t h ef u n c t i o n ,c o m p o s i t i o na n dd e v e l o p m e n te n v i r o n m e n to fe n t i r e s y s t e ma r ed e s c r i b e d ,a n dt h es y s t e m a t i ca r c h i t e c t u r eo ff o u r l e v e l ss t r u c t u r ei sd e s i g n e dw i t hm v cp a t t e r n 2 u n d e rt h ei n t r o d u c i n go fu 扎( u n i f i e dm o d e l i n gl a n g u a g e ) c o m p o n e n t si ne d u c a t i o n a la d m i n i s t r a t i o nm a n a g e m e n ts y s t e mw a s 太原理工大学硕士论文 a n a l y z e da p p l i e dw i t ht h em e t h o do fc o m p o n e n ta n a l y s i sb a s e d o nu m l ,a n ds u m m a r i z e dt h ea n a l y s i sc o u r s ew i t hm e t h o do f c o m p o n e n ta n a l y s i sb a s e do i lu m l 3 s o m ec o m p o n e n t si ne d u c a t i o n a la d m i n i s t r a t i o nm a n a g e m e n ts y s t e m a r e d e s i g n e da n dr e a l i z e dw i t ht h ec o m p o n e n t d e s i g n e dm e t h o d o fo b j e c to r i e n t e da n dc o m p o n e n t r e a l i z e dt e c h n i q u eb a s e do i l c o r b a 4 t h ed a t as t r u c t u r ea n dm e t h o do fc o m p o n e n ts t o r a g ea r ep r e s e n t e d , a n dt h ei d e n t i f y i n gm e s s a g ec o d i n gm e t h o do fc o m p o n e n to r i e n t e d e d u c a t i o n a la d m i n i s t r a t i o nm a n a g e m e n ts y s t e m ( e a m s ) d o m a i nis d e f i n e d k e yw o r d s :u m lm o d e l i n g ,c o m p o n e n t ,e d u c a t i o n a l a d m i n i s t r a t i o n m a n a g e m e n t ,c o r b ac o m p o n e n tq u e r y , i v 太原理工大学硕士论文 1 1 选题背景及意义 第1 章绪论 高校教务管理信息系统是在校园网络环境下实现的对学分制本( 专) 科生教务进行计算机管理的集成系统。通过校园网把信息采集的触角延 伸到各院、系,实现了信息从哪里来就从那里入网,把信息采集工作融 化到行政人员的日常事务管理中,发挥院系部教务管理的职能,提高院 系部的教务管理水平、质量、效率,彻底解决教务管理信息量大,信息 采集难,信息反馈滞后,信息准确性低的瓶颈,建立起及时、准确、全 面、丰富的教务管理信息平台,为学校宏观决策提供有力的支撑,全面 推进高质量、高水平、高效率的教务管理。 随着软件行业走向工业化,各行各业对软件开发的速度和质量要求 都有了很大的提高。传统的软件开发模式已经远远不能满足要求。软件 复用1 2 3 被广泛认为是解决这一问题的关键q 目前,软件复用的方法主 要有:复用代码、复用分析、复用处理过程等。将复用的技术尤其是软 构件技术引入应用软件的开发各个阶段对提高软件的生产效率,减少大 量的重复劳动,增强软件的可靠性和可维护性都有很大的重要意义。所 以基于构件的软件复用是当前复用研究的焦点,被视为实现成功复用的 关键因素之一。同样,教务管理系统也存在这样的问题,所以在本课题 中,将运用基于软构件技术的软件复用思想来设计和实现教务管理信息 太原理工大学硕士论文 系统吼 1 2 我国高校管理信息系统建设发展现状 我国高校m s 建设开始于2 0 世纪7 0 年代末,与我国经济发展和信 息化进程相适应,经历了以下几个阶段: 第一阶段:7 0 年代末到“六五”期间,为启蒙与试验阶段。主要形 式是不同程度地应用某些办公设备;应用汉字信息处理技术;开展局域 网( 包括3 + 网,n o v e l l 网等) 技术和设备的引进、研究和应用,应用程序 设计语言、数据库管理系统等开发单项业务管理系统。 第二阶段:1 9 8 6 1 9 9 2 年期间,为开创和见效期。在这个阶段,p c 机性能价格比不断提高,局域网技术日趋成熟。部分高校开始研制单机 业务系统,少数高校建立了专门的信息机构,个别高校开始建设局域网 络系统并收取了较好的管理效益。这一阶段主要进展表现在:逐步由自 主的分散开发走向统一规划、有计划的实施;系统建设的规范化、标准 化工作开始起步 2 l 。 第三阶段:1 9 9 3 年现在,集成开发阶段。性能价格比更高的微机系 统问世,高性能的工作站、网络服务器应用于高教领域,网络系统技术 和产品日新月异。性能卓越的操作系统、大型数据库系统投入运行,校 园网建设进展明显;高校m i s 建设开始有重点的逐步向综合化的m i s 过 渡。其中,重要的进展和标志是:1 9 9 4 年4 月,由国家计委立项、国家 教委主持,全国十所重点大学共同承担的国家重点共性实验项目“中国 教育和科研计算机网络( c e r n e t ) 示范工程”开始启动,1 9 9 5 年1 2 月通过鉴定验收;c e r n e t 示范工程建设的成功,对最终建成我国 c e r n e t 这项面向2 l 世纪的宏大工程、促进我国教育和科研事业的发 2 太原理工太学硕士论文 展、人才的培养和推动我国信息化建设起到重要的作用,也是我国高校 包括m i s 在内的信息系统建设的里程碑。 目前高校m i s 系统建设的现状可以概括为:建设很普遍,各级各部 门都配备了计算机和相应的信息处理设备,不同程度的开展了m i s 的建 设;发展不平衡,大多数学校处于单机运行阶段,大部分高校建设了校 园网,部分m i s 能初步联网运行;系统功能主要是支持教育信息管理,没 有形成全局性的集成系统【4 1 。而实际上,目前国际m i s 技术已经进入了 全局性或全国性信息管理的高层次,能够为用户提供网络环境下的综合 性集成办公管理系统,使得各级办公和管理人员方便、灵活地在系统应 用环境下处理事务,充分利用各种信息资源。 从技术角度来说,为使我国高校m i s 建设和使用水平尽快和国际接 轨,应该在以下几个方面加强高校m i s 系统的建设: ( 1 1 加快研究和制定技术规范工作,同时建立科学合理健全的信息 工作制度。高校m i s 是一个非封闭性的系统,必须与其它系统交换信息。 高校自身在系统在规范化方面应该解决两个问题:一是制定信息工作的 管理制度和规范,包括健全的管理制度、合理的管理流程和标注化的管 理业务:二是研究和制定m i s 和其他信息系统建设所需要的用户级标准, 如单位编码,。教职工和学生的各种统一编码。 加强办公系统的体系结构和接口的设计。现代m i s 系统是一个 以计算机网络为基础的体系结构,网络中通信缓解各个层次之间分成界 面或接口。这些界面划分和设计原则必须符合国际标准,特别是应用层 界面的规定要便于办公信息的流通。 ( 3 1 长远规划,加强信息资源共享。不但要着力发展管理级的办公 信息系统,还要加强辅助决策级信息系统的研究和开发工作。 太原理工大学硕士论文 1 3 课题研究的内容和成果 1 将基于软构件软件复用的设计思想应用到教务管理系统的设计 与开发中,建立基于平台的面向对象的组件化教务管理系统设计模型, 以提高软件的复用性、可维护性、一致性,并能支持系统的二次开发扩 展。 2 运用u m l 给出系统的实例模型,在建立了系统各部分功能模块 组件的基础上,运用m v c 模式,实现教务管理信息系统的设计与实现, 并且能够建立简单的针对教务管理构件的构件库管理系统 3 在上述模型基础之上,选用v i s i b r o k e r 作为构件开发平台,编 程语言为d e l p h i 7 0 ,以s q ls e r v e r 2 0 0 0 做后台数据库,设计与开发基 于软构件技术的教务管理信息系统,使该系统能够较好地体现了构件复 用的思想,并且运用分布式处理,教务管理与网络技术、分布式数据库 技术相结合,使不同地点的用户可以通过 a n 或i n t e r n e t i n t r a n e t 共 享教务管理信息嘲。 1 4 论文结构安排 本文主要运用构件复用的思想来设计和实现教务管理系统。 论文共分为六部分。 第一章主要研究了选题的背景和意义;我国高校管理信息系统的发 展现状;课题的研究内容和成果以及本论文的结构安排。 第二章描述了整个系统的功能、组成和开发环境,并且运用m v c 模式设计了四层结构的系统体系结构。 第三章对系统开发过程用到的开发技术和工具如软构件技术, 4 太原理工大学硕士论文 m i c r o s o f ts q l s e r v e r 2 0 0 0 数据库管理技术,d e l p h i 开发环境等作了概括 性的介绍。 第四章在介绍统一建模语言( u m l ) 的基础上,运用u m l 的构件 抽取技术对教务管理系统进彳亍了构件抽取,并且总结出了运用u m l 进 行构件抽取方法的抽取过程。 第五章运用面向对象的构件设计方法和基于c o r b a 的构件实现 技术设计和实现了教务管理系统中的构件。 第六章提出了构件存储的数据结构和存储方法,定义了面向教务管 理系统领域的构件标识信息编码。 奎星堡三茎兰堕主丝兰 第2 章系统功能、组成及开发环境 2 1 系统功能 2 11 系统组成及主要功能 本系统主要包括以下几个功能组件 ( 1 ) 招生管理组件 主要由招生管理、查询以及报表模块组成,能够完成新生及有关数 据的录入、查询和更新,另外要生成招生情况的各种统计报表。本组件 可以为教务管理系统提供新生数据。 ( 2 ) 院系级教务管理组件 本组件是各院系教务员( 教学秘书) 的工作界面,主要是对本系的 学生,教师及教学进行管理,它由教务管理、查询和报表等模块组成。 它能够根据各院系完成与学生、教师、教学有关的各种数据,如学生的 注册信息、课程设置、教学计划、教学开课计划、学生成绩等的录入、 查询、更新以及各种统计表格的生成,实现对本院系在校学生的基本管 理。 ( 3 ) 校级教务管理组件 本组件是校级教务管理人员使用的界面,主要是对全校的学生、教 师及教学进行管理。它由教务管理、查询、报表和数据维护等模块组成。 6 1 垄堕堡三查堂堕主笙壅 主要是对各院系所输入的与学生、教师、教学有关的各种数据进行审查 和总体监控,另外它还要对一些信息进行录入和维护,如学生的毕业证、 学位证、学生选课信息的调整和确认等,完成对所有在校学生的基本管 理。 ( 4 ) 嬲上选课组件 本组件使用浏览器界面,使学生可在任一上校园网的计算机上使用, 在规定的时间区间内进行选课、退课操作;同时还可以查询与选课有关 的信息,如学分上限、开课时间、开课计划等;选课后对本人的选课结 果进行查询;学期结束后,可对本人的成绩进行查询。 ( 5 ) 排课管理组件 排课管理组件根据某校多校区, 所需要的课程及教师、教室的信息, 地域和教学资源分散的特点,按照 考虑学生、教师的时间,学生的人 数及教室的容量、用途等因素,由计算机自动合理地排课和分配教室资 源,并可手工进行调整。可根据课程和教室的信息,生成课表。另外, 还可以为临时的教室借用提供依据。 ( 6 ) 软构件库管理组件 本组件针对教务管理系统开发和使用中用到的组件进行管理,可以 检索、扩充、集成、修改和删除,它由系统管理人员使用的界面。 进入系统首先要以不同的身份登录,不同的身份所赋予的权限也不 同。系统的登录界面如图2 1 所示: 太原瑾工大学硕士论文 图2 1 登录界面 f i g 2 - 1l o g i ni n t e r f a c e 登录后进入系统主界面 图2 - 2 系统主界面 f i g 2 - 2s y s t e mm a i ni n t e r f a c e 8 太原理工大学硕士论文 2 2 系统的体系结构 22 1 软件体系结构 软件体系结构亦可称为软件架构,软件体系结构是一个系统的部件 的组织结构、它们之间的关联关系以及支配系统设计和演变的原则和方 针。根据p e r r y 和w o i f e 之定义: s o f t w a r e a r c h i t e c t u r e = e l e m e n t s ,f o r m s ,r a t i o n a l e c o n s t r a i n t ) 也就是软件体系结构= ( 部件元素,元素交互合作模式, 基本原理与约束) 。 一般地,一个系统的软件体系结构描述了该系统中的所有计算部件, 部件之间的交互、连接件以及如何将构件和连接件结合在一起的约束。 系统的各个模块正是通过体系结构所描绘的方式协同工作共同完成系统 的功能,从而表现出一个完整的系统f l l 】。 软件体系结构代表了系统公共的高层次的抽象,它是系统设计成败 的关键。研究软件体系结构的首要问题是如何表示软件体系结构,即如 何对软件体系结构建模。针对规模日益庞大、结构日益复杂的应用软件, 系统模型的设计目标是提高实际应用系统的开放性和集成性,同时兼顾 效率要求”“。在软件体系结构设计中,常用m v c 模式进行结构设计。 2 2 2m v o 模式及多层体系结构 1 ) m v c 模式 m v c 模式( m o d e l v i e w c o n t r o l l e r ) 意为模型一视图一控制器,这种模 式通过分解软件系统中的不同层( l a y e r ) ,将业务模型、数据表现和业 9 太原理工大学硕士论文 务规则分离开来,从而简化了系统的维护,提高了可扩展性、灵活性和 封装程度。m v c 的主要关系由o b s e r v e r 、c o m p o s i t e 和s t r a t e g y 三个设 计模式给出,其结构如下图2 - 3 所示: 图2 - 3m v c 模式结构图 f i g 2 - 3 m v cm o d e ls t u c t u r ep i c t u r e m o d e l 抽象应用程序的功能,封装应用程序的状态,提供对应用功 能的访问接口,如果对象有持久性( p e r s i s t e n c e ) 的要求,m o d e l 将负 责管理对象持久性。同时,当m o d e l 数据有变化时,通知对此感兴趣的 c o n t r o l l e r 组件,它与界面无关。 v i e w 抽象数据的表现,负责系统的界面逻辑的生成,并将数据展现 给用户。对于v i e w 端,可以用多种方式表示同一份数据,如:可以采用 h t m l 、h p p l e t 将数据表示于浏览器中,也可以用j a v a 或其他语言设计 图形用户界面( g u i ) 来显示数据,而且允许多个用户浏览同一份数据。 c o n t r o l l e r 抽象用户交互和应用程序语义映射,它接受用户请求并 将用户请求翻译成m o d e l 的操作,并将输入参数传递给m o d e l 的操作, 当m o d e l 返回操作结果( 数据是否变更的标志) 后,c o n t r o l l e r 根据用 户输入和场合选择合适的数据显示方式,驱动对应的v i e w 显示最后结果 2 7 1 。 根据m v c 模式,我们设计了m o d e l 、v i e w 、c o n t r o l l e r 及与c l i e n t 的交互顺序图【2 8 1 ,设计此图的目的是为了换种更简捷的方式,更加清晰 的表达、理解m v c 模式,如下图2 - 4 所示。 从图中我们可以看出,使用n v c 模式将数据建模、数据显示和交互 控制三者分别开来,使程序设计的过程变得更清晰。m v c 将应用程序的 功能和数据表现分开,使用户界面的需求变化对领域层所造成的影响最 1 0 :奎墨堡三奎兰婴主兰奎 简化了程序扩展时的副作用,从而d , z ,提高了各个组件的复用程度, 提高了系统的可扩展性。 圈璧圈盈 图2 - 4m v c 模式的s e q u e n c e 框图 f i g 2 - 4m v cm o d e s e q u e n c ed i a g r a m m v c 明确了系统中各组件的分界线,明确定义了各自的责任,保证 了功能上的一致性,从而简化了测试工作、降低了维护的难度。因为数 据模型、用户交互和数据显示等部分都可以独自开展设计工作,所以m v c 支持了开发团队间的分工与并发开发,提高了开发的效率。同时,三部 分可以分别设计成为“可按插”的组件,大大的提高的系统的灵活程度。 2 ) 多层体系结构 长期以来,“客户端朋匠务器”两层结构广泛应用,即客户端提供用 户界面、运行逻辑处理应用,而中央服务器接受客户端s q l 语句并对数 奎堕里三奎堂婴主兰苎 据库进行查询,然后返回查询结果。两层结构可以使多个客户端共享数 据库服务器和打印服务器等。 “客户端服务器”结构给人们带来了相当的灵活性,但随着网络的 更进一步发展,业务处理对系统提出更高的要求后,它逐渐暴露出其客 户端渐渐庞大和服务器端负载过重的现象。例如,如何提供灵活的可扩 展的工作流定制;如何保证数据在网络传输的稳定性和准确性:如何实 现负载平衡等诸如此类的要求。两层结构系统往往难以满足1 2 ”。 于是,多层( 三层或以上) 体系结构应运而生。多层体系结构是指 应用逻辑按照功能不同划分为不同类型的组件( 如m v c 模式中的划分 方法) ,每种类型的组件形成一层面提供特定的服务,各组件根据他们所 在的层,分布于不同的计算机上,相互协作共同完成某种功能,从而组 成一个完备的分布式软件应用系统。三层体系结构是多层体系结构中最 简单的种,它一般包括以下三层。 表示层( p r e s e n t a t i o n ) :表示层逻辑主要处理用户和软件的交互。现在 最流行的表示层设计是视窗图形界面( w i m p ) 和基于浏览器的界面。表 示层的主要职责就是为用户提供信息,以及把用户的指令翻译、传送给 业务逻辑层和存储层p 。 业务逻辑层( b u s i n e s sl o g i c ) :管理业务过程的任务和规则。即接受表 示层的业务请求,从存储层提取数据,进行运算,然后将结果返回给表 示层。 存储层( s t o r a g e ) :处理和其他系统的通信,如数据库系统交互,和其 他应用系统的交互等。对于大多数信息系统而言,该层最主要的逻辑功 能就是存储持久数据。 除了三层体系结构外,还可以将系统划分为三层以上的更多层次的 结构,比较典型的一个就是四层结构。这四层分别是客户端表现层、服 务器端表现层、服务器端业务逻辑层,和数据存储层。 分布式教务管理系统引入中间件技术,采用了四层体系结构如下图: 太原理工大学硕士论文 表示层 黜服务器层c ( 捌地跟垫器层 湖踣 f i w 出服警 l 湖谧1 h n 血盘博l lj l e wp g e t ,i s 勰f 珏1 + 而_ 一 ,j j 融is e 吡t 4 - - - - 0 r b 溯 :数据暇务器层 : : 图2 - 5 系统体系结构 f i g 2 - 5s y s t e m i ca r c h l t e c t u r e ( 1 ) 表示层负责与用户的交互,直接从w e b 服务器下载h t m l 页 面或者a - p p l e t 在浏览器上运行。 ( 2 ) w e b 服务器由各地的w e b 服务器组成,它通过h o p 协议访t ;l c o r b a 服务器上对象的方法。w e b 服务器用j a v as e r v l v t s 实现,所有对 分布式对象的实际调用都是从这里开始的。c o r b a 的通信机制对底层 通信细节进行屏蔽,所以这种访问是透明的,不用知道服务对象是在局 域网内还是在远程。 ( 3 ) c o 砌;a 分布在各地,由提供服务的分布式对象组成,这些 对象是基于软构件技术的技术设计的。c o r b a 服务器是w e b 服务器和 数据库服务器的中间层,它通过o d b c ,j d b c 等a p i 直接于服务器连 接交互,或者也可以在c o r b a 服务器和数据库服务器之间再加上层 数据库中间件,那么就可以对各种异构数据库进行透明访问了。c o r b a 服务器上的对象也可以通过h o p 协议相互访问。c o r b a 中的对象是对 等的,所以c o r b a 服务器上的对象既可以是服务对象也可以是客户对 1 1 太原理工大学硕士论文 象,客户与服务的界定是相对的,主要是看调用与被调用的关系。 ( 4 ) 数据库服务器负责处理数据的完整性、一致性、存储和对数 据的操纵,同时也要把操作的结果返回c o r b a 服务器,再由o r b 与客 户端o r b 进行交互。 四层体系的教务管理系统灵活,接口与实现分离,伸缩扩展性好, 而且应用服务器由w e b 服务器和c o r b a 服务器组成,避免了肥服务器 现象。不用在表示层的每一个客户机上都安装o r b ,只要在w e b 服务器 和c o r b a 服务器上安装即可,既方便又安全,易于维护。 1 4 太原理工大学硕士论文 第3 章系统开发技术和工具介绍 3 1 软构件技术 9 0 年代软件开发技术的一个重要的进展就是构件化。这是由于现在 的软件规模越来越大,一个系统要完成的功能很多,因此软件复用和集 成更加具有非同寻常的意义。开发和使用可复用的构件是提高软件生产 率、提高软件质量、降低开发成本的现实有效的途径。基于可复用构件 的开发技术已经恒为当前软件开发技术的主流。 构件技术是面向对象技术的一个发展。构件与对象最基本的不同 是:一个对象是源代码的一部分或者是个规范,用来执行应用程序的 一部分;而构件不仅仅是一个规范,也不是一定需要编译才能使用的一 部分代码,而是可实际运行的软件模块。另外,构件与其它可复用软件 模块的区别在于,构件既能在设计时使用或修改,也可在执行时使用或 修改。一个软构件能够有效地嵌入其他可以拿来使用的功能模块,这就 形成了一个需求庞大的软构件市场。 构件技术的思想在于,创建和利用可复用软构件来解决应用软件的 开发问题。与面向对象编程不同,构件技术是一种更高层次的对象技术。 它独立于语言,面向应用程序,只规定构件的外在表现形式,而不关心 其实现方法。它既可用面向对象编程语言实现,也可用非面向对象编程 语言实现。只要遵循构件技术的规范,各个软件开发商就可以用自己方 便的语言实现构件,应用程序开发人员就有可能实现在计算机硬件领域 太原理工大学硕士论文 早已经实现的梦想:挑选构件,组合新的应用软件。这样的应用软件系 统不再是一种固化的整体系统,而是通过构件间相互提出请求和返回服 务结果的系统工作机制来达到系统目标,同时由于构件自身的灵活性所 带来的由构件构造的整个应用系统的灵活性和对外部扰动的较好的适应 性。 推动构件技术发展的最大动力是软件复用,构件技术是目前发展最 快的软件复用技术。基于构件的软件开发技术是一种社会化的软件开发 方法,它使得开发者可将由不同语言、不同供应商开发的构件组合在一 起来构造软件。 3 1 1 软构件技术 构件f 6 又叫组件或部件,是指应用系统中可以明确辨识的构成成分, 而可复用构件( r e u s a b l ec o m p o n e n t ) 是指具有相对独立的功能和复 用价值的构件,可复用的构件有以下一些特征: 1 有用性:( u s e f u ll 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 ) :构件必须能够在不同的硬件运行平台和 软件环境工作; 6 自描述( s e l f d e s c r i p t i o n ) :构件必须能够识别其属性、存取方法 和事件,这些信息可以使开发环境与第三方软构件无缝地结合起来; 1 6 太原理工大学硕士论文 31 2 基于构件的软件复用的关键问题 基于构件的软件复用有三个基本问题: 可复用构件的开发,包括可复用构件的分析、设计和实现; 可复用构件库的管理,包括可复用构件的分类、编目、封装、 维护( 增、删、改、检索) ,而其中最为关键的问题是构件的分 类、检索方法; 基于可复用构件的应用系统的开发。 解决这几个问题的关键技术包括: 1 基于面向对象的构件抽取方法 为了实现构件复用,构件必须具有定的、面向领域的通用性,构 件所提供的功能为多个系统使用。因此构件的抽取、功能的定义将是要 解决的第一个问题。构件技术是在面向对象技术基础上发展起来的,加 上面向对象技术自身的抽象、继承、封装特性,那么采用面向对象的系 统分析方法进行构件的抽取就比较适合了。 本文采用基于1 n m ,的构件抽取方法,通过用例图描述系统功能, 通过每个用例的交互图确定该用例涉及的类和方法,在此基础上建立类 图。最后根据类图来抽象出系统的构件。 2 构件的设计与实现 本文采用面向对象的构件设计方法。面向对象设计于面向对象分析 之间有较好的对应,能够较好地表达出分析的结果。构件的设计主要包 括:构件接口的设计、构件方法的算法设计、构件的属性设计以及构件 实现时的界面设计。 为了使定义的构件能在不同开发环境被不同的软件开发者使用,那 么构件应具有一个较为通用的接口定义。一个面向特定领域的较为通用 1 7 太原理工大学硕士论文 的接口可以处理领域内的大多数功能请求。这里所说的接口是指实现构 件功能所对应的一个个函数( 或方法) 的参数列表,即输入那些参数, 返回什么结果集或值。接口与功能的实现是分离的,具有相同接口的构 件可以有完全不同的实现方法。可复用构件的设计原则之一就是:根据 接口,而不是根据接口的实现来设计构件。 3 可复用构件的分类、检索方法 构件的分类、检索一直是一个制约构件复用的主要因素。在构件库 中找出一个合适的构件是很困难的,因为大多数的构件开发者不是构件 的使用者,用户只知道自己所需要的构件应该具有什么功能,至于是否 存在这些构件、构件的名字是什么、在什么位置,则并不知道。如果靠 构件的说明来查找一个构件,其效率是极其低下的,而且很难找到很合 适的那个构件。因此必须有个合适的构件分类、检索方法。 构件的分类、检索的目的是支持使用者高效而准确地发现他们所需 要的可复用构件。为了能够在构件库中快速、准确的找到合适的构件, 必须解决以下几个问题 ( 1 ) 先有一个比较合适的构件分类方法; ( 2 ) 用一个合适的构件检索方法; ( 3 ) 对检索的结果准确判断。 4 基于可复用构件的应用系统的开发 软构件模型是关于开发可重用软构件和构件之间通信的一组标准 的描述。通过重用已有的构件,使用构件对象模型的软件开发者可以像 搭积木一样快速构造应用程序。这样不仅可以节省时间和经费,提高工 作效率,而且可以产生更加规范,更加可靠的应用程序【1 9 】。 基于可复用构件的应用系统的开发一般包括以下步骤: 奎垦堡三查堂堡主笙兰 ( 1 ) 进行系统调查和需求分析,明确和系统交互的人员、外部系 统,也就是确定系统边界和问题域,同时明确系统要完成什么功能、表 达什么信息,即表示系统责任。 ( 2 ) 对系统的每个u s ec a s e 进行流程分析,即明确每个u s e c a s e 的实现流程。 ( 3 ) 采用面向对象分析方法,并结合每个u s ec a s e 的 s e q u e n c e 框图和c o l l a b r a _ t i o n 框图,建立系统的c l a s s 框图( 包 括对象层、特征层和关系层) 。c l a s s 框图中的每个方法只需定义出接 口,即输入、输出什么参数,而不包括实现细节,把具体的实现( 包括 程序框图、实现代码) 留到设计阶段去做。 ( 4 ) 在建立系统的c l a s s 框图之后,综合考虑系统责任、系统 的体系结构、开发平台,建立系统的构件模型。 ( 5 ) 设计构件。在设计构件之前,查询可复用构件库,对已有构 件( 相同的壹接复用,相近的通过修改复用) 进行复用,对于新构件进 行设计。新构件设计包括接口设计( i d l 文件设计) 、每个功能的程序框 图设计、算法设计以及复杂算法的伪代码。 ( 6 ) 实现新构件,使用以构件库中的可复用构件为核心开发的构 件,建立应用系统。 ( 7 ) 系统测试与运行。将系统移植到相应的分布式环境中进行测 试,对问题进行修改,直到满足用户要求。 3 1 3 软构件技术主要研究内容 构件获取:有目的的构件生产和从已有系统中挖掘提取条件 构件模型:研究构件的本质特征及构件间的关系; 太原理工大学硕士论文 构件描述语言:以构件模型为基础,解决构件的精确描述、理解 及组装问题; 构件分类与检索:研究构件分类策略、组织模式及建设思路,建立 构件库系统,支持构件的有效管理; 构件复合组装:包括源代码的组装和基于软构件对象互操作性的运 行级组装; 标准化:包括软构件模型的标准化、软构件库的标准化及软构件接 口的标准化; 软件架构;研究如何快速、可靠地应用可复用软构件系统进行构造 的方式,着重于软构件系统自身的整体结构和软构件问的互连。 3 1 4 三种软构件标准比较 现在比较流行的软件模型有o m c x o b j e c tm a n a g e m e n tg r o u p ,对象管 理集团) 的c o r b a 技术,微软的c o m ( c o m p o n e mo b j e c tm o d e l ,分布式 构件对象模型) 以及s u n 的j a v ab e a n s e j b ( e n t e r p r i s el a v ab e a n s ,企业 j a v ab e a n s ) ( 1 ) 跨语言操作能力 c o m 组件是二进制兼容的。就是说c o m 组件在可以不用重新编译 的情况下实现软件的重用。用v i s u a lc + + 开发的组件可以在v i s u a l b a s i c 、d e l p h i 等环境中使用。 对于c o r b a 组件,首先要用i d l ( 接口定义语言) 来定义接口, 然后使用i d l 编译器产生客户端的存根代码和服务器端的客户代码。由 于很多语言都有i d l 编译产品,因此c o r b a 组件的跨语言能力很好, 如果采用不同语言的i d l 编译器分别来产生服务器端代码和客户端代 一 一 奎曼堡三查兰堡圭笙苎 码,甚至可以实现c + + 客户对于j a v a 服务组件的访问。 j a v ab e a n 则只能用j a v a 代码实现,没有跨语言能力。 ( 2 ) 跨平台操作能力 由于m i c r o s o f t 只在w i n d o w s 平台上实现了c o m + d c o m 技术,虽 然有第三方的软件开发商在u n i x 平台上实现了c o m ,但总的来说,跨 平台能力不强1 。 而c o r b a 在不同的平台上都具有相应的产品,所以c o r b a 的跨 平台操作能力很好,支持跨平台的操作。 j a v a 推出的时候的口号是“一次编写,到处运行”,可见它的跨平台 能力之强,j a v a 通过虚拟机的机制,通过在不同的操作平台上实现j a v a 虚拟机,从而获得优秀的跨平台能力。 f 3 ) 数据访问能力 m i c r o s o f t 开发了基于c o m 技术的o l d d b 技术,并且在o l d d b 的基础上实现了a d o 技术,包括以前的o l d d b 技术,c o m 技术可以 通过多种方式来访问数据库。 c o r b a 技术对于数据库的访问则依赖于其实现的平台。 j a v aa p i 提供了数据库访问a p i j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) , 提供了统一的访问数据库的方式。只要载入相应的数据库j d b c 驱动程 序,就可以很方便的访问数据库。 f 4 1 构件之间的互操作 j a v ab e a n 构件与c o r b a 构件之间存在着蘸好的操作性。首先, c o r b a 可以使用j a v a 来作为它的一个实现;其次,j a v a 现在具有了建 立在c o r b ai i p 0 0 n t e m e ti n t e r - 一o r bp r o t o c o l 基础之上r m i ,因此, j a v a 构件与c o r b a 构件之间存在着很好的互操作。 2 1 _ - _ _ _ _ _ _ _ - - _ _ _ _ _ - h _ _ _ _ _ _ _ _ - _ _ _ - - - _ _ _ _ _ _ _ _ _ _ _ ,h _ _ _ _ _ _ _ - - - _ _ _ _ - - - _ _ - _ - 太原理工大学硕士论文 c o m 组件虽然具有与c o r b a 和j a v a b e a n 之间的桥( b r i d g e ) 但 是总的来说,与其它两者的互操作性不是很好。 ( 5 ) 技术的成熟性 c o m 技术最初是用来代替d d e ( 动态数据交换) 作为o l e 技术的底 层技术,经过多年的证明,c o m 技术是成熟、有效的,但是c o m 是一 个渐进的技术,它在最初的时候在分布式平台下的应用,也没有考虑服 务器端的应用。 c o r b a 技术只是一个规范,而不是实现,因此存在大量的o r b 产 品的不同开发商的实现。在丰富了o r b 产品的同时,也带来了不同的 o r b 之间的互操作不兼容问题。因此c o r b a 定义了i l o a , 用以解决这个 问题。 j a v ab e a n 技术已经慢慢走向成熟,而且随着j 2 e e ( j a v a 2e n t e r p r i s e e d i t i o n ) 的推出,e j b 的应用会越来越多。 ( 6 ) 公共服务支持 c o r b a 在一推出的时候,就考虑到公共服务的重要性,所以在o m g 的体系结构中,不仅包括名字服务、目录服务、消息服务、生命周期服 务、事务服务等这些服务,而且定义了公用设施。 c o m 开始主要用于桌面系统,并没有考虑到这些企业级的服务, 而且与m t s ,m s m g 的结合也不是很好,随着c o m + 的推出,它们之 间的结合会越来越好。 而j a v a 通过y d n i , m s 等来支持目录和消息服务,它们是j 2 e e 的 一个特性。 从以上分析来看,c o r b a 更适合于企业级的应用,因为它从一开 始就考虑到这种企业特性,而c o m 技术在桌面系统上已经比较成熟, 太原理工大学硕士论文 随着c o m + 推出,它也具有越来越多的企业特性,但还是比较适合于中 小企业的应用;而对j a v ab e a n s 来说,e y b 的出现使它更适合作为服务 器端的组件社”。 3 1 5 基于构件的软件开发模型 基于构件化的应用开发,通常是针对某个领域或行业的具体应用, 采用构件化实现技术,以“搭积木”的方式构筑适应领域或行业需求的 应用系统,构件化泛型的一种例化实现。采用这种方法,不仅需要有软 构件化技术的支持,还需要有领域知识的补充。 基于构件化的教务管理信息系统的开发模型如图3 1 所示: 太原理工大学硕士论文 图3 - 1 教务管理系统开发模型 f i g 3 - 1 e a m sd e v e l o p m e n t m o d e l 太原理工大学硕士论文 该模型反映了群体构件库的开发技术,是一种典型的构件开发喷泉 模型,适用于增量开发,它可分为系统构件层、领域通用构件层和领域 专用构件层等三个层次。 系统构件层,指在整个支撑集成环境和运行环境都使用的构件, 主要指所用开发工具所提供的窗口、表格、按钮、数据操纵等系统构件。 如d e l p h i 70 工具中的菜单、命令按钮、数据访问、数据控制、多层数据 库应用等构件。 领域通用构件层,也称支撑构件。是指具有较粗的领域型的i v f l s 应 用类的构件。如:v i s 的报表构件、查询构件、统计构件等,具有各特 定功能的o l e 控制项o c x 等构件。这类构件往往不能“即插即用”,需 要进行二次开发。 领域专用构件层,是指极其符合领域特点所开发出来的构件,对于 领域内不同的m i s 系统,能够做到“即插即用”,但对领域外的行业重 用度低。 基于该模型层次结构,在做应用开发时,依据系统需求分析所得出 的系统功能模块,采取自顶向下的分析方法,划分出各层的构件,最终 纳入不同层次的构件库。 3 2m i c r o s o f ts q ls e r v e r2 0 0 0 数据库管理技术 m i c r o s o f ts q ls e r v e r2 0 0 0 是一个功能强大的新一代数据库管理系 统,它是由一系列产品组成,不仅能够满足最大的数据处理系统和商业 w e b 站点存储和处理数据的需要,还能为个人或小企业提供容易使用的 数据存储服务。 l d i c r o s o f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公需科目2025年度人工智能与健康试题和答案
- 铜川市2025年公需课考试题库及答案
- 2025年国家开放大学《历史文化名城保护与管理》期末考试备考试题及答案解析
- 2025年国家开放大学《现代历史概论》期末考试备考试题及答案解析
- 2025年理论考试消防设施操作员中级监控操作方向真题及答案
- 2025年吉林省敦化市专业技术继续教育公需科目考试及答案
- 2025年度丽江市专业技术继续教育公需科目考试及答案
- 基金从业资格考试乐考及答案解析
- 安全培训工种课件
- 2025年国家开放大学《创业与中小企业管理》期末考试备考试题及答案解析
- 我的家乡-枣阳
- 2023年宝钢股份用户满意度调查分析报告
- GB/T 18851.4-2005无损检测渗透检测第4部分:设备
- GB/T 17553.1-1998识别卡无触点集成电路卡第1部分:物理特性
- 2023年西藏山南雅砻天然饮品有限公司招聘笔试模拟试题及答案解析
- 海南矿产资源概况
- 幻影桌面云管理平台实践指导手册
- 沪教牛津版英语4A M3U1 In our school:animal school优质课课件
- 编版一年级下册 《荷叶圆圆》2022年小学语文作业设计
- 施工现场安全检查记录表(周)以及详细记录
- 汽车配件购销合同集合
评论
0/150
提交评论