




已阅读5页,还剩61页未读, 继续免费阅读
(工商管理专业论文)浪潮通信软件公司数据管理平台分析与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浪潮通信软件公司数据管理平台分析与设计 摘要 浪潮通信软件公司是一家从事通信行业集中网络管理软件开发的公司,随 着通讯行业的快速发展,业务需求不断增加,而公司现有的软件产品,由于缺 乏统一的规划,数据维护功能根据用户既定的业务模型开发,每次数据模型的 变化都要进行程序的修改,由于扩展性、配置性不强,无法快速适应用户业务 的变化。 为了解决这些问题,通过对面向对象理论进行深入研究,借鉴了m d a 模 型驱动的软件开发思想,结合多年通信行业软件开发的经验,提出了建设基于 动态模型的数据管理平台的构想。 本文研究的数据管理平台,通过数据对象的动态建模,满足数据模型灵活 扩展的需要,并可根据数据对象模型的定义,不用修改任何代码,即可实现数 据对象实例维护功能的动态变更,并且提供了统一的数据访问接口服务,实现 了应用与数据的分离。 通过本文研究的数据管理平台,解决了原有系统扩展性不高、配置性不强、 没有提供统一数据接口的问题,取得了较好的应用效果。 关键词:面向对象;模型驱动;数据对象模型;数据对象实例;w e bs e r v i c e ; a n a l y s i s & d e s i g no fd a t am a n a g e m e n tp l a t f o r m f o ri n s p u rc o m m u n i c a t i o ns o f t w a r qcoltdnsu ro m m u n l c a t i o n0 i t w a r e 0t d 1 0 a bs t r a c t l n s p u rc o m m u n i c a t i o ns o f t w a r ec o ,l t d i sac o m p a n ye n g a g e di nt h ec o m m u n i c a t i o n s i n d u s t r yf o c u so nn e t w o r km a n a g e m e n ts o f t w a r ed e v e l o p m e n tc o m p a n y ,a l o n gw i t ht h er a p i d d e v e l o p m e n to f t h ec o m m u n i c a t i o n s i n d u s t r y ,i n c r e a s i n gd e m a n df o r b u s i n e s sa n dt h e c o m p a n y & 拌3 9 ;se x i s t i n gs o f t w a r ep r o d u c t s ,d u et ot h el a c ko fu n i f i e dp l a n n i n g ,m a i n t e n a n c e d a t af u n c t i o n si na c c o r d a n c ew i t he s t a b l i s h e dc u s t o m e r st h eb u s i n e s sm o d e lo fd e v e l o p m e n t , e a c hd a t am o d e lm u s tc h a n g et h ep r o c e d u r e sf o rc h a n g e sa sar e s u l to ft h ee x p a n s i o n ,t h e c o n f i g u r a t i o ni sn o ts t r o n g ,a n db u s i n e s su s e r sc a nq u i c k l ya d a p tt or a p i dc h a n g e s i no r d e rt os o l v et h e s ep r o b l e m st h r o u g ho b j e c t o r i e n t e dt h e o r yo fi n d e p t hs t u d y ,l e a r n f r o mt h em d am o d e l - d r i v e ns o f t w a r ed e v e l o p m e n t t h i n k i n g ,c o m b i n e dw i t hy e a r so f t e l e c o m m u n i c a t i o n si n d u s t r ye x p e r i e n c ei ns o f t w a r ed e v e l o p m e n t ,p u tf o r w a r dt h eb u i l d i n go f t h em o d e lb a s e do nd y n a m i cd a t am a n a g e m e n tp l a t f o r mf o rt h ei d e a i nt h i sp a p e r ,t h ed a t am a n a g e m e n tp l a t f o r mf o rd y n a m i cd a t ao b j e c tm o d e l ,d a t am o d e l f l e x i b i l i t yt oe x p a n dt om e e tt h en e e d so ft h eo b j e c tm o d e la n dd a t ai na c c o r d a n c ew i t ht h e d e f i n i t i o n ,d on o th a v et om o d i f ya n yc o d e ,o b j e c td a t ai n s t a n c e st os a f e g u a r dt h ef u n c t i o n so f d y n a m i cc h a n g e ,a n dp r o v i d e sau n i f i e di n t e r f a c ed a t aa c c e s ss e r v i c e s ,a p p l i c a t i o n sa n dd a t a t oa c h i e v eas e p a r a t i o n i nt h i sp a p e r ,t h r o u g ht h ed a t am a n a g e m e n tp l a t f o r mt oa d d r e s st h ee x p a n s i o no ft h e e x i s t i n gs y s t e mi sn o th i g h ,a n dc o n f i g u r a t i o ni sn o ts t r o n g ,t h e r ei sn od a t at op r o v i d ea u n i f i e di n t e r f a c e ,h a sm a d eag o o de f f e c t k e yw o r d s :o b j e c t o r i e n t e d ;m o d e l - d r i v e n ;d a t ao b j e c tm o d e l ;d a t ao b j e c ti n s t a n c e ;w e b s e r v i c e ; i i 插表清单 表4 1对象信息表2 6 表4 - 2数据对象属性信息表2 8 表4 3数据对象方法信息表3 1 表4 4对象模板信息表3 8 表4 5统计模板信息表4 0 表5 1应用效果分析对比表5 7 插图清单 图2 1 事物对象转化图5 图3 1 浪潮通信公司产品架构图14 图3 2 事物对象数据对象转化图1 6 图3 3 动态模型数据管理平台系统架构图1 7 图4 1 数据对象模型管理功能结构图2 1 图4 2 数据对象导航树图2 2 图4 3 数据对象实例管理功能架构图2 9 图4 4 数据对象实例导航树图3 0 图4 5 数据类型维护界面3 8 图5 1 技术架构图4 1 图5 2 对象操作树界面4 4 图5 3 数据对象维护界面4 4 图5 4 数据对象属性维护界面4 5 图5 5 对象方法维护界面4 5 图5 - 6 设备配置管理系统功能架构图4 6 图5 7 设备配置管理导航树图4 7 独创性声明 本人声明所里交的学位论文是本人在导师指导下进行的研究:【作及取得的研究成果。据我所 知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得盒目墨王些太堂 或其他教育机构的学位或证二鸬而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签字: ,习乃 签字日期:刎年c2 ,月1 2 ,日 学位论文版权使用授权书 本学位论文作者完全了解金a 墨些盔堂有关保留、使用学位论文的规定,有权保留并向 国家有关部门或机构送交论文的复印件和磁盘,允许论文被奄阅或借阅。本人授权盒8 墨至:哒 堂一可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名: 阳霪 j 导师签名: 臻豸 j 签字日期:7 嘲年f2 ,月f v 日签字日期:非f 月t y b 学位论文作者毕业后去向: 工作单位:浪潮通信信息系统有限公司 电话:0 5 3 1 8 5 1 0 5 5 2 8 通讯地址: 山东省济南市山大路2 2 4 号浪潮通信公司邮编:2 5 0 0 1 4 致谢 时光荏苒,岁月如梭,转眼间历时两年多的研究生生活即将结束。 很多人说读m b a ,就是花钱买个学习,我深不以为然,回想这两年多 的学习生活,对管理知识进行了系统的学习,这是在课堂之外学不 到的东西,再结合自己工作中遇到的问题,感觉受益匪浅,对我这 个从技术转向管理的人来说,更是影响深远。 值此论文完成之际,首先要感谢我的导师梁昌勇教授,梁教授知 识渊博,实战经验丰富,曾经主持多个项目的研发工作,在繁忙的 工作之余,仔细审阅我的论文,对我论文的编写提出了很多指导性、 建设性的意见,在我的论文中凝聚了梁老师的心血。最让我感动的 是,我下午把论文初稿发给梁老师,晚上就收到了反馈,在梁老师 身上充分体现出了什么是效率。 其次,要感谢管理学院的朱老师、唐老师,每次咨询他们论文的 事情,都能得到详细、认真的解释。 再次,感谢我的同事,对我论文的编写进行了技术上的支持。 还要感谢我的妻子王五景,在繁忙的工作之余还要进行m b a 课程 的学习,是她主动承担起了所有家务,给了我巨大的鼓励和支持。 最后,感谢评阅论文和出席论文答辩的各位老师的悉心指导。 平生修得随缘性,粗茶淡饭亦知足,希望大家都有一个好心情。 第一章概述 本章内容共分为五部分,分别对本文研究的背景、研究问题、国内外研究 现状、目标和思路以及研究内容与章节安排进行了分析。 1 1 背景 软件产业作为一个独立形态的产业,在全球经济中占据日益举足轻重的地 位。从二战时期第一代计算机诞生到现在,计算机硬件技术取得了突飞猛进的 进步,计算机的计算能力以摩尔定律飞速发展。相应的,人们对计算机软件的 需求也直线上升,从最早的简单计算到用于精密的科学实验、研究以及实现复 杂的商业流程。人们使用计算机是通过对软件的使用来实现特定需求的,因此 软件是否能真正满足人们日益增长的需求才是计算机价值的体现。 回顾几十年计算机软件的发展历史,可以看到人们总是不断希望计算机能 处理更多的日常生活中的各种活动,因此软件也不断发展更新来实现这些需求。 就以这十多年为例,从简单的命令行操作系统d o s 到图形化操作系统w i n d o w s , 从简单的字处理软件到现今复杂的整套办公室软件o 舔c e 、从实现几个简单计 算公式的小程序到复杂的商业化软件、而各种e r p 软件更是为了全面管理大型 企业内部各个流程甚至实现企业间供应链的复杂业务流程。数字化城市、数字 化生活更是利用网络延伸计算机的计算能力,使得计算能力无处不在,时刻影 响改变我们的生活。我们可以看到现今的软件己早非十多年前想象的那样进行 些计算而已,而是越来越贴近人类思维,处理人们生活中可能遇到的一切问题。 这就要求计算机软件具有前所未有的智能,能“理解”人类的各种活动,能“听 懂”人们的各种要求。因为现在的世界天天在发生变化,如果无法“理解”人, 每次有新需求都要从头教计算机的话,那么必然导致软件无法及时更上需求的 变化。 通信行业是一个快速发展的行业,特别是移动通信行业,在近十年取得了 突飞猛进的发展,在企业信息化方面也走在了其他的行业的前列,从最初的设 备厂商提供的监控系统,到后来的集中网络管理与监控,再到近来的智能化管 理与监控,随着业务快速发展的需要,对软件系统的依赖度与灵活性、智能化 要求也越来越高。 浪潮通信软件公司是一家从事通信行业集中网络管理软件开发的公司,主 要客户是中国电信、中国网通、中国移动、中国联通的各省分公司,开发的软 件产品包括网络告警集中监控系统、网络性能集中监控系统、网络设备配置管 理系统等,通过采集各个设备厂商系统的网络数据,实现对通信网络的集中管 理。随着通信业务的快速发展,对软件系统也提出了更高的要求,而我公司开 发的软件系统,由于缺乏整体的规划,一些灵活性、扩展性方面的问题也逐步 暴露出来。 1 2 问题提出 浪潮通信软件公司从2 0 0 1 年开始介入通信行业集中网管软件的开发,在 系统建设初期,各省分公司单独建设自己的网管软件系统,系统建设也以单个 系统的开发为主,从集中网络告警管理,到集中网络性能管理,再到统一的设 备配置管理,分系统建设。在最初的软件开发过程中,是以满足用户的需求为 第一位的,基于既定的业务模型进行开发,很少考虑系统的扩展性、可配置性, 为后续系统的扩展、维护带来了很大的麻烦。 随着通讯业务的快速发展,网络扩容、建设的步伐越来越快,几乎每天都 有设备扩容、新设备接入,每次设备扩容或者新设备接入都要引起数据模型的 变化,由于我们系统扩展性的限制,每次数据模型的变化,都要进行告警管理 系统、性能管理系统、配置管理系统的开发、修改,来适应业务的变化,无法 快速满足用户的需求,同时带来工作量的增加。 经过分析,我们的软件产品主要存在以下问题: ( 1 ) 数据模型扩展性不强,不能满足客户业务模型快速变化的需要。数据 模型的变化都需要通过软件程序的修改来完成。 ( 2 ) 系统没有对数据访问接口进行统一的规划,各个产品线之间数据的交 互都是直接访问数据库,导致数据访问接口不统一。 ( 3 ) 缺乏整体规划,各个产品线单独进行设计与开发,每个产品都有自己 的数据库与架构,系统之间相互独立,缺乏信息的共享。 ( 4 ) 由于各产品线都有自己独立的数据库,对于一些共用的信息分别进行 维护,导致数据的不一致。比如基本的设备配置数据,应该是各个系统共用一 套配置数据,但是每个产品线都维护了一套配置数据,虽然也采用了一些同步 机制,由于实时性不强,使得基本的配置数据都不一致。 本文后续将主要针对数据模型的扩展性和接口的统一管理问题进行详细 的研究,构建基于动态模型的数据管理平台,并为其他问题的解决打下基础。 1 3 国内外研究现状 随着我国信息技术应用的加快,为了解决生产经营管理问题,各个企业都 建设了各种各样的信息系统,从最初的财务系统,到后来的e r p 系统,但是随 着应用的加深,现有系统很难适应业务需求的变化,最关键的问题就是数据模 型的扩展及各系统数据的整合,建设统一的数据管理平台也就提上了日常。 当前,国内的数据管理平台建设尚未有成出的软件产品,一般都是采用国 外的数据仓库技术,在应用层面主要用来对数据的整合、抽取( o l t p ) 以及数 据分析( o l a p ) ,基于历史数据,为上层的决策提供数据支持。在国内尚未有 支持日常业务应用的实时数据管理平台。 在国外的数据管理平台建设,也是以面向历史数据整合的数据仓库产品为 主导,比较成熟的数据仓库产品包括:i b m 公司的w a r e h o u s e 、o r a c l e 公司的 o r a c l e l lg 所带的数据仓库产品以及专业的数据仓库生产商n c rt e r a d a t a 提供 的数据仓库产品。以i b m 的d a t a w a r e h o u s e 为例,数据仓库产品主要提供了数 据建模、数据抽取、数据分析,主要通过对历史数据进行分析、建模,实现对 各系统数掘的整合、抽取,为上层决策分析提供数据上的支持,在对日常应用 方面,d a t a w a r e h o u s e 通过设置整合、同步的时间频率,来达到近似实时的效 果【1 1 。在数据建模方面,这些数据仓库产品,主要是面向研发人员对用户原有 系统数据的分析,由研发人员进行建模,对于最终用户而言,由于技术水平的 限制,很难根据自己的实际业务需要来定义数据模型。 通过对国内外数据管理平台的产品及应用研究得知,以数据整合、抽取、 分析为指导的数据仓库产品,还是要基于原有业务系统的数据来进行构建,尚 未有为日常业务系统建设提供数据建模和数据维护的基础数据管理平台产品。 但这些产品的实现思路可以本文研究的数据管理平台提供指导。 1 4 本文研究目标和思路 通过前面对我公司开发的软件系统存在的问题进行了分析,当前首先要解 决的就是数据模型的扩展性问题,以满足快速用户业务扩展的需要。结合通信 行业的特点和自己多年的软件开发经验,提出了构建一套智能化的、能够灵活 配置的基础数据管理平台,基于该平台构建告警管理系统、性能管理系统、配 置管理系统的数据模型,实现数据模型的动态扩展。 本文设计的数据管理平台,可以实现对数据模型的自定义功能,用户业务 模型的变化可以通过系统配置实现,不用进行程序的修改,并且通过该平台, 用户可以自行对数据模型进行维护,便于业务的扩展。数据模型变化后,通过 数据模型同步功能,实现数据模型与数据库结构的同步,同时,相应的数据维 护功能够自动适应,根据模型的变化而自动变化,解决了原有系统扩展性不强 的问题。 本文设计的数据管理平台必须具备灵活的扩展性、高度的稳定性,满足企 业数据处理的需要,同时,通过提供统一的数据访问接口,实现数据与应用的 分离,可以在数据管理平台的基础上进行上层应用系统的构建,数据库接口以 w e bs e r v i c e 方式发布,解决了跨平台调用的问题。 通过数据管理平台的建设,也为解决系统间的数据不一致和共享问题打下 基础。 1 5 本文研究内容与章节安排 针对我公司现有问题的分析,提出了构建基于动态模型的数据管理平台的 构想,借鉴面向对象思想,按照m d a 模型驱动体系架构的软件开发模式,将 业务模型抽象为数据对象,并根据业务模型之间的关系定义数据对象之间的关 系,根据数据对象及关系的定义,生成数据对象的数据表结构、访问接口和基 本维护功能。 本文共分为六章,第一章介绍了本文研究的背景,提出问题,并对问题进 行分析,针对研究目标和思路,研究内容与章节安排以及本文的创新点进行说 明。第二章主要描述了本文采用的基础理论和思想方法。第三章对本文研究的 数据管理平台进行需求分析,提出了系统设计思路和整体功能架构。第四章对 数据管理平台各模块进行详细设计,提出各模块的实现方案。第五章对本文研 究的数据管理平台的实现框架和技术进行说明,并基于数据管理平台建设了一 个基础应用系统,验证平台的实用性。第六章对本文的研究内容进行总结,并 对后续的研究工作进行展望。 4 第二章理论与应用基础 在上一章提出了构建基于动态模型的数据管理平台的构想,通过模型的定 义及维护功能的自动生成,来解决原有系统业务模型的扩展性问题,所以需要 对面向对象的理论思想进行研究,吸取面向对象的精髓,同时,需要深入理解 m d a 的模型驱动的体系架构,为数据管理平台的建设打下理论基础。 2 1 面向对象的理论思想 2 1 1 面向对象概述 面向对象思想在2 0 世纪9 0 年代初期引入我国,对我国软件产业的发展起 到极大的推动作用,在面向对象程序设计( o o p ) 技术中汲取了结构化程序设 计中好的思想,并将这些思想与一些新的理念相结合,从而给我们的程序设计 工作提供了一种全新的方法。通常,在面向对象的程序设计风格中,我们会将 一个问题分解为一些相互关联的子集,每个子集内部都包含了相关的数据和函 数。同时,我们会以某种方式将这些子集分为不同等级,而一个对象就是已定 义的某个类型的变量。当我们定义了一个对象,也就隐含的创建了一个新的数 据类型。面向对象的思想就是把具有相同的属性的事物抽象为一个对象,从具 体事物向程序对象的转化可以通过图2 1 来表示。 a c t i o r e r # 绺融潮巍铺巍峨谚妒 m e t h o d 图2 1 事物对象转化图 在个面向对象的系统中,对象是运行的基本实体。它可以用来表示一个 人、一个银行帐户、一张数据表格、一个设备或者其它需要被程序处理的事物。 它也可以用来表示用户定义的数据,例如一个向量、时间或者列表。在面向对 象程序设计中,问题的分析一般以对象及对象间的自然联系为依据。将一个对 象( o b j e c t ) 抽象为类( c l a s s ) ,将对象的特性( c h a r a c t e r ) 抽象为类的属性 国一 篷 9 固围9 固感 ( a t t r i b u t e ) ,将对象的动作( a c t i o n ) 抽象为类的方法( m e t h o d ) ,这样就实 现了从现实世界向计算机模拟世界的转换。 面向对象主要有三个核心特性:封装、继承和多态。 ( 1 ) 封装 面向对象编程核心思想之一就是将数据和对数据的操作封装在一起,通过 抽象,即从具体的实例中抽取共同的性质形成一般的概念,比如对象的概念。 在面向对象的设计中,对象就是对一组变量和相关方法的封装,其中变量表明 了对象的状态,方法表明了对象具有的行为。通过对象的封装,实现了模块化 和信息隐藏,使得对数据的访问或修改只能通过调用封装的接口进行。 ( 2 ) 继承 继承体现了一种先进的编程思想,子类继承了父类的属性和方法,即子类 继承了父类所具有的数据和数据上的操作,同时又可以增添子类独有的数据和 数据上的操作。例如,“狗类”继承了“哺乳类”的属性和功能,同时又增添 了“狗类”独有的属性和功能 ( 3 ) 多态 多态也是面向对象思想的一个重要特征,多态表现为两种形式:一种是操 作名称的多态,即有多个操作具有相同的名字,但这些操作所接收的信息类型 必须不同。所谓操作名称的多态是指可以向操作传递不同参数,以便让对象根 据相应的消息来产生一定的行为。另一种多态是和继承有关的多态,是指由于调 用的对象类型不同,而可能产生不同的行为。例如,狗和猫都具有哺乳类的功 能:“喊叫 。当狗操作“喊叫”时产生的声音是“汪汪”,而当猫操作“喊 叫”时产生的声音是“喵喵”。 本文的编写充分吸收了面向对象程序设计思想的精华,通过定义数据对象 模型及数据对象访问接口的定义,实现了封装;通过定义数据对象之间的继承 关系,实现了继承与封装。在本文的研究过程中,充分体现了面向对象的思想 精髓。 2 1 2 软件系统建模目的 系统建模是人们在系统建设中常用而且具有重要作用的一种技术。例如, 人们在建造一座大楼前,先规划出大楼的蓝图;在制造飞机前,先要画出设计 图,并可能要建造一个实际模型进行风洞实验;在画一副油画之前,先要用铅笔 勾勒出画的轮廓。 同样的,软件丌发人员在实际开发一个复杂的项目之前,也应该先建立系 统的模型。 对软件系统进行建模的目的在于【2 j : ( 1 )理解应用领域中的知识,捕获用户的需求 对系统进行分析的过程就是开发者不断学习用户领域知识的过程。要想建 立一个正确的模型,首要的问题就是理解用户领域的知识。当开发者能建立出 一个用户满意的模型时,说明它己经理解了用户领域中的知识,至少是抓住了 与将要建立的系统的本质有关的知识。建模就是要抓住系统最本质的部分。 ( 2 ) 与用户沟通 用户往往不是计算机专家,而开发者往往也不熟悉用户的领域,二者的沟 通就有一定的难度。通过建立一个双方都能理解的模型有利于这种沟通,可以 使项目投资者、分析人员、设计人员、程序员达成一致,从而为建立正确的 软件系统打下良好的基础。 ( 3 ) 进行系统设计 在编写代码以前,软件系统的模型可以帮助软件开发人员方便的研究软件 的多种构架和设计方案,从中找出最合适的解决方案,简化实现。 通过研究一个大型软件系统的模型可以提出多个实际方案并可以对它们 进行相互比较。当然,模型不可能做得足够精细,但即使个粗糙的模型也能 够说明在最终设计中所要解决的许多问题。利用模型可以研究多种设计方案, 所花费的成本只是实现其中一种方案所花费的成本。 ( 4 ) 使实现细节和需求分开 软件系统的模型可以从多个角度来描述系统:有些侧重于系统的外部行为 和系统中与现实世界对应的有关信息;有些侧重于描述系统中的类以及类的内 部操作,通过模型,可以将实现细节和需求分开。 ( 5 ) 利于我们理解复杂系统 对大型复杂的系统直接理解往往有困难,通过建立模型,对系统进行抽象, 抓住系统的主要方面,这样有利于理解系统。 2 1 3 面向对象建模技术 在面向对象的软件开发过程中,需求分析阶段的任务就是要构造一个面向 对象的需求分析模型,正因为对象是对真实世界中实体的抽象,因而采用面向 对象技术构造出的需求分析模型,就能更加自然、准确地反映需求,从而为后 续工作乃至整个软件开发奠定一个良好的基础。 从面向对象的角度来看,任何一个需求所规定的功能都是由需求空间中的 对象相互协作来共同完成的。这就是说,在构造分析模型时,首先要找出需求 空间中的对象,分析这些对象所具备的属性和行为,找出这些对象之间的相互 关系和相互作用,最后生成一个面向对象的分析模型。 在对需求进行描述的语句中,常常有一些名词或名词短语,它们在需求中 扮演着非常重要的角色,是需求活动的主体,这些角色相互联系、相互作用共 同柬完成需求所规定的功能,这些角色本身同时又包含了需求中的一些数据或 7 信息,我们要寻找的对象就来源于这些角色;角色在需求中的活动,就是对象 所具有的行为;角色所包含的数据或信息就是对象的属性。上面所提到的角色 比较直观,能够直接在需求描述中找到,还有另外一些角色,它们没有在需求 描述语句中显式地给出,而是需要对需求分析进行分析和综合,进而构造出来。 以上所介绍的只是在需求空间中寻找对象的一些原则和方法,要真正把这项工 作做好,很大程度上依赖于经验。另外,不同的人在构造同一需求模型时,可 能有不同的结果,这是允许的,只要他构造的需求模型能够准确反映需求即可 【2 】 o 需求空间中的对象不是孤立的,它们之间既有分工又有合作,接下来的工 作就是要找出对象之f 白 的关系或相互作用,可以归纳为四种:创建、包含、继 承和联系。 如果一个对象的产生和撤消是受另一个对象控制的,则称这两个对象之间 是创建关系。如果一个对象是构成另一个对象的组成部分,则称这两个对象之 间是包含关系。 如果一个对象可以通过继承另一个对象来构造,则称这两个对象之间是继 承关系,其中,被继承的对象成为基类对象,新构造的对象称为派生类对象。 在建立需求模型时,继承关系是通过归纳来找出的。面向对象的开发工具都提 供了继承机制。如果两个对象之间有相互作用,则称这两个对象之间是联系关 系,对象之间的相互作用在真实世界中普遍存在。对象之间的相互作用用消息 传送机制来实现。 前面所提到的对象之间的相互作用仅仅发生在两个对象之间,这是一个静 态的、局部的概念,要实现需求中规定的功能,就必须找出对象之间相互作用 的有序集合,诉是这一序列的相互作用最终完成了需求中的部分或全部功能, 我们把对象之间相互作用的有序集合称为对象之间的动态联系。在面向对象技 术中,对象之间的相互作用用消息传送来表示。 2 2 m d a 模型驱动体系结构 2 2 。im d a 概述 m d a 是模型驱动架构( m o d e ld r i v e na r c h i t e c t u r e ) 的缩写。它是由对象管理 组织( o m g ) 定义的一个软件开发框架,被称为“t h ea r c h i t e c t u r eo fc h o i c ef o ra c h a n g i n gw o r l d ”。其关键之处是,模型在软件开发过程中扮演了非常重要的角 色。在m d a 中,软件开发过程是由对软件系统的建模行为驱动的 3 】。m d a 提 供了一种开放的、厂商中立的方式来应对业务和技术的不断变化的挑战。 以o m g 己经建立的标准作为坚实的基础,m d a 的目标是把业务或应用逻 辑和底层的平台技术分离开来。充分详细说明的p i m 能够把智力特性从技术 描述中移出,帮助业务应用程序隔离于技术发展,而且进一步实现可互操作。 另外,没有技术细节的业务应用程序,将会更能够在业务发展的不同步调中取 得发展。 基于m d a 开发生命周期和传统的软件开发生命周期并没有很大的不同, 下面列出的四种模型是m d a 的核心p j : ( 1 ) 计算无关模型c i m ( c o m p u t a t i o n a l i nd e p e n d e n t m o d e l ) :代表软件生命 周期中的需求模型。 ( 2 ) 平台无关模型p i m ( p l a t f o r mi n d e p e n d e n t mo d e l ) :具有高抽象层次、 独立于任何实现技术的模型。 ( 3 ) 平台相关模型p s m ( p l a t f o r m sp e c i f i c mo d e l ) :为某种特定实现技术 量身定做,让你用这种技术中可用的实现构造来描述系统的模型。p i m 会被变 换成一个或多个p s m 。 ( 4 ) 实现模型( 代码) :用源代码对系统的描述( 规约) 。每个p s m 都将 被转化成代码,m d a 以一种全新的方式将i 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 ) 、 设计模式( d e s i g np a t e r n ) ,中间件( m i d d l e w a r e ) ,说明性规约( d e c l a r a t i v e s p e c i f i c a t i o n ) 、抽象( a b s t r a c t i o n ) 、多层系统( m u l t i t i e r e ds y s t e m ) 、企业应用 整合( e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ) 以及契约式设计( d e s i g nb yc o n t r a c t ) 。 m d a 的出现,为提高软件开发效率、增强软件的可移植性、协同工作能力和 可维护性、以及文档编制的便利性指明了解决之道。 m d a 被预言为面向对象技术领域未来两年里最重要的方法学。 2 2 2 模型驱动的建模思想 模型驱动的数据库和g u i 开发方法己在软件设计中根深蒂固,m d a 以此 为基础,使用u m l ,u m lp r o f i l e 以及m o f ,c w m 组成可扩展的m d a 建模 语言环境。m d a 技术的核一t l , 概念均是o m g 的一系列标准:统一建模语言u m l 、 元对象设施m o f 、x m l 元数据交换x m i 、公共数据仓库元模型。m d a 的核心 标准组成了创建模型驱动的一致性系统纲要的基础,这个系统纲要完成授权、 发布和管理模型的功能。 作为o m g 组织的一个发展进程,m d a 代表了o m g 组织定义的互操作性 规范的一个革命性进步。很长一段时间以来,互操作性一直基于c o r b a 标准 和服务,不同种类的软件系统在标准的组件接口层次上实现互操作。而在m d a 中,它从系统模型层次上来解决互操作的核心问题。它使用平台无关的语言进 行描述,使得模型和具体的平台以及实现技术分离,同时可以根据各种具体平 台的映射关系来生成各种实现模型。 m d a 另一各重要的意义就是设立了元模型的规则。元模型在建立规范、 9 建模技术和元数据管理中都是核心,异构系统之间的互操作最终都是通过全面 共享和理解元数据策略来实现的。这些策略包括:自动化部署、发布、管理和翻 译模型,具有动态转换行为等。m d a 的扩展定义机制和映射机制支持元数据 在不同层次之i 自j 进行动态的管理和交换。 m d a 为传统的数据建模带来的主要影响有以下几个方面1 3 j : ( 1 ) 将模型中心的思想引入,w e b 服务中间层、e a i 。 驱动数据库引擎的数据格式声明,以及g u i 开发工具代码生成器的所见即 所得模型的声明,都是m d a 的前驱。这些说明性的数据和g u i 模型不仅是设 计工具,也是形式化开发工具,直接提高了系统的生产力。 m d a 使用标准的建模语言作为形式化开发语言,形式化模型驱动产生系 统编码、h t m l 、x m l 、w s d l 、i d l 等工件的生成器,同时m d a 工具允 许细调这些工件的产生方式,通过这些转换,m d a 产生了可以让机器识别的 模型。 在面向服务的体系结构中,我们需要建立这样的一个环境,尽可能独立于 特定的技术而产生w e bs e r v i c e 。在w e bs e r v i c e 的开发工具中,己经可以直接 产生所需要的w s d l ,s o a p ,x m l 文件,并可以产生代码绑定到它们所包裹 的对象和组件中,但和许多己存在的组件和对象相比,w e bs e r v i c e 是粗粒度的, 我们需要导出给其他部门或企业的业务功能需要包含更多的对象和应用逻辑。 开发平台的改变所带来的和外部合作者进行协调的工作,变得非常的困难。因 此我们需要为w e bs e r v i c e 提供富语义的形式化模型来自动产生我们需要的 s o a p , w s d l ,x m l 等服务。m d a 可以利用其富语义形式化建模方法,把设计 作为输入,自动产生x m l ,、w s d l 、u d d i 代码。 我们可以在多种环境中组合w e b 服务,并把它们和可视界面分离,我们把 它的核心逻辑放在企业层,这一逻辑可以独立于它的服务的实现技术出现。同 时可以定义更高抽象级别的服务,使用契约式设计,可以为这些服务给生成器 提供丰富的语义信息。 通过这种生成器,我们可以利用j a v aa p i 读入x m i 文档,把业务信息模 型映射到x m l ,w s d l 中。 ( 2 ) 提高抽象层次的灵活性 构架复杂系统的基础是抽象,抽象在软件开发中的重要性是不言而喻的。 如果一个系统有了正确的抽象,那么这个系统就更容易理解,更容易维护,开 发起来也更为高效,抽象是应对软件复杂性最为有效的手段。在面临一个复杂 的系统时,往往只要再提升一层抽象层次( 当然要是正确的抽象) ,那么该系统 就会立即变得清晰、简单,理解、开发、维护起来也更为容易一些。不过,值 得注意的是,虽然有了一个正确的抽象后,可以大大降低理解、开发和维护的 难度,但是要想得到一个f 确、合适的抽象却是非常困难的。 中间件是针对具体的编程语言的抽象。但中间件针对这种抽象是有限的, 编译器针对i d l 对象接口的声明,所产生的代码只是一个骨架,程序员需要就 这个骨架做大量的编码工作,产生这个问题的原因是i d l 只是作为接口的声明, 其表达力不够丰富,是贫语义的,限制了i d l 编译器产生代码的能力,程序员 需要使用编程语言来开发大量的代码来编写这种业务规约。 m d a 可以提供多层次的抽象过程,可以独立于中间件平台。这种灵活性 来源于其内置的扩展机制。可以为u m l 增加建模结构来支持和特定平台相关 的建模,这种扩展称为u m lp r o f i l e s 。u m l 的姐妹标准元对象设施m o f 提供 了更强的语言定制能力,通过u m l 和m o f ,可以获得不同级别抽象级别。独 立于中间件意味着一个丌发团队总能选择一个独立于中间件的业务模型,然后 生成e j b ,ne t 等组件。 独立于中间件的模型价值,在于同不同生成器进行配合,把抽象层次提升 到中间件之上,可以独立于特定的中间件进行构建,而不用考虑“中间件的易 变性”所带来的影响。m d a 建模语言环境的可扩展性对于支持不同抽象层次 建模非常关键,因此m d a 主要的工作量转到和各个特定中间件平台相关的生 成器的定义上。如定义e j b 建模的u m lp r o f i l e 、针对关系型数掘库建模的u m l p r o f i l e 、针对e a i 的u m lp r o f i l e 等。 ( 3 ) 元数据的集成。 e j b 中需要使用j a v a ,x m l 或c o r b a i d l 来描述组件使用的各个方面, 同时数据库中负责描述该组件所绑定数据的数据模式可使用关系型数据数据模 式表述,也可能使用描述多维模式的其他语言进行表述。 m o f 是u m l 的姐妹标准,是用来定义u m l 元模型的语言。m d a 使用 m o f 来形式化定义一系列建模结构的抽象语法,m d a 还通过非形式化的方法 说明了一些语义,我们把这种形式化和非形式化的定义的组合称为m o f 元模 型。 关系数据模型所需的建模结构包括表、列等,工作流模型需要建模结构包 括活动、执行者、变化和连接等。u m l 类建模包括建模需要的类、属性、操作、 关联等。所以为了描述特定的模型,我们必须描述组成这种模型的结构集。不 同的功能需要不同的建模结构,不能把所有的建模结构合并成一个集合,但可 以用一种统一的方法来描述不同类型的建模结构。m o f 提供描述建模结构统一 的方法。它可以被使用来表述关系型数据库的建模结构,也可以用于描述u m l 的建模结构,以及其他类型的建模结构。 m d a 以一个整合的方式管理元数据的构架,使用基于模型的技术来支持 对不同元数据的协同管理。即为每种语言定义一个形式化的模型、这些模型驱 动基于m o f 的元数据管理标准。应用程序为某一特定的目标而组合不同类型 的元数据,它确保了访问和处理元数据的方法的一致性。 ( 4 ) 模型驱动的企业构架 m d a 有能力封装设计模式并自动的运用它们,这种自动模式的复制把开 发环境抽象到中间件之上,通过m d a 生成器来强制实现这种构架。利用m d a 生成器,可以把p i m 层的设计模式,自动转换相应层的对象、属性、接口中, 这使得在实现和整合系统时坚持构架准则变得简单。 一个成熟的、模型驱动的企业构架需要互不相同但又彼此协作的建模语言 来支持在不同的抽象层次为企业系统的各个方面提供形式化的规约支持。u m l p r o f i l e 就是定义这些语言的机制。 对于建模层次的分离,是对构架关注点的分离。被定义成平台独立的p i m 需要映射到下层平台,定义可以满足特定需求的映射,模型驱动的构架必须可 以在整体构架中识别、定义和定位这种语言及映射。标准化语言或专有语言、 映射以及实现映射的生成器构成了支持模型驱动构架的基础设施环境。 第三章数据管理平台总体设计 通过第一章对本文的背景及浪潮通信公司面临的问题进行分析,结合第二 章中研究的面向对象和m d a 模型驱动的理论思想,提出了构建基于模型的数 据管理平台的构想。在面向对象的思想中,将同类事务抽象为一个对象,每个 具体的对象作为一个对象实例,在m d a 模型驱动体系中提出了元数据模型 ( m o f ) ,本文研究的数据管理平台基于对事物的分析,将事务抽象为对象, 再按照m d a 的思路,将对象映射元数据模型( 本文称为数据对象模型) ,来实 现对数据对象模型的定义、扩展,再基于数据对象模型的定义信息,自动生成 数据对象实例的维护功能及数据访问接口。 3 1 需求背景 浪潮通信软件公司是一家提供通信网络管理软件的公司,实现对通信网络 通讯设备的管理。由于各省通信运营商采用的通信设备供应商较多,有华为、 中兴、爱立信、西门子等,各设备供应商都有自己的网络管理系统,并且厂商 之间没有统一的规范,每个厂商都有自己的套标准,数据模型不统一,告警 数据模型、性能数据模型、配置数据模型都千差万别,无法通过一套统一的数 据模型进行定义,而我们的软件产品又是在已有数据模型的基础上构建的,扩 展性不强,导致某个厂商的数据模型发生变化或者通信公司新购置了其他厂家 的设备时,各软件系统都要进行程序修改来适应业务模型的变化,既给客户的 工作带来了不便,又增加了我们的工作量。 我公司的软件产品包括
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省昆明市重点中学2025-2026学年高三语文第一学期期末调研模拟试题
- 马铃薯种植、加工、销售、品牌推广、市场拓展合同
- 龙岗区税务局饮用水安全监测与采购合同
- 食品运输驾驶员及押运员安全责任聘用合同
- 保险业客户生命周期管理及分层营销策略研究报告
- 2025年教师招聘之《幼儿教师招聘》通关试卷提供答案解析带答案详解(夺分金卷)
- 2025年呼吸内科急性呼吸窘迫综合征诊疗模拟考试答案及解析
- 夜景灯光安装工程合同模板
- 2025年心理康复护理知识考察模拟测试卷答案及解析
- 2025年心脏病学科临床技能考核答案及解析
- 帕金森病患者吞咽障碍康复中国专家共识 2025版解读
- 现代农业产业园的信息化管理平台建设
- 全套电子课件:网络信息编辑实务
- 《网店色彩设计》课件
- 《铁路技术管理规程》(普速铁路部分)
- 《中国汽车产业格局》课件
- 老年女性子宫颈癌筛查中国专家共识(2024版)解读
- CNAS-GL025:2023 校准和测量能力(CMC)表述指南
- 船用齿轮箱基础知识培训讲义
- 古建筑屋面瓦拆除与修复方案
- DB22T 2091-2014 国境空港口岸检验检疫设施建设规范
评论
0/150
提交评论