竞赛报名系统毕业设计论文.docx
- 文档编号:9635723
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:19
- 大小:758.10KB
竞赛报名系统毕业设计论文.docx
《竞赛报名系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《竞赛报名系统毕业设计论文.docx(19页珍藏版)》请在冰豆网上搜索。
竞赛报名系统毕业设计论文
郑州大学项目报告
题目:
微积分竞赛报名系统的设计与实现
指导教师:
XX职称:
讲师
学生姓名:
XXX学号:
20087750633
专业:
软件开发(.Net方向)
院(系):
郑州大学软件学院
完成时间:
2012年4月18日
2012年4月18日
目录
1项目开发目标1
1.1系统开发意义和前景1
1.2系统最终目标1
2总体设计2
2.1技术框架设计2
2.2功能模块设计2
3功能描述9
3.1前台注册:
9
3.2前台登陆:
9
3.3前台通知:
10
3.4后台学生信息列表模块:
10
3.5后台学生信息说明模块:
13
3.6后台学生成绩管理模块:
14
3.7后台学生考场管理模块:
14
3.8后台院校信息管理模块:
15
3.9后台考试类型管理模块:
15
3.10后台用户管理模块:
16
4技术总结17
4.1技术创新及特点17
4.2人收获与体会17
1前言
1.1系统开发意义和前景
自选题目
1.2系统最终目标
本项应大学数学系老师的要求,对浙江省大学生微积分竞赛信息进行电子化管理,以方便老师对学生的报名、考试和成绩的管理。
故本项目的目标是能够顺利的完成“浙江省大学生高等数学(微积分竞赛)”项目,保证浙江省大学生能够顺利的完成这次微积分竞赛的报名、考试和成绩管理以及数据的存储。
系统应具有以下功能:
1)美观友好的操作界面,保证系统的易用性。
2)详尽而简便的数据输入操作。
3)根据不同的考试类别、院校、院系、专业来查询学生信息并打印准考证。
4)根据不同的考试类别、院校分配考场并打印考场信息。
5)完成学生成绩的统计。
2总体设计
2.1技术框架设计
整个项目是严格的按照公司的要求,使用三层架构开发的,其中Model层贯穿整个项目中。
其实也是严格的依据面向对象的思想来开发的,将数据库中的一条条数据看成一个个对象。
三层架构通常意义上的三层架构就是将整个业务应用划分为:
表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
区分层次的目的即为了“高内聚,低耦合”的思想。
本项目中还添加了一个Model层,以便项目能更好的运行。
1、表示层(UI):
通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):
针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):
该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
2.2功能模块设计
图1功能结构图
整个项目是前台和后台分开的。
其中就只有学生信息管理模块分为前台和后台。
其他的模块都是管理员以及超级管理员在后台来进行操作的。
模块的具体功能将在下面的章节进行详细讲解。
下面将各个模块设计E-R图,以及根据E-R图所映射出的表进行一一列出。
学生信息管理模块以及成绩管理模块E-R图为:
图2学生信息E-R图
院校信息管理模块E-R图为:
图3院校信息E-R图
考试信息管理模块E-R图为:
图4考试信息E-R图
配置中心管理模块E-R图为:
图5用户中心E-R图
功能详细说明:
1)前台注册:
学生可以去网上进行预报名注册,根据需要填入学生姓名、学号、性别,选择考试类别、所属院校名称、院系名称、专业名称,填入密码即可完成学生预报名注册。
2)前台登陆:
学生完成预报名以后,可以登陆页面登陆,以获取进行缴费时间和地址,将预报名改为正式报名。
3)前台通知:
登陆成功后跳转到通知页面,学生可在这个页面获取正式报名信息。
4)后台学生信息页面:
在后台,管理员可以对学生的基本信息以及相关的通知信息进行维护。
只有超级管理员才可以维护与考试通知相关的信息。
学生基本信息主要包含:
准考证号、姓名、学号、密码、性别、密码、考试的类别、所在院校、所在院系、所在专业。
在学生列表页面,对学生基本信息进行维护时管理员可以通过学号、考试类别、院校、院系、专业以及报名状态进行查询;可以对学生信息进行单个删除和批量删除。
在列表页面点击编辑按钮时页面跳转到修改页面,然后可以编辑姓名、学号、密码、性别、考试类别、院校信息、院系信息、专业信息、报名状态。
在列表页面点击新增按钮时页面跳转到新增页面,然后可以编辑姓名、学号、密码、性别、考试类别、院校信息、院系信息、专业信息、报名状态。
在列表页面点击正式报名按钮时页面跳转到正式报名页面,正式报名时只能编辑报名状态。
正式报名成功之后就可以打印出准考证。
学生的准考证号是在学生正式报名时通过代码进行自动生成的。
导出excel功能是为批量打印准考证准备的,这个功能将准考证所需数据输出到一个excel表格。
导入数据功能是为了批量导入学生数据设计的,将各个学校的学生信息制成excel表格导入即可实现学生数据的新增。
5)后台说明页面:
说明信息(相关的通知信息)主要包含:
院校代码、报名地址、报名结束时间、报名开始时间、考试地址、考试时间、联系方式。
在说明列表页面,对说明信息进行维护时管理员可以通过考试地址以及报名具体时间进行查询;可以对说明信息进行单个删除和批量删除。
在列表页面点击编辑按钮时页面跳转到修改页面,然后可以编辑报名开始时间,报名结束时间,考试时间,联系方式,考试地址,报名地址。
在列表页面点击新增按钮时页面跳转到新增页面,然后可以编辑报名开始时间,报名结束时间,考试时间,联系方式,考试地址,报名地址。
6)后台学生成绩管理页面:
管理员可以对学生的成绩信息进行维护。
学生成绩信息主要包含:
准考证号,姓名、性别、考试名称、修改时间、用户名称、院系名称、专业名称、成绩。
在对成绩信息进行维护时管理员可以通过准考证号、考试类别、院校、院系、专业、成绩进行查询相应的信息。
在列表页面点击编辑按钮时页面跳转到修改页面,此处只可以编辑成绩。
(此模块不让删除信息,不可以添加信息)。
7)后台院校信息管理页面:
超级管理员可以对院校信息,院系信息,专业信息进行维护。
院校信息主要包含:
院校代码和院校名称。
在列表页面,对考试类别信息进行维护时管理员可以通过关键字进行查询;可以对院校信息进行单个删除和批量删除。
在列表页面点击编辑按钮时页面跳转到修改页面,然后可以编辑院校名称。
在列表页面点击新增按钮时页面跳转到新增页面,然后可以编辑院校代码和院校名称。
8)后台院系信息管理页面:
院系信息主要包含:
院系代码、院系名称、院校代码、院校名称。
在列表页面,对院系信息进行维护时管理员可以通过关键字以及所属院校进行查询;可以对院校信息进行单个删除和批量删除。
在列表页面点击编辑按钮时页面跳转到修改页面,然后可以编辑所属院校、院系名称。
在列表页面点击新增按钮时页面跳转到新增页面,然后可以编辑编辑所属院校、院系名称。
(其中院校代码是不可以编辑的)。
9)后台专业信息管理页面:
专业信息主要包含:
院校代码、学校名称、院系代码、院系名称、专业代码、专业名称。
在列表页面,对专业信息进行维护时管理员可以通过关键字、所属学校、所属院系进行查询;可以对专业信息进行单个删除和批量删除。
在列表页面点击编辑按钮时页面跳转到修改页面,然后可以编辑所属院校、所属院系、专业名称。
在列表页面点击新增按钮时页面跳转到新增页面,然后可以编辑所属院校、所属院系、专业名称。
(其中专业代码是不可以编辑的)。
10)后台考场管理页面:
考场信息主要包含:
考场名称、考场人数、所属考场类型。
在列表页面,对考场信息进行维护时管理员可以通过关键字进行查询;可以对考场信息进行单个删除和批量删除。
在列表页面点击编辑按钮时页面跳转到修改页面,然后可以编辑考场名称、考场类型(其中考场号是自动生成的,考场人数是固定30人)。
在列表页面点击新增按钮时页面跳转到新增页面,然后可以编辑考场号、考场名称、考场类型(考场人数是固定30人)。
11)后台考试类别列表页面:
超级管理员可以对考试类别信息,考场信息,院校考试类型信息进行维护。
考试类别信息主要包含:
类别编号和类别名称。
在列表页面,对考试类别信息进行维护时管理员可以通过关键字进行查询;可以对考试类别信息进行单个删除和批量删除。
在列表页面点击编辑按钮时页面跳转到修改页面,然后可以编辑类别名称。
在列表页面点击新增按钮时页面跳转到新增页面,然后可以编辑类别名称(其中列表编号时自动生成的)。
12)后台院校与考试类型对应关系页面:
院校与考试类型对应关系的信息主要包含:
类别编号、类别名称、院校代码、学校名称。
在列表页面,对院校与考试类型对应关系的信息进行维护时管理员可以通过关键字进行查询;可以对考试类别信息进行单个删除和批量删除。
在列表页面点击编辑按钮时页面跳转到修改页面,然后可以编辑考场名称、考场类型(其中考场号是自动生成的,考场人数是固定30人)。
在列表页面点击新增按钮时页面跳转到新增页面,然后可以编辑考场号、考场名称、考场类型(考场人数是固定30人)。
13)后台用户管理页面:
超级管理员可以对整个系统的用户(管理员)进行维护。
用户信息主要包含:
用户名称、密码以及所属角色(普通管理员或者超级管理员)。
在列表页面,对考场信息进行维护时管理员可以通过关键字以及角色名称进行查询;可以对用户信息进行单个删除和批量删除。
在列表页面点击编辑按钮时页面跳转到修改页面,然后可以编辑用户名称、密码、角色。
在列表页面点击新增按钮时页面跳转到新增页面,然后可以编辑用户名称、密码、角色。
3功能描述
本系统主要实现以下功能:
用户前台购物的网络平台设计,管理员后台对用户、商品、商品订单的管理。
3.1前台注册:
图6前台注册图
前台注册页面用于学生注册信息,用到的重要控件是DropDownList,主要技术是Json和封装好的Js类以及Jquery。
其中Json的使用是为了实现页面的美化效果,Js和Jquery主要是为了实现验证用户是否输入有效数据,还是用到PS和AI来设计页面图片。
3.2前台登陆:
图7前台登陆图
前台登陆页面用于学生登陆,主要技术是Jquery、验证码技术、Cookie、Session和客户端Js脚本,其中验证码来自另一个页面,将他嵌入img控件里,点击可以更换。
点击登录时如果验证码错误而学号密码正确将保留学号和密码,只清空验证码,提高输入效率,点击Enter键可以直接登录,调用了OnKeyDown方法,简便操作。
3.3前台通知:
图8前台通知图
前台登陆页面用于学生登陆,主要技术Session和Request.QueryString传值。
3.4后台学生信息列表模块:
图9后台学生信息管理图
该模块主要用的主要控件DropDownList、FileUpload和数据控件Repeater以及第三方分页控件AspNetPager。
主要技术有封装好的Js类、Jquery、Excel数据导入导出操作、存储过程,Web打印。
其中唯一流水号(Djlsh)存储过程如下:
CREATEprocedure[dbo].[pro_DjLsh]
(
@SchoolCodeint,
@Typeint
)
as
begin
declare@DjLshvarchar(20)
declare@newTypevarchar(6)
set@newType=dbo.GetLSH(@Type)
set@DjLsh=cast(@SchoolCodeasvarchar(10))+substring(@newType,datalength(@newType)-1,2)
declare@jint
set@j=(selectcount(*)fromStudentInfowhereDjLshlike@DjLsh+'%')
if(@j<=0)
begin
set@DjLsh=@DjLsh+'000001'
end
else
begin
set@DjLsh=(select@DjLsh+dbo.GetLSH(max(substring(DjLsh,datalength(DjLsh)-5,6))+1)
fromStudentInfo
whereDjLshlike@DjLsh+'%')
end
select@DjLsh
end
其中准考证号存储过程如下:
ALTERProcedure[dbo].[TicketNumber]
(
@Typeint,
@SchoolCodeint
)
as
begin
declare@Countint
declare@newLeftNumbervarchar(20)
declare@NewDatevarchar(20)
declare@tempNumbervarchar(10)
declare@RoomNumbervarchar(5)
declare@SitNumbervarchar(5)
declare@TicketNumbervarchar(20)
declare@NewTypevarchar(5)
set@NewType=cast(@Typeasvarchar(5))
set@NewType='00'+@NewType
set@NewType=right(@NewType,2)
set@newLeftNumber=cast(@SchoolCodeasvarchar(10))+cast(@NewTypeasvarchar(10))
set@NewDate=convert(varchar(20),getdate(),12)
set@NewDate=cast(left(@NewDate,2)asvarchar(10))
set@newLeftNumber=@newLeftNumber+@NewDate--前位
select@tempNumber=max(cast(right(TicketNumber,5)asint))fromStudentInfowhereTicketNumberlike'%'+@newLeftNumber+'%'
set@tempNumber='00000'+@tempNumber
set@tempNumber=cast(right(@tempNumber,5)asvarchar(5))
select@Count=count(*)fromStudentInfowhereTicketNumberlike'%'+@newLeftNumber+'%'
set@RoomNumber=cast(left(@tempNumber,3)asvarchar(5))--3位
set@SitNumber=cast(right(@tempNumber,2)asvarchar(5))--后位
if(@Count=0)
begin
set@TicketNumber=@newLeftNumber+'001'+'01'
end
if(@Count>0)
begin
if(@SitNumber<30)
begin
set@SitNumber=cast(@SitNumberasint)+1
set@SitNumber='00'+cast(@SitNumberasvarchar(5))
set@SitNumber=cast(right(@SitNumber,2)asvarchar(5))
set@TicketNumber=@newLeftNumber+@RoomNumber+@SitNumber
end
else
begin
set@SitNumber='01'
set@RoomNumber=cast(@RoomNumberasint)+1
set@RoomNumber='000'+cast(@RoomNumberasvarchar(5))
set@RoomNumber=cast(right(@RoomNumber,3)asvarchar(5))
set@TicketNumber=@newLeftNumber+@RoomNumber+@SitNumber
end
end
select@TicketNumber
end
3.5后台学生信息说明模块:
图10后台说明信息图
该模块主要用的主要控件DropDownList、时间控件和数据控件Repeater以及第三方分页控件AspNetPager。
主要技术有封装好的Js类、Jquery。
3.6后台学生成绩管理模块:
图11后台学生成绩管理图
该模块主要用的主要控件DropDownList和数据控件Repeater以及第三方分页控件AspNetPager。
主要技术有封装好的Js类、Jquery以及输入成绩时候用的OnKeyDown方法,即点击Enter键直接跳入下个学生的输入。
3.7后台学生考场管理模块:
图12后台学生考场管理图
该模块主要用的主要控件DropDownList和数据控件Repeater以及第三方分页控件AspNetPager。
主要技术有Web打印。
3.8后台院校信息管理模块:
图13后台院校信息管理图
该模块主要用的主要控件DropDownList和数据控件Repeater以及第三方分页控件AspNetPager。
主要技术有封装好的Js类、Jquery。
3.9后台考试类型管理模块:
图14后台考试类型管理图
该模块主要用的主要控件DropDownList和数据控件Repeater以及第三方分页控件AspNetPager。
主要技术有封装好的Js类、Jquery。
3.10后台用户管理模块:
图15后台用户信息管理图
该模块主要用的主要控件DropDownList和数据控件Repeater以及第三方分页控件AspNetPager。
主要技术有封装好的Js类、Jquery和Json。
4技术总结
4.1技术创新及特点
整个项目所用的主要知识点如下:
ØJquery
ØJson
ØJavaScript
ØDIV+CSS
ØAI和PS
Ø.net三层架构
Ø数据库存储过程
4.2人收获与体会
通过这个项目我学到了很多东西,其中最令我高兴的就是我学到了一个相对来说完整的项目的开发流程,从最初的见客户做需求分析,到最后的去机房的服务器发布这个项目,每一个过程都有我的心血。
其中很重要的一点就是可以将以前在学校里学到的东西一点一点串联起来,不再是零碎的知识点,虽然知道那是什么,但是不知道怎么用,用在什么地方,现在可以很清楚的知道怎么用,如何用,将自己的所学知识实践出来。
在开发的过程中会遇到很多难题,这是在学校里没学过的,这就要独自去学习去解决,通过这个项目提高了自己的学习能力,使自己了解到只要用心去学去做,没有解决不了的难题,这更坚定了我可成为一个好的软件开发人员的信心。
其中自己的不足之处也暴露无疑--代码规范,规范的代码,高质量的代码可以为你的工作带来很大的方便。
不仅仅是代码的规范,还有文档,以及工作中的许多东西都要有一个规范,这对一个人的生活和将来的事业有莫大的帮助。
我会继续努力学习,使自己成为一个优秀的软件开发人员。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 竞赛 报名 系统 毕业设计 论文