




已阅读5页,还剩89页未读, 继续免费阅读
(计算机应用技术专业论文)柔性mis开发技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 在m i s ( m a n a g e m e n t i n f o r m a t i o ns y s t e m ) 系统的开发中,一方面m 1 s 系统的开发和运行环境与用户需求极易发生变化,另一方面是当前m i s 系 统的开发商生产的产品缺乏“柔性”,难以适应用户的需求。鉴于此,本文 在对国内外相关研究成果进行深入分析的基础上,提出一种重构式柔性 m i s 的开发模式,以期解决这一问题。 首先,从f m i s ( f l e x i b l em a n a g e m e n ti n f o r m a t i o ns y s t e m ) 的产生背景 出发,提出了软件柔性和f m i s 的概念,对f m i s 的柔性特性、f m i s 柔性 的层次、f m i s 柔性的表现形式、柔性软件的适应范围等进行深入探讨,对 f m i s 开发中的一些支撑技术进行分析,简要论述了柔性软件的思想与其支 撑技术之间的关系。 其次,基于柔性软件的思想和构件技术,提出一种f m i s 系统的解决方 案。创建了重构式f m l s 的结构模型和生命周期模型,并对其开发流进行论 述。在重构式f m i s 的构造过程中对领域分析进行深入研究,提出了该系统 的体系结构的层次模型和数据库设计方案。 再次,将柔性软件思想与构件技术相结合,提出了m i s 领域的柔性构 件模型。基于柔性构件的思想,设计和实现了一系列的关键柔性构件。在 对构件库技术进入深入研究的基础上,设计了通用m i s 构件库系统的结构。 最后,本文以f m i s 构件库为基础,设计和实现了柔性物资管理系统。 通过应用分析,提取和实现了相关的系统专用构件。 关键词软件柔性;f m i s :重构;领域分析;构件;构件库 燕山大学工学硕士学位论文 a b s t r a c t i nt h e d e v e l o p m e n to ft h em a n a g e m e n ti n f o r m a t i o ns y s t e m ,o nt h e o n eh a n d ,t h e s o f t w a r e sd e v e l o p m e n ta n dr u n n i n ge n v i r o n m e n ta n dt h eu s e r s r e q u i r e m e n t sa r ee a s yt o c h a n g e ,o nt h eo t h e rh a n d t h es o f t w a r ep r o d u c t sd e v e l o p e db yt h o s es o f t w a r ec o m p a n i e s a r ed i f f i c u l tt oa d a p tt ot h eu s e r s r e q u i r e m e n t sw i t h o u te n o u g hf l e x i b i l i t y s o ,b a s e do nt h e h o m ea n df o r e i g ni n t e r r e l a t e dr e s e a r c h e s ,w ep u tf o r w a r dar e s t r u c t u r i n gf l e x i b l em i s d e v e l o p m e n t m o d e lt os o l v et h ep r o b l e m f l a t l y , f r o mt h eb a c k g r o u n do f t h ef m i s ( f l e x i b l em a n a g e m e n ti n f o r m a t i o ns y s t e m ) , w e p u tf o r w a r dt h ec o n c e p t so f s o f t w a r ef l e x i b i l i t ya n df m i s ,d e e p l ya n a l y z et h ef l e x i b i l i t y c h a r a c t e r i s t i c so ft h e f m i s ,t h ef l e x i b i l i t y l e v e l so ft h e f m i s ,t h e f l e x i b i l i t y r e p r e s e n t a t i o nf o r m so f t h ef m l sa n dt h ea d a p t i v ea r r a n g e m e n to ft h es o f t w a r ef l e x i b i l i t y , a n a l y z et h o s es u p p o r t i n gt e c h n i q u e si nt h ed e v e l o p m e n to ft h ef m i s ,b r i e f l yd i s c u s st h e r e l a t i o nb e t w e e nt h ef l e x i b l es o f t w a r ei d e o l o g ya n dt h e i rs u p p o r t i n gt e c h n i q u e s s e c o n d l y , b a s e do nt h ef l e x i b l es o f t w a r ei d e a o l o g ya n dt h ec o m p o n e n tt e c h n o l o g y , w e p mf o r w a r dak i n do f r e s o l v es c h e m e w ec r e a t et h es t r u c t u r em o d e la n dt h el i f e c y c l em o d e l o ft h er e s t r u c t u r i n gf m i s ,d i s c u s st h ed e v e l o p m e n tf l o wo ft h er e s t r u c t u r i n gf m i s i nt h e c o u r s eo ft h er e s t r u c t u r i n gf m i s sc r e a t i o n , w ed e e p l yr e s e a r c ht h ed o m a i na n a l y s i s ,p u t f o r w a r dt h ea r c h i t e c t u r es t r u c t u r em o d e lo ft h er e s t r u c t u r i n gf m i s ,d i s c u s st h ed a t a b a s e d e s i g ns c h e m e o f t h e r e s t r u c t u r i n gf m i s t h i r d l y , i n t e g r a t i n gt h ef l e x i b l es o f t w a r ei d e a o l o g ya n dt h ec o m p o n e n tt e c h n o l o g y , w e p u t f o r w a r dt h ef l e x i b l e c o m p o n e n tm o d e lo ft h em 1 sd o m a i n b a s e do nt h ef l e x i b l e c o m p o n e n ti d e a o l o g y , w ed e s i g na n di m p l e m e n tas e r i e so f c r i t i c a lf l e x i b l ec o m p o n e n t s b a s e do nt h e c o m p o n e n tl i b r a r yt e c h n o l o g yr e s e a r c h e s ,w ed e s i g nt h eg e n e r a lm i s c o m p o n e n tl i b r a r ys y s t e m sa r c h i t e c t u r e f i n a l l y , b a s e do r lt h ef m l sc o m p o n e n tl i b r a r y , w ed e s i g na n di m p l e m e n tt h ef l e x i b l e m a t e r i a l m 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 b ya p p l i c a t i o na n a l y s i s ,w ed e s i g n a n d i m p l e m e n t t h er e l e v a n ts p e c i a lc o m p o n e n t i i 摘要 k e y w o r d s s o f t w a r e f l e x i b i l i t y ;f m i s ;r e s t r u c t u r i n g ;d o m a i na n a l y s i s c o m p o n e n t ;c o m p o n e n t l i b r a r y i i i 第1 章绪论 1 1 问题的提出 第1 章绪论 随着网络与信息技术的不断发展,特别是随着中国加入w t o ,国内越 来越多企业与行政事业部门的管理活动j 下迅速地朝着电子化、网络化迈进, 以信息处理和交互为基础的管理信息系统( m a n a g e m e n ti n f o r m a t i o n s y s t e m ,m i s ) 也发生了很大的变化。 尽管社会的信息化对m i s 系统的需求增长迅速,目前m i s 软件的丌发 与生产能力却相对不足。一方面用户急需的软件迟迟开发不出来,另一方 面是所开发出的软件缺乏“柔性”,难以适应用户需求和开发运行环境的多 变性,系统完成之日,也是它落后之时。其根源在于以下两方面: ( 1 ) 用户需求多变性我国目前正处于个重大变革时期,随着经济体 制改革的不断深入,企业的管理体制、管理模式和一些管理制度都在不断 发生变化,用户的需求也随之不断发生变化。 ( 2 ) 开发运行环境的多变性计算机技术飞速发展,硬件不断升级,软 件也在不断的发展变化,新的开发平台、开发语言和工具更新换代,层出 不穷。 这种外部动态环境对m i s 系统的自适应性提出更高的要求。而目前的 m i s 开发方式大多只注重业务处理,难以适应外部环境多变的需求。系统 一旦投入使用,难以更改,缺乏自适应性,生命周期较短。 针对目前m i s 开发方式及其产品缺乏“柔性”,难以适应变化的问题, 本文提出一种“柔性管理信息系统( f l e x i b l em a n a g e m e n ti n f o r m a t i o ns y s t e m f m i s ) ”的概念和开发模式,以期解决这一问题。 f m i s 指在软件的开发和运行中能在一定范围内满足和适应用户不断 变化的需求的管理信息系统。“柔性”这一概念的引入正是用于描述软件适 应用户需求和开发、运行环境变化的性质。概括说来,f m i s 主要通过以下 两个层面来体现其柔性: 燕山人学工学硕士学位论文 f 1 1 面向普通用户的柔性当用户的需求发生变化时,原有的m i s 系统 f = = 必由开发人员修改,用户可以通过软件提供的友好界面,对软件的功能 自行进行动态配置或调整,调整后的软件不需进行重新编译即可使用。 ( 2 1 面向丌发人员的柔性当丌发一个新的应用系统时,不必从头开始 设计,进行大量的代码编写,而是充分利用已有的可复用资源,调整、重 新组装或稍加修改即可组成新的系统。 要想快速高效地建立一个开放的、分布的、安全可靠的集成化信息系 统,最大限度的降低开发成本,首要的问题是提高系统的开发效率,提高 软件产品的柔性。而逐渐成熟的软件复用和软构件技术是提高软件产品质 量与软件生产效率的关键技术,是工程化开发和工业化生产的必然趋势。 1 2 相关领域的国内外研究动态 f m i s 在系统的分析、设计及实现过程中涉及分布对象技术、中间件技 术、特定域软件体系结构、基于构件的软件开发技术、软件重构、软件复 用等技术领域。下面对其研究和商品化软件产品的国内外进展情况进行分 析。 1 _ 2 1分布结构与多层应用系统 1 2 1 1 分布结构分布式计算( d i s t r i b u t e dc o m p u t i n g ) 技术是近二十年来 影响计算技术发展的最活跃的因素之一。它经历了两条发展路线,一条是 试图在互连的计算机硬件上部署全新的分布式操作系统,另一条是在网络 计算平台上部署分布计算环境,即中间件,提供开发工具和公共服务,支 持分布式应用,实现资源共享和协同工作。前者是2 0 世纪8 0 年代学术界 普遍追求的目标,但是没有被用户和市场接受,而后者正是现实的分布式 计算技术的解决方案【l l 。 分布结构是直接把所有应用都转化为对象的概念,即分布系统中任何 一个对象都可以通过一定的接口调用另一个对象提供的服务,甚至是另一 个系统中某些对象提供的服务。分布式应用系统从某种意义上说,可以看 第1 章绪论 成是一种多层的客户端,服务器( c l i e n t s e r v e r ,c s ) 系统。与传统的c s 系统不同,分布式应用系统中的客户端服务器的数量庞大。另外,客户端 和服务器的角色是相对的,一个应用系统相对于一个应用来说是客户端, 而相对另一个应用来说可能又是服务器。 目前国际上,分布对象的主流技术标准可分为三大流派,即:c o r b a 、 c o m d c o m c o m + 乖ij a v a 。c o r b a 技术是最早出现的,1 9 9 1 年对象管理 组织o m g 颁布了c o b r a1 0 标准,目前最新版本是3 0 ;m i c r o s o f t 推出 的c o m 和现在的d c o m 和c o m + 标准,形成了m i c r o s o f t 套分布式对象 的计算平台;而s u n 公司推出的j a v a b e a n ,其目前的版本叫j 2 e e 。s u n 公 司基于r m i ,又推出了e j b ( e n t e r p r i s ej a v a b e a n ) ,除语言外还有组件的标 准以及组件之间协同工作通讯的框架。e j b 是基于j a v a 服务器端组件模型, 其框架提供了像远程访问、安全、交易、持久和生命期管理等多种支持分 布对象计算的服务。目前j a v a 技术和c o r b a 技术有融合的趋势【2 j 。 1 2 1 2 多层应用系统从“计算模式”的观点,m i s 经历了单机、主机和 终端、c s ( 客户机服务器) 、多层c s 和b s 的发展。在这发展过程中, c s 模式发挥了相当重要的作用。两层c s 结构是为局域网或企业专用网络 设计的,它在为某些模式相对固定的应用和相对稳定的数据需求提供服务 时非常成功。但是随着网络技术的发展,全球的服务器和数千万的用户正 通过i n t e m e t 互联起来,这就要求当前的应用系统变革体系结构,从而满足 这个无序的超大规模的网络环境。于是人们将多层体系结构引入m i s 系统。 在该结构中,由应用服务器集中实现应用逻辑,客户端则把重点放在数据 的显示和与用户的交互上。具体说来,多层体系结构有如下优势: ( 1 ) 在一个共享的中间层封装了商业规则,不同的客户端可以共享同一 个中间层,而不必由每个客户端单独实现商业规则。 ( 2 ) 客户端可以做得很“瘦”。因为很多复杂的工作由应用服务器代劳了, 客户端关注的只是用户界面。“瘦”客户端更容易发布、安装、配置和维护。 ( 3 ) 实现了分布式数据处理。把一个应用程序分布在几个机器上运行, 可以提高应用程序的性能,通过部分的冗余配置还可以保证不会因为局部 故障导致整个应用程序的崩溃,有利于安全;可以把一些敏感功能放在有 燕山大学j 二学硕十学位论文 严密防护措施的层上,同时又不至于使用户界面变得复杂。 1 2 2d s s a 及构件框架方法 d s s a 最早是美国a r p a ( a d v a n c e dr e s e a r c hp r o g r a m sa g e n c y ) 支持的 一个研究项目 3 1 ,后来演变成基于体系结构的软件开发方法的泛称。b r a u n 等人在1 9 9 3 年提出了“特定领域软件体系结构”( d o m a i n 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 的软件开发应采用新的软 件生命周期观点,研究符合其特点的软件开发过程1 4 , 5 1 。d s s a 主要面向同 一领域范围的软件复用,已成为目前软件工程的研究热点。由美国国防部 支持的s t a r s 项目提出的双生命周期模型1 6 1 “,是这一方向的重要研究成 果。d s s a 对双生命周期模型的内容进行了充实,并提出了面向烟草行业基 于构件的开发模型。 北京大学计算机系等单位在所承担的国家“九五”重点攻关课题“青 鸟工程”中,已开始对基于构件,框架的软件开发方法进行了研究。在青鸟 软件生产线中,软件的生产过程划分为三类不同的生产车间,即应用构架 生产车间、构件生产车间和基于构件、框架复用的应用集成车间,从而形 成软件产业内部的合理分工,实现软件的工业化生产。软件开发人员被划 分成三类:构件生产者、构件库管理者和构件复用者。这三种角色所完成 的任务是不同的,构件生产者负责构件的生产、描述;构件库管理者负责 构件及构件库的管理工作:而构件复用者负责进行基于构件的软件开发, 包括构件查询、理解、适应性修改、组装以及系统演化【8 ,】。 1 2 _ 3 软件重构及其研究现状 软件重构,又称软件再工程或软件重组,是软件维护工作的一部分, 并和本文中所研究的f m i s 密切相关。目前,软件工程一般以四类形式的活 动来定义软件维护,包括纠错性维护、适应性维护、增强性维护和预防性 维护。其中第四项活动就是软件重构,它主要是指通过对软件或信息系统 中与添加新功能相关的成分进行适当改造,使其在结构上完全适合新功能 4 第1 章绪论 的加入,运用这种技术可以避免采用完全重新设计的办法所带来的问题。 关于软件重构,绝大部分研究者都达成了一个较为关键的共识:进行软件 重构不是修改、扩展或添加新的程序功能,而是修改现有软件的内部结构, 使之更易于理解,从而更利于修改、扩展和添加新的功能。 目前对软件重构的研究主要集中在:软件重构的过程模型;软件重构 的具体技术;软件重构和b p r ( b u s i n e s s p r o c e s s r e e n g i n e e r i n g ) 的结合;软件 重构和设计模式的结合等。 ( 1 ) 软件重构过程模型r o g e r p r e s s m a n 提出了一种软件重构过程模型, 它定义了六类活动,分别是库存目录分析、文档重构、逆向工程、代码重 构、数据重构和正向工程。该模型是一种循环模型,这意味着作为该模型 一部分的每个活动均可能被重复,对任意特定的循环,过程可以在任何一 个活动之后终止。p r e s s m a n 的软件重构过程模型规范了软件重构的全过程, 为软件重构提供了较好的过程管理和控制支持。另外,b r i a nf o o t e 通过对 面向对象软件生命周期( 原型、扩展和巩固三个阶段) 的研究讨论了软件重构 过程模型及其在软件生命周期中的地位和作用。w i l l i a mf o p d y k e 在他的博 士论文“r e f a c t o r i n go b 3 e c t o r i e n t e df r m _ 】a e w o r k s ”中详细介绍了一些对面向 对象框架进行重构的具体技术,其中的大部分技术也适用于一般的面向对 象系统。k e n tb e c k 在t h es m a l i r a l kr e p o r t 上发表的 m a k ei tr u n ,m a k ei t r i g h t :d e s i g nt h r o u g hr e f a c t o r i n g ”等文章中也对软件重构的具体技术进行了 详细的讨论并给出了一些实例。r a l p ae j o h n s o n ,m o h a l n e df a y a d 等人在该 领域内也有着重要的地位,并发表了许多有价值的文章,p r e s s m a n 在他的 著作中,也给出了针对软件重构过程中六个活动的具体建议【l 。 ( 2 ) 软件重构和b p r 的结合b p r 即业务过程重组,就是要针对竞争环 境和顾客需求的变化,对业务流程进行“根本的重新思考”和“彻底的重新设 计”,再造新的业务流程,以求在速度、质量、成本、服务( 简称t q c s ) 等 各项当代绩效考核的关键指标上取得显著的改善,使得企业能最大限度地 适应以顾客( c u s t o m e r ) 、竞争( c o m p e t i t i o n ) 和变化( c h a n g e ) 为特征的现代企 业经营环境。软件重构和b p r 位于不同的抽象层次。b p r 位于业务层,着 重于业务流程的再造;软件重构位于软件层,企图对信息系统的软件元素 燕山人学t 学硕士学位论文 进行重构以展示更高质量、更强适应性和更好维护性的版本,以适应和支 持系统功能的扩展和新功能的加入。由于b p r 所倡导的是对现有业务规则 和过程进行再分析和再设计以达到更高的效率和竞争力,所以当b p r 造成 业务规则和过程改变时,支持“旧的业务过程和规则”的信息系统就必须重 构来有效地支持这种改变。目前,把软件重构和b p r 结合起来研究已经成 为一个新的研究方向,尤其是在面向业务过程的信息系统研究领域。 ( 3 ) 软件重构和设计模式的结合由于设计模式展示了如何使用诸如对 象、继承、多态和封装等基本的面向对象技术对一个系统进行算法、行为、 状态或需生成的对象类型等各方面的参数化,因此在一个软件系统不得不 进行重新组织或重构时,设计模式可以帮助我们重新组织一个灵活的设计, 同时还能减少以后的重构工作或在以后能够快速重构以适应新的变化。有 些设计模式记录了许多重构产生的设计结构,在设计初期使用这些模式可 以防止以后的重构”l ,“l 。 1 2 4 柔性软件开发的思想和理论基础 柔性思想起源于机械制造系统,后来又逐渐运用到企业管理中,这些 都为柔性软件的提出奠定了思想基础。在以往的研究中,“柔性”应用范围 很广,它泛指适应变化的能力和特性。后来,人们将“柔性”引入到软件领 域,来描述软件对变化的适应性。目前,学术界对软件领域的柔性尚未能 给出统一的定义。柔性软件,简单的讲,就是在对软件本身不做修改或少 做修改的情况下,只通过改变一些相关的外在因素,使其能够适应新的环 境要求的软件。 面向对象技术、软件复用技术、软件构架技术的出现为柔性软件的开 发奠定了技术基础。这些技术由于对软件柔性思想提供了天然的支持,对 柔性软件的开发过程起到了巨大的推动作用,促进柔性软件的进一步发展。 柔性软件的开发相对于非柔性软件来说复杂度、难度都要大,这就需要一 些技术来缩短开发周期。这些技术的出现无疑会缩短柔性软件的开发周期, 提高软件质量、可维护性和可靠性,使开发柔性软件成为可能。 第1 章绪论 1 3 研究内容与研究意义 1 3 1 课题主要研究内容 ( 1 ) 对f m i s 的概念和柔性特征进行深入探讨,对当前f m i s 开发过程中 的一些主流技术进行分析; ( 2 ) 提出一种重构式f m i s 解决方案,并对其概念模型、开发模型和开 发流程进行深入研究; ( 3 ) 对构件库技术进行深入研究,在此基础上,从技术角度研究重构式 f m i s 通用构件库的实现; ( 4 ) 给出基于f m i s 构件库的柔性物资管理系统的实现方案,针对系统 的具体需求,提取并构造了系统的专用构件。 1 3 2 课题主要研究意义 本文的研究意义体现在理论和实践两个方面。实践方面的意义,在本 章的1 1 己进行了较深入的阐述。进一步而言,m i s 软件应用范围非常广泛, 是一个国家信息化建设程度的重要标志。因此研究柔性m i s 开发技术,对 提高国产管理软件的水平,促进我国信息化建设的进程,具有十分重要的 意义。在理论方面f m i s 研究中所采用的柔性软件开发技术虽然在理论和实 践中已取得许多成果,但仅仅是一种普遍适用于软件开发的哲理,可比喻 为软件分析与设计的“世界观”。如何将这种世界观具体应用于m i s 开发的 实践仍然是一个有待研究和完善的课题。因为目前在这方面还没有一个统 一的、规范化方法。本文提出的重构式f m i s 开发模式基于柔性软件思想, 以构件技术作为实现手段,涉及了m i s 系统的开发各个阶段,已形成了一 个柔性m i s 系统开发的较完整的解决方案。 1 4 论文结构 第1 章为绪论。介绍了柔性m i s 技术的研究背景,对相关领域的国内 外研究状况进行总结,指出了本课题的研究内容、意义及要解决的关键问 燕山大学工学硕士学位论文 趣。 第2 章为f m l s 的理论及技术分析。从多角度对柔性软件理论进行分析, 并对f m i s 系统的支撑技术进行论述,最后通过对f m i s 技术层面分析,简 要论述了柔性软件思想与其支撑技术之间的关系。 第3 章为重构式f m l s 模型的构建。提出了重构式f m i s 的开发模式, 并从结构模型、开发流程等角度对其实现方式进行论述。最后对重构式 f m i s 的构造进行重点论述。 第4 章为重构式f m i s 构件库的研究。对构件库系统进行深入研究,通 过对通用m i s 系统的领域分析,抽象出通用m i s 系统的体系结构,并从软 件柔性的角度对部分关键构件的实现进行论述。 第5 章为f m i s 系统开发实例。以物资管理系统为例论述了基于f m i s 通用构件库的通用m i s 系统实现,并对部分系统专用构件进行重点论述。 8 第2 章f m l s 理论及其技术分析 第2 章f m i s 理论及其技术分析 管理信息系统( m i s ) 是指对企业、组织或个人的信息进行管理和运用 的系统。本文所指的管理信息系统的概念较为狭义,它将管理信息系统限 定在计算机应用的层面上。管理信息系统可定义为:一个由人、计算机系 统组成的,可进行信息的收集、传递、存储、加工、维护和使用的系统。 它利用计算机、数学、经济、管理等多种模型,以及数据库或数据仓库等 对信息进行收集、转换、分类、统计、加工、存储、传输、维护和使用, 以支持企业或组织内部的作业、管理、分析和决策【1 3 l 。 在激烈的市场竞争和技术进步的双重牵引与推动下,m i s 系统要能够 根据用户在系统应用过程中对系统及功能不断提出的新要求,及时有效地 进行修改,以适应用户的新要求,即向柔性m i s ( f m i s ) 的方向发展。 2 1f m i s 的理论基础 2 1 1f m i s 的产生背景 随着信息化建设的不断推进,m i s 系统的应用目益广泛。这在给我们 带来好处的同时,也改变了我们的工作方式乃至生活方式。而这种改变最 终又将体现在m i s 系统中。m i s 系统开发所面临的挑战主要也来自于这些 形形色色的变化。m i s 系统只有适应这些变化才能与时代同步,而这些不 断变化的需求也给软件的开发、实施和维护带来了冲击并引发了以下一些 问题。 ( 1 ) 软件的适用性和可用性问题软件适应变化能力不够,经常是用户 提出很小的变化,却需要开发人员修改大量代码才能满足要求。初期分析 阶段用户对某种需求往往不十分清晰,即隐性需求无法明确,开发人员只 能满足其相对直接的显性需求,因此软件存在隐患。有时候用户需求的基 本特征就是其需求的不断变化,而系统分析人员在开发时能够预测到的用 户需求细节却非常有限。 9 燕山大学工学硕士学位论文 f 2 ) 软件的稳定性问题软件刚开发完成,即使经过一定程度的使用测 试,也存在不稳定性。而后期维护工作中有近7 0 的工作属于扩充性软件 维护,这类修改的不断进行有可能降低系统的稳定性。 ( 3 ) 软件的开发周期问题如果用户需求不断变化,预定的开发周期将 被无限期延长,用户对于软件最终效果也无法有明晰的确认,由此带来信 任危机及诸多问题。开发人员和使用人员的突然变动也使得情况恶化。 ( 4 1 开发商和用户的风险问题如果开发的软件系统无法让用户完全满 意,有可能造成项目尾款支付成为未知数,这对开发商而言是极大的风险; 当系统无法满足需要,不得已进行二次开发或重新开发,可能造成投入不 断加大而收效甚微,对用户而言也会承担很大的风险。 综上所述,目前m i s 开发面临的最大问题就是如何应对这种多变的需求 带来的巨大挑战。从八十代开始国内外涌现并逐渐发展了许多面向需求的 应用软件开发方法和技术,有一些已经相当成熟,如面向对象技术、软件 复用、构件技术、多层c s 计算模式等。这些方法和技术在不同层面上缓解 或克服了需求变化给软件带来的不良影响。但由于软件固有的复杂性,到 目前为止,适应用户需求变化的问题仍然没有得到根本解决。于是,将“柔 性”引入n m i s 开发中以描述软件的对变化的适应能力,并用来整合各种方 法和技术4 1 ”】。 2 1 2f m i s 的定义 针对上述m i s 开发中存在的问题,综合了现有各项相关技术,f m i s 的概念就此引入。f m i s 是指在一定范围内能够满足和适应用户不断变化的 需求的管理信息系统【1 5 】。f m i s 在运行环境和用户需求发生变化时,不修改 或者稍加修改就能满足用户的需求。 2 1 3f m i s 的特征分析 2 1 3 1 m i s 的柔性定义软件以静态和动态形式存在。静态形式是其 “形”,是指软件没有运行时的形式,由静态程序代码、静态数据及相关资 1 0 第2 章f m i s 理论及其技术分析 料构成;动态形式是其“态”,是指软件运行时的形式,由软件运行时的程 序代码、数据及其效果构成。 m i s 系统在保持基本特征不变的条件下,在外界的作用、刺激、驱动 过程下,其形态能够进行平稳和协调变化的性质,称为m i s 系统的柔性。 外界对m i s 系统的作用、刺激、驱动称为m i s 系统形态变化的外力。 它来源于外界操控软件的力量,包括使用人员操控软件的能力、修改代码 的能力、环境的影响力等;将软件的形态变化称为软件的形变,包括代码、 数据、功能、处理内容、方法、行为、界面等的变化f j “。 2 1 3 2f m l s 的柔性特- 陛f m i s 的柔性表现特性如下: ( 1 ) 易变性用较小的代价实现软件的形和态的变化; ( 2 ) 适应性利用软件的柔性可以适合和满足对软件新的要求,是软件 应对外部变化的一种方式; ( 3 ) 平稳性软件在柔性变形时,基本特征不变、基本功能不变,变化 是协调的、有限的,一处的变化不会导致软件的其它部分失效。变化能力 是持久的,不是忽有忽无; ( 4 ) 可控性可以按需要控制变化时机、变化程度和保持变形; ( 5 ) 再现性借助操控力可以变形,也可以借助操控力恢复变形,可以 在相同的要求和条件下重复进行柔性变形。 软件柔性中具有变化性,在软件柔性变形中主要体现出两种变化的特 性: ( 1 ) 以不变应变软件的构成元素,即软件的“形”不发生变化,仅仅 通过软件的“态”的变化来满足用户变化的需求; ( 2 ) 以变应变软件的构成元素,即软件的“形”发生变化,通过软件 “形”和“态”的共同变化满足用户变化的需求。 软件的柔性与适应性有着密切联系,但又不同,二者的关系如下: ( 1 ) 柔性是软件本身的特性,适应是软件为某种目的而变换形态的过程。 利用柔性可以适合和满足对软件新的要求,不用柔性也可以通过其它方式 来实现适应的目的。适应性一定是有目的、有对象的。柔性可以是没有目 的、没有对象的。 燕山人学- 1 = 学硕士学位论文 f 2 ) 适应性只是柔性的重要特性之一。柔性是一个综合性指标,包括变 化的范围、代价、效果、时间性、可控性、平稳性。 软件的柔性与通用性是很容易混淆的两个概念,下面是软件柔性和通 用性的关系,可以将二者区分开来。 f 1 ) 软件的通用性指软件功能覆盖面的宽广程度,通用性更强调“包容 性”,柔性更强调对变化需求的适应性。 f 2 ) 一方面软件可以通过遵守标准化的要求达到通用性,另一方面软件 因实现了大多数用户需要的功能而具有了通用性。 ( 3 ) 具有柔性的软件不一定具有通用性,具有通用性的软件也不一定具 有柔性,但是可以利用柔性达到一定的通用性。 2 1 3 _ 3f m l s 的柔性特性f m i s 柔性的层次,概括来说,柔性软件系统 主要从两个层面来体现其“柔性”: ( 1 ) 面向普通用户的柔性表现在软件的使用过程中用户能动态调整软 件的功能,是理想的柔性。实现面向用户的柔性,软件开发的代价和用户 操作的难度都要增加。软件柔性的实现需要软件内部结构的支持,这在软 件的设计和编码上都会增加难度。用户在操控柔性软件时,需要进行一些 自定义功能设置、参数设置、业务流程和规则的编排等,这就要求用户有 较高的业务水平和计算机技能。 ( 2 ) 面向开发人员的柔性当用户操作的难度达到一定程度,以至于只 能由系统开发人员来施行时,面向用户的柔性就转变为面向开发人员的柔 性。这种柔性通常体现在软件的开发或重构过程中。在领域分析阶段,通 过共性分析,识别出该领域的应用系统需要何种可复用构件;通过变性分 析,定义该领域应用系统所需的柔性构件。在已有的可复用资源中通过复 用或创建所需构件来实现面向开发人员的柔性 1 ”。 2 1 3 4 f m i s 柔性的表现形式f m i s 柔性表现形式如下: ( 1 ) 环境柔性指当软件的运行环境发生变化时,软件具有适应这种变 化的能力。运行环境包括硬件环境、操作系统、支撑环境等。软件运行环 境的选择是至关重要的,在开发柔性软件前要做好这方面的可行性研究工 作,以确定此类柔性的程度。 第2 章f m i s 理论及其技术分析 ( 2 ) 操作柔性指在操作的步骤和方法等方面给用户某种程度的自主 权,操作界面可以根据用户的需要进行调整,以适应不同操作人员的需要。 软件的操作人员可以分为初级用户、中级用户和高级用户。当软件的操作 者发生变化时,具有操作柔性的软件有适应这种变化的能力。 ( 3 ) 数据柔性软件功能的改变,往往会引起软件的数据及数据结构的 变化。在整体结构不变的情况下,软件用户可通过一个简单易用的接口来 维护数据及其结构。软件适应这种变化的能力称为数据柔性。数据柔性表 现为:软件可以挂接不同形式的数据源,如文本、x m l 文件、e x c e l 表、 数据库等,这些数据可能存放在本地或网络上的不同的位置。能够采用多 种数据形式进行数据的交换,允许数据值和数据量的变化,允许数据结构、 数据范围和数据类型的变化。 数据柔性是最难实现的,尤其在数据结构发生变化的时候,因为这不 仅是数据本身的变化问题,还涉及软件的其它部分也要协调地适应这种变 化,例如,数据的输入、查询、打印、计算处理等。 ( 4 ) 表示柔性指软件能够满足用户输入和输出形式变化的需要。一方 面能够对输入和输出的形式进行调整以满足用户个性化的要求;另一方面 能自动调整输入、输出、查询界面以满足数据结构的变化。表示柔性主要 表现为录入界面的柔性、查询的柔性和输出的柔性。 ( 5 ) 流程柔性指用户可利用软件从多种途径完成相同的任务,软件中 有多种功能或功能的组合来完成用户相同的需求。并且软件允许调整业务 处理流程和处理方法。 上述各方面的柔性并不是孤立存在的,它们是相互影响的、相互支持 的、相互制约的。例如,业务处理流程和处理方法的变化可能导致数据结 构的变化,数据结构的变化又可能导致输入和输出界面的变化。 2 1 4 柔。陛软件系统的研究意义 由于柔性软件系统要解决许多普通软件系统所无需考虑的难题,因此 其在初次开发时难度非常大,具有一定的风险性。但是,柔性软件系统一 燕山大学1 学硕士学位论文 旦开发成功,其可利用价值就非常高。它可适用于许多不同的部门,适应 不同的需求。从总体上看不仅大大缩短了软件的总体丌发周期,而且使该 系统生命周期远远超过只针对特定应用需求的普通软件系统。柔性软件的 理论和技术将为m i s 、e r p 、c i m s 等系统的构建提供强有力的支持。柔性 软件系统具有下述多方面的意义。 ( 1 ) 缓解软件危机一方面,柔性软件能适应外部环境和用户需求的变 化,缓解用户不断变化的需求对软件的压力;另一方面,柔性软件的研究 和开发能提高软件的利用率,大幅度提高软件开发效率。因此,柔性软件 系统能够在一定程度上缓解软件危机。 ( 2 ) 增强软件的时效性柔性软件能适应环境和用户需求的变化,满足 用户对时效性的要求。其一,柔性软件中面向用户的柔性使得用户在一定 范围内及时调整软件成为可能;其二,柔性软件中面向开发人员的柔性使 得开发人员能够方便地对软件进行修改,以最短的时间为用户提供满足需 求的软件产品;其三,可充分利用原有柔性软件的资源,进行调整后快速 形成具有个性的产品线。 ( 3 ) 有利于软件的维护传统软件系统的修改非常困难,维护量会随着 已有程序量的增长而快速上升。柔性软件系统的柔性结构能够有效地防止 传统软件修改中牵一发而动全身的缺陷,有利于减少维护的工作量并提高 软件质量。 2 2 f m i s 的支撑技术 2 2 1 m 1 s 系统计算模式的发展 m i s 系统的发展已有近4 0 年的历史,从计算模式和体系结构的观点看, 其主要历程如下【1 6 ) : ( 1 ) 单层体系结构m i s 系统出现时,是由应用程序控制关系型数据库, 这种数据处理的模式称为单层体系结构。 ( 2 ) 两层体系结构在单层体系结构下,由于m i s 系统占用计算机资源 较多,于是开始向两层模式发展。两层模式下主要有两种结构:一是“主 1 4 第2 章f m i s 理论及其技术分析 机终端”;二是“客户机ij r 务器”( c l i e n t s e r v e r ,c s ) 结构。其中c s 结构 在m i s 系统的发展过程发挥着非常重要的作用。c s 结构是把一个大型的 计算机应用系统变为多个相互独立的子系统,而服务器便是整个应用系统 资源的存储与管理中心,多台客户机则各自处理相应的功能,共同实现完 整的应用。虽然c s 得到了广泛的应用,而且相当成功。然而随着m i s 系 统的复杂度和规模的日益扩大,两层c s 结构逐渐暴露出构架( a r c h i t e c t u r e ) 上的缺陷。其局限性如下:c s 结构中,服务器在系统中的权重过大,因而 整个系统的可靠性难以保障,且处于一种高风险的运行状态;客户端与服 务器直接连接,安全性低。非法用户容易通过客户端直接闯入中心数据库, 造成数据损失;由于客户端和数据库服务器端的直接连接,服务器端将消 耗大量本就紧张的资源用于处理连接工作;客户端的分发和维护工作过于 繁重;存储过程调用的各种操作都在数据库层进行,需专用的语言开发, 可移植性差;大量的数掘直接在客户端与服务器之间传送,在业务高峰期 容易造成网络流量暴增,网络阻塞。 由于两层c s 模式的这些先天不足,随着业务量的变化,出现越来越 多的问题,有必要对这种两层体系进行改革,将业务处理与客户交互分离 开,实现瘦客户业务服务数据服务的多层分布式应用体系结构。 2 2 2 三层及多层体系结构 今天信息技术部门所面临的问题是如何创建跨越l a n 、w a n 和i n t e m e t 平台的分布式可伸缩性的应用结构,以满足当今复杂的、不断发展变化的 业务要求,同时又能保证企业在系统、应用、信息及人员上的投资。能够 适应这种变化的结构是多层分布式计算体系结构。它能在较低的费用开支 下提供比现行的两层结构更好、更及时的信息服务。 2 t 2 2 1 多层分布式体系结构分层介绍三( 多) 层结构代表了企业级应用的 未来,典型的有w e b 下的应用、多层c s 应用等。多层结构和三层结构的 含义是一样的,只是细节上有所不同,目的是为了解决三个层面上的问题: ( 1 ) 界面层,基于w e b 和浏览器,并提供一定的网络访问安全性: 燕山大学工学硕士学位论文 ( 2 ) 逻辑层,也称为中间层,是界面层和数据层之间联系的桥梁。响应 用户的请求,执行任务并从数据层抓取任务数据,将必要的结果返回界面 层,显示给用户。同时,还实现分布式管理、负载均衡、安全隔离等; ( 3 ) 数据层,包括数据的定义、维护、完整性、安全性,响应逻辑层的 请求,数据访问等。这一层通常由大型数据库服务器来实现。 单层体系将界面层、逻辑层、数据层合并在一起。两层体系分为两类: 一种是将界面层和逻辑层合为一层,数据层另起一层,称为胖客户,服务器 结构:另一种是将逻辑层与数据层合并,界面层独自为一层,称为瘦客户 服务器结构。而三层体系结构是把这几层分离处理,它是晟简单的多层应 用。它把应用分为:瘦客户端应用程序、应用程序服务器和远端数据库服 务器。其中客户端主要负责用户界面的处理:服务器端主要负责商业逻辑 的处理,为客户端提供公共的数据服务,处理客户
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东深圳市龙岗区园山街道招聘聘员12人考前自测高频考点模拟试题及答案详解1套
- 2025河北省烟草专卖局(公司)招聘141人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025春季四川省人民政府科学城办事处直属事业单位第二批次考核招聘教师6人考前自测高频考点模拟试题及答案详解(易错题)
- 2025江苏连云港恒驰实业有限公司招聘5人考前自测高频考点模拟试题附答案详解
- 2025湖州安吉县城市建设投资集团有限公司下属子集团招聘11人模拟试卷及参考答案详解
- 2025广东惠州市博罗县招聘编制教师143人考前自测高频考点模拟试题有完整答案详解
- 2025北方人才(蒙东)国家标准化考试基地招聘28人考前自测高频考点模拟试题及完整答案详解一套
- 2025年鹤壁市面向社会招聘看护队员30名模拟试卷含答案详解
- 2025广东湛江市坡头区社会保险基金管理局招聘编外人员1人模拟试卷附答案详解(模拟题)
- 2025年甘肃省定西市安定区第二人民医院招聘村卫生所工作人员考前自测高频考点模拟试题及答案详解(夺冠系列)
- DB14T 2922-2023 公路机电工程标准工程量清单及计量规范
- 2023年全国职业院校技能大赛-融媒体内容策划与制作赛项规程
- 《电力建设施工企业安全生产标准化实施规范》
- 糖尿病周围神经病变知多少课件
- 新概念英语青少版入门 A-Unit-1课件(共98张)
- 儿童肺炎支原体肺炎诊疗指南(2023年版)解读
- 个人履职考核情况表
- 中小学消防安全、交通安全、食品安全、防溺水、防欺凌系统安全教育主题课件
- 建筑垃圾减量化专项方案
- 关于农民工工资催付告知函
- GB/T 6426-1999铁电陶瓷材料电滞回线的准静态测试方法
评论
0/150
提交评论