中小型企业的OA设计探究.docx

上传人:小飞机 文档编号:1665846 上传时间:2022-12-13 格式:DOCX 页数:25 大小:125.43KB
返回 下载 相关 举报
中小型企业的OA设计探究.docx_第1页
第1页 / 共25页
中小型企业的OA设计探究.docx_第2页
第2页 / 共25页
中小型企业的OA设计探究.docx_第3页
第3页 / 共25页
中小型企业的OA设计探究.docx_第4页
第4页 / 共25页
中小型企业的OA设计探究.docx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《中小型企业的OA设计探究.docx》由会员分享,可在线阅读,更多相关《中小型企业的OA设计探究.docx(25页珍藏版)》请在三一办公上搜索。

1、中小型企业的OA设计探究摘 要办公自动化是一个新兴的、复杂的、综合性的领域,它以计算机和网络技术为核心,同时涉及到自然科学、管理学、社会学、系统工程学等多种学科的内容。实现办公自动化可以极大地提高办公效率以及办公质量。本程序实现了OA办公系统的部分主要功能,即文档管理,电子邮件管理,发文管理等,同时使用了角色访问控制,增强了系统的安全性。其开发主要包括后台数据库的建立、管理和前端应用程序的开发两个方面。本文首先介绍了基于角色访问控制的OA系统的整体系统架构及Microsoft SQL SERVER 数据库的建立,然后对数据库进行了相关的设计,最后介绍了各个功能子模块的设计思路与具体实现方法。关

2、键词:OA系统;角色访问控制;SQL;数据库Design and Realization of OA System Based on RBACAbstractOA 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

3、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 involv

4、es 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

5、last, the design and the implementation of each module is introduced in detail.Key words:OA System; RBAC; SQL Server Database 目 录论文总页数:26页1 引 言21.1 课题背景21.2 国内外研究现状21.3 本课题研究的意义31.4 本课题的研究方法32 数据库概论32.1 数据库的发展32.1.1 数据库的发展32.1.2 数据库技术42.2 数据库理论基础42.2.1 数据库模型43 开发工具及RBAC知识简介53.1 Delphi6.0简介53.2 Delph

6、i6.0控件53.3 RBAC知识简介64 系统需求分析74.1 功能需求74.2 系统平台选择85 系统总体设计95.1 系统概要设计95.1.1 系统结构设计95.1.2 数据库设计105.2 系统详细设计136 系统应用程序设计146.1 系统模块组成146.2 数据模块的设置146.3 主要功能模块的实现156.3.1 登录模块156.3.2 系统主页面166.3.3 内部通信模块176.3.4 发送通知186.3.5 管理员操作206.3.6 数据组模块207 建议和措施21结 论21参考文献221 引 言1.1 课题背景OA办公系统是信息革命的产物,也是社会信息化的重要技术保证。回

7、顾近20年来微电子技术的进步和通信技术的突飞猛进的发展,各种先进的办公设备如雨后春笋般出现。为适应瞬息万变、竞争激烈的时代要求,各办公机构纷纷引入自动化系统。办公自动化作为当前国际上飞速发展的一门综合性新学科,已经越来越受到人们的重视。现今,随着各政府机构和企业内的计算机及局域网络应用的普及与深入,企业内部、企业与外界之间、政府机构内部、政府机构与外界之间需要交换或共享更多的信息与资源。为了能更有效地、准确地、快速地共享传递各种生产、销售数据及管理信息,加强政府机构和企业内部各部门间的联系,缩短工作流程、提高工作效率、实现资源共享、协同有效作业、集中统一管理以求降低运作及管理的成本,企业非常有

8、必要建立一个企业内部局域网,即实现企业办公自动化的网络信息平台OA办公系统。1.2 国内外研究现状世界OA系统的发展非常迅猛,世界各国政府极为重视本国的OA系统的发展,不惜花费巨资。美国的办公自动化在公司和企业中发展得比政府部门要早,并且水平也较高。各公司、企业不仅把OA视为提高效率、节约成本的手段,更是利用它来加强经营管理,作为提高企业素质和企业竞争能力的重要条件。回顾我国OA办公系统的进程,大致可以分为以下三个阶段:(1)以桌面字处理工具为典型的个人办公工具软件阶段,计算机的应用提高了个人工作效率。(2)基于关系型数据库技术,以C/S体系结构应用为特征阶段,这一阶段基本实现了部门级的数据处

9、理和公文处理的自动化。(3)基于符合Internet/Intranet技术标准的平台应用阶段,这一阶段,不仅在技术上有了很大进步,而且应用范围以从部门内部,部门之间扩展到行业系统内部,乃至跨部委跨系统。20世纪90年代以后,国外的OA办公系统发展趋势为以下四个方向:(1)OA设备向着高性能、多功能、复杂化和系统化发展。(2)OA系统向着数字化、智能化、无纸化和综合化发展。(3)以计算机为核心的办公工作站将向处理文字、数据、声音、图形的多媒体方向发展。(4)通信在OA系统的地位进一步加强,可以充分利用现代通信技术,建立全球的网络体系。1.3 本课题研究的意义OA办公系统是信息化社会最重要的标志之

10、一,它将人、计算机和信息三者结合为一个办公体系,构成一个服务于办公业务的人机信息处理系统。通过提高办公效率,使用先进的机器设备和技术,办公人员可以充分利用各种办公信息资源,从而提高办公效率,使办公业务从事务层次进入管理层,甚至辅助决策层,将办公和管理提高到一个崭新的水平。办公自动化的实现,不仅仅是取代秘书的部分工作,它更是将引起办公制度、工作方式、办公流程、传统习惯、工作环境和决策进程等方面的深刻变革,使办公行为科学化、规范化和标准化。各国的经验表明:国家经济现代化必须依赖各级管理水平的提高和办公自动化。因此,办公自动化必将对我国整个社会生活的各个方面产生深刻的影响。1.4 本课题的研究方法应

11、该说没有人怀疑计算机的出现给办公室职员带来的便利,但是对现代的办公自动化而言,其目的己经不局限于减轻员工的工作量,而是要将员工从繁琐的事务性工作中解放出来,用更多的精力去关注最重要的事情,从而提高企业的效率,增强企业的综合竞争能力。在这种办公模式下,企业的组织结构能够得到简化,各个部门在信息共享的基础上进行协作,便于明确各个部门甚至每个员工的责任,而决策层可以迅速综合来自各个方面的信息,并以此为依据制定企业的战略决策。从这个意义上讲,在市场竞争日趋白热化的今天,办公自动化己经不再是一种手段、一种工具,而成为决定企业生存发展的命脉。应此,我们通过OA系统所实施的交换式网络应用,使信息的传递更加快

12、捷和方便,从而极大地扩展了办公手段,实现了办公的高效率。2 数据库概论2.1 数据库的发展2.1.1 数据库的发展数据管理技术的发展,与硬件(主要是外存)、软件、计算机应用的范围有密切的联系。数据管理技术的发展经过三个阶段:人工管理阶段、文件系统阶段和数据库阶段。人工管理阶段和文件系统阶段都有着相当多的缺陷,诸如数据冗余性 ,数据不一致性以及数据联系弱等等。也正是由于这些原因,促使人们研究新的数据管理技术,从而产生了数据库技术。当进入数据库阶段后,随着数据管理规模一再扩大,数据量急剧增加,为了提高效率,开始时,人们只是对文件系统加以扩充,在应用文件中建立了许多辅助索引,形成倒排文件系统。但这并

13、不能最终解决问题。在20世纪60年代末,磁盘技术取得重要进展,具有数百兆容量和快速存取的磁盘陆续进入市场,成本也不高,为数据库技术的产生提供了良好的物质条件。2.1.2 数据库技术从文件系统发展到数据库系统是信息处理领域的一个重大变化。在文件系统阶段,人们关注的中心问题是系统功能的设计,因而程序设计处于主导地位,数据只起着服从程序需要的作用。在数据库方式下,信息处理观念已为新体系所取代,数据占据了中心位置。数据结构的设计成为信息系统首先关心的问题,而利用这些数据的应用程序设计则退居到以既定的数据结构为基础的外围地位。在数据库技术中有四个名词,其概念应该分清。(1)数据库(database,DB

14、):DB是统一管理的相关数据的集合。DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。(2)数据库管理系统(Database Management System,DBMS):DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型DBMS。(3)数据库系统(Database System,DBS):DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机

15、系统。(4)数据库技术:这是一门研究数据库的结构、存储、管理和使用的软件学科。数据库技术是操作系统的文件系统基础上发展起来的。而DBMS本身要在操作系统的支持下才能工作。数据库不仅用到数据结构的知识,而且丰富了数据结构的内容。在关系数据库中要用到集合论、数理逻辑的理论。因此,数据库技术是一门综合性较强的学科。2.2 数据库理论基础2.2.1 数据库模型模型是对现实世界的抽象。在数据库技术中,我们用模型的概念描述数据库的结构与语义,对现实世界进行抽象,表示实体类型及实体间联系的模型称为“数据模型”。目前广泛作用的数据模型可分为两种类型。一种是独立于计算机系统的模型,完全不涉及信息在系统中的表示,

16、只是用来描述某个特定组织所关心的信息结构,这类模型称为“概念数据模型” 。要领模型用于建立信息世界的数据模型,强调其语义表达功能,应该概念简单、清晰,易于用户理解,它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具。这一其中著名的模型是“实体关系模型”。另一种数据模型是直接面向数据库的逻辑结构,它是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,又称为“结构数据模型”。例如,层次、网状、关系、面向对象等模型。这类模型有严格的形式化定义,以便于在计算机系统中实现。面向对象模型能完整地描述现实世界的数据结构,具有丰富的表达能力,但模型相对较复杂,涉及的知识面也广,因

17、此面向对象数据库尚未达到关系数据库那样的普及程度。3 开发工具及RBAC知识简介3.1 Delphi6.0简介Delphi类可以粗略地分成两部分:一部分是组件类,这些组件类通常以某种方式出现在组件面板上,当用户从组件面板上点取一个类的图标后,在程序中就自动生成了该类的对象(非可视组件除外);另一部分是功能类,这此功能类的对象通常出现在程序代码中,起着不可代替的作用,但是这些功能类在组件面板上是找不到的。在Delphi中,每一个类的祖先都是Tobject类,整个类的层次结构就像一棵倒挂的树,在最顶层的树根即为Tobject类。这样,按照面向对象编程的基本思想,就使得用户可用Tobject类这个类

18、型代替任何其它类的数据类型。实际上在Delphi的类库中,Tobject类派生出了为数相当众多的子类,它们形成了一个庞大的体系,通常情况下,如果不自行开发组件,就不必了解整个类的体系结构,只用到类层次树的叶结点就足够了。凡是做过程序开发的人都知道从来没有单纯的数据应用程序,也就是说,数据库应用程序必须和用户界面(可以是图形界面,也可以是命令接口)元素相结合,只讲界面或只讲数据库本身都构不成数据库应用程序,因而用Delphi 6.0开发数据库应用程序就隐含着界面开发。3.2 Delphi6.0控件用Delphi6开发数据库应用,重点是和各种数据库组件打交道,当然也要使用其它的一些组件,现在就我在

19、系统设计中所使用的重要组件给予简单介绍。ADO数据对象(Active Data Objects)实际是一种提供访问各种数据类型的链接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口中,可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。ADO使您的客户端应用程序能够通过OLE DB提供访问和操作在数据库服务器中的数据。ADO支持用于建立C/S和Web的应用程序的主

20、要功能。其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。ADO同时具有远程数据服务(RDS)功能,通过RDS可以在一次往返过程中实现将数据从服务器移动到客户端应用程序和Web页、在客户端对数据进行处然后将更新结果返回服务器的操作。3.3 RBAC知识简介访问控制策略是大多数应用系统必须考虑的问题。本文提出的基于角色的访问控制是一种新型访问控制模型,它不仅能够实现传统访问控制的功能,同时还可以方便权限的管理,能够灵活地进行配置以适应系统的不同需求,提高系统的可扩展性。基于角色的访问控制是一种新型访问控制模型,它的基本思想是将权限与角色联系起来,在系统中根据应用的需要为不同的工作岗位创

21、建相应的角色,同时根据用户职务和责任指派合适的角色,用户通过所指派的角色获得相应的权限,实现对文件的访问。它支持最小特权、责任分离以及数据抽象三个基本的安全原则。这里的角色用一般业务系统中的术语来说,就是业务系统中的岗位、职位或者分工。它和用户组的最主要的区别在于,用户组是作为用户的一个集合来对待的,并不涉及它的授权许可;而角色则既是一个用户的集合,又是一个授权许可的集合。角色是指具有一定技能,可以执行某些工作的人员(或资源)集合。通过给成员赋予不同的角色,对成员的多职能进行表达,提供约束成员不同权限范围变化的依据。为了满足企业内既存在信息共享又存在信息独立的实际情况,在角色体系中采用双枝生成

22、模式,即整个角色体系的来源有两枝,其中一枝来自于相对固定的组织机构,是相对稳定的角色集合描述;另一枝在动态组合过程中动态创建,是更加依赖于动态项目和扩展需要而生成的,具有极大的时效性,随着项目或者企业扩展组合的变化会在活动态、冻结态和无效态之间变更。这样既保证了成员企业的相对独立性,又保证了与其他成员合作过程中的及时性和有效性。基于角色的访问控制设计需要一套既行之有效,又方便灵活的设计方案,要采用各种控制机制和保护技术。安全策略是设计安全可靠系统的准则,通常涉及下列几个方面:安全保护策略:安全策略是信息安全性的高级指导,策略出自对用户要求、设备环境、机构规则、法律约束等方面的详细研究。策略重要

23、性在于指导作用。而机构是实现和执行各种策略的功能的集合。安全策略:安全管理人员根据需要定义各种角色,并设置合适的访问权限,而用户根据其责任和资历再被指派为不同的角色。如图所示,角色可以看成是一个表达访问控制策略的语义结构,它可以表示承担特定工作的资格。安全管理的职责:安全管理有集中管理与分散管理两种。前者意指一切权利都由负责系统安全工作的专职人员或小组掌握,他(们)决定用户的访问权利,控制系统安全的一切方面。后者是指不同的管理员控制着系统安全的不同方面,管理系统的不同部分,决定不同用户的访问权利。安全保护机构:系统的安全保护机构基本上是与上面的安全策略相互适应的,保护机构应负责阻止一切物理破坏

24、和用户可能的操作破坏,后者归结为主体可用何种方式访问哪些对象。访问控制策略:它提供决定用户访问权利的依据。其中最重要的一个普遍的原则是“需者方知策略”。按照这一原则授予用户的权利,是用户能完成工作的最小权利集合,故也称之为“最少特权策略”。信息流动控制:只限制用户的访问权利而不考虑数据流动是极其危险的,控制数据流动以防止无权用户在数据流动后获得访问权利。软硬结合保护:这是安全保护的基本策略,许多硬件保护功能是软件难以实现的,有些即使能实现,效率也不高。安全管理控制核心是系统安全管理的核心控制部分,它在系统中控制整个系统的安全控制工作,由它决定系统是否启动安全管理,在什么情况下调用访问控制机构,

25、根据情况编写访问规则,如何将已有的访问规则应用于控制存贮访问规则。4 系统需求分析4.1 功能需求近年来,微机的普遍应用,在一定程度上提高了各部门的办公效率。但有限的技术能力,使这些面向各部门内部事务处理的办公自动化系统相互之间标准不统一,各自为政,难以集成。随着公司内部网络的建立,各部门的信息可以发布到Web上,使信息发布的效率和范围得到较大程度的改善,然而,由于公司内部网络仍缺少重要的信息传递和工作流程环节,部门之间仍无法实现信息共享和集成,从而难以实现各部门之间的高效率协作。为了提高了公司整体办公效率,需要具有先进水平的办公与管理机制提供强有力的支持。随着计算机技术、网络技术的迅速发展以

26、及系统科学、管理科学的引进,在现有的公司内部网络上建立高效、协调、集成的数字化办公系统己成为可能,这也是能够从根本上变革办公及管理体制的有效途径。OA办公系统呼之欲出。本论文的研究正是基于这一实际课题基于角色访问控制的OA办公系统项目。该系统提出的系统目标如下:OA办公系统需要满足来自2个方面的要求,一是系统管理员,另外一个是一般用户。系统管理员可以修改,删除用户,工作计划安排,工作日程安排,文档管理,还可以修改普通用户密码,并且可以使用发送通知功能,并能通过远程控制普通用户电脑,一般用户只能使用邮件管理,修改密码,查看工作计划等功能。在设计与开发中,重点如何解决各个不同用户使用本系统的权限问

27、题既角色访问控制,通过对登录的用户的权限的验证,获取对应角色的权限,在数据库中设置了3个字段,分别对应不同的权限,当用户以管理员身份进入系统以后,可以对普通用户权限进行修改,而以普通用户身份进入系统的时候则不可以,这样就保障系统的安全性;在软件开发与设计中能实现文档管理,电子邮件管理,工作任务管理,工作日程管理,发文管理等OA软件的主要功能。4.2 系统平台选择办公自动化不能简单地理解为文字处理、电子表格、个人资源管理(如记事日程)、资料入档等文档处理系统,办公自动化也不仅仅是秘书、档案员和办事员的事情。事实上,办公室业务也即管理业务,负责协调各项工作程序,办公自动化也即管理自动化。在自动化中

28、,仅有三分之一的工作是个人完成,其它三分之二的工作都与交往有关。OA系统的实施,需要单位内部的领导人员、行政管理人员、文秘人员、专业人员的共同参与;办公自动化系统支持各类办公人员工作的自动化。一个好的办公自动化系统应该为工作人员提供一个集成化的、多功能的办公桌面环境,解决办公人员因处理不同事务而需要使用不同工作环境的问题。结合对某公司办公自动化系统的应用需求的分析,认为对OA系统作需求分析,办公应用平台以及事务处理平台中满足以下的要求:首先,必须具有工作流性质的处理过程和监督功能,从而解决多部门协作问题,推动部门间的高效率协作;其次,提供集成处理与发布信息的工作平台,解决以往信息收集、处理和发

29、布过程相分割的问题,减少不必要的交接环节,提高工作便利性;再次,必须提供与其它管理信息系统(MIS)的信息交流,解决以往数据标准不一致而造成的信息收集困难的问题,减少额外的工作量和大量重复劳动。最后,还必须提供安全保障体系,不仅使系统的各层次人员被严格限制在自己的权限内,同时必须保证整个OA系统的安全、稳定和可靠的运行。所以,建立一流的办公自动化系统,需要先进、功能强大的应用开发平台,也就是说,所采用的应用开发平台应该能够适应计算机网络的发展趋势,有利于提高管理和办公的效率,有利于促进各部门之间的协同工作,有利于创建现代管理制度和工作方式。利用Delphi建立的企业信息集成系统,完全符合系统对

30、邮件与群件平台的要求。具有以下鲜明的特点:(1) 开发快捷、实施容易。应用系统的推出与使用是投资得以回报的关键。系统的应用或者办公管理应用则可以利用Delphi的快速开发、实施能力在较短的时间内实现。这非常适应办公管理需求多变、繁杂的特点。(2) 集成性。最终用户使用的邮件与群件应用系统是一套统一的应用系统,使用同一套应用软件。在相同的、唯一的界面下,用户可以获得邮件信息、办公信息、专业应用信息、关系数据库信息、Internet信息等各个方面的信息。这种集成能力是在软件平台一级获得的,而不是通过二次开发“强加”上去的。这大大减少开发的工作量,提高了应用系统的可靠性。而且对最终用户来说,不需要在

31、几个客户端软件或是应用程序之间、几个服务器系统或数据源之间来回切换。(3) 管理容易、机制完整。由于采用单一的软件系统,所有的应用开发都建立在统一的平台之上,主要的维护工作集中在应用管理一级,管理工作的难度与工作量大大降低。基于这些优势功能,基于角色访问控制的办公自动化系统则应该设计成以基于网络对象连接技术、多媒体文档结构以及跨越多种操作系统和多种数据库平台的应用系统,所以,可以把Delphi作为办公自动化系统的应用开发平台的主要选择。5 系统总体设计系统的总体设计大约要经历可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试以及维护等七个阶段。可行性分析和项目开发计划在前面已经

32、叙述,下面所要做的是进行软件需求分析,概要设计和详细设计。编码过程将在下一节论述,而测试和维护过程不在本文叙及。5.1 系统概要设计在软件需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。现在所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。首先,需要描述的是系统的总的体系结构。5.1.1 系统结构设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是

33、为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。首先将整个系统化分为几个小问题,小模块,在系统中,设计了用户管理,通信管理,文档管理,发文管理等几个小模块。然后,进一步细分模块,添加细节。比如,对用户管理又将其分为操作员员管理、密码修改等小模块,工作日程管理又分为工作日志,工作日程,工作计划等模块。5.1.2 数据库设计在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界

34、,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。数据库结构设计中,需要具备MIS系统中的常规模块,比如用户管理、权限管理等等;同时,数据库设计还要明确表现出RBAC的理论,所以本部分是整个设计方案的一个重要环节。出于方案的通用性和易于普及性要求,

35、数据库设计必须经过结构优化,既要给功能实现提供良好的内在机制支持和功能扩展潜力,又要简便易于理解。良好的数据库结构设计本身就可以表述RBAC的要求。在很大程度上,基干角色访问控制功能的实现方案的标准化是由数据库结构决定的。RBAC对数据库结构的要求有以下三点:便于扩展应用规模和附加业务功能。1) 清晰无误,合理简洁的表述出角色分类,角色分配等RBAC逻辑内涵。2) 便于管理变动,减小管理工具设计难度。当遇到需增减用户,用户职位调变动,机构改革,管理方式改革等情况时,仅仅需要通过管理工具变动数据库中的用户信息,用户/角色信息,角色信息,角色/权限关系,权限定义等等就可以实现,而无需变动应用方案的

36、业务逻辑。一个系统RBAC,所需要涉及的数据库主要有:用户数据库,角色信息库,用户/角色信息库,权限信息库,角色/权限信息库。a) 用户表这里我们所说的用户,是指程序的使用用户。用户表保存用户基本信息,如姓名,电话等。UserID为标志用户的Primary Key。用户信息表格式如表1所示。表1 用户表列名数据类型长度允许空UserIDvarchar20 UserNamevarchar20否Departmentvarchar20Passwordvarchar20否b) 角色信息库/角色表角色信息库/角色表Rolesk保存的是各个等级的规则角色、管理角色的定义信息。角色信息库/角色表格式如表2所

37、示。表2 角色表列名数据类型长度允许空Role_Namevarchar20 Pre_rolevarchar20Descriptionvarchar200Role_Name:角色名称,为 Primary key:主键Pre_role指定该角色的先决角色,一个角色的先决角色就是一个要被赋予该角色之前首先要先具有的角色。Pre_role参考了表中的Role_Name主键,即:Pre_role要么取值为Role_Name主键列中的一个值,要么为空值null。定义Pre_role数据项,为实现先决角色约束提供了基础。Description:变长度字符串,用于对角色的功能做语言描述以便于查看。b) 权限关

38、系表权限信息库Permissionsk是一个应用中规定的所有权限的描述信息存储场所。对于一个特定的应用来说是最基层的信息,为了使权限信息库的信息与角色/权限信息库中的权限含义保持一致,权限信息库定义要尽可能详细完备,在定义完毕之后要尽量减少改动,但可以根据业务功能扩展的需要随意添加。权限信息表形式如表3所示。表3 权限信息表列名数据类型长度允许空PermissionIDint20 ObjectNamevarchar20否由于权限信息库中对权限的描述的ObjectName项是字符串类型变量,因此所描述的权限即可以是针对具体的系统资源,可以根据业务逻辑需要而灵活定义。d) 角色/权限信息库角色/权

39、限信息库保存各个角色对应拥有哪些权限。实际上该表中保存的是一个角色定义的所有的权限。角色/权限信息表格式如表4所示。表4 角色/权限信息表列名数据类型长度允许空Role_Namevarchar20 PermissionIDint20外键Role_Name和PermissionID参考Rolesk表和 Permissionsk表中的同名列,使这三个表的数据项保持一致性、完整性。对参照完整性定义为级联删除,级联更改,即当被参照的主码被删除或更改时,参照该主键的所有外码与被参照关系表中要删除或更改的主码相对应的原组一起被删除或更改为新值。例如:当某个角色被删除时,角色/权限关系表中与该角色相对应的角

40、色/权限元组全部被删除。如表中所示一个Role_Name可以对应多个权限PermissionID,一个权限PermissionID也可以对应多个Role_Name,当要查询一个角色所拥有的所有权限时,可以用语句select * from Role_Permissionskwhere Role_Name“被查询的角色名”e) 用户/角色信息库用户/角色信息库保存各个用户所拥有的角色信息。用户/角色信息表格式如表5所示。:表5 用户/角色信息表列名数据类型长度允许空UserIDvarchar20 否 PermissionIDint20否表User_Rolesk中的UserID和Role_Name定

41、义为不可取空值的外码,分别参照Userk表和Rolesk表中的同名主码,且为级联的删除、更改。f) 考勤记录表考勤记录表主要用于记录个人考勤情况。如表6所示。表6 考勤记录表列名数据类型长度允许空Nameint20否 Datedatetime8否Recordvarchar200d) 通知表通知表是用来记录发送的通知,以备查询。如表7所示。表7 公文表列名数据类型长度允许空Nameint20否Datedatetime8否Comentvarchar2005.2 系统详细设计在前面的概要设计中,已将系统划分为多个模块,并将它们按照一定的原则组装起来,同时确定了每个功能及模块之间的外部接口。现在所要做

42、的就是确定每个模块具体执行过程,也可以说是“过程设计”。此详细设计的结果基本决定了最终程序的质量。为软件的质量,延长软件的生存期,软件的可测试性、可维护性提供重要的保障。详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程清晰易读。由前一阶段产生系统功能模块图,为系统的主要部分设计了如下的模块关系图:图1 系统模块关系图通过以上步骤,基本上完成了对整个系统的总体设计,接下来所要做的就是软件的编码工作。系统总体设计的好坏直接影响着下一步工作,只有在这一阶段设计出好的模块图和程序流程图,才能更有利于编码,产生好的软件系统。6 系统应用程序设计6.1 系统模块组成OA办公系统模

43、块由系统管理、文档管理、电子邮件管理、工作任务管理、工作日程管理、发文管理等模块构成。系统管理又有操作员管理和修改密码模块。6.2 数据模块的设置在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源。如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工件,而且要保证这些数据源的确是相同的也需花一番功夫。那么,能不能将这些数据源集中管理,最好是做成一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身呢?数据模块(DataModule)是解决这个问题最好的答案。简单说来,数据模块是用来集中管理数据源的一个窗体,该窗体可被需要的地方随时引入。在图1中,除报表

44、窗体外所有的数据存取组件和数据源组件都在此数据模块中进行了定义。值得一提的是,设置了数据库Database组件,该组件引入了系统所需的唯一的数据库tsxs,Database组件的DatabaseName属性设置为tsckgl。tsxs数据库已在ODBC配置程序中进行了设置。其他的数据存取组件都是基于此数据库组件创建的,这样做的好处是,当数据库的别名或者其他信息改变之后,只需修改Tdatabase组件的AliasName属性即可。另外,在本系统的数据模块窗体图中,大多采用的AODQuery组件而没有采用BDE组件,这主要是基于对ADO组件的了解。在Delphi的学习过程中增加了对ADO组件了解,

45、使用也较BDE更为熟练,而且ADO组件的功能也较BDE更为强大,所以在这里大多采用ADO组件来进行数据库联接。同时也使用了BDE组件中的Table,因为在某些时候BDE有着其自身特有的优越性。6.3 主要功能模块的实现6.3.1 登录模块登录模块的主要功能是验证用户名及密码正确性,以及判定用户的权限既区别管理员与一般用户。登录页面主要代码如下:strUserID:=edit1.Text; /取用户输入的用户名strpassword:=edit2.Text; /取用户输入的密码if (strUserID)and(strpassword) thenbeginwith dm.cx do begins

46、ql.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; /关闭数据集ADODataSet1end;endelseshowmessage(姓名、密码不

47、能为空。);end;procedure TForm1.Button2Click(Sender: TObject);beginclose; /点出按纽推出。登录界面主要功能是判断用户名及密码是否正确,以及判定用户权限。登录效果图:图2 系统登录图6.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.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号