B/S架构下,一个业务对象包括一个DataTable对象成员,现在通过创建session对象的键值对增加了对该DataTable的引用。

当前位置: >>
基于ASPNET网络办公管理信息系统的设计
同济大学软件学院 硕士学位论文 基于ASP.NET网络办公管理信息系统的设计 姓名:王秀庆 申请学位级别:硕士 专业:软件工程 指导教师:张晨曦;袁华炜
摘要摘要随着计算机网络和Internet的迅猛发展,运用先进的管理信息系统(MIS)及软件开发平台,对信息进行科学化和网络化管理,已经成为高校信息系统的发展趋势。本文针对绍兴文理学院计算机中心网络化管理的需要,构建了一个 “基于ASP.Net的网络办公管理信息系统"。该系统运用完善的校园网络,建立了一个集B/S结构和先进的ASP.NET技术为一体的涉及部门新闻信息和教师教学、科研等各个环节,具有多层次用户的、安全的网络办公管理信息系统。 本论文首先概述了管理信息系统的基本概念和发展历程,介绍了.NET框架 的构成和优势,阐述了ASP.NET技术,并对新一代数据访问模型ADO.NET进行 了详细介绍。通过对ASP.Net相关技术细节进行深入的研究与探索,制定出了系统的设计方案。本系统以数据库SQL Server为依托,使用全新的面向对象语 言C#,结合ASP.NET,运用Web服务器控件设计完成。本系统采用三层结构模型和模块化设计方法,用存储过程实现对底层数据的操作,采用.NET技术实现 了程序和代码的分离,使得程序代码更安全,执行效率也更高,同时通过程序 安全设置、权限分配等增加系统的安全性。具体工作主要包含以下几方面的工 作: (1)通过需求分析、数据库的分析和设计以及软件设计阶段的系统设计和详 细设计,最终实现了“基于ASP.NET网络办公管理信息系统的设计”。(2)通过需求分析及对开发工具的比较,确定并使用Visual Studio.net作为ASP.NET开发工具,采用SQLSERVER2000作为后台数据库服务器。(3)设计并实现了院系(中心)新闻信息发布系统的前台页面和后台管理页面的设计。(4)设计并实现了公告信息模块、留言板模块、文件上传下载模块、链接管理模块及对上述模块的后台管理。(5)实现了教师基本信息和科研信息的修改、录入、删除和查询功能,达到 教师信息管理的网络化。 (6)实现了一般的常规管理:用户管理与权限管理的设计与实现,即添加、 修改与删除用户及对用户进行权限的动态分配。 本系统实现了对教师、学生、及公众信息的录入、修改、查询、删除等各 摘要种操作,满足了各级用户信息获取的要求。本系统基本能够满足本单位教师管理工作的需要,从而提高办公效率,推进高校“无纸化办公"进程。关键词:管理信息系统,ASP.NET,Web,办公管理II Abs仃actABSTRACTWiththe computer networks and the rapid development of Internet,usingadvanced management information system(MIS)and software development platform,carriesonthe scientificandthe networkmanagementto the information,alreadybecame the tmiversities view of the needs forinformation systemthe development tendency.This paper in in the Computer Center of Shaoxingnetwork managementto be University,the”ASP.net-based management information system of network”isdeveloped.The system applies the B/S structureandpopular ASP.NET techniques.Functions concem administrations of personal,education,scientific student information.The system has high security,etc. This paper first outlines the MISprojects,andusers,many advancedfeatures like multi-levelandthe basic concept of the developmentprocess,introduced.NETASENETframework for the composition and strengths,explained wellas atechnology,asnew generation of ADO.NET dataaccessmodelforadetailed briefing.Technical details related tO conduct in―depth research and of system design.Basedonexploration,and developmentsystem.usingaSQLServer databasenewobject-orienteduses alanguage C群and ASENET technology and webcontrols.Thecansystemthree-tier structure model and modular method,thethe data,By using.NET process of storing data to achieve the bottom of we divide the program and code totechnology,twodifferent parts,thus,programming codesis mare safe,execution efficiency is higher,through seaing up security procedures, suchasthe distribution of competences to increase system security.Specific workmainly includes the following aspects:(1)DemandAnalysis of the database design,and then the system designanddetailed design.And the eventual realization of the system.(2)Demand analysis andusedasComparison the development of tools.Identified andASP.NET developmenttool,SQL Serverdatabaseserver as abackground. system:input(3)Design andimplement the system of newsandinformationIII in南mation、designmanagement information modde.To design system prospectsof background. pages and pages(4)The design and implementation of theannouncemodule ofinformation,and download module,chaining to manage message board module,file and upload the module and back.stage management of part described above.(5)Conventional Management:User Managementand delete Design and Implementation.add,modify allocation. The system isa usersand Power andusersManagementof the dynamicresearch practical levelprojects.Implementationof the systemasfor teachers,students,and public deletion of variousinformation input,modify,inquiries,suchoperational statisticstheoperations,achievingusersandstatementsfunctions.to meet theat all levelsaccessto information requests-the system canto improve office meet the teachers management unit needs andefficiencyandAdvance higher education”paperlessoffice”process.KeyWords:MIS,ASENet,Web,Office ManagementIV 同济大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。躲影不五■哪 学位论文版权使用授权书本人完全了解同济大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。学位论文作者签名:砘§R瓢月国日o-●-o--_-_●’--●-o●-●-‘●●●‘●●-●‘●●o-●●-●●●-o●-●●-‘-●-●●●●-’-o---●--●-●---●●●●_●-经指导教师同意,本学位论文属于保密,在 本授权书。 指导教师签名: 年月 日年解密后适用学位论文作者签名: 年月日 第1章引言第1章引言1.1课题研究的背景随着社会的发展和信息技术的进步,全球信息化的趋势越来越明显,任何 政府部门、企事业单位的管理不再是局限于某一个地区,都在自觉不自觉地参 与到了更广域的范围。在这个信息爆炸的时代,领导对信息的掌握程度、信息 获取是否及时、信息能否得到充分的利用、对信息的反应是否敏感准确,己越 来越成为衡量一个政府部门、企事业单位整体素质的重要因素。 网络办公自动化能够增进群体间的协作与交流,提高劳动生产率,这几年 的实际情况也证明了这一点。随着国民经济的发展,社会信息化、电子化水平 的不断提高,我国的各企事业单位越发地感受到上网络办公自动化的必要性。 在现代教育体系中,学校组织领导和教师之间,教师与教师之间,教师与 学生之间,更多地时间处于独立的活动之中,因而人们更希望于不通过集会活 动来获取更多的消息和知识。学校组织领导也愿意通过一种特定的手段来更有 效地对教师进行更加灵活和开放式的管理,从而保证正常的日常教学和人员管 理。实现网络自动化办公正是适应了这一时代要求。通过网络办公系统的运用, 能有效地加强对教职员工的灵活管理,使学校员工能够通过网络及时了解学校 的政策和相关制度,获取相应信息,节省了大量的时间,提高了工作效率。 计算机中心作为管理学生和教师的最直接机构,在校级职能部门统一管理的同时,也亟待建立自己的信息库,将行政、教学、科研和学生工作等多种日 常事务纳入信息化和网络化管理。提高办公效率,加快教育体制改革的进程。 在此背景下,本课题主要进行绍兴文理学院计算机中心的“基于ASP.Net网络管理信息系统"的研究和开发。1.2网络办公平台的发展概况随着Internet/Intranet和Web技术的日益普及和推广,使得Internet/Intranet正逐渐成为企业信息化建设的有力工具。许多公司凭借l 第1章引言Microsoft、UNIX等系统平台上的开发经验,成功地推出了基于 Internet/Intranet平台的企业级网络应用系统。围绕“政府上网”、“企业信息化工程"两大主题,公司推出了网络办公自动化解决方案――JET―OA(协同办公系统)。该系统是采用Browser/Server模式,完全基于Internet/Intranet平 台,针对企事业单位内部的管理流程,设计而成的一套方便、稳定、实用的办 公自动化软件。其功能主要涉及以下几个方面: (1)个人办公:包括电子邮件、个人日程、待办事宜、便签、个人信息维护 等功能。 (2)信息发布:包括栏目管理、栏目授权、文档维护等功能。 (3)公文流转:包括收文管理、发文管理、图形化流程定义等功能。 (4)事务管理:包括会议管理、会议室管理、用餐管理、用车管理、用章管 理等系统。 (5)日程管理:包括领导日程、工作日志、工作周报、部门工作计划等系统。 (6)网上论坛:包括版面管理、版面授权等功能。 (7)系统管理:包括人员、组织结构、群组、角色的管理与授权功能。 这些功能模块中,其友好的界面、严谨的管理结构,充分担当起了机构中各个管理层的各项工作,不仅是企事业单位员工工作中的优秀助手,同时更是 帮助有关领导做出英明决策的左右手。她使复杂、繁琐的办公室事务变得自动 化、流程化、数字化,大大提高了单位各部门的工作效率。JET一0A采用纯Web技术,即在客户端不必安装专用代码,系统功能全部在服务器端集中实现和管理,系统维护升级难度和工作量明显降低,真正做到客户端零维护,使系统可用性和易维护性与传统方式相比有了质的飞跃。对于现代的企事业单位来说,办公地点、办公时间越来越灵活。传统的必 须在局域网内才能使用的办公管理软件,对于外地分支机构人员或出差人员与 企业内部进行交流形成极大制约。随着SOHO(在家办公)、分工协作等办公新概 念的兴起。办公事务的存在范围的概念被极大扩大。新型的各种办公管理单元可能是由许多分布在不同物理地区的功能小组组成的。伴随着INTERNET网络技术的发展、普及。开发出一套不受物理存在范围制约的办公自动化软件在技术 上完全可行。而且,可以为企事业单位的管理工作提供更加灵活、方便的条件。 公司正是在上述前提下,看到了未来办公管理软件的发展趋势。基于全Web 技术开发出了协同办公管理软件。可以轻松的使企业实现通过Internet进行日2 第1章引言常办公管理。符合未来企业管理软件的发展方向。该产品是基于 Internet/intranet平台上的企业办公自动化解决方案,采用流行的WEB开发方式,产品化、结构化的设计方法,具有无须额外培训、单点维护、全面升级、 Internet/Intranet无缝联通等显著优点,同时极大降低了各单位办公自动化的 实施及维护成本,使企事业单位内部管理轻松迈向自动化。1.3高校二级部门网络办公管理系统的研究现状管理信息系统(MIS)发展到90年代,产生了客户机/服务器(c/s)服务方式,它将一个数据库应用分为客户端和服务器两部分,客户端在作为终端访问数据库服务器的同时,本身也具有处理数据的能力,能够分担一些任务。c/s方式强大的技术优势带来了巨大的管理效益,从而在相当长一段时间内是管理信息系 统的主流方式。但是,基于c/s的MIS普遍存在开放性差,软件的开发周期长, 开发费用高,软件的维护量大等缺点。近年来,随着Internet技术的发展,MIS系统逐渐突破了传统的C/S方式,被浏览器/服务器(Ws)方式所取代。使用B/S技术开发的MIS系统,采用了www技术的诸多优势。使客户端的软件层次及 安装配置的工作量明显减少。目前高校内的信息系统大多集中在各个职能部门,如图书馆、人事处、教务处、财务处、学生处等,这些系统己十分完备,并己开始发挥应有的作用。 但是,对于高校下属的各个院系来说,信息系统的建设相对滞后。然而院系级 信息系统是高校信息化建设必不可少的环节。目前虽然一些高校的院系己经开 发出自己的管理信息系统,然而这些系统具有明显的缺陷。(1)大部分系统处于单机运行阶段,不能适应信息共享和协同工作的要求。 (2)大部分院系的管理网站,只是以信息发布和宣传为目的,缺乏与用户的 实时信息交流,不能实现信息互动,失去了网络化管理的意义。 (3)用户角色单一,系统安全性差。由于院系MIS系统涉及各个职能办公室 人员、普通教职员工和学生,因此设计灵活的、分级的角色管理非常必要。目 前的系统大多只是管理员+普通用户的简单管理模式,因此功能的简单分配容易 产生安全漏洞。另外,现有的系统往往对安全性考虑不足,这也是目前管理信息系统的通病。(4)缺乏更为先进的开发平台。开发平台的选择对于信息系统最终的成功应3 第l章引言用起着决定性的作用。目前的院系级信息系统大多使用Visual FoxPro等初级 的、简单MIS开发平台。即使是网络版的系统也多数使用ASP或PHP。随着 Microsoft.NET框架的大力推广,其网络应用的先进性已经充分体现出来,尤其 是ASP.NET更加集合ASP和.NET两者的优势,提供了最为完善的Web数据库应 用开发平台。1.4本课题研究的目的和主要内容1.研究目的 本课题需要实现的目标是:设计和实现一个基于ASP.net的部门网络办公 管理系统,达到系部办公管理各个环节的自动化和网络化,教师和教学管理员 可以通过校园网在教学办公信息上达到自动化管理,互动交流。本系统实现的功能涉及学院教学、办公和科研管理的各个方面,主要实现系部新闻信息查询发布、教师信息管理,教学任务管理,教务通知发布等功能。2.研究的主要内容运用软件工程知识对该系统进行软件定义和需求分析并形成需求分析报 告,然后进行软件设计阶段的系统设计和详细设计。 (1)进行开发平台和开发工具的选择。.NET开发平台中包括了很多在MIS系 统开发中非常有用的技术和概念,弄清楚这些概念是开发MIS系统的前提条件, 因而对开发平台和开发工具的介绍就显得很有必要性。(2)进行系部新闻信息发布系统的设计与实现。设计并实现院系(中心)新闻信息发布系统的前台页面和后台管理页面的设计。(3)设计和实现公告信息模块、留言板模块、文件上传下载模块、链接管理模块以及各模块的后台管理。(4)设计了教师基本信息管理。能够对老师的基本信息和科研信息进行添加、删除和修改以及查询等进行管理。(5)进行常规管理。用户管理与权限管理的设计与实现。4 第1章引言1.5本文的组织结构本文的内容共分为五章,具体安排如下: 第一章是引言部分,该部分首先介绍了选题背景与课题来源,然后分析了 高校院系级管理信息系统的现状,并探讨了目前高校院系级MIS系统的缺陷。 接下来总结了本文的研究目的和主要内容,最后是本文的组织结构。 第二章是相关技术介绍,介绍了MIS和ASP.NET的基础知识。首先简要介 绍了MIS的2种常用开发模式和.NET框架,然后着重阐述了ASP.NET关键技术, 与ASP的比较,并对新一代数据访问模型ADO.NET进行了介绍,并且简要介绍 了ASP.NET中常用的控件的使用方法,最后介绍了SQLServer2000的特点。第三章是基于ASP.Net网络办公管理系统的分析与设计。首先详细介绍了系统的需求分析,接着是系统设计的基本思想和各子系统详细设计过程,最后 是数据库的设计过程,包括设计步骤、关键表的设计以及存储过程的使用。 第四章是基于ASP.Net网络办公管理系统的详细设计和实现过程。首先简 要介绍了系统的开发环境,对各个功能模块的实现过程、实现代码以及出现的问题和解决方案作了比较详细的阐述,并重点介绍了新闻信息发布子系统和教 师信息管理子系统的实现过程,最后分析了系统的安全保障措施。 第五章是总结和展望部分,总结全文的工作和成果,并指出不足之处,对 下一步的工作进行展望。最后是致谢与参考文献和附录,包括相关参考文献列表及对老师与朋友的衷心感谢等相关内容。 第2章相关知识与技术第2章相关知识与技术2.1管理信息系统(川S)的常用开发模式管理信息系统是一个以人为主导,利用计算机硬件、软件、网络通信设备 以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,支持 组织高层决策、中层控制、基层运作的集成化的人机系统。 管理信息系统可以保存用户信息,通过对信息进行分析和处理,可以帮助 用户制定计划、规范管理以及提供决策依据。在构建管理信息系统时,首先应 考虑系统的开发模式,然后考虑开发方法,接着是确定开发环境,选择合适的 开发工具。近年来,随着计算机技术与网络技术迅猛的发展,信息开发模式使 用最多的是c/s和B/S两种模式。 1.c/s模式 C/S模式,即C1ient/Server(客户机/服务器)结构,是基于资源不对等,且为实现共享而提出来的,是20世纪九十年代成熟起来的技术,服务器负责数 据管理,客户机负责完成与用户的交互任务。早期的c/s结构大都是两层结构,如图2.1所示。图2.1 C/S两层结构随着软件技术的发展,目前也有很多三层的c/s结构,即在传统的两层之 间增加中间层。C/S体系结构具有强大的数据操作和事务处理能力,模型思想简 单,易于人们理解。但随着企业规模的日益扩大,软件的复杂程度不断提高, 体系结构逐渐暴露了以下缺点: (1)软件部署和维护成本高。需要针对每一个客户端的操作系统和不同的环 境配置设计不同的安装程序,并且由于客户端计算机的配置往往很难预料,所 以工作量大、容易出现疏漏。软件的升级需要到所有的客户端上操作,很麻烦。6 第2章相关知识与技术(2)软件移植困难。采用不同开发工具或平台开发的软件,一般互不兼容, 不能或很难移植到其它平台运行。 (3)客户端程序设计复杂。采用c/s体系结构进行软件开发,大部分工作量 放在客户端的程序设计,客户端显得十分庞大。 (4)运行成本较高。c/s体系结构对客户端软硬件配置要求较高,增加了整 个系统的成本。2.B/s模式B/s软件体系结构,即Browser/Server(浏览器/月艮务器)结构,是随着 Internet技术的兴起,对c/s体系结构的一种变化或者改进的结构。在B/S体系结构下,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。三层的B/S体系结构是把二层的C/S结构的事 务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务, 这样客户机负担大大减轻了,把负荷均衡地分配给了服务器。如图2.2所示。l热IHTTP诸求.HTTP结果。rSOL请求、Webr数据库 器服务器 “…┃.SOL结果.2B/S三层结构客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“苗’了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,使之变成一个简单的图形交互工具。基于B/s结构的系统不需安装专用的 应用程序,各种平台的用户只需通过浏览器使用便可访问并处理相应信息, 更加简单。B/S体系结构主要是利用不断成熟的浏览器技术,结合浏览器的 脚本语言,通用浏览器就实现了原来需要复杂的专用软件才能实现的强大 ,并节约了开发成本,是一种全新的软件体系结构。2.NET Famework概述ETFamework是一种新的计算平台,它简化了在高度分布式Internet环的应用程序开发,为创建稳定、可靠而又安全的Windows桌面应用程序, 第2章相关知识与技术提供了更多的支持。.NET Framework旨在实现下列目标 (1)提供~个一致的面向对象的编程环境,而无论对象代码是在本地存储和 执行,还是在本地执行但在Internet上分布,或者在远程执行。 (2)提供一个将软件部署和版木控制冲突最小化的代码执行环境。 (3)提供一个保证代码安全执行的代码执行环境。 (4)提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。 (5)使开发人员的经验在面对类型大不相同的应用程序时保持一致。 (6)按照工业标准生成所有通信,以确保基于.NET Framework的代码可与任 何其他代码集成。 (7).NET框架兼顾了集成和管理细节,降低了编码复杂性并增加了一致性。.NETFramework具有两个主要组件:公共语言运行库和.IVET Framework类库。公共语言运行库是.NET Framework的基础。可以将运行库看作一个在执行 时管理代码的代理,它提供核心服务,而且还强制实施严格的类型安全以及可 确保安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运 行库的基本原则。以运行库为口标的代码称为托管代码,而不以运行库为目标 的代码称为非托管代码。.NET Framework的另一个主要组件是类库,它是一个 综合性的面向对象的可重用类型集合,用户可以使用它开发多种应用程序,这 些应用程序包括传统的命令行或图形用户界面应用程序,也包括基于ASP.NET 所提供的最新创新的应用程序。2.3ASP.NET技术作为.NET框架的一部分,Microsoft引入了新版本的ASP,即ASP.NET。它保留了ASP开发者们了解并喜欢的开发模式,创建代码并把他们放在有适当权限的正确目录下。ASP.NET也引入了一些改进措施,可以更容易地把应用程序的核心开发过程与外观开发过程分离。它还提供一种新的编程模型和结构,用于生成功能强大的新型应用程序。1.ASP.NET与ASP的比较 近些年来,基于TCP/IP的Internet/Intranet技术以非同寻常的速度被广 泛应用于各级企业及其他组织的信息发布与共享,其中很重要的手段就是建立 Web站点发布信息。传统的静态网页技术越来越不能满足用户的需求,因此各种8 第2章相关知识与技术动态网页技术应运而生。ASP就是目前比较流行的动态网页技术之一,而ASP.NET 是Microsoft下一代的动态网页技术。 ASP只能使用脚本语言,主要是VBScript和JavaScript这样的解释型脚本 描述语言,开发与执行效率低,开发人员必须自己维护页面之间数据的传递工 作,开发过程繁琐,对于规模较大的应用程序开发比较困难,动态部分采用脚本 语言编写,其功能受到限制。另外,给Web页面添加ASP代码的方法与在客户端 脚本中添加代码的方法相同,导致了代码杂乱、功能有限等问题。为了克服ASP 的上述缺点,ASP.NET应运而生,为下一代Web应用系统的开发提供了强有力的工具。相对于ASP来说,ASP.NET具有了很多特性:ASP.NET提供了更易于编写、结构更清晰的代码,容易进行再利用和共享:ASP.NET使用编译后的语言,从而 提升性能和伸缩性;ASP.NET使用Web表单使开发更直观,利用面向对象技术促 进组件的再利用。另外,ASP.NET中还包括有页面事件、Web控件、缓冲技术以 及服务器控件和对数据捆绑的改进。以文件的上传为例,ASP.NET的上传使用起来比ASP简单得太多了,不需要其他任何的组件。HTML服务器控件FILE内置了 上传的能力,将FILE控件设置成服务器控件后,直接使用(FILE控件名).PostedFi le.SaveAs(”保存到服务器的物理路径和文件名”)方法就可以了。 同时。如果想进行更多的文件操作只要引入SYSTEM.IO命名空间就可以了,例如得到文件信息等。而ASP必须使用第三方组件,或采用“无组件上传文件”,但它是非常复杂的。2.ASP.NET的关键技术ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理 方面引入了许多新技术。 (1)事件驱动ASP.NET允许用服务器端控件取代传统的HTML元素,事件的触发和处理分别是在客户端和服务器段进行的。服务器端程序可以“直接”读取位于浏览器 端的信息。 (2)代码隐藏(Code-Behind)技术ASP.NET采用Code-behind方式,将代码和内容分开,Code-Behind主要是用二个文件来创建一个ASP.NET的页面,其中一个是设计文件,一般以.aspx做为扩展名,而另外一个是程序代码文件,一般以.vb或者.CS做为扩展名,其程q 第2章相关知识与技术序设计语言主要是VB.Net或者是c}f。Code―Behind把界面设计代码和程序设计代码以不同的文件分开,实现了结构化的Web页面设计,对于代码的重复使用, 程序的调试和维护都是革命性的。当发布网站的时候,可以利用这种技术来有 效的保护代码。这对于程序的安全性是一个提高。从而避免了现在的ASP开发申内容和脚本交错导致的维护困难,同时也使得开发人员和设计人员能够更好 的分工合作,提高了开发效率。页面的结构如图2.3所示:固 『一气吖囤2 3结构化的Web页面设计(3)数据绑定(DataBinding)技术在№b应用程序中,通过ASP.NET可以简单、灵活的将后台数据显示在Web页面上。(4)面向对象特性 与ASP不同,采用“面向对象”的机制,井引^了面向对象的属性、事件和 方法的新特性,促进了组件的再利用和共享。 (5)多语言支持ASP属于一种解释型的编程框架,它的核心是VBScript和Jscript脚本语言,无法像传统编程语言进行底层的操作,如进行诸如文件等操作时不得不借助于 如c++、VB、JAVA等编写的组件,并且由于是解释执行的,所以运行效率较低。而^sP NET是一种编译型的编程框架,可以用vB和c#来编写.因此它的功能强大,可以进行很多底层操作而不必借助于其它编程语言的优势。 (6)数据访问技术ADO.NET(后面重点介绍)(7)大型站点应用10 第2章相关知识与技术.NET框架使用符合企业标准的协议和各种通信方式,使得在分布式计算中更加安全可靠,更加适合企业级的大型站点应用。3.ASP.NETWeb应用程序使用ASP.NET提供的Web页面设计器和服务器控件,可以快速地建立Web应用 程序。Web页面类似于用VB编写的表单或Windows窗体,主要用于创建用户界面, 在浏览器中实现与后台数据库的交互操作。 (1)ASP.NET Web应用程序的基本概念 ASP.NET将应用程序定义为所有文件、页、处理程序、模块和可执行代码的 总和,该应用程序可在Web应用程序服务器上的给定虚拟目录(及其子目录)的范 围内调用或运行。例如,可在WebH艮务器计算机上的“/teacher”虚拟目录中发 布一个“teacher”应用程序。对于IIS,可在Internet服务管理器中设置虚拟目 录。 (2)ASP.NET Web页面ASP.NETWeb页面是一个“对象”,是在一个面向对象的编程模型上设计的,这样代码就能够再利用,并且使应用程序代码与页面内容分隔开。当一个浏览器第一次请求一个ASPX文件时,Web FORM页面将被CLR编译器编译。当用户再访 问此页面的时候,CLR会直接执行编译过的代码,是一次编译多次执行的。而ASP页面是解释执行的。当用户每发出一次请求后,ASP页面将会被动态解释执行。所以ASPX页面具有组件一样的性能。使得ASPX页面至少比同样功能的ASP页面快 几倍。2.4ADO.NET数据访问模型ADO.NET是由ADO(ActiveXDataObjects,ActiveX数据对象)发展而来,它是一种无连接、基于消息的数据访问模型。ASP.NET通过Managed Provider所提供的应用程序编程接口(API),可以轻松地访问各种数据源的数据。 1.ADO.NET概述ADO.NET拥有比ADO更加强大的功能,是更好的数据访问解决方案。 (1)ADO.NET允许在数据集中包含多个表,并包含这些表之间的关系;ADO只允许一个表。(2)ADO.NET的数据存取采用的是离线存取模式,可说是专门为.NET平台设ll 第2章相关知识与技术计的数据存取结构。 (3)ADO.NET包含了所有允许数据处理的类,这些类拥有典型的数据库访问 功能(如索引、排序和视图)的数据容器对象。(4)ADO.NET使用XML在程序和网页之间实现数据交换,任何能够读取XML数据的组件都能够处理ADO.NET组件。使开发人员能够方便的把处理数据的部分和 用户界面的部分分别放在不同的服务器上。 (5)ADO.NET能够有效地避免数据库阻塞和过多的活动连接占据有限的网络 资源的情况,从而在用户大量增加的情况下,系统资源的开销仅仅是增加很少 的一点。这是ADO.NET面对日益增多的互联网访问需求所体现出的优势。 (6)ADO.NET提供了一个数据访问接口,以实现ASP.NET文件与支持OLE DB的 数据源之间的通信,女HMicrosoft SOL Server2000。通过ADO.NET不仅能够使应用程序连接到数据源,检索、操纵和更新数据,而且能够使应用程序实现对非关系数据库格式数据的访问,如Microsoft Excel表格。 2.AD0.NET对象模型 ADO.NET包括两个核心组件:DataSet和.NET数据提供程序,图2.4所示为 ADO.NET的体系结构。其中ADO.net的主角DataSet用以取代ASP中Recordset,功 能更加完善.Data Provider(数据提供程序)是用来连接数据库、运行数据操作 指令的程序模块。在本文开发的项目中,选用了SQLServer.NETData Providers。NET Data Provider DataTableCollection DataTable DataRowCollectionDataSet墓鼍DataBaseConstraintCoilectionDataRelationCollectionXML图2.4 ADO.NET的体系结构12 第2章相关知识与技术SOLServer.NET使用它自己的协议来与数据库进行通讯,由于经过了优化, 可以直接访问SQL Server数据库而不用添J3110LE DB或开放式数据库连接(ODBC) 层,因此具有良好的性能。SQL Server.NET数据提供程序的四个核心对 象:SqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter。对象内容 如表2.1所示。表2.1 ADO.NET的对象对象SqlConnetiOn描述 建立与数据库的连接。尽可能晚地打开数据库链接,尽可能 短的时间使用该链接,尽可能快地关闭该链接。 操作数据库的数据。Command的内容可以是SQL语句,也可以SqlCommand是一个存储过程((Stored Procedure)。 读取数据源的数据,只能将数据源的数据从头至尾依次读出。Sq l DataReader其速度可以显著提升,适合于那些只要作简单查询操作或者需要大量数据提取的应用。 在DataSet与数据之间建立通道,将数据源中的数据写入Sq I DataAdapt erDataSet,或者将DataSet对象中的数据存储到数据源。也可 以对底层数据存储体进行数据的添加、删除、或修改操作。DataSet DataView服务器内存中的数据库 用于显示DataSet中的数据DataSet是ADO.NET的两大核心之一,是非连接数据访问的基础。专门用来 存储和处理从数据存储体(Data Store)读出的数据,是数据库数据在内存中的 副本。Web应用通过DataGrid等控件能轻松地展示DataSet或DataReader中的数 据,结合命令对象和DataAdapter,页面控件可以将DataSet中的修改或删除返回体现在数据库中。在数据库中执行命令,有四种执行方法:ExecuteNonQuery(执行一个SQL语 句,不返回任何记录);ExecuteReader(返回一个DataReader对象); ExecuteScalar(执行SQL语句并返回第一行的第一列);ExecuteXmlReader(执行 SQL语句,并以XML流的形式返回结果,仅用于SQL受管理提供者)。通常情况下,对象Command和DataReader配合使用,Command对象通过 第2章相关知识与技术ExecuteReader执行SQL指令,并把结果设置给DataReader对象。DataReader对 象是一个单向的向前移动的记录集,利用DataReader对象的属性和方法向页面输出数据。对象DataAdapter和DataSet配合使用,DataAdapter对象执行SQL指令,并通过自身的F订I:Y法填充DataSet对象。将数据源的信息放在内存数据集 对象DataSet中。DataSet可含有多个表,通过DataView或DataTable显示数据集 对象DataSet中的数据。 3.常用控件的使用 (1)数据源的表示 要将ADO.NET中的数据反映到页面,可以调用ASP.NET中Lable,TextBox, DataGrid、DataList、Repeater、Gridview等控件。 其中DataGrid控件封装了处理提交数据、状态管理、事件激发的功能,提 供了各种级别的标准操作,包括选择、编辑、分页、排序等等。DataGrid控件可用于创建各种样式的表格。可以轻松地完成如报表、购物推车、产品列表、查询结果显示、导航菜单等的Web应用。它还支持对项目的选择和操作,是最复杂、功能最强大的控件。DataGrid列的类型包括:绑定列、模板列、编辑和删除列:事件有编辑、取消、更新、删除、分页。 而GridView、DataList、Repeater这三个数据源控件都可以自动选择数据源,即进行简单设置就可以为它们配置数据源,不需写一行代码(当然,要根据需要决定是自动还是手动配置数据源)。但它们也有不同之处。其中GridView 控件对外呈现可视化外观,而其它两个控件对外不呈现可视外观,即拖到设计界面后什么都没有,必须在源视图界面为它们加上<ItemTemplate>…</ItemTemplate>模板(这个属性是必须要的),然后通过<%#Eval(“数据库字段")%>对要呈现的数据进行单向“绑定’’,它们还有其它很多模板属性,可以 设置非常个性化的对外呈现形式,这就是不呈现可视外观的好处。在程序代码 编写时,通常可在集成环境中画好个性外观,把生成的代码复制到 <ItemTemplate>…</ItemTemplate>模板中,再“绑定’’数据,便可得到想要的 呈现效果和功能,和一项项的设置相比更方便,这是我在实践中探索的一点体20Z;o(2)上传文件Fi leUpLoad控件这个控件为上传常用文件提供了方便,配置比较方便。14 第2章相关知识与技术(3)用户登录Login控件 在.NET 1.x中,使用登录验证的时候经常很繁琐,需要Lable和TextBox 以及其它的验证控件,而.NET 2.0直接提供了Login控件用于登录。它的使用 很简单,通常和用户角色(mumbership)一起使用,把数据保存在系统生成的 数据库中,不需要一代码就能实现登录验证功能。但它要求密码一定要含’’@” 和“.”,考虑到用户习惯问题,本网站在设计时没使用Login控件。 (4)母版页的介绍与使用 使用ASP.NET母版页可以为应用程序中的页面创建一致的布局。站内页面 设计,布局要求美观、合理以及具有良好的交互功能。在ASP.NET中就很容易实现这一点,新建一个MasterPage,在其“占位符"(ContentPlaceHolder)上设计好网页的框架,其它网页就可以以MasterPage作为模板,在MasterPage 项目上点击右键选择生成“内容页’’(ContentPage),再在新的生成内容页中 添加自己想要的东西即可。MasterPage还可以嵌套使用。当然母版页的功能也 可以用用户控件代替。本网站在显示新闻中就运用到母版页。2.5 SQLServer2000简介SOL Server是微软公司开发的数据库系统,是与Oracle,Sybase,Informix以及DB2等同等级别的系统。作为SOL Server的一个主要版本,SOLServer2000建立在先进的可扩展SQL Server7.0的基础上,和SOL Server7.0一样是微软数掘库阵营中的重要版本。在这一版本中,SQL Server产品的许多部分都被重新构建和重新编写。自SOL Server7.0发布以来,由于其优良的性能、可伸缩 性、可编程性及价格,己成为众多客户关系管理(CRM)、商业智能(BI)、企业资 源规划(ERP)以及其他商业应用程序供应商和客户的首选数据库。此外, SQLServer7.0作为Internet数据库已经取得了巨大成功。SQL Server2000继 续发扬了数据库软件设计和工程方面的优良传统,成为证件进行的SOLServer产品革新的基础。作为一个优秀的数据库系统,SQL(1)Internet集成SOL ServerServer2000具有以下特性:2000数据库引擎提供完整的XML支持。它还具有构成最大的Server 2000 ServerWeb站点的数据存储组件所需的可伸缩性、可用性和安全功能。SOL程序设计模型与Windows DNA构架集成,用以开发web应用程序,并且SOL 第2章相关知识与技术2000支持EnglishQuery和Microsoft搜索服务等功能,在web应用程序中包含了用户友好的查询和强大的搜索功能。 (2)可伸缩性和可用性 同一个数据库引擎可以在不同的平台上使用,从运行Windows 98的便携式 电脑,到运行Windows 2000数据中心版的大型多处理器服务器。SQL Server2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最 web站点所需的性能级别。 (3)企业级数据库功能SQL Server 2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用 户的开销减到最小。SQLServer2000分布式查询使用户可以引用来自不同数据Server源的数据,就好像这些数据是SQL2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使用户可以维护多 个数据副本,同时确保单独的数据副本保持同步。可将一组数据复制到多个移 动的脱机用户,使这些用户自主地工作,然后将他们所做的修改合并回分布服 务器。 (4)易于安装、部署和使用SQL Server 2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer2000的过程。SQLServer2000还支 2000数持基于标准的、与Windows DNA集成的程序设计模型,使SQLServer据库和数据仓库的使用成为强大的可伸缩系统的无缝部分。这些功能使得SQLServer 2000应用程序能够快速开发并交付使用,使客户只需最少的安装和管理开销即可实现这些应用程序。 (5)数据仓库SQL Server 2000中包括吸取和分析汇总数据以进行联机分析处理的工具。 SQL Server 2000还包括一些工具,可以用来直观地设计数据库并通过Engl i shQuery来分析数据。16 第2章相关知识与技术2.6本章小结本章重点介绍了管理信息系统(MIS)常用的C/S与B/S模式及其优缺点。 对.NET框架的构成和优势进行了探讨,然后从新特性、优势和Web开发等多个方 面着重阐述]'ASP.NET技术,并对新一代数据访问模型ADO.NET进行了深入的介 绍,并且简要介绍了.NET中常用控件的使用方法,最后阐述TSQL 数据库的特点。Server 200017 第3章基于ASP.Net网络管理系统的分析与设计第3章基于ASP.Net.网络管理系统的分析与设计3.1开发环境、开发工具和硬件配置1.开发环境与开发工具 服务器端环境:WindowsServer2003和MS SOL2000客户端操作系统:windows98/2000/me/xp、IE5.0以上开发工具:VS2005、Dreamweaver 2.硬件配置 服务器:CPU:至强1.8 内存:1024MB 硬盘:80G+7200+8MB 显示器:VGA+17LCD 显卡:AGP,128MBG HZXMX2004、MS SQL 200023.2系统需求分析开发“基于ASP.Net网络办公管理信息系统’’的主要目的是实现系部教学 管理和办公管理的自动化和网络化,以提高教学管理者和教师的工作效率,从 而把工作精力投入到提高管理水平,提高教学质量的工作中去。 根掘绍兴文理学院计算机中心管理业务的具体需求,下面列出大体的需求,细节需求在此不再作具体的详述。 (1)在权限管理上,只有经过授权的人员才可以进入本系统。本系统的使用者分为多种角色:系统管理员和普通用户。每个角色在本模块中都只能进行相应 的操作,而不能越权操作。 (2)在业务模块构成上,根据中心管理特点,需要完成以下几个部分的操作: 即教职工信息管理、新闻管理、公告管理、留言管理、文件的上传与下载管理 和网站动态导航管理等。 (3)能实现用户身份验证功能,判断用户权限,并将权限信息提供给所有模l矗 第3章基于ASP.Net网络管理系统的分析与设计块,包括登录成功和登录失败信息,提供管理员使用。 (4)完成系统主要页面的设计,提供各模块标准统一的显示界面。并提供系 统各个模块的Web层接口,这些接口信息应该从数据库中提取动态生成的。 (5)完成页面类文件的设计,提供了每个页面所必须的公共信息,调用此页 面的页面可以直接调用这些信息和服务,而不用关心实现方法,这样可以大在 提高开发效率,另外可以从整体上控制系统的稳定性,提高了系统的灵活性, 在公共信息需要修改时,只要直接修改类文件即可,而无需修改每个Web页面。3.3系统的目标和功能根据需求分析和计算机中心的日常办公需要,基本提供如下模块: (1)动态导航模块:浏览者可以通过导航按钮链接到指定站内页面。 (2)新闻模块:一个网站新闻模块必不可少,新闻模块要能较全面发布分类 信息(院内通知与动态),并且新闻要做到图文并茂,字体能根据要求变换,达 到页面的丰富多彩。管理员要能后台动态发布、修改、删除、查阅新闻。 (3)公告模块:公告是重要信息的提示(内容不仅仅是文字,还要能提供链 接功能),以滚动方式呈现,给浏览者醒目提醒,要求管理员能后台动态发布 和修改。 (4)留言模块:起到师生联系的目的。留言者填写必要信息,提交后管理员 可查看,但提交后不立即显示,要通过管理员的审核后才能显示。留言者可选 择“悄悄话’’即只有管理员才能看到。管理员后台要能对留言进行审核(屏蔽 或显示)、回复、删除。 (5)链接模块:链接模块扩大了网站的外延,浏览者点击后能链接到指定站 外页面。管理员要能对链接进行动态地增加、修改、删除。 (6)文件上传下载模块:管理员能上传常用的文件(文本、图片、压缩包等)。 浏览者根据自己的需要可以下载。 (7)教师信息管理模块:能够对老师的基本信息和科研信息进行添加、删除 和修改以及查询等进行管理。19 第3章基于ASP.Net网络管理系统的分析与设计3.4系统的功能结构根据系统的需求分析和系统设计的目标,本网络办公管理系统的功能结构如图3.1所示。图3.1网站功能结构图3.5系统设计的基本思想本系统的设计是为了实现系部办公管理的自动化和网络化,使系部办公管 理达到规范化和简单化的要求。系统的设计采用面向对象的编程模式来实现。由上到下系统一共分为3个层次,即页面表示层、数据业务逻辑层和数据访问20 第3章基于ASP.Net网络管理系统的分析与设计层,系统的三层架构如图3.2所示。页面表示层主要完成了向用户展现数据, 为用户提供数据录入的界面。通过页面表示层,用户可以完成日常的增加、删 除、修改和查询等操作。数据业务逻辑层起到了承上启下的作用,对于页面表 示层来说,数据业务逻辑层可以理解为数据操作的服务,当用户请求的时候, 页面表示层通过调用相应的数据业务层方法,来完成对数据的操作。而对于数 据访问层来说,数据业务逻辑层是动作的发起者,由它直接与数据访问层通讯, 最终数据库的数据展现提交返回给页面表示层。数据访问层位于最下层,主要完成数据的操作、与数据库的数据源直接进行交互、完成数据的直接操作。广――――――――――]广――――――――――]广――――――――――]广――――――――――]I页面表示层I.....................................JH数据业务层I.....................................JHI....................................-J数据访f.-j层H数据库II...................................._J图3.2系统三层架构图对各个层次的功能不同,要求也不同,表示层用于展现,客户体验、页面美观、页面逻辑跳转等几个方面都是这个层次需要注意的地方。数据业务逻辑层则是提供服务的服务组件,所以对于对象和方法的抽取尤其重要。数据访问 层涉及到对数据库的操作,所以对于性能和安全性有一定的要求,需要考虑对 于数据量不同而采取不同的访问方式,包括数据的原子性、持久性、完整性和 独立性。本系统就是基于上述设计思想来实现的。 系统具体设计过程中力求体现以下几个方面: (1)整体性原则系统的开发采取“总体规划、分步实施’’的开发策略。即在开发之初,先 进行总体规划(即总体分析与总体设计),然后在总体规划的指导与约束下分步开发。 (2)实用性原则实用性是衡量软件质量的重要指标,是否与业务结合得紧密,是否具有严 格的业务针对性,是系统成败的关键因素,因此,系统开发之初的系统需求分 析尤为重要,需求的分析结果直接影响到系统的开发结果。~切从实现出发是 本文介绍的系统开发的原则之一。(3)模块化的设计原则办公管理信息管理系统是根据业务的需求动态变化的,系统必须具有很好 的灵活性。本文所介绍的系统采用模块化的设计模式,使功能结构具有很好的2l 第3章基于ASP.Net网络管理系统的分析与设计可伸缩性,用户可根据实际情况扩展模块。 (4)权限细分与安全性原则 办公管理信息管理系统针对的用户是部门的全体教职工和学生,接入点可 以是学校内部的局域网,也可以是学校外部的Internet,针对这种复杂的应用 环境,必须对所有的用户权限进行细分,进行可靠管理。设计时应从系统设计 和用户权限管理等方面保证系统的安全。 (5)界面美观,操作简单、方便用户的原则 系统界面设计简洁、明了,功能实用,操作简单。在本系统在开发的过程 中,应该和系部的教师进行必要的沟通,确保系统需求的准确和功能的实用, 体现良好的交互性能。3.6数据库设计与实现1.系统数据库简介一个真正的、完整的网络管理信息系统离不开数据库。利用数据库管理数 据,可使查询和更新方便、快捷。数据库有很多种,如Fox数据库(.dbf)、Access 数据库(.mdb)、Informix、Oracle和SOL Server等等。 本网站的后台数据库主要使用MS SQL 2000数据库来设计实现。SQLServer2000是Microsoft公司2000年推出的SOL Server数据库管理系统的版本。它是一个杰出的数据库平台,可用于大型联机事务处理、数据仓库、以及电子商务等。2.数据库设计(1)数据库需求分析根据本系统各功能模块的要求,在需求分析、概念结构设计的基础上得到 数据库的逻辑结构后,就可以在体的数据库系统中实现该逻辑结构。根据系统功能设计,本系统数据库需要的基本表有:权限基本信息表、新闻表和新闻类别表、公告通知表、用户留言表、链接 管理表、教师基本信息表、教师发表论文信息表以及教师科研项目信息表。系 统中各模块所需表的逻辑结构分析如下: 动态导航:这里我们编写SiteMapPath,实质上它是个简单的XML数据库。 新闻模块:管理员要发布新闻必须每条新闻都对应一个新闻标题、新闻内22 第3章基于ASP.Net网络管理系统的分析与设计容、新闻种类、发布人。为了新闻的显示顺序,所以要用到每条新闻的ID,考虑到新闻的时效性,我们还需为每条新闻加上发布日期。为了查看点击情况,所 以还需点击次数的属性。新闻信息表逻辑结构如表3.1所示。表3.1新闻表(NewsTxt) 字段名NewsIO TitleStr NameStr NewsTvpe ContentTex DataTimeText ViSitInt字段类型Int Varchar Varchar Varchar Varchar Datetime Int说明 新闻号(主键) 新闻标题 发布人 新闻类别 新闻内容 新闻发表时间 访问次数新闻类别表(NewsType):因为新闻有多种,可供选择,所以还需定义新 闻类别表。该表只需定义类别的名称和对应的类别ID。其逻辑结构如表3.2所 不。表3.2新闻类别表(NewsType) 字段名NewsID TypeStr字段类型Int Varchar说明 新闻号(主键) 新闻类别公告模块:公告模块较简单,因为要保存公告内容所以需要公告的内容字段,另外还需为每条公告加上相应的ID。公告信息表的逻辑结构如表3.3所示。表3.3公告表(Gonggao) 字段名IO Gonggaocontent字段类型Int Varchar说明 公告号(主键) 公告内容留言模块:留言者要留言必须填写相应的留言信息,每条留言必须包括留 言姓名,留言内容。留言者可以考虑填写自己的性别,QQ,E_MAIL,HomePage等23 第3章基于ASP.Net网络管理系统的分析与设计信息,还就可以设置自己的留言类别(是否只能管理员查看)。而管理员则要审核每条留言所以要有留言的审核字段,管理员还要回复相关留言所以表中还要 有回复字段。综上所述,留言信息表的逻辑结构如表3.4所示。表3.4留言表(Book) 字段名ID Username Sex Body QQ Adddate Face homeDage isteply Rebody I sshenhe字段类型Int Varchar char Varchar char Datetime Varchar Varchar Bit Varchar Bit Bit Bit说明 留言号(主键) 用户名 性别 留言内容 QQ号 留言时间 留言者图像 留言者主页 是否已回复 回复内容 管理员是否审核过 是否屏蔽 是否只能管理员查看IsMddenViS链接模块:链接功能比较简单,每条链接必须有链接网站的名称和该网站 的网址。链接信息表的逻辑结构如表3.5所示。表3.5链接表(Link) 字段名Link――Name 1ink url字段类型Varchar说明 网站名 网站地址Varchar管理员验证模块:一般登录至少要有帐号和密码。权限基本信息表的逻辑结构如表3.6所示。24 第3章基-j:ASP.Net网络管理系统的分析与设计 表3.6权限基本信息表(MUser) 字段名UserName PassWordstr字段类型Varchar说明 用户名 密码Int教师信息管理模块:教师信息模块包括教师基本信息管理和教师科研信息管理两部分,其中教师科研信息包括发表的论文信息和承担的科研项目信息, 因此需要建立三张数据表,它们的逻辑结构如表3.7――表3.9所示。表3.7教师基本信息表(TeacherInfo) 字段名Teacherid Name Sex photo nation PolitiCS Citv Birthday Email Caste Educationlevel Places Phone Workposition字段类型Varchar Varchar Char varchar varchar varchar varchar Datetime varchar varchar varchar varchar varchar varchar说明 教师编号(主键) 姓名 性别 照片 民族 政治面貌 籍贯 出生年月 电子邮件 职称 学历 学位 电话 担任职务 第3章基于ASENet网络管理系统的分析与设计表3.8教师论文信息表(Teacherarticle) 字段名Aid Teacher id Title PressDate PresS Volumes ArtiClesession字段类型Int Varchar Varchar Varchar varchar varchar varchar说明 编号(主键) 教师编号 论文题目 发表日期 刊物名称 卷期 期刊号3.9教师项目信息表(Teacherproject) 字段名Pid Teacherid字段类型Int Varchar Varchar Varchar varchar varchar Float varchar说明 编号(主键) 教师编号 项目名称 主持或参与 起始时间 结束时间 项目经费 项目主管单位ProjectnameLeader Begintime Endtime Fund Department(2)数据库中各表的E――R图经过上述数据库的需求分析,确定该数据库需要建立的数据表有:NewsTxt(新闻表)、NewsType(新闻类别表)、Gonggao(公告表)、1ink(链接表)、Book(留言表)、Muser(权限信息表)以及TeacherInfo(教师基本信息表)、Teacherart icle(教师论文信息表)和Teacherproject(教师科研项目表)。各数据表之间的关系及其E――R图描述如下:NewsTxt(新闻表)用于储存新闻的有关信息(新闻ID,发布者姓名,新闻分类,新闻标题,新闻内容,发布日期,浏览次数)。NewsType(新闻类别表)用 于表示新闻的类别,从而分门别类地显示新闻(新闻ID,新闻类型)。一个新闻 第3章基于ASP.Net网络管理系统的分析与设计类别可对应多条新闻,但每条新闻只能对应一个类别。NewsTxt表与NewsType表的E-R图如3.3所示。图3.3 NewsTxt表与NewsType表E-R图TeacherInfo表是用来存储教师的基本信息,它是教师数据库的核心部分 Teacheracticle(教师论文表)和Teacherproject(教师项目表)都和它产生直接 联系。TeacherID(教师编号)作为主键,唯一标识一个教师。所有和教师相关的表均通过TeacherID联系起来。它们的E_R图如3.4所示。图3.4 TeacherInfo表与Teacheracticle表、Teacherproject表的E-R图27 第3章基于ASP.Net网络管理系统的分析与设计GongGao(公告表):包括,公告ID,公告内容,用于保存公告内容。其E-R 图如图3.5所示。图3.5 GongGao表E-R图Link(链接表):包括链接名称,链接网址,用于保存链接的有关信息。其E-R图如图3.6所示。图3.6 Link表E―R图Book(留言表):包括留ID、留言者姓名、留言者性别、留言内容、留言者 QQ、留言者E_MAIL、留言者图像、留言者网址、留言日期、是否只是管理员审阅、是否己回复、回复内容以及限定VIS等,用于保存留言者信息,留言者留 言和管理员的回复。其E―R图如3.7所示。图3.7 Book表E-R图28 第3章基于ASP.Net网络管理系统的分析与设计Muser(权限信息表):包括管理员名字,管理员密码,用于登录验证。其E-R 图如3.8所示。图3.8 kluser表E―R图(3)存储过程可以在ASP.NET页面中通过两种方法执行SQL语句:在页面的代码中直接执行语句,或是把SOL语句封装到存储过程,然后在页面中执行存储过程。存储过程可以将一条或多条SOL语句预先写在SQL数据库中,并给它建立一个名 称。当需要执行时,只要向SQL数据库传入这个名称即可。SQL数据库会自动执行其中的全部命令。 构建存储过程要比直接在页面上执行SOL语句稍微复杂一些。但是利用存储过程的优势可以提高应用程序的性能和可维护性。存储过程可以在一个存储过程中封装多条SQL语句,并把它们当成一个语句组执行。比如,可以创建一 个包含多条SQL Update语句的存储过程,这样一次就可以更新多个数据表中的记录了。并且使用存储过程执行起来比SQL语句快得多。因为它在第一次执行 时编译并优化,以后再执行时就可以使用内存中的版本。而使用SOL语句,每 次执行时都要编译并优化。另外使用存储过程能够减少网络流量。一个需要数 百行SQL语句的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。3.7系统的安全技术分析随着Micrsoft.NET开发平台的推出和网络计算技术的迅猛发展,传统的MIS 开始向Web模式转变。这种变化给MIS安全模型的设计和实现带来了极大的挑 战,安全问题来自多个方面,譬如,网络技术的先天不足、黑客攻击、病毒等。 就本文所涉及的管理信息系统而言,具有许多潜在的安全问题需要解决。系统29 第3章基于ASP.Net网络管理系统的分析与设计中存有学院所有学生和教师的几乎全部信息,因此保护这些数据的安全至关重 要。我们在系统设计时对程序的安全性进行了重点的考虑。 ldIS涉及到系部重要的信息,该系统与校园网和因特网相连,对信息的保密 性、准备性及防止篡改等安全方面都有较高的要求。为了提高安全性,除了安 装防火墙,应用ASP.NET,IIS和SOL Server自身的数据安全,身份验证和授权 机制外,还要对系统的安全模型进行谨慎的考虑。 (1)本系统中某些数据只供内部人员使用,所以我们对用户登录时的IP地 址进行判断,IIS配置为只接受来自特定IP地址的客户端计算机的请求。如果 是不合适的IP则不允许浏览这些信息。 (2)由于系统涉及学生和教师信息的管理,使用人员众多。因此在系统设计 中,对用户权限的管理需要更加灵活和可靠。管理员添加了用户编号和密码后, 用户并不能马上登录系统,必须由管理员分配权限后才能登录并只能对授权的数据进行操作。在系统设计时,从功能模块出发将整个系统细分为若干个可分 配的最小权限单元,这些权限具体表现在对数据库中所涉及的表、视图的数据操作(如:插入、修改、删除、查询等)的划分上。然后考虑系统使用人员的 工作性质,为不同的用户设置不同的等级权限,以此来简化权限管理工作。系 统管理员可以对系统进行任何的操作,对用户进行审查和权限分配等。 (3)增加一个修改用户登录密码的页面一个固定不变的用户密码,特别是管 理员密码会给系统留下很多不安全的隐患,因此对于系统来说允许任何用户更 改密码,有助于加强系统的安全。(4)采用存储过程实现对底层数据的操作,采用.NET技术实现了程序和代码 的分离,使得程序代码更安全,执行效率也更高。数据处理时采用事务处理的方式,并且不允许多个用户在同一时间内对某一条记录查询以外的操作。为了防止人为的失误或破坏,系统中采用了SQL Server自带的数据库管理工具和系 统日志,对数据库备份,使重要数据均能最大程度地有效恢复。完善日志对于 登陆系统的用户,系统自动记录下该用户的操作内容、操作时间和信息。完善日志管理以备日后查询和责任落实。30 第3章基于ASP.Net网络管理系统的分析与设计3.8本章小结本章简要介绍了系统的开发环境和系统配置,较详细地描述了系统的基本 功能和系统的结构。重点分析了数据表的逻辑结构和表之间的E-R图,并分析 了数据的存储过程,最后分析了系统的安全性方面需要注意的问题,并提出了 基本解决策略。 第4章基于ASP.Net网络办公管理系统的详细设计与实现第4章基于ASP.Net网络办公管理系统的详细设计与实现本章根据上一章的规划与分析,详细的阐述了本系统各模块其功能实现的 详细过程,并根据具体设计过程遇到的问题,提出的解决方案。4.1网站首页设计系统的主页采用静、动相结合的方式,即静态的主画面和动态的图片相结 合,体现良好的视觉效果和友好的人机界面,对此,系统的首页设计界面如图 4.1所示。图4.1系统首页示例图整个系统主页的设计由四部分组成,即头部、底部、左部及中心部分。头 部主要是网站名称和本网站中的导航按钮,链接到相关网页浏览;左部主要是 网站的功能模块,进行对应的功能操作:底部是一些基本版权信息、联系方式 等等;中心部分主要是新闻功能模块。32 第4章基于ASENet网络办公管理系统的详细设计与实现4。2导航模块的设计导航模块设计主要运用VS2005的导航控件:Menu和SiteMapPath。首先编 写SiteMapPath,其结构如下:<si teMapxmlns=’http://schemas.microsoft.com/AspNet/SiteMap―Fi le一1.0’><siteMapNode <siteMapNode <si teMapNodeurl=一title=”机构介绍’description=~> url=”yuan.aspx”title=”院介绍”description=~/> url=”zzhi.aspx”title=”组织机构”description=~/></siteMapNode> </siteMap>然后拖动Menu控件到页面,把其“数据源”绑定到对应的SiteMapPath上。 此时可选择Menu控件的展开方式(竖直、水平)。本系统的主页中采用了 SiteMapPath、Menu控件各6个。在设计本模块时,遇到一些问题:一个页面的Menu控件无法与相应数据源SiteMaPath匹配问题。 解决方法:在web.config添加如下代码<system.web> <pages val idateRequest=‘false。h <siteMap> <providers> <addname:6websitemap‘type=‘System。Web.XmlSi teMapProvider’siteMapFile=”/web.sitemap。b<add name=”web2sitemap”type=”System.Web.XmlSiteMapProvider9 siteMapFi le=‘’/web2.sitemap。n <addname=”web3sitemap”type=”System.Web.XmlSiteMapProvider’siteMapFile=”/web3。sitemap。冷<add name=”web4sitemap”type=’System.Web.XmlSiteMapProvider’siteMapFile=”/web4.sitemap。b<add name=”web5sitemap’type=”System.Web.XmlSiteMapProVider’33 第4章基于ASENet网络办公管理系统的详细设计与实现siteMapFile=”/web5.sitemap“b<add name=”web6sitemap。type=”System.Web.XmlSiteMapProvider” siteMapFi le=”/web6.sitemap‘b</prov i ders> </si teMap>4.3教师管理模块教师管理模块实现对教师信息的录入、修改、删除和查询等功能。为了使 系统具有更好的扩展性和可维护性,将系统中的主要功能封装起来,用一个 Accp2007类来实现,然后通过客户端来访问Accp2007类相应的方法。 实现方法: 在ASP.Net中,三层结构的前端为html、asp和aspx等,中间层为有.Vb、.CS 等文件编译而成的.DLL控件,为了更好地发挥组件开发的优势,在本系统中包 括业务逻辑层和数据访问层,后端为数据库服务器。数据库层可以通过中间层 来连接以及操作,前端给中间层传递参数,并接受中间层的参数。一般中间层 组件可以用.vb或.as文件编译成.DLL文件,编译时可以使用ASP.Net编译 环境,也可以使用其他方法来编译,中间层一般为.DLL文件。微软的.NET技 术使用组件时比它以前的版本都要来的简单,以前要使用.DLL文件必须进行组 册,同时需重启计算机,而在.Net编程环境中.DLL文件可直接调用。 在ASP中创建一个三层结构的ASP应用一般需要做以下几步: (1)在数据库系统中建立数据表; (2)建立动态链接库DLL; (3)编写ASP.Net程序。 以教师基本信息修改、查询为例,中间层Accp2007.DLL主要完成数据库的 连接与断开、执行查询操作功能、修改教师基本信息(执行存储过程)、插入教 师发表文章信息(执行存储过程)等。namespacenData//DATA数据层{public classTeaInfo//教师基本信息中各个字段{34 第4章基于ASP.Net网络办公管理系统的详细设计与实现publ ic string teacherid) }namespacenDB//声明该组件的命名空间名,数据库连接层{public classclsDB//数据连接类{publ ic static SqlConnection DB OpenCN 0//打开数据库连接{stringconnstr=ConfigurationSettings.AppSettings[’xie”]:cn=newSqlConnectionSqlConnection(connstr):cn.Open0://打开returnan://返回) ) )namespacenDAO//中间层(数据访问层命名空间){usingnDB://引用该空间,用于连接数据库using nData: publ ic classclsDAO//数据访问类,返回数据集{publ ic DataSetDao―Select(string sql){SqlConnectioncn=newSqlConnection0;//执行数据库连接DataSet ds=new DataSet cn=clsDB.DB―OpenCN0://定义新数据集0://打开数据连接SqlDataAdapter(sql,cn):SqlDataAdapter da=newda.Fill(ds)://取数据集cn.Close0:35 第4章return基于ASENet网络办公管理系统的详细设计与实现ds:)publ ic boolDao―Update(nData.Tealnfo data)//修改教师基本信息SqlConnection cn=clsDB.DB―OpenCN SqlCommand cmd=new SqlCommand0:rTeaBaseinfo―Update’,an)://执行存储过程cmd.CommandType=CommandType.StoredProcedure://存储过程标志try{ cmd.Parameters.Add(new SqlParameter(”@birthday”,SqlDbType.DateTime)).Value=data.birthday: cmd.Parameters.Add(new SqlParameter(”@caste”,SqlDbType.VarChar)).Value=data.caste:……//加入参数15个cmd.ExecuteNonQuery 0://执行修改returntrue://成功提示catch(SqlException)//异常捕捉 (returnfalse:}finally{cn。Close0://关闭连接数据访问层主要用来处理数据库表中记录的添加、修改、删除以及查询操 作,并将这些操作以接口的形式暴露出来,以便于让业务逻辑层调用。而业务 逻辑层主要用来将数据进行一些逻辑运算,然后提供给Web展示层显示。36 第4章基丁二ASP.Net网络办公管理系统的详细设计与实现namespacenBO//业务逻辑层:声明该组件的命名空间名(using nDAO: using nData: publ ic class BO――TeaArt{nDAO.clsDAO dao=new publ ic DataSetclsDA00;//得到数据集Bo―Select(string teacherid){string sql=”ExecreturnTeaArticle―Select―By―ID’”+teacherid+”’”://准备SQLdao.Dao―Select(sql):)publ ic boolBo―Insert(nData.TeaArt data)//增加数据记录{returndao.Dao―I nsert(data):) ) 将以上代码段编译成DLL,并将编译好的Accp2007.dl l复制在发布网站的 根目录下的\bin文件夹中即可供调用。 在ASP Net中将所有的组件都必须放在一个指定的目录/bin下,在运行时,ASPNet在此目录中寻找组件。/bin目录必须位于网络程序的根目录下(在IIS 教师信息管理页面主要负责所有教师的基本信息管理,可以实现对教师信中设定的虚拟目录),这样ASP Net程序使用组件前不再需要注册。息的修改和删除功能。 主要实现代码为:using usingnData://导入对象空间 nBO;//导入业务空间nBO.BO_Tealnfo bo=new nBO.BO_TeaInfo 0://声明业务对象,建立对象实例 nData.Tealnfo data=new Tealnfo0://声明数据对象,建立对象实例if(!Page.IsPostBack) {37 第4章基于ASENet网络办公管理系统的详细设计与实现string sqlfilter=~://设置查询字符串为空if(Request.QueryString[’teacherid”]!=null)//如果有查询字符串 { sqlfilter=Request.QueryString[”teacherid。].ToStrin90: ) else//否则读取会话中的参数 {sqlfi lter=Session[”UserName’].ToString0:}DataSetds=boBo―Select(sqlfi l ter)://取得数据集if(ds.Tables[0].Rows.Count>O)//有数据则显示 { teaname.Text=ds.Tables[0].Rows[0][4name”]==nul 17””:ds.Tables[0].Rows [0][”name”]. ToStrin90:))private voidSubmitl―ServerClick(objectsender,System.EventArgse){ #region//收集数据,执行修改功能data=new TeaI nfo0:data.birthday=txtbirth.Text; data.caste=caste.SelectedValue:……//共15个参数#endregi on38 第4章基于ASP.Net网络办公管理系统的详细设计与实现4.4留言板模块留言板模块的基本功能: 浏览者:在“网站首页"上点击“师生联系窗"图标后,即进入留言板, 这是一个功能齐全的留言板,用户不需要注册登陆就可以提交留言,但提交后 的留言要经后台管理员审核同意后方可显示,这样既方便了用户留言,也不会 让不合适的留言发表在留言板上,便于管理员更好的管理维护网站。 管理员:登录后,回复,删除,审核等。 其中,不同的对象不理事件的流程如下: (1)留言者留言的流程图见图4.2。图4.2留言流程图39 第4章基于ASENet网络办公管理系统的详细设计与实现(2)管理员登录的流程图见图4.3。图4.3管理员登录流程图图4.3说明:登录成功后把管理员用户名和密码保存在session对象中。ASP.NET的基本对象包括Appl ication对象、Session对象、ViewState对象,它们都能够用来存储应用程序的数据。其中Application对象被整个应用程序 所共享,即多个用户共享同一个Application对象经常用来存储整个应用程序 相关的数据;Session对象被每一个用户所独享,且每个用户都只有唯一的 Session标识(Session对象ID),经常用来存储用户相关的数据;ViewState 对象是在一个页面中有效,即页面一旦提交到服务器,那么ViewState对象保存的信息已经全部被清空。 第!章基丁ASP.Net网络办公管理系统的详细设计与实现 (3)管理员后台处理留言流程围见图44。蹦4 4管理员留言管理流挫幽系统设计后,留言板最终呈现给用户的前、后台页面如下(1)前台页面幽4 5留言前台页面 第4章基于ASRNel网络办公管理系统的详细设计与实现(2)管理员管理留言的后台页面嚎墨嚣l寰乎璧舞尊鼍,____――-_―麟磷蜘o¨,?t一一¨.二一篡¨ }t}j日… !纠?…=±t∞!:一』…删1J』!!§!!!L―J川一、一 --……r翻4.6管理员管理留盲后台页面■●●――●●■●■■■■―d■■■■■■■■■●●■■■●一 …一’一兰譬舅了{f|兰一在本模块中所需的控件:Lable、TextBox、RadioButton、CheckBox、HyperLink、DropdownList、RePeater。控件的使用方法: RePeater控件:首先拖到设计界面,单击其智能标签为其配置数据源:该控件不对外呈现外观,必须在源视图界面中添加:<ItemTemplate>…</ItemTemplate>模板,中间部分省略可在w设计美观的呈现效果,把代码复 制模扳中。然后对各个数据呈现部分。绑定”,语法:<¥#Eval(“数据库字段”)%>。 关于<{6lfEval(“数据库字段”)%>和<96{l#Bind(“数据库字段”)%>的区别。前者是单向绑定,数据是只读的;后者是双向绑定,数据可咀更改,并返回服务器端,服务器可以处理更改后的数据,如存入数据库。 本模块在设计时出现的问题;如何在留言者提交留言时给予屏蔽。 解决办法:在设计数据库时增加一个字段vis(int),每当用户提交留言写 入数据库时,默认把浚字段置1,显示留言时把字段为0的呈现。只有管理员审 核后(通过DropdownList写入数据库置O)爿能呈现。//管理员审核留言部分public partial class auditing:System Web UI Page 第4章茎王垒!曼型竺堕鳌查坌笪堡墨堑塑堂塑堡生兰壅堡 一―――_――――――――――――_――――――――――――_―――――一一一一一一{public int id:Drotected voldPage―Load(objectsender,EventArgse){ if(!IsPostBack) {ArrayList 1st=new ArrayList0:1st.Add(”下拉选择”): 1st.Add(”显示此留言”): 1st.Add(”屏蔽此留言”):DropDownListl.DataSource DropDownLi21st:stl.DataBind():protected EventArgsvoidDropDownListl―SelectedIndexChanged(objectsender,e){ if(Session[”admin”]!=flull&&Request.QueryStr i ng[” id”].ToStrin90 {1=null)id:C}

我要回帖

更多关于 datatable对象 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信