进出口贸易公司数据管理平台系统创新_第1页
进出口贸易公司数据管理平台系统创新_第2页
进出口贸易公司数据管理平台系统创新_第3页
进出口贸易公司数据管理平台系统创新_第4页
进出口贸易公司数据管理平台系统创新_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文科研训练、毕业设计题目进出口贸易公司数据管理平台系统姓名邱少烽学院软件学院系专业软件工程年级2003级复合型学号01162027指导教师(校内)苏淑文职称助教指导教师(校外)职称2005年5月30日厦门大学本科生毕业论文软件学院邱少烽进出口贸易公司数据管理平台系统摘要进出口贸易公司数据管理平台系统包含了两大模块的设计,1是系统管理模块,2是数据管理模块,数据管理模块又包含首页、产品管理、项目管理、样品管理、订单管理、出货管理和收汇管理。通过对该数据管理平台系统的设计与开发,有效组织公司的大量数据,实现办公的自动化,继而实现公司信息管理的系统化。该系统采用B/S结构,后台基于SQLSERVER2000数据库,前台采用ASP开发,完成后的系统将可在浏览器上完成绝大部分的数据显示与操作,另外涉及到需要输出的文档均以文本文件、邮件、WORD文档或EXCEL文档的形式,方便易用。ASP开发中,采用MVC构架,实现逻辑层与表示层的分离。通过对该系统的研究,形成一套针对于中小型,贸易型公司的数据管理平台的开发思路与模式。开发过程中形成高复用性模块,以加速今后类似数据管理平台的开发速度与质量。关键词ASPMVCB/S数据管理系统管理厦门大学本科生毕业论文软件学院邱少烽DATAMANAGEMENTPLATFORMSYSTEMOFTRADINGCOMPANYOFIMPORTSANDEXPORTSABSTRACTTHEDATAMANAGEMENTPLATFORMSYSTEMOFTRADINGCOMPANYOFTHEEXITINCLUDESTHEDESIGNOFTWOMAJORMODULE,1ISTHESYSTEMMANAGEMENTMODULE,2ISDATAMANAGEMENTMODULE,DATAMANAGEMENTMODULEINCLUDEHOME,PRODUCTSMANAGEMENT,PROJECTMANAGEMENT,SAMPLEMANAGEMENT,ORDERMANAGE,PRODUCETHEGOODSNOTTOMANAGEANDCOLLECTTOMANAGETHROUGHTOTHEDESIGNANDDEVELOPMENTOFTHISDATAMANAGEMENTPLATFORMSYSTEM,ORGANIZEALARGENUMBEROFDATAOFTHECOMPANYEFFECTIVELY,REALIZETHEAUTOMATIONTHATHANDLESOFFICIALBUSINESS,THENREALIZETHESYSTEMATIZATIONOFCOMPANYSINFORMATIONMANAGEMENTTHISSYSTEMADOPTSB/SSTRUCTURE,THEBACKSTAGESUPPORTERISBECAUSEOFSQLSERVER2000DATABASE,THEFRONTDESKADOPTSASPDEVELOPMENT,THESYSTEMAFTERFINISHINGCANFINISHMOSTDATATOSHOWANDOPERATEONTHEBROWSER,THEFILEINVOLVEDNEEDINGTOOUTPUTINADDITIONISINTEXTFILE,THEFORMSOFMAIL,WORDFILEOREXCELFILE,ITISUSEDTHATITISCONVENIENTTOBEEASYINASPISDEVELOPED,ADOPTMVCFRAMEWORK,REALIZESTHELOGICLAYERANDEXPRESSESTHESEPARATIONOFLAYERTHROUGHSTUDYONTHISSYSTEM,TAKESHAPEONEDIRECTAGAINSTONMEDIUMANDSMALLSCALE,TRADEDATAMANAGEMENTDEVELOPMENTTHINKINGANDMODEOFPLATFORMOFCOMPANYDEVELOPCOURSEFORMHIGHTOISITUSEMODULETOREPLY,INORDERTOISITSIMILARTODEVELOPMENTSPEEDANDQUALITY,DATAMANAGEMENTOFPLATFORMINTHEFUTURETOACCELERATEKEYWORDSASPMVCB/SDATAMANAGEMENTSYSTEMMANAGEMENT厦门大学本科生毕业论文软件学院邱少烽目录引言1第一章项目概述211项目总体介绍212界面说明3121界面风格说明3122列表页面风格4123明细页面风格413系统管理模块514数据管理模块6141首页6142产品管理6143项目管理,样品管理7144订单管理,出货管理,收汇管理8第二章项目相关技术921技术及配置简介922关于选择ASP923选择MVC架构10231MVC如何工作11232为什么要使用MVC11233MVC的缺点12234MVC是一条创建软件的好途径13第三章系统管理模块的设计与实现1431员工,用户信息的表设计1432角色的表设计15厦门大学本科生毕业论文软件学院邱少烽33权限的表设计1534用户与角色的表设计1635角色与权限的表设计1636用户,角色与权限1737关于系统管理模块21结论25致谢26参考文献27厦门大学本科生毕业论文软件学院邱少烽1引言为某进出口贸易公司设计一套统一的数据管理平台系统,以加强数据共享,提高工作效率,为公司决策提高量化数据。以改变该公司现有的以文件级共享为基础,大量手工操作为方法的低效信息共享方式。该数据管理平台主要涵盖系统管理模块与数据管理模块。通过系统管理模块,可提供对不同用户的访问权限控制。通过数据管理模块,可实现对客户与项目信息,订单、收汇及出货信息,以及产品与样品信息的实时跟踪与自动化管理。该数据管理平台系统可很大程度上加快信息交流速度与信息共享质量,从而提高公司工作效率。通过对该数据管理平台系统的设计与开发,有效组织公司的大量数据,实现办公的自动化,继而实现公司信息管理的系统化。通过对该系统的研究,形成一套针对于中小型,贸易型公司的数据管理平台的开发思路与模式。开发过程中形成高复用性模块,以加速今后类似数据管理平台的开发速度与质量。厦门大学本科生毕业论文软件学院邱少烽2第一章项目概述11项目总体介绍该数据管理平台主要涵盖了系统管理模块(由本人独立完成)与数据管理模块(协同小组成员共同完成)。根据公司的业务特点与业务流程,数据管理模块又可以具体细分为首页、产品管理、项目管理、样品管理、订单管理、出货管理和收汇管理等7个具体的模块。系统管理模块对应系统管理员的工作,主要包括角色的创建,权限的分配,网页的安全性等问题;数据管理模块则主要包括产品管理对应产品部门的工作,项目管理对应与客户交互的过程,而订单模块则包含下单后的所有工作,包括了出货和收汇工作,是跟单员、QC主管、船务、单证员和财务的工作重点,具体功能分解如图1所示。图1数据管理平台系统功能分解图进出口贸易公司数据管理平台系统系统管理模块数据管理模块首页产品管理项目管理样品管理订单管理出货管理收汇管理厦门大学本科生毕业论文软件学院邱少烽312系统界面说明121界面风格说明界面风格说明如图2所示。图2界面风格说明图页面第一行版本记录公司信息定位导航条主体内容活动看板厦门大学本科生毕业论文软件学院邱少烽4122列表页面风格列表页面风格如图3所示。图3列表页面风格图123明细页面风格明细页面风格如图4所示。图4明细页面风格图查询域列表域明细域相关模块厦门大学本科生毕业论文软件学院邱少烽513系统管理模块系统管理模块是该数据管理平台系统的框架基础模块,主要对应的是系统管理员的工作,主要包括用户管理和基础数据的维护,功能分解如图5所示。图5系统管理功能分解图此模块是本人此次毕业设计的重点,主要包括系统登陆后的权限问题,由于公司具有登陆该系统账号的员工众多,根据公司要求,登陆此系统后必须根据职位不同,分工不同,分配登陆人员不同的权限,例如,任何人员都有浏览通讯录的权限,但只有管理员才有修改,编辑,删除,新增通讯录的权限;再例如,该系统的某些模块具有一定的保密性,并不是所有登陆人员都可以查看,甚至是修改,这些模块只允许公司管理层的人员浏览,只允许更高层人员修改,编辑。对于这些要求,为每个登陆账号逐一分配权限是不可能的,那样,工作量将极为繁琐,所以,必须根据公司的不同工种,不同职务,创建相应的多种类型的角色,把符合员工职位,工种的角色分配给他们。这样一来,就可以通过编辑角色的权限,来修改一类员工的权限,事半功倍,而达到更好的登陆效果和管理效果。在角色权限上,主要分为四种模式,分别为查看,编辑,增加和删除;又可以通过模块分为系统管理和数据管理两大模块,数据管理模块又可以细分为首页、产品管理、项目管理、样品管理、订单管理、出货管理和收汇管理七个小模块,方便角色的编辑查找工作。系统管理还涉及到一个网页的安全性问题,即必须防止用户通过在IE栏上敲入URL地系统管理用户管理基础数据员工信息定义角色信息定义用户角色分配模块角色定义登陆注销密码修改操作日志部门设置资料国家地区信息客户渠道信息厦门大学本科生毕业论文软件学院邱少烽6址来访问不可到达的相关网页,以上提到的一系列问题将在系统管理模块的设计与实现中从技术性的角度一一解答。14数据管理模块141首页当我们打开IE页,进入该数据管理平台系统时,我们首先将进入首页模块,而且在未登陆之前,我们也只能始终停留在该模块。未登陆之前,我们只允许浏览首页模块的几个功能小板块,包括通讯录和一些参考资料,功能分解如图6所示。图6首页功能分解图142产品管理产品管理是数据管理平台系统的核心基础模块,系统所有的业务都将基于它而建立。它主要对应的是产品部门的工作,主要包括产品管理、配件管理和消息管理,功能分解如图7所示。首页公司信息参考资料今日动态公司通知通讯录色值对应世界时间国际区号单位换算域名对照厦门大学本科生毕业论文软件学院邱少烽7图7产品管理功能分解图143项目管理,样品管理项目管理和样品管理是该数据管理平台系统的基础业务模块,对应的是业务部门的日常工作。它基于产品管理的数据,记录与客户的每一次交互信息,主要包括客户管理、项目跟踪报价管理,样品管理以及消息管理,它的功能分解如图8所示。图8项目管理,样品管理功能分解图产品类别产品管理产品明细管理配件管理消息管理产品资料产品箱规配件类别价格查询采购建议产品目录配件资料供应商出库单生产计划单项目管理客户管理项目明细管理项目消息管理样品管理样品明细管理寄件管理样品消息管理厦门大学本科生毕业论文软件学院邱少烽8144订单管理,出货管理,收汇管理订单,出货,收汇管理是该数据管理平台系统中核心业务模块,包含了所有的订单处理工作。根据订单的工作流程,可将其分为订单、生产、出货和收汇四个步骤,它的功能分解如图9所示。图9订单管理,出货管理,收汇管理功能分解图订单,出货,收汇管理单证管理订单管理出货,货代管理收汇管理消息管理厦门大学本科生毕业论文软件学院邱少烽9第二章项目相关技术21技术及配置简介系统采用B/S结构,后台基于SQLSERVER2000数据库,前台采用ASP开发,完成后的系统将可在浏览器上完成绝大部分的数据显示与操作,另外涉及到需要输出的文档均以文本文件、邮件、WORD文档或EXCEL文档的形式,方便易用。除去辅助开发所需的一些工具软件外,系统所需的软件列表如表1软件类型软件名称应用平台WINDOWS2000PROFESSIONAL/XP数据库软件SQLSERVER2000、IIS50服务器开发工具ULTRAEDIT应用平台WINDOWS2000/98/XP客户端应用软件IE、OFFICE系列表1系统组网软件列表ASP开发中,采用MVC构架,实现逻辑层与表示层的分离。22关于选择ASPASP(ACTIVESERVERPAGES动态网页,是微软公司推出的一种用以取代CGI(COMMONGATEWAYINTERFACE通用网关接口的技术。我们可以通过ASP结合HTML语言、ASP指令和ACTIVEX元件以及数据库等方面知识,使用自己的WEB服务器创建并运行动态的交互式WEB站点。ASP的主要优点大概可以归纳如下1、您可以用VBSCRIPT或JSCRIPT创建脚本,同时结合HTML语言就能够非常方便地完成网站的应用程序。对于VBSCRIPT和JSCRIPT,使用哪种语言并不重要,WEB服务器等同地处理这两种语言,并向用户的浏览器发送HTML格式化结果。厦门大学本科生毕业论文软件学院邱少烽102、因为ASP采用SCRIPT语言(VBSCRIPT和JSCRIPT)就可以轻松编写程序,因此这就大节省了网络设计人员又得重新学习一种新语言的时间。而且编写ASP无须手工COMPILE编译或链接程序,可在服务器端直接执行,这无疑是更加方便了我们的编写过程。3、使用普通的使用记事本之类的文本编辑器,即可进行编辑设计,如WINDOWS的记事本。建议不要用FONTPAGE98或DREAMWEAVER20等主页制作软件修改,因为他们会破坏源代码的。在这里我建议使用CUTEFTP携带的CUTEHTML编辑器进行编辑设计。4、ASP是运行在服务器端,所以我们无须担心浏览器是否支持ASP所使用的编程语言,用户端只要使用可执行HTML码的浏览器,即可浏览ACTIVESERVERPAGES所设计的网页内容。ASP在服务器端运行,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。5、ASP能与任何ACTIVEXSCRIPTING语言相容。除了可用VBSCRIPT或JSCRIPT语言来设计外,还通过PLUGIN的方式,使用由第三方所提供的其他脚本语言,譬如PERL、TCL等。脚本引擎是处理脚本程序的COMCOMPONENTOBJECTMODEL组件。6、ACTIVESERVERPAGES的程序代码隐藏,在客户端上仅可以看到由ASP输出的动态HTML文件。因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。7、可使用服务器端的脚本来产生客户端的脚本。8、面向对象(OBJECTORIENTED),并可扩展ACTIVEXSERVER组件功能。9、ACTIVEXSERVERCOMPONENTSACTIVEX服务器组件具有无限可扩充性。你可以使用任何编程语言来编写你所需要的ACTIVEXSERVER组件。10、可以通过ADO(ACTIVEXDATAOBJECTS,微软的一种新的数据访问模型,是一种可以提供WEB页面开发者轻松存取INTERNET的数据库,并可以在用户端实现网上立即、即时更新显示的最新WEB页面数据库技术。)非常方便地访问数据库,从而使存取数据库变得轻松容易。23选择MVC构架MVC设计模式带来更好的软件结构和代码重用。模型视图控制器(MVC)是XEROXPARC在八十年代为编程语言SMALLTALK80发明的一种软件设计模式,至今已被广泛使用。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。厦门大学本科生毕业论文软件学院邱少烽11231MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件模型、视图、控制器。它们各自处理自己的任务。视图是用户看到并与之交互的界面。对老式的WEB应用程序来说,视图就是由HTML元素组成的界面,在新式的WEB应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MACROMEDIAFLASH和象XHTML,XML/XSL,WML等一些标识语言和WEBSERVICES如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBS和COLDFUSIONCOMPONENTS这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击WEB页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。现在我们总结VC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。232为什么要使用MVC大部分WEB应用程序都是用像ASP,PHP,或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。首先,最重要的一点是多个视图能共享一个模型,正如我所提及的,现在需要用越来越多的方式来访问你的应用程序。对此,其中一个解决之道是使用MVC,无论你的用户想要厦门大学本科生毕业论文软件学院邱少烽12FLASH界面或是WAP界面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是它们也有可能要用MACROMEDIAFLASH和WAP来表示。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被FLASH网站或者无线联网的应用程序所重用。因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。如果你想把你的数据库从MYSQL移植到ORACLE,或者改变你的基于RDBMS数据源到LDAP,只需改变你的模型即可。一旦你正确的实现了模型,不管你的数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松偶合的构件。对我来说,控制器的也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。233MVC的缺点MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。你将不得不花费相当可观的时间去考虑如何将MVC运用到你的应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫无顾忌的重用它们了。根据我个人经验,由于我们将一个应用程序分成了三个部件,所以使用MVC同时也意味着你将要管理比以前更多的文件,这一点是显而易见的。这样好像我们的工作量增加了,但是请记住这比起它所能带给我们的好处是不值一提。MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。厦门大学本科生毕业论文软件学院邱少烽13234MVC是一条创建软件的好途径MVC设计模式是一个很好创建软件的途径,它所提倡的一些原则,像内容和显示互相分离可能比较好理解。但是如果你要隔离模型、视图和控制器的构件,你可能需要重新思考你的应用程序,尤其是应用程序的构架方面。如果你肯接受MVC,并且有能力应付它所带来的额外的工作和复杂性,MVC将会使你的软件在健壮性,代码重用和结构方面上一个新的台阶。厦门大学本科生毕业论文软件学院邱少烽14第三章系统管理模块的设计与实现31员工,用户信息的表设计首先,必须考虑员工,用户的信息问题,因此,设计EMPLOYEE表如表2所示,表名EMPLOYEE字段英文名中文名类型非空备注ID用户IDINTY主键系统自动生成ID号与表EMPLOYEE_ROLE的EMPLOYEE_ID相关联COMPANY_ID公司IDINT1表示恒好公司;2表示荣兴达工厂DEPT_ID部门IDINTDUTY职务VARCHAR50RESPON职责VARCHAR250UID登陆IDVARCHAR20不一定要填写CN_NAME姓名VARCHAR20EN_NAME英文名VARCHAR20PHONE电话号码VARCHAR20EXT分机号VARCHAR5XLTPHONE小灵通号码VARCHAR20MOBILE手机号VARCHAR20EMAIL电子邮件VARCHAR50IPIP地址VARCHAR16STMT_PWD密码2VARCHAR20密码2PWD登陆密码VARCHAR20系统登陆用的密码620位DSCP备注VARCHAR250表2EMPLOYEE表的设计表格此表在系统管理模块的用户帐号上和首页模块的通讯录上使用,需要注意的是,通讯录上只有对该表进行浏览的权限,而在用户帐号上,则具备查看,编辑,新增和删除权限。厦门大学本科生毕业论文软件学院邱少烽1532角色的表设计考虑到角色信息问题,设计ROLE表如表3所示,表名ROLE字段英文名中文名类型非空备注ID角色IDINTY主键系统自动生成ID号与表ROLE_PERMISSION的ROLE_ID相关联NAME角色名称VARCHAR20YDSCP备注VARCHAR250表3ROLE表的设计表格33权限的表设计考虑到权限信息问题,设计PERMISSION表如表4所示,表名PERMISSION字段英文名中文名类型非空描述ID许可权限IDINTY主键系统自动生成ID号NAME许可权限名称VARCHAR150YPRIVILEGE_TYPE权限类型IDINTY包括四种权限,1,查看,2,编辑,3,添加,4,删除PATTERN_TYPE模块类型IDINTY包括八种模块,1,首页,2,产品管理,3,项目管理,4,样品管理,5,订单管理,6,出货管理,7,收汇管理,8,系统管理DSCP描述VARCHAR250表4PERMISSION表的设计表格该系统建立之初,提供一个系统管理员的角色,并把该角色分配给某个用户,即管理员。管理员角色具有使用该系统的所有功能的权限,并且,只有具备管理员角色的用户才能进行系统维护工作。使用者可以根据需要,附给某个用户,即管理员该角色的权限。然后通过此用户登陆系统,建立各种角色,根据工种的不同,职位的高低需要附给各种角色不同类型的权限,再把新建立的角色根据需要附给与其职位高低,工种类型相匹配的的用户使用,达到厦门大学本科生毕业论文软件学院邱少烽16不同的管理目的。该系统的权限分为四大类,具体为查看权限,编辑权限,添加权限和删除权限。此外,权限还可以通过另外一种模式分类,具体方法是该系统一共有八个模块,于是所有权限便可以通过分属于不同模块而分为八大模块。例如,“部门资料查看权限”,它属于查看权限,编辑权限,添加权限和删除权限四大类中的查看权限;又可以通过系统一共有八个模块的分类方法,属于系统管理模块的权限。34用户与角色的表设计如何把用户表和角色表关联起来,这里,我们需要创建这么一张表格,如表5所示,表名EMPLOYEE_ROLE字段英文名中文名类型非空描述IDIDINTY主键,系统自动生成ID号EMPLOYEE_ID用户IDINTROLE_ID角色IDINT表5EMPLOYEE_ROLE表的设计表格如此,表EMPLOYEE的字段ID和表EMPLOYEE_ROLE的字段EMPLOYEE_ID均表示用户的ID号,具备唯一性,彼此相关联;表ROLE的字段ID和表EMPLOYEE_ROLE的字段ROLE_ID均表示角色的ID号,彼此相关联。这样,通过EMPLOYEE_ROLE表,把EMPLOYEE表和ROLE表紧密地结合在一起,如图10所示。图1035角色与权限的表设计如何把角色表和权限表关联起来,这里,我们需要创建这么一张表格,如表6所示,表名ROLE_PERMISSION字段EMPLOYEE_ROLEEMPLOYEE_IDROLE_IDEMPLOYEEID其他字段ROLEID其他字段厦门大学本科生毕业论文软件学院邱少烽17英文名中文名类型非空描述IDIDINTY主键,系统自动生成ID号ROLE_ID角色IDINTPERM_ID许可权限IDINT表6ROLE_PERMISSION表的设计表格如此表所示,表ROLE的字段ID与表ROLE_PERMISSION的字段ROLE_ID均表示角色的ID号码,彼此相关联;表PERMISSION的字段ID与表ROLE_PERMISSION的字段PERM_ID均表示角色的ID号码,彼此相关联。如此,通过ROLE_PERMISSION表,就可以把ROLE表和PERMISSION表紧密地结合在一起了,如图11所示。图1136用户,角色与权限通过添加EMPLOYEE_ROLE与ROLE_PEMISSION这两张表格,于是,我们将EMPLOYEE表,ROLE表和PERMISSION表有机的结合在一块,这五张表格互相配合,便形成了系统管理模块用户权限系统的基础。下面,将详细介绍一下如何添加一个具有某种角色的用户。首先,我们应该新增加一个角色类型,图11角色列表图ROLE_PERMISSIONROLE_IDPERM_IDROLEID其他字段PERMISSIONID其他字段厦门大学本科生毕业论文软件学院邱少烽18如图11所示,我们点击新增,将弹出以下窗口,如图12,写入角色名,点击保存图12角色编辑图例如,我们新增加了一个普通浏览权限的角色,在图11的角色名栏中就会出现这么一个角色名称。我们双击它,便如图13所示图13角色明细列表图于是我们可以通过权限类型,或者通过权限所属模块,更或者直接敲入所需要查找的权限名称的查找,找到自己所需要的权限,这些权限将在权限名称一栏一一列出来,我们可以通过在左边的小框打勾,进行一个权限或者多个权限的同时添加。接下来是我们要做的是增加一个新用户的信息工作,厦门大学本科生毕业论文软件学院邱少烽19图14用户信息列表图如图14所示,这是用户信息的列表,我们可以点击新增按钮,便弹出如图15所示,图15用户信息编辑图之一厦门大学本科生毕业论文软件学院邱少烽20将所有信息一一输入后,点击保存,此时我们便增加完一位新的用户信息,返回图14所示窗口,例如我们新增的员工名称为简树良,我们双击他的名字,进入图16页面图16用户信息编辑图之二现在,可以考虑增加该用户的角色了,点击图16的新增按钮,如图17所示图17用户信息角色编辑图选中所需要的角色,点击增加,即可。若之前已经增加过的角色则不会在图17的角色名称列表栏上面出现,避免重复和不必要的麻烦。厦门大学本科生毕业论文软件学院邱少烽2137系统管理模块的其他要点第一,我们在编辑用户信息的用户登陆名时,加入了一段验证代码,用于从数据库检验是否此登陆名此前已经被使用过,若无使用过,则可以成功添加,否则,会有提示,请重新输入。通过这样来确保用户登陆名的唯一性。但在此前,则是考虑使用的是在数据库表EMPLOYEE上加以用户登陆名字段的唯一性,确实,如此做法较为方便,但一旦用户输入输入了重复的登陆名,虽然在结果上是和现在的方法是一样的,既无法成功添加,但是,在系统的提示效果上却较为不人性化,运用先前的解决方法,提示出错是一些较为专业的出错提示,由数据库系统自动完成;而运用后者,则会弹出一提示框,提示出错和出错缘由,显然后者较为妥当,这也是我们开发研究系统今后必须加以注意的地方。第二,关于密码的输入问题,我们仿效了一般的网站注册程序一样,必须先后两次输入一样的密码,才可以成功保存,如此可以减少不必要的麻烦。第三,关于用户的角色和角色的权限的编辑问题,我们新增用户角色的时候,不应该把所有的角色全部列在列表栏上面,应该在这个列表的SQL语句上加入一些限定,即应该把该用户本身已经具备的角色排除在列表栏外,以避免重复的添加,同样的问题也出现在角色的权限编辑上,也必须加以注意。第四,注意到图5的密码2了吗根据客户的要求,一个用户必须具备两套密码,当使用不同密码登陆时,他所具备的角色应该是不同的,换句话说,当使用密码1登陆时,该用户应该具备他的用户信息栏里面所选择的角色,但使用第二套密码登陆时,即任何用户使用密码2登陆时,应该具备一个统一的角色,但是登陆框的提示登陆名还必须是使用者本人。于是,本人想到了,是否可以在创建一个用户A他只具备密码1,他的角色就是使用第2套密码登陆系统后所应该具备的角色,而任何人若使用第2套密码登陆系统,便相当于此人使用第1套密码登陆,但登陆名则要显示为使用第2套密码登陆的人的登陆名。如图18所示,厦门大学本科生毕业论文软件学院邱少烽22图18密码1和密码2的登陆差别图见以下这段代码1FUNCTIONLOGIN2DIMUID3DIMPWD4DIMSQL56UIDREQUEST“LOGINID“7PWDREQUEST“LOGINPW“89SESSION“USER_ID“10SESSION“DENGLUMING“1112SQL“SELECTCOUNTFROMEMPLOYEEWHEREUID“SQLSTRUID“ANDSTMT_PWD“SQLSTRPWD1314IFCINTSQLSELECTONEFIELDSQL0THEN1516SESSION“USER_ID“2“17SESSION“DENGLUMING“UID18LOGINTRUE1920ELSE21SQL“SELECTCOUNTFROMEMPLOYEEWHEREUID“SQLSTRUID“ANDPWD“SQLSTRPWD2223IFCINTSQLSELECTONEFIELDSQL0THEN24用户登陆使用第1套密码正常登陆使用第2套密码登陆记住登陆名相当于A用户使用第1套密码登陆系统提示框所显示的登陆名为使用第2套密码登陆的用户的登陆名厦门大学本科生毕业论文软件学院邱少烽2325SQL“SELECTIDFROMEMPLOYEEWHEREUID“SQLSTRUID“ANDPWD“SQLSTRPWD26SESSION“USER_ID“SQLSELECTONEFIELDSQL27SESSION“DENGLUMING“UID28LOGINTRUE2930ELSE31SESSION“DENGLUMING“32LOGINFALSE33ENDIF34ENDIF35ENDFUNCTION第12行代码表示首先判断是否输入的密码为第2套密码第1418行表示判断是否使用第2套密码登陆,若是,则记住登陆名,系统认为是A用户登陆,显示记住的登陆名;若否,则继续往下第1929行表示判断是否使用第1套密码的登陆,若是,则正常登陆,若否,则继续第3035行表示若用户名和密码均不匹配,则函数返回FALSE,提示登陆出错框。第五,关于防止通过在IE栏上输入URL地址而进入使用者不具备查看权限的网页。根据顾客的要求,为了防止某些用户通过其他途径得到某些重要的而自己又不具备访问权限的网页地址,通过在IE栏上面敲入URL地址,进入这些重要页面,本人考虑在UTILSASP中加入两个验证函数,通过该函数的调用已完成客户的需求。首先,我们进入任何页面之前,必须先登陆系统,每个页面在被访问前,都会调用系统是否被登陆的验证函数,若系统未被登陆,页面将始终停留在登陆页面上;接下来,登陆系统后,我们在访问任何页面之前,页面还会调用另外一个验证函数,判断该用户是否有查看该部分页面的权限,还记得我们的权限分类上有这么一种分类吗就是根据权限的类型分为查看,编辑,增加和删除,查看的权限就是在这个时候起作用的。试想一下,若你连查看的权限都没有,怎么有办法去进行编辑,增加和删除呢我们的权限分得很细,具体到了八个模块的下一级下拉菜单部分。举例说明,某个用户的具有的角色里包含了系统管理模块的用户帐号的查看权限,不具备系统管理模块的角色资料的任何权限,那么当他点击系统管理页面时,下拉菜单栏只有用户帐号的一栏,而没有出现角色资料一栏,你可以通过鼠标点击用户帐号,对用户帐号进行查看,而你却无法通过鼠标点击角色资料一栏进行查看,因为这一栏根本不存在,而顾客担心的问题便出现了,该用户虽然无法用鼠标点击角色资料一栏,因为他根本没有出现,但它可以利用其他途径找到进入角色资料的URL地址,在IE上敲入即可,于是,第二个验证函数此时起作用了,首先它会判断该用户是否具备角色资料查看权限,若不具备,系统将提示无此权限,于是就无法进入该页面了。以下是关于两个验证函数的代码1SUBCHECKPAGEPRIVILEGE2DIMSTRPAGEURL3DIMPRIVILEGECODE4DIMI5DIMCURRMENUITEM厦门大学本科生毕业论文软件学院邱少烽246DIMBMATCHED7DIMAMENUDEFINE8DIMTARGETREF910如果还没有登陆系统则首先重定位到首页11IFSESSION“USER_ID“ANDMYREQUEST“NOLOGIN“TRUE“THEN12RESPONSEREDIRECT“/NOLOGINTRUE“后面增加一个NOLOGINTRUE是为了避免在首页循环的重定位。13ENDIF1415PRIVILEGECODE“16STRPAGEURLREQUESTS

温馨提示

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

评论

0/150

提交评论