




免费预览已结束,剩余36页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
厦门大学自然科学研究项目管理系统的研究与开发 40本科毕业论文(科研训练、毕业设计)题 目:科研项目管理系统的设计与实现姓 名:学 院:软件学院系:专 业:软件工程年 级: 级复合型学 号:指导教师(校内): 职称:教授指导教师(校外): 职称:年 月 日科研项目管理系统的设计与实现摘要 信息化校园建设是高等学校建设的重要部分,是一项基础性、长期性和经常性的工作,其建设水平是高校整体办学水平、学校形象和地位的重要标志。本文以厦门大学校园信息化建设为背景,在分析了校园信息化的现状及发展前景的基础上,对厦门大学现有的几个科研管理系统进行剖析,比较它们的优、缺点。指出建设一个规范的、功能完整的、高性能的科研管理系统的必要性。文章进一步提出了厦门大学自然科学研究项目管理系统的总体设计方案。并阐述了立项管理子系统从需求分析、系统设计到程序实现的详细过程。该系统采用B/S构架,在.NET平台下开发,选用Oracle 9i为后台数据库,结合COM+组件进行数据库操作。取得了较为满意的效果。最后,文章指出该系统现存的不足和发展前景。并说明,该系统的应用将能够促进厦门大学科技处、财务处等有关部门业务流程的改进和工作效率的提高。关键词 校园信息化 自然科学研究项目管理 三层构架 B/SDesign and Implementation of Scientific Research Project Management SystemAbstract The construction of Campus Computing is an important part of the construction of institutions of higher learning and a basic, long-term task. The level of its is an important symbol of the level of teaching, and the image and status of the university. This thesis is based on the construction of Campus Computing of Xiamen University. After analyzed the present situation and future development of Campus Computing, the author examines the several present systems of scientific research management of Xiamen University and compares the advantages and disadvantages of them. The author points out that it is necessary to set up a system of scientific research management that is complete in function and smooth in performance. This thesis also discusses the detailed process of Project-foundation management subsystem from its demanding analysis, system design to programming. This system uses the structure of B/S, develops under .NET platform, chooses Oracle 9i as its database, and operates with COM+ module. The result of this system proves to be satisfying. Finally, this thesis points out the disadvantages and the future developments of the system. Apart from this, the application of the system can improve the working process and the efficiency of the Scientific Research Section and Finance Section of Xiamen University.Key Words Campus Computing; project management of natural science research; three-tier architecture; B/S目录第1章 引言41.1 课题背景41.2 研究的实际意义41.3 主要研究内容51.4 本文的组织6第2章 项目背景和研究方法72.1 国内高校信息化的现状和厦门大学信息化建设的进程72.2 厦门大学现有科研管信息系统的现状72.3 系统研究方法和实现步骤9第3章 需求分析113.1 本系统需求分析的特点113.2 系统用例图123.3 功能性需求143.4 数据描述163.5 非功能性需求173.6 系统应用模式17第4章 软件系统设计184.1 体系结构设计184.2 用户界面设计204.3 数据库设计234.4 模块设计27第5章 系统技术实现295.1 数据库操作组件的实现295.2 映射子模块的实现295.3 错误处理模块的实现315.4 系统主要功能模块的实现315.5 系统安全性325.6 本系统的特点33第6章 关于软件工程过程的一点思考356.1 系统开发方法356.2 需求工程356.3 计划开发进度36结论37致谢38参考文献39第1章 引言1.1 课题背景学校管理信息系统(SMIS)是校园网络中重要的应用系统,它的成果和效果对提高学校管理的工作效率具有非常重要的意义,在一定程度上反映了学校教学、科研及管理的现代化水平,可为进一步扩大办学规模奠定良好基础。纵览世界各国高校信息化的历程,美国一直走在世界高校信息化的前列。高校信息化问题实际上早在1993年美国政府正式提出NII计划之前,就已初露端倪。1990年,美国克莱蒙特大学的Kenneth C. Green教授首次提出了“Campus Computing”(校园信息化)的概念,并于同年开始了针对美国高校信息化的研究项目:Campus Computing Project (CCP)。该项目是目前世界上最有代表性的高校信息化研究项目。受其启发和影响,2002年北京大学与香港大学共同启动了亚洲地区第一个国际性的高等教育信息化研究:ACCS (Asian Campus Computing Survey)。可以说,目前,有关高等教育信息化的相关研究,已经成为世界各国教育研究者的重点研究课题。1.2 研究的实际意义在高等学校管理中,各重要职能部门提供的业务信息资源是学校资源建设的重要组成部分,这些系统的建立和规范是校园信息化建设的一个重要环节。科研管理作为高校信息化的组成部分,作为学校信息资源的重要提供者,需要有一个完善的系统为管理工作的快捷性、正确性提供有力的保障。并且数据规范应该符合学校中央数据库的统一规范,方便各部门通过网络共享数据信息。一个优秀的高校信息管理系统需要具备完善的科研管理功能,以满足日益活跃的科研活动。科研项目管理系统是高校科研管理信息系统的一部分。项目管理的有效性和工作效率直接影响到全校科技人员竞争参与科学技术创新、自主开展知识创新和技术创新的积极性。在科学研究日益活跃,学校与政府部门及企事业机构的科技合作日益密切的今天,随着学校科研统计量的迅速膨胀,想要继续依靠人工手段及时对大量项目信息进行收集、处理、分析及科学决策已经难以做到。因此,建立一个完善的、规范的科研项目管理系统势在必行。1.3 主要研究内容厦门大学科研项目管理系统(以下简称本系统)是厦门大学科研管理系统的子集,也是厦门大学校园信息化建设的一个必须的环节。其主要目的是将自然科学研究项目统计管理工作的处理和流转过程电子化,信息化,定量化,有控制,高效率,从而实现自然科研项目统计管理的办公自动化,并且实现能够利用校园网络完成信息的收集、整理、分析和传递,实现信息大范围、有控制、高效率而低成本的共享与利用。本系统采用B/S体系结构模型,系统结构划分为表示层、应用层和数据层3层。以ASP.NET为主要开发平台,用户可以通过任意一台连接了因特网的电脑登录系统,进行所需操作。系统主要分为立项管理、中审管理、经费管理、结项管理和报表管理五个模块。用户主要为全校教师、学院科研秘书和科技处工作人员。主要实现了立项信息的网上录入、信息审查和网上查询,项目中审、结项、到位经费归属的查找等工作的电子化,和在线制定报表格式、内容打印输出报表等功能。厦门大学科研管理系统开发团队由七个成员组成,其开发协作如图1-1所示。作者在整个系统开发中,主要负责了科研项目管理系统的设计与实现。图1-1 科研管理系统开发团队协作图1.4 本文的组织本文共分为七部分,文章的结构安排如下:第1章 引言,介绍了本论文研究的课题背景、研究的意义和论文主要内容。第2章 项目背景和研究方法,介绍了本系统的项目背景,重点阐述和比较了厦门大学现有的几个科研项目的优缺点,并对本系统的研究和开发方法作了进一步的描述。第3章 需求分析,阐述本系统需求分析过程中的特点和对本系统的功能性和非功能性需求的描述。第4章 软件系统设计,系统体系结构设计、用户界面设计、数据库设计和模块化设计。第5章 系统技术实现,系统各组件和主要功能流程的程序实现。第6章 对软件工程过程的一点思考,在系统开发的过程中,作者对于软件工程过程的一点收获和思考。最后,对论文进行了总结,并提出了本系统现有的一些不足和对系统前景的展望。第2章 项目背景和研究方法2.1 国内高校信息化的现状和厦门大学信息化建设的进程随着高等教育信息化的逐步深入,我国各高校也纷纷加快校园信息化建设的步伐。并且,某些高校的信息化建设已经初具规模,建立了统一的数据共享平台、较为完整的学校管理信息系统和校园门户网站。学校信息化的质量,学校门户网站的美观和功能,在一定程度上标志了一个学校综合实力的高低。从某种意义上来说,校园门户网站就是学校的品牌,它扩展了对学校教学理念的实现。厦门大学校园信息化项目组成立于2004年5月。一年多来,经过项目组领导者、项目组专家咨询小组以及项目组管理人员、技术人员的共同努力和学校各部门积极密切的配合,校园信息化建设已经取得了很大的成绩。根据信息化建设的特点,按照科学、规范、标准化的原则开展,从全校全局出发,建立信息化建设的总体规划;建立统一的中央数据库,对全校各部门原有的数据进行数据整合转化后进入中央数据库,实现数据共享;建立相应的安全认证体系,保障系统的安全运行。2.2 厦门大学现有科研管信息系统的现状经过调查研究,厦门大学校内已经存在并且正在使用多个不同的科研管理系统。比较有代表性的是科技处自主开发的自然科学研究管理系统、社科处采用的国家教育部委托北京易普拉格科技有限责任公司开发的全国普通高等学校人文社会科学研究管理系统,以及仅供管理学院内部使用的厦门大学管理学院科研管理信息系统。科技处使用的自然科学研究管理信息系统主要采用C/S构架,以Delphi作为开发语言开发实现,数据库使用Oracle 8i。主要包括项目管理子系统、经费管理子系统、和科技人员管理子系统。作为科技处内部使用来说,现有系统基本能够满足科技处目前的一些常规需要。但是,在某些方面,特别是立项信息录入和项目经费到位发放方面严重欠缺。目前,科技处的相关工作仍旧以人工操作为主,工作效率很低。并且,经过调查,在某些该系统已经实现的功能方面,也并没有得到充分利用。科技处目前的绝大多数业务操作仍以纸质文件和人员手工操作为主。工作效率和业务模式亟需提高和改善。社科处使用的社会科学研究管理信息系统是国家教育部委托专业软件公司开发并有偿提供给各学校社科处使用的。它采用B/S构架,用JSP技术实现,采用Tomcat服务器,数据库为广泛应用于网络的MySQL。它的优点在于界面美观大方,采用JSP技术开发,跨平台性好。教育部统一开发,与上级部门数据库实现无缝对接,方便了学校向上级部门提供数据。功能较为齐全,包括学校管理、机构管理、人员管理、项目管理、成果管理、学术会议、统计报表、参考资料等,基本满足了社科处工作的需要。但是,由于该系统并不是针对特定高校量身定做,导致了,一方面,某些功能,如学校管理和人员管理,几乎不会被使用,另一方面,一些学校需要的特殊功能却不能满足。并且,每隔一段时间,该系统将需要进行升级,并重新安装新版本。这对于电脑专业知识可能并不丰富的社科处工作人员来说,也是一种使用障碍。并且,据了解,在社科处主页中,并没有为学校教师提供该系统的登录入口,也就是说,广大教师并不能直接使用之。因此,很大一部分系统功能并不能得到充分利用。管理学院自主开发的学院级科研管理信息系统,采用了B/S构架,以ASP为开发语言,数据库采用微软公司的SQL Server。它的优点在于论文管理模块比较细致,基本能够满足本学院内部的管理需求。由于学院内部对教师论文发表采用了奖励措施,鼓励所有教师使用该系统,系统得到了很好的推广。不足之处在于,除了论文管理功能比较完善,其他功能,如项目管理、会议管理等功能均比较粗糙,不能满足使用需求。并且,在对该系统进行测试的过程中,发现了很多Bug,如,对表单录入内容合法性的验证不完善造成的录入错误信息后数据库出现异常等等。因此,该系统并不能称为一个好的科研管理信息系统。综上所述,厦门大学目前正在使用的几个科研管理信息系统,普遍存在系统利用率低、不能充分满足学校科研管理需求等缺点。通过和系统研发人员座谈得知,每个系统的研发周期都在2年以上,特别是科技处现有的科研管理系统,从系统规划到系统成型并投入使用,共经历了3年时间!业务流程的复杂性和多变性导致了系统开发周期过长,系统维护困难等缺点。并且,不同的管理信息系统使用不同的数据库,数据库内部结构也完全不同,使得各部门间数据共享的可能性几乎为零!极大地影响了学校科研管理的工作效率,不利于学校科研管理工作的进一步发展。因此,建立一个科学的、规范的、功能完备的、可扩展的科研管理信息系统是校园信息化建设的必经之路。 2.3 系统研究方法和实现步骤2.3.1 系统构架和开发工具本系统采用B/S体系结构模型。如图2-1所示,客户端使用浏览器通过网络访问Web 图2-1 系统构架图服务器端的Web服务程序。进而由位于Web服务器上的后台程序与数据库服务器进行操作,完成客户端业务需求。本系统以ASP.NET为主要开发平台,服务器采用Windows Server 2000,客户端为Windows 9x,NT或WIN 2000。后台数据库采用Oracle 9i,开发工具主要为Microsoft Visual Studio .NET 平台以及Dreamweaver MX。2.3.2 研究方法和开发步骤鉴于厦门大学目前科研管理现有的条件,本系统在系统需求比较明确和稳定的立项管理子系统开发中,采用结构化的系统开发方法:1) 系统规划阶段,对用户的系统开发请求进行调查、明确问题,确定系统的目标和总体的结构,确定各阶段的实施进度,进行可行性的研究。2) 系统分析阶段,对用户需求进行进一步详细的调查,对调查结果进行数据的、业务的和功能的分析,最后建立系统的逻辑模型。3) 系统设计阶段对系统进行总体机构设计、代码设计、数据库设计、输入输出设计,制定系统实施方案。4) 系统实施阶段按照实施方案进行软硬件环境的建立,程序的设计和调试,以及人员培训,最后投入试运行。5) 系统运行阶段对系统的日常运行进行管理、维护和平价,直至提出系统更新的要求,从而进入下一个阶段。由于采用了结构化生命周期开发方法,立项管理子系统在开发的过程中对文档工作给予了相当的重视,使得在开发过程中出现的各种问题都可以得到及时的纠正,避免了出现混乱状态。但是,由于该方法的一些缺陷,本系统的研发过程中,只在需求相对明确和稳定的立项子系统中使用。在需求相对模糊的项目中审管理子系统、结项管理子系统和项目经费管理子系统,则利用原型法开发的优点,先用软件工具快速模拟出文体的原型,诱导用户明确功能性需求,进行下一步的开发工作。这样,使开发的系统更具有针对性,系统开发效率大为提高。第3章 需求分析Frederick Brooks 在他1987年的经典文章“No Silver Bullet”中阐述了需求的重要性:“开发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写出详细的需求,包括所有面向用户、面向机器和其他软件系统的接口。此工作一旦做错,将会给系统带来极大的损害,并且以后对它的修改也极为困难。” Frederick Brooks这段话充分说明了需求分析在系统开发中的重要性。本系统的开发也不例外。开发者严格按照需求工程的要求,主动到科技处进行调研和需求收集工作,了解科技处各项工作的业务流程,形成用户需求说明书,然后经过分析,进行产品需求定义,撰写系统需求规格说明书交由用户进行需求确认后,按照最后确定的需求进行系统设计和开发。3.1 本系统需求分析的特点在系统需求分析的过程中,开发人员和科技处有关负责人召开了多次需求调研会。并且有专人负责校园信息化项目组和科技处的接洽和需求的整理,由于需求分析的复杂性和一些业务流程比如到位经费归属项目的查找,不但关系到科技处一个部门的工作,而且,关系到学校其他重要部门的业务流程的变更和改革,而这些业务流程的变更和改革又必须由学校高层来协调、解决。因此,整个系统的需求收集工作并可能是一蹴而就的。经过和科技处等有关人员共同讨论后,开发人员决定,对整个系统采用模块化的方式,把整个系统划分为立项管理子系统、中审管理子系统、经费管理子系统、结项管理子系统和动态报表子系统共五个子系统。在开发顺序上,以科技处目前需求最为迫切的立项管理子系统为先,开发完毕后可以率先投入试运行,之后继续对其他各个子系统进行需求分析和系统设计、开发。对于动态报表子系统,是科研管理系统信息发布收集子系统的特定功能实现,可独立于整个系统单独开发(动态报表的详细实现,请参看团队成员张怡和庞力的毕业论文)。在笔者进行毕业设计阶段,主要负责了立项管理子系统的需求整理、系统设计与实现,论文以下章节主要针对立项管理子系统的系统设计和实现问题进行探讨。3.2 系统用例图3.2.1 用例图图3-1 系统用例图3.2.2 用例图说明角色说明本系统的角色主要包括以下三种:1) 全校教师:普通权限使用者,只能在自己参与项目范围内进行操作。2) 学院科研秘书:二级管理员,只能在自己院系职责范围内进行操作。3) 科技处负责人员:一级管理员,可以在学校范围内进行操作。用例说明本系统用例图中,一共包括15个用例,分别说明如下:1) 录入立项基本信息录入立项基本信息的操作者是教师。系统规定,立项信息由项目负责教师登录系统自行录入。教师可以通过任意一台连接到互联网的电脑,登录到本系统,对自己负责的项目的基本信息进行录入。2) 录入经费计划信息录入经费计划信息的操作者是教师。在教师录入完立项基本信息之后,系统要求教师继续录入经费计划信息。教师也可以暂时退出,等下次再继续录入经费信息。3) 修改立项信息本系统定义,只有教师个人可以修改项目立项信息。当立项信息录入后有错误或者格式不正确,立项信息被退回给录入教师修改。修改完毕后重新提交。4) 上传中审资料项目中期审查的时候,教师应该能够通过网络上传中审资料。5) 提交结项资料项目完结时,教师能够通过网络上传结项需要的资料。6) 申请异常结项当项目需要延期、中止或者提前结项时,教师可以通过网络登录系统进行异常结项申请。7) 审查立项信息审查立项信息的操作者可以是学院科研秘书或者是科技处负责人员。学院科研秘书只有权利审查本学院的项目信息,科技处负责人员则可以审查全校范围的立项信息。当一个项目的立项信息被其中一个操作者审查后,该操作者将对这个项目负责到底,也就是说,如果一个项目是被学院科研秘书审查后被退回修改,则它修改完毕重新提交之后,仍应由学院科研秘书二次审查。并且,一个项目只要被一个操作者审查通过,则项目状态即为通过状态。不需要被另一个操作者再次审查。8) 提醒教师修改信息该用例的操作者可以是学院科研秘书或者科技处负责人员。当立项信息不正确或者格式不符合标准或者必要信息不完整时,审查人员将退回该项目给录入教师,并且输入修改建议,方便教师修改立项信息。9) 项目中审操作该用例的操作者只能是科技处负责人员。当教师上传了项目中期审查资料后,科技处负责人员检查资料是否完整、翔实。当资料符合要求,即进行项目中期审查操作。10) 催促教师上传资料该用例的操作者是科技处负责人员。当项目将要进行中审或者结项,而项目负责人并没有把相关资料上传时,科技处负责人员将可以通过系统提示项目负责人及时上传相关资料。11) 结项审批该用例的操作者是科技处负责人员。当项目结项时,教师上传结项相关资料,科技处人员审查资料,对项目进行结项相关操作。12) 查找经费归属该用例的操作者是科技处负责人员。当一笔经费从财务处划拨过来时,大部分情况下,财务处不会提供该笔经费属于哪个项目。只提供来款单位、来款金额和来款时间。科技处负责人员将查找经费对应项目并且将这笔经费信息录入系统。13) 查询该用例的操作者可以是教师个人、学院科研秘书或者科技处负责人员。但是各种操作者有不同的权限。教师个人仅可以查询自己负责的项目信息;学院科研秘书可以查询所在学院所有的项目信息;科技处人员可以查询全校范围内所有自然科学研究项目(不归科技处负责的绝密项目除外)。14) 生成打印报表该用例的操作者可以是教师个人、学院科研秘书或者科技处负责人员。权限限制和查询操作类似。15) 录入经费到位信息该用例的操作者可以是教师个人、学校科研秘书或者科技处负责人员。3.3 功能性需求3.3.1 功能划分我们对用例图中所描述的功能用树状结构自顶向下进行细化。系统功能划分如图3-2所示:图3-2 自然科学研究项目管理系统功能划分树状图其中,立项管理子模块功能划分如图3-3所示:图3-3 立项管理子系统功能划分树状图3.3.2 功能描述立项管理子系统,主要包括三大模块,网上录入、网上查询和管理员审查。以下分模块描述用户对立项管理子系统的功能需求。网上录入模块:1) 只需要录入项目立项信息,项目申请阶段信息的录入,不包括在此系统内2) 实现教师对立项信息的网上录入3) 立项时对经费预算的录入4) 自动生成项目编号,但科技处工作人员可以对项目编号其中的一小段作必要的修改5) 允许教师录入一半保存、退出,下次继续录入6) 只能教师自己修改项目信息管理员审查模块:1) 学院科研秘书对立项信息的审查2) 科技处工作人员对立项信息的审查3) 审查不通过时可以添加审查意见4) 立项信息只需要单方审查人员的批准。网上查询模块:1) 教师对自己项目的查询2) 学院科研秘书对自己学院范围内的项目信息的 查询3) 科技处工作人员对全校范围内项目信息的查询3.4 数据描述3.4.1 静态数据(系统运行前已有的数据)1) 院、系、所、科研机构基本信息2) 学校科研人员基本信息3) 需要录入的必要信息的条目3.4.2 动态数据(系统运行过程中需要的输入数据以及系统运行过程中产生的输出数据)1) 用户密码2) 立项信息3) 经费计划信息4) 项目合同书3.5 非功能性需求1) 用户界面用户的使用界面为浏览器形式的界面,采用Windows下的图形化界面形式。左边框功能菜单采用分层菜单模式。经费计划录入,根据不同的经费支持类型由用户自定义经费名目,并且,经费名目采用树状分枝结构,用户可以自定义父亲节点和字节点的个数和名称。产生的报表格式由用户自定义模版灵活决定。详细描述请参见动态报表子系统的系统说明书。输入输出的响应时间,根据要输入或输出的数据量的大小,控制每条数据在0.5秒之内。2) 硬件接口本系统不存在和其它系统的硬件接口。3) 软件接口ASP.NET 和 ADO.NET。3.6 系统应用模式本系统采用B/S构架。B/S结构的特点是对用户的技术要求比较低,对前端机的配置要求也较低,而且界面丰富、客户端维护量小、程序分发简单、更新维护方便。它容易进行跨平台布置,容易在局域网与广域网之间进行协调,尤其适宜信息发布类应用。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过部门内部的安全认证(如认证)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。第4章 软件系统设计4.1 体系结构设计本系统主要采用三层B/S体系结构模型。主要以ASP.NET为开发平台,Oracle 9i为后台数据库,采用Web流行的Browser/Server模式,完成核心系统的构建。整个系统分为三层构架:用户层(外观表示层)应用层/业务逻辑层数据服务层如图4-1所示。测试期间使用一台服务器实现所有功能,正式运行期间,可以分为Web服务器和Database数据服务器,以减轻服务器的负担,提高执行速度。图4-1 系统三层构架图4.1.1 用户界面层用户界面层位于客户端,相当于用户界面,即Internet Explore等Web浏览器。实现在客户端浏览器中显示的用户界面,该层可以调用由业务逻辑层提供的业务方法。4.1.2 业务逻辑层业务逻辑层是系统核心部分,主要担当业务的逻辑处理任务,包括处理接口层的HTTP请求,为用户界面层提供业务功能同时通过数据层来访问数据库。具体过程是:由Web服务器接收客户端发送来的HTTP请求,对请求进行分析转换,并调用相应的逻辑处理程序;而该逻辑处理程序与数据层进行通信,进而访问数据库,并将处理结果返回给Web服务器,再由Web服务器以XML或HTML形式将结果发送给客户端浏览器。4.1.3 数据层数据层位于底层,主要用来实现与数据库的交互,完成查询、插入、修改和删除数据库中的数据的功能。本系统在数据层设计的独特之处在于,本系统采用COM+数据库操作对象池组件操作数据库,实现了应用程序级对异构数据库的同步。COM+数据库操作对象池数据访问组件结构如图4-2所示:图4-2 COM+数据库操作对象池数据访问组件结构示意图本系统采用三层构架的系统设计的有点主要在于:1) 可伸缩性好:可按应用要求部属逻辑层次,适应于本地网和广域网。2) 网络效率高:经过合理的布局,通过网络的传输数据量大大减少,提高了网络效率。3) 可管理性强:系统客户层基本实现了“零管理”,主要管理工作集中在应用逻辑层,业务逻辑的修改对客户层没有影响。4) 可重用性好:按可提供的服务构筑应用,每种服务可以被不同的应用重用。4.2 用户界面设计本系统采用了ASP.NET作为开发平台,ASP.NET是微软提供的最新的开发基于Web的应用程序的技术。它的一个很大的优点,就是利用代码绑定技术,把UI表现层(presentation)与商业逻辑(business logic)分离。“它可以让你很容易的将可见层(那些HTML代码和服务器端控件)同你的表现代码(这些代码有可能是VB,C#或者其他的任何.NET支持的语言)自由的分离开来。”这样,开发人员在设计系统时,可以将系统界面设计和系统功能设计分开设计。甚至,可以在系统成型后,方便的更改系统界面的外观和风格。在设计本系统的用户界面时,开发者充分考虑了用户界面对系统功能的支持性和布局的合理性,突出了应用系统应有的大方、稳重、简洁等特点。4.2.1 整体布局系统整体布局采用框架结构,中间最大范围区域为主要功能显示区,它左侧为功能选择菜单区域,最上方为系统logo区域,最下方为系统版权信息显示区。系统整体布局结构如图4-3所示:图4-3 系统主界面4.2.2 功能页面设计“用户界面适合于软件的功能”这是基本的设计原则。其次,界面的布局应当符合逻辑和整洁。在本系统的界面设计中,需要考虑的问题主要有以下几点:1) 立项信息的录入基本页面立项基本信息录入页面,要求对立项信息主表中绝大多数的字段进行录入。在设计该录入页面时,为了缩短用户录入的时间和降低由于手工输入所造成的录入信息的不准确几率,设计者将所有可提供用户选择项的字段均设置成下拉框式录入,用户只需轻点鼠标选择所需要的内容即可。图4-4 主要录入界面2) 项目参与人员和承担、委托单位等的录入项目参与人员的录入页面,要求对项目成员进行录入。这个页面需要注意的问题是项目参与人员的数量并不是固定的。并且,科技处要求人员应该能够从人事处数据库中按照院系进行选择录入。同项目参与人员类似,项目承担/委托单位的数量也并不是固定不变的,不同的是,项目承担/委托单位的信息要求用户手工录入,并不要求从单位表中选择录入。图4-5 参与单位录入界面3) 项目信息总览项目信息总览页面是对所有立项信息概况进行浏览的页面。当查询某特定教师名下的项目时,也利用类似的功能页面。从该页面可以选择对某个特定项目进行操作。图4-6 项目信息总览4) 立项信息细节察看(包括立项信息审查页面)该页面结构基本类似于立项信息录入页面。不加赘述。4.3 数据库设计4.3.1 数据库存取模型本系统在采用目前流行的基于Web的数据库存取模型(见图4-7)的基础上,针对用户的计算机应用知识、网络结构配置以及系统实际应用要求,采用基于Browser/WebServer/DatabaseServer服务器模式的程序开发,客户端只需要一个浏览器,节省来大量的软件开发人员安装和调试系统的时间和精力,使开发人员能够集中精力开发服务器段的应用。图4-7 数据库存取模型4.3.2 自然科学研究项目管理系统数据库特点自然科学研究项目管理系统数据库是厦门大学信息化管理中央数据库的子集,在对数据库的设计中,仍遵循和中央数据库建设同样的原则,即:数据整合、数据共享、数据规范和数据信息屏蔽。在数据的标准化设计方面,亦严格的遵守国家教育部编制的教育管理信息化标准。开发过程中,我们将对原有的中央数据库部分作更进一步的补充和扩充。已有的中央数据库主要包括标准代码库、映射库和数据库。标准代码库包括1) 共享代码库,即:整个信息化管理系统都可能用到的标准化代码;2) 私有代码库,即:只有某些部门需要使用的标准化代码;3) 其他代码库,即:已经存在,但尚未使用的标准化代码。经过数据标准化之后,数据库中数据均以标准化的代码格式储存。为了方便使用,映射库包含了表名映射库、字段名映射库和字段内容映射库,用于处理各种对象名称和代码的映射过程。中央数据库拓扑结构图如图4-8所示:图4-8 厦门大学校园信息化建设中央数据库拓扑结构图本系统数据库部分包括各个子系统使用的标准化后的实体表、关系表、视图、索引等。在自然科学研究项目管理系统的数据库标准化建设中,设计者对映射库中社科处部分做相应的扩充。主要形成三张表格:MAP_TABLE_KJC、MAP_COLUMN_KJC、MAP_FIELDS_KJC。为了方便使用者习惯上的方便,在MAP_COLUMN_KJC代码映射表中,还添加了相应字段,便于将对同一种事物的不同种说法或者缩写统一起来。由于现有软硬件的发展、业务流程变化,分析设计所基于的原有的约束条件已经改变,科技处原有的数据库设计不免显得捉襟见肘。设计者在对原有数据库进行分析的基础上,利用PowerDesigner等数据库设计工具,对数据库进行重新设计。保留了原有数据库中可继续使用的部分,继承了原有数据库一些设计方面的优点,对原有数据库中不合理的设计进行修改和删节,并对应于现阶段新的需求进行进一步的扩充。而且,考虑到适应以后业务的发展和需要,设计了一些用于扩充功能的备用字段,以满足系统可扩展性需求。4.3.3 数据结构设计本系统数据库设计采用了分块设计的方法,在立项子系统中,用到的主要表格为:立项信息主表、项目承担人员表、项目承担单位表、项目委托单位表和项目经费计划表。表格命名规则为“kjc_”后边加上表格汉语拼音缩写。表格中字段名按照中央数据库中映射库中规定的标准编码进行命名。数据库中的表格均按照前三个范式的规范进行设计。并且,考虑到数据库的性能优化问题,设计者对部分表格进行了一定程度的反规范化处理,如,在立项信息主表中创建了一些冗余列,减少了表链接操作代价,达到提高性能的目的。部分表格举例如下:1) 立项信息主表:kjc_lxxx列名数据类型是否为空中文含义KJ100033NUMBER(9)NOT NULL内部关联号KJ010101VARCHAR2(12)NOT NULL项目编号KJ010112VARCHAR2(50)NOT NULL批准号KJ010117VARCHAR2(50)NOT NULL批准文号KJ010601VARCHAR2(50)NOT NULL批文存档号KJ010115DATENOT NULL批准日期KJ010612DATENOT NULL合同日期KJ010604VARCHAR2(50)NOT NULL项目档案号KJ010103VARCHAR2(200)NOT NULL项目名称KJ010609VARCHAR2(200)NOT NULL英文名称KJ010608VARCHAR2(50)NOT NULL项目保证方KJ010105DATENOT NULL起始日期KJ010106DATENOT NULL结束日期.表4-1 立项信息主表(部分)2) 立项承担人员表:kjc_cdry列名数据类型是否为空中文含义KJ100033VARCHAR2(9)内部关联号KJ100055VARCHAR2(9)NOT NULL人员的内部关联号KJ010504VARCHAR2(34)NOT NULL人员编号KJ100041VARCHAR2(20)NOT NULL人员名称KJ010505VARCHAR2(2)NUT NULL人员排名KJ020101VARCHAR2(20)所属单位编号KJ020103VARCHAR2(50)所属单位名称KJ100032VARCHAR2(200)备注表4-2 立项承担人员表3) 立项承担单位表:kjc_lxcddw列名数据类型是否为空中文含义KJ100033VARCHAR2(9)NOT NULL内部关联号KJ100056VARCHAR2(9)NOT NULL单位的内部关联号KJ020101VARCHAR2(30)NOT NULL单位编号KJ020103VARCHAR2(50)NOT NULL单位名称KJ020102VARCHAR2(20)NOT NULL单位类型KJ100046VARCHAR2(2)NOT NULL单位排名KJ010501VARCHAR2(20)所属国家地区KJ010502DATE进入项目日期KJ010503DATE退出项目日期KJ100032VARCHAR2(200)备注表4-3 立项承担单位表4) 其余表格结构略4.4 模块设计在整个系统设计中,开发者遵循模块的低耦合、高内聚的规则,把整个系统按照如图4-9所示的层次进行模块的划分。图4-9 系统层次设计各模块说明如下表:名域名称说明Xmu包括所有系统内容Modules隶属于Xmu,包括所有系统后台应用的组件Jobs隶属于Modules,包括业务层组件Core包括整个校园信息化管理系统都可用到的通用组件DataBase隶属于Core,包括数据库操作组件Map隶属于Core,包括映射用组件Exception隶属于Core,包括所有错误处理组件Web包括系统显示层页面和部分后台程序Kjc隶属于Web名域,包括科技处的所有页面内容和部分后台程序Project隶属于Kjc名域,包括项目管理系统所有页面内容和部分后台程序表4-4 系统模块说明第5章 系统技术实现5.1 数据库操作组件的实现本系统主要应用COM+数据库操作对象池组件操作数据库,实现了应用程序级对异构数据库的数据同步。该组件整体设计方案如图5-1所示:该组件的具体实现细节,请参看团队成员何主明同学的毕业论文。图5-1 COM+数据库操作对象池组件整体设计方案5.2 映射子模块的实现由于校园信息化管理系统数据库的特点,数据库中各表格字段名和表格内容都是以标准代码储存的。然而,用户使用系统时,系统应提供友好的中文界面。因此,将代码通过一定的映射过程转化为用户可以理解的汉字,将是系统实现的一个关键点。在本系统的实现中,开发者将对表名的映射、对字段名的映射和对表内容的映射集成做成一个控件,三种操作实现统一的接口。该模块包括的内容如图5-2所示:图5-2 映射模块结构图各映射过程流程:图5-3 表名映射流程图5-4 字段名映射流程该模块依赖于数据库操作基本组件的实现。5.3 错误处理模块的实现为了方便的体现各种错误的不同,使得用户更明了的获取错误信息,本系统设计了一系列的错误类,用于描述不同的错误。这些类都继承于自定义错误类XmuException类,该类继承于System.Exception类。错误类型继承结构如图5-6所示:图5-6 错误处理类继承结构图5.4 系统主要功能模块的实现本系统主要划分为网上录入、立项信息审查、网上查询三大功能模块。以下用操作流程图分别说明三大功能模块的过程实现。 图5-7 网上录入流程图 图5-8 立项信息审查流程图图5-9 网上查询流程图5.5 系统安全性在Browser/WebServer/DatabaseServer多层体系结构下开发管理信息系统关键的问题是系统安全及信息保密,开发者在开发的过程中,充分利用ASP.NET的内置防护功能控制信息的发布流向及信息安全保密,利用动态视图实现信息的保密级别的控制。利用CA认证确保信息的保密性。5.5.1 集成安全通过Oracle内置的用户口令机制,通过对网络用户的安全属性来控制对Oracle服务器的登录访问,从而实现Windows 2000 Server登录安全集成。充分利用ASP.NET平台的内置防护功能,抵御某些用户对系统的恶意攻击。5.5.2 视图用于安全控制通过一个视图,用户可查询和修改只为他所见的数据,数据库的其他部分,既不可见,也不能访问。通过定义不同的视图,并对其有选择的授予许可,一个用户(或任何用户组合)、一个基本表的列的子集(与值有关的集合)、一个基本表的列的子集(与值无关的集合)或一个基本表的行和列的子集。动态视图的设计为了对不同访问级别的用户提供相应级别的视图,在生成视图时,Oracle服务器需要使用参考限制一个特定表的某些行和列。采用动态视图可以避免为每个用户都建立个人私有的视图,只要通过视图参数的验证,即可完成提供不同访问级别用户的视图。5.5.3 CA认证保证的保密性设计CACertificate Authority,即数字证书,有时被称为数字身份证,是一个符合一定格式的电子文件,用来识别电子证书持有者的真实身份。数字签名利用非对称加密技术,发送者使用私钥加密数据产生的消息摘要(签名),接收者使用发送者的公钥解密消息摘要以验证签名是否是某个人的。由于私钥只有加密者才有,因此如果接收者用某个公钥解密了某个消息摘要,就可以确定这段消息摘要必然是对应的私钥持有者发来的。使用数字签名的前提是接收数据者能够确信验证签名时(用发送者的私钥加密消息摘要)所用的公钥确实是发送者本人的,这需要通过数字证书来解决这个问题。数字证书含有两部分数据:一部分是对应发送者(组织或个人)的信息,另一部分是这个发送者所对应的公钥。即数字证书保存了发送者和其公钥一一对应的关系。同样,数字证书也有可能被假造,有效的数字证书必须经过权威 CA的签名,即权威CA验证数字证书的内容的真实性,然后再在数字证书上使用权威CA自己的私钥
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 葬礼进行曲课件
- 2025配送员合同协议范本
- 小班养鱼美篇题目及答案
- 常用工具考试试题及答案b卷
- 叉车培训考试试题答案及答案
- 2024译林版八年级英语上册Unit6 Seasons 动词和基本句型(一)含答案
- 仓库后勤管理考试题库及答案
- 2025年西式面点师职业岗位技术资格知识考试题与答案
- 营销课件APP教学课件
- 2025年五升六年级语文暑假专项提升:汉字(知识点归纳+试题)含答案
- 机场管制课件
- 贴牌生产委托授权书
- 做一个卓越而幸福的教育者课件
- 人教版小学数学五年级上册完美版全册PPT教学课件
- 《无人机组装与调试》-教学教案
- 跨境电商物流与供应链管理PPT全套完整教学课件
- C语言试讲稿课件
- 收音机组装指导书
- 义务教育科学课程标准(2022年版)测试题及答案含课标解读
- 水运工程统一用表之一《浙江省港口工程统一用表》
- GB/T 13306-2011标牌
评论
0/150
提交评论