资源描述
. . . . 本科毕业论文(设计)题目基于B/S模式的高校科研管理系统的设计与实现 人员管理和安全性维护学院计算机与信息科学学院专业计算机科学与技术年级级学号姓名指导教师成绩 _ _年月日目 录摘要13Abstract13第一章引言241.1 高校科研管理系统的概念与现状分析241.2 系统任务24第二章系统概要设计462.1 采用B/S结构模式462.2 采用IIS作WEB Server572.3 WWW服务平台选取ASP技术572.4 选取SQL SERVER数据库792.5 系统的安全技术792.6 数据一致性控制810第三章系统总体设计9113.1 系统需求分析9113.1.1 系统用户需求模型的建立9113.1.2 系统主要业务流程介绍10123.2系统设计原则11133.3 系统功能模块设计12143.4 系统流程分析13153.5 数据库设计14163.5.1 数据库概念设计14163.5.2 数据库逻辑设计15173.5.3 数据库物理设计16183.6 系统运行环境18203.6.1硬件环境18203.6.2 软件环境1820第四章系统的具体实现19214.1 用户登录模块19214.1.1系统功能分析19214.1.2 设计用户登陆系统主界面模块20224.2 人员管理23254.2.1 设计人员查询模块24264.2.2 添加和修改用户模块25274.2.3 设计修改密码模块27294.2.4 设计删除用户模块28304.2.5 设计退出登录模块29314.3 安全性管理29314.3.1 权限管理29314.3.2 数据安全性管理31334.3.3 数据一致性管理3234第五章结论3335参考文献3335致谢343636 / 39基于B/S模式的高校科研管理系统的设计与实现人员管理和安全性维护 西南大学计算机与信息科学学院,重庆 400715摘要:本文在对当前高校科研管理信息分析的基础上、从科研管理工作和用户出发,就如何利用Internet网在高校建立起科学的管理系统以提高学校的科研管理能力进行了全面阐述。针对现有高校科研管理的实际情况,开发基于Web环境的科研管理系统,使学校的科研管理工作能够快速、方便、准确、安全地得以实现,从而保障高校科研管理科学化、规范化和高效化。本系统的设计能够较好地完成高校科研管理工作的部分业务,具有项目管理、人员管理等多种业务功能。本文介绍了用Asp与Sql技术相结合开发高校科研管理系统的意义与实现用户登录、人员管理和权限管理的方法,具体从系统概述、系统分析与设计、系统实现等几个方面对系统进行了阐述。关键词:Web,科研管理系统,数据库Universal Management System of University Science ResearchBased on Browser/Server Technology -personnel management and secure maintenanceCollege of Computer and Information Science ,Southwest University, Chongqing 400715, ChinaAbstract:Based on the analysis of present management information for science research in universities, according to the fact of the science research management and clients requirement, in this paper, we expound how to use the Internet in universities to establish scientific management system to enhance the schools research management capabilities. In view of the existing situation of the scientific management in universities, thispaper develops a scientific managing system based on Web to ensure that a scientificmanagement can be achieved conveniently, accurately and safely in theuniversity, which in turn results in a scientific, standardized and efficient scientificmanagement in the university.The design of this system can be used to complete some operational of scientific research management work in universities. The main function constituted in the paper are staff management, project management. This article discusses the significance of using Asp and Sql technology to develop universities and collegesscientific research management system, and how to design and realize sucha system in order to make it well accommodateright management、personal information management, login models, and it has carried on the elaboration to the system concretely from the system outline, the system analysis and the design, the system realization and the application to expound the system.keyword:Web,scientific managing system,database第一章引言1.1 高校科研管理系统的概念与现状分析科研管理作为高校管理的一项重要内容,它包括对教师、科研人员的基本科研情况、科研机构、纵向科研项目、横向科研项目、科研成果、科技成果转化等管理工作。做好科研管理工作,对于稳定科研秩序、与时掌握科研人员的基本情况、项目进展情况、提高科研管理质量都具有十分重要的意义。随着科技信息量的迅猛增长以与计算机技术、网络技术和数据库技术的快速发展,使信息的收集、统计、和交换更加简单方便。如何利用已有技术和条件,使工作效率提高,工作量减少,使科研管理工作更加规范化、科学化、现代化,并以计算机为主要工具,对组织内部管理诸要素进行优化组合,使人流、物流、资金流和信息流处于最佳状态,以最少的资源投入获得最满意的综合效益,已显得非常重要。目前各个高校科研量化工作一般无法做到科学精确的统计,也缺乏针对性的并且符合高校科研量化特性的软件。随着国家高等教育体制的转变,高校科研管理工作无论从数量还是质量都是传统手工管理和计算机辅助管理所不能胜任的,尤其近年来,高校科研力度的加大,同时基于教育科研网的高校校园网络建设逐步普与和完善,使得以往旧模式下的科研管理系统越来越不能适应新形式的需求。因此,设计高效、先进、科学的科研管理信息系统日益重要。结合高校科研管理现状,从制定系统的功能目标和性能目标出发,探讨适合普通高校使用的基于校园网络的科研管理系统的设计开发过程。1.2 系统任务科研门户网站是高校科研活动信息发布和交流的平台,它由科研动态、科研项目通知、科研成果管理通知、信息检索、下载专区、管理文件、企业合作等栏目组成,栏目和栏目内容可以在网上动态更新、维护。信息检索包括科研人员、科研项目、科研论文、专利成果、著作、获奖等,检索内容和科研管理系统的内部数据保持同步更新。同时,人们对界面的友好性有了更高的要求,科研门户网站应该提供良好的用户界面,便于一般用户访问。科研管理系统:科研管理系统是本项目建设的核心部分。科研管理系统向全校科研工作人员开放。支持老师与科研人员、科技处管理人员、系统管理员多级用户使用模式。科研管理系统包括科研项目管理、人员管理、参加人员管理、年度统计、系统维护等功能。科研管理系统根据业务流程和用户需求提供良好的操作平台和完善的功能,为繁琐复杂的科研管理工作开辟了新道路,大大的减少科研管理人员的工作量,使得整个科研系统变得井井有条,明晰方便。在本系统的运行下可以完成全校各部门教师科研信息的收集、校科研处管理人员和系统管理人员进行分层式地管理全校的科研信息。教师可以在任何地点通过此系统申报自己的科研项目,可以查看与自己相关项目的详细信息,可以修改自己的登陆密码。教师还可以通过该系统与时在门户网站上查询相关的反馈信息。科技处管理员可以对科研项目进行管理,如项目相关数据的设置,项目详情的查询,项目信息的修改、删除,项目的审批和验收等等,同时还能够对门户网站进行信息管理。科研处利用该系统可以获取各部门科研水平高低的定量数据,同时也为科研经费的调拨提供依据。系统管理员可以对系统的基本数据进行维护;对科研人员信息进行管理,并能进行权限管理,设定相关人员的特定权限。通过该系统大大提高了高校科研管理的能力和效率。第二章 系统概要设计2.1 采用B/S结构模式目前应用广泛的 Web 数据库系统是一种基于 B/S(Browser/Server)结构的系统。B/S 模式结构通常为三层结构,它以 WEB 数据库为中心、以 为传输协议,客户端通过浏览器访问 Web 服务器和与其相连的后台数据库。其三层结构组成如图 2-1 所示:图 2-1 三层 B/S 模式示意图Fig21 Three Layer Browser/Server Configuration进行信息查询时,用户通过浏览器向 Web 服务器发出请求,Web 服务器端远程数据服务组件处理该请求并将该请求发向 DBMS(数据库管理系统),它响应该请求并发回数据。这种基于 B/S 结构的系统极大简化了客户机的工作,客户机中只需安装浏览器软件,服务器将承担更多的工作,对数据库的访问和应用程序的执行都在服务器端完成。在三层体系结构下,表示层、功能层、数据层被分割成三个相对独立的单元:1. 表示层:表示层的作用是提供用户界面,用户通过界面浏览信息和数据,并向中间层 Web 服务器发出请求,当接到 Web 服务器传送回的数据后,对这些数据进行解释和显示,把打开的 HTML 文件解释为用户端的可视界面。2. 中间层(功能层):中间层位于 Web 服务器端,是用户服务和数据服务层逻辑桥梁,其任务是负责接收远程或本地的数据查询请求,然后运行服务器脚本,通过 SQL 等方式把数据请求通过数据库驱动程序发送到数据库服务器中,以获取相关数据,再把数据库服务器处理的结果转化成 HTML 与各种脚本传回客户端浏览器。3. 数据层:数据层位于数据库服务器端,包含系统的数据处理逻辑。它的任务是接收Web 服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给 Web 服务器。与传统的 C/S(Client/Server)结构相比,B/S 结构具有以下优点: 1. 它简化了客户端,只需要在客户端安装浏览器软件既可(IE或Netscape),不用在不同的客户端上安装不同的客户应用程序;2. 简化了系统的开发和维护。B/S结构的所有功能都在Web服务器上实现,使开发和维护工作大大减轻;3. 使用户的操作使用更加简单;4. 适用于网上信息的发布。B/S不论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。B/S 结构的系统,数据维护方便,客户端无需专用的软件,有较好的网络扩展性,系统中的程序和数据的物理位置已经不再重要,访问者关心的是 URL 地址。B/S结构的系统具有良好的安全性能:防火墙技术可以保证后台数据库的安全性,结合数据库和Web 服务器的安全性,使用户可以实现系统的安全。2.2 采用IIS作WEB ServerInternet information Server(IIS)是微软公司开发的一个Internet 信息发布平台,它主要包括三个功能:World Wide Wed(www)服务功能;Gopher服务器功能;FTP服务。其中WWW是最流行服务之一,它提供了图形接口,用户可以下载以WWW格式存储的信息;Gopher服务能够帮助用户查询信息;FTP服务用于文件传输。在科技信息系统中,主要用到IIS中的WWW服务。2.3 WWW服务平台选取ASP技术ASP(Active Server Pages)是 Microsoft 公司发布的一个Web服务器端的开发环境,利用它可以产生和运行动态的交互的高性能的Web服务器应用程序。它的运行环境是Microsoft的IIS(Windows NT环境)或 PWS(Personal WebServer,Windows95/98 环境),但它不能运行在“非 Microsoft”的操作环境下,不能实现真正的跨平台操作。ASP 可以使用 ADO的Connection、Command 和 Record set 对象,可以完成与数据库连接、SQL语句的执行以与查询结果集的保存、遍历和显示等工作。ASP不但可以进行复杂的数据库操作,而且生成的页面具有很强的交互性,用户可以方便地控制和管理数据。因此,可以利用 ASP 建立一个可交互的、高效的Web 应用程序。ASP 技术的最大优点是完全运用客户机/服务器模式进行分工,服务器端负责解释脚本语言,而客户端则专门负责画面的显示与输入。ASP 把脚本语言(VBscript 或 Jscript)嵌在 HTML 文档里,当客户端浏览网页时,网页服务器会激活编译程序引擎对其进行编译,生成标准的 HTML 标记语言返回给客户端,所以完全没有必要担心用户使用的浏览器类型,所有的处理都在服务器端,由ASP 程序来完成,用户只需要一个标准的浏览器(如 InternetExplorer、Netscape Communicator、Opera、Kid Explorer 等),能够支持标准的 HTML语言即可。ASP 的工作原理如图 2-2所示:图2-2 ASP的工作原理图Fig 2-2 ASP Work DragramASP 具有以下特点:使用VBSCRIPT,JSCRIPT等简单的脚本语言,结合HTML代码,即可快速地完成网站的应用程序;1. 不需编译。ASP容易编写,无须经过编译或关联外部应用程序就可以直接在服务器端执行;2. 纯文本格式。使用一般的文本编辑格式,用Windows的记事本就可编辑设计;3. 与游览器无关。客户端只要使用一般可运行HTML的浏览器,即可浏览用ASP设计的主页内容,脚本语言VBSRIPT和JSCRIPT均在WEB服务器端执行,用户的浏览器不需要执行这些脚本语言;4. 可扩充脚本语言。除了可使用VBSRIPT或JSCRIPT语言来设计外,通过PLUG-IN的方式使用由第三方所提供的其它脚本语言,比如PERL等。只需第三方提供相应的脚本引擎即可;5. 面向对象。ASP脚本语言为面向对象的编程方式;6. 可扩充服务器端功能。通过调用ActiveX服务器组件增加ASP的功能,可用VB, Java,VC+等编程语言开发ActiveX服务器组件;7. 源代码的保密性。ASP文件的源代码不会传到客户的浏览器上,因此,可以保护开发人员辛苦写出的源代码不外泄,从而提高程序的安全性。2.4 选取SQL SERVER数据库SQL Server作为微软在Windows 系列平台上开发的数据库。其特点表现为:1. 简单易学2. 兼容性良好SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性。3. 性能稳定可靠、支持XML SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以与便捷的数据库管理。4. 数据的安全性好Sybase SQL Server可支持在线备份(系统运行的同时可在另一个硬件设备上备份数据),镜像硬盘与事务日志恢复技术,使系统具有良好的在线故障恢复能力,一旦系统遭到攻击后,能很快恢复到以前的状态。因此我们采用安全,可靠,可在线备份与恢复的 Sybase SQL Server2000,以降低由于系统停运而带来的损失。2.5 系统的安全技术科研管理信息系统的安全性可以从以下几个方面来保证其安全。一是用户身份认证,二是关键信息的加密技术;三是存取控制。通过对用户的身份认证,给不同的用户分配不同的权限,实现对网络的安全控制,防止信息的泄密。利用IIS所提供的工具设置安全可以很简单地完成对用户权限的管理。加密技术是保护数据库中的关键数据和保密数据不被他人窃取的另一种主动性的防御方法。采用加密算法,把保护的数据转换成密文的形式存储起来,只有具有私钥或公钥的人,才能打开密文,进行阅读等操作。否则即使被盗,对方看到的也只是一推乱码。由于加密与解密是比较费时的操作,并且数据的加密、解密和程序会占用大量的系统资源,因此,数据的加密功能可作为可选的功能,由用户自由选择,只对重要数据进行加密。高校科研管理信息系统加密方法有:文件加密、记录加密、字段加密。加密技术的使用,可以保证其中较高级别的技术成果,保护学院的知识产权。存取控制指的是数据库系统中,为了保证用户只能访问其有权存取的数据,必须对每个用户预先给予权限。对于合法用户,系统根据其权限规定他的各种操作程序,不能越权使用,否则系统将拒绝其操作程序。用户身份的认证、存取控制等安全措施都是强制机制,将用户操作限制在规定的范围内。但实际上任何系统的安全性都不是尽善尽美的,假如数据相当敏感,或数据处理极为重要时,就必须以审计技术作为预防手段,监测可能的不法行为。利用数据加密对浏览器和服务器之间传输的数据和口令进行加密,还可以充分利用视图。利用视图,用户不能访问表实体,而是访问虚拟地址表,只允许查看表的一部分,达到保密的效果。视图在此起到了“防火墙”的作用。2.6 数据一致性控制数据库的数据完整性是指数据的正确性与相容性,也就是在多用户,多进程共享数据的环境中,保证更新的一致性,保证数据库中的数据是正确的,不出现与实际不符的情况。在进行数据库详细设计时,对关键基表的某些字段的值设置约束条件,当输入任何其它不合法字符时,系统将根据约束条件自动判断是否接受。单值约束只是一种静态约束,比较容易设计。还有一种约束是动态约束,是指数据库从一种状态转变为另一种状态时所应满足的约束条件,例如删除、修改一个数据库基表中的某条记录时,其它与之相关数据也要做某些相应的操作才能保证数据库之间数据的一致性。设计时考虑对重要操作进行事务控制:利用回滚机制,保护数据一致性。另外,若系统采用C/S和B/S两种体系结构,在设计程序时,也必须保证两种体系结构的数据的协调和一致,特别是对于部门间的共享数据,需要采取一定的技术手段和策略来保证数据的同步变化。第三章系统总体设计3.1 系统需求分析3.1.1 系统用户需求模型的建立此系统主要应用在高校,用于各高校的科研管理工作,因此将以学校的模式建立该系统的模型。通过对高校科研管理工作流程和业务的了解,不同身份的用户对应着不同的需求,使用这个系统的用户主要分为以下几种角色:门户网站访问者,一般教师,科研处管理人员,系统管理员。这些角色通过使用与其角色权限对应的功能模块进行科研管理工作,使得整个系统有条不紊的运行。下面介绍一下不同用户的业务需求。1. 门户网站访问者:访问门户网站上的公开信息。2. 一般教师:对于全校凡是从事科研工作的人员都可以提供自己的科研信息,因此这里的教师角色是一个广义的概念角色,并不一定都是上课的老师。一般教师可对个人的信息进行维护,对个人项目信息进行查看,可进行项目申请等等。3. 科研处管理人员:科研处管理人员除了对校科研工作进行监督和管理之外同时也具有一般教师的双层身份,能够使用一般教师权限的所有功能。主要负责科研项目管理,项目参与人员管理,同时还能使用一般教师权限的功能。4. 系统管理员:对系统的基本人员信息进行管理以与通过权限的设定来设定各种角色的不同使用权限,同时对基本数据进行维护。系统用户需求模型如图3-1所示:图3-1 系统用户需求模型图Fig 3-1 System User Demand Module关于本系统要说明的几个问题:1. 学校每个人员都有自己固定的账号和密码,这是由系统管理员设定好了的,每个人员的信息是由系统管理员使用人员管理功能模块录入到数据库中去的。2. 项目号由科研处管理人员在项目相关数据设置模块为特定的项目设定的,并随机产生密码,以便项目负责人用项目号和密码登陆项目申请模块,提交相关申请信息。3. 项目参与人员的信息由项目负责人对应相关项目进行录入,在项目申请时间段内,项目负责人可以对提交的信息进行修改,包括申请简表的修改和项目参与人员信息的修改,项目申请时间段过了之后,项目参与人员(包括增加参与人员,删除参与人员,修改参与人员信息)的管理则只由科研处管理人员负责。4. 项目审批同意,则科研处为项目立项,系统设定审批同意的时间就是项目的开始时间,项目验收同意时间就是项目的结束时间。5. 项目状态有三种:申请,在研,结题。3.1.2 系统主要业务流程介绍项目管理的业务流程图图 3-2 项目管理业务流程图Fig 3-2 Project ManagementTransaction Flow Diagram1. 项目申请的业务流程图3-3 项目申请业务流程图Fig 3-3 Project ApplicationTransaction Flow Diagram2. 项目审批 科技处管理人员用自己的用户名和密码登陆后,在项目审批模块可以看到待审批项目的列表,根据查看到的相关项目信息,对审批做出两种判断:同意和不同意。然后提交结论。3. 项目验收项目负责人向科研处提交验收报告,科研处管理人员根据项目合同信息,项目申请表信息等各方面的信息对项目进行审查,审查合格则同意验收,项目状态转为结题,并发出项目结题通知,否则通知项目负责人验收不合格,推迟验收时间。3.2系统设计原则:系统设计应符合高校科研管理规律的客观原则。使信息适应组织运作的要求,并使其向科学化和高效化方向发展。1. 系统定位。在建立网络信息系统时,首先必须明确系统的服务对象是谁,系统主要应该完成哪方面的管理工作。对不同的对象,不同的用户群,系统的功能有不同的要求。2. 技术的先进性和合理性。在实际的系统设计中,应当根据系统定位和系统规模等综合因素,既要考虑技术的先进性,又要考虑实际应用的需求和合理性,处理好先进性和合理性的关系,以达到最优的性价比。3. 系统的可扩展性、可管理性和可维护性。在设计该系统时,充分考虑系统以后的扩展,包括系统网络拓扑结构的扩展和系统功能的扩展。同时也应该充分考虑系统的管理与维护工作,使系统的管理与维护工作量较小。4. 系统的安全性。主要有系统访问控制机制来实现,同时建立服务器安全设置,系统数据备份等。根据以上原则,进行系统总体设计时,应满足以下要求:1. 功能可裁剪、组合性和扩展性软件总体结构与数据库结构的设计都考虑到以后扩展的需要。通过采用大型数据库 SQL Server 2000 和先进的开发工具ASP来开发本平台系统,确保系统能适应未来发展的需要。设计的诸多功能模块是可裁剪和组合的,而不是不可分割的一个整体。2. 较高的安全性和保密性科研管理的数据要求准确,保密性要求高。为此我们主要采用以下策略来保证:(1)多层次的用户管理模式;(2)采用最新的操作系统 WINDOWS SERVER 2003 平台并给系统打上最新的补丁和选用 SQL Server 2000 作为后台数据库,以与数据加密技术。3. 用户友善性用户界面设计友好、易用,与 Windows 界面的设计风格一致。3.3 系统功能模块设计根据需求分析,对系统的流程进行细致的考察和分解,同时根据不同角色的功能需求,从实际出发规划出系统的功能。图3-4为系统的总体功能模块图:1. 门户网站:门户网站上的公告通知,合作企业链接,下载专区由科研处人员启用信息公告模块进行发布,添加,删除,修改。信息检索可根据检索条件查询到相关信息。门户网站上公布的信息与数据库中的内容保持一致,能够与时更新。2. 用户登录:在门户网站上有一个科研管理系统入口,输入用户名和密码后,系统验证是否有此用户,以与密码是否正确,然后根据此用户的权限返回给用户不同的操作界面。3. 个人信息维护:完成科研人员的个人信息维护,包括个人基本信息的查询,个人登陆密码的修改,个人项目详细情况的查询。图3-4 系统总体功能模块图Fig 3-4 System Function Module Diagram4. 人员管理:此模块主要完成对一般教师,科技处管理人员,系统管理员基本信息的管理,其子模块功能图3-5所示:图3-5 人员管理模块Fig 3-5 Personnel Management Module Diagram5. 权限管理:此模块用来设定系统不同用户对系统功能模块的使用权限。6. 项目管理:完成整个项目管理所有功能,其中项目相关数据设置指的是给项目分配项目号和密码以与设定项目申请的开始时间和结束时间,并可以对设定的申请开始时间和结束时间灵活改动。7. 项目参与人员管理:一个项目不仅有其负责人还有项目的参与人员,而参与人员在项目的在研过程中常有变动,因此可对项目参与人员信息进行修改,添加和删除项目参与人员。8. 项目申请:所有的科研人员都能够进行项目申请。在门户网站上有一个项目申请入口,项目负责人通过到科技处领取项目号和密码,即可登陆项目申请模块,提交相关信息,提交的信息主要包括:项目申请简表,项目参与人员的简要信息。图3-6 项目管理模块Fig 3-6 Project Management Module Diagram3.4 系统流程分析图3-7 系统流程图Fig 3-7 System Flow Diagram从本系统的流程图中可以清楚地看到不同用户对功能模块的使用情况,系统管理员对用户权限进行了设定,当用户通过用户登陆模块进入系统时,系统将根据用户的权限返回不同的页面,页面上包含了此用户能够使用的功能模块。页面如下:图3-8 科研处管理人员页面Fig 3-8 Managers Of Scientific Research Page3.5 数据库设计3.5.1 数据库概念设计通过对业务流程的了解,进行数据抽象,形成反映信息需求的概念数据模型。下面是系统的实体联系图:图 3-9 系统实体联系图Fig 3-9 System Entity and Relationship Diagram3.5.2 数据库逻辑设计在数据库概念设计的基础上进行逻辑设计,将概念模型向关系数据模型进行转化,给出数据库中的关系模式,并对关系数据模型进行优化和消除依赖处理,得出本系统的数据库最终的关系模式。下面是本系统的主要关系模式,其中带下画线的属性组为关系的码。1. 人缘(人员代码,人员XX,登陆密码,XX号码,性别,民族,出生日期,职称,所在学院名,职务,最后学历,研究方向,权限)说明:此关系模式和E-R图中的教师实体相对应,只是某些属性的名称不一样。2. 项目(项目号,项目名称,项目负责人XX,项目负责人号,所属院系名称,所属学科,申请经费,计划开始时间,计划结束时间,实际开始时间,实际结束时间,主要研究内容,项目状态,项目来源)3. 参与人员(参与项目号,参与人员代码,参与人员名称,参与项目名,性别,学历,年龄,所在单位,职称,承担的任务)4. 公告(公告编号,通知公告名称,公告提交时间,公告内容)5. 合作企业(企业编号,企业名称,企业基本情况介绍,企业主页地址)3.5.3 数据库物理设计逻辑设计完成后下一步就是进行系统的物理设计,物理设计是在计算机的物理设备上确定采取的数据存储结构和存取方法。通过对科研管理系统的业务需求分析,根据数据库设计规范,来设计数据表。以下为主要的几个基本数据表:表3-1project 项目信息表字段名称字段类型字段长度字段说明p_namevarchar40项目名称 p_idint4项目号 如:2005110主键p_masternamevarchar16负责人名称p_masteridvarchar10负责人代码 外键p_departmentvarchar20院系部门名称p_subjectvarchar20所属学科p_moneymoney8申请经费p_btimedatetime8计划开始时间p_etimedatetime8计划结束时间p_contentvarchar500主要研究内容,研究意义p_statevarchar10项目状态p_sourcevarchar30项目来源 ID 外键p_startdatetime8项目开始时间p_surpportvarchar50支持单位P_sortvarchar10项目类别:横向、纵向p_finishdatetime8项目结束时间备注:项目信息表中包括:项目申请时提交的项目申请简表的信息,项目审批后写入的信息,项目验收后写入的信息,在项目不同的阶段查看到的项目信息是不同的。表 3-2men 人员信息表字段名称字段类型字段长度字段说明m_namevarchar16人员XXm_idint4人员代码 主键m_secretvarchar20登陆密码m_personidvarchar20XX号码m_sexvarchar2性别m_peoplevarchar20民族m_birthdaydatetime8出生日期1985-2-13m_employvarchar20职称m_departnamevarchar30所在学院m_telvarchar18联系m_dutyvarchar20现任职务m_edulevelvarchar20最后学历(本科,硕士研究生,博士研究生,博士后)m_fieldvarchar100研究方向m_rightint4登陆权限备注:人员信息表是所有人员的基本信息表,包括:科研处管理人员的基本信息,系统管理员的基本信息,一般教师的基本信息。表 3-3join (参与人员)段名称字段类型字段长度字段说明j_namevarchar10参与人员XXj_idint4参与人员代码 主键j_projectidint4参与项目号主键j_pnamevarchar50参与项目名称j_sexvarchar2性别j_degreevarchar10学历j_agevarchar2年龄j_departmentvarchar40所在单位j_dutyvarchar40职称j_missionvarchar50承担的任务备注:项目参与人员信息表中的人员包括校内的人员和校外的人员。校外人员的ID字段统一标为0,校内参与人员的ID参照人员信息表里的m_id。在对参与人员信息进行查询时,通过ID确定其为校外人员还是校内人员。如果为校外人员,则应根据参与人员XX和参与项目号两字段确定一条记录,从而避免修改、删除、添加操作的异常。表 3-4set (项目设置表)字段名称字段类型字段长度字段说明s_projetidint4项目号 主键s_secretvarchar20项目申请密码s_btimevarchar20申请开始时间s_etimevarchar20申请结束时间s_pnamevarchar30项目名称备注:科研处管理人员为项目基本数据进行设定,写入项目设置表中。其他表格:1. ypn 项目数据设置对照表(用于辅助生成项目号)2. board 公告信息表(用于存储公告信息)3. company 企业信息表(存储和此高校科研科研处有紧密合作关系的企业信息)3.6 系统运行环境3.6.1硬件环境1. 服务器端:服务器端应配置性能比较高的硬件,最好是专业服务器。本系统的服务器配置如下:Inter Pentium4 2.4或更高;内存:1024MB;硬盘:120GB。2. 用户端:客户端主要用于浏览器和操作数据,故对客户端的要求不高,现在的电脑性价比都比较高,因此只要有一般配置就可以了。3.6.2 软件环境1. 服务器:操作系统:Windows2000 server/Win2003 Server;网络协议:TCP/IP;web服务器:IIS 5.0以上;数据库:MS SQL SERVER 20002. 用户端:操作系统;Windows 98/me/2000/xp;网络协议:TCP/IP;浏览器:Internet Explore 6.0以上版本第四章 系统的具体实现说明:本系统由三个同学一起合作完成,本人主要负责完成用户登录、人员管理和安全性管理模块三个模块的设计与实现4.1 用户登录模块用户可通过点击科研门户网站上系统入口按钮,进入科研管理系统的登录页面。科研门户网站界面如图所示:图4-1 门户网站界面 Fig 4-1 Portal Interface4.1.1系统功能分析用户在页面中输入用户名和密码后提交,系统对用户名和密码进行验证。如果用户名和密码通过验证,则进入用户管理页面;否则,返回到用户登录页面,同时提示出错原因:用户不存在或密码不正确。为了防止在地址栏中输入页面地址进入网站或者其他非法登陆等未经登陆的功能,应自动的返回到登陆页面进行登陆验证。默认的系统管理员:admin用户可添加用户、修改和查询用户信息与删除用户,科技处管理人员可进行相关数据设置、相关项目查询、项目修改、项目审批、项目验收,一般教师可进行相应的个人信息维护、修改密码、个人项目查询: 图4-2 系统流程图 Fig 4-2 System Flowchart 4.1.2 设计用户登陆系统主界面模块 登录子系统流程如下:图 4-3登录子系统 Fig 4-3 Login Subsystems系统主界面为index.asp,它将根据不同类型的用户显示不同的界面,若登陆成功,即session(“passed”)=true,则显示欢迎信息,并根据用户类型显示不同的功能链接,为了保证用户登陆后才能显示登陆窗口,在系统首页index.asp中设置了session变量passed,若session(“passed”)=true,表示已通过身份验证,否则表示没有通过身份验证。1、当输入用户名:admin时,界面转入系统管理员界面:包括人员信息管理、密码修改与退出登录等:图 4-4系统管理员登录界面Fig 4-4 The System Administrator Login Interface2、当输入用户名:zhong时,界面转入科技处管理人员界面:包括个人信息查询、密码修改、项目管理和退出登录:图 4-5科技处管理员登录界面Fig 4-5 Managers Of Scientific Research Login Interface3、当输入用户名:shi时,界面转入科技处界面:包括个人信息查询、密码修改、退出登录:图 4-6一般教师登录界面Fig 4-6 Common teacher Login Interface程序运行过程如下:1. 如果session(“passed”)为空(如第一次执行或退出登录后),则将其设置为false,表示尚未通过身份验证;2. 如果session(“passed”)=false,表示未登录或登陆未成功,因此需要进行身份验证;3. 从表单(即chkpwd.asp下面定义的代码中定义的表单myform)中读取用户名和密码数据到变量m_name和m_secret中.如果直接执行index.asp,则m_name和m_secret为空;4. 若此时m_name为空,则表示未从表单myform中得到的数据,所以将错误信息设置为:”请输入用户名和密码”,并将其保存在变量errmsg中(实际上为一提示信息).如果变量m_name不为空,则链接到数据库读取用户名等于变量m_name的记录到recordset对象rs中;5. 若rs.eof=false,则表示没有用户名等于m_name的纪录,所以将其错误信息设置为:”用户不存在”,保存在变量errmsg中;6. 如果rs.eof=true,则将变量m_secret与rs.fields(“m_secrert”)进行比较,如果不等则将错误信息设置为:”密码不正确”,保存在变量errmsg中;7. 如果变量m_secret与rs.fields(“m_secrert”)相等,则表示通过身份验证,同时session(“passed”)=true,session(“m_name”)=rs.fields(“m_name”),session变量m_name保存当前的用户名;8. 若登陆不成功,使用html代码生成登陆页面,定义表单myform并显示相应错误信息errmsg。其中,session变量可以在不同的网页中共享,但这些网页必须是由生成session的网页打开,如果新打开一个网页session变量将不起作用,其未成功登陆前界面如下:图 4-7系统登录界面Fig 4-4 The System Login Interface在要求进行权限控制的网页的开始部分包含如下文件:这样每次打开此网页时都会首先执行chkpwd.asp,查看chkpwd.asp的代码就会发现:当session(“passed”)=true时,它不会执行任何操作,所以用户可直接进入指定的页面.如果session(“passed”)=false,则表示当前用户没有经过身份验证,此时chkpwd.asp将显示登陆界面,要求用户登录。换句话说,所有想打开相关网页的用户必须通过身份验证才能进入相关页面,相当于给每个网页都加了一把锁,必须通过验证才能登陆。4.2 人员管理图 4-8人员管理模块Fig 4-8 Personnel Management Module4.2.1 设计人员查询模块Admin用户登录后,单击人员管理超链接,将打开userlist.asp,列出所有用户记录,并可以添加用户、修改用户信息、删除用户和查看用户记录,关键代码如下: 用户代码用户XX民族性别所在学院职称学历现任职务研究方向使用dowhile语句依次读取用户数据,并以表格形式显示,在表格最后一栏对本行记录操作:查询userview.asp、删除userdelt.asp和修改useredit.asp;使用rs.recordcount读取记录数量并显示在表格下方;显示”人员添加”超链接到useradd.asp; 为了在新窗口中显示指定的脚本,程序中定义了一个javascript方法newwin(),它的功能是打开一个无状态栏、菜单栏、地址栏、工具栏的新窗口,并在此窗口中打开指定的网页.其运行界面如图所示:图 4-9人员列表界面Fig 4-9 List Of Personnel Interface4.2.2 添加和修改用户模块 添加用户信息的脚本是useradd.asp,包含表单myform用于填写用户数据,其设计界面如下:图 4-10添加人员界面Fig 4-10 Added Staff Interface表单提交后执行usersave.asp处理表单数据,chkfield()方法用于检查用户输入的数据的有效性,其中type=hidden表示隐藏域,当它的value属性等于new时表示插入新的记录.其引入原因是因为添加用户数据的脚本useradd.asp和修改用户数据的脚本useredit.asp都使用usersave.asp保存用户数据。Usersave.asp 在处理用户数据时需根据隐藏域flag的值决定是插入数据insert还是更新数据update。在useradd.asp中,需要对当前用户进行判断,只有当admin用户才能打开此页。如果session(“m_name”)不为admin则显示:”只有admin用户才能添加人员”,否则继续执行后面代码,便可有效地实现权限控制。用于修改用户信息的脚本useredit.asp包含表单myform,用于填写用户数据,其修改界面如下:图 4-11修改人员界面 Fig 4-11 Revision Personnel Information Interface在useredit.asp中,程序首先判断用户代码m_id记录是否存在,如果不存在则显示不存在此用户,否则显示用户名和代码.在myform表单中,还有隐藏域flag用来标记当前的操作是修改记录还是插入记录。删除记录:人员基本信息input type=“hidden” name=“m_id” value=“
展开阅读全文