




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
591 论文网 www 591LW com 中小型企业的中小型企业的 OAOA 设计探究设计探究 摘摘 要要 办公自动化是一个新兴的 复杂的 综合性的领域 它以计算机和网络技 术为核心 同时涉及到自然科学 管理学 社会学 系统工程学等多种学科的 内容 实现办公自动化可以极大地提高办公效率以及办公质量 本程序实现了 OA 办公系统的部分主要功能 即文档管理 电子邮件管理 发文管理等 同时使用了角色访问控制 增强了系统的安全性 其开发主要包 括后台数据库的建立 管理和前端应用程序的开发两个方面 本文首先介绍了基于角色访问控制的 OA 系统的整体系统架构及 Microsoft SQL SERVER 数据库的建立 然后对数据库进行了相关的设计 最后介绍了各个 功能子模块的设计思路与具体实现方法 关键词关键词 OA 系统 角色访问控制 SQL 数据库 591 论文网 www 591LW com Design and Realization of OA System Based on RBAC Abstract OA is a rising complex all around field It makes computer network technology the main points and involves science management science sociology system engineering and other disciplines To realize office automation can greatly improve office efficiency and quality office Some functions of the OA System based on RBAC such as file management e mail management and document management are realized in the program At the same time the use of roles based on access control lets the system more security It involves the establishment and management of the database and the development of the front end application First of all this paper introduces the architecture of the OA system based on BRAC and the fundament of Microsoft SQL SERVER database Secondly it makes a design in the related database tables At last the design and the implementation of each module is introduced in detail Key words OA System RBAC SQL Server Database 591 论文网 www 591LW com 目目 录录 论文总页数 26 页 1 引 言 2 1 1 课题背景 2 1 2 国内外研究现状 2 1 3 本课题研究的意义 3 1 4 本课题的研究方法 3 2 数据库概论 3 2 1 数据库的发展 3 2 1 1 数据库的发展 3 2 1 2 数据库技术 4 2 2 数据库理论基础 4 2 2 1 数据库模型 4 3 开发工具及 RBAC 知识简介 5 3 1 DELPHI6 0 简介 5 3 2 DELPHI6 0 控件 5 3 3 RBAC 知识简介 6 4 系统需求分析 7 4 1 功能需求 7 4 2 系统平台选择 8 5 系统总体设计 9 5 1 系统概要设计 9 5 1 1 系统结构设计 9 5 1 2 数据库设计 10 5 2 系统详细设计 13 6 系统应用程序设计 14 6 1 系统模块组成 14 6 2 数据模块的设置 14 6 3 主要功能模块的实现 15 6 3 1 登录模块 15 6 3 2 系统主页面 16 6 3 3 内部通信模块 17 6 3 4 发送通知 18 591 论文网 www 591LW com 6 3 5 管理员操作 20 6 3 6 数据组模块 20 7 建议和措施 21 结 论 21 参考文献 22 591 论文网 www 591LW com 第 2 页 共 26 页 1 1 引引 言言 1 11 1 课题背景课题背景 OA 办公系统是信息革命的产物 也是社会信息化的重要技术保证 回顾近 20 年来微电子技术的进步和通信技术的突飞猛进的发展 各种先进的办公设备 如雨后春笋般出现 为适应瞬息万变 竞争激烈的时代要求 各办公机构纷纷 引入自动化系统 办公自动化作为当前国际上飞速发展的一门综合性新学科 已经越来越受到人们的重视 现今 随着各政府机构和企业内的计算机及局域网络应用的普及与深入 企业内部 企业与外界之间 政府机构内部 政府机构与外界之间需要交换或 共享更多的信息与资源 为了能更有效地 准确地 快速地共享传递各种生产 销售数据及管理信息 加强政府机构和企业内部各部门间的联系 缩短工作流 程 提高工作效率 实现资源共享 协同有效作业 集中统一管理以求降低运 作及管理的成本 企业非常有必要建立一个企业内部局域网 即实现企业办公 自动化的网络信息平台 OA 办公系统 1 21 2 国内外研究现状国内外研究现状 世界 OA 系统的发展非常迅猛 世界各国政府极为重视本国的 OA 系统的发 展 不惜花费巨资 美国的办公自动化在公司和企业中发展得比政府部门要早 并且水平也较高 各公司 企业不仅把 OA 视为提高效率 节约成本的手段 更 是利用它来加强经营管理 作为提高企业素质和企业竞争能力的重要条件 回 顾我国 OA 办公系统的进程 大致可以分为以下三个阶段 1 以桌面字处理工具为典型的个人办公工具软件阶段 计算机的应用提高 了个人工作效率 2 基于关系型数据库技术 以 C S 体系结构应用为特征阶段 这一阶段基 本实现了部门级的数据处理和公文处理的自动化 3 基于符合 Internet Intranet 技术标准的平台应用阶段 这一阶段 不 仅在技术上有了很大进步 而且应用范围以从部门内部 部门之间扩展到行业 系统内部 乃至跨部委跨系统 20 世纪 90 年代以后 国外的 OA 办公系统发展趋势为以下四个方向 1 OA 设备向着高性能 多功能 复杂化和系统化发展 2 OA 系统向着数字化 智能化 无纸化和综合化发展 3 以计算机为核心的办公工作站将向处理文字 数据 声音 图形的多媒 体方向发展 4 通信在 OA 系统的地位进一步加强 可以充分利用现代通信技术 建立 全球的网络体系 591 论文网 www 591LW com 第 3 页 共 26 页 1 31 3 本课题研究的意义本课题研究的意义 OA 办公系统是信息化社会最重要的标志之一 它将人 计算机和信息三者 结合为一个办公体系 构成一个服务于办公业务的人机信息处理系统 通过提 高办公效率 使用先进的机器设备和技术 办公人员可以充分利用各种办公信 息资源 从而提高办公效率 使办公业务从事务层次进入管理层 甚至辅助决 策层 将办公和管理提高到一个崭新的水平 办公自动化的实现 不仅仅是取 代秘书的部分工作 它更是将引起办公制度 工作方式 办公流程 传统习惯 工作环境和决策进程等方面的深刻变革 使办公行为科学化 规范化和标准化 各国的经验表明 国家经济现代化必须依赖各级管理水平的提高和办公自动化 因此 办公自动化必将对我国整个社会生活的各个方面产生深刻的影响 1 41 4 本课题的研究方法本课题的研究方法 应该说没有人怀疑计算机的出现给办公室职员带来的便利 但是对现代的 办公自动化而言 其目的己经不局限于减轻员工的工作量 而是要将员工从繁 琐的事务性工作中解放出来 用更多的精力去关注最重要的事情 从而提高企 业的效率 增强企业的综合竞争能力 在这种办公模式下 企业的组织结构能 够得到简化 各个部门在信息共享的基础上进行协作 便于明确各个部门甚至 每个员工的责任 而决策层可以迅速综合来自各个方面的信息 并以此为依据 制定企业的战略决策 从这个意义上讲 在市场竞争日趋白热化的今天 办公 自动化己经不再是一种手段 一种工具 而成为决定企业生存发展的命脉 应 此 我们通过 OA 系统所实施的交换式网络应用 使信息的传递更加快捷和方便 从而极大地扩展了办公手段 实现了办公的高效率 2 2 数据库概论数据库概论 2 12 1 数据库的发展数据库的发展 2 1 12 1 1 数据库的发展数据库的发展 数据管理技术的发展 与硬件 主要是外存 软件 计算机应用的范围有 密切的联系 数据管理技术的发展经过三个阶段 人工管理阶段 文件系统阶 段和数据库阶段 人工管理阶段和文件系统阶段都有着相当多的缺陷 诸如数据冗余性 数 据不一致性以及数据联系弱等等 也正是由于这些原因 促使人们研究新的数 据管理技术 从而产生了数据库技术 当进入数据库阶段后 随着数据管理规模一再扩大 数据量急剧增加 为 了提高效率 开始时 人们只是对文件系统加以扩充 在应用文件中建立了许 多辅助索引 形成倒排文件系统 但这并不能最终解决问题 在 20 世纪 60 年 代末 磁盘技术取得重要进展 具有数百兆容量和快速存取的磁盘陆续进入市 591 论文网 www 591LW com 第 4 页 共 26 页 场 成本也不高 为数据库技术的产生提供了良好的物质条件 2 1 22 1 2 数据库技术数据库技术 从文件系统发展到数据库系统是信息处理领域的一个重大变化 在文件系 统阶段 人们关注的中心问题是系统功能的设计 因而程序设计处于主导地位 数据只起着服从程序需要的作用 在数据库方式下 信息处理观念已为新体系 所取代 数据占据了中心位置 数据结构的设计成为信息系统首先关心的问题 而利用这些数据的应用程序设计则退居到以既定的数据结构为基础的外围地位 在数据库技术中有四个名词 其概念应该分清 1 数据库 database DB DB 是统一管理的相关数据的集合 DB 能 为各种用户共享 具有最小冗余度 数据间联系密切 而又有较高的数据独立 性 2 数据库管理系统 Database Management System DBMS DBMS 是 位于用户与操作系统之间的一层数据管理软件 为用户或应用程序提供访问 DB 的方法 包括 DB 的建立 查询 更新及各种数据控制 DBMS 总是基于某种数 据模型 可以分为层次型 网状型 关系型和面向对象型 DBMS 3 数据库系统 Database System DBS DBS 是实现有组织地 动态 地存储大量关联数据 方便多用户访问的计算机软件 硬件和数据资源组成的 系统 即采用了数据库技术的计算机系统 4 数据库技术 这是一门研究数据库的结构 存储 管理和使用的软件 学科 数据库技术是操作系统的文件系统基础上发展起来的 而 DBMS 本身要在 操作系统的支持下才能工作 数据库不仅用到数据结构的知识 而且丰富了数 据结构的内容 在关系数据库中要用到集合论 数理逻辑的理论 因此 数据 库技术是一门综合性较强的学科 2 22 2 数据库理论基础数据库理论基础 2 2 12 2 1 数据库模型数据库模型 模型是对现实世界的抽象 在数据库技术中 我们用模型的概念描述数据 库的结构与语义 对现实世界进行抽象 表示实体类型及实体间联系的模型称 为 数据模型 目前广泛作用的数据模型可分为两种类型 一种是独立于计算机系统的模型 完全不涉及信息在系统中的表示 只是 用来描述某个特定组织所关心的信息结构 这类模型称为 概念数据模型 要领模型用于建立信息世界的数据模型 强调其语义表达功能 应该概念简单 清晰 易于用户理解 它是现实世界的第一层抽象 是用户和数据库设计人员 591 论文网 www 591LW com 第 5 页 共 26 页 之间进行交流的工具 这一其中著名的模型是 实体关系模型 另一种数据模型是直接面向数据库的逻辑结构 它是现实世界的第二层抽 象 这类模型涉及到计算机系统和数据库管理系统 又称为 结构数据模型 例如 层次 网状 关系 面向对象等模型 这类模型有严格的形式化定义 以便于在计算机系统中实现 面向对象模型能完整地描述现实世界的数据结构 具有丰富的表达能力 但模型相对较复杂 涉及的知识面也广 因此面向对象数据库尚未达到关系数 据库那样的普及程度 3 3 开发工具及开发工具及 RBACRBAC 知识简介知识简介 3 13 1 Delphi6 0Delphi6 0 简介简介 Delphi 类可以粗略地分成两部分 一部分是组件类 这些组件类通常以某 种方式出现在组件面板上 当用户从组件面板上点取一个类的图标后 在程序 中就自动生成了该类的对象 非可视组件除外 另一部分是功能类 这此功能 类的对象通常出现在程序代码中 起着不可代替的作用 但是这些功能类在组 件面板上是找不到的 在 Delphi 中 每一个类的祖先都是 Tobject 类 整个类 的层次结构就像一棵倒挂的树 在最顶层的树根即为 Tobject 类 这样 按照 面向对象编程的基本思想 就使得用户可用 Tobject 类这个类型代替任何其它 类的数据类型 实际上在 Delphi 的类库中 Tobject 类派生出了为数相当众多 的子类 它们形成了一个庞大的体系 通常情况下 如果不自行开发组件 就 不必了解整个类的体系结构 只用到类层次树的叶结点就足够了 凡是做过程序开发的人都知道从来没有单纯的数据应用程序 也就是说 数据库应用程序必须和用户界面 可以是图形界面 也可以是命令接口 元素 相结合 只讲界面或只讲数据库本身都构不成数据库应用程序 因而用 Delphi 6 0 开发数据库应用程序就隐含着界面开发 3 23 2 Delphi6 0Delphi6 0 控件控件 用 Delphi6 开发数据库应用 重点是和各种数据库组件打交道 当然也要 使用其它的一些组件 现在就我在系统设计中所使用的重要组件给予简单介绍 ADO 数据对象 Active Data Objects 实际是一种提供访问各种数据类型的 链接机制 ADO 设计为一种极简单的格式 通过 ODBC 的方法同数据库接口中 可以使用任何一种 ODBC 数据源 即不止适合于 SQL Server Oracle Access 等数据库应用程序 也适合于 Excel 表格 文本文件 图形文件和无格式的数 据文件 ADO 是基于 OLE DB 之上的技术 因此 ADO 通过其内部的属性和方法提 供统一的数据访问接口方法 ADO 使您的客户端应用程序能够通过 OLE DB 提供 591 论文网 www 591LW com 第 6 页 共 26 页 访问和操作在数据库服务器中的数据 ADO 支持用于建立 C S 和 Web 的应用程 序的主要功能 其主要优点是易于使用 高速度 低内存支出和占用磁盘空间 较少 ADO 同时具有远程数据服务 RDS 功能 通过 RDS 可以在一次往返过程中 实现将数据从服务器移动到客户端应用程序和 Web 页 在客户端对数据进行处 然后将更新结果返回服务器的操作 3 33 3 RBACRBAC 知识简介知识简介 访问控制策略是大多数应用系统必须考虑的问题 本文提出的基于角色的 访问控制是一种新型访问控制模型 它不仅能够实现传统访问控制的功能 同 时还可以方便权限的管理 能够灵活地进行配置以适应系统的不同需求 提高 系统的可扩展性 基于角色的访问控制是一种新型访问控制模型 它的基本思想是将权限与 角色联系起来 在系统中根据应用的需要为不同的工作岗位创建相应的角色 同时根据用户职务和责任指派合适的角色 用户通过所指派的角色获得相应的 权限 实现对文件的访问 它支持最小特权 责任分离以及数据抽象三个基本 的安全原则 这里的角色用一般业务系统中的术语来说 就是业务系统中的岗位 职位 或者分工 它和用户组的最主要的区别在于 用户组是作为用户的一个集合来 对待的 并不涉及它的授权许可 而角色则既是一个用户的集合 又是一个授 权许可的集合 角色是指具有一定技能 可以执行某些工作的人员 或资源 集合 通过给成员赋予不同的角色 对成员的多职能进行表达 提供约束成员 不同权限范围变化的依据 为了满足企业内既存在信息共享又存在信息独立的 实际情况 在角色体系中采用双枝生成模式 即整个角色体系的来源有两枝 其中一枝来自于相对固定的组织机构 是相对稳定的角色集合描述 另一枝在 动态组合过程中动态创建 是更加依赖于动态项目和扩展需要而生成的 具有 极大的时效性 随着项目或者企业扩展组合的变化会在活动态 冻结态和无效 态之间变更 这样既保证了成员企业的相对独立性 又保证了与其他成员合作 过程中的及时性和有效性 基于角色的访问控制设计需要一套既行之有效 又方便灵活的设计方案 要采用各种控制机制和保护技术 安全策略是设计安全可靠系统的准则 通常 涉及下列几个方面 安全保护策略 安全策略是信息安全性的高级指导 策略出自对用户要求 设备环境 机构规则 法律约束等方面的详细研究 策略重要性在于指导作用 而机构是实现和执行各种策略的功能的集合 安全策略 安全管理人员根据需要定义各种角色 并设置合适的访问权限 591 论文网 www 591LW com 第 7 页 共 26 页 而用户根据其责任和资历再被指派为不同的角色 如图 所示 角色可以看成 是一个表达访问控制策略的语义结构 它可以表示承担特定工作的资格 安全管理的职责 安全管理有集中管理与分散管理两种 前者意指一切权 利都由负责系统安全工作的专职人员或小组掌握 他 们 决定用户的访问权利 控制系统安全的一切方面 后者是指不同的管理员控制着系统安全的不同方面 管理系统的不同部分 决定不同用户的访问权利 安全保护机构 系统的安全保护机构基本上是与上面的安全策略相互适应 的 保护机构应负责阻止一切物理破坏和用户可能的操作破坏 后者归结为主 体可用何种方式访问哪些对象 访问控制策略 它提供决定用户访问权利的依据 其中最重要的一个普遍 的原则是 需者方知策略 按照这一原则授予用户的权利 是用户能完成工 作的最小权利集合 故也称之为 最少特权策略 信息流动控制 只限制用户的访问权利而不考虑数据流动是极其危险的 控制数据流动以防止无权用户在数据流动后获得访问权利 软硬结合保护 这是安全保护的基本策略 许多硬件保护功能是软件难以 实现的 有些即使能实现 效率也不高 安全管理控制核心是系统安全管理的核心控制部分 它在系统中控制整个 系统的安全控制工作 由它决定系统是否启动安全管理 在什么情况下调用访 问控制机构 根据情况编写访问规则 如何将已有的访问规则应用于控制存贮 访问规则 4 4 系统需求分析系统需求分析 4 14 1 功能需求功能需求 近年来 微机的普遍应用 在一定程度上提高了各部门的办公效率 但有 限的技术能力 使这些面向各部门内部事务处理的办公自动化系统相互之间标 准不统一 各自为政 难以集成 随着公司内部网络的建立 各部门的信息可 以发布到 Web 上 使信息发布的效率和范围得到较大程度的改善 然而 由于 公司内部网络仍缺少重要的信息传递和工作流程环节 部门之间仍无法实现信 息共享和集成 从而难以实现各部门之间的高效率协作 为了提高了公司整体 办公效率 需要具有先进水平的办公与管理机制提供强有力的支持 随着计算 机技术 网络技术的迅速发展以及系统科学 管理科学的引进 在现有的公司 内部网络上建立高效 协调 集成的数字化办公系统己成为可能 这也是能够 从根本上变革办公及管理体制的有效途径 OA 办公系统呼之欲出 本论文的研究正是基于这一实际课题 基于角色访问控制的 OA 办公系统项 目 该系统提出的系统目标如下 591 论文网 www 591LW com 第 8 页 共 26 页 OA 办公系统需要满足来自 2 个方面的要求 一是系统管理员 另外一个是 一般用户 系统管理员可以修改 删除用户 工作计划安排 工作日程安排 文档管理 还可以修改普通用户密码 并且可以使用发送通知功能 并能通过 远程控制普通用户电脑 一般用户只能使用邮件管理 修改密码 查看工作计 划等功能 在设计与开发中 重点如何解决各个不同用户使用本系统的权限问题既 角色访问控制 通过对登录的用户的权限的验证 获取对应角色的权限 在 数据库中设置了 3 个字段 分别对应不同的权限 当用户以管理员身份进入系 统以后 可以对普通用户权限进行修改 而以普通用户身份进入系统的时候则 不可以 这样就保障系统的安全性 在软件开发与设计中能实现文档管理 电 子邮件管理 工作任务管理 工作日程管理 发文管理等 OA 软件的主要功能 4 24 2 系统平台选择系统平台选择 办公自动化不能简单地理解为文字处理 电子表格 个人资源管理 如记事 日程 资料入档等文档处理系统 办公自动化也不仅仅是秘书 档案员和办事 员的事情 事实上 办公室业务也即管理业务 负责协调各项工作程序 办公 自动化也即管理自动化 在自动化中 仅有三分之一的工作是个人完成 其它 三分之二的工作都与交往有关 OA 系统的实施 需要单位内部的领导人员 行 政管理人员 文秘人员 专业人员的共同参与 办公自动化系统支持各类办公 人员工作的自动化 一个好的办公自动化系统应该为工作人员提供一个集成化 的 多功能的办公桌面环境 解决办公人员因处理不同事务而需要使用不同工 作环境的问题 结合对某公司办公自动化系统的应用需求的分析 认为对 OA 系统作需求分 析 办公应用平台以及事务处理平台中满足以下的要求 首先 必须具有工作流性质的处理过程和监督功能 从而解决多部门协作 问题 推动部门间的高效率协作 其次 提供集成处理与发布信息的工作平台 解决以往信息收集 处理和发布过程相分割的问题 减少不必要的交接环节 提高工作便利性 再次 必须提供与其它管理信息系统 MIS 的信息交流 解决以往数据标准 不一致而造成的信息收集困难的问题 减少额外的工作量和大量重复劳动 最后 还必须提供安全保障体系 不仅使系统的各层次人员被严格限制在 自己的权限内 同时必须保证整个 OA 系统的安全 稳定和可靠的运行 所以 建立一流的办公自动化系统 需要先进 功能强大的应用开发平台 也就是说 所采用的应用开发平台应该能够适应计算机网络的发展趋势 有利 于提高管理和办公的效率 有利于促进各部门之间的协同工作 有利于创建现 591 论文网 www 591LW com 第 9 页 共 26 页 代管理制度和工作方式 利用 Delphi 建立的企业信息集成系统 完全符合系统对邮件与群件平台的 要求 具有以下鲜明的特点 1 开发快捷 实施容易 应用系统的推出与使用是投资得以回报的关键 系统的应用或者办公管理应用则可以利用 Delphi 的快速开发 实施能力在较短 的时间内实现 这非常适应办公管理需求多变 繁杂的特点 2 集成性 最终用户使用的邮件与群件应用系统是一套统一的应用系统 使用同一套应用软件 在相同的 唯一的界面下 用户可以获得邮件信息 办 公信息 专业应用信息 关系数据库信息 Internet 信息等各个方面的信息 这种集成能力是在软件平台一级获得的 而不是通过二次开发 强加 上去的 这大大减少开发的工作量 提高了应用系统的可靠性 而且对最终用户来说 不需要在几个客户端软件或是应用程序之间 几个服务器系统或数据源之间来 回切换 3 管理容易 机制完整 由于采用单一的软件系统 所有的应用开发都 建立在统一的平台之上 主要的维护工作集中在应用管理一级 管理工作的难 度与工作量大大降低 基于这些优势功能 基于角色访问控制的办公自动化系统则应该设计成以 基于网络对象连接技术 多媒体文档结构以及跨越多种操作系统和多种数据库 平台的应用系统 所以 可以把 Delphi 作为办公自动化系统的应用开发平台的 主要选择 5 5 系统总体设计系统总体设计 系统的总体设计大约要经历可行性分析和项目开发计划 需求分析 概要 设计 详细设计 编码 测试以及维护等七个阶段 可行性分析和项目开发计 划在前面已经叙述 下面所要做的是进行软件需求分析 概要设计和详细设计 编码过程将在下一节论述 而测试和维护过程不在本文叙及 5 15 1 系统概要设计系统概要设计 在软件需求分析阶段 搞清楚了软件 做什么 的问题 形成了目标系统 的逻辑模型 现在所要做的就是要把软件 做什么 的逻辑模型变换为 怎么 做 的物理模型 即着手实现软件的需求 首先 需要描述的是系统的总的体 系结构 5 1 15 1 1 系统结构设计系统结构设计 系统的概要设计中最重要的就是系统的模块化 模块化是指解决一个复杂 问题时自项向下逐层把软件系统划分成若干个模块的过程 每个模块完成一个 特定的功能 所有的模块按某种方法组织起来 成为一个整体 完成整个系统 591 论文网 www 591LW com 第 10 页 共 26 页 所要求的功能 将系统划分为多个模块是为了降低软件系统的复杂性 提高可读性 可维 护性 但模块的划分不能是任意的 应尽量保持其独立性 也就是说 每个模 块只完成系统要求的独立的子功能 并且与其他模块的联系最少且接口简单 即尽量做到高内聚低耦合 提高模块的独立性 为设计高质量的软件结构奠定 基础 首先将整个系统化分为几个小问题 小模块 在系统中 设计了用户管理 通信管理 文档管理 发文管理等几个小模块 然后 进一步细分模块 添加 细节 比如 对用户管理又将其分为操作员员管理 密码修改等小模块 工作 日程管理又分为工作日志 工作日程 工作计划等模块 5 1 25 1 2 数据库设计数据库设计 在信息世界中 信息从客观事物出发流经数据库 通过决策机构最后又回 到客观世界 信息的这一循环经历了三个领域 信息世界 数据世界 现实世 界 现实世界的事物反映到人的头脑中 人的大脑对它有个认识过程 经过分 析 选择 命名 分类等 进入信息世界 这些信息再进一步加工 编码 然 后进数据世界 而软件系统的开发工作需要考虑这两个方面的问题 也就是要 考虑系统开发所需要的数据 以及如何对这些数据进行操作 这两个问题贯穿 了整个软件系统的开发过程 这也就是数据库的设计问题 软件设计的一个核 心 数据库结构设计中 需要具备 MIS 系统中的常规模块 比如用户管理 权 限管理等等 同时 数据库设计还要明确表现出 RBAC 的理论 所以本部分是整 个设计方案的一个重要环节 出于方案的通用性和易于普及性要求 数据库设计必须经过结构优化 既 要给功能实现提供良好的内在机制支持和功能扩展潜力 又要简便易于理解 良好的数据库结构设计本身就可以表述 RBAC 的要求 在很大程度上 基干角色 访问控制功能的实现方案的标准化是由数据库结构决定的 RBAC 对数据库结构 的要求有以下三点 便于扩展应用规模和附加业务功能 1 清晰无误 合理简洁的表述出角色分类 角色分配等 RBAC 逻辑内涵 2 便于管理变动 减小管理工具设计难度 当遇到需增减用户 用户职位 调变动 机构改革 管理方式改革等情况时 仅仅需要通过管理工具变动 数据库中的用户信息 用户 角色信息 角色信息 角色 权限关系 权限 定义等等就可以实现 而无需变动应用方案的业务逻辑 一个系统 RBAC 所需要涉及的数据库主要有 用户数据库 角色信息库 591 论文网 www 591LW com 第 11 页 共 26 页 用户 角色信息库 权限信息库 角色 权限信息库 a 用户表 这里我们所说的用户 是指程序的使用用户 用户表保存用户基本信息 如姓名 电话等 UserID 为标志用户的 Primary Key 用户信息表格式如表 1 所示 表 1 用户表 列名数据类型长度允许空 UserIDvarchar20 UserNamevarchar20否 Departmentvarchar20 Passwordvarchar20否 b 角色信息库 角色表 角色信息库 角色表 Rolesk 保存的是各个等级的规则角色 管理角色的定 义信息 角色信息库 角色表格式如表 2 所示 表 2 角色表 列名数据类型长度允许空 Role Namevarchar20 Pre rolevarchar20 Descriptionvarchar200 Role Name 角色名称 为 Primary key 主键 Pre role 指定该角色的先决角色 一个角色的先决角色就是一个要被赋予 该角色之前首先要先具有的角色 Pre role 参考了表中的 Role Name 主键 即 Pre role 要么取值为 Role Name 主键列中的一个值 要么为空值 null 定义 Pre role 数据项 为实现先决角色约束提供了基础 Description 变长度字符串 用于对角色的功能做语言描述以便于查看 b 权限关系表 权限信息库 Permissionsk 是一个应用中规定的所有权限的描述信息存储场 所 对于一个特定的应用来说是最基层的信息 为了使权限信息库的信息与角 色 权限信息库中的权限含义保持一致 权限信息库定义要尽可能详细完备 在 定义完毕之后要尽量减少改动 但可以根据业务功能扩展的需要随意添加 权 限信息表形式如表 3 所示 表 3 权限信息表 列名数据类型长度允许空 591 论文网 www 591LW com 第 12 页 共 26 页 PermissionIDint20 ObjectNamevarchar20否 由于权限信息库中对权限的描述的 ObjectName 项是字符串类型变量 因此所描述的权 限即可以是针对具体的系统资源 可以根据业务逻辑需要而灵活定义 d 角色 权限信息库 角色 权限信息库保存各个角色对应拥有哪些权限 实际上该表中保存的是 一个角色定义的所有的权限 角色 权限信息表格式如表 4 所示 表 4 角色 权限信息表 列名数据类型长度允许空 Role Namevarchar20 PermissionIDint20 外键 Role Name 和 PermissionID 参考 Rolesk 表和 Permissionsk 表中的 同名列 使这三个表的数据项保持一致性 完整性 对参照完整性定义为级联 删除 级联更改 即当被参照的主码被删除或更改时 参照该主键的所有外码 与被参照关系表中要删除或更改的主码相对应的原组一起被删除或更改为新值 例如 当某个角色被删除时 角色 权限关系表中与该角色相对应的角色 权限 元组全部被删除 如表中所示一个 Role Name 可以对应多个权限 PermissionID 一个权限 PermissionID 也可以对应多个 Role Name 当要查询一个角色所拥有的所有权 限时 可以用语句 select from Role Permissionsk where Role Name 被查询的角色名 e 用户 角色信息库 用户 角色信息库保存各个用户所拥有的角色信息 用户 角色信息表格式 如表 5 所示 591 论文网 www 591LW com 第 13 页 共 26 页 表 5 用户 角色信息表 列名数据类型长度允许空 UserIDvarchar20 否 PermissionIDint20否 表 User Rolesk 中的 UserID 和 Role Name 定义为不可取空值的外码 分别 参照 Userk 表和 Rolesk 表中的同名主码 且为级联的删除 更改 f 考勤记录表 考勤记录表主要用于记录个人考勤情况 如表 6 所示 表 6 考勤记录表 列名数据类型长度允许空 Nameint20否 Datedatetime8否 Recordvarchar200 d 通知表 通知表是用来记录发送的通知 以备查询 如表 7 所示 表 7 公文表 列名数据类型长度允许空 Nameint20否 Datedatetime8否 Comentvarchar200 5 25 2 系统详细设计系统详细设计 在前面的概要设计中 已将系统划分为多个模块 并将它们按照一定的原 则组装起来 同时确定了每个功能及模块之间的外部接口 现在所要做的就是 确定每个模块具体执行过程 也可以说是 过程设计 此详细设计的结果基本 决定了最终程序的质量 为软件的质量 延长软件的生存期 软件的可测试性 可维护性提供重要的保障 详细设计的目标不仅是逻辑上正确地实现每个模块 的功能 还应使设计出的处理过程清晰易读 由前一阶段产生系统功能模块图 为系统的主要部分设计了如下的模块关系图 591 论文网 www 591LW com 第 14 页 共 26 页 图 1 系统模块关系图 通过以上步骤 基本上完成了对整个系统的总体设计 接下来所要做的就 是软件的编码工作 系统总体设计的好坏直接影响着下一步工作 只有在这一 阶段设计出好的模块图和程序流程图 才能更有利于编码 产生好的软件系统 6 6 系统应用程序设计系统应用程序设计 6 16 1 系统模块组成系统模块组成 OA 办公系统模块由系统管理 文档管理 电子邮件管理 工作任务管理 工作日程管理 发文管理等模块构成 系统管理又有操作员管理和修改密码模 块 6 26 2 数据模块的设置数据模块的设置 在编写数据库应用程序时 经常要遇到这样的情况 即好多组件 窗体同 时访问相同的数据源 如果为每一个组件或者窗体都设置一个数据源将是十分 耗时的工件 而且要保证这些数据源的确是相同的也需花一番功夫 那么 能 不能将这些数据源集中管理 最好是做成一个统一的模块 需要时就将该模块 引入而不必直接操作数据源本身呢 数据模块 DataModule 是解决这个问题 最好的答案 简单说来 数据模块是用来集中管理数据源的一个窗体 该窗体 可被需要的地方随时引入 在图 1 中 除报表窗体外所有的数据存取组件和数据源组件都在此数据模 块中进行了定义 值得一提的是 设置了数据库 Database 组件 该组件引入了 系统所需的唯一的数据库 tsxs Database 组件的 DatabaseName 属性设置为 tsckgl tsxs 数据库已在 ODBC 配置程序中进行了设置 其他的数据存取组件 都是基于此数据库组件创建的 这样做的好处是 当数据库的别名或者其他信 息改变之后 只需修改 Tdatabase 组件的 AliasName 属性即可 591 论文网 www 591LW com 第 15 页 共 26 页 另外 在本系统的数据模块窗体图中 大多采用的 AODQuery 组件而没有采 用 BDE 组件 这主要是基于对 ADO 组件的了解 在 Delphi 的学习过程中增加了 对 ADO 组件了解 使用也较 BDE 更为熟练 而且 ADO 组件的功能也较 BDE 更为 强大 所以在这里大多采用 ADO 组件来进行数据库联接 同时也使用了 BDE 组 件中的 Table 因为在某些时候 BDE 有着其自身特有的优越性 6 36 3 主要功能模块的实现主要功能模块的实现 6 3 16 3 1 登录模块登录模块 登录模块的主要功能是验证用户名及密码正确性 以及判定用户的权限既 区别管理员与一般用户 登录页面主要代码如下 strUserID edit1 Text 取用户输入的用户名 strpassword edit2 Text 取用户输入的密码 if strUserID and strpassword then begin with dm cx do begin sql clear sql add select from Usersk where UserID strUserID and Password strpassword open if isempty then 查询结果记录集为空 showmessage 姓名或密码错 else begin 读取权限 并判断权限的值 form2 Show 密码 帐号验证成功的话 就进入主采单 self Hide edit1 Text 清空编辑框 edit2 Text end close 关闭数据集 ADODataSet1 end end else showmessage 姓名 密码不能为空 end procedure TForm1 Button2Click Sender TObject begin 591 论文网 www 591LW com 第 16 页 共 26 页 close 点出按纽推出 登录界面主要功能是判断用户名及密码是否正确 以及判定用户权限 登录效果图 图 2 系统登录图 6 3 26 3 2 系统主页面系统主页面 系统主界面是整个 OA 系统的核心 通过前面的登录验证 他将向不同的用 户开放不同的功能 系统主页面代码如下 procedur cdk ADOQuery1 SQL clear ADOQuery1 SQL add select PermissionID from Role Permissionsk where Role Name select Role Name from User Rolesk where UserID strUserID ADOQuery1 Open adoquery1 First while not adoquery1 eof do begin cdk cdk ADOQuery1 Fields FieldByName PermissionID asInteger adoquery1 next end If 1 in cdk then N2 Visible true else N2 Visible false 591 论文网 www 591LW com 第 17 页 共 26 页 图 3 系统主界面 6 3 36 3 3 内部通信模块内部通信模块 内部通信是为内部通信的模块 在这一模块 用户可以通过输入 IP 地址的 方式与任何用户进行交流 其主要代码如下 if key 13 and edit1 Text then begin NMUDP1 ReportLevel Status Basic NMUDP1 RemotePort 8888 if listbox1 Items listBOX1 itemINdex computerName then edit1 text ComputerName 自言自语到 edit1 Text else edit1 Text ComputerName 对 listbox1 Items listbox1 itemindex 说 edit1 Text TmpStr Edit1 Text MyStream TMemoryStream Create try MyStream Write TmpStr 1 length edit1 text if listbox1 ItemIndex 0 then begin for i 1 to listbox1 Items Count 1 do begin NMudp1 RemoteHost listbox1 Items i 591 论文网 www 591LW com 第 18 页 共 26 页 NMudp1 SendStream MyStream begin NMudp1 RemoteHost listbox1 Items listbox1 itemindex NMudp1 SendStream Mystream end finally mystream Free end edit1 Text edit1 SetFocus end else edit1 SetFocus end 图 4 内部通信 6 3 46 3 4 发送通知发送通知 发送通知模块为管理员使用的模块 通过这一模块 可以将信息迅速传递 个没一个人 发送通知模块代码 591 论文网 www 591LW com 第 19 页 共 26 页 begin with ClientSocket1 do begin if Active then begin Active False ConnectFlag False end if Length EDit2 Text 0 then begin Host edit2 Text Active True end end end procedure TForm8 Button2Click Sender TObject begin if ConnectFlag then ClientSocket1 Socket SendText edit1 text else showmessage 连接失败 form9 Show self Hide end 图 5 发送通知 591 论文网 www 591LW co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年车罩行业研究报告及未来行业发展趋势预测
- 2025年中裤行业研究报告及未来行业发展趋势预测
- 2025年汽车包围行业研究报告及未来行业发展趋势预测
- 2025西安浐灞第三初级中学招聘备考练习试题及答案解析
- 2025四川儿童医院第一批眼科技师招聘1人备考练习试题及答案解析
- 2025年度企业内部维修保养人员劳务派遣合同
- 2025版水面环境保护与修复承包协议
- 2025版企业战略规划商务咨询费服务协议
- 2025版招投标投标担保合同电子化平台建设与应用
- 2025年车辆抵押贷款服务合同模板
- 科学版(2024)一年级全一册体育与健康全册教案(表格式)
- 二零二五年度汽车销售商与汽车电子设备供应商合作协议范本
- 2025年中小学教师师德师风知识考试试题及答案
- 2025版小学语文新课程标准
- 电液伺服控制阀和比例阀课件
- 教育培训机构保密协议范本
- 《西方史学史》课件第一章
- 弹性力学徐芝纶答案
- 中学英语校本课程教材(Word)
- 甲醇溶液浓度密度对照表
- 维生系统专项施工方案(可编辑)
评论
0/150
提交评论