面向/基于对象

2024-06-16

面向/基于对象(精选11篇)

面向/基于对象 第1篇

UML支持从需求分析开始的软件开发的全过程。UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。

1面向对象概述

1.1面向对象思想。面向对象思想起源于20世纪70年代,在80年代得到了巩固与发展。90年代,面向对象技术已经成熟,并进入深入发展阶段。面向对象程序设计与传统的过程式程序设计有着显著的区别。过程式程序设计是面向功能的,通常使用函数或过程来实现所需要的功能,数据通常作为参数传递给函数或过程,这种方式不利于大中型软件的开发与维护,小部分数据或功能的变动会波及到很多的相关程序。随着计算机应用需求的不断扩大,计算机软件越来越复杂,这种复杂性不仅体现在规模的扩大,而且模块之间的交互越来越复杂。面向对象程序设计提出了一种新的系统设计模型,他将系统看成通过交互作用来完成任务的对象的集合,每个对象用自己的方法管理数据。他允许抽象化、模块化的分层结构,具有多态性、继承性和封装性。面向对象的程序设计考虑如何通过创建对象来简化程序设计,提高代码的可重用性。

1.2面向对象的几种设计方法。随着面向对象技术成为研究的热点,相继出现了几十种支持软件开发的面向对象方法。其中Booch,Coad/Yourdon,OMT和Jacobson的方法在面向对象软件开发界得到了广泛的认可。Booch方法的优点在于其丰富的符号体系;Rumbaugh的OMT方法从3个视角描述系统,相应地提供了3种模型对象模型、动态模型和功能模型;Coad/Yourdon方法严格区分了面向对象分析(OOA)和面向对象设计(OOD)。

该方法利用5个层次的活动来定义和记录系统行为、输入和输出;Jacobson方法与上述3种方法有所不同,他涉及到整个软件生命周期,包括需求分析、设计、实现和测试等4个阶段;而统一建模语言UML(Unified Modeling Language),结合了Booch,OMT和Jacobson方法的优点,统一了符号体系,并从其他的方法和工程实践中吸收了许多经过实际检验的概念和技术,UML作为一种标准的建模工具已经得到世界的认可,成为国际标准。

2 UML概述

2.1 UML的出现与发展。面向对象技术作为一种软件技术有着其优越性,但是由于目前的大多数面向对象分析与设计方法都没有提供一个定义对象的有力手段,往往是在工作一开始就陷入了一个十分复杂的境地。由于事先定义了过多的对象,使得在进一步确定对象时仍具有很大的随机性和盲目性。所以,随着OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(反对Modelling技术)。这是一种自底向上和自顶向下相结合的方法,而且他以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。UML是Booch,Objectory和OMT方法的结合,并且是这三者直接的向上兼容的后继。同时他还吸收了大量方法学家的思想,包括Wirfs Brock,Ward,Cunningham,Rubin等等。这些先进的面向对象的思想统一为公共的、稳定的、表达能力强的面向对象方法提供了基础。

2.2 uml的特点。作为一种标准的图形化建模语言,UML有如下几个方面的特点:(1)UML结合了Booch方法、OMT方法和OOSE方法的概念,统一了面向对象方法的基本概念,是一个单一的通用建模语言;(2)UML的建模能力比其他面向对象方法更强,不仅适合于一般系统的开发,更擅长于并行、分布式系统的建模;(3)UML是一种标准的建模语言,而不是一个标准的开发过程,他完全独立于开发过程;(4)UML提出了许多新的概念,如构造型、职责、扩展机制、模式等等。所以,UML的出现意味着开发方法统一化、标准化的新发展,标志着软件自动化进程又迈进了一步。

2.3 UML的基本内容。UML语言使用若干个视图(view)构造模型。每个视图代表系统的一个方面。UML共包括5类视图:用例视图(Usecase view)用于描述系统应该具有的功能集,并指出各功能的操作者,主要为用户、设计人员、开发人员和测试人员而设置。逻辑视图用来显示系统内部的功能是如何设计的。组件视图(Component view)用来显示代码组件的组织方式。他描述了实现模型(implementation module)和他们之间的依赖关系,主要供开发者使用。并发视图(Concurrency view)用来显示系统的开发工作状况。供系统开发者和集成者使用。展开视图(Deployment view)用来显示系统的物理架构,即系统的物理展开。供开发者、集成者和测试者使用。视图用图描述,而图用模型元素的符号表示。图中包含的元素可以有类、对象、组件、关系等,这些模型具有具体的含义并且用图形符号表示。UML图包括:类图、对象图、用例图、状态图、序列图、协作图、活动图、组件图和展开图。

3基于UML的面向对象设计

3.1 UML的应用。标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。但需要注意的是,UML是一种建模语言而不是方法,这是因为UML中没有过程的概念,而过程正是方法的一个重要组成部分。UML本身独立于过程,这意味着用户在使用UML进行建模时,可以选用任何适合的过程。然而,使用UML建模仍然有着大致统一的过程框架,该框架包含了UML建模过程中的共同要素,同时又为用户选用与其所开发的工程相适合的建模技术提供了很大的自由度。

同时,UML建模过程是一个迭代递增的开发过程。使用此方法,不是在项目结束时一次性提交软件,而是分块逐次开发和提交。构造阶段由多次迭代组成,每一次迭代都包含编码、测试和集成,所得产品应满足项目需求的某一子集,或提交给用户,或纯粹是内部提交。每次迭代都包含了软件生命周期的所有阶段。同时,每次迭代都要增加一些新的功能,解决一些新的问题。以类图为例,在需求分析阶段,类图是研究领域的概念,是概念层描述;在设计阶段,类图描述类与类之间的接口,是说明层描述;而在实现阶段,类图描述软件系统中类的实现,是实现层描述。实现层描述更接近于软件实现中具体的描述,但概念层和说明层描述更易于不同领域专家之间的理解和交流。

3.2基于UML的Rational ROSE面向对象设计过程。现以某金融贸易系统为例说明UML建模的具体过程。该过程主要包括:理解需求、分析、设计、实现、测试和配置。

首先进行需求分析,这是一个决定系统能否符合用户需求的关键步骤,该阶段的好坏直接影响到设计的进度以及质量。需求分析主要是定义用例,对该系统的主要功能进行描述,从而确定系统的功能需求,在这部分主要应用的是用例图,用例图要详尽地表示系统的各种关系。在该系统中各角色的关系如图1所示。

从中我们可以清楚地看出各个角色之间的关系,所以在进行系统的设计、实现时可以减少盲目性。在需求分析时,要注意领域分析以及类与对象的定义。其次进行的是设计,设计一般分为架构设计和详细设计。这部分主要包括定义包、描述包间的相关性和基本的通信机制。注意要减少相关的二义性以及与用户的接口设计。

再进行的是实现,在这个过程中UML的优点可以得到长足的体现:运用Rational ROSE提供的环境将前几步设计的图进行分析,然后可以转换成自己所熟悉的高级语言,并在高级语言中进行编辑,在高级语言的环境中我们可以看到UML把图转换成系统的程序设计的结构框架。并且,在进行该系统扩展时只需要在前两步设计的图中进行更改,从而改变程序框架,彻底改变了传统设计中更改所带来的复杂性与潜在的危险性。

在进行测试的时候同样可以运用UML,将整个系统分为不同的单元,然后将各个单元作为一个“整块”,运用不同的图进行“整块”测试。将测试后的结果再返回到设计实现中进行分析。将完整无误的软件与需求说明结合,从而可以顺利地进行配置。可以看出:UML的图运用于整个系统设计的全过程,减少了设计盲目性,提高了设计效率。测试的目的是发现代码中的错误。在系统被修改后都要进行回归测试(regression test),回归测试用来检查一次改动是否对其它功能有所影响。

结语。要想实现软件生产自动化,基本的一条是实现开发方法的统一化、标准化。实现面向对象开发方法的标准化以后,就可以避免不同方法的差异,提高软件重用效率。另外,统一面向对象开发方法也就是综合每个面向对象方法的优点,最大限度地发挥各种方法的长处。UML作为一种建模语言,应用于各种系统的设计与分析,改变了传统的软件设计思想,降低了系统设计的盲目性,也更有利于系统的扩展与测试。但是由于他自身发展的程度决定了目前他还不能取代现有的各种面向对象的分析与设计方法。但是,随着UML进一步发展,必将有助于实现软件自动化。

参考文献

[1]张龙详.UML与系统分新设计[M].人民邮电出版社,2006.

[2]张敬,宋广军等.软件工程教程[M].北京航空航天大学出版社,2008.

[3]陈增荣.软件开发方法[M].上海:复旦大学出版社,1997.

面向/基于对象 第2篇

面向对象程序设计(ObjectOrientedProgramming,OOP)是信息管理与信息系统专业学生必修的专业基础课,在整个教学体系中的地位非常重要,学生在学习该课程后能充分掌握面向对象程序设计思想和方法,是该课程教学改革的理想目标。

一、相关概念

(一)面向对象程序设计

OOP 是一种计算机编程架构,它具备软件工程的灵活性、重用性和扩展性。OOP 不仅具有丰富的理论知识,同时具有很强的实践性,坚持在真实的项目中锻炼编程能力,才能理解其精髓,进而活学活用。

(二)项目教学法

项目教学法以学生为教学中心,是学生在教师的指导下处理项目,提高自身能力的教学方法。其优势在实践性较强的 OOP 课程中体现得淋漓尽致。具体实施时,教师化身为顾问,主要的作用是引导学生把课堂所学用在实践过程中,理论联系实际,进而提高动手能力 ;学生是项目的具体操作者,知识水平和发现问题、解决问题能力均能得到提高。

二、改革的必要性

OOP 是一门实践性很强的课程,如果不进行实践教学,学生不能全面掌握其核心思想。原因主要有以下两方面 :

(一)难理解

由于面向对象概念较抽象,是基于现实世界的特点,对系统的复杂性进行概括、抽象和分类,对象是 OOP 的核心,是将代码和数据封装起来的具有某些特性的具体事物的抽象。从学生角度来看,以知识点为中心的讲解教学方式理论性太强,不好理解,甚至有部分学生自始至终也无法掌握OOP 的重要概念,不能满足课程考核要求。

(二)理论教学多

教师上课采用多媒体教学,这种方式基本上是教师在课堂上唱独角戏,把理论和方法灌输给学生,学生被动地学习,只是把教师讲的内容在大脑中形成记忆,没有自己独立思考的过程,不利于培养学生的创造能力。

三、项目教学法的改革要点

项目教学法设计了完整的软件项目教学背景,克服了传统教学中注重理论知识忽视应用实践的缺点。学生在慢慢了解、逐渐熟悉软件项目开发的过程中,能够理解应用,学习和掌握各种知识并训练相关技能。

(一)项目题目的设定

教师在进行项目教学引导时需要策略,创设学习的资源,协调学习合作环境。教学项目题目的选取是其中的关键问题,选题最好能与软件公司进行交流或合作,应具备针对性和实用性,能体现出学生综合能力的运用,并且可以进行客观评价。首先,项目题目应尽可能覆盖教学大纲的多项知识点 ;其次,应该构建具有完整项目的项目案例库,项目题目应有不同的难易度和适当的工程工作量,适应所教班级的不同学生的实际水平;最后,项目题目应尽量贴近大学生的生活,并可以用一些标准,如软件是否易用、是否有良好的用户交互性等进行公平、准确的评价。

(二)互动增强

传统的教学环节中,老师和同学的交流仅限于课间十分钟或者课下较短时间的交流,交流时间少,沟通的`问题也只是教学内容中个别的知识点。而在项目教学法中,沟通渠道是多向的,老师与学生之间沟通的宽度和广度都加大了。另外,即使在同一课堂上听讲,不同的学生在学习动机、学习心理、学习兴趣和学习能力等方面仍然会有一些差别。

(三)角色换位

在项目教学法中,学生居于教学活动中的主要地位,应该是项目的积极参与者,首先要认真阅读选定的真实项目材料,和同一个项目的同学讨论,甚至就项目问题的不同理解与同组同学展开争辩。其次在真实项目实战场景下,经过认真的独立思考和判断动手编写程序。学生的自学能力和实践能力得到提升,并主动构建自己的知识体系。居于教学活动中从属地位的是教师,教师不再是整个课程的中心。教师对整个教学活动按照工程项目的需要加以指导,做适当的示范,只是项目的指导者或者说是项目进度的推动者,引导学生进行深入学习。

面向/基于对象 第3篇

摘要:电子文件管理存在区域性与国家化冲突,整合是消解冲突的有效方法。电子文件管理整合是涵盖宏观、中观、微观多个层面的系统工程,涉及体制、组织、标准、流程、技术等众多要素,需要新的理论与方法论支撑。本文引入计算机科学中面向对象方法论,解析其概念体系与思想内涵,构建基于面向对象方法的电子文件管理整合“类树”,以揭示其在电子文件管理整合中的作用与指导意义。

关键词:面向对象整合类继承封装

Abstract:Theelectronicrecordsmanagement has conflicts between Regional and National aspect, integration is an effective method to resolve con? flicts. Electronic records management integration is complex systems engineering, including many ele? ments of many levels such as macro, meso and mi? cro. So the research on electronic records manage? ment integration needs the support of theory and methodology. Based on the object-oriented method? ology, this paper analyzes its concept system and connotation, constructs electronic records manage? ment integration class tree and reveal its role in the electronic records management integration.

Keywords:Object- oriented; Integration;Class; Inheritance; Encapsulation

大数据时代,电子文件作为大数据家族中的成员,其管理的视角也要随着大数据的发展而发展。大数据时代强调数据的集成与整合,唯有集成与整合才能获得大数据分析的“全样本”。大数据的时代背景与电子文件管理国家控制力的要求,使得电子文件管理整合成为当今电子文件管理研究的一个新课题。

一、电子文件管理整合研究缘起

(一)电子文件管理的“区域性”与“国家化”存在冲突

综观我国电子文件管理实践,呈现出以区域发达城市作为试点、鼓励其他中小城市积极自行探索的特点。但很多区域在探索时缺少国家政策、标准、法规等的宏观指导,多数都是摸着石头过河,出现了各种具有地方特色的电子文件管理模式,如安徽模式、上海浦东模式、广东深圳模式等,形成了电子文件管理的“区域性”态势。

另一方面,电子文件管理国家战略的提出使得电子文件管理“国家化”[1]诉求越来越迫切,主要有两个方面的原因。一是电子文件管理“区域性”缺陷明显。尽管我国“区域性”管理模式存在着自身的优势,也不乏优秀的成果和值得推广的经验,但区域间在自由探索的同时沟通与协调不畅,区域电子文件管理的同质性与凝聚力辐射范围有限,只局限于本区域的共通与合作,不利于电子文件的统一管理、规划与信息共享,使得我国电子文件管理整体呈现出格局的分散性、模式的多样性和质量的差异性,可能会导致“信息孤岛”与“信息烟囱”现象更加严重,而这促使国家顶层机构采取相关措施,促进电子文件管理整体水平的提高。二是电子文件管理国际化需求加速。当今,电子文件管理国际化是大势所趋,包括国际标准的使用、项目的国际合作、文件信息的国际共享、技术的国际同步等,都表明电子文件管理国际化程度越来越高。我国电子文件管理起步较晚,管理水平与发达国家存在差距,在电子文件管理全球化的战略背景下,我们首先应该努力实现电子文件管理的国家化,在国家化的基础上才有资格谈论国际化,以国家化推动国际化,提升我国电子文件管理水平。

从我国电子文件管理现状看,一方面是电子文件管理的统一性、全局性和战略性的“国家化”目标,另一方面是电子文件管理的分散性、局部性和短期性的“区域性”态势,显然二者之间存在着冲突。

(二)整合是消解电子文件管理冲突的有效方法

社会生活中的冲突无处不在,冲突治理是一个跨学科的研究领域。传统西方社会学观点视冲突为消极分裂的对象,帕森斯强调社会功能系统静态的均衡,倾向于认为冲突的破坏性与分裂性具有反功能的后果,是一种社会病态。[2]科塞反对帕森斯的这一理论前提,认为社会学对冲突的积极后果分析不足。他强调冲突在社会系统中的正面功能,即建设性功能、有益的功能。[3]科塞在强调冲突的正面功能时,已经将冲突概念作了泛化,并不特指社会冲突,并认为“冲突对新规范和制度的建设具有激发功能,……变革常常作为冲突的结果而出现”。[4]从社会学的冲突理论可以看出,冲突暴露了问题,却能激发变革,因此更有利于解决问题。

美国管理学家福莱特(M.P.Follett)提出了处理冲突的三种方法,一是压服,二是妥协,三是整合。前两种方法都是消极的,只有整合可以权衡冲突双方的利益,实现双方愿望而达到双赢。福莱特认为,整合是处理冲突的一种积极、创造性的方法,通过对冲突进行深入系统的分析,发现症结和问题的关键所在,提出使冲突双方利益交融的解决方式,从而建设性地解决冲突问题,和谐地实现双方的目标。[5]总之,冲突促成整合,整合可以消解冲突。

由此可见,整合亦可是消解电子文件管理“区域性”与“国家化”冲突的有效方法。本文认为,电子文件管理整合是指电子文件管理主体在电子文件管理过程中,采取一系列的管理手段、技术与方法,使管理范围内电子文件的各种管理要素与技术指标达到融合与统一,并且管理主体对这些电子文件具有控制力,其整合要素主要有政策、法规与标准、软硬件平台及各种技术等。[6]

(三)电子文件管理整合研究需要方法论支撑

作为电子文件管理研究领域的新课题,电子文件管理整合是一个涉及众多要素的系统工程,这些要素可以从宏观、中观、微观三个层面进行解构,宏观要素如整合目标、结构体系、体制和文化;中观要素如管理组织、管理模式、合作平台、法规标准;微观要素如流程、系统、技术等。电子文件管理整合内容庞杂,迫切需要理论与方法论的支撑。

考察已有的电子文件管理理论与方法论,可发现其隐含着诸多管理整合思想,如集成论与后保管模式思想形成了电子文件管理整合理念,文件连续体理论与业务流程重组理论彰显了电子文件管理过程的整合,电子文件管理顶层设计与国家战略思想则指导着电子文件管理架构的整合等。[7]

研究还发现,其他相关学科中的一些方法论可以作为电子文件管理整合研究的顶层指导理论。如系统科学中的系统工程论、整合协同论,管理科学中的博弈对策论,计算机科学中的面向对象方法论等。运用系统工程论可以使得本来不协调的区域电子文件管理通过整合变得协调,本来良好的部分变优,从而使国家电子文件管理系统达到技术上先进、经济上合算、时间上省时,达到能够协调运转的最佳效果;整合协同论的运用在于可以在区域合作、优化空间结构等方面创新发展思路、开拓新模式;在电子文件管理区域内进行合作博弈,能促使弱势单位借鉴区域电子文件管理模式中具有典型意义和参考价值的管理范例,这也是博弈论中借势策略的运用。[8]相比之下,面向对象方法论有其独特的概念体系与思想内涵,运用于电子文件管理整合中,可达到意想不到的效果。

二、面向对象方法论概念体系与思想内涵

面向对象(Object-Oriented,简称OO)方法论也称作面向对象技术,尽管该技术始于计算机科学中的程序设计方法,但哲学和认知科学的层次及分层理论也促进了它的产生与发展,并被广泛应用于形式定义、设计方法学、操作系统、分布式系统、人工智能、实时系统、数据库、人机接口、计算机体系结构以及并发工程、综合集成工程等。[9]主要原因是其具有优越性的概念体系和方法论思想,面向对象方法论的核心概念主要有对象、类、封装、继承等。

(一)对象与类

对象可以指人们要进行研究的任何事物或事件,如一个学生或者一场足球赛。复杂的对象可以由相对比较简单的各种对象以某种方式构成,不同对象的组合及相互作用就构成了我们要研究、分析和构造的客观系统。具有相同特性和行为(功能)对象的抽象就是类,即类是具有某些相似特征的事物的集合,对象是集合里的个体。类是一个抽象概念,而对象是一个实体。在客观世界中,人们出于不同的目的,常常按照事物的特征、行为或用途,把他们分成不同的种类,面向对象方法论中的类就是将现实客观世界中的种类概念加以延伸而形成的新概念。

(二)封装与继承

封装就是把数据以及对象如何完成操作的细节放在类的定义中,这些数据和操作对外界是隐蔽的。封装并隐蔽数据的目的,一是为了安全性和可移植性,二是保证整体性和使用方便性。

继承是现实世界中对象之间独特的关系,它使得某类对象可以继承另外一类对象的特征和能力。因此,继承表述了一种对象类之间的相交关系,若类间具有继承关系,则类间就具有共享特征、细微的差别和层次结构。[10]类有不同的抽象层次,处在下一层次上的对象可自然地继承位于上一层次的对象的属性,上一层次的类称为下一层次的类的父类,下一层次的类称为上一层次类的子类。

综合来看,面向对象方法是从客观世界的实体出发,构造一个系统,用对象描述系统中的实体,将实体的属性与相关操作封装在对象中,用类来描述具有相同特征的一组对象,以继承作为共享机制,对象之间以消息传递的方式进行通信。[11]

(三)类、继承、封装之间关系示例

一个具体的苹果实体是一个对象,而所有的苹果就抽象为一个类,红富士苹果是苹果的子类,苹果是红富士苹果的父类,水果又是苹果的父类,植物是水果的父类,父类与子类之间遵循树形结构特征。我们在抽象苹果这个类特征的时候,是把苹果的形状是圆的,味道甜中带酸等特性封装在类中,红富士苹果有自己的独特个性,但是苹果父类的特性红富士苹果子类都具备,也就是红富士苹果子类会继承苹果是圆的,味道甜中带酸的特性,但是也具有果面覆有鲜红色条纹,肉质细脆的独特特征。

封装含有主观的意图,比如农学家经过长期的科学实验,得出种植产量高质量好的苹果的一些原理和方法,但让果农去种植的时候可以把这些原理封装在种植苹果这个类中,果农不需要知道其原理,只需要知道如何做就行了,即原理对果农是隐蔽的。同时,种植红富士、国光、嘎拉等子类苹果都会继承种植苹果父类的原理。封装和继承是面向对象方法论思想的精髓。类与继承的关系如图1所示,封装与继承的关系如图2所示。

事实上,电子文件元数据管理研究已经使用了封装技术,最明显的案例就是VERS的封装规范,即将文件与元数据封装为一个扩展名为EEO的文件,移交给档案馆长期保存[12]。封装对象区分为案卷型封装包、文件型封装包和修改型封装包,就文件型封装包而言,其封装结构类似一个“洋葱”,[13]封装着各种对象,含义就是将内容通过元数据整合在一起,打包成单一对象,从而保证电子文件的完整性、有效性、长期可读性。这是一个具体的技术实例,这种封装技术和思想可以扩展到更宏观的电子文件管理层次上。

三、基于面向对象方法论的电子文件管理整合应用

利用面向对象方法论可以构建客观世界的模型,如先分析大的框架(父类),然后逐步精确到子类,即自上而下的方法。下文以浙江省电子文件区域类以及国家电子文件管理“类树”构建为例来说明面向对象方法论的应用。

根据面向对象方法论的内涵,可以把某个区域或某个机构的电子文件管理看作一个对象,而与该区域或机构具有共同特征的机构集合称为类。同时,在电子文件管理基础比较相似的“对象”中抽象出其管理的相似特征,构建电子文件管理父类与子类。

我们可以抽象出浙江省的电子文件管理特征并将其称之为浙江模式,即浙江省电子文件管理父类。在该类中,继承的含义是,如果某个地区或机构试图模仿浙江模式的做法,那么将它构建成浙江电子文件管理类的子类,就可以继承浙江模式的管理方法。在继承的同时,子类也可以创建自己的独特属性,比如某些地级市在继承省级层次的浙江模式管理方法时,发现这些管理方法比较宏观、不具备特殊性,则可以进一步细化。那么,这些地区就可以在继承浙江模式的基础上,创建自己的地区特色,这时候在浙江电子文件管理父类下就可以构建杭州子类、萧山子类和绍兴子类等。

继承封装好的管理模式将会让管理更加简便。例如,如果绍兴子类要继承浙江电子文件管理父类的管理模式,那么浙江父类的管理理论、方法、原则、技术、标准、法规等就可以封装成一个打包的整体。绍兴子类在继承浙江父类时,具体技术原理是封装起来的,这样绍兴地区在具体操作时就不需要了解太多技术细节,既保护了知识产权,又保证了安全性,同时也节省了下级单位的培训和管理成本。换句话说,绍兴地区可以不知道浙江父类的这些方法和原理的来龙去脉,而只要知道如何做即可。浙江省电子文件管理对象、类、封装、继承之间的关系可以用图3表示,这是按照浙江省区域地理位置构建的类图,模拟的是区域类的继承和封装。

(二)全国电子文件管理整合“类树”构建

若在全国范围内进行电子文件管理类的构建,以区域作为类的构建依据,根据电子文件管理整合的要求,全国区域类下可以构建发达地区子类和欠发达地区子类;发达地区子类又可构建城市群子类和企业集团子类,欠发达地区子类可创建西部子类和农村子类等;城市群子类又可以继续构建长三角城市群子类、珠三角城市群子类、渤海湾城市群子类等。

同理,我国电子文件管理整合中的各种要素也可以按不同规则构建成各种类,如技术类、法规类、组织类等,技术类又可以继续自上而下,逐步细化为格式子类、元数据子类、备份子类等。地区类和要素类可以结合应用,如在长三角地区电子文件管理模式中抽取其相似点,分别将成熟的技术、标准等封装成长三角地区的技术子类、标准子类等。

将类的构建技术应用于我国国家层面电子文件管理整合,根据整合的层次和要素的不同,可以构建一个完整的电子文件管理“类树”,该树将会有很多“分支”,每个分支可以自上而下不断分解,最终形成枝繁叶茂的国家电子文件管理“类树”,如图4所示。

利用面向对象方法论可模拟现实世界的客观系统,电子文件管理整合属于社会系统工程,其整合要素可以抽象为类,在整合时能充分利用类的整体性、封装性和继承性,以及具体操作的隐蔽性优势。而且,面向对象的最大优点不是解决一个问题,而是解决一批问题,可以用较少的成本获取较大的收效。

*本文为国家社会科学基金一般项目“‘区域—国家电子文件管理整合模型构建与实证研究”(项目编号:11BTQ039)阶段性研究成果之一。

注释及参考文献:

[1]“国家化”与“区域性”相对,主要指向“国家顶层控制”,要求统一性、全局性和战略性.

[2][3][4]宋林飞.西方社会学理论[M].南京:南京大学出版社,1997:323,324,328.

[5]M.P.Follett.Creative Experience[M].New York:Pe? ter Smith,1924.

[6]于英香.“区域—国家”电子文件管理整合:内涵、原则与路径[J].档案学通讯,2013(2):58.

[7]肖春红.电子文件管理理论整合思想透析[J].档案学研究,2013(3):17-20.

[8]付航.电子文件管理区域化协作博弈之道[J].档案, 2012(5):36-39.

[9]黄永忠,陈新,陈海勇.面向对象方法与技术基础[M].北京:国防工业出版社,2006:4-8.

[10][11]姜慧霖.基于面向对象技术的继承机制剖析[J].西南民族大学学报(自然科学版)2005(3):433.

[12]Andrew Waugh. The design of the VERS encap? sulated object experience with an archival information package[J].International Journal on Digital Libraries,2006(6): 184–191.

基于面向对象的空间数据质量控制 第4篇

关键词:面向对象,空间数据,质量控制,异常检测

1. 概论

1.1 地理信息系统与空间数据质量控制的现状

地理信息系统是基于应用而形成的一门信息学科, 随着计算机技术的发展, 地理信息系统的应用已遍布各行各业, 并产生了举足轻重的影响。地理信息系统是在应用中得到迅速发展起来的, 而空间数据是GIS的重要组成部分, 数据质量关系到GIS系统的成败。

在GIS数据应用中, 以满足系统需求为前提, 而不是数据越多越全就是最好, 在GIS数据库中存放的是精致、精炼的数据, 这样系统运行效率才能达到最高。基于此, 对空间数据的评价不能完全对照老的图式标准, 而主要从用户需求、所采用的技术路线等出发来进行质量评价。

1.2 基于面向对象的空间数据质量控制思想

面向对象 (OO) 的方法使用对象、类、继承和封装等一些核心思想进行分析与设计, 它通过客观实体来抽象出对象。近年来, 面向对象方法也受到GIS专家和学者的亲睐和重视, 一些知名的地理信息系统, 如TIGERS、SYSTEM、Small World等在数据模型方面都运用了面向对象的方法。

GIS数据的质量问题是一个相对的概念, 衡量数据质量的标准也会随着具体应用的特点和要求而变化, 因此采用面向对象的方法进行质量控制可针对不同的情况制定GIS数据的质量标准, 从而改善数据处理方法, 减少GIS设计与开发的盲目性, 增强GIS应用分析结果的可靠性。

本文利用面向对象的方法, 对GIS数据进行分类, 构造出合理的数据模型, 针对数据的不同用途制定GIS数据的质量标准, 分别对每一类GIS数据选用适当的处理方法, 增强数据处理的有效性, 避免盲目追求数据精度而忽略数据的用户需求, 使其数据精度与准确性更有针对性, 更符合用户需求。因此, 提出以下GIS数据模型, (见图1) 。

2. 基于面向对象的GIS数据分类及控制方法

2.1 空间数据质量的基本概念及标准

空间数据质量是指空间数据的可靠性和精度, 通常用空间数据误差来度量。空间数据质量问题包括微观和宏观两个方面。微观部分主要是独立的数据元素的质量因素, 包括定位精度、属性精度、逻辑一致性等;宏观部分指数据几何整体部分的质量, 包括数据完整性、正确性、时间性、地域性和数据档案等。根据空间数据的特性, 数据质量控制的主要包含:位置精度、属性准确性、逻辑一致性、完整性和正确性。

2.2 异常数据的定义

异常数据的定义一直不很明确, 而且不同的学者的定义也不同。最初, Edgeworth认为异常值是“显然严重偏离了样本集合中其它观测值的观测值”, 这个纯主观的基于数据的概念直到二十世纪七十年代仍被采用;九十年代时期, 有一些学者将异常值的定义修正为“数据集合中部分与数组中别的数据不一致的数据”, 但事实上, 这种定义中的“不一致”实质上是一个更不明确的概念。

因此, 后来有学者将异常数据的定义再次修正:异常数据是指所有记录中如果一个或几个字段间绝大部分遵循某种模式, 其它小部分不遵循该模式的记录。为了使研究更有针对性和全面性, 本文所指的“异常数据”将包括:异常属性数据、图形中的空间孤立点以及空间奇异拓扑关系, 为全面有效地展开数据质量检测奠定了基础。

2.3 异常属性数据的检测

GIS系统的属性数据的质量特性包括: (1) 描述空间数据的属性项定义; (2) 标识码是区分标识空间数据的码, 必须唯一有效、不重复; (3) 空间数据与属性数据之间一一对应的关系正确。因此, 属性数据的质量检查应包括属性表结构定义正确性、属性内容完整性和属性内容正确性等三个方面, 检查依据主要是数据建库的标准规范、数据生产技术设计书等。

传统上, 对异常数据的识别采用最小二乘算法, 由实际工程经验和最小二乘数学理论可知该方法的缺陷:最小二乘辨识估计方法对采样数据中可能包含的异常数据反应敏感, 即当样本中包含有严重偏离大部分数据所呈现趋势的少量的样本点时, 应用最小二乘估计得到的最优线性无偏估计, 其残差平方和随平方函数增长而迅速变大。

目前, 由于对数据质量要求的不断提高, 国内外的许多学者对测量过程中的“异常数据”检测和剔除算法都有较深入的研究。利用一种基于三角形和四边形面积的异常数据识别的搜索算法, 运算简单, 应用效果较好, 对随机误差引起的数据异常能准确的识别;利用一种基于逐点剔除法的改进算法, 能解决减小计算量, 提高处理效率的问题。

2.4 空间孤立点的检测

空间孤立点, 即与邻居具有不连续性的空间点, 或者是偏离观测值以至使人们认为是由不同的体系产生的。检测空间孤立点在许多地理信息系统和空间数据库中有广泛的应用。

一般空间物体的属性可以分为两类:空间属性和非空间属性。空间属性包括位置、形状和其他地理上的拓扑关系;非空间属性一般包括长度、高度、建筑时期、名称等。空间物体的邻居关系是基于空间关系的空间数据集。而空间孤立点则是具有与其空间邻居显著不同的非空间属性, 通常情况下, 空间孤立点可能不止一个属性与空间位置有关。

现有的发现孤立点的方法大多建立在统计学基础上, 大致可以分为4类:基于分布的、基于深度的、基于距离的和基于密度的。但上述孤立点查找方法不是专门针对空间数据的, 它们没有区分空间维与非空间维, 忽略了空间信息。若直接应用在空间数据中, 其结果可能导致发现的孤立点没有实际意义, 或产生错误的判断。

因此, 我们需要找出专门针对空间孤立点的查找方法。在相关的空间统计文献中提供了两种测试, 即图形测试和定量测试。图形测试是用可视化的方法来查找空间孤立点, 如变差云图与Moran散点图;定量方法提供了一个精确测试, 将空间孤立点与其它数据区别开来, 如散点图。

2.5 空间拓扑关系的检测

拓扑学 (Topology) 是以空间集合的形式来表示事物内部的结构、原理、工作状态等。空间拓扑关系则是反映空间要素与要素之间的、或者空间要素内部关系的数据模型或格式。

在特定的地理信息系统中, 开发人员会根据用户需求制定相关的拓扑规则, 主要用来解决坐落之间的关系、各分层要素之间的关系以及不同要素之间的关系。目前, 对此类“空间拓扑关系”的检测主要依靠目视对比的方法, 将制定完整的拓扑规则作为标准, 对数据库中的拓扑关系依次进行对照检查, 为了全面并且逻辑清晰地进行检查, 通常依据对象特点, 将拓扑关系分为面拓扑、线拓扑、面与点拓扑、面与线拓扑、点与线拓扑五大类关系, 若干小类, 这样能让检查过程条理清楚, 层次分明, 并且能保证检查的全面完整。

3. 结语

学习心得《面向对象》 第5篇

这学期的面向对象课程对我来说是收获匪浅的一门课。通过老师课件的讲解,自己一些相关书籍的阅读和实践作业的完成,逐步对课程有了由浅及深的认识。

面向对象(Object Oriented,OO)是一门以实践为主课程,课程中可以分开两块OOA(面向对象系统分析)和OOD(面向对象系统设计)。OOA(面向对象系统分析)主要内容: 研究问题域和用户需求,运用面向对象的观点和原则发现问题域中与系统责任有关的对象,以及对象的特征和相互关系.OOA不涉及针对具体实现采取的设计决策和有关细节,独立于具体实现的系统模型。是一个完整确切反映问题域和用户需求的系统模型。OOA的优势:复用、可扩展、可维护性、弹性。

OOD(面向对象系统设计):以OOA模型为基础,按照实现的要求进行设计决策,包括全局性的决策和局部细节的设计,与具体的实现条件相关。OOD的步骤:细化重组类→细化和实现类之间的关系,明确其可见性→增加属性,指定属性的类型和可见性→分配职责,定义执行每个职责的方法→对消息驱动的系统,明确消息传递的方式→利用设计模式进行局部设计→画出详细的类图和时序图。

面向对象的分析与设计方法将致力于解决传统软件研发过程中由于软件模块化结构化程度不高带来的软件重用性差、软件可维护性差、开发出的软件不能满足用户需要等方面问题。面向对象的概念包括:对象、对象的状态和行为、类、类的结构、消息和方法。对象概念将包含对象唯一性、抽象性、继承性、多态性的重要特征。面向对象的要素包含:抽象、封装性、共享性三方面。

在设计模式的研究过程中,我们组选择的是迭代器(Iterator)的设计模式研究。完成设计研究后,我对迭代器的设计模式有了更为深刻的理解。迭代器(Iterator)提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。并了解到迭代器设计模式一般在以下三类场合使用较多。

 访问一个聚合对象的内容而无需暴露它的内部表示。 支持对聚合对象的多种遍历。因为遍历状态是保存在每一个迭代器对象中的。

 为遍历不同的聚合结构提供一个统一的接口。根据实现方式的不同,效果上会有差别。同时还简化了容器的接口。但是在java Collection中为了提高可扩展性,容器还是提供了遍历的接口。在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责。Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。

在Java Collection的应用中,提供的具体迭代器角色是定义在容器角色中的内部类。这样便保护了容器的封装。但是同时容器也提供了遍历算法接口,你可以扩展自己的迭代器。至于迭代器模式的使用。客户程序要先得到具体容器角色,然后再通过具体容器角色得到具体迭代器角色。这样便可以使用具体迭代器角色来遍历容器了。

OOA和OOD之间没有明显的界限。OOA与OOD的不可分割性正好说明了OO思想的强大,即软件过程阶段的无缝连接,在交流与沟通中不会产生鸿沟,这是相对结构化思想的好处,因为从功能模块到某块详细控制逻辑设计两者之间的联系不是十分紧密,需要分析人员与设计人员的再沟通。

面向/基于对象 第6篇

摘 要:本系统把"CDIO工程教育理念和教学大纲"整合在网络教学平台中,提出搭建网络平台,需求不仅仅局限在功能和信息方面,而更多的转向于前端的界面表现方面。要设计开发出一套界面美观,交互友好的前端界面所涉及的知识和技能也是很广泛的。本文就基于CDIO的面向对象程序设计课程网络教学平台的前端设计与制作流程做了深入剖析。

关键词:photoshop技术;网页前端设计;HTML技术;CSS技术

传统的在线学习系统往往功能比较单一,有时仅仅是教学资源的采集,发布平台。本项目为教学活动中信息发布,教学管理,操作实践,测评考核,辅导答疑,交流探讨等各种环节都提供了相应的功能模块。教学任务中大多数活动都能在该平台提供的支持下更高效的地展,很大程度上克服了传统教学平台时间,空间的局限性。

本系统充分把“CDIO工程教育理念和教学大纲”整合在网络教学平台中,从产品的构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)等产品研发运行周期的不同阶段入手,旨在使学习者能够体会和适应当代工业生产环境对工程人员的需求。

本项目主要是搭建网络教育平台,主要采用Java EE与

Struts 2框架、Hibernate框架、Spring框架的集成开发。

一、网站定位

本网站为在线教育型网站。建立该网站的主要目的使得学生通过互联网实现自由、自主学习的目的,能够通过网站首页,课程,发现,让学员清楚了解平台所提供的主要信息。 网站栏目清晰明了,网站本身就是平台功能的体现。栏目之间的设定都是在服务于如何让学员更好更方便学习所想要的知识。

二、网站前台建设要求

本网站前台采用css+div,javascript。网页主要体现清爽的感觉,采用白蓝的明色色彩组合,制造出平静恬静的效果,时学生能以一种平和的心情学习知识,特效方面,主要采用js方式进行呈现。让网站的一些展示动起来,让网站更有生机,展现不用的呈现方式,让用户在视觉上产生冲击感,提高学习兴趣。

网站的前台框架如下:

主页:以网页静态的方式展示,需要有登陆功能、注册功能、密码找回功能。课程的动态及相关信息在第一时间呈现给学生,提高关注度。

登陆功能:放置在最显眼的位置,让用户第一时间找到登陆位置,曾加用户体验度。

注册功能:放置在登陆功能之后,第二视觉强度,便于用户注册帐号。

产品介绍:本模块主要展示网站的在线产品,产品的相关视频,点击之后就可以观看视频,更多的视屏跳转到新页面。关于我们:每个模块对应网站的相关内容。

注册页面:网站的帐号以邮箱的方式为帐号注册。

登陆页面:网站的帐号以邮箱的方式登陆。

产品介绍页面:本模块主要展示网络课程的相关视频,点击之后就可以观看视频,更多的视屏跳转到新页面。

三、设计说明

本教育网络平台采用AI在WEB前端的开发与应用,对网页的矢量图形进行快速又精确地进行设计。采用PS做WEB美工。首先,建立WEB图,新建文件长度一般都是1920象素这样刚好部满目前最高分辨率的苹果电脑的显示, 高度可以自己按需求定。其次,作图,先打开辅助标尺以保证作图布局的规范行,然后设计WEB布局。WEB页的布局采用平整和层次两种类型。平整布局使得整个页面做出的效果图就像画在纸上一样的画平整。层次布局应用在PS的混合模式中,对整个布局有把握再设计效果图 LOGO BANNER和内容。最后,采用切割技术对Web页面进行调整。在进行储存时WEB格式注意储存为GIF格式,这样文件才会更小。

(一)设计效果。整个页面布局运用上下分栏的方式呈现,采用绝对定位和浮动定位。绝对定位的优势在于,可以精确控制任何元素的位置。浮动定位将块元素和独占一行的元素并列起来,不会让整行只有一个元素。

本网站的亮点在于banner,以简单多变的文字表达出该网络学习平台的学习理念,提高网络关注度,添加了JS特效来展现课程推荐专栏,图片变化的效果使浏览增添了许多乐趣。

在设计首页时,起初JS代码在不同浏览器兼容性出现了问题,最后采用了jquery框架。布局主要采用分栏的方式,以各个板块展示不同的内容信息。导航搜索框采用js特效进行自动伸缩,当鼠标选中搜索框时,搜索框自动变长,网站风格简约,导航醒目,分栏的布局使条理清晰明了。

(二)列表页设计说明。列表页的重点在内容部分,以图文混合的形式进行排版,另外添加了显示全部的链接,用户可以选择浏览更多的内容。布局主要采用通栏的方式,以各个板块展示不同的内容信息。内容展示分左右两栏,

四、兼容方案的设计

用户通常会使用浏览器访问该网络平台。各浏览器解译网站代码的方式略有不同,这意味着。为了避免网站在不同浏览器中显示的效果会有所差异,依赖于浏览器特定的行为本次设计采用一些方式来确保网站在不同的浏览器中都能正确显示。

(一)使用有效的 HTML 和 CSS 编写网页。有效、易解译的 HTML 可保证网页得以正确显示,而 CSS 可以将网页的外观和内容分离开来,使网页可以更快速地载入和呈现给访问者。本设计使用有效的 HTML 和 CSS 编写网页,然后在尽可能多的浏览器中测试这些网页显示的效果,并使用W3 Consortium 免费提供的在线 HTML 和 CSS 验证工具验证网页,使用HTML Tidy 的工具快捷地清理代码。

(二)指定字符编码,编码置于文档(或框架)的顶部。为使浏览器可以呈现您网页上的文字,本设计始终为相应的文档指定编码。为了避免某些浏览器无法识别文档深处的字符集声明,本设计还将此编码置于文档(或框架)的顶部。此外,为了确保网络服务器不发送相冲突的 HTTP 标头。使用content-type:

text/html; charset=utf-8 之类的标头替代网页中的所有字符集声明。

(三)使用Flash和富媒体指南,使网页易于访问。本设计按照 Flash 和其他富媒体使用指南进行操作,然后在 Lynx 这样的纯文本浏览器中对网站进行测试。提供针对富媒体内容和功能的纯文本浏览方式,有助于搜索引擎更方便地抓取本网站并将其编入索引,同时也大大方便了使用屏幕读取器等技术访问。

结束语:好的开端是成功的一半,通过本次的大学生创新计划,让我体会到要做好一个网站,前期的规划是最重要的,准备充分才能事半功倍,而不是毫无目的的随心所欲,这是网站开发中要特别注意的问题之一。而在网站规划过程中搜集相关资料,并从中分析有用的信息进行整理,这锻炼了我对信息收集整理的能力,将对我以后的学习和工作是有益的。虽然创新设计项目仍有一些不足,但过程中的体验却让我受益匪浅,那对我而言将是一种宝贵的财富,让我在今后的学习及工作中有所借鉴,不断地提高和完善自我。

参考文献:

[1] 曾静娜著 CSS+DIV[M] 北京希望电子出版社 2010.3

[2] 阮文江主编 JavaScript程序设计基础教程[M] 人名邮电出版社 2010.8

基于面向对象设计的软件再工程实践 第7篇

本文以一个结构化设计的医疗费用管理系统为例探讨基于面向对象的软件再工程的实践过程。

一、原系统介绍

原医疗费用管理系统开发于2001年, 以PB6.5为应用开发平台和Visual Foxpro6.0为数据库数据管理平台, 采用C/S模式部署。经过多年运行, 系统已无法满足业务部门日益增长的工作需要, 问题主要有以下3个方面:VF6.0数据库不支持多线程编程, 数据处理能力较差, 不适应数据日益增大的系统处理要求;PB6.5开发平台老旧, 研发技术不够先进;系统新增功能与原系统进行对接难度较高。

二、软件再工程实施过程

(一) 业务需求再分析

采用软件再工程方法要对原系统的规模、体系结构、功能、内部算法、复杂度功能进行分析, 同时与业务人员沟通, 将系统目前欠缺的功能及缺陷进行汇总, 确定软件再工程涉及的范围。

1. 更改系统界面, 将原系统的客户端程序用Web代替, 实现B/S模式访问。

2. 更换系统数据结构。更换系统数据库, 采用Oracle数据库替换VF6.0, 同时对原系统数据库表进行高范式重构。

3. 更换系统平台, 采用MVC设计模式和Java语言进行系统编码, 优化功能模块设计, 增加部分系统功能, 如身份验证和报表生成等。

(二) 软件系统再设计

原医疗费用管理系统C/S模式部署, 客户端为单用户使用, 数据库和应用都部署在单机上。逻辑功能结构如图1所示。

通过对原系统的逻辑分析以及系统用户的需求再调研, 软件再工程过程可以从3个层次开展, 即系统的表示层、逻辑层和数据层。用既存系统的3个层次去分别对应从逻辑上得到对应每个层次的输入和输出, 然后为每一层寻找能够实现最大程度重用的重构方法。具体过程如下。

1. 重构系统部署模式和访问模式。集中设立应用服务器和数据库服务器, 客户端通过IE浏览器访问系统, 简化系统维护工作。基于服务器端的网络应用需要重新开发界面, 这种方法看上去没有重用既存界面代码, 其实不然。首先, 界面设计完全可以重用, 从而节省设计时间;其次, 可以重用已有的网络系统界面 (如系统身份验证界面、各类统计分析报表界面等) , 这样也会减少工作量。

本次系统重构将C/S模式改变为B/S模式, 增加系统登陆界面及对原有系统界面的Web化处理, 仿照原系统界面, 利用JSP技术设计新系统Web界面, 有利于原系统用户更快适应新系统的使用方法。

2.重构系统逻辑功能和运行平台。由于新旧系统逻辑功能基本不变, 因此原系统中逻辑功能部分代码重用率高。通过对系统逻辑层的分解可得到可重用和不可重用的2部分代码。对可重用部分可直接引用, 对不可重用部分则应尽量通过对象包装法将其改造成可重用构件, 用于新系统的功能实现。

本次系统重构主要将系统开发平台转换为Java平台, 设计模式采用MVC模式, 将逻辑功能封装到Java Bean中, 最大可能将业务处理逻辑与数据处理逻辑及展现逻辑分离。将原系统中人员信息封装为Person类, 将管理员封装为admin类, 将收入处理封装为in类, 将支出处理封装为out类, 将数据处理封装为data类。将所有的数据及功能全部封装到各个类的方法中, 便于今后进行功能修改和维护。如图2所示。

面向对象的封装实现了新系统各个类重用原系统得功能模块, 利用JAVA语言对原系统功能模块进行重写, 内部处理逻辑及算法都可以重用, 极大加快了系统开发进度, 降低了系统开发成本。

3. 重构系统数据结构。更改系统数据库管理平台, 采用Oracle数据库替换VF6.0。对原系统数据库表进行高范式重构, 将人员信息表及明细表拆分, 设计数据表为人员信息表、收入表、支出表、历史数据表、管理员信息表。通过表范式提升, 将实体基本信息和业务数据分离, 有效解决了数据处理中统计报表、年终处理以及年度数据历史备份问题。

数据层通常要求更高的重用率, 此次实践将数据结构进行了较大程度修改, 势必使逻辑不能正常运行, 因此, 在进行数据层重构时要提供新数据结构与原数据结构对应关系。在逻辑功能实现时, 特别重用部分原系统逻辑功能模块时, 利用这种对应关系修订原系统部分代码, 尽量提高系统重用功能的研发效率。

(三) 系统重构再部署

完成系统研发并经过测试后, 系统部署主要包括:一是原系统历史数据的导入, 由于数据层结构已经改变, 因此在数据导入前需对元系统数据进行清理分割, 按照新系统数据结构导入;二是新系统Java及Oracle数据库的安装调试, 准备好服务器基本环境和网络环境。

本次实践中, 系统重构后采用网络系统进行部署, 需对业务部门用户进行培训及技术支持。

三、软件再工程实践总结

(一) 提升系统研发效率可采用软件再工程方法

软件再工程能够重用原系统大部分功能, 并且改造后的软件系统能提供更多功能的软件重用构件, 为其他系统的再工程改造继续提供支持。软件再工程周期越长, 可用构件越多, 那么效率就越高。因此, 软件再工程与系统新建是一个互为补充的关系, 经过再工程改造的软件系统就如同一个新系统使用, 但是这种再工程研发效率明显高于新建系统。

(二) 延续系统生命周期可采用软件再工程方法

通过新技术、新架构的采用, 软件再工程方法能够延续软件系统的生命周期。软件再工程方法就是针对用户需求不断变化、软件系统复杂性不断提高和软件维护日趋困难而提出的。早期的软件系统经过软件再工程实施后仍能够提供相应的业务功能, 而且系统架构和IT技术都较为领先, 因此延长了系统生命周期, 降低了系统重新研发的成本。

基于面向对象方法的物流软件开发 第8篇

该项目的研究有两个初衷:一是完成项目的开发,给交运物流公司信息化支持;二是学习使用面向对象的软件开发方法。

2 Oracle数据库

Oracle数据库系统是美国Oracle公司提供的以分布式数据库为核心的一组软件产品,是目前较为流行的B/S体系结构的数据库之一,它具有以下特点。

2.1 完整的数据管理功能

(1)数据的大量性;(2)数据保存的持久性;(3)数据的共享性;(4)数据的可靠性。

2.2 完备关系的产品

(1)信息准则--关系型DBMS的所有信息都应在逻辑上用一种方法。

(2)保证访问准则。

(3)视图更新准则--只要形成视图的表中的数据变化了,相应的视图中的数据同时变化;

(4)数据物理性和逻辑性独立准则[1]。

2.3 分布式处理功能

一个Oracle分布式数据库由Oracle Dbms、Sql*Net、SQL*CONNECT和其他非Oracle的关系型产品构成,在此项目中采用的是Oracle9i产品。

3 面向对象方法

面向对象方法从根本上解决结构化方法中存在的所有问题。

3.1 系统分析

面向对象系统分析(OOA)对问题进行功能分析,提出待解决的问题。对于交运物流系统来说,在这一阶段要深入了解物流公司的工作习惯,业务范围及业务流程,并建立相应的概念模型,面向对象的分析结果直接约束设计过程及产品功能。此阶段主要工作是给出系统层次结构:主题层,结构层、类&对象层、属性层、服务层[2];系统模型:对象模型、动态模型、功能模型。

3.2 系统设计

面向对象系统设计(OOD)的任务,是在OOA的基础上,根据用户对系统功能和操作使用方面的需求以及技术、经济和运行环境等方面的条件,继续运用面向对象的基本思想与概念,进一步细化、改进和扩展通过系统分析得到的系统逻辑模型,确立系统物理实现的技术方案,即:建立系统物理模型。这一阶段包括:一是从整体的角度对应用程序的框架进行设计,在明确了要解决的问题后对将要开发的软件进行类的划分,确定所需要的各个类模块。二是具体到每一类,应用程序的设计主要就是类的设计,这个阶段贯穿于整个类的生存期。

3.3 系统实现

实例建立:这一阶段是对问题的最后解决,在建立了类的基础上用代码实现对象实例。

组装测试:本阶段把系统组装成一个完整的应用进行测试。

应用维护:面向对象的继承机制使得维护工作相对容易,如果结构设计合理,对于大部分的工作维护一般都发生在类级。

4 C/S部分

整个软件的C/S部分分为前台客户端、后台服务器、后台维护客户端。前台客户端主要实现信息的浏览、发布、检索、诚信档案申请与查询、短信发送、配货卡、交易宝等功能模块;后台服务器能够自动地完成信息的接受与发送等功能;后台维护客户端实现对所有模块的管理,主要有增加、删除、修改、查询等功能。

在系统分析阶段给出了主题层、结构层、类&对象层、属性层、服务层5个层次的VISIO图,这个交运物流的主题包括以下几个:信息管理、财务管理、档案管理、交易管理。下面将以交易管理为例介绍面向对象的软件开发方法,如图1所示。

在服务层中,下面的交易活动图,如图2所示,描述了整个交易的业务流程,根据该图就能够在接下来的系统设计阶段完成对类的划分,从而完成整个交易模块的设计。

因为有准确的系统分析,在接下来的系统设计阶段利用C#编程实现了各种功能。

数据库的连接:

参考文献

[1]徐舒.面向对象软件测试技术研究[J].今日科苑,2010,(02).

面向/基于对象 第9篇

随着遥感技术的迅速发展,遥感已成为GIS重要的数据源和数据更新手段[1]。遥感影像正是地面实体及其空间位置的很好反映,遥感影像中自动提取目标信息方法,国内外在这方面已有一些研究进展。谭衢霖,等[2]提出了一种基于相邻影像区域合并异质性最小的面对对象多尺度分割算法;沈占峰,等[3]提出了基于不同尺度经行影像特征基元分割,并结合知识辅助实现基元分析的方法 ,有效地将影像中道路进行精准地提取。文贡坚,等[4]根据城市主要道路在图像中的特征进行了模型化处理,得到基于直线的、自动提取方法,该方法能够从实际航空遥感图像中提取出主要道路。有关这个方向的研究还有很多[5,6,7]。现基于面向对象的分类技术借用eCognition软件进行了影像分割与植被信息提取。

1 研究方法

1.1 影像的多尺度分割

在进行影像分割之前,要对影像进行辐射纠正,几何处理等预处理,以剔除大气、地形起伏对图像质量的影响。

遥感影像分割是遥感信息提取和目标识别的基础和关键[8]。在eCognition中所定义的分割是指按照特定标准创建的影像对象或者更改现有的影像对象的形态的任何操作,因此有两个基本的分割原则[9]: 1)将大的影像切割成小块,这是一种从上往下的策略;2)将小块合并成大的影像,这是一种从下往上的策略。而由于地表地物的复杂性以及不同地物在影像上光谱的不同,同性质的地物所表现的光谱特征属性接近,因此,基于以上分析,采用多尺度分割方法对遥感影像进行分割。

多尺度分割(Multiresolution Segmentation)算法连续地合并像元或现有的影像对象。实际上是通过标识一个像元大小的单影像对象,将其与相邻的且具有同质性标准的对象进行合并。影像区域的同质性可以通过异质性的计算来表达[10],表现为颜色同质性(基于光谱颜色的标准差)和形状同质性(基于一个紧凑的或平滑的形状偏差)。

1.2 特征参数选择

分割后得到的影像对象除具有光谱特征外,还具有纹理、形状、上下文关系等特征[11]。因此,可以采用不同算法来提取影像的各特征信息。要提取的感兴趣地物是植被信息,而归一化植被指数(NDVI)可以突出植被变化信息,是提取植被的最佳算法选择。其表达式为[12]:

ΝDVΙ=meannir-meanredmeannir+meanred(1)

式(1)中red表示红外波的值;mean nir表示近红外波段值;mean red 表示红外波段值。

1.3 分类

选择不同的分类器,得到的分类结果图是不一样的,有的甚至差别很大。常用的分类器有最邻近分类和模糊逻辑分类[13]。最邻近分类是根据影像对象与它的最邻近对象的特征空间距离,返回一个0到1之间的隶属度值。若一个影像对象与一个样本一致,隶属度值为1。模糊逻辑分类则需要预先定义分类规则。然后根据规则进行划分。现采用模糊逻辑分类方法。其整个技术过程见图1。

2 实例验证

本次试验所用的数据是由北京天目创新科技有限公司提供的数据,其原始图像见图2。研究过程中设置形状因子shape为0.1,紧密度因子为0.5,分别将尺度参数(scale parameter)设计为75,30和10。所得到的分割效果图分别见图3(a)、图3(b)及图3(c)。

添加归一化植被指数(NDVI)算法。对比之前三个不同尺度下分割的效果图,在选取尺度参数为30的条件下对分割效果图进行分类。经过多次调整NDVI的值,可知当0.47<NDVI<0.75时,所得到的分类效果最佳,见图4。图4中蓝色区域表示植被,黄色区域表示非植被。但此分类图并不理想,原因是植被区域(或非植被区域)中的相邻区域并没有合并,仍然显示出很多小块。为了使得到的分类图更加美观,在已分类图基础上分别对植被区域和非植被区域进行合并,旨在将相邻的同类合并成大块。在此过程中用到的算法是Merge region 算法。最终得到的分类图效果见图5。

3 结论与讨论

(1)面向对象的遥感影像信息提取方法较传统的基于像素光谱特征的影像分割方法,可以利用几何纹理、上下文等丰富的特征进行信息提取,克服了传统方法在多尺度下信息提取的缺陷。

(2)主要针对植被信息的提取,对于建筑物边缘、阴影的去除未曾考虑,这也是今后研究的一个方向。

(3)由于地物的复杂性及多种因素的综合影响,自动识别进行遥感影像的信息提取只能够在一定精度下进行,要想达到超精准的信息提取,是今后研究的重点方向。

摘要:介绍了基于面向对象的遥感影像分类方法,借用eCognition软件通过设置不同分割尺度参数及特征值,进行了一个分割分类实例试验。结果显示,与传统的基于像元的分类方法相比,面向对象的遥感影像分类方法具有很好的效果,提高了分类提取的精度。

面向/基于对象 第10篇

数据标准化是继网络、硬件、软件标准化之后, 计算机信息系统又一重要的标准化方向。在地理信息、科学研究、财务、石油等领域, 我国已经建立或正在建立领域数据字典。数据字典对数据标准化的规范作用, 必将促进有关领域计算机信息系统的进一步发展。当前, 面向对象设计、面向对象编程是计算机信息系统设计和开发的主流, 研究在面向对象环境中, 以何种形式应用数据字典, 以更好地满足计算机信息系统的实际需求, 更好地发挥数据标准作用, 具有重要意义。

2 数据字典简介

数据字典是数据标准化具体形态之一, 数据元素是数据字典中的重要概念。

2.1 数据元素

数据元素是一种结构化的数据单元, 在特定的语义环境中被认为是不可再分的最小数据单元, 具有描述准确, 理解一致的特点。数据元素的这种特点通过定义、标识、表示以及允许值等一系列基于语义的属性描述得以实现。

在GB/T 18391《信息技术元数据注册系统》中, 给出了数据元素的资料性模型, 如图1所示。

对象类、特性、表示是数据元素方法中的基本概念。从图1中可以看出, 对象类和特性又构成数据元素概念, 数据元素概念和标识构成数据元素。

2.2 数据字典基本结构

数据字典通常分为编制规则、管理规则和已注册数据元素三部分。管理规则规定数据元素注册、管理的基本流程和具体要求。编制规则通常包括:字典编制原则、数据元素方法有关知识介绍、术语、数据元素描述内容 (属性) 及其详细要求、字典的结构及数据元素的分类等。

字典编制原则通常以为所属领域服务为目的规定编制数据字典时必须考虑、遵守的有关事项。

数据元素方法介绍对字典中所用到的有关数据元素方法的知识进行重新强调, 以帮助读者更好地理解和使用数据字典。

术语、属性是用于描述数据元素的数据, 是字典的基础, 编制规则对之进行详细说明和规定。编制规则中往往会有用数据元素方法描述数据元素属性的表格及对个别属性的特殊规定。

编制规则中对数据字典结构的规定和数据元素分类的规定密切相关。因常见实体对象和日常活动对象容易理解并具有一定的数据基础, 将数据元素划分为实体对象类和活动对象类, 进行细化并据此编制字典结构的方法被广泛采用。

字典中的已注册数据元素通常按照表、记录的方式进行组织。一张表通常包含一个大类的数据元素, 表中的每条记录描述一个数据元素, 表中的每个字段标明一个描述数据元素的属性的名称。记录中的每个值代表一个描述数据元素的属性的值。

同一表中的数据元素具有相同的属性类型, 但却不允许存在两条属性值完全一致的数据元素记录, 数据元素记录中至少有一个主键。数据字典中将统一标识符作为数据元素的属性, 其作用是标识数据元素在领域中的唯一性, 可以用来作为主键之一。

2.3 字典中数据元素的分类

分类是指依据被分类对象所具有的共同特征而进行的排列或划分, 这些特征包括起源、组成、结构、应用和功能等。

数据元素字典中的数据元素通常都需要分类。对数据元素进行分类, (1) 可帮助用户从众多的数据元素中找出某个单一的数据元素; (2) 方便对数据元素进行数据管理分析; (3) 通过继承使原本借助其他属性 (如名称和定义) 不能完整表述的语义内容得以表达。

许多与数据元素有关的概念都可作为数据元素的分类对象, 比如对象类、特性、表示、值域、数据元素概念、以及数据元素本身, 这种用作分类对象的概念成为组分。选定好组分之后, 按照起源、组成、结构、应用或者功能, 对组分进行分类, 完成组分的分类之后, 将具有相同组分的数据元素划分到同一个数据元素组中。

记D (x) 为具有组分x的数据元素D。

规则1:D1 (x1) , D2 (x2) , 若x1, x2被划分到同一分组中, 则D1, D2被划分到同一分组中。

规则2:D1 (x1) , D2 (x2) , 若x1, x2被划分到不同分组中, 则D1, D2被划分到不同分组中。

比如人员出生年月和装备出厂日期两个数据元素。 (1) 若按照对象类分, 因人员属于人员类, 则人员出生年月应属于人员类数据元素;因汽车属于制造品类, 则汽车出厂日期属于制造品类数据元素; (2) 若按照表示分, 因年月属于日期类, 所以人员出生年月属于日期类数据元素;因日期属于日期类, 则汽车出厂日期属于日期类数据元素。由此可知, 数据元素分类是非常灵活的。

数据字典中, 分类应有利于数据元素获取、创建、理解等, 所以数据元素分类要:能够通过派生, 形成抽象数据元素和应用数据元素;确保适当属性和属性值的继承;能从参照词汇表中派生对象元名称;消除歧义;辨识上位类、同位类和下位类的数据元素概念;辨识数据元素概念和数据元素之间的关系;辅助模块化设计的名称和定义的开发等。

3 字典在面向对象编程中的应用

领域数据字典提供的标准数据元素不应当仅仅被动地被检索、被参考, 还应当比较主动的向使用者提供更好的服务。在面向对象编程中, 程序开发者需要构造由基本数据类型组成的领域数据类型, 不仅费时, 而且不能保证自定义的领域数据类型在整个领域中能够通用, 我们建议按照数据字典建立领域标准数据类以解决这个问题。

以C++为例, 在将领域标准数据引入到C++编程中后, 当我们要声明一个变量时, 至少有四种数据类型 (或者类) 可供选择, 如图2所示。引用时, 通常先要声明要用数据类型所在的头文件, 然后通过数据类型名 (或类名) 调用数据类 (或类) 。

由图2可知, 领域数据元素若要被作为数据引用, 需要转换成领域标准数据类型才行, 即要把数据元素变成标准数据类。

标准数据类应当具备三项基本功能:能够用“=”赋值;能够检查赋值是否合法;能够获取和展示数据元素的各个属性。

能够用“=”赋值是数据类型的基本特征, 但在一些编程语言中, 也允许用“=”对类赋值。使用等号赋值较之使用函数赋值, 更符合人们的习惯。对应用程序开发者而言, 标准数据类除了显示数据元素的属性信息外, 核心作用是被赋值。赋值是应用程序开发者唯一能够改变数据元素的行为。

使用者赋的值, 并不总是符合数据元素要求的, 类在被赋值后, 应当判断该值是否合法, 若不合法则应进行提示。

数据元素类应当能将数据元素的属性表现出来, 供应用者理解和使用。

开发基于数据字典的标准数据类的工作属于领域标准数据类开发者 (在数据字典颁发以后) , 而不属于一般信息系统开发者和其他应用开发者。

其开发步骤为:

(1) 将数据元素表中的所有字段转换为类的属性;

(2) 类中增加设置和返回各属性值的方法函数;

(3) 类中设置“=”操作符函数, 使能够通过“=”对类的对象进行赋值;

(4) 类中增加构造方法函数和析构方法函数;

(5) 在构造函数中, 初始化属性的值, 即将数据元素记录中的值赋给标准数据类相应的属性。

数据字典往往提供很多表, 容易引起混淆, 标准数据类开发时, 还应注意如下事项:

(1) 标准数据类要能反应数据字典对相应数据元素的所有规范;

(2) 标准数据类中的属性是数据元素本身的属性, 类中的方法是数据元素能够做到的动作。

4 标准数据类设计

我们在分析数据元素和数据字典的基础上, 按照面向对象的方法, 构建某领域标准数据类框架体系, 如图3所示。

4.1 标准数据类的继承

根据标准数据类必须具备的前两条功能, 设计标准数据模板类, (1) 能够象基本数据类型一样, 通过赋值符“=”对其进行赋值; (2) 在赋值时, 检查来值是否符合字典要求, 符合则接受, 不符合, 则报错。检查函数为虚函数, 派生类必须重写检查函数。

由标准数据模板类派生属性标准数据模板类和数据元素标准数据模板类。属性标准数据模板类按照属性值的数据类型的不同, 派生出具体类:字符型 (char*) 属性类、整型 (int) 属性类、日期型 (Date) 属性类等, 模板类:值域属性类。

数据元素标准模板类按照数据元素值的数据类型的不同, 派生出具体类:字符型 (char*) 数据元素类、整型 (int) 数据元素类、日期型 (Date) 数据元素类、时间型 (Time) 数据元素类等。

4.2 标准数据类的命名

数据字典往往通过不断细化分组来组织数据元素。例如在一些现有字典中将数据元素分为大类、小类、细类等。这样的分组因其能反映常见对象和正常业务, 而便于人们对字典中数据元素的检索和理解。面向对象方法从属性相似的角度来设计类, 是与字典对数据元素分组的最大区别。为了使标准数据类不失数据字典在检索和理解方面的优点, 我们建议采用如下方法命名标准数据类:

标准类名=大类名[_小类名[_细类名]]_数据元素名

方括号表示其中项是可选的。

基本属性 (术语) 因其构成的属性集不仅能描述数据元素而且能描述属性集中的成员, 是数据字典的基础数据, 且相对于数据元素理论上可不断增添, 对数据字典而言这些属性是有限的。因此, 为体现属性标准数据类和数据元素标准类的不同, 属性标准数据类的命名在遵循数据元素标准数据类的命名规则的基础上增加前缀“AT_”。

4.3 数据类的内部结构

为了方便表述, 我们假设某数据字典中的基本属性集A={ID, Name, Definition, Type}。则通过图4可以说明属性标准数据类和数据元素标准数据类的内部结构及相互之间的关系。由图4可知:

(1) 属性标准数据类的各属性的类型是基本数据类型;

(2) 数据元素标准数据类的各属性的类型是属性标准数据类型;

(3) 尽管属性集中元素所属的类不同, 但属性标准数据类和数据元素标准数据类的属性集中元素的作用是相对应的。

摘要:在介绍数据字典中数据元素、数据字典基本结构、字典中数据元素的分类概念的基础上, 提出按照数据字典建立领域标准数据类的建议;并结合实际工作, 简要介绍标准数据类的设计方法, 该方法在实践中发挥了较好的效果。

关键词:数据元素,数据字典,标准数据类,面向对象

参考文献

[1]吴志刚, 林宁.信息共享、业务协同的前提--数据标准化[J].信息技术与标准化, 2003 (1-2) :43-44.

[2]中国标准化研究院.GB/T 18391.1-2009信息技术元数据注册系统 (MDR) 第1部分:框架[S].北京:中国标准出版社, 2009.

[3]中国标准化研究院.GB/T 18391.2-2009信息技术元数据注册系统 (MDR) 第2部分:分类[S].北京:中国标准出版社, 2009.

[4]文必龙, 肖波, 陈新荣.石油勘探开发数据元素管理技术[J].大庆石油学院学报, 2012, 36 (1) :83-87.

[5]孙广芝, 邢立强.数据标准化的实践与思考--以财政业务数据为例[J].电子政务, 2009 (4) :75-79.

[6]中国人民解放军总医院.WS/T 303-2009卫生信息数据元标准化规则[S].北京:人民卫生出版社, 2009.

[7]吴波, 李建, 伍东.数据元素标准化在石油数据中的研究与实现[J].山西电子技术, 2006 (5) :86-89.

[8]吴信一.对电子政务元数据实行标准化的探讨[J].办公自动化, 2005 (7) :17-19.

[9]高复先.金字工程--数据标准化的再认识[J].中国信息界, 2004 (06X) :36-38.

[10]承继成, 赵永平.地理信息及其元数据标准化[J].遥感学报, 1998, 2 (2) :149-153.

基于UML的面向对象建模方法研究 第11篇

传统的软件工程方法主要是以结构化方法为代表, 随着计算机应用的深入, 这种方法出现了许多问题, 具体表现在软件的重用程度低、稳定性差、难以维护等。针对这些弊端, 面向对象的软件工程方法随之产生。

面向对象 (Object Oriented) 的方法包含了面向对象的分析 (OOA) 、面向对象的设计 (OOD) 和面向对象的编成 (OOP) , 是一种新的思维方法。面向对象的方法与人类的思维习惯一致, 具有稳定性好、可复用性好、适应变化、易于维护等优点。

统一建模语言UML作为一种标准的图形化建模语言, 成为面向对象分析与设计的一种标准表示方法, 它的作用域不限于支持面向对象的分析与设计, 还支持从需求分析开始的软件开发全过程, 可以被各种可视建模工具支持。UML获得了广泛应用, 并代表了软件开发技术的发展方向。

1 建模方法

1.1 用例图

用例图是从用户的角度描述系统的功能, 并指出各个功能的操作者和执行者。基于UML的建模首先要进行需求分析, 需求是对产品的需要和要求的描述。需求分析阶段的活动包括概念初始化、写调查报告、计划和需求的详细描述等;常用的文档包括:计划、原始调查报告、需求说明、术语表、原型、用例、用例图、概念模型草图等。

用例描述了参与者执行一个任务时产生的事件序列。用例图说明了系统、参与者和用例的关系。用例用椭圆表示, 参与者用简化人形表示, 在用例和参与者之间用箭头、连线表示信息流。

针对一个典型的零件订单系统, 我们先分析该系统的需求, 建立概念模型, 画出用例图。图1是使用目前最广泛应用的UML工具Rational Rose建立的该零件订单系统的用例图。一个简单的订单系统用例图表示一个执行者 (会员) 和被操作系统之间产生的事件序列。订购零件就是该事件的用例, 图中的箭头表示时序。下面类图和顺序图的建立都是基于这个用例图而产生的, 我们将在后面的章节详细说明。

1.2 类图

面向对象分析设计的关键是提取对象。对象是对现实世界中事物的抽象, 它具有状态、行为和标识。状态是当前属性值的组合, 是行为的累积结果;行为是对象根据状态和接收消息作出的反应;标识是和其它对象的区分。

类是共享一个公用结构和公用行为对象的集合。我们通过类图来描述对象的状态和对象间的关系。类图中的关系主要有泛化、关联和聚合。

在零件订单系统中, 我们提取出几个基本的对象, 包括会员、订单和零件。订单类与会员类之间具有操作性, 用直线连接表示它们相关联关系, 两端的数字表示连接关系是一对多, 且会员可以操作多个订单。会员类有其共有的属性, 包括会员编号、用户名、密码、姓名、性别、电话、传真。会员类可以细化为普通会员和高级会员两个子类, 子类继承父类的所有属性, 并具有自身独特的属性, 这种关系就是泛化, 用带三角的箭头表示。订单类的属性包括下单日期、税金、运费、总价等, 另外订单类具有一些可对其执行的操作, 例如计算附加费用、合计总费用。订单类可以包括多个订单项, 这是包含的关系, 即订单项是订单的组成部分, 是整体和部分的关系, 它们的关系叫做聚合, 用菱形的箭头表示。箭头两端的数字表示它们的关系是一对一或是一对多, 一个订单可以有多个订单项, 所以在这里的聚合是一对多的。订单项的属性包括购买数量和单价, 对它的操作包括计算该项订单的价钱。订单项对零件是依赖关系, 这种关系体现在零件类是订单项类的一个成员变量, 零件类的信息变化, 比如零件的价格可以影响订单项类的信息变化。依赖关系用普通箭头表示。

图中几种类的关系的代码表示简单列举如下:

1) 泛化:

2) 依赖:

3) 聚合:

4) 关联:

1.3 顺序图、状态图

类图仅仅从静态角度描述了系统, 而面向对象系统是通过对象之间相互发送消息来实现系统功能的, 所以我们需要为系统建立动态模型才能全面反映系统的情况。

动态模型包括协作图和顺序图, 顺序图属于动态建模交互图的一种。它用来描述对象之间动态的交互关系, 着重体现对象间消息传递的时间顺序。它反映了各个对象之间的动态协作关系, 体现了对象动作的先后时间顺序。顺序图能更好地说明对象间的交互顺序, 有利于理解系统, 所以最好用顺序图来描述每个用例的实现。

图3详细地描述了会员完成零件检索的顺序, 首先根据查询条件检索零件, 系统查找到零件后将零件列表显示在界面上, 会员选择感兴趣的零件并提交可以提取该零件的信息, 系统就会回复该零件的详细信息给会员。可以看出整个检索的程序在顺序图中描述出来十分直观详细。

2 结束语

基于UML进行系统分析与设计, 便于在全局上纵览整个软件的结构;便于把握整个软件的总体结构与各个分系统结构之间的关系。本文通过工程企业管理系统的UML建模, 分析了系统的需求, 分别进行静态建模和动态建模, 给出了整个系统实现的蓝图, 使用UML建模的方法, 可以缩短开发时间, 提高软件开发的质量, 有着良好的应用前景。

参考文献

[1]刘超, 张莉.标准建模语言UML教程 (第2版) [M].北京:航空航天大学出版社, 2002.

[2]谢子松.武友新.基于UML的工作流建模的研究与应用[J].计算机系统应用, 2005 (2) .

[3]张红霞.基于UML和工作流技术的企业管理信息系统开发研究[D].天津大学硕士学位论文, 2003.

上一篇:板材企业消防安全下一篇:发展企业公民权利