(机械制造及其自动化专业论文)基于j2eeuml的企业建模系统的研究.pdf_第1页
(机械制造及其自动化专业论文)基于j2eeuml的企业建模系统的研究.pdf_第2页
(机械制造及其自动化专业论文)基于j2eeuml的企业建模系统的研究.pdf_第3页
(机械制造及其自动化专业论文)基于j2eeuml的企业建模系统的研究.pdf_第4页
(机械制造及其自动化专业论文)基于j2eeuml的企业建模系统的研究.pdf_第5页
已阅读5页,还剩129页未读 继续免费阅读

(机械制造及其自动化专业论文)基于j2eeuml的企业建模系统的研究.pdf.pdf 免费下载

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

文档简介

企业的组织视图、数据视图、过程视图和资源视图,并通过控制视图来描述组织、数据、过 程、资源四个视图之间的关系。面向企业信息系统实施的的生命周期,定义了需求定义、设 计说明和实施描述三个阶段的内容。 2 a r i s 的结构 a r i s 结构是从过程模型中抽取和发展而来的。为了喊少结构的复杂陛以及冗余,a r i s 对过程模型进行了简化处理,过程链模型被分解成五个视图:数据视图、功能视图、组织视 图、资源视图和控制视图。数据视图描述事件和环境条件,表征信息对象:功能视图描述要 实现的功能及功1 1 2 _ 间的关系;组织视图描述使用者和组织单元之间的结构关系:资源视图 描述信息技术设备,例如:c p u 、外围设各、网络和数据库等;控制视图记录和维护组织视 图、数据视图和功能视图之间的关系。 在a r i s 结构中,组织、数据和功能视图的发展过程是相对独立的,它们之间的关系由 控制视图来描述。控制视图是a r i s 区别于其它结构的重要特征,它用来记录和维护组织视 图、数据视图和功能视图之间的关系。由于资源视图仅用于描述信息技术设备,因此,根据 组织、数据和功能视图与信息技术的结合程度,生命周期模型取代了作为独立描述对象的资 源视图。a r i s 定义了三个面向生命周期的层次:需求定义,设计说明和实施描述【1 1 。图2 - 3 描述了蕴含生命周期的a r i s 结构图。 需求定义 组织视图 趁计说明 实施描述 t 国画坳图陋醪 需求定义 需求定义 需求定义 设计说明 - 叫设| t 说明- - 叫 设计说明 【实施描述j 实施描述 【实施描述 一至一 资源视图 图2 3a r j s 结构图 其中,需求定义描述了信息技术要支持的商业应用中的业务问题;设计说明将需求描述 转换为一般的信息技术接口;实施描述将设计说明转化为具体的信息技术产品。 综上所述,a r i s 结构是一种面向过程的信息系统结构,由于功能视图、组织视图和数 据视图是相对独立的减少了描述问题的复杂性及冗余。 2 1 3p u r d u e 企业参考体系结构 1 特点 p u r d u e 企业参考体系结构集成了企业系统整个生命周期的各个阶段,从设计的初始概 念开始,经过企业c i m 系统的定义、功能设计或说明、详细设计、物理实施或构造、最后 运行直到报废。这里的体系结构是一个相对简单的框架,企业的c i m 系统生命周期中各阶 4 段涉及的所有活动和功能,都可以映射到这个框架上:它还可以用来指明每个阶段研究人员 和实践人员所用的工具:它是非计算机专业的人容易理解和接受的建模体系结构。p u r d l 。e 企业参考体系结构与其它参考体系结构的不同之处在于: ( 1 ) 对于人及物理的制造蹬备有 清晰的表示法: ( 2 ) 该体系结构把决策、控制和信息( 数据处理) 有关的功能综合为一个 信息功能流: ( 3 ) 在企业的任务和功能方面,特别是在描述企业的功能时,一开始就:恪其 分成两个功能流:信息流和制造活动流: ( 4 ) 在实施中,上述两种功能流被重新安排成三 个功能和任务的实施集( 即三个体系结构) :人和组织体系结构:用于描述人的活动,包 括与信息或控制相关的活动和与制造或顾客服务相关的活动。信息系统体系结构:用于描 述不需要人来执行的信息流活动。制造设备体系结构:用于描述不需要人来执行的制造或 顾客服务活动口1 。 2基本内容 在定义任何新体系结构的概念时,研究者必需面对两个相互矛盾的方面:( 1 ) 使概念 描述尽可能文字简单:( 2 ) 使最终总体描述尽可能全面通用和完整。p u r d u e 企业参考体系 结构在这方面作了很大的努力。其参考体系结构的基本分解如图2 - 4 。 p u r d u e 企业参考体系结构 功能视图 : 物理和实施视图 图2 - 4p u r d u e 企业参考体系结构 3 由p u r d u e 表示的c i m 项目开发的全部过程 信息系统体系结构 人和组织体系结构 制造设备体系结构 ( 1 ) 建立初始需求:确定c i m 经营实体:建立c i m 的远景蓝图,明确管理目标、 目的、思想和有关标准等;描述制造和信息策略以及产品需求。 ( 2 ) 功能开发:将c i m 系统需求转化为任务模块,并将这些模块固化到相互联系 的组里。以形成功能;将所需功能相互连接成网以形成所希望的c i m 系统;把有关参数、 算法等信息分配给每个组成模块;把功能和任务分配给三个实施体系结构。 ( 3 )设计阶段:包括功能设计和详细设计。 4 p u r d u e 参考体系结构中以人为中心的思想 p u r d u e 企业参考模型认为人是c i m 系统中最重要的。人必须管理和操作工厂,并且工 厂的产品是为了满足人( 顾客) 的需要,c i m 系统被人接受的程度是它最后成功与否的关 键因素。因此,正确开发和实施c i m 系统中人和组织体系结构部分是c i m 成功的关键。 人和组织体系结构包括以下内容:岗位定义、人际关系法则、技能需求、工会制度、奖 励、工资系统和企业文化等。在c i m 系统的实施过程中必须建立一套企业人际关系法则, 以保证企业的员工无论职位高低,都具有一种对企业和他们自身所在岗位的忠诚和敬业精 神并使他们认识到个人对企业的重要性,意识到存在着与个人能力相称的提升机遇。这是 因为c i m s 与以往的制造系统相比有如下的特点:( 1 ) 各种工作活动之间依赖程度比较大: e 第二章企业建模体系结构与方法的比较 ( 2 ) 在负责每种产品、零件或过程的小组中成员较少:( 3 ) 对每个雇员的投资较高:( 4 ) 局部系统的故障对整个生产系统的影响更为直接; ( 5 ) 系统故障导致的开销比较大: ( 6 ) 过程或工厂的输出对于人的技能、知识和态度的变化更为敏感,且对于脑力上的努力比体力 上的努力的敏感程度更大p j 。 p u r d u e 企业参考体系结构的缺点是:由于描述的非形式比,因而其可执行性非常差: 另外,缺乏对体系结构进行计算机建模所需的数学建模技术;没有支持建模的支持工具,不 能进行仿真优化和冲突检验等【j 。 2 1 4g e r a m 体系结构 g e r a m ( g e n e r a l i z e de n t e r p r i s er e f e r e n c e a r c h i t e c t u r ea n dm e t h o d o l o g y ,通用企业参考 体系结构与方法学) 是国际自动控制联合会( i f a c ) 和国际信息处理联合会( i f i p ) 的企业 集成体系结构工作组提出的一个通用的体系结构与建模方法。 图2 - 5g e r a d 体系结构图 g e r a m 从企业需求识别、概念形成、需求定义、系统设计、系统实施、系统建造到系 统操作这七个阶段来定义企业全生命周期模型。在每个阶段,分别从人和机器两个方面来考 虑模型系统中的相关问题。从而为企业提供可重用的、经过检验的、标准的模型,对产品、 过程、管理、企业开发j 战略管理提供统一的计划。g e r a m 体系结构图如图2 - 5 所示峨 2 1 5 动态企业建模( b a a n i d e m ) b a a n 是一个为项目型、流程型以及离散型企业提供企业资源计划( e r p ) 应用系统和 j 6 咨洵服务的公司。它提供了一整套c l i e n t s e r v e r 结构的企业业务解决方案,支持企业的整套 业务过程,包括:制造、财务、分销、服务和维护。此外,b a a n 公司还提供了一套组织 工具软件o r g w a r e ,帮助企业减少实施时间和成本,实现对系统的不断改进。 b a a n 软件能把企业的业务处理流程集成到b a a n 的实施方案中使软件系统来适应 企业的组织结构和业务过程,而不是强迫企业去按照事先定好的软件流程来工作。 b a a n d e m 不仅能够帮助用户进行日常的操作任务,而且能够帮助他们收集数据进行决策。 o r g w a r e 系统件是b a a n 公司软件的重要绸成部分,是实现d e m 的关键工具。o r g w a r e 把企业本身的业务处理流程作为输入在标准的企业参考模型的基础上,通过快速地配置系 统来满足企业的需要。b a a n d e m 的系统件结构图如图2 - 6 所示。 动态企业建模策略 决策 支持 企业执行 管理器 数据导航 器 数据仓库 企业工作流i 管理 l 企业建模器 参考模型 知识库 业备结 构模型 企业控 制模型 业务数 据模型 凿毳l 兰毳1 组织 图2 - 6b a a n 集成化系统件 目标 企业 策略 管理 2 1 6i b m - c i m 体系结构 i b m c i m 体系结构可以表示成如图2 - 7 所示的形式o j 。 图2 7 的最外圈称为企业模型,其由企业管理、销售、研究开发、生产计划、制造和进 货六部分组成。i b m 企业模型没有采用习惯的c a d 、c a q 、c a m 和m r p f i 等按功能划分 的方法,而是采用了面向经营过程的描述方法。其目的在于避免过于考虑各子系统的局部优 化而忽视系统的整体优化。 图2 7 的中间层由三个通用服务功能组成,即管理支持服务功能、决策支持服务功能和 应用开发服务功能,其主要作用是支持企业模型的具体实现。管理支持服务功能支持一般的 业务过程和办公室管理工作,如文挡制定、与供货厂家通讯和财务监督等功能; 决策支持 服务功能负责对企业决策过程中重要信息的收集和整理,高效、准确地提供各种决策信息: 应用开发支持服务功能向各种具体应用提供了完整的方法和工具。 i b m c i m 体系结构中最内层由三类模块组成,即通讯模块,数据管理模块和用户界面 模块。通讯模块负责c i m s 内部的通讯和数据分配;数据管理模块进行数据的定义、存储和 使用:用户界面模块保证了人一机交互会话时向晟终用户提供各种友好的界面。 7 数据,同时- 也可以刹用i i o p 和e j b 服务器交换信息。应用服务器只是在本系统初始设计 阶段为了方便一些数据库操作( 如新建数据库表) 而另外增加的,以后随着系统的逐步完善, 将把它设计为一个单独的e j b 组件t 部署进e j b 服务器内。届时,建模a p p l e t 将真接与e j b 服务器通信,应用服务器这一层:海不再存在。 图4 - 8 基于j 2 e e 的企业建模系统体系结构 4 3 2 后台数据库设计 为了数据安全的考虑,把用户信息和模型数据全部放进一个数据库中,由数据库管理员 设置口令和密码,统集中管理。避免了那种把模型文件放在服务器某个目录f 面,而在数 据库中只保存模型文件路径的方法所造成的安全隐患( 例如:不经过系统的身份验证,直接 访问服务器目录下面模型文件) 。 1 用户数据表 用户数据表存放用户的基本信息,包括用户帐号、公司代号、登录密码、用户类型、用 户姓名、电子信箱等。用户类型存放用户的访问权限。 2 工作组数据表 工作组数据表存放工作组的基本信息,包括工作组代号、工作组名称、工作组管理员代 号等属性。 3 模型数据表 模型数据表存放模型模块的属性,包括模块代号、模块文本、模块位置和其他一些特定 属性。模型数据表的命名由索引号加上模型名称构成。索引号和该模型数据表所对应的模型 文件索引号致。 4 模型关联表 模型关联表存放模型之间的关联( 即模型之间的逑线) 信息,包括关联代号、关联类型、 关联的前后模块代号、关联说明等属性。模型关联表的命名由索引号加上关联名称构成。 5 模型文件表 模型文件表存放模型文件的全部信息,包括文件索引号,文件名,文件路径、文件所含 模型类型、文件所属工作组代号、文件创建时间等属性。文件所含模型类型表示该模型文件 由哪儿类模型构成,由它和索引号一起将一个模型文件和相应的模型数据表及模型关联表联 系起来,这也符合数据库设计第三范式的要求。 4 4 基于j 2 e e 的企业建模系统的主要功能 企业建模系统的主要功能如图4 - 9 所示【7 3 】。 用户登录i 龋a p p l e t客户应用 ff 囱囱囱囱囱囱囱核心腩 苌燃鬻il 建模蝴 i l 一啪服务器一 图4 - 9 系统功能模块 系统的工作过程如下:用户首先打开浏览器,进入图4 1 0 所示的登录页面,输入用户 代号、公司( 或部门) 代号以及密码,经服务器身份确认无误后,可以登录进入图4 - 1 l 所 示的建模图形界面( 用a p p l e t 嵌在h t m l 页面中) ,用户接下来就可以进行一系列的建模相 关操作。 图4 1 0 用户登录界 图4 - 1 1 建模图形界面 1 系统中的用户管理和权限管理模块包括以下四个主要功能: ( i )工作组( 公司) 注册:用于 :作组( 公司) 及其管理员信息的注册。包括工作 组( 公司) 的名称、代号,管理员的姓名、代号和密码等信息。如图4 - 1 2 所示。 ( 2 )用户注册:用于工作组( 公司) 新用户的信息注册。包括用户的姓名、代号、 5 7 密码、e m a i l 、电话和通信地址等信息。为了整个r 怍组( 公司) 的安全考虑,用户注册的 时候必须提供正确的工作组( 公司) 名称和代号,否则注册不能成功。这样由用户代号和 工作组( 公司) 代号联合起来,限定了每个h 户只能对本j 二作组( 公司) 的模型文件进行 操作。用户注册成功之后就可以使用注册的代号和密码从登录页面进入该系统。如图4 - 13 所示。 图4 1 2 工作组注册页面 图4 - 13 用户注册页面 ( 3 )修改密码:重新设置用户的登录密码。用户可以随时修改自己的密码,进入修 改密码页面,输入旧密码后,再输入两次新密码,点“确认”按钮。如果密码修改成功, 会出现修改成功的提示信息。否则,会出现错误提示,例如:旧密码输入有误或者两次新 密码的输入不一致等,用户必须返回修改密码页面,重新修改密码。如图4 1 4 所示。 ( 4 )权限管理:系统用户分为三类( 以一个由若干工作组或部门构成的企业为例) : 系统管理员、工作组管理员和普通用户。系统管理员拥有最高的操作权限,拥有企业所有 工作组的用户信息和模型文件的管理权,同时还拥有系统数据库的操作权。工作组管理员 能对本工作组的所有用户和模型文件进行完全管理( 例如:工作组内部管理权的移交,如 图4 1 5 所示,模型文件的新建、删除、保存和浏览操作) 。普通用户只能浏览本工作组的模 型文件,而不能对模型文件进行修改、删除等操作。 图4 1 4 修改密码页面 图4 - 1 5 权限管理页面 图4 - 1 6u m l 用例图建模视图 图4 1 7u m l 类图建模视图 图4 1 8u m l 部署图建模视图 图4 1 9 模型属- l 生对话框 2 建模a p p l e t 包括以下五个主要功能模块: ( 1 ) 模型绘制 模型的绘制就是用u m l 建模语言没计出各个视图模型。根据所在u m l 模型视图的不 同,提供不同模块的添加、显示、修改、移动和删除等功能。目前已经开发出了u m l 用例 图、类图和部署图三个u m l 建模视图,如图4 1 6 4 1 8 所示。本系统的模型绘制采用鼠标 拖曳方式,先用鼠标在建模窗口左边按钮面板上的相应模块按钮上点击一下,然后在绘图 面板上的某位置用鼠标单击一下,则在该位置就添加了一个相应类型的模块。如果想拖动 某模块,在该模块按下鼠标,然后拖动鼠标就可以移动该模块。如果想删除某模块,在该 模块上面点击右键,在弹出菜单中选择“删除”,就删掉了该模块。 模块之间存在着相互的联系,在模型视图中不同的联系用不同连线来表示。如果想在两 个模块之间添加连线,先用鼠标在按钮面板上的相应连线按钮上点击一下,然后用鼠标依 次在想要连线的两个模块上各点击一。f ,则这两个模块之间就画上了相应类型的连线。如 果要删除某条连线,在该连线上面点击鼠标右键,从弹出菜单中选择“删除”就删掉了该 连线。如果要查看或者修改某条连线的属性,选中该连线,按鼠标右键,从弹出菜单中选 择“属性”菜单项,就弹出了该连线的属性对话框。从该对话框中就可以查看或者修改连 线的属性。 在某个模块上面单击鼠标右键,从弹出菜单中选择“属性”菜单项,就弹出了模块属性 对话框。属性对话框里面包含了模块的基本属性( 如模块的名字、类型、x 和y 坐标) 币 其他的些特殊属性,用户可以在属性对话框里面修改摸块的某些属性。圈4 1 9 显示模块 属性对话框。 ( 2 )模型管理 为了方便模型文件的管理,开发了模型文p :管理对话框,主要实现对模型及模型结构的 管理。模型文件管理对话框里面采用树形结掏方式管理文件,类似于w i n d o w s 操作系统下 的资源管理器。其主要功能包括目录和文件操作,例如:新建、删除、重命名文件目录以 及保存、打开、删除、重命名文件等。 如果要在某个树形目录下面新建个子目录,先用鼠标点中该目录,再按“新建目录” 按钮,则就在该目录下面新建了一个子目录。如果要删除某个目录,用鼠标选中该目录, 接“删除目录”按钮,就删掉了该目录。如果要为某个目录更名,选中该目录后按“更改 目录名”按钮,在弹出的对话框中填入新的文件名就可以了。 如果要在某个目录下面新建一个文件,先用鼠标选中目录树中的该目录,然后按“新建 文件”按钮,弹出个新建文件对话框,填入文件名和文件说明,按“确定”按钮,关闭 对话框后,在模型文件管理窗口右边的文件框中就会新建一个相应的文件。如果要删除某 个文件在文件框中选中该文件,按“删除文件”按钮,就删掉了该文件。如果要打开某 个模型文件,先选中该文件,然后按“打开”按钮,就打开了该模型文件。如图4 2 0 所示 为模型文件管理对话框。 ( 3 ) 代码转换 在u m l 类图建模页面中,可以把类图转化为相应的j a v a 或者c + + 的框架源代码类文 件,为企业计算机应用开发节省时间。同时,企业模型到程序源代码的转换也为企业模型 到企业计算机应用系统的转换打下了基础。如图4 2 1 所示为u m l 类图转化为j a v a 代码。 ( 4 )模型仿真 模型建立完成以后,还需要知道模型的执行效果,这就需要进行模型的仿真。对于复杂 的企业模型,可以根据模型的逻辑和数学关系进行模拟仿真t 并直观地给出仿真结果,使 用户对模型过程执行时间、成本耗费、执行效率及瓶颈作业等情况一清二楚,以此来检查 模型的有效性。如图4 - 2 2 所示。 ( 5 )成本分析 在完成企业业务过程建模后,可以对模型进行成本分析,反映企业活动成本产生的原因, 为成本分配提供依据。成本分析能帮助管理人员有效地控制生产,降低企业生产成本a 圈4 - 2 0 模型文件管理对话框 图4 - 2 1u m l 类图转化为j a v a 代码 图4 2 2仿真结果显示 4 5 企业建模系统的关键技术 4 5 1j 2 e e 体系结构的应用 j 2 e e 结构模型使得企业建模系统开发分工。明确,系统不同部分可以由不同开发人员同 步进行,提高了系统开发的效率和质量。同时,系统的表现形式( w e b 页面) 和内部逻辑 ( e j b ) 相分离,修改其中一方不会影u 自到另外一方,有利于系统的维护和以后企业计算机 应用的扩充“。例如: ( 1 ) w e b 页面设计人员开发出h t m l 页面,调用w e b 服务器中的s e r v l e t j s p 进行 f o r m 表单的数据处理: ( 2 )s e r v l e t j s p 开发人员对用户的请求数据提取,进行简单分析,然后调用后台e j b 服务器中的e j b 组件进行逻辑处理,再将结果以h t m l 的形式返回给用户: ( 3 )e j b 开发人员编写处理建模逻辑的e j b 组件,甚至可以调用与之相关的业务部 门的e j b 组件,协调处理相关逻辑,存取后台数据库,并将结果返回给s e r v l e t 。 4 5 2 信息通信 各用户同服务器之间必须能进行实时的通信,实现信息的交换。对于这些功能的实现, 可采用j a v a 语言中的s o c k e t 及多线程( m u l t i t h r e a d ) 的机制。s o c k e t 是网络程序设计中的 概念,它代表的是两个程序之间( 如客户与服务器) 建立的网络连接。通过这个连接,可以 得到两者之间的一对输入与输出数据流。通过这对数据流可以进行信息的输入、输出等操作。 4 5 3 信息的编码及解码 基于网络方式的应用系统,要考虑的一个很重要的技术指标就是网络传输速度的问题。 网络中信息的传输工作量非常大,所以采用什么方式进行信息的传输就比较重要。在本系统 中采用了一种信息编码压缩方法,采用系统白定义的传输协议,进行信息的传输。因为传输 的信息大多都是操作指令,所以这种信息的传送,也可看作是操作指令的传输。f 面以保存 文件操作的实现过程为例说明基于系统自定义协议的命令执行机制。 当用户在客户端执行保存模型文件的操作时,首先用户在文件菜单中选择保存文件,! j ! i | 出现保存文件对话框,在模型项目管理树中选择要保存的文件路径再点击保存按钮,则应用 6 服务器就把该文件的模型数据保存到后台数据库。这产生了一条操作指令信息。这条指令信 息的生成是按照系统自定义的传输协议语法的方式完成的。 上面例子中产生的保存文件操作指令信息编码s a v es t r i n g 的值为: s a v e s t r i n 9 5 ”s a v e f i l e “”+ f i l e n u m + 。“”+ p a t h + ”“”+ n a m e + 。“”+ s p e c i f c a t i o n ; 上面这条指令信息分别表示文件的索引号、保存路径、文件名字和文件的说明。然后通 过s o c k e t 通道把这条指令发送到建模应用服务器端,服务器端收剑这条指令后进行解码, 在模型文件表中增加一条数据记录,同时启动监听线程等待客户端发送模型数据。模型数据 信息同样是用信息编码的方式传送的。对一个特定的模型模块来说,它的属性编码字符串 m o d e l s t r i n g 如下所示( 包括模块的类型、名字、文本、x 和y 坐标,或者其他特殊属性) : m o d e l s t r i n g = t y p e + “+ n a m e + ”“。+ t e x t + 。“+ x + l l a ir + y ; 同样,模块数据信息编码发送到服务器端,经过解码以后,在模型数据表中增加相应的 新记录。至此,模型文件就完全保存到了服务器端的数据库中。 不同的操作有不同的操作指令。如打开模型文件为o p e n f i l e ,删除模型文件为d e l e t e 等。 表4 】为系统中定义的部分操作指令代码。 表4 1 系统中定义的部分操作指令代码 序号指令代码操作定义 l o p e n f i l e 打开模型文件 2s a v e f i l e保存模型文件 3n e w f i l e新建模型文件 4d e l e t e删除模型文件 5o v e r w r i t e覆盖已有文件 保存文件的具体指令编码的j a v a 程序如f : p u b l i cv o i ds a v e ( i n tf i l e n u m ,s t r i n gp a t h ,s t r i n gn a m e ,s t r i n gs p e c i f i c a t i o n ) i f ( u m l c l a s s p a n e l m o d e l v e c t o r s i z e o = 2 0 & & u m l c a s e p a n e l m o d e l v e c t o r s i z e o 一0 & & e e p c p a n e fm o d e l v e c t o r s i z e ( ) 一0 & & u m l d e p l o y m e n t p a n e l m o d e l v e c t o r s i z e ( ) = = 0 ) r e t u r n ; e l s e t r y m o d e l c l i e n tc l i e n t = n e wm o d e l c l i e n t ( s e r v e r a d d r e s s ,9 9 9 9 ) ; c l i e n tt e l l s e r v e r ( 。s a v e f i l e “”+ f i l e n u m + ”“”+ p a t h + ”“”+ n a m e + 1 1 a ir + s p e c i f i c a t i o n ) ; i f ( u m l c l a s s p a n e l m o d e l v e e t o r s i z e o o ) f c l i e n t t e l l s e r v e r ( ”c l a s s ”) ; u m l c l a s s p a n e l s a v e ( c l i e n t w r i t e r ) ; c l i e n t c l o s e ( ) ; c a t c h ( e x c e p t i o ne e ) e e p r i n t s t a c k t r a c e o ; 6 2 棚对应的服务器端的解码程序如下: v o i ds a v e f i l e ( s t r i n gs ) s t r i n g t o k e n i z e rt o k e = n e ws t r i n g t o k e n i z e r ( s ,”) : t o k e n e x t t o k e n o ; i n ti n d e x 2 i n t e g e r p a r s e i n t ( t o k en e x t t o k e n 0 ) ; s t r i n gf i l e p a t h - - t o k e n e x t t o k e n 0 ; s t r i n gf i l e n a m e = t o k en e x t t o k e n ( ) ; s t r i n g 矗【e s d e c i n c a t i o n = t o k en e x t t o k e n o ; s t r i n gm e s s a g e = n u l l ; s t r i n gs q l = n u l l ; p r e p a r e d s t a t e m e n td b s t a t e m e n t = n u l l ; 总的来说,客户端和服务器端的通信实际上就是个信息的编码和解码的过程,包括图 4 2 3 中的四个步骤【”1 。即:用户端产生并发送指令编码信息:应用服务器接收、解析 操作指令,并按指令要求操作数据库,得出结果;应用服务器把结果按协议方式进行编 码,并回送给用户:用户端对结果信息进行解码,然后按适当的方式显示出来。 客户端 服务器端 。p u b f l cv o i d # “d i n t6 【c n u m s t u n g p a t h ,s t o n gn 锄ev o t d 目v c f l l e ( s m n gs j 。五磊再熬溉c i z 。s s “p 。”e ”l m l 。同。 s t n n g t o k e n i z e r m k e - 邗c ws t n n g t o k i z e r ( s “k f 吐州“f 丁o k 州删 指令信息解码 i n ti n d e x = i n t e g e rp a r s e l n n t o k en e x t t o k e 州) ) s t u n g f i l e p a t h - x o k en e x t t o k e n ( ) ; u m t d e p l o y m e n i p 叩e lm o d cl v e c t o rs 哪( ) o )发送目p s t u n gf i l e n a m e - 爿o k en e x f f o k e 州) , 耐“gf i l e s p = e i f i c a t i o n t o k en e x t t o k e n ( ) ; ej s e f q f ,指令信息编码 s m g m f u l f :,、 s 咖t u n g 。s q 。l 盂怂。旺! 固 却a t h + ”肿+ n a m 叶” + s p e c i f i c a t i o n ) ;操作数据库十 l r u m l c l a s s p a 雠1m o d c l v e e t o rs i ( p 0 ) i ”卜_ j l u m l c l a s s p a r i e ls a v e ( c l i e n tw r i t e r ) ; 粜 日o e e n v i e w f s m u g m w t m f n c i n d e x ) 堡;t r y s t r i n gs q l = + ”、 v o i dr e a d f ,1 e f m o d c l c i i cn 【c l i e n t ) p r e p a r e d s t a t e m e n t d b s t a t e m e n t = n u l ; 九q + l n i e w t y p ee q 岫l s ( ”c a s e ”) ) f s t u n gm e s s a g e = n u l lf + h l i c ( ( m e s 妇旷= c l i 硼t r a 打m 8 d l l 眦( ) ) = n u l l )w i = “l e c tr e n a m em t e x t ,m x ,m y0 0 m ”+ i n d e x + “u m c a “, j s l n n 矿o k c n i rs m s l n w t o k c n i n m 。s s a g o ”) d b s b 二咖a i r 划b c 州n o ,印p r c s n t e m 朋l f 翘j ) , _ j 兰m 。s 肖a g cs t a 然r t s w f f 鬻h 婶u m l c a 。? “ 举兰 单r = s u l t s e tr e s u l t - d b s t a t c m e n te x e e u t e q u e r 0 ; _ _ he ”1 ) 1 z i e ( r e s u l l 。e f ) ) 结果信息编码 i s m a gt y p e = s tf l c x t t o k e n o ; s m n g b u f f e rs b - 邗e ws t n n g b u t i e r ;”) - ,ba p p e n 谢r e s u l tg e t s l n n g ( a p p e n 珊”l p n g i c 、p s t “o x io ? o o n i j = a p p e n d ( r e s u l tg e t s m n g ( 2 ) ) n p p e n d ( ”l jn ix = i n t e g e rp n r s e l n l s lu e x t t o k e n l ) ) : a p p c n d f l c s u i t 8 e t s m n g ( 3 ) ) a p p e n d ( ”“”1 i l y - t n l e g e rp a | s e i n t s ln e x t t o k e n o ) ;a p p e n d ( r e s u l tg e l s t r m g ( 4 ) ) : w r i t e rp r i m h g s bt o s t f i n g t l l 图4 2 3 信息的编码与解码 埋堕垦堡堡三笪罩 5 3 2 具体方案 图5 - 1 0 扫描程序的自动机图 1 词法分析 扫描或词法分析( 1 e x i c a la n a l y s i s ) 阶段可将u m l 类图的属性和操作字符串分为若干个 记号。记号与自然语言中的单词类似:每一个记号都是表示u m l 类图语言中信息单元的字 符序列。典型的有:关键字( k e y w o r d ) ,如n c ,f l o a t 和s t 6 n g ;标识符( i d e n t i f i e r ) ,是由用 户定义的串它们通常由字母和数字组成并由一个字母开头,如类图的属性名和函数名;特 殊符号( s p e c i a ls y m b 0 1 ) 如+ 、一和( ) 。扫描程序是处理u m l 类图输入的编译器部分, 而且由于这个输入经常需要非常多的额外时间,因而扫描程序的操作就必须尽可能地高效 了,所以需要十分注意扫描程序结构的细节,采用编译原理中规范的实现算法。 扫描程序问题的研究可分为以下几个部分:首先,给出扫描程序操作的一个概貌以及所 涉及到的数据结构和概念。接着是找出扫描程序所有可能处的状态,结合字符输入把这些状 态画成有穷自动机图。最后根据有穷自动机图编制扫描程序,把u m l 类图的属性和操作字 符串识别为一个个的记号( 单词) 。 研究正则表达式,它是用于表示构成程序设计语言的词法结构的串格式的标准表示法。 接着是有穷状态机器或称有穷自动机,它是对由止则表达式给出的串格式的识别算法。此外 还研究用正则表达式构造有穷自动机的过程。之后再讨论当有穷自动机表示识别过程时,如 何实际编写执行该过程的程序。 2 语法分析 经过词法分析后,根据u m l 类图属性和操作的正则表达式规则,编写语法分析程序, 检查u m l 类图是否有语法错误。语法分析主要检查以下两种语法错误: ( 1 ) 拼写错误, 是由于用户的误写而造成的。例如,可见性符号只能是“+ ”,“一”,“# ”三种符号,用户 写成了其他符号;静态标识符只能是“$ ”,却写成了其他符号:标识符只能由字母或者数 字构成,用户违反了这个规则;关键字必须是u m l 规定的保留关键字,例如把“f l o a t ”误

温馨提示

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

评论

0/150

提交评论