




免费预览已结束,剩余31页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Web下的可配置信息发布收集系统本科毕业论文(科研训练、毕业设计)题 目:Web下的可配置信息发布收集系统方案提出、设计与实现姓 名:学 院:软件学院系:专 业:软件工程年 级:学 号:指导教师(校内): 职称:指导教师(校外): 职称: 年 月 日Web下的可配置信息发布收集系统方案提出、设计与实现摘要随着网络技术的不断发展,基于Browse/Server架构的Web应用系统被各行业广泛应用。在各种信息化平台中,信息发布、收集乃至统计系统是一个重要的组成部分,它所采取的方式及其遵循的模式直接影响了信息化平台的运作效率和执行质量。在大量数据需要进行收集和发布的现在,原有的系统模式已经不能满足信息发布收集多、变、快、准的要求。开发新的Web下的可配置信息发布收集系统成为各行业信息化过程中迫切需要解决的问题。本文针对以上需求,提出了Web下可配置信息发布解决方案,并以高校信息化平台为背景,设计、实现了一个面向高校的基于B/S构架的可配置信息发布、收集系统。文中首先分析了现有高校信息发布、收集方式的不足,并论述了新的解决方案,加以比较。随后介绍了新方案中涉及的ASP.NET、XML、面向对象语言、系统分层架构等技术。本文第四章中,详细介绍了基于Web的以XML为驱动的信息发布、收集系统的实现。对该系统进行了系统需求分析、流程分析、数据库设计和用户界面设计,并实现了其中的主要模块。论文所使用的分析及设计过程,具有相当的普遍性,可以应用到其他基于Web的信息发布、收集、统计系统开发中。关键词 数据录入页面可配置 动态表格 信息收集统计 ASP.NET XMLSystem of Reporting Information Online by WebAbstractsWith the rapid development of Internet, web system based on browse/server is wildly applied by many fields. As an important part, reporting system has great influence on the web system efficiency and speed. How to build a flexible and credible dynamic reporting system by making use of the up-to-date Internet programming technique has become the hot point issue within computer field.A dynamic reporting system should have at lease three functions:1. designing and configuring reports on the website by IE or other browses2. saving user interface information of the dynamic reports so as to reload it at anytime3. saving data information of reports submitted by different usersThis dissertation designs a dynamic reporting system based on B/S under the background of high school information system. Firstly, it discusses the strongpoint of the dynamic reporting system compared with traditional reporting system. Secondly, it introduces such techniques as ASP.NET, XML, Object Orientation Programming and 3-tier architecture. The forth Chapter of the dissertation designs a dynamic reporting system by use of the combination of XML and ASP. NET techniques, completes system analysis, and implements parts of main functions.Key Words Dynamic Report; Configurable; Information; ASP.NET; XML目录第一章 引言4第二章 序论4第一节 高校信息化概述4第二节 现有高校信息发布、收集解决方案5第三节 本文提出的解决方案6第三章 本系统所用技术及其概述7第一节 面向对象的分析和设计7第二节 分层架构7第三节 XML技术8第四节 ASP.NET技术8第四章 基于Web的以XML驱动的信息发布、收集系统构建9第一节 系统开发与运行环境9第二节 系统需求分析9第三节 系统工作流程10第四节 数据库设计11第五节 界面设计17第六节 登陆模块设计与实现19第七节 录入页面配置模块设计与实现22第八节 录入页面分配模块设计与实现26第九节 其他模块设计与实现28第十节 系统页面功能描述29第五章 本系统所存在的问题32第一节 与数据相关不足32第二节 与技术相关不足32第三节 其他不足32第六章 未来展望33第七章 结束语34第一节 关于系统34第二节 关于毕业设计34致谢34参考文献35附录35第 35 页 共 36 页第一章 引言在开发数据驱动的Web信息系统的时候,常见的Web页面会是用户进行数据录入的页面。开发特定的数据录入页面的时候,通常是从需求分析开始,要知道系统需要向用户收集何种信息,然后根据需求来设计Web页面,包括创建Web图形界面以及所必须的数据库操作代码,必要的时候还要为此页面的信息设计用来存储数据的相应的表。当数据录入页面的需求事先已知并且对系统所有的用户都一致的时候,开发这样的数据录入页面是十分简单的任务。然而,当需要动态的数据录入页面,而且从Web图形界面到数据库的保存都需要动态可配置的时候,任务就变得艰巨起来。而在Web的信息系统中,无一例外涉及到各类信息的发布、收集、反馈乃至统计分析。数据如何在发布者和用户之间流畅传递,并能保持实时性、高准确度和高度自动化,已经成为Web管理系统的一个难题。本文将以高校信息化建设为背景,对在需要动态的数据录入页面的情况下,提出一种相对理想的解决方案,并给出自己的实现方法。第二章 序论第一节 高校信息化概述高校信息化建设是随着信息技术的发展而发展,近几年来,由于“211工程”的推动,加大了全国高校信息化的进程,各高校在网络基础设施、信息系统建设方面都有了很大的发展。校园网络应用系统和用户都达到了相当的规模,网络用户涵盖了教师、学生、职员、工人等校内各类人群和无法计数的校外访问者,初步实现了网上办公、网上管理、网上教学和网上服务。校园综合信息平台是以网络为基础,利用先进的信息化手段和工具,实现从环境(包括设备、教室等)、资源(如图书、讲义、课件、信息等)、到活动(包括教、学、管理、服务、办公等)的全部数字化,在传统校园的基础上构建一个数字空间以拓展现实校园的时间和空间维度,从而提升了传统校园的效率,扩展了传统校园的功能,最终实现教育过程的全面信息化。校园综合信息平台建设是分阶段、分层次的,它经历的是由硬到软、由下而上、螺旋上升的建设过程。校园综合信息平台也是一个层次化的结构,其体系结构可以用一系列同心圆表示,内圆是核心,是基础,外圆是在内圆的基础上提供的更进一步的服务。按照功能划分,校园综合信息平台可以分为五层,其结构图如图2.1所示,从内到外五个圆分别表示:图2.1校园综合信息平台的体系结构高校信息化建设是一项巨大的工程,而且由于对于这一新鲜事物,国内外都没有成熟的技术和通用的模式,因此本文不对高校信息化建设做过多的阐述,只是针对信息化建设中的信息发布和收集这点提出问题、提出解决方案,并给出具体实现。第二节 现有高校信息发布、收集解决方案现有高校信息发布、收集的解决方案主要有两种:一是由系统发布Word文档,然后由教师上网下载,填写完以后打印上交给上级单位;二是由技术人员制作数据录入页面,更新系统,然后教师上网提交信息。以下对这两种解决方案做出简要分析:一. Word文档方案这种方案虽然很直接,工作量也不大,但是给每个教师的数据录入带来了不方便,也影响了学校数据收集的效率。示例图如图1.这种方案的主要缺点有:1. 不方便教师做信息录入,需要教师查看哪些Word文档是自己需要下载,哪些不需要。2. 需要对教师Word录入信息做格式说明,容易出现不同教师对同一信息做出不同的录入。3. 数据保存方式落后,使用纸制文件进行数据保持而没有信息的数据库式存储。4. 数据收集困难,教师需要人工上交文档,难以保证按时。5. 数据检索困难,需要手工查询Word文档,不能像数据库那样方便做各种统计查询。6. 数据管理困难,太多的纸制文件难以管理。二. 技术人员更新系统方案第二种方案虽然解决了第一种方案的一些缺点,但是仍然有其难以解决的问题。主要缺点有:1. 耗时长,技术人员需要一定的时间来制作页面和设计数据库操作代码,或者设计数据库。2. 系统容易出错,技术人员在做这样的更新的时候,如果没有充分的测试,系统很容易出错。第三节 本文提出的解决方案理想的情况,是在有新的数据需要收集的时候,由某个非技术人员通过易用的、基于Web的图形界面来配置数据录入页面,将页面内容中关于特定用户的输入项,根据系统数据库中的信息进行数据预填,然后将页面分配给不同的用户或用户群体。这样的数据录入系统便可以解决前两种方法带来的问题。一. 配置数据录入页面方案的优点这种方案主要是解决了现有方案存在的问题,它的优点有:1. 教师信息提交容易,由于有数据预填的功能,教师不需要做重复的输入。2. 数据提交格式容易限制和说明。3. 可以有多种的数据保存形式,可以打印,也有数据库的信息的存储。4. 数据管理、检索容易。5. 不需要技术人员的操作,使用图形界面的形式,可以使非技术型管理人员容易配置和分配数据录入页面。6. 系统可以应付所有的数据录入的变化,不论是用户界面上的变化,还是具体数据内容的变化,系统都可以在运行的时候进行配置和修改。7. 数据录入页面的实时性,可以很快的配置和分配,提高学校的办公效率。二. 配置数据录入页面方案和现有方案各方面比较表2.1显示了3种信息发布收集方案在性能和适用性上的对比:表2.1 信息发布收集方案对比表解决方案维护难度可定制性使用简易度功能性Word等格式文件提供下载难以维护、统计不可定制使用麻烦无附加功能临时制作静态输入页面难以维护,出错率高不可动态自动定制较方便无附加功能动态可配置系统页面动态加载,维护相当便捷可视化定制十分方便在线修改、审核功能。第三章 本系统所用技术及其概述第一节 面向对象的分析和设计本系统采用C作为开发语言,使用面向对象的分析和设计。在面向对象分析的过程中,强调的是在问题领域内发现和描述对象或概念;在面向对象设计过程中,强调的是定义软件对象和这些软件对象如何协作来满足需求。在本系统的分析和设计中,我们强调各软件组件的职责问题,为不同的软件对象或组件分配其应有的职责是最关键也是最基本的工作。其中还应用一些成熟的模式进行分析和设计,使系统各模块结构更清晰,工作更协调。在开发过程中,我们使用UML语言进行面向对象的建模,用统一过程进行迭代开发。第二节 分层架构分层架构是当前比较流行的系统架构模式,本系统采用三层架构的模式,分别是表示层、业务层、数据层。此模式概述了每一层的职责以及组成每一层的组件,如图2.图3.1 Three-Layered Services Application图3.1显示的 Three-Layered Services Application基本上是一个松散的三层体系结构,三层的概要说明如下:1. 表示层:表示层提供应用程序的用户界面 (UI)。这通常包括 Windows 窗体(用于智能客户端应用程序)和 ASP.NET 技术(用于基于浏览器的交互)的使用。2. 业务层:业务层实现应用程序的业务功能。业务层通常由使用一种或多种支持 .NET 的编程语言实现的大量组件组成。3. 数据层:数据层提供对外部系统(如数据库)的访问。该层涉及到的主要 .NET 技术是 ADO.NET。但是,在这里也经常用到一些 .NET XML 功能。第三节 XML技术可扩展标记语言(eXtensible Markup Language,XML)是由万维网联盟(World Wide Web Consortium,W3C )开发的,主要目的是为了克服HTML的缺点,XML对于HTML来说,特点是:没有预定义的标记;更严格的语法。XML的应用主要分为文档应用和数据应用。在文档应用上XML的主要优点在于它的重点是文档的结构,这使得它独立于传播媒介。在数据应用方面,通过XML形成了一个完整的体系,为数据的分发带来了一种出版模式。用XML文档可以来表示数据库结构,还可以表示某种文档的结构。在本系统中,主要应用XML在数据应用方面的功能,一方面通过XML来存储和表示数据录入页面的文档结构,用来存储其外观信息,另一方面通过XML来存储教师所提交的信息,达到使用同使用数据库同样的效果。第四节 ASP.NET技术ASP.NET是Microsoft .NET Framework 中一套用于生成 Web 应用程序和 XML Web services 的技术。ASP.NET 页在服务器上执行并生成发送到桌面或移动浏览器的标记(如 HTML、WML 或 XML)。ASP.NET页使用一种已编译的、由事件驱动的编程模型,这种模型可以提高性能并支持将应用程序逻辑同用户界面相隔离。ASP.NET 页和使用 ASP.NET 创建的 XML Web services 文件包含用 Visual Basic .NET、C# .NET 或任何 .NET 兼容语言编写的服务器端(而不是客户端)逻辑。Web 应用程序和 XML Web services 利用了公共语言运行库的功能,例如类型安全、继承、语言互操作、版本控制和集成安全性等。本系统应用ASP.NET中可以在运行时动态创建服务器控件来达到产生动态数据录入页面的需求。第四章 基于Web的以XML驱动的信息发布、收集系统构建第一节 系统开发与运行环境表4.1 系统开发与运行环境系统开发与运行环境开发模型B/S服务器平台IIS5.0编程语言ASP.NET (C#)编程工具Microsoft Visual Studio.Net操作系统Windows 2000 professional第二节 系统需求分析一. 功能性需求1. 具有用户登陆、权限控制的功能。2. 具有数据输入页面模板上传的功能。3. 具有对模板进行配置的图形化界面。4. 具有对数据输入页面按用户和角色分配的功能。5. 具有查询所收集的信息的功能。6. 具有对数据输入有按照数据库原有信息进行预填写的功能。7. 具有对输入数据按照页面格式进行报表预览的功能。二. 性能性需求由于系统的侧重点是在完成功能性需求,对于系统的性能需求不做过多的考虑,主要有以下两点:1. 系统吞吐量和响应时间。现有的系统吞吐量和响应时间主要取决于作为服务器的机器的性能和网络的状况。2. 系统的安全性。结构上,后台系统采用的是与前台系统(即与用户交流的部分)完全独立的结构,降低了受到恶意用户攻击的可能性。另外,后台应用程序采取了使用用户名登录的加密措施,以保证数据库操作的安全性。第三节 系统工作流程信息发布、收集系统的业务流程分析分为:页面配置流程分析、信息分配流程分析、用户提交修改流程分析、查询修改流程分析。一. 页面配置流程分析管理员登陆之后可对空白表格进行字段绑定、字段类型配置。具体流程如图4.1所示:图4.1页面配置流程二. 信息分配流程分析管理员可按用户姓名和按用户角色两种方式把信息录入页面权限分配给对应用户或者用户群。三. 用户录入、修改流程分析教师登陆以后可以知道自己要填写的表格,选择表格以后可以提交或修改。具体流程如图4.2所示:图4.2 数据录入、修改流程四. 查询流程分析查询模块系统管理员页面和普通页面部分都会出现。在用户查询页面中查询流程和用户录入页面流程大致相同。在管理员查询页面中,有两个查询方式:按用户名和按表格模板。管理员选择查询方式,可对查询结果进行预览和审核。第四节 数据库设计一. 数据库设计概述本系统并没有采用一般的数据库系统作为系统的数据驱动核心,而是采用XML文件作为系统的数据驱动核心,这样做的原因有两点:1. 关于数据输入页面配置的外观信息需要XML文件来存储和表示。2. 关于用户所输入的信息,可用一般数据库来存储,但考虑到后台数据库可以是各种类型,比如ORACLE、SQLserver等,如果用XML文件作为中间层,将会很容易在多个数据库之间做传输和同步。这样系统的可移植性将增强。二. XML文件概要说明表4.2 XML文件说明文件名说明users.xml存储用户信息的xml文件。roles.xml存储角色信息的xml文件。xxx.xml模板xml文件,该文件的名字是不定的,模板可以由用户上传,该文件的节点结构是不变的。RepCollection.xml存储模板文件与数据输入页面名称对应关系的xml文件xxxxx.xml数据存储文件,该文件与一个确定模板一一对应。文件名可以由用户设定,文件节点结构不变。三. 数据输入页面外观配置信息存储文件相关设计关于数据输入页面外观配置信息一概存入模板文件中,该模板文件的结构为一个Html的表格,利用Html的表格的结构来达到页面外观的可配置。该xml文件的节点结构如图4.3:图4.3 模板文件节点示意图节点说明如表4.3:表4.3 模板文件节点说明节点名称说明备注table模板文件根节点,表示一个表格tr表示表格中的一行td表示一行中一个单元格,每个单元格有不定数目的control节点control用来表示一个控件的控件节点根节点type表示该控件的类型,现阶段有如下类型:标签、文本输入框、下拉框、多选框、单选框cValue表示控件名称text表示控件内容width表示控件宽度和高度部分使用required表示控件内容是否必填部分使用regular表示控件内容要规范的正则表达式部分使用erroMessage表示错误消息部分使用style表示控件风格,如文本框有单行多行部分使用分控件类型说明各节点:1. 标签控件(Label):表4.4 Label节点名称说明type节点内容为label,指名该控件为标签控件cValue该控件名字,默认为labeltext标签控件内容,由用户配置时候输入width未使用required未使用regular未使用erroMessage未使用style表示标签控件内容字体大小,默认132. 文本输入框控件(TextBox):表4.5 TextBox节点名称说明type节点内容为textbox,指名该控件为文本输入框控件cValue该控件名字,默认为textboxtext文本输入框控件内容,由用户配置时候输入,用户配置还可以配置该内容为映射数据库中的某个字段,实现数据输入的预输入功能。width文本输入框控件的宽度和高度,宽度和高度之间用“|”分隔。required表示文本输入框是否为必填内容,用来规范数据输入页面数据录入。regular规范数据录入页面中文本输入框的内容,可以选则“数字、Email、邮编、电话号码”等等。erroMessage文本输入框如果输入错误,页面显示的错误信息,默认为“输入错误”style表示文本输入框控件为单行还是多行,默认为单行。3. 下拉框(DropDownList):表4.6 DropDownList节点名称说明type节点内容为dropdownlist,指名该控件为下拉框控件cValue该控件名字,默认为dropdownlisttext下拉框控件内容,有用户配置时候输入,用户配置还可以配置该内容为映射数据库中的某个字段,实现数据输入的预输入功能width下拉框控件的宽度。required未使用regular未使用erroMessage未使用style未使用4. 多选框(CheckBox):表4.7 CheckBox节点名称说明type节点内容为checkbox,指名该控件为多选框控件cValue该控件名字,默认为checkboxtext多选框控件内容,有用户配置时候输入,用户配置还可以配置该内容为映射数据库中的某个字段,实现数据输入的预输入功能width未使用required未使用regular未使用erroMessage未使用style表示多选框控件内容横向排列或者纵向排列,默认横向排列。5. 单选框(RadioButton):表4.8 RadioButton节点名称说明type节点内容为radiobutton,指名该控件为单选框控件cValue该控件名字,默认为radiobuttontext单选框控件内容,有用户配置时候输入,用户配置还可以配置该内容为映射数据库中的某个字段,实现数据输入的预输入功能width未使用required未使用regular未使用erroMessage未使用style表示单选框控件内容横向排列或者纵向排列,默认横向排列。四. 用户输入信息存储文件相关设计本文系统采用XML存储用户提交的数据。一般而言,这部分信息可采用Oracle、SQL Server等数据库来存储。但考虑到本系统需要跟不同的数据库系统进行对接,将这部分数据的存储也暂时使用XML文件进行保存。在数据层保留了与其他数据库的接口。系统一旦需要与具体高校信息化平台整合,可以方便安全地同其他数据库做信息的传输和同步。这类的表格在本文系统中有一下几种:1. 报表信息表:用户提交的表格信息需要存放到数据库中。这些信息存放在表reportData.xml中。结构如图4.4:图4.4 reportData.xml文件节点示意图数据文件节点说明如表4.9:表4.9 数据文件节点说明节点名称说明reportdata表示一张表格对应的数据存储文件report表示一次提交的表格数据根节点,属性id唯一标识item表示一个控件名,属性id唯一标识data某个控件下存储的数据time该控件下数据最后一次修改时间这样三层的节点,使得每次提交的信息都可以通过report id很方便地查询得到。甚至是表中个别字段的信息,也都可以通过item id查询,便于修改。2. 用户信息表用户信息也需要存储在数据库中。因为前面所讲述的原因,本文系统将用户信息存放在user.xml中,并且只是模拟高校信息化平台中的若干用户信息字段。今后在实际的高校信息化平台中架设本文系统的时候,这些信息已经存在于中央数据库的人事数据库中,无需另外建设新的数据库。user.xml表结构如图4.5所示:图4.5 user.xml文件节点示意图文件节点说明如表4.10:表4.10 user.xml文件节点说明节点名称说明userlist表示一个用户基本资料数据存储文件,属性id唯一标识user表示一个用户对应数据根节点 name表示一个用户名password表示该用户登陆密码type表示该用户类型phone表示该用户电话号码address表示该用户家庭住址sex表示该用户性别dept表示该用户所属院系report表示该用户所被分配的表格集合item表示该用户所被分配的一个表格repName表示该表格对应的数据存储文件名repFile表示该表格对应的模板文件名3. 角色分配表本文系统的表格、文件均以角色或用户的方式分配给特定用户,role.xml文件就是用来存放这些信息的。xml文件结构如图4.6:图4.6 role.xml文件节点示意图文件节点说明如表4.11:表4.11 role.xml文件节点说明节点名称说明rolelist表示角色分配表role表示一个角色,属性id唯一标识userlist表示属于该角色的用户列表user表示一个属于该角色的用户名reportlist表示该角色所被分配的表格集合item表示该角色所被分配的一个表格repName表示该表格对应的数据存储文件名repFile表示该表格对应的模板文件名4. 模板关联表一个模板文件对应有一个数据存储文件。repCollections.xml文件中存放了他们之间的对应关系。Xml文件结构如图4.7:图4.7 repCollections.xml文件节点示意图文件节点说明如表4.12:表4.12 repCollections.xml文件节点说明节点名称说明reportlist表示一表格、文件集合report表示一个表格、文件name表示该表格、文件对应的数据存储文件名file表示该表格、文件对应的模板文件名第五节 界面设计一. 系统界面总体设计系统页面色调采用黑白蓝的色系,配合一定的图标,以简洁大方为总体风格。系统页面由三大块组成:登陆页面、用户功能页面、控件设置页面,后面将进行分别说明。二. 第三方组件本系统在界面方面用到了四个第三方组件,分别是:1. obout公司的Splitter,公司主页:。2. obout公司的Slide Menu。3. obout公司的Easy Menu。4. MetaBuilder公司的DualList,公司主页:。三. 登陆页面页面说明:1. 页头:窄框色值#555555;字体色 白色2. 页体:主色 #6B89AF3. 页脚:窄框色值#555555图4.8 登陆页面四. 用户功能页面页面说明:1. 页头:显示当前登陆者姓名。2. 功能下拉菜单:显示当前用户能使用的功能。3. 具体操作页面。4. 页脚:显示版本信息。图4.9 用户功能页面五. 控件定制页面页面说明:不同的控件有不同页面,右图示例的是文本输入框控件的定制页面。页面由页面标题和定制内容组成。图4.10 控件定制页面第六节 登陆模块设计与实现一. 总体思路本系统不允许匿名用户,不同的用户有不同数据录入页面分配,登陆页面作为系统的入口,将会提供以下三个方面的内容:1. 身份验证:发现用户身份标识的过程,通过用户输入用户名和密码来操作,还通过持续性的Cookie来标识。2. 授权:在身份验证之后,知道了用户的确切身份以后,就可以确定是否应该允许他们访问他们所请求的资源。3. 角色扮演:与身份验证有关,它允许某个用户像其他用户一样访问资源,相当于用户群的概念。在身份验证方面,系统采用ASP.NET的基于Form的身份验证,用户如果是第一次登陆,会要求用户输入用户名和密码,如果通过身份验证,会将该用户的身份验证状态储存在Cookie中,用户在再次登陆系统的时候,系统会自动检测用户是否拥有Cookie。每一个Cookie在系统中都有一个保存时间,当用户长时间登陆系统而没有任何操作的时候,系统会自动删除用户Cookie,要求用户重新登陆。系统登陆过程如图4.11:图4.11 系统登陆流程图二. 用例分析表4.13 系统登陆模块用例表用例1处理登陆主要参与者:一般用户、系统管理员前置条件:网络正常基本流程:1. 用户打开登陆页面2. 用户输入用户名和密码3. 系统检查用户名和密码是否正确a) 不正确,跳转到登陆页面,系统提示错误信息b) 正确,系统存储用户验证到Cookie并检查用户类别4. 系统根据用户类别跳转到用户功能页面5. 登陆完成三. 顺序图图4.12 系统登陆顺序图通过顺序图,可以看出当用户登陆的时候,主要的工作由Default这个UI层的类完成,它需要根据用户输入的用户名和密码创建一个User类,然后调用User类的TestPassWord()函数来做用户验证的工作,如果验证通过,则Default类创建Index(UI)类并跳转过去。在登陆的过程中,还有存储用户验证Cookie的工作和保存当前用户信息以便以后的页面使用。为了防止用户输入Index的地址而绕过身份验证,因此在Index页面里同样要验证当前用户是否合法,不合法系统将跳转到Default页面。四. 对象设计根据顺序图,处理登陆中一个重要的例程(函数)是TestPassWord(pwd),还有就是Default这个UI类中的登陆按钮的响应事件函数。根据信息专家模式(设计模式),Default类拥有关于用户特征的信息,因此Default类应该创建User类,如顺序图所描述。由于基于Form的身份验证,我们构造类SiteIdentity,该类继承System.Security.Principal.IIdentity接口,在系统中,Default类创建SiteIdentity并赋值给当前应用程序的用户标识,在SiteIdentity中创建User类,User类是一个数据库持久化对象,根据数据库中的信息进行身份验证,这样,系统便完成了一个登陆过程。简单类图如图:图4.13五. 安全性本系统安全性分为登陆漏洞和用户密码保密两类,登陆模块由于采用基于Form的身份验证,一般的恶意登陆将不能对系统带来什么影响,虽然系统保存Cookie,但是系统在用户关闭浏览器或者用户退出的时候对Cookie都做删除处理,因此这也不是问题。在用户密码方面,系统采用SHA-1加密,而不是明文的方式,因此除了用户知道自己密码以外,其他人很难得到用户密码。第七节 录入页面配置模块设计与实现一. 总体思路本模块的难点在于配置的可视化操作,在系统管理员进行配置的时候,他的每一步配置,系统立即便能给出结果。我们的实现思路是,根据数据库设计,每一个录入页面都有自己模板文件(xxx.xml),该文件存储了页面的外观信息。在管理员在做每一步的配置的时候,系统都会对当前模板文件进行读写操作,在刷新页面的时候,系统便可以显示最近所配置的效果。本模块有以下几个方面的内容:1. 模板文件的持久化问题。2. 系统对模板文件的可视化显示。3. 动态加载服务器控件以及服务器控件外观的控制。配置流程图:图4.14 配置流程图二. 用例分析表4.14 系统配置模块用例表用例2配置录入页面主要参与者:系统管理员前置条件:网络正常、系统存在可配置的模板文件基本流程:1. 管理员选择模板文件。2. 系统显示模板文件外观结构。3. 管理员在表格单元格内做控件的配置操作。4. 系统更新模板文件,完成控件配置。5. 管理员刷新页面,系统显示最近所配置的效果。6. 重复35步,直到配置完成。7. 管理员点击完成按钮。8. 系统更改模板文件状态为已配置。三. 对象设计在对象设计的时候,要面临的第一个问题是如何将数据库或XML数据文件从持久化转换为内存中的一个对象。比如本系统中的模板文件、user.xml用户信息文件、role.xml角色信息文件,这些文件都有持久化的问题,在处理这个问题的时候,我们设计思路是分层处理、映射、对象标识。1. 分层处理:主要思想是应用程序的三层架构思想,本系统中每一个持久化对象,比如模板文件、用户信息文件、角色信息文件,都采用两层处理方式,一方面是数据层,直接跟持久化的文件做读写操作;另一方面是业务层,是应用程序表示层用来调用,达到需求目的的层次。2. 映射:主要思想是将数据库中的字段映射为内存中类的属性,操作类的属性,便可以影响到数据库中字段的内容。3. 对象标识:主要思想是数据库中每一条记录都相当于一个对象,为每个对象创建一个ID标识,在操作类的时候就能够明确操作的是数据库中哪一条记录。本模块所用到的主要的类是处理模板文件的类,类图如下:图 4.15BusTemplate这个业务层的类的主要成员及说明如下:表4.15 BusTemplate类成员说明IsExist返回当前模板文件名的文件是否存在RowNum返回模板文件中行数TotalCellNum返回模板文件中单元格总数GetCellCount返回指定行中单元格数GetColumnSpan返回指定单元格跨越的行数GetRowSpan返回指定单元格跨越的列数GetControls返回指定单元格中的控件对象集合与之相关的BusControl类主要成员及说明如下:表4.16 BusControl类成员说明IsExist返回当前控件在模板中是否存在rowNumber返回控件所在的行号colNumber返回控件所在的列号Create创建当前控件到指定单元格Delete删除当前控件从单元格ToWebControl将控件转换为WebContorl对应的类Update更新模板文件中指定控件的内容除了上面两个主要的类,本模块中还包含TableBuilder类、BusControlList一个集合类,以及它们的数据层类。类与类之间的关系及其职责,将会用顺序图加以说明。四. 顺序图图4.16 显示模板外观顺序图从显示模板外观顺序图4.16中可以看出,系统操作“显示模板外观”由TableBuilder、BusTemplate、BusControl三个类协调完成,BusControl完成将模板文件td节点下每个control节点转换为相应的服务器控件,BusTemplate负责得到模板文件的tr及td结构信息,然后TableBuilder类负责应用这两个类给出信息将模板文件转换为一个Table的服务器控件,Table中的每个TableCell包含模板中相应的服务器控件。图4.17 配置控件顺序图图4.17说明配置控件的操作相对简单,只需要确定要配置的控件在模板文件的哪一行的哪一个单元格,然后知道要配置的各个参数,如果是已有的控件,则更新模板文件中该控件节点的内容,如果单元格中不存在该控件节点,则由BusControl类创建节点,操作模板文件的类由BusControl类调用DLControl数据层的类来完成。第八节 录入页面分配模块设计与实现一. 总体思路本模块重点在于分角色和分用户进行分配,用户是按照角色进行管理的,在录入页面的分配上,要求能够按角色和用户分配,为角色分配的页面要求能显示在拥有该角色的用户上面,因此需要维护两张录入页面列表。在我们的用户数据库和角色数据库中,每个用户和角色都有页面列表这样的节点,操作这两个节点,便可以实现本模块的功能。二. 用例分析表4.17 录入页面用例表用例3分配录入页面主要参与者:系统管理员前置条件:网络正常、系统存在可分配的录入页面基本流程:1. 管理员选择按角色或者按用户分配。2. 系统列出角色(用户)下已有录入页面和未分配页面。3. 管理员对角色(用户)录入页面进行重分配,并点击确定。4. 系统根据管理员分配的结果,修改user.xml和role.xml文件下录入页面列表节点内容。5. 系统显示分配完毕。三. 对象设计录入页面配置类似,也是有一个持久化对象的问题,处理方式跟上面一样。通过分层、映射、对象标识达到目的。模块中涉及到的XML数据文件共有3个,分别是user.xml、role.xml、repcollecion.xml。根据持久化处理的方式,一共有9个类来维护这3个文件:表4.18 XML数据文件文件名数据层业务层user.xmlDL_UserUser UserCollectionrole.xmlDLRoleRole RoleCollectionrepcollecion.xmlDLRepBRep RepCollection其中UserCollection、RoleColleciont、RepCollection分别是User、Role、BRep的集合类,继承System.Collections.CollectionBase。处理user.xml和role.xml的类分别对xml文件中属性节点做了映射,在每个用户和角色节点下有RepCollection对象的节点,这样系统便可以很方便的取得用户或角色所拥有的录入页面列表。BRep有两个属性:Name和File,Name对应录入页面的名字,由管理员在配置模板文件的时候录入,File存储的是对应录入页面名的模板文件的文件名。做这样的映射管理,是为了方便系统取得哪些模板文件是经过配置,哪些文件还没有配置。在实际系统中,数据层的操作只是对文件的读写,相当于数据库的操作。真正需要关心的是业务层中的函数,我们将其做成表格并说明:1. User类表4.19 User类成员说明Exist返回当前用户是否存在ID返回用户IDPWD返回用户密码Type返回用户类型Sex返回用户性别Name返回用户姓名Phone返回用户电话号码Dept返回用户院系Address返回用户地址Create根据当前用户信息创建用户AddRep添加录入页面到当前用户的录入页面列表DeleteAllReps删除当前用户录入页面列表中所有数据GetReps得到当前用户录入页面列表GetRepsWithRole得到当前用户录入页面列表和用户角色录入页面列表的并集TestPassword测试密码是否与数据库中密码匹配2. Role类成员说明IsExist返回角色是否存在RepList返回当前角色所有录入页面列表RoleID返回角色UserList返回当前角色的用户列表AddRep添加录入页面到当前角色的录入页面列表AddUser添加用户到当前角色的用户列表DeleteAllReps删除当前角色录入页面列表中所有数据3. BRep类表4.20 BRep类成员说明File返回录入页面名Name返回录入页面对应的模板文件名IsConfigured返回录入页面是否已经配置Create创建录入页面名和模板文件名对应到RepCollection文件IsNameValidated判断所取的名字是否合法Update更新RepCollection文件Equals判断是否相等四. 顺序图图4.18 分配录入页面顺序图分配录入页面的过程相对简单,由于User对象和Role对象分别维护各自的RepCollection,因此直接操作User对象和Role对象的录入页面列表便可以达到需求。第九节 其他模块设计与实现备注:本系统另外在普通用户登陆后会看到录入、查询、修改的页面,与之相关的录入模块、查询模块、修改模块由我们小组的张怡同学完成,因此不在本论文中做阐述。第十节 系统页面功能描述一. 登陆页面图4.19 登陆页面图4.19中显示的系统的登陆页面,图中标号1标出的退出按钮通过一个JavaScript可以关闭页面。图中标号2是登陆框,用户输入用户名、密码到文本框并点击按钮完成操作。如果用户名或密码错误
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建泉州交发集团(第二批)校园招聘26人考试参考题库及答案解析
- 纺织企业安全培训试题及答案解析
- 外贸业务流程及合同管理手册
- 基于FMEA的港口工程建设质量风险控制研究-洞察及研究
- 尿素细菌废弃物利用-洞察及研究
- 2025年西式面点师实操考核试卷(初级)之西点制作原料采购合同管理
- 三糖阻氧效果-洞察及研究
- 数据安全多方协作-洞察及研究
- 区块链监管技术-洞察及研究
- 项目劳务合同范本与流程详解
- 麻精药品管理培训
- 顾客特殊要求培训课件
- 九年级英语宾语从句专项训练题及答案
- 医疗仪器设备效益考核办法
- 生产产能提升激励方案
- 车间5S管理培训
- ICU糖尿病酮症酸中毒护理
- 公司绿色可持续发展规划报告
- 高速铁路桥隧养护维修 课件 2 桥隧养护维修工作的基本方法和基本内容
- 战略规划六步法
- 2024年废旧溴化锂出售合同范本
评论
0/150
提交评论