基于ASP的学生信息管理系统的设计与实现

2024-07-15

基于ASP的学生信息管理系统的设计与实现(精选8篇)

1.基于ASP的学生信息管理系统的设计与实现 篇一

基于ASP.NET的教务管理系统的设计与实现 摘要

教务管理系统为满足高校日益繁杂的教务工作,提升信息的流通速度,增 加师生间的沟通和交流,提高各个部门的工作效率而开发的管理信息系统。教务 信息管理系统是融合管理科学、信息科学、系统科学和网络技术为一体的综合性 先进管理手段。该系统是基于B/S(浏览器/服务器)模式的信息管理系统,选用

ASP.NET+SQL Server 2000数据库进行开发。全文设计开发的教务管理系统结

合了面向对象的编程思想,其开发主要包括后台数据库的建立和维护以及前端应 用程序的开发两个方面。通过系统实现,用户可以在网络环境下直接访问操作权 限范围内的各项信息。

在开发系统过程中,严格按照软件工程的开发理念,采用了基于先进的统 一建模语言.IdML的面向对象技术进行系统的分析与设计。UML是一种对面向 对象系统进行可视化、详细描述、构造和文档化的规范建模语言。特别是在统一 建模过程RUP出现后,UML的应用更加广泛。UML可以应用在软件工程的每 个阶段,本文使用Rational Rose 2003对UML中涉及到的视图进行建模。本文详细阐述了基于UML的面向对象的系统分析与设计、数据库设计以及 UML模型向关系数据库的映射方法。在数据库的需求分析中,使用Microsoft Visio进行E.R图的建模。在需求分析中,详细分析了系统所面向的用户对系统 的功能需求,基于此需求,确定参与者及参与者所感受的系统服务或功能单元,经过多次迭代和细化后建立需求模型,制品为用例图。在用例视图基础上,进入 系统分析阶段,识别系统全部的类,建立类图,并对每一个类判定其构造型,建 立系统分析阶段的静态模型。为了描述系统各对象在执行期间不同时间点是如何 动态交互的以及结果如何,建立系统分析阶段的动态模型,包括序列图和协作图。在系统设计阶段,对系统进行分层和刻画子系统,本文所论述的教务管理 系统共分为学生登录模块、教师登录模块、教务管理员登录模块和教材管理员登 录模块。其中教务管理员登录模块中,又分为学生信息管理、师资管理、网上选 课、工作量计算、教学计划管理等几个模块,是整个系统的开发重点。数据库设 计阶段,依据数据库三种模式之间的两种映射关系,将对象模型向数据库模式映 射,建立数据库模型。

本文建立了较为完整的UML模型,对各个开发过程中的分析与建模作了较 充分的阐述,为应用软件提供了清晰的解决方案,因而,本论文对使用UML进 行软件开发的读者具有一定得参考价值和实用价值。

关键词:教务管理系统;统一建模语言;面向对象;ASP.NET

The Des i gn and I mp I ementat i on of Educat i ona I Adm i n i st rat i on System Based on ASP.NET Abstract The educational implementation system is planed for the satisfaction of the increasingly complex educational administration work in tmiversity, for the promotion of the information circulative speed,for the increasing contact and communication between teachers and students,as well as for the improvement of working efficiency amony different branches.The educational administration system is such comprehensively advanced management methods as administrative science,information science,systematic science and network technique,all routed into one.

The system is established by the information administration。which is based on the B/S model,and selects the data base ofASP.NET+SQL.Server2000 to apply.Focus of the thesis is to design the educational administration system,and employs the typical administrative system by the theory of objects·oriented.The development includes two aspects:the establishment and reservation of the backstage data base;the development of front applied programs.By achieving this system,users can directly visit all kinds of information、析m in the authority of operation under the netwok environment.

During the process of development,the thesis bases strictly on the concept of software project,and makes systematic analysis and design,aimed the technology of directed objects on UML.Uniform Modeling Language(UML)is the one to visible,fully describe,build and docnmentalizc for objects-oriented,especially applied in Rational Unified Process.UML Can be used in stage of software engineering project,therefore,the thesis models the views related to UMLby using Rational Rose 2003.

In the practice of systematic design,the thesis fully elaborates the objects-oriented,the plan for the data base and the mapping methods from UML to relational data base. And it also models the E—R diagram with the help of MicrosoR Visio,in the demand analysis of data base.Furthermore,it analyses the functional demands of the users in the system,defines the system services or function units enjoyed by interparticipants,establishes the needed models and detailed division.division.On the basis of the Use Case Diagram,the thesis enters the stage of systematic analysis,distinguishes all the classes诵tll in the system,establishes the Class Diagram,judges the structure of each class,and finally builds the static models in the stage.In order to describe how the objects interact dynamically in different period of time,the thesis continues to establish the static models in systematic analysis stage,including Sequence Diagram and Collaboration Diagram.

It is because of the stratification and carving sub—system that the educational administration system in this sense Can bc divided into students login model,teachers login model,educational administrators login model and teaching material

administrators login model is the focus of administrators login model.The educational development for the whole system,among which can be divided into such models as students information management,teach management,optional courses on line,work load calculation,teaching plan management,and SO on.In the state of designing data base,it shines upon the data base model from object models and establishes them in view of 2 mapping relations among the 3 models in data base.

To skim up,the thesis has established completed UML models,elaborated the analysis and models in the process of exploitation in details,and provided clear solutions to the applied software.Therefore,it is of great help and value to the reads who are intended to develop software by using UML.

Key Words:Educational Administration System;Uniform Modeling Language;0bject-Oriented;ASP.NET

O引言

近年来随着教育普及,高校教育体制改革,各高校扩大招生规模,使得在校 学生人数有了突飞猛进的发展,办学规模逐渐增大,专业设鼍日趋多样化,招生 人数逐年增加,教学计划不断更新,这使得高校教务管理的工作量大幅度增加。并且,随着教育改革的深化,教学管理模式也在发生变化,如学分制的逐步实行、学生可以自主选课等。这就对原有的教学管理模式提出了更高的要求。另一方面,随着计算机网络技术的发展,校园网引进各个高校,为无纸化办公提供了有利条 件。在这样的形势下,开发一个集成化的教务管理系统不仅势在必行,而且成为 一个紧迫的任务。

由于国内各高校的教务管理模式不尽相同,不同学校的实际教务管理情况各 有自己的特点,因而各高校需要针对自己的教务管理模式和特点建立自己的教务 管理系统。教务管理包括对教学资源——如教室、办公用品等的管理,新生注册 和学籍的管理、各学期学生成绩的管理、教学培养方案的执行、教学计划的安排、学生考试的管理、教师评教以及工作量的计算等大量信息。如何高效率的进行管 理,并且有序的存放和处理这些巨大的信息,并使之成为教学管理分析和决策的 手段,为教学活动产生更好的促进作用,是教务管理信息系统主要功能。教务管理系统是以管理信息系统为理论依据的。管理信息系统的发展伴随着 软件工程的发展而日趋成熟。不断增长的复杂性、多样性和相互关联性是当今管 理信息系统的共同特征。而开发一个管理信息系统往往要结合软件工程的理念,使用系统化的方法进行管理信息系统的开发,从而更能有效地控制程序复杂性,减少系统的不合理,减轻维护成本。

从技术层次上,软件工程是从一系列建模任务开始的,由这些任务产生出软 件完整的需求规格说明和软件设计的表示。80年代末期,当面向对象程序设计 语言产生后,人们将面向对象的软件建模方法引入到软件工程的各个阶段。并迅 速发展成为当代软件界研究的热点课题之一。这种开发方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法【11。面 向对象的程序设计立意于创建软件重用代码,它通过在程序中加入扩展语句把函 数“封装“进编程所需要的“对象’’中。从本质上来讲软件开发就是对软件所要 处理的问题集进行正确的认识,并把这种认识正确地描述出来。面向对象的软件 开发就是直接面对问题集当中客观存在的事物来进行软件开发。

面向对象的开发方法的精髓是从不稳定的需求中分析出稳定的对象,以对象 为基础来组织需求、构架系统【2】。这种开发方法包括面向对象分析和面向对象设

计。

面向对象分析的目的是认知客观世界的系统并对系统进行建模,那么就需要 在面向对象分析过程中根据客观世界的具体实例在问题中准确、具体、严密的分 析模型。如图O.1所示为面向对象的分析过程。

图O一1面向对象的分析过程

面向对象的设计是把分析阶段得到的需求转变成符合成本和质量要求的,抽 象的系统实现方案的过程。设计的准则包括模块化、抽象、信息隐藏、低耦合和 高内聚等特征【11。

公认的面向对象建模语言出现于20世纪70年代中期,从1989~1994年,其 数量从不到十种增加到了五十多种。建模语言中用的最广的是Booch的Booch 93、Jacobson的面向对象软件工程(OOSE)和Rumbaugh的对象建模技术(OMT-2)。面向对象建模方法出现以来,各种面向对象的分析与设计方法的主 导思想以及所采用的主要概念与原则大体上是一致的,但是也存在不少的差异。统一建模语言UMLCOnified Modeling Language)lE是为结束这种差异的局面应运

而生的。

1994年10月,Grady Booch和Jim Rumbaugh开始致力于这一工作。他们首

先将Booch 93方法和OMT-2方法统一起来,并于1995年10月发布第一个公开

版本UML0.8。1995年秋,OOSE创始人Ivar Jacobson也加入了。三人共同致力 于设计统一建模语言,他们同面向对象方法学的创始人共同合作,为这项工作注 入了强大的动力,打破了面向对象软件开发领域内原有的平衡。目前UML得到 了诸多大公司的支持,如IBM、HP、Oracle、Microsoft等,已成为面向对象技 术领域内占主导地位的规范化建模语言,并且已被OMG组织采纳的建模语言规 范。Booch、Rumbaugh和Jacobson在一些文献中经常被称作“三个好朋友”(three amigos)【3】。UML的发展过程如图0.2所示。本文所论述的系统在需求分析、系 统分析与设计阶段,都采用UML进行建模。

图0-2 UML的主要发展历程

被OMG采纳的UML只是一种建模语言,并不包含对软件开发过程的指导。在讨论UML时,人们往往谈论到统一过程(Rational Unified Process,RUP)。RUP是一个最佳软件开发实践,根据字面理解,可以知道RUP包括3方面的意

思,即Rational、Unified和Process。Rational表示RUP是由Rational公司开发

并维护的;Unified表示RUP采用了现代软件工程开发的6项最佳实践:Process 表示RUP是一种软件开发过程14】。Rational统一过程的动态结构是通过对迭代式软件开发过程的周期、阶段、迭代过程以及里程碑等的描述来进行表示的。

本文基于UML建模方法对我校教务管理系统做了较深入的分析,并基于物 理模型进行了系统的设计与实现。对于建模的工具的选择,本文选择Rational Rose,它提供了UML的所有建模元素的可视化编辑环境,并提供了基于组件的 开发以及对软件开发全过程的支持。除了支持UML的类图、交互图、组件图和

配置图外,Rational Rose是一个独立的工具,通过应用程序接口(API)层与市

场主导的各种IDE结合来支持各种编程语言和其他实现技术【51,从而全面支持面

向对象分析、设计和编码。Rational Rose支持软件系统的面向对象的开发,它通

过用例图、逻辑类图、序列图等支持面向对象的分析和设计,在不同的视图中建 立相应UML图形来反映系统的不同特征。

在开发工具的选择上,本文采用了新的ASP.NET技术,结合.NET框架所支 持的VB语言来实现教务系统的各项功能。ASENET不仅仅是下一版本的Active Server Page(ASP),它还是统一的Web开发平台,方便开发人员开发企业级W曲

应用程序。它是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语 言创建应用程序。另外,任何ASENET应用程序都可以使用整个.NET框架,并 且可以无缝地与HTML编辑器及其他编程工具一起工作。这使Web开发变得更

加方便。

数据库的开发工具上,选用SQL Server 2000开发环境。SQL Server2000是能 够支持企业级关系型数据库的管理系统,它能与Windows操作系统紧密集成,具有方便易用的图形管理界面,其用户界面风格与Windows一样非常友好。SQL Server2000在存储大容量数据方面,在数据的安全性和完整性方面,在分布式处 理等都是适合于企业级应用的。而其相对Oracle,DB/2等大型数据库来说,学习更为容易,应用成本也相对较低。采用SQL Server2000+ASP.Net开发本系统 是一个较为理想的组合。

综上所述,开发这样一个系统不但可以降低工作量、提高办公效率,而且使 目前分散的教务信息得到集中管理。这对减轻教务工作负担、提高教务管理水平、实现教务管理的现代化具有重要意义。论文分为引言、正文和结束语三部分。

引言部分简要地论述了当前高校管理信息化的必要性、高校教务管理系统开 发的重要意义以及高校教务管理系统开发所使用的技术。正文部分共分4章,其内容安排如下:

第一章:需求分析与建模。本章对教务管理系统进行需求分析,逐步对系统 分析细化,找出参与者和用例等,作出Use Case图。在用例图的基础上,从现 实或原型方面来透视的系统,进一步作出系统的静态模型。还有表示对象类之间 的通信及对话的动态模型。

第二章:系统概要设计。阐述了系统体系结构,和为什么选择采用B/S模式。介绍了系统实现基于的三层架构,即数据访问层、业务外观层和页面层。最后对 系统的层次和模块进行细化。

第三章:系统详细设计。对数据进行全面分析,得到E.R图,建立数据库表,完成存储过程的设计。举例介绍了系统中类的设计,以及几个代表性的功能模块 的设计思想。

第四章:系统实现。本文所论述的系统是用ASP.NET+SQL Server开发的。在这一章中主要是对笔者负责的部分,进行阐述。并以UML建模为基础,实现

系统功能。

结束语对本文工作进行简明扼要的总结,并指出本文存在的不足和改进方向,以及对未来的展望。

本文的创新性在于结合我校教务工作的实际问题,有针对性的对教务工作的 各个环节进行UML建模,从对象模型到动态模型再到系统功能的建模,让系统 分析更全面,系统实现更完善。系统实现采用三层架构,即数据访问层、业务外 观层和页面层。在业务外观层扩展出业务规则层,数据层扩展为数据存取层和存 储过程层,使业务逻辑与用户界面分开,增加程序的可扩展性和可维护性。

1需求分析与建模

需求分析是软件开发过程的重要环节,是软件开发的基础,通过与用户的反 复沟通,勾勒出系统的框架,需求分析的好坏决定了软件设计的成败,好的需 求分析也能减少资金的浪费。

1.1功能需求

教务管理系统系统主要是为完成日常教学任务而开发的,其主要目标是对学 生个人信息、师资信息、教学资源信息、课程信息、学生成绩信息等进行管理 及维护,减轻教学工作的压力,提高教学管理工作的效率。

通过对学校教学管理的业务调查,得知教务管理人员可通过此系统实现对学 生和教学资源的管理与维护,学生可以通过此系统进行个人信息、考试成绩查 询以及完成选课等相关功能,教师可以通过此系统完成个人信息管理、学生成 绩输入、教学任务查询等等功能。系统的总体任务是实现整个教学信息管理的 系统化、规范化和自动化。

在日常教学工作中,教务处有整体规划和辅助教学的任务,各个院系上报的 教学任务和教学计划都要上报给教务处,由教务处根据上报的材料分配教学资 源,如教室等,并且安排教师上课时间和上课的周次,然后再将教师上报的教 材征订单传达给教材科,由教材科根据开课学生人数订教材。教务处还要将一 切安排妥当的事宜公布在网络上,以供教师和学生查询。

因此,该系统主要的使用对象是教务管理人员、学生、教师和系统维护人员。这些使用者对教务管理系统的功能要求是不同的。(1)教务管理人员对功能的需求 ·学籍管理

功能包括:学生注册、学生基本信息管理(包括添加、删除和更新学生信息,可按姓名或学号查询学生信息)、学籍变动管理、毕业管理等。·师资管理

6功能包括:各专业课教师个人基本信息管理、教学任务发布、教学工作量管

理、考评考核管理、科研管理等。

●选课管理

功能包括:教务管理人员依据教学计划和培养计划,设置选课课程并统计生 成己选课学生名单等。

●教学计划管理

功能主要包括:根据培养计划和各个专业上报的教学计划,添加各专业教学 计划,包括教学计划的修改删除等操作。

●成绩管理

功能包括:每门课程结束后,由教师进行成绩登记,然后教务管理人员对登 记的信息进行管理,如教师登录成绩后发现成绩有错误,只能由教务管理人员 核实后进行修改。还有根据成绩就算出学生的学分,以便学籍管理的需要。

●课程管理

功能主要有:安排各个专业所开设课程的上课时间和上课教室。(2)教材管理人员功能需求

功能包括:教材的基本信息的管理(按书名或作者等查询各专业教材、添加 修改删除教材信息等)、统计教材数量、教材费用、教材的入库和出库管理等。

(3)学生对功能的需求

学生有两类,分别是本科生和研究生。每一类学生对于功能的要求还是有区 别的,如研究生有科研和论文的内容。在本文中,只分析了本科生的功能需求。·个人信息管理

功能包括:浏览个人基本信息,具体内容包括姓名、性别、学号、民族、出 生日期、籍贯、所在专业班级等,这些信息是以学籍管理表中的信息为准,所 以不允许学生自行更改,只能进行查询。还包括个人课表查询,成绩查询等。·更改系统登录信息

功能包括:学生登录系统后,修改登录信息,为了保证系统的安全性,只要 求学生修改个人密码。

● 网上选课

功能包括:网上查看可选课程,添加、删除所选课程等功能。

7(4)教师对功能的需求

●个人基本信息的维护

功能包括:教师基本信息的添加和修改等,如出生日期、毕业学校、学历和 学位等信息,但是职工编号和姓名是不允许教师在系统中进行修改的。·教学信息查询

功能包括:教学任务查询、教学自然班名单下载打印、教学质量评价查询和 工作量计算结果的查看等。●学生成绩录入

功能主要包括:本学期学生考试成绩的录入,一旦用录入密码录入成绩成功 后,就不能任意修改学生成绩,必须由教务处管理人员修改。(5)系统管理员的需求

系统管理员主要是对教务管理系统进行维护和更新,并保证系统的安全性,以及数据库的安全性。

从以上可以看出,各种人员对于系统的需求是不同的,对于学生来说,教务 人员的操作是不能使用的,也是不可见的,所以要在用户登录系统时,就做出 判断该用户可以使用哪些功能,这就需要设置不同的登录权限。系统管理人员 具有最高的权限,可以添加、删除用户,并可设置和修改不同的用户权限。因 此在数据库设计中,要有权限的定义。

权限的定义其实是系统安全性的一种需求,采用身份认证机制对一般用户进 行管理,以教工号和学生学号来判断登录者的权限,并且以这两种身份来判断 登录者是否该校的校内人士,如果是校外人士,则具有浏览这样的最低权限。系统的安全性需求还有另外一方面内容——数据安全性,对于数据库服务器,要避免系统崩溃等意外事件发生而导致数据全部丢失,常用的方法是采用 RAIDS磁盘阵列,其次是对数据库系统提供完全、增量等多种备份方式,如把 数据定期刻成光盘保存。对于数据安全性,本文不做详细的阐述。

根据以上对系统的功能的分析,我们可以大体总结出系统的一个大概框架和 系统应该分为哪些子系统。根据所完成的功能和用户角色的不同,我们将系统 分为教师子系统(完成教师登录后的功能)、学生子系统(完成学生登录后的功 能)、教务管理子系统(完成繁杂的教务工作的功能)和教材管理子系统(完成 教材有关的功能)四个子系统。在这四个子系统中又可以划分出多个小模块,例如,教务管理子系统是一个非常大的子系统,我们将它再次细化,可以分成 学生学籍管理模块、网上选课模块、教学计划管理模块、课程管理模块等。用 一个系统结构框图来表示,如图1.1所示。

图1.1教务管理系统总体框图

1.2用例图

图1.1教务管理系统总体框图

需求获取阶段的主要工作是建立待开发系统的模型。本文中采用统一建模语 言对系统的需求进行建模,UML的用例和用例模型是建立这种需求模型的合适 方法。

系统需求建模是为描述系统需求而建立的相应模型,其重要性在于:通过系 统模型可评估系统构件及其相互关系,确定需求如何适应其布局,以及评估系 统的“美学’’等方面【31。

在计算机图形学中,有一句名言,叫做“一幅图顶得上一千个字’’。同样的 道理,在软件开发过程中,模型的重要性也十分明显,它可以达到以下目的: >使用模型可以加强人员之间的沟通

>使用模型可以更早的发现错误或疏漏的地方

>模型为最后的代码生成提供依据 >使用模型可以更好的理解问题 >使用模型可以获取设计结果

面向对象的软件建模方法主要从面向对象程序设计领域演变发展而来,它是 对象问题域进行完整的映射的过程。“对象“的主要特征包括如下内容:

(1)它包括了事物的数据特征和行为特征,对象是系统中用来描述客观事物 的一个实体,具有它自己的静态特征和动态行为,是构成系统的一个基本单位。(2)它通过封装、继承、消息通信等原则使问题域的复杂性得到控制。(3)它用聚合和链接如实反映问题域中事物间的关系,“任何两个对象之间 的关系都包含其中一个对另一个的假设”。

正是拥有上述特征,从而使面向对象建模方法能够完整和直接的映射出问题 域,所以其在模拟现实世界方面具有天然的优势。

UML是用图来进行“说话”的,图是UML的关键。用UML开发的图在软 件开发生命周期(SDLC)的每个阶段中起着关键的文档作用。此外,你可用 UML来开发基于任何SDLC模型的软件系统【6】。1.2.1用例图概述

用例视图指出系统提供给每个利益相关者的功能。由于UML中的各个构件 和概念之间没有明显的划分界限,为方便起见,选用视图来划分这些概念和构 件。视图只是表达系统某一方面特征的UML建模构件的子集。用例视图是视 图中的一种。用例视图约束其他视图,在建模过程中居于非常重要的位置。项 目开始时,项目小组就可以在用例视图中生成业务模型。开发者既可以把用例 视图用于构建一个新系统的功能视图,还可以把已有的用例视图修改或扩充后,产生新的版本,也就是在现有的视图上加入新功能(即在视图中加入新的执行

者和用例)。

用例图是把满足用户需求的基本功能聚集起来的强有力的工具。对于正在构 造的新系统,用例描述系统应该做什么;对于已经构建完毕的系统,用例则反 映了系统能够完成什么样的功能【71。用例图包括用来描述最终用户、分析人员 和测试人员的角度所看到的系统行为的用例。

用例图的基本组成部件是用例、执行者和系统。用例用于描述系统的功能,也就是从外部用户的角度观察系统应支持哪些功能,帮助分析人员理解系统的

行为,即站在系统外部看系统功甜引。在用例模型中系统仿佛是实现各种用例 的黑盒子。我们只关心该系统实现了哪些功能,并不关心内部的具体实现细节。用例模型主要用于工程开发的初期,在进行系统需求分析时使用。用例模型由用例图构成。用例图中显示执行者、用例和用例之间的关系。1.2.2建立用例图

建立Use Case图可以按下列步骤进行:(1)确定系统范围和边界

所谓系统的边界是指系统与系统之间的界限。系统同时又是相对的,在这里,我们只说明第一次迭代的系统边界。教务管理系统以教学计划的实施为线索,对教务管理实行一体化操作,涉及学籍管理、教学计划管理、课程管理、选课 管理、成绩管理、教师管理、教材管理等。这些内容都属于教务管理系统的职 责范围。而学校的其他管理工作,如人事、财务、资产等管理不属于该系统的 职责范围。虽然有系统边界的存在,但是使用Rational Rose画图并不画出系统

边界。

(2)确定主要参与者

参与者(Actor)是指存在于系统外部并直接与系统进行交互的人、系统、子系 统或类的外部实体的抽象。参与者有自己的目标,通过与系统的交互达到目标。参与者包括人参与者(Human Actor)和外部系统参与者(System Actor)。在与系统 打交道的人员中,凡是直接使用系统的人员可以确认为人参与者;凡是与系统 相联,并与系统交互的外部系统,可以确认为系统参与者。

一个参与者可以参与一个或多个Use Case,而一个Use Case可以有一个或 多个参与者运行。在本系统中确定教务管理员、教材管理员、学生、教师和系 统管理员为活动者。(3)确定用例

用例(Use Case)是参与者可以感受到的系统服务或功能单元。它定义了系

统是如何被参与者使用的,描述了参与者为了使用系统所提供的某一完整功能 而与系统之间发生的一段对话。每一个用例都是一个参与者与系统交互中执行 的有关事务的序列【9】。虽然用例描述了活动者与系统交互中的对话,但是,它 只描述了该做些什么,并不描述该如何做。全部的用例构成了对于系统外部是

可见的行为的描述。应当根据系统需求找出全部的用例,并从参与者的角度给 出事件流和用例执行时系统可以提供给参与者的服务。

在教务管理系统中,我们可以确定以下一些主要用例:学生管理(学生基本 信息的维护)、师资管理、课程管理、教学计划管理、选课管理、成绩管理、教 材管理(教材信息查询,教材的入库和出库等),系统维护等。本文只列出几个主要的用例图加以介绍。①系统管理用例 >创建新账号 >设置账号基本信息 >查看账号

>删除账号 >系统维护和更新

建立用例图,如图1.2所示,图1.2系统管理员用例图

②教务管理用例

由于教务管理的事务繁琐复杂,因此功能的划分就很细致,用例数目就比较 多。我们先列出顶层用例,然后再将粒度大的用例进行分析。>登录系统 >学生学籍管理 >教学计划管理 >选课管理 >课程管理 >师资管理 >成绩管理

建立教务管理顶层用例图,如图1.3所示。然后将粒度大的用例进行进一步 分析,例如,师资管理工作,可以包括教师信息管理、评教情况、工作量计算、科研情况等。每一项工作都可以作为功能的细化,而看作是一个用例。因此,以师资管理为例,将教务管理顶层用例进一步细化,如图1.4所示。将顶层的用例模型进一步细化,划分为粒度小的用例,以便深入分析系统的 要求和目标,这一过程也是迭代过程【101。对顶层用例图逐步分解,精细化,直 到能清晰的表达问题,满足系统分析与建立模型的需要。又如,图1.5所示为 细化后的网上选课用例。

图1-3教务管理顶层用例图

图l-4师资管理三次迭代后的用例图

图1.5选课管理用例图

③学生用例 >登录系统 >个人信息管理 >成绩查询 >网上选课

建立学生用例图,如图1-6所示。

图1.6学生用例图 ④教师用例 >登录系统 >个人信息管理 >登录成绩 >教学任务查询 >教学班名单打印 >教材查询

建立教师用例图,如图1.7所示。

图1.7教师用例图

⑤教材管理用例

>登录系统

>教材信息管理 >入库

> 出库

建立教材管理用例图,如图1.8所示。

图1.8教材管理用例图

161.3静态结构模型

系统的静态结构模型主要由类图和对象图表达。类图从抽象的角度描述系统 的静态结构,而对象是类的实例化表示,对象图是系统静态结构的一个快照⋯l。对象图和类图类似,也是表达系统的静态开发视图,但它是从现实或原型方面 来透视的,说明在类图中所发现的事物实例的数据结构和静态快照。当要在动 态建模的交互图中表示动态场景的一个静态画面时,可以使用对象图来重现系 统中存在的实例以及它们之间的相互关系。类图展示了一组类、接口和协作及 它们间的关系,建模中所建立的最常见的图就是类图。类图中包含了三方面的信息:

(1)对象类:对象类简称类,是面向对象模型最基本的模型元素,类有属性、操作、约束以及其他成分等。“属性”描述类性质的实例所能具有的值;“操作” 实现类的服务功能,它可以被本类的对象请求执行,从而发生某种行为。(2)用户接口:用户和系统交互的界面,它也可以用类表示。

(3)联系:表示类之间的关系,这种关系可以有多种,关联、依赖、泛化、聚合都是非常重要的联系。

在建立静态模型时,首先要对类进行识别,类的识别通常是由系统分析员在 分析问题域的基础上来完成的,它是面向对象开发中一项困难较大的活动【12】。对类的识别,通常的方法是从用例中来识别。用例图实际上就是一种对系统描 述的形式,因此,可以根据用例图来识别类。

所有被识别的类只包括三种构造型中的一种:边界类(Boundary Class)、实 体类(Entity Class)和控制类(Control Class)。使用类的构造型可以方便的对 类进行分类。按照类的识别顺序,首先识别出系统的实体类,然后进一步识别 出边界类和控制类。

实体类(Entity Class):实体类的信息和行为通常存在较长的时间,实体类 是现实问题的抽象,这种类型的类通常对应现实世界中的实体,或者需要执行 系统的内部事务f13】。例如学生、教师、教材等。而且每个实体类在数据库中都 有相应的表,实体类的属性对应数据库表中的字段。表1.1列出了教务管理系 统中一些重要的实体类。

边界类(Boundary Class):负责系统与系统外部环境的通信。位于系统与外 界的交界处,工作在系统和角色之间【81。因此,通常又被称为“接口类”。包括 所有窗体、报表、打印机和扫描仪等硬件接口以及与其他系统的接口。在教务 系统中的边界类有,用户登录界面、学生基本信息管理界面、教师基本信息管 理界面、教学工作量信息管理界面、科研情况管理界面、学生成绩管理界面、教学计划管理界面、选课界面等等。

控制类(Control Class):负责协调其他类的工作,通常其本身并不完成任何 功能,其他类也不向其发送很多消息,而是由控制类以委托责任的形式向其他 类发出消息。将教务管理系统中的业务逻辑抽象为以下的一些控制类,如表112 所示。

表1-2教务管理系统中的控制类

对类进行分析完毕接下来,就可以建立初步分析模型。例如,教材管理中,类的初步模型如图1-9所示。

图卜9教材管理用例类的初步建模

课程管理中,类的初步模型如图1.10所示。

教材

图1.10教材管理用例类的初步建模

选课记录

根据初步建模图,确定各个类的属性和方法后,再次建模,如图1.11所示

图1_11确定了属性和方法的类建模

根据己定义的类及其联系,以及对象类的多重性、角色、导航等性质,可以 画出对象类图。如图1.12是教务管理系统的主要类及其关系。图1.12教务管理系统主要的类及其关系图

所有系统均可表示为两个方面:静态结构和动态行为。类图最适合于描述系 统的静态结构:类、对象以及它们之间的关系,而状态、时序、协作和活动图 则适合于描述系统的动态行为,即描述系统中的对象在执行期间中不同时间点 是如何动态交互的。

系统中的对象需要相互通信,通常情况下,~个消息就是一个对象激活另一 个对象中的操作调用【141。对象是如何进行通信以及通信的结果如何,则是系统 的动态行为,也就是说,对象通过通信进行协作及对象在系统的生命期中改变 状态的方式是系统的动态行为。一组对象为了实现一些功能而进行通信称之为 交互。交互图(Interaction Diagram)是用来描述对象之间以及对象与参与者之 间的动态协作关系以及协作过程中行为次序的图形文档,它包括序列图

(Sequence Diagram)和协作图(Collaboration Diagram)两种形式。序列图着

2l重描述对象按照时间顺序的消息交换,协作图着重描述系统成分如何协同工作。

序列图和协作图从不同的角度表达了系统中的交互和系统的行为,它们之间可 以相互转化。(1)序列图的建立

序列图(Sequence Diagram)是由对象、生命线、激活和消息等构成。序列 图的目的就是按照交互发生的一系列顺序显示对象之间的交互【31。下面列出学生选课的序列图,如图1.13所示。教学计划管理的序列图,如 图1.14所示。

图1.13学生选课基本事件序列图

基于ASENET的教务管理系统的设计与实现 图1.14教学计划管理基本事件序列图

图1.15学籍管理模块添加成绩序列图

序列图作为一种描述在给定语境中消息是如何在对象间传递的图形化方式,在使用其进行建模时,可以将其用途分为以下3个方面。

·确认和丰富一个使用语境的逻辑表达:一个系统的使用环境就是系统潜

在的使用方式的描述,也就是它的名称所要描述的。一个使用环境的逻 辑可能是一个用例的一部分或是一条控制流。

● 细化用例的表达:序列图的主要用途之一就是把用例表达的需求转化为

进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的

序列图。

●有效的描述如何分配各个类的职责以及各类具有相应职责的原因:可以

根据对象之间的交互关系来定义类的职责,各个类之间的交互关系构成 一个特定的用例。例如,“用户对象向地址对象请求其街道名称“指出 用户对象应该具有“知道其街道名’’这个职责。

(2)协作图的建立

协作图(Collaboration Diagram)是由对象、消息和链等构成【15J。协作图通 过各个对象之间的组织交互关系以及对象彼此之间的链接,表达对象之间的交 互。

与序列图不同的是,在协作图中明确表示了角色之间的关系,通过协作角色

来限定协作中的对象或链。另一方面,协作图不将时间作为单独的维来表示,所以必须使用顺序号来判断消息的顺序以及并行线程【2】。序列图和协作图表达 的是类似的信息,虽然它们使用不同的方法表示,但可以通过适当的方式将它

们进行转换。

将图1.13和1.14中的序列图转换为协作图,分别见图1.15和图1.16。

1.15学生选课协作图

协作图作为一种在给定语境中描述协作中各个对象之间的组织交互关系的 空间组织结构的图形化方式,在使用其进行建模时,可以将其作用分为以下三 个方面:

·通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达: 一个使用情景的逻辑可能是一个用例的一部分或是一条控制流。这和序 列图的作用类似。

●显示对象及其交互关系的空间组织结构:协作图显示了在交互过程中各 个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图现实的是对象之间的关系,并不侧重于交互的顺序,它没有将时 间作为一个单独的维度,而是使用序列号来确定消息及并发线程的顺 序。

·表现一个类操作的实现:协作图可以说明类操作中使用到的参数、局部 变量以及返回值等。当使用协作图表现一个系统行为时,消息编号对应 了程序中嵌套调用的结构和信号传递过程。

2系统概要设计

经过需求分析后,对于系统是“做什么”已经清楚了,这一章的内容主要讨 论系统“怎样做“116]。总体设计的基本目的就是回答“概括地说,系统应该如 何实现?”这个问题。设计工作集中在细化阶段结束、构造阶段之时开始。它 将产生合理、健壮而稳定的构架,创建实现模型的蓝图‘171。

2.1系统体系结构

教务管理系统是由Web后台进行统一管理,所有业务逻辑都集中在Web应 用程序中管理和制定,具有数据的添加、搜索和查询统计等功能,客户端的分 布广泛,数据集中处理,因此在设计时充分考虑各种体系结构的优缺点,B/S 结构对异种机、异种应用的连机、连网及统--N务具有很好的作用,因此选择 B/S结构进行开发实现。

B/S模式是三层结构体系,对比过去C/S结构,B/S在客户机和服务器之间 增加了一个Web服务器。当客户端发出请求时,由Web服务器向数据库服务器 取出数据并计算,然后将计算结果返回给客户端,用户通过安装在客户端的浏 览器浏览计算结果。在B/S模式下,客户端只需装上浏览器以及相应的操作系 统、网络协议软件即可,而所有应用软件的开发、维护、升级等工作由服务器 承担【18】。B/S模式是三层结构体系如图2.1所示。

图2-1 B/S的三层结构体系

教务系统的软件开发在B/S体系结构基础上,程序设计过程采用三层架构,即数据层,业务外观层和页面表示层(应用层)。将UML建模使用到体系结构 的设计中来,也是本论文的一大创新点。

页面表示层表示软件界面,包括大量控件,并以事件为触发机制,在事件响 应程序中调用业务外观层中的接口完成相关操作。图2.2表示了页面表示层与

其它层的交互。

图2—2页面表示层交互图

业务外观层将用户界面和业务功能的具体实现分割开,对业务规划层和数据 访问层的所有调用必须通过此层进行。一般将业务外观层扩展出业务规则层,业务外观层就位于Web层与业务规划层之间,主要完成与Web层交互以及在对 “业务规则“层的调用之间维护临时状态【191。图2.3表示了业务外观层与其它 层的交互。

图2-3业务外观层交互图

数据层为业务外观层和业务规则层提供数据服务,并解决数据存取的问题。

对数据库的操作全部封装到对数据库服务器端的存储过程层调用中【191。图2.4 表示了数据层与其它层的交互。

图2—4数据层交互图

2.2系统模块划分 图2—4数据层交互图

在第一章的需求分析中,初步将本系统划分为4个子系统,每一个子系统面 向不同的用户。接下来在概要设计中,要将这四个子系统进一步细化,细化成

低耦合、高内聚的模块。

系统的总体框图在需求分析中已经列出,具体查看第一章的图1.1。根据总 体框图继续将框图中的每一个模块进一步细化。细化的结果按照模块独立性原

理来进行验证。

模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果【16】。模 块的独立程度可以由两个方面度量,分别为内聚和耦合。耦合强弱决定模块间 接口的复杂程度,接口越简洁,临界值的测试也越容易,不但是程序不容易出 错,后期维护成本也会降低。内聚是衡量一个模块内部各个成员彼此结合的紧 密程度,理想内聚的模块只完成一件任务。

按照软件工程中的这一理论,将教务管理系统进行细化。(1)学生子系统

学生子系统是学生身份登录后所使用的功能,按照功能的不同,将学生子系 统进一步细化,如图2.5所示。

图2.5学生子系统细化后结构图

(2)教师子系统

教师子系统面向的是普通教师,根据需求分析得到的结果,将教师子系统进 行多次细化后得到如图2-6的模块结构。(3)教材管理子系统

教材管理实质是教务管理的一部分,但是由于其管理对象与教务管理的工作 对象有很大差异,属于一种教学资源的管理,因此将教材管理从教务管理中划 分出来作为一个单独的子系统。其用户为教材科管理员,登录后不进入教务管 理界面,而进入教材管理界面。按功能细化后的模块结构如图2.7所示。

图2-6教师子系统细化后结构图

图2-7教材管理子系统细化后结构图

(4)教务管理子系统

教务管理子系统是所有子系统中功能最复杂的一个子系统,涉及了整个日常 教务和教学工作。将该系统第一步细化,按功能分成学生学籍管理、师资管理、选课管理、教学计划管理、成绩管理和课程管理六个大的模块,如图2.8所示。

图2-8对教务管理子系统二次细化

二次细化后的模块并不是最优模块,每一个模块都完成若干项工作,因此还 要再次细化。下面依次列出多次精细化后的模块结构图。① 生学籍管理

图2-9学生学籍管理结构图

②师资管理

图2.10师资管理结构图

③教学计划管理 图2-ll教学计划管理结构图

④学生选课管理

图2-12教学计划管理结构图

⑤学生成绩管理 生成绩管理结构图

⑥课程管理

2-13学

图2.14课程管理结构图

综合以上结构图,可以发现,在每个子系统中都包含了数据的一些基本操作,如添加记录、删除记录、修改记录和数据统计等,还有报表的制作、打印等常 见的功能。根据面向对象思想,可以将这些程序代码进行封装,增加代码的重

用。

3系统详细设计

详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统【16】。这一 阶段应该得出对系统的精确描述。

3.1数据库设计

数据位于信息集成系统的中心,是信息系统的灵魂,因此,数据库设计直接 影响着数据库系统的性能以及整个教务管理系统的功能。所以数据结构应该是 稳定的,变化的只是处理过程。本系统在侧重信息需求的同时兼顾处理需要,这个设计按照关系模型和第三范式理论,直接面向数据设计。数据库设计有如下三个基本阶段:

>需求信息的收集一一与客户、最终用户以及公司中定义数据库需求的管 理者进行调研的过程。收集的信息主要有,业务如何处理、业务规则、当前所使用的数据库信息等。

>数据建模一一通过可视化的方式分析业务数据,并最终将业务模型转换 为数据模型的过程。所产生的数据模型用来创建表、视图和数据库所需 的其他对象。

>数据库设计和规范化一一业务模型转换为物理模型的过程。并减少冗余 数据。

ANSI/SPARC模式规定,数据库可分为三层:内模式、中间模式和外模式【201,简单的说,数据库模式是指数据库中一组相关对象。在模式结构中,对象之间 并不是互相独立的,它们之间存在相互关联的关系。它统一地考虑了所有用户 的需求,并把这些需求所涉及的记录、记录间的联系有机地结合为一个整体,描述概念模式的常用方法是E.R图(Entity.Relationship approach,实体-联系方 法)【19lo 外模式也叫应用软件接口,是数据库的外层,是与用户进行互动的一层。子 模式是模式的子集。外模式允许在用户应用软件和数据模型之间创建关系。

35内模式也叫物理模型,具体描述了数据如何组织并存入外部存储器上,处理

数据库的物理存储和数据访问。内模式一般由系统程序员根据计算机系统的软 硬件配置决定数据存储方式,并编制程序实现存取。

中间模式也叫逻辑模型,是数据库的基本模型,它主要处理用来定义数据库 结构的一些数据结构,例如,表和约束条件。

数据库三个模式之间存在两种映射,一是模式与子模式之间的映射,这种映 射把概念数据库与用户数据库联系起来,另一种映射是模式与内模式之间的映 射,这种映射把概念数据库与物理数据库联系起来【211。有了这两种映射,才把 用户对数据库的逻辑操作转换为对数据库的物理操作。3.1.1数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据 库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据 处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析本系统的有关信息,设计如下面所示的主要数据项和数据结构:

●学生基本信息

包括的数据项有:学号、姓名、性别、出生年月、籍贯、政治面貌、学院编 号、专业编号、班级编号、家庭住址、联系方法、照片、备注等。·学院信息

包括的数据项有:学院编号、学院名称、专业编号、专业名称、各专业班级 编号、班级名称、班级人数等。·教师信息

包括的数据项有:员工编号、姓名、性别、出生年月、籍贯、政治面貌、职 称、学院编号、职务等。·课程信息

包括的数据项有:课程编号、课程名称、课程类型编号、理论学时、实验学

时等。

·教学计划

包括的数据项有:学院编号、专业编号、班级编号、课程编号、开设时间等。●教材信息

包括的数据项有:教材ISBN编号、教材名、作者、出版社、版次、库存量

等。

·评教信息

包括的数据项有:员工编号、评教时间、评教成绩等。·工作量信息

包括的数据项有:员工编号、计算学年、课程编号、理论学时、实验学时、总工作量等。·科研信息

包括的数据项有:项目编号、项目名称、项目负责人、项目完成时间、项目 内容、获奖情况等。·选课信息

包括的数据项有:课程编号、教师姓名、最大人数、已选学生数等。●成绩信息

包括的数据项有:学生学号、课程编号、成绩、是否重修等。·系统用户信息

包括的数据项有:用户ID、用户权限、用户密码。根据以上的数据结构和数据项,进行下面的数据库设计。

3.1.2 E.R图设计

E.R方法是一种用来在数据库设计过程中表示数据库系统结构的方法,又被 称为实体.联系模型。它的主导思想是使用实体(Entity)、实体属性(Attribution)以及实体之间的联系(Relationship)来表示数据库系统的结构。

实体有描述其特征的属性,一个或多个属性表征一个实体。在E.R图中,实 体用长方形表示,属性用椭圆表示。

联系是指实体之间的关联,E.R模型清楚地定义了联系,每个联系都有名字。联系的元是参加联系的实体的数目,大多数联系是二元的,有三种类型:一对 一联系、一对多联系和多对多联系。联系用菱形表示。

对关系数据库而言,就是要将E.R模型转换为关系模型,并对其进行优化。将E.R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系 转化为关系模型,这种转换一般遵循如下原则:

(1)一个实体型转换为一个关系模型。实体的属性就是关系的属性,实体的 码就是关系的码;

(2)一个一对一联系可以转换为一个独立的关系模型,也可以与任意一端对 应的关系模型合并;

(3)一个一对多联系可以转换为一个独立的关系模型,也可以与多端对应的 关系模型合并;

(4)一个多对多联系转换为一个关系模型;

(5)--个或三个以上实体间的一个多元联系转换为一个关系模型;

(6)同一实体集的实体间的联系,可以按照一对一、一对多、多对多三种情 况分别处理;

(7)具有相同码的关系模型可合并。3.1.3系统的E.R模型

教务管理系统中对于学生信息管理、选课管理以及成绩管理的相关功能在第 一章的需求分析和建模中也做了详细说明。这几个子系统中所涉及到的角色主 要是教务管理人员、教师和学生。实体主要有学生、教师、课表、成绩、教学 计划5个,具体的E.R模型如下列各图所示。图3.1教务系统E.R图图3-2学生选课成绩管理E-R图

图3.3学生选课E.R图

3.1.4数据库表建立

图3.3学生选课E.R图

教务管理系统数据库表数量很多,在这里仅列出具有代表性的几个重要模块 中的数据库表。

表3.1用户登录信息表

表3-2学生基本信息表

表3.3课程信息表

表3.4成绩信息表表3.5教材信息表表3-6教师信息表表3.7科研信息表表3.8评教信息表表3-9工作量统计表

表3—10教学计划信息表3.1.5数据完整性设计

数据的完整性是指存储在数据库中的数据的正确性和可靠性,它是衡量数据 库中数据质量好坏的一种标准。满足数据完整性要求的数据应具有以下特点:

>数据类型准确无误

≯数据的值满足范围设置 >同一表格数据之间不存在冲突 >多个表格数据之间不存在冲突 数据完整性可以分为以下四类:

(1)实体完整性(Entity Integrity):实体完整性的目的是确保数据库中所有实 体的唯一性,也就是不应使用完全相同的数据记录。可以通过设定主键、唯一 键、唯一索引等多种方法来实现实体完整性,其中最常用的是使用主键。如,本文中的学生信息表,学生的学号是唯一的值,是学生信息表的主键。(2)区域完整性(Domain Integrity):区域完整性是要求数据表中的数据位于 某一个特定的允许范围内。可以使用默认值(Default)、核查(Check)、外键、数据类型和规则(Rule)等多种方法来实现区域完整性。如,限制“sex”性别 字段的数据值可以是“F”或“M",那么,输入的其他数值将被SQL Server拒

绝。

(3)参考完整性(Referemial Integrity):参考完整性是用来维护相关数据表之 间数据一致性的手段,通过实现参考完整性,可以避免因一个数据表的记录改 变而造成另一个数据表内的数据编程无效的值‘221。可利用外键、触发器和存储 过程来实现。如,在教师数据表和工作量数据表中,如果要删除教师数据表中 的一条记录,而同时在工作量数据表中存在需要参考该记录的记录集,那么该 删除操作将会失败。

(4)用户定义完整性:这种数据完整性由用户根据实际应用中的需要自行定 义。可以用来实现用户定义完整性的方法有:规则、触发器、存储过程和数据 表创建时可以使用的所有约束。

通过使用这些强制的完整性定义,数据库管理系统将提供更可靠的数据,同 时避免在多个用户同时操作数据库时可能发生的数据不一致。3.1.6数据库表的实现

经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。接下来

要在SQL Server 2000数据库系统中实现该逻辑结构。利用SQL Server 2000的

SQL查询分析器实现。下面是创建表格的SQL语句,由于篇幅原因,只列出部 分语句。

(1)创建系统用户表格Admin CREATE TABLE[dbo].[Admin](【usedd】【int]NOT NULL,【pwd][varchar](20)COLLATE Chinese—PRC—CI—AS NULL,[group]【char](5)COLLATE Chinese—PRC—CI—AS NULL)ON[PRIMARY】

(2)创建学生基本信息表格Student~Info CREATE TABLE【dbo].【Student_lnfo】([stuid】[int]NOT NULL,【stuname]【varchar】(1 O)COLLATE Chinese—PRC—Cl—AS NULL,[Sex】[char](4)COLLATE Chinese~PRC—CI—AS NULL,【age】[tinyint】NULL,【studepartment】[int](4)COLLATE Chinese—PRC—CI—AS NULL,[stucid】[int](4)COLLATE Chinese_PRC CI_AS NULL,【smgid】[int](4)COLLATE Chinese—PRC—CI—AS NULL,[birthday】[datetime]NULL,【address][varchar](50)COLLATE Chinese—PRC—C1一AS NULL,[phone][varchar](12)COLLATE Chinese—PRC—CI—AS NULL,[Jiguan】[varchar](1 o)COLLATE Chinese._PRC_CI_AS NULL)ON[PRIMARY](3)课程信息表格Course—Info CREATE TABLE[dbo].【Course_Info]([cid]【int](4)NOT NULL,[cname][varchar](30)COLLATE Chinese—PRC—CI—AS NULL,【ctypeid】【int](4)COLLATE Chinese—PRC CI_AS NULL 【clong][int](4)COLLATE Chinese—PRC—CI—AS NULL)ON[PRIMARY](4)成绩信息表格Score—Info CREATE TABLE【dbo].【Score_Info】(【stuid】【int]NOT NULL,【cid】【int】(4)COLLATE Chinese_PRC CI AS NOT NULL,【score】【smallint】NULL [restudy】【char](2)COLLATE Chinese—PRC—CI—AS NOT NULL)ON[PRIMARY】

(5)教材信息表格Book—Info CREATE TABLE[dbo].【Book._Info】(【bid】【varchar](1 5)COLLATE Chinese—PRC—CI—AS NOT NULL,[bname】【varchar](30)COLLATE Chinese—PRC—CI—AS NULL,【bwriter】【varchar]O o)COLLATE Chinese—PRC—CI—AS NULL,【bpublishl[varchar】(30)COLLATE Chinese—PRC—CI—AS NULL,【bci】【int](4)COLLATE Chinese—PRC_CI_AS NULL,【bcoum】【int】(4)COLLATE Chinese—PRC—CLAS NULL,)ON[PRIMARY】

(其他表格创建略)3.1.7存储过程的设计

存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工

作容易得多。存储过程是SQL语句和可选控制流语句的预编译集合,以—介名

称存储并作为一个单元处理【23】。存储过程存储在数据库内,可由应用程序通过 一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能。Admin表相关存储过程。对Admin表进行的操作有,增加管理员(或用户)、验证管理员(或用户)、删除管理员(或用户)、修改管理员(或用户)权限、修改管理员(或用户)密码、得到所有管理员(或用户)、通过用户名查找管理 员(或用户)信息等等若干操作。由于篇幅原因,我们只列举部分的设计思路

和方法。

(1)增加管理员。在系统中系统管理员有权限添加管理员,建立存储过程在 Admin表中添加管理员,用户名为参数@usefid,用户密码为参数@pwd,用户 权限为参数@group。SQL脚本:

CREATE PROCEDUREjw_addadmin@usefid int(4),@pwd varchar(20),@group varchar(5)as insert into Admin values(@usefid int,@pwd,@group,0,”,”)90(2)验证管理员。添加管理员时,需要验证管理员是否已存在,通过选择Admin 表中是否有同名管理员用户来验证,查询条件为从Admin表中得到userid字段 等于参数@userid的数据,如果所得数据集为零说明管理员名不冲突,大于零时 说明已存在此管理员。

SQL脚本:

CREATE PROCEDUREjw_addadminvalidate@userid int(4)AS select事from Admin where userid=@userid go(3)得到管理员相关信息。当登录管理后台时,系统需得到管理员信息,以 验证管理员权限和是否有权利登录,验证管理员主要是通过用户名和密码来匹 配管理员信息,如果数据为空说明不存在此用户或密码错误,数据不为空则此

用户存在,得到管理员信息。SQL脚本:

CREATE PROCEDURE jw_getinfo@usedd int(4),@pwd varchar(20)AS select事劬m AdmiIl where usedd=@userid and pwd:@pwd 90(4)通过用户名查找管理员信息。在系统中,需得到管理员信息,即在Admin 表中得到userid字段等于参数@userid的数据。SQL脚本:

CREATE PROCEDUREjw_seladminbyuserid@userid int(4)AS select幸from Admin where userid=@:userid 90 463.2类设计

本系统是以面向对象设计思想为基础的,需求分析是用UML进行建模,因 此在模型基础上就可以进行类设计。

根据概要设计中的各个模块图,可以发现,每个子系统在对于数据库的操作 时都存在一些共同的行为,如添加、更新、搜索等,根据面向对象的封装特性,可以将这些行为封装成组件。同样,对于一些非数据库的操作,例如在教务管 理子系统中有工作量的计算,这样的操作也可以封装成类,使用设计模式使得 程序更加灵活、易于修改,并且易于复用。准确的说,就是让业务逻辑与界面 逻辑分开。

数据访问层类设计:数据访问层负责链接到数据源,构建类型化数据集,然 后该数据集从对象的方法中返回【22】。

建立一个数据访问组件visitjwdata,可以创建这个类的实例来使用。它的每 一个实例都是到数据源的一个链接。可以为每一个数据表定义一个这样的实例。该组件包括了三个方法,getdata引用数据集;deldata从后台数据源中删除数据 集;updatedata将数据集的变化添加到后台数据源中。类图如图3.4所示。

图3.4数据访问组件visitjwdata 另外,将数据库中的表格看做是对象,字段就是该对象的属性。数据库记录 就是一个实例化对象。

在第一章的静态建模中,我们分析系统中的主要类,并作出类图,根据静态 结构建模中创建的类,VB.NET语言实现。

3.3模块设计

第一章动态行为模型中的序列图和协作图对系统设计有很重要的帮助。序列 图是模块通信流程的一种抽象表示,从序列图中很容易看出各个对象之间承上 启下的关系,因为序列图主要是以时间作为单独的维来表示的。协作图和序列 图有着密切的关联,它是序列图的另一种表现形式,是通过协作角色来限定协 作中的对象或链。虽然它们的表示方法不同,但可以在Rational Rose中通过适 当的方式相互转换。

由于静态结构模型属于系统分析,动态行为模型属于系统设计,因此在这一 章里,我们就以第一章详细的建模为基础,不在对详细设计作过多的论述。在 模块设计中我们采用流程图来表达模块的算法,这里只列出几个代表性的模块。(1)登录模块

与数据库中的Admin表格关联,检查用户id字段和12令字段,结合SQL语 句实现。流程如图3.5所示(2)选课模块

根据登录的学生身份读取学生信息数据库表的院系、专业和班级字段值,通 过这些信息显示选课界面中相关的课程,并在学生提交自己的选课后,判断所 选课程是否符合要求,一方面选课总数限制,另一方面选择的课程为选满。流

程如图3-6所示 .5登录流程图

(3)教材管理模块

与数据库表教材信息表关联。教师在选用教材时,首先查询数据库中是否有 合适的教材,若没有则填写教材征订表提交给教材管理人员,由教材管理人员 进行课本的采集。

书本的出库业务流程如图3.7所示。

3图3-6选课流程图

图3.7出库业务流程图

4系统的实现

本系统在开发工具上,选择了Visual Studio.NET 2005。Visual Studio.NET是 一套完整的开发工具,用于生成ASP.NET Web应用程序、XML Web services、桌面应用程序和移动应用程序1241。Visual Basic.NET、Visual C++.NET、Visual C群.NET和Visual J撑.NET全都使用相同的集成开发环境(IDE),该环境允许

它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NET Framework的功能,此框架提供对简化ASENET Web应用程序和XML Web services开发的关键技术的访问。

Visual Studio.NET是用于快速生成企业级ASENET Web应用程序和高性

能桌面应用程序的工具。Visual Studio支持Microsott.NET Framework,该框架 提供公共语言运行库和统一编程类。公共语言运行库是.NET框架的基础。运行 库可以看作一个在执行时管理代码的代理,提供核心服务,而且还强制实施严 格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性【25】。以运行 库为目标的代码称为托管代码,而不以运行库为目标的代码成为非托管代码。类库是一个综合性的面向对象的可重用类型集合,用户可以用它开发包含从传 统的命令行或图形用户界面应用程序到基于最新的ASP.NET技术在内的应用 程序【25】。在数据库的开发上,本文论述的系统将采用Microsoft SQL Server2000作为 系统的DBMS支撑,SQL Server2000是能够支持企业级关系型数据库的管理系 统,它能与Windows操作系统紧密集成,具有方便易用的图形管理界面,其用 户界面风格与Windows一样非常友好1261。SQL Server2000在存储大容量数据方 面,在数据的安全性和完整性方面,在分布式处理等都是适合于企业级应用的。而其相对Oracle,DB/2等大型数据库来说,学习更为容易,应用成本也相对较 低。采用SQL Server2000 4-ASP.Net开发本系统是一个较为理想的组合。

4.1登录模块

在用户登录界面中,最关键的问题是用户的验证,在这里可以将用户的验证 独立成一个模块。在该系统中,将用户分为几种不同的权限,每一种权限的用 户所面对的用户操作界面是不同,系统所提供的功能也是不同的,因此在数据 库中等门添加用户权限的字段,为的就是在用户登录时,比对数据表中的权限 值来判断是何种用户,从而展现给用户不同的操作界面。

实现思想:根据用户名即usefid字段和用户密码即pwd字段是否符合数据 库中的数据来决定该用户是否为已注册用户,如果不一致则有两种可能:一是 该用户的用户名或密码输入错误,二是该用户可能是未注册用户,数据库中还 没有该用户的信息。遇到这两种情况中的一种,都要弹出提示,指示用户要么 重新输入用户名和密码,重新登录;要么就要进行信息注册。若用户的名和密 码与数据库中数据相符,则进行下一步判断,验证同一条记录的另一个字段即 group权限字段,根据权限字段的值决定显示何种操作界面。如图4一l所示。

图4—1教务管理系统登录页面

这一模块中有一个功能“注册”功能,选择“注册”后,会出现一个注册页 面,这一页面中有多个表单输入框,用户在进行输入后,表单提交到Web服务 器端时,要验证表单字段的合法性,在这里使用ASENET的验证控件.这样可 以防止用户向数据库表提交错误类型的数据。验证控件会在客户端(浏览器)和服务器端都默认执行验证。从用户角度看,这一功能非常好,因为无论何时 把一个无效的值输入表单字段都能立即得到反馈。

每个验证控件都包含一个lsValid属性,如果验证过程中未发现错误,这个 属性将会返回True值。如果页面中所有的验证控件的lsValid都返回True,那 么Page.IsValid属性就是True。因此模块代码中通过检查Page.IsValid属性判断 是否将表单值填入数据库表。图4.2所示为注册页面中添加了验证控件的效果。

图4-2验证控件

4.2教师功能模块

教师登录系统成功后能够执行的操作,共有4个主要菜单,成绩录入、信息 维护、信息查询和选课(自然班)名单打印。(1)基本信息管理

主要功能是输入教师的一些基本信息,供教务部门查阅和调用。其中有一些 档案中的基本信息,是直接从数据库中读取的,不能随意更改,另外一些不重 要的信息由教师选择是否添加和更新。这里也是使用了表单验证控件防止非法 的数据写入数据库当中。图4.3是教师基本信息管理的页面。(2)信息查询

主要完成教师对自己工作上的一些信息的浏览。如本学期课表、教学计划、选课情况、教学质量信息等。(3)成绩录入

主要功能是对本学期教学班成绩的输入,每个学期学校教务部门对每门课程 每教学班下发专门的成绩录入密码,教师获得密码后登录成绩,然后使用密码 提交,提交后不能再修改。(4)选课(自然班)名单打印

选择该菜单后进入如图4-4所示界面。在这一页面中,根据教师选择的学年 学期以及教师所教授的课程名,弹出符合选择条件的学生班级人员列表。也可 以在班级选择栏中,找到要查找的班级列出班级列表。

图4-3教师基本信息管理界面

图4-4教师所教班级学生名单

每个学期的学期未,教务处会开放选课功能,并规定学生在限定的时间内进 行网上选课。在指定的时间内,学生可以多次进行网上选课。选课的条件有:

(1)选修课程数的限定:根据每学年的培养计划,设簧不同年级的限选门数。(2)选修年级的限定:不同的年级学生在登录选课模块后,查看到的所选课 程名称是不同的,某些课程只面向固定的年级。

(3)选修人数的限定:每个选修课程可以设置最大选课人数,并可咀选择选 课人数满时的解决办法,如禁选,或者允许继续选择,当选课结束时由教务人 员筛选。

(4)选修名单已经确定,或者被管理员设置禁选的课程,在选课时间范围内 只接受己选中的学生退选要求。

设计思路:学生登录后,根据学生的身份,及判断学生过去的选修记录来显 示该学生的选课界面,首先从课程信息表中找到课程类型(ctypeid字段)为选 修课的这类课程,并且满足crime字段的值为本学期.这样的课程以表格形式 显示;其次,对显示的每--1]课程添加复选框,允许学生选中或者退选。复选 框checked属性若为True,说明被选中,否则未被选中。在接到学生提交的选 课信息时,检查学生的选择是否有效,即判断学生的选课总数是否超出该年级 的限选门数,并判断选课人数是否超出限选人数,也就是判断该课是否设为满 即禁选。如果满足以上条件,将本次选课记录写入数据库中。在本功能模块中,还存在一种校验功能.检查学生所选课程是否时间矛盾,如果矛盾则及时通知 学生,以便重新选课.图4-5学生选课界面

4.4教学计划管理模块

教学计划是根据每个专业制定的学生培养计划和教学课程大纲而延伸出来 的与课程安排、教师排课、成绩等信息有着密切关系的文件,是教务管理的核

心内容。

教学计划中每学期的所教授的课程明细是由教务管理人员根据学生培养计 划和教学课程大纲列出,然后送达各个院系。由学院的教研室主任根据各个教 师的实际情况分配教学任务。然后将教学任务返回教务处。教师在接到教学任 务后,根据教学课程大纲中的教学要求,详细写出自己课程的教学授课计划,并从教务管理系统输入,这样教务处和学生都能看到了。

教学计划分成了两大部分,教务处制定的总的计划和教师制定的课程详细计 划,这些都可以通过网络向全校人员公布。

在教学计划管理页面上,有些信息是教务管理人员在后台输入的,是教师不 能修改的,这部分信息就是教务处制定的总的计划。教师指定的课程详细计划 是可以由教师修改添加的。如图4-6和4.7所示,为教务计划页面的部分截图。

图4-6由后台输入不能修改的信息

2.基于ASP的学生信息管理系统的设计与实现 篇二

高校学生信息管理是高校教育教学管理的基础工作,而良好的学生信息管理系统则是整个学生信息管理工作质量和效率的重要保证。传统的高校学生信息管理系统由于受到先前管理环境、技术水平等诸多因素的影响,存在功能单一、响应速度慢、交互性弱、信息共享难以及严重的“信息孤岛”等问题。为寻求问题的解决方案,分析了当前学生信息管理的特点,应用现今已成为主流开发平台之一的ASP.NET2.0技术,通过与SQLServer 2000数据库技术的有机结合,开发了一套功能较为完整、性能优异的学生信息管理系统。系统采用C/S与B/S混合模式,对系统中信息的查询、浏览(尤其是异地查询浏览)、小规模数据录入等采用B/S模式,客户端只要能上网即可以操作软件。而灵活创建报表等灵活开放的功能,以及涉及一些复杂流程的功能则适合采用C/S结构,客户端功能比较强、安全系数也高。

一、系统设计与实现

1. 系统功能分析。

当用户进入系统主界面后,就可以对如图1所示的各模块进行操作。用户可以通过搜索引擎模块快速地查询到符合条件的学生信息。当管理员登录系统后,可以对学生的信息和班级的信息进行管理操作。用户可以通过留言簿模块发布和浏览用户的留言信息。在学生详细信息资料模块中,用户可以浏览到此学生的详细信息。在每月测评列表模块,可以查看每月学生测评详细的信息。

2. 系统功能模块划分。

根据系统功能的描述,划分为搜索引擎、信息管理、留言簿、学生基础资料列表和每月之星列表模块五个部分。

(1)搜索引擎模块在学生信息管理系统中,共在两处应用了搜索引擎,第一处是在首页中添加了搜索引擎,此处没有权限设置,所有用户皆可使用此搜索引擎查询学生的基础信息。第二处搜索引擎是在学生信息管理界面中,此搜索引擎需要管理者登录后才可以使用。

(2)信息管理模块。信息管理模块需要管理员登录后才可以实现操作,内容包括学生信息管理和班级信息管理。

学生信息管理模块必须在用户登录后操作。学生信息管理模块分为:学生信息的录入、学生信息的修改和学生信息的删除三个部分,各部分的详细内容如下:

学生信息的录入:录入学生的学号、姓名、性别、出生年月、联系方式等信息。当一个学生的信息录入完毕并提交数据库后,会自动进入下一个学生信息的录入界面,并且学号自动加一,这样可以减少信息录入人员的工作,也减少了错误的发生。数据提交时,若学号与数据库中的记录有重复,则不能完成数据提交。

学生信息的修改:若要修改学生信息,首先要使用查询功能查询出要修改的数据,然后对其中的信息进行修改,但学号信息不允许修改。

学生信息的删除:首先查询出符合条件的学生信息,然后进行删除操作。

班级信息管理模块可以对班级的信息进行添加或删除操作。班级信息的改变会直接影响学生信息查询的结果,此模块必须由合法用户登录才可以进行操作。

(3)留言簿模块。留言簿模块不同于论坛系统提供的发表意见的场所,它只是一个留言簿,所有用户可以在此发言,所以不需要用户登录即可发表留言信息。

(4)学生基础资料列表模块。此模块显示在系统首页中,可以浏览到学生的姓名、班级、职务、电话和E-mail信息。可通过单击某个学生的姓名链接浏览此学生的详细信息。

3. 数据库设计与实现。

学生信息管理系统应用的是SQL Server 2000数据库管理系统。此系统使用的数据库名称为student。该系统中共需要创建三个数据表:学生信息表、班级信息表、留言簿信息表。在这三个表中分别存放了学生信息、班级信息和留言信息的数据。

(1)班级信息表Class,此表包括两个字段:一个是班级标志字段Class_id,该字段为表Class的主键;另一个是班级的名称Class字段,数据类型为Var Char,详细描述(如表1所示):

(2)学生信息表Stu,此表包括的字段较多,其中Student_id为主键,字段Stu_level用来区分用户的权限,详细描述(如表2所示):(3)留言簿信息表Info,此表中存放了留言簿中的所有数据,所有字段(如表3所示):

4. 系统模块的设计与实现

(1)通用类文件(CCUtility.cs)。

在CCUtility.cs类文件中,建立了一系列的数据操作,如连接数据库、获取数据、绑定数据、关闭连接等。而且,在该类中还包括许多系统中使用到的通用函数、过程,代码的重要性很高。

首先定义一个数据连接的全局变量,然后建立一个Data Set数据集,最后用Sql Data Adapter方法与数据库建立了数据连接。

在Web.config文件中定义数据库的连接,在此用Configuration Settings.App Settings方法获取数据库连接的字符串。此处的字符串Sql Connection要与文件中定义的字符串相同。打开数据库连接的关键代码如下。

用Close方法断开与数据库的连接,关闭数据库连接的应用的关键代码如下。

在Session["User ID"]中存放着用户的ID信息。当用户的身份不确定时,将返回一个false值,并取消用户的操作。对用户身份进行验证的代码如下。

(2)Default主页面的实现。

在Default页面中,主要处理窗体的事件,如“登录”按钮、查询“提交”按钮事件,并且对学生信息进行了显示和搜索、对用户的登录身份进行验证、控制其管理权限等。

装载与关闭页面时执行的事件关键代码如下。在Page_Load中,是页面装载时所发生的事件,并与CCUtility类文件进行链接。在Page_Unload事件中,关闭了与CCUtility类的链接,并与数据库断开连接。

将班级信息取出,并将此信息添加到搜索引擎模块中的“班级”下拉列表控件中,实现了下拉列表控件中数据的动态显示,关键代码如下。

实现搜索引擎模块的查询提交过程关键代码如下:

“每月之星”显示模块的关键代码如下。首先定义最多显示20个每月之星的信息,然后将符合条件的学生信息取出,并将数据与控件绑定。

(3)班级管理模块实现。

在班级管理模块中,包括班级管理入口页面和编辑页面。在入口页面中显示了班级的信息以及“编辑”、“添加新班级”的链接,单击这些链接可进入编辑页面。在编辑页面中,可对班级的信息进行添加、修改、删除。

Class.aspx是班级管理的入口界面,在此界面中显示了班级信息以及“编辑”、“创建新数据”的链接,单击链接可进入编辑界面。在后台应用程序Class.aspx.cs中,定义了入口页面的事件,并初始化了页面的班级信息,定义了窗口中控件事件处理过程以及整体显示页面的关键代码如下。

下面代码定义一个按钮事件,在此事件中将页面跳转到班级信息编辑页面中。

在班级信息编辑后台应用程序classedit.aspx.cs中,声明了界面中的各种控件名称、设置控件是否显示、添加各个控件的事件,如添加数据事件、修改数据事件、删除数据事件,部分代码如下。

(4)学生信息管理模块。

在学生信息管理模块中,包括学生管理入口页面student.aspx和编辑页面studentedit.aspx。在此入口页面中,显示了学生的信息以及“编辑”、“添加学生”的链接,单击这些链接,可以进入编辑页面。在编辑页面中,可对学生的信息进行添加、修改、删除的操作。

studentedit.aspx.cs为学生信息编辑页面的后台程序,其代码与班级信息管理相似。在学生管理入口页面的后台应用程序student.aspx.cs中,最重要的应用是学生信息的查询以及学生信息的显示,部分代码如下。

下面的程序定义了查询事件,并将符合查询条件的数据取出。

二、系统实现

本文对高校学生信息管理系统进行了详细的需求分析,基于B/S和C/S相结合的架构,完成了对高校学生信息管理系统的设计,实现了基本信息管理模块、留言簿模块、基本信息查询模块等功能。

摘要:设计并实现基于ASP.NET的学生信息管理系统,详细阐述了系统的设计思想,完成系统功能模块的划分和后台数据库的设计。实现各个模块的具体功能,包括信息管理模块、留言簿模块、基本信息查询模块等,并增加了多角色、多用户管理的功能。

关键词:学生,信息管理系统,数据库技术,ASP.NET技术

参考文献

[1]飞思科技产品研发中心.ASP&SQL Server网站设计与实现[M].北京:电子工业出版社,2007:15-146.

[2]周学泳,等.ASP+SQL SERVER开发网上商店[M].北京:人民邮电出版社,2006:6-56.

[3]贾佳,郝洪明.ASP与SQL Server网站架设[M].北京:机械工业出版社,200582-84.

[4]吕少华,边宇.Web数据库开发与应用[M].北京:科学出版社,2007:80-126.

[5]资讯教育小组.ASP与SQL网站数据库程序设计[M].北京:科学出版社,2006.

[6]李晓黎,张巍.ASP+SQL Server网络应用系统开发与实例[M].北京:人民邮电出版社,2006.

[7]Scott Mitchell,李际.ASP.NET入门经典[M].北京:人民邮电出版社,2007.

[8]陈冠军.精通ASP.NET典型模块设计与实现[M].北京:人民邮电出版社,2007:5-76.

3.基于ASP的学生信息管理系统的设计与实现 篇三

【关键词】学生考勤管理系统;ASP.NET

随着计算机以及网络技术的普及,越来越多的院校开设了各类计算机课程以满足学生的需求[1-2]。众所周知,计算机专业课程是一类技术性很强的课程,需进行大量的实践课程(上机实践),学生基本信息、班级基本信息等急需一种更为智能化,简单化和安全化的考勤管理工具,本文的考勤管理系统能够比较灵活地根据教师需求查询学生考勤、编辑学生信息、编辑考勤信息和打印考勤情况。

1.开发平台 ASP.NET概述

在系统的开发上,采取目前比较流行的ASP.NET服务器端脚本编程环境。它是建立在.NET Frame之上,使用Visual Basic、C++这样模块化程序设计语言,并且它要第一次使用时进行编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率比ASP提高很多。同时它还具有代码的可重用性、可维护性和代码量相对较少等诸多优点。ASP.NET不仅仅是下一版本的Active Server Page (ASP);它是统一的Web开发平台,用来提供开发人员快速生成企业级Web应用程序,所需的服务ASP. NET的语法在很大程度上与ASP兼容。由于ASP本身的局限性使得系统有一些不可克服的缺陷,而采取了ASP.NET技术的系统性能上有了很大的改善:(1)ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或WEB应用程序重新启动,极大提升多次访问时的速度;(2)ASP.NET通过ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系;(3)ASP.NET采取“code-behind”方式编写代码使得代码易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。同时它还提供一种新的编程模型和结构,用于生成更安全,可伸缩和稳定的应用程序。

2.学生考勤管理系统的系统设计

2.1数据模型设计

(1)登陆模块的数据流程:管理员在ASP.NET生成的界面输入登陆信息,然后点击〔登陆〕按钮,由服务器端程序向数据库发出验证请求,数据库返回验证结果,由服务器端程序生成验证结果消息框。

(2)添加管理员模块的数据流程:高级管理员在ASP.NET生成的界面输入所要添加管理员的信息(用户名,密码,确认密码),然后点击〔确定〕按钮由服务器端程序向数据库发出验证请求,数据库返回添加结果,由服务器端程序生成添加结果消息框。

(3)操作管理模块的数据流程

①添加用户模块的数据流程。

②删除用户模块的数据流程。

③修改用户密码模块的数据流程。

(4)查看当前上机状态模块的数据流程:学生在客户端输入上机信息 (学号,密码)单击[确认]按钮后登陆客户端,客户端将用户信息通过服务器端存储至数据库Online表中,当管理员单击查看当前上机状况模块按钮时由服务器端程序向数据库发出查看Online请求,数据库返回Online表值(当前在线用户信息),由服务器端程序生成上机状况结果消息框。

(5)日志管理模块的数据流程:

①查看管理员日志模块的数据流程:所有系统管理口志在管理员操作时已经通过服务端程序存储至数据库中的Manage log表中,管理员单击管理员日志按钮,由服务器端程序向数据库发出查看管理员日志请求,数据库返回Manage log表中的值,由服务端程序生成日志消息框。

②查看用户日志模块的数据流程:所有用户操作日志在用户登陆客户端时已经由客户端通过服务端程序存储至数据库中的User log表中,管理员单击用户日志按钮,由服务器端程序向数据库发出查看用户日志请求,数据库返回User log表中的值,由服务端程序生成日志消息框。

2.2数据库设计

(1)上机用户表(student表):用户表是客户端用户上机登陆的时候所用到的表,主要记录用户登陆名,密码,姓名,班级,此表以用户名作为主键,同时也是外键,通过这个字段与其他关联表进行通信。

(2)管理员表(teacher表):管理员表是管理员登陆服务器端主系统所要用到的表,主要记录管理员用户名和登陆密码,此表以管理员用户名作为主键,同时也是外键,通过这个字段与其他关联表进行通信。

(3)在线用户信息表(Online):在线用户信息表是显示当前在线上机用户信息的表,此表以上机用户的用户名为主键,同时也是外键,通过这个字段与其他关联表进行通信。

(4)管理员日志信息表(managelog表):显示记录管理员所进行的所有操作的表,此表以管理员用户名为主键,同时也是外键,通过这个字段与其他关联表进行通信。

(5)用户日志信息表(userlog表):用户日志信息表是显示记录用户所进行的所有操作的表,此表以上机用户用户名为主键,同时也是外键,通过这个字段与其他关联表进行通信。如表2所示,描述了userlog表的详细信息。

3.系统实现

3.1数据库操作的实现

在服务器端主程序中定义了一个DataConn类,在这个类中构造了execute()方法和getData()。当用户触发了向数据库存储(删除,更新)信息的事件模块时,那么这个事件就会调execute()方法,该方法会请求与数据库连接,若连接成功execute()方法会向数据库存储(删除,更新)相应的数据。当用户出发了向数据库查询信息的事件模块时,该事件会调用getData()方法向数据库发出查询数据请求,数据库会返回所要查询的数据或存储结构。

3.2.登陆模块的实现

管理员登录的页面提供两个文本输入框(分别用于用户名和密码的输入),一个登陆按钮,一个取消登陆按钮,当用户输入用户名和密码,点击登陆按钮时,事件发生的顺序如下:

(1)首先该事件会调用UserExist(),该方法首先通过调用DataConn类中的getData()向数据库查询所输入的用户名是否存在,如果存在那么密码是否相等,如果用户名不存在,则UserExist()方法返回值为-1,若用户名存在但返回密码与输入密码不相等UserExist()方法返回值为0,若用户名和密码均一致那么UserExist()方法返回值为1。

(2)若UserExist()方法返回值为-1,登陆模块程序会向用户发出不存在该用户的消息框。

(3)若UserExist()方法返回值为0,登陆模块程序会向用户发出密码不正确的消息框。

(4)若UserExist()方法返回值为1,系统会告知用户登陆成功,用户直接进入系统主操作界面。

【参考文献】

[1]梅中辉,经亚枝..NET技术中的数据访问技术—ADO.NET[J].微计算机信息,2003,19(1):47-48.

4.基于ASP的学生信息管理系统的设计与实现 篇四

基于ASP网上军事论坛的设计与实现

.1本课题的研究任务及要求

1.1主要任务

综合运用以前所学的专业知识,设计开发一个简易网上军事论坛系统软件,本设计要求实现基本功能——发帖及回帖,这是论坛的核心功能;在设计与开发中,重点关注各种用户的权限——这是论坛设计的关键,探讨论坛系统中三种用户(管理员、会员、游客)各自具有的权限及相应可以实现的功能。

1.2相关要求

(1)本系统的开发要求采用B/S结构,选用所熟悉的开发工具(DreamweaverMX 2004)及开发环境(IIS 5.0)进行本系统的设计与开发。

(2)本毕业设计要求提供网上军事论坛系统所开发实现的软件,要求软件具有操作简便、界面友好等特性。

1.3本课题研究的意义

网上论坛作为互联网中运用最为广泛的通信工具之一,如今都已被广大网民接受,它的主要服务是用来帮助浏览者相互沟通,吸引用户、服务用户的。论坛发展到现在已经具有了很多功能:用户注册、浏览论坛版面和帖子、发布自己的帖子、相互留言、回复别人的主题、也可以修改自己的帖子等等这些基本功能,也有帖子评价、论坛收藏、帖子搜索、帖子移动、数据备份、非法言论过滤、非法IP的限制等比较复杂的功能。本毕业设计选择网上军事论坛系统,除了综合运用以前所学知识的能力,同时也可以了解当今网络通讯的一些新技术,并模拟开发简易网上论坛系统软件;锻炼实际动手能力,对于以后工作能力的培养具有重要的意义。

1.4本课题的研究方法

本系统的开发要求采用B/S结构,模拟网上论坛系统软件进行设计与开发。因此,本次毕业设计应首先分析论坛系统软件的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括ASP、网络数据库及网页制作相关知识等),选择Dreamweaver MX 2004开发工具进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文档,为后面的毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和试运行,做好调试和试运行的相关记录,也为后面的毕业论文的写作准备材料。

1.5运行环境

ASP是一种服务器端执行的脚本语言,因此在开发、测试ASP应用程序之前,首先必须安装、配置服务器。其中,服务器分为两种,一种是WEB服务器,本系统选用IIS 5.0安装到Windows XP或者Windows2000 Server操作系统中(最好在Windows XP上,其性能相对较好);一种是数据库服务器,采用Access2000;另外,本系统采用基于对象(Object Base)和事件驱动(Event Driver)的JavaScript脚本语言以及最为常用的VBScript脚本语言混合使用。特别说明:在运行本系统之前,将本系统的所有文件拷贝到C:Inetpubwwwroot下。总体设计

2.1需求分析

本论坛系统主要针对游客、会员、(文章)主题、帖子、留言、公告信息、管理人员等对象进行操作,并得出一个简洁的列表,如下:

 会员:经过注册论坛的使用人员,具有某些权限。

 主题:论坛中发表某个观点及相应内容。

 帖子:论坛中单个观点的讨论。

 留言:论坛中用户之间相互联系。

 公告信息:供所有用户浏览的信息。

 管理员:为论坛服务的人员,系统预先设定。

 游客:未经注册论坛的人员,只能浏览、查看,进行某些操作时要求进行注册。

现在这个列表,就是论坛要为之服务的主要对象。但是这些对象不是孤立的,它们之间是有着密切联系的。现在通过进一步的分析来获得这些对象间的关联。3.2 文件内容介绍

(1)conn.inc:此文件属于公共文件,系统中绝大部分文件要用到这个包含文件,因为打开数据库连接与读取表记录的步骤是相同的。

(2)default1.asp:来访者选择不同的用户类型(游客、会员、管理员)进入论坛系统,并将用户的信息(账号、电子邮件、本次登录时间、IP地址、序列号、权限)存入currentuser表中。

(3)main.asp:成功进入论坛后,显示论坛规则说明,另外,本文件最主要的功能是记录来访时间,并更新网站流量统计,存入到counters表中。

(4)board.asp: 主界面的框架结构,划分为左部、顶部、底部三个区域,分别显示三个不同的网页,完成导航工作。

(5)userlist.asp:显示当前用户类型,并列出功能列表(所有成员信息、新文章列表、刷新讨论区、发表文章、发布公告、查看自己的留言、查看所有留言、网站流量统计、显示当前用户是第几位访客、退出系统)。

(6)list.asp: 显示当前时钟;显示滚动公告栏信息,点击”more>>”可以进入公告栏详细列表;显示文章主题信息(是否为新文章、讨论主题、发起人、创建时间、回复数、人气、文章内容大小),单击文章标题可以进入帖子列表。

(7)showcard: 显示日期与用户身份;显示主题信息(主题、发起人、发表时间、发表内容),可以发表新主题、回复、修改、删除;分页显示帖子信息(回复人、发表时间、回复内容、积分),可以发表新主题、删除、修改、评价。

(8)save.asp:发表新文章,输入的文章主题及文章内容不能为空,电子邮件及个人主页可以不填,但电子邮件必须按照电子邮件的格式填写。

(9)updatetopic.asp:修改主题文章的内容。

(10)deltopic.asp:删除文章主题,然后单击“刷新讨论区”,可以看到文章列表中选择删除的主题已经不存在了。

(11)announce.asp:发布公告,其中发布人及内容不能为空,电子邮件及个人主页可以不填,但电子邮件必须按照电子邮件的格式填写。

(12)count.asp:显示网站流量信息(昨日浏览总数、今日浏览总数、本月浏览总数、上月浏览总数、本站浏览总数、日平均浏览数)。

(13)Counter.txt:使用FileSystemObject对象的OpenTextFile方法打开文件,若不存在,则予以建立,它用来存放计数器数值,即第几位访客。

(14)delannounce.asp:删除公告信息,单击“确定删除”按钮,弹出“公告信息已经删除!”对话框,表示已经成功删除。

(15)delreply.asp: 删除回复信息,单击“确定删除”按钮,弹出“回复信息已经删除!”对话框,表示已经成功删除。

(16)evaluate.asp:对帖子进行评价打分,从0到3分,然后提交。

(17)guestinfo.asp:查看用户(管理员、会员)的详细信息(姓名、个人主页、已发表文章数、已读取文章数、在论坛总时间),并且可以写留言给查看的用户。

(18)logout.asp:退出系统,并记录退出时间,计算出该用户(会员、管理员)在论坛的总时间,并及时更新admin、everuser表。

(19)onclock.JS:这是一个函数文件,用来实现显示当前时间。

(20)reply.asp:回复文章主题,输入的文章主题及文章内容不能为空,电子邮件及个人主页可以不填,但电子邮件必须按照电子邮件的格式填写,单击“提交”按钮,弹出“你的回复文章已经成功粘至论坛!”对话框,表示已经回复成功。

(21)search.asp:搜索帖子,选择搜索类型(编号、主题、回复人),单击“搜索”按钮,如果找到匹配的帖子,则分页显示出有关帖子列表,如果找不到,则弹出对话框“对不起,没有找到您要搜索的帖子!”。

(22)sendMessage.asp:填写留言信息,其中姓名和留言不能为空,填写完毕后,单击“发送”按钮,弹出“您的留言已成功粘至论坛!”对话框,表示已经留言成功。

(23)showall.asp:只有管理员可以查看所有留言,并分页显示出来。

(24)showannounce.asp:分页显示公告栏信息,如果是管理员,可以对公告信息进行修改、删除。

(25)showdail.asp:显示新文章信息(标题、作者、发表时间、个人主页、文章内容),并可以立即回复。

(26)showinfo.asp:分页显示自己的留言信息(序号、内容、留言者、留言时间、E-Mail)。

(27)updateannounce.asp:修改公告信息。

5.基于ASP的学生信息管理系统的设计与实现 篇五

随着我国教育事业的不断发展,高校学生数量逐年增加,学校的规模也在不断扩大。无锡旅游商贸职业技术学校虽然是一所地方性民办高职院校,但随着学校的不断发展,在校生数量的不断攀升,这几年学校信息量不断膨胀,信息更新也越来越频繁,而传统的人工管理方式存在更新困难、存放困难、备份困难等缺陷与窘境。因此,设计与开发高校管理信息系统的重要性越来越明显。

1 ASP 技术研究

ASP 主要的功能是提供 ASP 开发者一个基于 MVC的网络应用程序开发框架,其框架的设计目标贯穿整个开发周期,从开发到发布。

包含整个维护的过程。其实,ASP 并不是一个全新的开放原始码框架,在 Struts1 公开多年之后,对于其架构的缺点以及检讨声浪不断,于是 Struts1 的开发社群与 Web work(另一个基于 ASP 的网络应用程序开发框架)社群进行整合,以 web work 框架为基础,整合优点,造就了目前的 ASP 框架。

ASP 帮人们处理了来自使用者的 HttpRequest 需求,及产生对应的 HttpResponse 回复,过程中只需要自定义 Struts.xml 配置文件来映射用户要求和对应用户的Action 以及响应用户的可视化试图,大大简化了繁复的网络服务 API 开发。

在 Action 处理 Request 之后,一些基本工作如数据验证、型态转换、档案上传等将可以利用 Interceptor 函数进行切割分离,并且可以自定义重复这些 API 方法来贯穿整个 Action.这种方式可以大幅缩短开发流程,提高开发效率。

ASP.NET 把 Windows 编程中的控件延伸到了 Web应用开发环境中,使程序员对 Web 应用的开发变得更加方便,强大的 ASP.NET 开发环境 Visual Studio 为ASP.NET 的开发提供了支持。

ASP 的工作原理主要分为两步:(1)可以将 ASP对象远程化,将服务器端的某个 ASP 组件(可以为业务组件或者业务实体组件)转换为 ASP 中的.对象,从而服务器端上的 ASP 代码也可以同样运行在客户端浏览器上;(2)ASP 将通过浏览器内的 XML HttpRequest 对象向其服务器端的后台程序进行调用,帮助其返回到客户端的浏览器上进行显示。

总之,ASP 就是一个可以帮助开发者简化 AJAX 技术应用环境的技术,它提供了一种能在 Web 浏览器端采用ASP 语言直接调用后台业务商业组件的解决方案。它还能动态生成 ASP 代码和隐藏 Http 协议的编程实现的细节。

2 系统开发设计

本系统按 Web 层、Service 层、DAO 层及 PO 进行分层。针对系统功能,根据模块分类设计了多个 Action类以及对应的 Service 类,系统的每一个功能对应于一个或者多个 Action 类,一个 Action 类对应一个或者多个方法,一个功能块对应一个 Service,Service 通过对DAO 组件的正面模式包装,完成对应模块所要求的业务逻辑。根据 Hibernate 特性,对应数据库表格生成 POJO类,每个表对应一个持久化对象该类封装了对应的数据表的属性值以及属性值 getter/setter 方法。在页面中大量采用 Struts2 的标签,使页面更加简洁,与后台的数据交互更加简单。

用户填好用户名和密码后,点击登录按钮。发送请求 login.action.请求发送的同时,将用户名和密码作为参数传递。

请求发送出去后,在 web.xml 里面所有以 .action 结尾的请求都会被映射到 Struts 的 Filer Dispatcher,FilerDispatcher 根据请求决定调用合适的 Action.

控制器 FilerDispatche 根据配置文件 struts.xml 声明,发现 login. Action 请求对应的是 user Action 这个Course,由于 Action 作为一个 Bean 是由 Spring 管理的,Spring 为 Action 注入服务。所以,根据 applicationContext-user 声明可知,请求最终是转发给 Com.delta.tms.user Manage.action.user Action.User Action 回 调 check Login 方 法, 该 方 法先获得用户传递的参数,然后调用了由 Spring 管理的Staff Service,进行逻辑操纵,根据用户名和密码查询数据库,获取对应的用户 staff bean 的实例。

Staff Service 用 Staff Service. check Login(finalStaff Bean staff Bean)方法访问数据库,该方法封装了Service 类封装 staffDA.该 DAO 调用 ?ndByExampl(estaffBean)方法,传入用户实例 staff Bean,取得了查询数据库后对应的 staff Bean 新的实例。

Staff Service 把取到的 staff Bean 对象返回给 userAction.Action 通过 staff Bean 对象是否为空判断数据库中是否有这个用户名,如果有用户名和密码又是否正确等问题,再根据结果返回对应的页面至前端。

通过对无锡旅游商贸职业技术学校学校管理业务的分析,将系统分为教学信息模块、学生信息模块、教师信息模块、系统管理模块及系统管理。无锡旅游商贸职业技术学校学校管理系统主要功能模块如图 1 所示。

3 学校管理系统的实现

本文在参考国内外开发学校管理系统的经验和先 进 技 术 的 基 础 上, 使 用 ASP 开 发 技 术, 以 SQLSERVER2008 为后台数据库,设计并实现了基于 B/S 模式的学校管理系统。

该页面主要是在学校管理中学分制维护和成绩维护的工作(如图 2 所示)。

本系统采用基于 B/S 构架,B/S 是业务架构平台体系中常用的平台体系,有着良好的操作界面和高效快捷的软件设计基础,能够把繁复的软件设计过程通过一些界面步骤的开发在平台上实现,通过熟悉学校办公各个环节流程,建立一个比较完善方便控制的办公系统,为管理软件设计和开发提供有效的导向和依据。

4 结 语

由于时间有限,对各个功能模块只是做了基本的设计与实现,同时发现了基于 B/S 的各类操作模式在系统中并未达到完全实现,如子流程的并选与互斥的处理、分布式的管理、效率评估等。因此,针对这些情况,还有比较多的工作需要做,这些都将是本系统下一步需要继续研究的课题。

参考文献

[1] 程不功 , 龙跃进 .ASP 动态网站开发教程 [M]. 北京:清华大学出版社 ,:152-156.

6.基于ASP的学生信息管理系统的设计与实现 篇六

基于AM/FM/GIS的燃气管线信息系统的设计与实现

针对燃气管线建设和维护的实际需求,综合应用AM/FM/GIS技术建立燃气管线系统,以行政区划和地形等基础数据为背景,实现了燃气管线信息的可视化管理,并对系统的架构、功能以及适用性进行了讨论,为管线的建设和维护提供了高效的`技术支持手段.应用结果表明AM/FM/GIS技术对燃气行业信息化建设具有重要的促进作用.

作 者:何敬 李永树 鲁恒 HE Jing LI Yong-shu LU Heng 作者单位:西南交通大学地理信息工程中心,四川,成都,610031刊 名:测绘英文刊名:SURVEYING AND MAPPING OF SICHUAN年,卷(期):32(4)分类号:P208关键词:AM/FM/GIS 燃气管线 信息管理

7.基于ASP的学生信息管理系统的设计与实现 篇七

超市作为当今国内销售商品最广、数量最多、人流最多的一种市场, 有种类繁多的商品信息和其他信息需要处理。随着超市商品的大量增加, 其管理难度也越来越大。由于超市商品种类繁多, 超市的采购环节就变得繁琐复杂。若要提高超市在市场上的竞争力, 超市采购环节的系统化, 智能化, 就成为了超市管理中的重中之重。传统的采购模式不能及时得出需采购的商品, 且不能够对供应商信息进行有效整合, 选出最适合的供应商进行供货。设计出超市采购管理信息系统有效的解决了这一问题, 并且能够及时得到库存情况, 向供应商发出采购订单, 供应商根据采购订单进行发货, 得出直观的最优的供应方案, 是非常有必要的。2.需求分析系统设计需要符合软件工程的思想, 在了解业务背景的前提下, 用相关技术体现自己的创造性和特色。主要实现的 (模块) 功能:

1、基本资料管理

(1) 商品资料管理:超市商品的维护功能。

(2) 供应商资料管理:对供应商进行添加、修改、删除操作的管理功能。

(3) 客户资料管理:对客户资料进行添加、修改、删除操作的管理功能。

(4) 业务员资料管理:对业务员资料进行维护。

(5) 仓库管理:各种商品分类存放, 实现仓库的管理功能。

2、采购管理功能

(1) 需采购商品汇总:根据库存量查询需要采购的商品信息。

(2) 供应商信息查询:查询可供货的供应商信息。

(3) 采购订单管理:采购订单的添加、修改、删除操作。

(4) 采购单管理:采购单的添加、修改、删除操作。

(5) 采购历史记录查询:对采购历史记录进行查询。

(6) 采购退货单管理:采购退货单的添加、修改、删除操作。

(7) 采购合同管理:采购合同的添加、修改、删除操作。

3、库存管理功能

(1) 商品信息管理:超市商品信息的添加、修改、删除、查询等操作。

(2) 入库单管理:对已采购的商品进行入库。

(3) 出库单管理:将商品进行出库操作。

(4) 库存预警:对库存不足的商品预警。

4、供应商发货管理功能

(1) 销售单管理:查询超市采购订单。

(2) 销售历史记录查询:对销售记录进行查询。

5、系统管理功能

(1) 用户管理:系统账号的添加、删除、修改操作。

(2) 权限管理:不同的权限登录后功能不同。

(3) 基本信息设置:商品、供应商等基本信息的设置。

3、总体设计

本系统的研究对象是超市采购管理信息系统, 主要实现的功能有:基本资料管理、采购管理、供应商发货管理、库存管理、系统管理, 该系统的功能模块图如下:

4. 数据库设计

超市采购管理信息系统主要是实现的仓库信息、客户信息、供应商信息、商品信息、库存信息、部门信息、用户信息的管理的功能, 通过上述系统功能分析, 超市采购管理信息系统总结出如下的需求信息: (1) 管理员对仓库信息进行管理; (2) 管理员对客户信息进行管理; (3) 管理员对供应商信息进行管理; (4) 管理员对商品信息进行管理; (5) 管理员对库存信息进行管理; (6) 管理员对部门信息进行管理; (7) 管理员对用户信息进行管理。

经过上述系统功能分析和需求总结, 再参照现实超市采购管理信息系统的发展状况, 对数据项和数据结构进行如下的设计:

(1) 仓库信息, 包括数据项:编号, 仓库名称, 类别。

(2) 客户信息, 包括数据项:编号, 拼音码, 缩写名, 名称, 联系人, 类型, 地址, 邮编, 电话, 手机, 传真, 客户类型, 客户银行, 备注。

(3) 供应商信息, 包括数据项:编号, 拼音码, 简称, 名称, 地址, 邮编, 处理类型, 电话, 传真, 银行, 银行码, 银行编号, 备注。

(4) 商品信息, 包括数据项:编号, 供应商, 条形码, 名称, 拼音码, 标准, 规格, 产地, 种类, 进价, 出价1, 出价2, 最低价, 保质期, 备注。

(5) 库存信息, 包括数据项:编号, 供应商, 条形码, 名称, 拼音码, 标准, 规格, 产地, 种类, 进价, 售价, 保质期, 库存数量, 仓库名, 备注。

(6) 部门信息, 包括数据项:编号, 拼音码, 姓名, 性别, 生日, 相片, 部门编号, 识别码, 学历, 电话, 手机, email, 地址, 邮编, 备注。

(7) 用户信息, 包括数据项:用户编号, 用户姓名, 用户名, 密码。

5、系统设计与实现

5.1 采购管理模块

采购单的处理是采购模块的核心功能, 具体的流程是先制定采购订单, 然后根据不同供应商的产品质量价格等信息确定采购商品明晰, 然后生成采购单。

5.2 库存管理模块

库存是主要是对超市的商品库存信息有直观的体现, 同时通过设置库存预警上下限设置便于管理员了解商品的库存情况。

关键代码:

6. 结论

本文设计的超市采购管理信息系统实现了和供应商的直接沟通, 避免了传统采购时需要人工对供应商信息进行整理。可以将供应商的供应方案进行整合, 一目了然, 可以快速的对比出最优的供应方案, 将复杂繁琐的采购操作变得简洁而有效。同时, 通过对库存及采购的全面控制, 可以降低超市的成本, 增强超市的市场竞争力。

参考文献

[1]张永, 胡海.基于ASP的小型超市管理系统[J].电脑知识与技术, 2010, (21) .

[2]杨同建.基于ASP的企业进销存管理系统的技术开发[J].电脑知识与技术, 09, (02) .

8.基于ASP的学生信息管理系统的设计与实现 篇八

关键词:校务信箱 ASP.NET B/S模式 分级管理

中图分类号:TP319 文献标识码:B 文章编号:1673-8454(2008)19-0051-03

为了及时了解师生对学校的改革、发展与建设各方面工作的意见和建议,广开言路、加强沟通、民主治校,各高校都建立了校长信箱。本文以高校校长信箱为研究对象,探索其发展的新趋势、新模式,采用ASP.NET技术,提出了分层管理的高校校务信箱系统。校务信箱分为校长信箱和各单位信箱,除校长信箱外,每个信箱彼此独立,能够完成独立功能、独立后台管理,校长信箱能够对各单位信箱进行监督管理。各单位信箱有自动监控功能,三天不处理的来信系统将自动给予警告并发送到校长信箱中。各单位信箱删除的来信系统将自动发送到校长信箱的垃圾箱中,校长信箱中能够查看被删除来信并能够统计各单位被删除信件数量,能够统计出各单位的总来信数量、回复信件数量,并计算出各单位的信件回复率。校务信箱还有发布公告、来信置顶、信件转移、各单位间发送短消息等功能。该校务信箱系统极大地提高了办事效率,保证了信息传递的准确性和及时性,实现了信息的有效保存、检索和统计,激励了学校各职能部门的工作热情。

一、系统分析与设计

1.系统体系结构

本系统采用了B/S三层体系结构,即表示层、业务层和数据层;使用IIS架设Web站点;Asp.net通过Ado.net访问数据库。对数据库的访问和应用程序的执行均在Web服务器端完成,客户端无须安装任何专门的软件,通过浏览器即可访问Web服务器并运行其程序。采用这种体系结构的系统充分利用了服务器资源,提供了跨平台、简单一致的应用环境,减少了系统开发和维护的工作量,便于后期的维护和升级。系统的体系结构如图1所示。

2.系统功能设计

根据需求,结合学校校务管理流程,本系统主要有三种不同权限的用户,分别是普通用户、二级信箱管理员和总管理员。普通用户主要是浏览信件和书写信件;二级信箱管理员由学校各二级单位有关工作人员担任,对本单位信箱具有回复信件、删除信件、转移信件、置顶信件、信箱风格管理、公告和短消息管理等功能;总管理员由校长办公室有关工作人员担任,除了对校长信箱具有回复信件、删除信件、转移信件等功能外,还具有增删二级信箱、管理所有来信、查看二级单位删除信件和数据统计等功能。系统功能模块图如图2所示。

(1)二级信箱管理:此功能模块只有总管理员可以使用。总管理员通过本模块可以开通或关闭学校二级单位信箱、管理整个校务信箱的所有来信和管理二级单位删除的信件等。

(2)信件管理:此功能模块主要是对来信进行处理,管理人员可以回复或删除来信;对重要信件或者涉及重复回答的信件进行置顶;对本单位无法答复的来信转移到直接负责单位进行答复;按照办公信函标准格式打印信件,下发有关负责人进行答复等。

(3)风格管理:管理人员通过此模块可以对本单位信箱的外观界面进行个性化定制。系统可以预先定义几种不同的风格样式和图标图片,提供给管理人员挑选,从而定制各单位信箱风格。

(4)公告管理:管理人员通过此模块对外发布本单位重要通知、公告,方便普通用户快速获取信息。

(5)消息管理:本模块具有收、发短消息的功能,可以方便各单位管理人员之间相互联系、探讨。

(6)密码管理:管理人员可以通过此模块修改管理密码,所有密码采用MD5算法加密。

(7)数据统计:此功能模块只有总管理员可以使用。总管理员通过此模块可以统计出各二级单位信箱来信总数、回复信件数、删除信件数和信件回复率,并按照标准格式打印存档,以此对各二级信箱进行监督。

(8)书写信件:普通用户可以通过本模块给校长信箱或任何二级信箱写信。系统提供简单的文本格式处理功能,并对恶意代码进行过滤。

3.系统数据库设计

本系统选用SQL SERVER 2000作为数据管理平台,并根据系统功能设计,建立了数据库mail,其中包含5个基本数据表,分别是单位信息表、信件信息表、公告信息表、短消息信息表和信件转移信息表。数据逻辑模型如图3所示。

(1)单位信息表(Master_Dep):用于存放校长信箱和各二级单位信息,包括单位名称、密码、信箱风格、删除信件数等信息。

(2)信件信息表(Master_Mail):用于存放来信人姓名、密码、联系方式、IP地址和来信内容、来信时间、是否回复以及回复内容、回复时间等信息。

(3)公告信息表(Master_Ann):用于存放校长信箱和各二级单位信箱的通知、公告等信息。

(4)短消息信息表(Master_Mess):用于存放各单位信箱管理人员之间相互联系的短消息等信息。

(5)信件转移信息表(Master_Move):用于存放各单位信箱中所有转移的信件记录信息,方便来信人查找自己的信件。

二、系统主要功能的实现及关键技术

1.数据库的连接和基本操作

Asp.net使用Ado.net实现对数据库的连接和访问。对于SQL SERVER 2000数据库来说,提供了包含SqlConnection、SqlCommand、SqlAdapter等对象专门进行数据库操作。简单操作过程举例如下:

(1)数据库连接字符串以变量的形式存放在网站根目录下的系统配置文件Web.config中,这样可以使配置信息与源程序分开,方便日后修改和维护。

<configuration>

<appSettings>

<add key=”ConnStr” value=”server=(local);uid=db;pwd=mail;database=mail”/>

</appSettings>

......

</configuration>

(2)创建一个数据库连接和操作的类文件TSqlDB.cs,专门用于进行数据库的连接和操作。

Using System;

Using System.Data;

Using System.Data.SqlClient; //引入命名空间

Public class TSqlDB {

Protected static SqlConnection GetConn() //返回数据库连接信息

{return new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[“ConnStr”]);}

//用于执行insert、update、delete等查询,返回受影响的行数

Public static int ExecuteNonQuery(string Query) {

int Result;

SqlConnection FConnection = GetConn();

FConnection.Open();

SqlCommand FCommand = new SqlCommand(Query,FConnection);

Result = FCommand.ExecuteNonQuery();

FConnection.Close();

retrun Result;}}

(3)在其他文件中引用TSqlDB类,数据库连接操作如下:

TSqlDB oDB = new TSqlDB();//先实例化TSqlDB

SqlConnection myconn = oDB.GetConn();

myconn.Open();//打开数据连接

而执行简单查询只需要调用“类方法”的形式就可以了。下面以一个delete数据库操作为例:

TSqlDB myDB = new TSqlDB();

string SqlStr = “delete from Master_Mail where MailId=123”;

TSqlDB.ExecuteNonQuery(SqlStr);//执行数据删除操作

以上只是以数据库连接和数据库查询操作为例进行了简单说明,其实数据库的操作还有很多,我们可以将所有的数据操作层面上的行为全部封装到一个类中,这样可以大大增强程序的可扩展性。

2.系统安全设计

(1)用户身份验证。该系统有主管理员、二级管理员和普通用户三个不同用户权限。通过对不同的登录用户设置相应的Session全局变量,完成不同权限的用户身份验证。为了增强安全性,本系统在用户登录时将口令先进行MD5加密,再与数据库里的加密值比较,相符的可成功登录,否则登录失败。

(2)数据库安全认证机制。通过设计合理的用户策略,为用户设置合适的角色及访问许可,即将数据库访问和使用权限限制到仍然保留功能性的最小权限集。比如,避免使用系统管理员权限访问数据库,并对数据库访问账号密码进行加密运算。

(3)防止SQL注入攻击。如今很多网站遭到的攻击绝大多数都是SQL注入攻击,我们在编写程序时对此需要高度重视。防止SQL注入攻击,要做到:一是过滤或转义危险字符。这是最简单最常用的方法,即从用户输入中移除危险字符,如insert、update、delete等危险SQL命令,或者使数据库将危险字符作为文字对待。二是使用SqlParameter的集合类。它可以提供类型和长度检查,并且自动转义用户输入。三是用正则表达式限制输入。如对表单中文本框的值,就可以用正则表达式控件来限制其输入。四是在服务器端处理错误。系统错误消息可以给攻击者提供数据库中的许多详细信息,如果在Try和Catch语句中隐藏数据库行为,并在服务器端正确处理错误,就可以避免攻击者收集信息。

3.数据定制打印技术

根据学校工作实际流程,用户来信不可能每封都能直接进行回复,大多数信件需要打印成纸质文件,下发到具体负责人答复。为提高工作效率,纸质文件需要按照办公函件规定格式打印,对来信人、联系方式、来信内容、来信时间和领导批复意见、回信区域、回信单位、回信时间等信息按表格格式清晰呈现。这显然不是IE直接打印可以办到的,我们可以通过在页面HTML文档中编写一段JavaScript脚本来实现网页中的某一段按照规定格式打印。具体程序代码为:

function PrintScore(){

var idhtml,titlehtml,contenthtml,replyhtml,prnhtml;

//读取表单中Label控件的值,printinfo为自定义的表单名

idhtml=document.printinfo.label1.value;

titlehtml=document.printinfo.label2.value;

contenthtml=document.printinfo.label3.value;

replyhtml=document.printinfo.label4.value;

//定义打印表格格式,这里简单举例,可以按照需求增加更多样式

prnhtml="

";

prnhtml=prnhtml+"

===校务信箱第"+idhtml+"号来信===
"+titlehtml+"
"+contenthtml+"
"+replyhtml+"
"

//截取打印文档HTML字符,将打印页HTML覆盖成该页HTML

window.document.body.innerHTML=prnhtml;

window.print();//对该页进行打印}

需要注意的是:一是要将表单定义为printinfo,并将数据库中的相关字段读取到文本控件中,举例为。二是在页面body属性中加入onload事件,并将其定义为PrintScore函数,页面打开时即运行自定义的打印函数。

三、结束语

本文提出了用ASP.NET 技术设计与实现网上校务信箱系统,并论述了系统几个关键技术的实现方法。目前,系统在我校使用一年多来,累计处理信件15000多封,在学校日常管理中起到了较大作用。并且,系统已经在几所兄弟院校使用,得到了很好的评价。

参考文献:

[1]万峰科技.ASP.NET网站开发四酷全书[M].北京:电子工业出版社,2006.5.

[2]John Kauffman等.ASP.NET数据库入门经典[M].北京:清华大学出版社,2002.10.

上一篇:中国征兵广告发展史的分析下一篇:银湖社区党支部全年工作总结