网上报名系统的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业设计(项目报告)
题目: 网上报名系统的设计与实现指导教师:职称:
学生姓名:学号:
专业:
院(系):
完成时间:
目录:
目录 (2)
1. 项目背景 (3)
1.1 项目开发目标 (3)
1.2 项目来源 (3)
2. 项目总体设计 (5)
2.1 技术框架设计 (5)
2.2 需求分析 (6)
2.3 功能模块设计 (8)
2.4 数据库模块设计 (11)
2.4.1E-R图 (12)
2.4.2表数据结构 (13)
2.4.3表关系 (15)
3. 项目功能描述 (16)
3.1 前端网站 (16)
3.1.1网站首页 (16)
3.1.2注册页面 (16)
3.1.3登陆页面 (17)
3.1.4在线报名 (18)
3.1.5打印准考证 (18)
3.1.6成绩查询 (19)
3.1.7关于 (20)
3.2 后台管理系统 (20)
3.2.1登陆注册界面 (20)
3.2.2 后台管理主界面 (21)
3.2.3考生信息管理 (22)
3.2.4考试信息管理 (23)
3.2.5成绩信息管理 (25)
3.2.6系统管理 (26)
3.2.7帮助 (27)
4. 项目技术总结 (29)
4.1 技术创新及特点 (29)
4.2 个人收获与体会 (29)
附录1.数据库创建源码 (30)
附录2.程序源码 (30)
参考文档 (31)
1、项目背景
1.1项目开发目标
随着互联网的飞速发展,网上考试已经成为今后取得资格证书的重要渠道,而作为网上考试第一步的网上报名也一定占据举足轻重的位置,通过 网上报名系统,不仅仅能给众多考生及时提供各行各业最新的最准确的考试信息,还给各行各业的招生部门带来前所未有的便利。

在这里根据设计需要,我把网上报名系统分成前后两端分别进行设计,前端是考生的在线报名系统,主要采用B/S模式(即浏览器和服务器模式),B/S模式是一种以Web技术为基础的MIS系统平台模式,它大大的简化了客户端,简化了系统的开发和维护,使用户的操作起来更加简单,还有就是特别适用于网上信息的发布,因此选其做为前段开发平台,该部分主要实现考生登录报名的功能,其中包括考生注册,考生登录,考生个人信息录入,修改与查询,准考证打印和成绩查询等功能。

后端是管理员的考生信息处理系统,主要采用C/S模式(即客户机和服务器模式),C/S模式主要由客户应用程序,服务器管理程序和中间件三个部件组成。

它有很强的交互性,可以随时切换到所需的子程序,不仅存取模式更加安全,它对大数据的处理能力也远远超过B/S模式,因此是非常适用于后台管理数据的。

这部分主要实现管理员登陆,对考生报名信息的批量查询,修改,批量处理,考生考场编排,准考证编排,考试时间设置等功能。

对于 网上报名系统,我采用这种B/S与C/S相结合的模式,它能保证敏感数据的安全性,特别是对数据库的修改和新增记录加强控制。

同时,它还经济有效地利用计算机资源,简化一部分可以简化的客户端。

保证复杂功能的交互性与一般功能的易用与统一,使系统维护简便,布局合理,提高网络效率。

对于网上报名系统应具备以下特性:
(1)可用性:系统必须正常运行;
(2)安全性:系统必须保证考生信息的安全,不能泄露考生私人信息;
(3)可管理性:由于涉及考生众多,必须能够合理管理考生信息;
(4)移动设备支持性:要能支持任何设备的任何浏览器;
(5)高性能性:后台数据库满足对大数据的处理能力;
(6)扩展性:能够便于后加功能的融入与实现。

1.2项目来源
在当今世界,信息已经成为促进经济社会和科技发展、社会进步的重要因素。

随着计算机科学技术的不断发展,信息技术在全社会的应用日益深化,基于网络报名的考试已成为大势所趋,它也越来越成为专门考试机构的好帮手。

其优势体现在人力及物力两个方面上。

在报名期间,考生可以通过互联网进行网上报名,浏览修改自己的报名信息,相对传统的报名方式,基于网络的报名系统不仅方便
采集考生的基本信息,动态的管理各种考试信息,而且,报名时间、地点灵活,可以在规定的任意时段报名。

同时,网上报名管理者也可以通过互联网监控整个报名情况,对报名者的信息进行管理、分析及查询。

基于网络报名的考试系统有效的避免了资源的浪费,减少人员,提高效率。

网上报名系统,它是一个网上考试网站的一个重要模块,它不仅仅能够简单快捷的完成以往要耗费大量人力物力才能完成报名信息工作,它还解决了一般人不能在制定时间内到指定地点排队报名考试的问题。

本系统的优势:
(1)方便考生,考生可随时随地的地在网上填报信息,减少了现场报名的时间;(2)大大减少了工作差错,考生可以在网上反复修改信息,并且自己负责。

传统方式报名差错率在千分之五左右,而网上报名差错率可以仅为其的千分之一;(3)缓解了基层的工作压力,提高了工作效率。

现如今,网上报名越来越普遍,各大院校,培训机构,甚至是政府机关,军队征兵等都在采用网上报名的形式,但是,这些机构的网上报名仅仅是针对他们自己的,例如院校,只为报考该院校的考生提供通道,报名接口往往是设立在自己的官网上的。

有很多考生不知道该校官网,甚至是不知道怎么搜索。

在有就是网上征兵的报名,时间紧,过了这个时间段,就要再过一年的时间,有很多有意向的人可能在不知情的情况下,错过机会。

由此可见,现在的网上报名系统有很多改善的地方。

这里我参考淘宝商城的形式,对网上报名系统提出以下改善:
(1)信息集中化:现在网上报名种类繁多,时间不一地点不一,我这里以类似淘宝商城的形式,统一各类信息,并对他们分类,输出显示可以以时间先后形式发布在专业网站上。

(2)报名统一化:无论考生是报考计算机等级证还是建造师资格证,都可以在本系统报名,后台会给各个机构提供专业客户端,实现考生的分类。

这样考生要是要报考多个考生,就不必要去各个官网分别报名。

通过以上分析,我自主选择做网上报名系统,这样可以大大的简化报名手续,提高报名的工作效率,减少错误率,方便考生,也方便考试管理人员。

2、项目总体设计
2.1技术框架设计
(1)开发环境的选择
选择Visual Studio 2010为开发平台,Visual Studio 2010是一个经典的版本,相当于当年的6.0版,而且它可以自定义开始页,还增加许多新功能,如:
<1>C# 4.0中的动态类型和动态编程;
<2>多显示器支持;
<3>使用Visual Studio 2010的特性支持TDD;
<4>支持Office ;
<5>Quick Search特性;
<6>C++ 0x新特性;
<7>IDE增强;
<8>使用Visual C++ 2010创建Ribbon界面;
<9>新增基于.NET平台的语言 F#;
选择SQL Server2008为后台数据库,SQL是英文Structured Query Language 的缩写,意思为结构化查询语言。

SQL语言的主要功能就是同各种数据库建立联系,进行沟通。

按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。

SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。

配置环境:
1. Microsoft Visual Studio 2010
2. SQL Server Management Studio2008
(2)运行环境的选择
Windows XP Service Pack2(或以上),Windows Server 2003 Service Pack1(或以上),Windows Server 2003 R2(或以上),Windows Vista或Windows Server2008操作系统,建议使用Windows7系统。

(3)开发技术的选择
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。

它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。

C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

并且C#成为ECMA与ISO标准规范。

C#看似基于C++写成,但又融入其它语言如Pascal、Java、VB等。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

2.2需求分析
作为二十一世纪的大学生,网络给我带来了很大的影响,通过自己的亲身经历体验,以及走访问查,我发现网上报名系统的主要用户有两种,一种是报名者,一种是提供考试者,对于不同的用户,他们对系统的要求侧重点稍有不同:就报名者来说,他们希望足不出户的获取及时的考试信息,能够随时随地的进行网上报名,要是报名科目多的话,还希望一键报名,再确保报上名的情况下,越是省事越好,同时,还希望能够随时能够查询、修改网上报名信息,上传照片,下载准考证。

主要对象是浏览网站的报名者,该角色用例图如下:
下载准考证
图2.2.1 报名者用例图
就提供考试者来说,他们希望能够实时把握网上报名情况,随时分配考场,并且能够掌握整个报名系统的运行情况,下载考生信息,安排考试,同时能实时的发布一些相关的资讯,指导考生顺利报名。

主要对象是管理后台的管理员,该类角色的用例图如下:
修改成绩
图2.2.2 报名者用例图
针对以上的用户需求,系统的程序模块应能合理地实现各个角色的基本功能;系统能够提供丰富的考试及与考试相关的内容,优美简洁的用户界面,实现功能的易操作性,让有价值的信息快捷发布,动态信息迅速更新。

2.3功能模块设计
网上报名的系统,前台网站上罗列各种考试信息,浏览者可以浏览网页,如果看到感兴趣的,就点进去看详细信息,类似于赶集网上的招聘信息,系统包括前端和后台两部分,前端主要有以下几个模块:
1)标题:网上报名系统,要醒目,吸引人,但是不能太花哨(最好有logo)。

2)注册:注册会员的信息,不需要太复杂,简单明了,仅包含用户名和登陆密码即可。

3)登陆:这里要求以小窗口的形式显示,不需要太复杂,实现效果即可。

4)导航部分,首页,在线报名,报名须知,暂定三部分组成;
5)广告部分:要有醒目广告语,"一键报名,不需要排队等待";
6)主要部分:显示考试信息;
7)时间部分:显示当前时间。

8)在线报名:在线报名信息可以重复提交,以最后一次修改的准。

身份证号为唯一标示。

9)报名须知:提示信息,通知报名者注意事项
系统前端模块功能设计图如下图所示:
图2.3.1 前端模块功能设计图
在实现以上前端设计以后,开始后台设计,后台主要以WinForm窗体的形式来展现给用户,它的对象,主要是各个院校,机构的招生部门,权限是管理员。

用户下载这个客户端,并且有自己的管理员账号,登陆成功后,可在主页面实现以下操作:
1.考生信息设置:
主要包括考生信息查询,添加,删除
2.考试信息设置:
2.1考试信息的发布:
值得注意,考试信息的发布是直接发布到网站首页上的,这里有一点说明,就是要给要发布的考试信息进行编号,不能重复(不仅仅是和本院的重复,和别院的也不行),考生就是根据这个编号来进行考试类别报名的。

2.2考生安排
主要就是考号,考试时间,地点的通知,可以包函在准考证里,供考生打印
2.3监考老师安排
考场,时间,采用Excal表格的形式打印出来。

3.成绩信息设置:
成绩的录入,统计,查询(通过,未通过),修改
4.系统配置:
系统参数配置
背景色
5.帮助:
使用说明
功能介绍
系统后台模块功能设计图如下图所示:
图2.3.2后台模块功能设计图
对于网上报名系统总体模块功能设计图如下所示:
图2.3.3系统模块功能设计图
2.4数据库模块设计
数据库是一种存储数据并对数据进行操作的工具。

数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。

关系数据库包含了多个数据表信息,数据库在一个信息系统中占有非常重要的地位,数据库结构设计的好坏将直接对系统的效率以及实现的效果产生影响。

合理的数据库设计可以提高数据库存储的效率,保证数据的完整和一致。

同时,合理的数据库结构也有利于程序的实现。

创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。

创建一个数据库结构的过程主要包括以下几点:
(1)标示需要的数据;
(2)收集被标识的字段到表中;
(3)标识主关键字字段;
(4)绘制一个简单的数据图表;
(5)规范数据;
(6)标识指定字段的信息;
(7)创建物理表。

本系统建立了6个数据表,分别为会员信息表(users)、报名信息表(applicants)、管理员信息表(admins)、考试信息表(test)、准考证信息表(cards)、考试成绩信息表(grade)。

其中,会员信息表记录会员的注册信息,报名信息表记录报名者信息,管理员信息表记录管理员信息,考试信息表记录考试信息,准考证信息表记录准考证信息。

2.4.1E-R图如下图所示:
图2.4.1E-R图
2.4.2各表的数据结构如下:
会员信息表:主要记录浏览网站的用户信息,包括用户名和密码,便于统计网站浏览情况和关注率。

报名信息表:主要记录报名者的详细信息,包括身份证号、报名者姓名、性别、年龄、联系方式、照片、考试编号、家庭住址、现住地址,便于主考单位统一安排考试。

管理员信息表:主要记录管理的信息,包括管理员姓名和登录密码,便于分配权限。

考试信息表:主要记录考试信息,包括考试编号,考试类型,考试时间,地点,内容等,便于发布和浏览考试信息,能够让考试即时的了解考试情况,避免遗漏考试。

准考证信息表:主要记录准考证信息,包括准考证号,身份证号,姓名,考试时间,考试地点,考试类型等,这是考生准考证打印的依据,也是考生考试的证明,可浏览打印。

考试成绩信息表:主要记录考试成绩信息,包括准考证号,身份证号,姓名,考试类型,考试结果等,便于考生及时的查询考试结果,便于主考单位统计考试结果。

2.4.3各表关系图如下所示:
各表关系图,主要是直观的描述各个表之间的联系。

图2.4.2各表之间关系图
3、项目功能描述
3.1前端网站
网上报名系统前端网站主要是针对各类考生研发的,它罗列出各个主考单位的考试信息,方便浏览者快速查找到自己想要的考试信息,并进行快捷报名,同时,还可以根据自身信息,进行信息修改,准考证打印,成绩查询等相关操作。

3.1.1网站首页
网站首页主要显示各个主考单位的考试信息,浏览者可以根据考试编号,进行后期一键报名。

罗列的考试信息主要包括考试编号,考试类型,考试时间,考试地点,以及具体的考试内容等。

其页面截图如下:
图网上报名系统首页面
3.1.2 注册页面
注册页面是提供新用户注册的,没有太多要求,包括用户名和用户密码,主要是记录浏览者脚步,其设计页面如下:
图网上报名系统注册页面
3.1.3登录页面
登录页面提供用户登录功能,已经注册用户可以根据自己的用户名和密码登录网站,只有登录的用户才有资格进行后续的报名和信息查询,其设计页面如下:
图3.1.3 网上报名系统登录页面
3.1.4在线报名
在线报名是在用户浏览考试信息后,并且已经登录的情况下才能实现的功能模块,这里用户可以填写报名所必须的信息,包括身份证号,姓名,性别,年龄,联系方式,照片,考试编号,家庭住址,现住地址等信息,其中考试编号就是意向报名的考试编号,不能出错,另外这里才有覆盖式报名,用户可以多次提交,以达到修改个人信息的目的,其页面如下:
图3.1.4 网上报名系统在线报名页面
3.1.5打印准考证
打印准考证是非常重要也是非常方便的一个网上报名特色,它让报名者省去现场领证的不便,还为主考单位省去制作准考证的繁琐工序。

这里,已登录用户可以根据自己的身份证号码,查询自己的准考证信息并打印,可以实现包括一人多证的打印。

其设计页面如下:
图3.1.5 网上报名系统准考证打印页面
3.1.6成绩查询
成绩查询是考生考试结束后,对自己考试结果的把我,可根据身份证号,准考证号,姓名等进行查询,查询以列表形式显示,清晰明了,显示信息有准考证号,身份证号,姓名等多个信息,供考试确定,当然,如果考生报有多门考试,也可以一并显示,其设计页面如下:
图3.1.6 网上报名系统成绩查询页面
3.1.7关于
关于是对网站的简单介绍,界面如下:
图3.1.7 网上报名系统关于页面
3.2后台管理系统
网上报名系统后台管理程序是针对主考单位量身制作的,非常有效的解放了人力,实现考生信息的查询,添加,统计功能,同时使考试信息发布简单化,实现了一键发布,多类考试信息一起发布功能,对于考试结果,能录入成绩,统计成绩,一目了然的观察考试结果,特色之处是准考证号的生成,一键自动生成,适用各大主考单位。

3.2.1登陆注册界面
对于不同的单位,下载了本程序,可以注册自己独有的账号和密码,使用自己的账号才能看到自己的东西(后台权限的控制),任何用户登陆使用本系统时,首先看到的登陆页面如下:
图3.2.1后台管理员登陆界面
通过输入的账号和密码判断登陆界面,此处默认的登陆账号和密码是admin,admin。

当然如果没有账号,可以点击注册按钮进行自主注册,进入注册页面如下:
图3.2.2管理员注册界面
值得注意的是这里考虑到利益问题,暂不开放注册功能,呆完善…
3.2.2后台管理主界面
这里是后台管理系统的核心,主要有考生信息管理,考试信息管理,成绩信息管理,系统管理以及帮助等五大部分组成,系统左下角显示系统当前时间。

本部分的界面如下:
图3.2.3管理员操作界面
3.2.3考生信息管理
考生信息管理是对报名考试的人员的信息管理,有考生信息查询,考生信息添加,考生信息统计三部分组成,其中考生信息查询部分,主要是利用考试编号作为关键字,查询出一类考试的所有考生的报名信息,实现增删改查。

其界面如下:
图3.2.4考生信息管理界面-考生信息查询
考生信息添加部分,主要是针对现场报名的考生,省去了手动书写的繁琐过程,接受报名者只要输入相关内容即可实现考生信息的录入,其界面如下:
图3.2.5考生信息管理界面-考生信息添加
考生信息统计部分,主要是为了考试现场,核实考生信息所用,管理员可以报参考人员信息以Excel表格的形式导出,进而打印出来,方便信息核实。

其界面设计如下:
图3.2.6考生信息管理界面-考生信息统计
3.2.4考试信息管理
考试信息管理是对考试信息的管理,其中包括考试信息发布,考生考试安排,监考老师安排等三部分组成,其中考试信息发布部分,主要是发布考试信息,根据提示主考单位发布考试相关信息,其界面设计如下:
图3.2.7考试信息管理界面-考试信息发布
考生考试安排部分,主要是考生准考证号的生成,在这里我将详细介绍准考证生成算法的设计与实现。

对于准考证号,是各类信息的集合体现。

根据报名信息统计报名人数,安排考场考试信息,所以,我才用“考试单位代号+考场号+座位号+身份证后四位”的方式来确定准考证号,其中考试单位代号由两位数字或数字加字母的形式组成占两位放在最前,考场号即考试房间号,根据楼层和各层考场数量决定,占有三位放在单位代号的后面,接着是座位号,由于通常情况下各个考场的考试人数不超过100人,所以按两位,最后是身份证号的后四位,通过报名者信息中的身份证号,截取后四位,放在最后,这样就得到了十一位的准考证号。

其界面设计如下:
图3.2.8考试信息管理界面-考生考试安排
监考老师考试安排部分,此部分包括自动分配和手动分配两种方式来安排监考老师考场分配情况,自动分配就是根据输入监考老师名字顺序,每一个考场两个监考老师的方式,分配,手动分配这是指定老师到指定考场监考。

其设计界面如下:
图3.2.9考试信息管理界面-监考老师安排
3.2.5成绩信息管理
成绩信息管理模块,主要是管理考试成绩信息的,包括考试成绩的录入,考试成绩的统计两部分组成。

其中考试成绩录入,是根据考生的准考证号进行手动输入成绩,这里的准考证号是直接读取出来的,不需要手动输入,简单便捷。

其界面如下:
图3.2.10 成绩信息管理界面-考试成绩录入
3.2.6系统管理
系统管理模块,主要是对系统性功能的管理,包括系统背景设置,管理员密码更改,退出系统三部分组成,其中的系统背景设置部分,实现了背景颜色的变更和背景图片的更换功能,这里才用独立窗体,体现其系统地位。

界面设计如下:
图3.2.11系统管理界面-系统背景设置
管理员密码更改,这里需要管理员登陆之后,方有权限更改密码,且更改的仅仅是自己注册的登陆账号的密码。

其设计界面如下:
图3.2.12系统管理界面-管理员密码更改
退出系统部分,即是正确地完整地安全地退出系统,关闭所有运行程序和数据库。

退出之前有系统提醒:
图3.2.13系统管理界面-退出提示图
3.2.7帮助
帮助模块,主要是对系统的介绍,包括功能介绍,使用说明,关于三部分组成,功能介绍就是系统所有功能的一个树状展示,便于使用者整体把握系统,其设计界面如下:
图3.2.14帮助界面-功能介绍
使用说明部分就是对系统的使用方法的介绍,由于系统界面简单,便于上手,一看即会,就不做详细说明。

关于部分,是对系统的简单介绍,以及版权简介,其设计界面如下:
图3.2.15帮助界面-关于…
4、项目技术总结
4.1技术创新及特点
B/S模式是一种以Web技术为基础的MIS系统平台模式,它大大的简化了客户端,简化了系统的开发和维护,使用户的操作起来更加简单,还有就是特别适用于网上信息的发布。

C/S模式主要由客户应用程序,服务器管理程序和中间件三个部件组成。

它有很强的交互性,可以随时切换到所需的子程序,不仅存取模式更加安全,它对大数据的处理能力也远远超过B/S模式,因此是非常适用于后台管理数据的B/S与C/S相结合的模式,它能保证敏感数据的安全性,特别是对数据库的修改和新增记录加强控制。

同时,它还经济有效地利用计算机资源,简化一部分可以简化的客户端。

保证复杂功能的交互性与一般功能的易用与统一,使系统维护简便,布局合理,提高网络效率。

4.2个人收获与体会
经过对网上报名系统的设计与实现,我深深的认识到需求分析和概要设计的重要性,前期没有把需求做好,概要设计的也不完善,导致后期没有内容写,或是写的乱起八糟,很是苦恼了我一阵子,代码也白写了不少。

还有数据库的设计,合理与否跟你是否会用查询语句完全不一致,很多时候我发现自己设计的表是完全独立的,用起来是很方便,但是数据多起来就很不是那么回事了,以前学习的东西,学的时候感觉没啥用,但是这次全用到了,以前很多模糊不清的基础概念,也清晰了。

总的来说,收获真的不小。

对于体会,我最深的就是学习全靠自觉,在学校的时候,老师提醒着,监督着,在家的时候父母管着,看着。

可是,我呢就是不知道学,不知道思考,进步很小,但是这次,没人管你,没人看你,全靠你自己。

我说真的底子薄,没什么东西,被同事甚至说“这都不会,你咋还不会呢”,心里挺难受的,没法就是不会,想不到这么多,只好百度,默默地百度,可能这次作业在你们看来很简单,但是对于我来说,没有百度,我根本写不出来,我也做过很多难,很高兴我挺过来了,做成了,我很骄傲我没有放弃。

当然了,这个程序肯定有很多不完善的地方,有很多缺点,不管怎么说,这都是我自己独立完成的,很自豪!。

相关文档
最新文档