(电力电子与电力传动专业论文)基于三层结构的人力资源管理系统的研究与实现.pdf_第1页
(电力电子与电力传动专业论文)基于三层结构的人力资源管理系统的研究与实现.pdf_第2页
(电力电子与电力传动专业论文)基于三层结构的人力资源管理系统的研究与实现.pdf_第3页
(电力电子与电力传动专业论文)基于三层结构的人力资源管理系统的研究与实现.pdf_第4页
(电力电子与电力传动专业论文)基于三层结构的人力资源管理系统的研究与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(电力电子与电力传动专业论文)基于三层结构的人力资源管理系统的研究与实现.pdf.pdf 免费下载

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

文档简介

基于三层结构的人力资源管理系统系统的研究与实现 a b s t r a c t w i t ht h e d e v e l o p m e n t o f m e s s a g et e c h n o l o g y t h ea p p li c a t i o n o f e n t e r p r i s er e s o u r c ep l a n n i n gb e c o m em o r ea n dm o r e a n t e r i o re r ph a v eu s e dt w o c l l e n t s e r v e ra r c h i t e c t u r e t h i ss t r u c t u r eh a y i n gd e f e c ti ni t sf r a 1 i e o b v i o u s i s s u eb e h a v ea p p l i c a t i o ne x p a n s i o nt o g e t h e rw i t hs y s t e ma s s e r t m u l t i t i e rc l i e n t s e r v e ra r c h i t e c t u r ei san e wp r o d u c tw i t ht h ed e v e l o p o fn e t w o r k u s i n gt h eo b j e c t o r i e n t e dt e c h n o l o g y m u l t i t i e rc l l e n t s e r v e r a r c h i t e c t u r ea s u n d e ru s e rs i d ea n dc o r p o r a t i o n l o g i c a n dm u l ti t i e r a r c h i t e c t u r er e s o l v et h ed e f e c to ft w oc l i e n t s e r v e ra r c h i t e c t u r e b a s e do n m i d a s t e c h n o l o g y a n dc o m d c o m c o m o rc o r b a c r i t e r i o n d e l p h i o f f e r g r e a t n e s sf u n c t i o nf o r t h ed e v e l o po fm u l t i t i e re l l e n t s e r v e ra r c h i t e c t u r e a n de n h a n c ep r o d u c t i o no fd e v e l o pp e r s o n t h et h e s i sd i s c u s st h a tt h es t r u c t u r ea n dp e c u l i a r i t ya n da c h i e v e t e c h n o l o g yo fm u l t i t i e re l i e n t s e r v e ra r c h i t e c t u r ea n d a s s a ym u l t i t i e r c l i e n t s e r v e ra r c h i t e c t u r eb a s e do nm i d a st e c h n o l o g ya n dr e s e a r c hd e v i c e c o u r s ea n dm e t h o d o l o g yo fe r ps y s t e ma n dc a r r yo u tf e a s i b i l i t ya n de n s e m b l e s c h e m ea n d a s s a y w o r ko f e n t e r p r i s e r e s o u r c e p l a n n i n ga n d c o n f i r m a t i o n f u n c t i o na n dm o d e la n d s t r u c t u r eo fe n t e r p r i s er e s o u r c ep l a n n i n g m o r e o v e r u s i n g t h ed a t a b a s es q ls e r v e r 2 0 0 0 ip r o c e d u r em a n p o w e rr e s o u r c em a n a g e m e n t b a s e do nt h r e e t i e re li e n t s e r v e ra r c h i t e c t u r e t h ed e s i g ns y s t e mi sd e b u g g e d i nt h e1 a b w h i c ht e s t i f yt h es y s t e mt or u nw e l l k e y w o r d s e r pm u l t i t i e rc l l e n t s e r v e ra r c h i t e c t u r ec l i e n t s o ls e r v e r2 0 0 0 南京航空航天大学硕士学位论文 第一章绪论 1 1 课题研究背景 步入2 1 世纪 在w t o 的大环境下 市场瞬息万变 企业要面对的市场竞争更 加激烈 要在这场竞争中赢得胜利 企业必须在自身运作上采用现代化的信息技术 快速应对市场变化 迅速做出决策 早期的计算机辅助管理系统虽然能够有效的提高 各部门的工作效率 但是由于部门系统之间缺乏统一的总体设计 部门之间缺乏有效 的信息沟通 因而企业整体效益并没有得到提高 e r p 一企业资源计划管理系统的出现给企业的这种弊病带来了一剂良药 它采用 最新的i n t e m e t 和信息集成技术 高效支持企业物流 资金流和信息流管理 支持离 散 连续和混合生产方式和管理模式 啼 技以人为本 的口号决定了人力资源管理在e r p 管理系统的核心位置 人力 资源管理涉及到企业发展的方方面面 包括企业的成本核算 技术发展 分工合作和 企业人员的吐故纳新等等 科学的人力资源管理奠定的现代化大型企业发展的基础 是企业不断进步的动力 也是企业发展中的重要企业对象 b u s i n e s so b j e c t 人力资源管理在我国经历了漫长的发展历程 8 0 年代 随着微型计算机的出现 及其在世界范围内的普及 国内部分企业也开始将微机用于企业管理 最早用于办公 打字 然后逐渐延伸至大多为内部人员自行编制解决方案 但采用简单的d b a s e f o x b a s e 编程 进行基本的人事档案管理及工资计算与发放 这在当时已经是较先进 的应用 进入9 0 年代 国内大部分企业都己拥有计算机 但人力资源部门的计算机 普及程度不够 企业人事劳资 人力资源软件的状况没有多大改观 大多还是由内部 人员自行编制程序或委托当地小型软件公司开发 此时 国内开始有软件公司与人事 部门合作 推出了通用人事管理软件 9 0 年代中期 国外软件厂商进入中国 将其 产品进行汉化及部分汉化 同时 国内也出现一批以人力资源软件为主导产品的软件 厂商 到9 0 年代末 国外先进的人力资源管理概念开始在国内被广泛接受 在经济 市场化进程的推动下 企业对信息建设越来越重视 人力资源软件开始成为e r p 管 理系统的核心 从人力成本 人力储备等角度为企业生产等重大决策做出依据 目前 我国许多企业或组织已经使用了各种各样的人力资源管理系统 有力地推 动了社会进步和经济发展 但是以前的e r p 管理系统开发主要采用两层客户 服务 器结构 如图1 1 所示 两层客户 服务器结构客户端提供用户界面 运行逻辑处 理应用 而数据库服务器则接收客户端数据访问语句并对数据库进行访问 然后返 回访问结果 这种方式给人们带来了相当的灵活性 但也有一个很大的缺点 就是 i 基于三层结构的人力资源管理系统系统的研究与实现 一旦客户的业务逻辑有所改变的话 将引起应用程序的修改以及后台数据的修改 将所有程序模块都重新修改 编译 连接的工作量是相当大的同时 如果同一时i 瑚 存取同一数据源的用户较多 2 0 0 个以上 容易造成网络拥塞 降低效率 另外有 的系统将应用逻辑与数据库绑定 以为这样可以减轻客户端的计算压力以及减少维 护的复杂性 但这样一来 不但应用程序都依附于特定数据库 而且大量的应用逻 辑计算还会拖累数据库的执行效率 造成了更大的结构问题 这不能适应大中规模 的m i s 系统要求 所以需要更具延展性的结构来克服这些问题 1 2 课题的研究内容 图1 1 两层结构的基本模型 1 2 1 三层结构体系简介 三层结构体系目前代表了e r p 管理系统的发展方向 三层结构将数据处理过程 分为三层 第一层是表示层 表示层是信息系统的用户接口部分 即人机界面 是用 户与系统间交互信息的窗口 主要功能是指导操作入员使用界面 输入数据 输出结 果 第二层是功能层 功能层是应用的主体 包括了系统中核心的和易变的企业逻辑 规划 运作方法 管理模式等 它的功能是接收输入 处理后返回结果 第三层 是数据层 数据层即数据库管理系统 d b m s 负责管理数据库的读写和维护 能够 迅速执行大量数据的更新和检索 由于业务逻辑被提取到应用服务器 大大降低了客 户端负担 因此也称为瘦客户 t h i nc 1 i e n t 结构 三层结构的计算机模型如图1 2 所示 表示层功能层数据层 l 用户界面l 几 j i 应用服务器l j l 文件系统 l ll llll y 7 i 浏览器l lw e b 服务器ll c s 数据库 l llll 图1 2 三层结构的计算机模型 南京航空航天大学硕十学位论文 在三层结构中 客户端与数据库或其它资源管理器之间加进了一个中间层 即功 能层 相对于以数据库为中心的两层客户层 数据库层服务器模型 三层结构模型 表 示层 功能层 数据层 将应用的业务逻辑和用户界面分离 从而使应用开发人员能 专注于应用核心业务逻辑的分析 规划和设汁 快速建立应用系统的核心业务功能原 型 三层模型将用户交互的表示部分与内部的业务逻辑分开 这样 对业务逻辑的一 些修改甚至数据库模式的改动通常都不会要求客户端的改动 而且 将核心业务逻辑 组件和表示逻辑及数据层划分开 可以在服务级别上非常有效地管理应用的运行 这 种模式可以动态地管理消息流程和服务请求 快速启动和停止服务器 根据变化的负 荷复制服务器 动态地广播 撤销服务器中的服务以及将服务从一个服务器转移到另 一个服务器等等 这些对中间层应用服务级别上的管理大大增加了分布式应用的伸缩 性和灵活性 采用三层结构可实现应用级和数据库级的全面分布和负载上的平衡 三 层结构中的中间件技术 既提高了数据库的安全性 同时弥补了两层结构中的客户端 的数量有限的不足 1 2 2 课题的研究内容 本文讨论了分布式多层应用体系的结构 特点及实现技术 分析了用d e l p h i 实 现基于m i d a s 技术的多层结构 研究了基于三层结构体系的e r p 系统的设计过程和 方法 进行了e r p 系统中的人力资源管理系统开发前期可行性研究 总体规划 系 统分析工作 确定了拟建系统的功能 信息模型 结构 为e r p 管理系统中的其他 企业对象的开发提供开发方法 然后以w i n d o w s2 0 0 0s e r v e r 和p c 作为软硬件开发 平台 用面向对象的软件开发技术 以d e l p h i 7 0 作为开发工具 以s q ls e r v e r2 0 0 0 为后台数据库 实现了基于三层结构体系的人力资源管理系统中人事工资考勤管理子 系统的开发 并进行了系统的实验室调试 整个子系统开发过程强调以数据为中心 先定义系统需求 后定义信息需求 再 定义满足信息需求的数据要求 设计存储这些数据的人事考勤数据库 具体过程后 面详细介绍 而处理程序是作为维护数据库的一次处理过程和以数据库取出数据进 行加工获得信息的二次处理过程 以数据为中心进行e r p 管理系统开发的主要优点 是保证了数据的完整性和一致性 并且在设计数据库的同时 可以并行设计各功能模 块 提高了开发效率 系统开发中采用的主要技术与理论 运用面向对象o o a o o d 技术对系统进行分析 建模 运用c o m d c o m c o m m i d a s 等多层结构技术实现应用服务器端基本功能 运用b d e a d o 等数据库接口技术实现应用服务器层与数据库服务器的连 接 基丁二层结构的人力资源管理系统系统的研究与实现 运用多层结构客户端的容错能力 负载平衡能力 暂存数据能力实现整个系 统的安全稳固 运用数据模块技术将数据与用户界面分离丌 实现在多个不同的窗体之间数 据的共享 运用关系数据库规范化理论进行数据库设计和数据库管理 南京航空航天人学硕士学位论文 第二章人力资源管理系统开发研究 2 1 e r p 与人力资源管理 e r p 最初由美国的g a r t n e rg r o u pi n c 加特纳公司 在9 0 年代初最早提出的 是在总结了制造业管理的基础上发展起来的 e r p 其发展大致经历了四个阶段 1 基本m r p m a t e r i a lr e q u i r e m e n t sp l a n n i n g 阶段 即物料需求阶段 2 闭环m r p 阶段 3 m r p i i m a n u f a c t u r i n gr e s o u r c e sp l a n n i n g 阶段 即制造资源计划 4 e r p e n t e r p r i s er e s o u r c e sp l a n n i n g 阶段 即企业资源计划阶段 m r p m a t e r i a lr e q u i r e m e n tp l a n i n g 物定库 要 订 料 苴 存 口 清管管 计 算 世 理理 4j m r p i i m a n u f a c t u r i n g r e s o u r c ep l a n n i n g 能财物定库 力务料 量 存 计 管管清管管 算 理理 韭 理理 上 e p r e n a t e r p r i s e r e s o u r c e p l a n n i n g 人知品设电客供能财物定库 嗍 力识质备子户应力务料 盥 存 写 资管管管商关链管管清管管计 源理理理务系管理理 照 理理 算 管管理 理理 图2 1e p r 发展历程 人力资源作为企业资源之本 长期以来一直作为一个孤立的系统独立于企业核心 管理系统之外 e r p 在加入人力资源管理系统以后 其功能才真正扩展到全方位企业 管理的范畴 同时 e r p 系统对人力资源管理系统也起着放大作用 人力资源管理系 基于三层结构的人力资源管理系统系统的研究与实现 统通过e r p 系统的集成 起到1 1 2 的作用 使人力资源管理系统的效果得到放大 产生更大的企业价值增值 e r p 一企业资源计划系统 现已成为建立在信息技术基础上 以系统化的管理思 想 为企业决策层及员工提供决策运行手段的管理平台 e r p 系统集中信息技术与先 进的管理思想于一身 成为现代企业的运行模式 反映时代对企业合理调配资源 最 大化地创造社会财富的要求 成为企业在信息时代生存 发展的基石 2 2 人力资源管理系统应具有的功能和特性 l 完整性与集成性 系统应全部涵盖了人力资源管理的所有功能 并且对每个业务功能都是基于完 整而标准的业务流程与大量配套表格来设计 2 易用性 界面友好简洁 直观地体现人力资源管理的主要工作内容 采用可视化菜单界 面 引导用户按照优化的人力资源管理流程进行每一步操作 3 开放性 提供功能强大的数据接v i 轻松实现各种数据的输入输出 支持各种主流数据 库 4 灵活性 可快速灵活地根据客户需要进行客户化开发 增加 修改客户流程 客户界面 5 网络功能与自助服务 支持单位员工在基于w e b 的企业局域网内的应用 提供系统使用帮助功能 2 3 人力资源管理系统的开发方法 在实际的系统开发中存在多种开发方法 如结构化方法 原型化方法 面向对象 方法等等 结构化方法也可称为面向功能的软件开发方法或面向数据流的软件开发方法 首 先用结构化分析 s a 对软件进行需求分析 然后用结构化设计 s d 方法进行总 体设计 最后用结构化编程 s p 进行程序设计 原型化方法一般由以下四个阶段组成 1 确定用户需求 2 开发原始模型 3 征求 用户对原始模型的改进意见 4 修改原型 原型化方法比较适用于用户需求不清 业 务理论不确定 需求经常变化的情况 当系统规模不是很大也不复杂时采用该方法是 比较好的 面向对象方法是当前计算机业界中最流行的方法 包括面向对象分析 o o a 6 南京航空航天大学硕士学位论文 面向对象设计 o o d 面向对象编程 o o p 这是一种以对象建模为基础 自底 向上和自顶向下相接合的方法 面向对象技术在需求分析 可靠性和可维护性这三个 软件开发的关键环节和质量指标上有了实质性的突破 基本解决了这些方面存在的严 重问题 e r p 管理系统一般规模巨大 人力资源管理子系统都是以人为管理对象 不管什 么类型的企业 人力资源管理的内容与流程都应该有统一标准可遵循 基于以上等考 虑 本系统采用面向对象的开发方法 4 人力资源管理系统的需求 经过对企业的分析 一般将人力资源管理需求分为以下七个模块 图2 2 人力资源管理需求模块框图 以上每个模块都对应人力资源管理部门的各项职能 即可做到流程独立 又可做到 信息共享 在系统内部所有的内容都要在授权的情况下才可被访问 系统的信息保持一 致性 其中 人事工资考勤管理是人力资源管理的核心 由于在具体人力资源系统实践 中包含过多的内容 可能包含数千个以上的需求 所以在这里仅选择一些典型的情形进 行需求分析 包括系统中最核心的人事和最复杂的工资部分 在这里列出下面一些基本 要求 1 能够运行于流行的技术环境中 如w i n d o w s 9 8 w m d o w s m e w i n d o w s 2 0 0 0 等 2 系统容易扩展新功能 3 人事部门登记新员工 包括员工性别 年龄 部门 编号等信息 4 人事部门可以修改员工信息 5 员工离职时 人事部门删除该员工 但该员工信息作为离职员工可以被搜索到 6 人事部门负责部门 岗位等信息的增加 删除 和修改 7 普通员工可以浏览自己的资料 并且可以修改一些非关键的资料 如电话号码 电子邮件和住址等 可以浏览自己所在部门和岗位等信息 8 计算员工工资 包括设置薪资状况 计算基本费用 计算考勤扣款 计算加班奖 基于三层结构的人力资源管理系统系统的研究与实现 金 计算应得工资 计算实发工资等 2 5 人力资源管理系统的分析 系统分析的目的是捕获和描述所有的系统需求 并且建立一个模型来定义系统中 主要的对象 通过系统分析和流程描述达到开发者和需求者的理解和沟通 因此 分 析 般都是分析员和用户协作的产物 在这个阶段 还未涉及到代码或程序的问题 它只是理解需求和实现系统的第一步 这里以工资部分为例给出流程图及模型 基本设置 薪资处理工资调整 1 应加施扣初始化 l 薪资状况1 t 资核算1 2 本月应加成扣登记 2 基本薪资数据 2 奉月工资表 3 所得税系数 3 工赘月报 4 银行报盘 请假与加班 1 请假 2 加班 图2 3 工资部分流程图 薪资计算开始 p n j上 y j 芦1声匝 l 一 i 核算 l il 77 树耥 查看报表 一 士 厂 i 银行报盘 打印工资单打印封存报表i 一 0 1薪资计算结束 图2 4 原始薪资模型 南京航空航天大学硕士学位论文 图2 4 中应加应扣包含了考勤 奖金 公积金 养老金等的计算 2 6 人力资源管理系统的三层结构设计 人力资源管理系统包括人力资源规划子系统 员工招聘考核子系统 人事工资考 勤子系统 激励约束机制子系统 培养发展机制子系统 进入退出机制子系统 员工 医疗服务子系统七大部分 其基于三层结构的软硬件结构设计如下 一 系统硬件结构设计 系统硬件结构框图如图2 5 所示 客户端是信息系统的用户接口部分 即人机界 面 是用户与系统间交互信息的窗口 应用服务器群是应用的主体 包括了系统中核 心的和易变的企业逻辑 规划 运作方法 管理模式等 负责接收输入 处理后返 回结果 数据库服务器负责管理数据库 整个系统通过企业局域网相连 客户端客户端 客户端 图2 5 系统硬件结构框图 二 系统软件结构设计 客户端运用m i d a s 技术 数据模块技术 安全稳固技术 通过连接组件 数据集 控件 t s i m p l e o b j e c t b r o k e r 组件实现与应用服务器群的连接 并实现用户交互界面 应用服务器运用c o m d c o m c o m m i d a s 等多层结构技术 b d e a d o 等数据库接口技 基于三层结构的人力资源管理系统系统的研究与实现 术 通过远程数据模块 数据集控件 d a t a s e t p r o v i d e r 控件实现与客户端 数据库服 务器的连接 并实现企业核心业务逻辑功能 数据库服务器通过数据库管理系统 d b m s 负责管理数据库的读写和维护 实现迅速执行大量数据的更新和检索 系 统软件结构框图如图2 6 应 用 服 务 器 客 户 群 一 数据库设计和管理 需概逻物使 萨令萨辛萨 皆2 争星 计计计 2 雠哪可r d 数据库访问接口 o o i a n n s e r v e r 棒口 介 数据模块 t s i m p l e o b j e c t b r o k e r 组件 连接组件 数据集控件 人力资源管理系统用户界面 人员人激培进员 力工事励 养 入工 资招工约 发 退 医 源聘资束展出疗 规考考机机机服 划 核 勤 制制制务 系系系系系系系 统统统统统统 统 图2 6 系统软件结构实现框图 鉴于人力资源管理系统的规模十分庞大和人事工资考勤子系统在整个系统中的 基础和核心地位 故本课题的实现主要是开发人事工资考勤子系统 在完成了整个系 统的可行性研究 总体规划 系统分析 确定了系统的功能 模型 结构后 从2 0 0 2 年8 月到2 0 0 3 年8 月经过一年的工作完成了人事工资考勤子系统的编程与测试工作 在局域网的环境下经过调试 试用 系统运行良好 南京航空航天大学硕士学位论文 第三章面向对象技术 面向对象技术是目前流行的系统设计开发技术 它包括面向对象分析 面向对象 设计和面向对象编程 面向对象分析就是抽取和整理用户需求并建立问题域 描述问 题的问题空间 精确模型的过程 面向对象设计就是用面向对象观点建立求解域 实 现解法的解空间 模型的过程 本章主要讲述面向对象技术的基本概念 阐述了基于 面向对象理论的程序设计方法 3 1 面向对象方法简介 3 1 1 面向对象方法的基本思想 所谓面向对象就是指着眼于对象的一种方法 也就是把现实世界模型化的一种方 法 众所周知 现实世界是由许多事物 对象 构成的 事物之间通过互相发出消息 进行联系 因此 面向对象是不以控制为中心 而是以事物 对象 的行为为中心来 考察问题 并使之能在计算机上进行处理的一种体系 每一个对象都含有一组属性和行为特性 面向对象的方法正是利用了我们对事物 分类和抽象的这样一种自然倾向 将我们感兴趣的或要研究的事物及概念都统称为对 象 在分析问题和解决问题时 以对象为基本元素 构造所要研究的系统模型 显然 面向对象的方法十分符合入的认识规律 因而易于被人们所理解并接受 3 1 2 面向对象方法的基本术语 6 1 l 对象 对象这一概念 目前还没有统一的定义 一般认为 对象是包含现实世界物体特 征的抽象实体 它反映了系统为之保存信息和 或 与它交互的能力 它是一些属性 及服务的一个封装体 在程序设计领域 可以用 对象 数据 作用于这些数据上的 操作 这一公式来表示 2 类 类是具有相同操作功能和相同的数据格式 属性 的对象的集合 类可以看作抽 象数据类型的具体实现 抽象数据类型是数据抽象类型的表示形式 数据类型是指数 据的集合和作用于其上的操作的集合 而抽象数据类型不关心操作实现的细节 从外 部看 类型的行为可以用新定义的操作加以规定 类为对象集合的抽象 它规定了这 些对象的公共属性和方法 对象为类的一个实例 对象和类的关系相当于一般的程序 设计语言中变量和变量类型的关系 l l 基于三层结构的人力资源管理系统系统的研究与实现 3 消息 消息是向某对象请求服务的一种表达方式 对象内有方法和数据 外部的用户或 对象对该对象提出的服务请求 可以称为是向该对象发送消息 3 2 面向对象程序设计 3 2 i 面向对象程序设计与结构化程序设计比较 传统的结构化程序设计是从系统的功能入手 按照工程的标准和严格的规范将系 统分解为若干功能模块 系统是实现模块功能的函数和过程的集合 由于用户的需求 和软 硬件技术的不断发展变化 按照功能划分设计的系统模块必然是易变的和不稳 定的 这样开发出来的模块可重用性不高 而面向对象的程序设计则是从所处理的数据入手 以数据为中心 而不是以服务 功能 为中心来描述系统 它把编程问题视为一个数据集合 数据相对于功能而言 具有更强的稳定性 面向对象程序设计同结构化程序设计相比最大的区别就在于 前者首先关心的是 所要处理的数据 而后者首先关心的是功能 3 2 2 面向对象程序设计的基本特性 7 1 l 抽象性 抽象就是忽略一个主题中于当前目标无关的那些方面 以便更充分地注意与当前 目标有关的方面 抽象并不打算了解全部问题 而只是选择其中的一部分 暂时不用 的部分细节 抽象包括两个方面 一是过程抽象 二是数据抽象 过程抽象是指任何 一个明确定义功能的操作都可以被使用者看作单个的实体看待 尽管这个操作实际上 可能由一系列更低级的操作来完成 数据抽象定义了数据类型和施加于该类型对象上 的操作 并限定了对象的值只能通过使用这些操作进行修改和观察 2 封装性 封装是指将一个数据和与这个数据有关的操作集合放在一起 形成一个能动的实 体一对象 用户不必知道对象行为的实现细节 只需根据对象提供的外部特征接口访 问对象即可 面向对象系统的封装性是一种信息隐藏技术 它使系统设计员能够清楚得标明他 们所提供的服务界面 用户和应用程序员则只能看见对象提供的操作功能 看不到其 中的数据和操作细节代码 这样的封装使得程序更加容易理解 如果程序需要扩充 封装使得这也非常容易 新加的程序只要和原程序的接口保证合适的连接 并为以后 南京航空航天人学硕士学位论文 的扩展提供接口即可 封装还使得程序出错的机会减少 因为封装可使得一个大的程 序分成小的模块 每个小模块可分别独立地测试 减小测试的难度 3 继承性 继承所表达的就是一种对象之间的相互关系 它使得某类对象可以继承另一类对 象的特征和能力 如果类之间具有继承关系 则它们之间具有以下特征 类之间具有共享特征 包括数据和程序代码的共享 类之间具有细微的差别或新增部分 包括非共享的数据和程序代码 类之间具有层次结构 在面向对象系统中 若没有引入继承的概念 所有的类就会变为一盘各自为政 彼此独立的散沙 每次软件开发就都要从 一无所有 开始 继承性不仅作用在对操 作的继承 还作用在对数据内容的继承 即既具有结构特征的继承性 又具有行为特 征的继承性 4 多态性 在对象语言中定义的类的方法通常是静态的 也就是在编译和连接时可确定对象 方法的地址 面向对象的程序设计语言还采用了另一种称为动态联编的方式 在这种方式下 只有在运行时才能确定所调用的方法的实际地址 这种方法就称为多态 其基本思想 是 在用户调用对象方法时 具体调用哪个对象方法依赖于与变量相关的变量类型 多态技术有利于提高代码的可重用性 用户可以在不清楚各级实际派生类的情况下编 写使用这些类的代码 3 2 3 面向对象程序设计的优点 与传统的面向过程的程序设计方法相比 面向对象程序设计方法有三个优点 程序的可维护性好 面向对象的程序易于阅读和理解 程序员只需了解必要的 细节 因此降低了程序的复杂性 程序的易修改性好 即程序员可以很容易地修改 添加或删除程序的属性 这 是通过增加或删除对象来完成的 程序的可重用性好 对象可以使用多次 程序员可以将某些自己喜欢的类和对 象保存起来 随时插入到应用程序中 无需做什么修改 3 3 面向对象开发工具的选取 开发工具选取的一般原则是 最高效地完成开发任务 根据这一原则 面向对象 开发工具我们可以选择v c b c b u i l d 和d e l p h i 7 0 综合考虑还是选择d e l p h i 7 0 原因是 1 3 基于二层结构的人力资源管理系统系统的研究与实现 对于一门面向对象的语言来说 它必须具有继承性 多态性和封装性三个特点才 能称为面向对象的语言 d e l p h i 7 0 很好的具备了这三项特性 继承 d e l p h i 7 0 中 窗口 菜单等v c l 控件是可以继承的 继承了 个对象 得到的予类将具有父类的属性 实例变量 共享变量 控件 用户自定义事件 对象 级函数 事件和代码 也就是说继承了一个类 几乎得到了这个类的全部 不过有一 点值得注意 不能在子类中删除任何一个继承到的特性 多态性 在d e l p h i 7 0 中有大量的多态函数如s h o w m e s s a g e i n p u t b o x 等 在运行过程中 只需要指出对象和函数名即可 在有些函数中 即使不知道对象类 也可以用c l a s s n a m e 函数得到对象类 或得到实例名 将对象名作为函数参数调用 该函数 封装性 封装的目的是为了实现数据隐藏和数据保护 封装的目标是为对象提 供一个对外操作的接口 使其他对象通过函数来访问 而不允许直接操纵对象的属性 在d e l p h i 7 0 中有三种访问类型p u b l i c p r o t e c t p r i v a t e 这三种访问控制类型可以用 在对象的变量和函数上 缺省的实例变量和对象函数都是p u b l i c 类型的 为了保护数 据 应尽可能多地使用p r i v a t e 和p r o t e c t 类型 前者只允许对象内部的元素来访问 后者可以接受对象内部和继承类的元素访问 另外 d e l p h i 7 0 还具有如下特点 1 d e l p h i 7 0 是3 2 位的应用开发环境 能够开发w i n 9 8 2 0 0 0 n t 应用程序 它 作为一种先进的开发工具 提供了众多的新特性 可以满足软件开发过程中各个阶段 的需求 2 可以嵌入汇编语言 3 d e l p h i 7 0 提供了全新的可视化开发环境 它是一个可视化的快速应用程序开 发工具 具有高效易用 最优化的源代码编译器 程序员可以使用鼠标来构造用户界 面 4 d e l p h i 7 0 提供了理想的应用发布技术 即独立的e x e 及包发布方式 独立的 可执行程序意味着应用程序与其所有资源都驻留于一个可执行文件中 而不必随之发 布很多文件 5 强大的数据库应用开发能力 如可以访问远程数据库 具有丰富的数据库组 件 支持c s b s 等 6 具有强大的网络功能 更加顺应了w e b 应用和网络技术的飞速发展 对w e b 技术提供了全面的支持 4 南京航空航天大学硕士学位论文 第四章计算机多层结构技术 4 1 多层结构应用体系 4 1 1 二层结构的缺陷 在传统的二层c s 结构数据库应用中 客户 服务器结构能够支持的客户端用 户人数有一定的限度 当客户端用户超过一定数目的时候 这种结构的执行效率便 开始下降 另外 客户端的机器执行应用程序 连接到后端的数据库服务器中存取 应用系统所需资料 因为应用系统的企业逻辑都编写在客户端的应用程序中 造成 客户端非常臃肿 且当应用系统需求改变时 所有在客户端的应用程序都必须改变 使维护成本太高 4 1 2 多层结构的概念和特点 为了解决这些问题 多层结构应用体系应运而生 即在传统的二层c s 模型中 放入应用程序服务器 应用程序服务器简单地说就是一个包含企业逻辑的应用程序 丌发人员以一种特定的组件形态 如m i c r o s o f tc o m d c o m c o r b a 对象 或e n t e r p r i s e j a v ab e a n 等 封装企业逻辑的程序代码 这种经过封装 能够执行特定企业功能的 对象被称为 企业对象 把这些企业对象分发到应用程序服务器中 开发人员在开 发应用程序时就可以使用这些企业对象提供的服务 多层结构的典型是三层结构 包 括客户端应用程序 应用程序服务器 远程数据库服务器三大部分 1 客户端应用程序 提供用户接口 主要功能是指导操作人员使用界面 输 入数据 输出结果 并不具有企业逻辑 或只拥有部分不涉及企业核心的 机密的应 用逻辑 这样客户端就显的很度 称为 度 客户 2 应用程序服务器 它是应用的主体 包含了企业中核心的及易变的企业逻辑 规划 运作方法 管理模型等 其功能即接受输入 处理后返回结果 3 远程数据库服务器 即数据库管理系统 d b m s 负责管理对数据的读写和 维护 在更复杂的多层体系结构中 度 客户与远程数据库服务器之间可以加入更多 的中间服务器 如加入一个中间安全服务器或中间转换服务器 用于对不同平台数据 进行处理 分向式多层结构把整个应用系统的执行分成数个不同部分并且执行在不同的机 基于三层结构的人力资源管理系统系统的研究与实现 器中 其中应用程序服务器作为中间层集中实现企业逻辑 协调多层之间的请求 并 掌握数据集定义的全部细节和远程数据库服务器进行通信 这样客户端应用程序就重 点放在显示数据和与用户交互上 客户端应用程序甚至都不需要知道数据在那儿 具体来说 多层结构具有如下优点 1 在一个共享的中间层封装了企业逻辑 不同客户端应用程序可以共享同一个 中间层 而不必由每个客户端应用程序单独实现企业逻辑 2 客户端应用程序可以做的很度 因为很多复杂的工作由应用程序服务器代劳 客户端应用程序只需关注用户界面本身 度 客户端应用程序更易发布 安装 配 置和维护 3 实现分布式数据处理 把一个应用程序分布在几个机器上运行 可以提高应 用程序的性能 通过冗余配置还可以保证不会因为局部故障导致整个应用程序崩溃 4 有利于安全 将一些敏感数据功能部分封装在中间层 并授予不同访问权限 可以保证对数据的访问限制 4 1 3 c o m d c 0 m c o m 署口c o r b a 技术 目前分布式多层结构使用的核心大致可以分为两种不同的工业标准 即 m i c r o s o f t 制定的c o m d c o m c 0 m 和由7 0 0 多家厂商共同提倡的c o r b a 因分布式结 构的广泛流行 现也有愈来愈多的根据这两种分布式核心技术加以演进而产生的分布 式技术 如e j b e n t e r p r i s ej a v ab e a n 等 m i c r o s o f t 的c o m d c o m c o m 是以w i n d o w s 为中心的开发环境 c o r b a 是平台中 立的分布式技术 c o r b a 能够执行于w i n d o w s u n i x 以及l i n u x 等操作系统中 这些 技术都能使开发人员在应用程序中轻易地使用企业对象所提供的服务 这两种分布式 技术都在客户端机器中以一个特别的对象来仿真真正的远程应用程序服务器上的企 业对象 这样客户端应用程序就可以调用在客户端机器中的仿真对象 该对象再使用 特定的通讯协议来真正调用远程应用服务器上的企业对象 从而调用远程企业对象的 服务 以满足客户端的要求 4 1 4m i d a s 技术 m i d a s m u k i t i e r d i s t r i b u t e da p p l i c a t i o ns e r v i c e ss u i m 即多层分布式应用服 务组件的简称 是d e l p h i 用来开发多层应用系统的中介透明引擎 是创建多层数据库 应用的关键技术 无论是应用程序服务器还是客户端程序 都需要m i d a s d l l 的支持 这个动态连接库主要用于管理数据 将数据以数据封包d a t ap a c k e t 的形式在客户 端程序和应用程序服务器之间传递 发布m i d a s 应用程序时需要发布这个文件 基于 m i d a s 的三层结构基本数据库模型如图4 1 所示 1 6 南京航空航天大学硕士学位论文 窖户机前端程序 远程数据模块 数据集挖件i a p p s e r v e r 接口 m i d a sd l ld a t a s e t p r o v i d e r 控件 卜 一 数据集控件 图4 1 基于m i d a s 的三层体系结构的基本模型 基于m i d a s 的三层数据库应用程序执行过程如下 用户首先启动客户端程序 客户端程序将试图连接应用程序服务器 如果应用程序服务器还没有运行 客户端程 序将激活应用程序服务器 并从中获得1 a p p s e r v e r 接口 用户向应用程序服务器提 出数据请求 应用程序服务器收到请求后从远程数据库服务器检索并获取数据 并按 照一定的规则将数据封装打包后传输给客户端程序 客户端程序收到数据封包后 进 行数据包的分解 然后显示或进行处理 用户对数据进行更新后 将数据连同数据变 更同志一起封装成数据包 上传到应用程序服务器申请更新数据 应用程序服务器收 到客户端程序的申请后 就向远程数据库服务器申请更新数据 如果出错 应用程序 服务器就把出错的记录返回给客户端程序去核对 客户端程序核对并修改了数据后 既可以放弃此次更新 也可以再次提交数据更新请求 4 2 多层结构的应用服务器端技术 4 2 1 应用服务器端需要的一些特殊组件 1 远程数据模块 d e l p h i 支持三种类型的远程数据模块 如表4 1 所示 表4 1 支持m i d a s 的数据模块 远程数据模块说明 r e m o t e d a t a m o d u l e支持双重接口的自动化服务器 支持d c o h i t c p i p 或 o l e n t e r p r i s e 协议 m t s i a t a m o u d l e立持双重接口的自动化服务器 创建的应用程序服务 器是动态链接库 支持d c o m t c p i p 或o l e n t e r p r i s 协议 c o r b a d a t a m o u d u l ec o r b a 服务器 支持c o r b a 协议 作为c o m 服务器或c o r b a 服务器让客户端应用程序访问它的接口 远程数据模块 是应用程序服务器的关键部件 在远程数据模块上 t t a b l e t o u e r y 等b d e 数据集组 件通过b d e 与远程数据库服务器连接访问数据库 d a t a s e t p r o v i d e r 组件输出 l7 基于三层结构的人力资源管理系统系统的研究与实现 i a p p s e r v e r 接口 d a t a s e t p r o v i d e r 组件通过d a t a s e t 属性与数据集组件相连 这 样客户端通过i a p p s e r v e r 接口就可以访问数据 2 d a t a s e t p r o v i d e r 组件 提供i a p p s e r v e r 接口 客户端应用程序通过i a p p s e r v e 接口获得数掘 具 体的讲主要有两大功能 1 接收来自客户机的数据请求 取回向数据库服务器请求的数据 为传输打 包数据 发送数掘给客户机数据集 这一活动称为 供应 p r o v i d i n g 2 接收来自客户机数据集的更新数据 将更新应用于数据库或者源数据集 并记录任何未能得到应用的更新 将未解决的更新返回给客户机以便进一步的协调 这一活动称为 解决 r e s o l v i n g 大部分的应用都是将t d a t a s e t p r o v i d e r 与t c l i e n t d a t a s e t 结合使用的 当我 们将t c l i e n t d a t a s e t 对象的a c t i v e 属性设为t r u e 或者调用其o p e n 方法后 c 1 i e n t d a t a s e t 会向d a t a s e t p r o v i d e r 发送一个取数据包请求 于是 d a t a s e t p r o v i d e r 便会打开对应的数据集 将记录指针指向第一条记录 然后从头到 尾依次扫描 对于扫描到的每一条记录 都会将其编码成一个v a r i a n t 数组 我们 通常将它称之为数据包 完成扫描后 d a t a s e t p r o v i d e r 会关闭指向的数据集 并将 所有的这些数据包传递给c 1 i e n t d a t a s e t c 1 i e n t d a t a s e t 会将数据包中的元数据解 码出来 根据元数据 我们可以理解为数据表的结构 便可以构造出与物理数据表 一模一样的内存虚拟表 但要注意的是 尽管d a t a s e t p r o v i d e r 指向的数据表可能 有多个索引 但这些信息是不会放在数据包中的 换句话说 c 1 i e n t d a t a s e t 当中的 数据默认情况下是无索引的 但因为c l i e n t d a t a s e t 具有与t d a t a s e t 一致的行为 所以我们可以在此基础上根据需要重建索引 在c l i e n t d a t a s e t 中的数据被修改后 可以提交给物理数据表持久化这些改变 这个工作便是由d a t a s e t p r o v i d e r 完成的 内部工作原理是 d a t a s e t p r o v i d e r 创建 一个t s q l r e s o l v e r 的实例 这个实例会生成要在底层数据上执行更改的s q l 语句 详细地说 就是对修改日志中

温馨提示

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

评论

0/150

提交评论