选课系统地设计与实现.docx
《选课系统地设计与实现.docx》由会员分享,可在线阅读,更多相关《选课系统地设计与实现.docx(85页珍藏版)》请在冰豆网上搜索。
选课系统地设计与实现
防灾科技学院
实习报告书
实习题目:
选课系统
学号:
姓名:
专业:
计算机科学与技术
系别:
实习时间:
8.14-9.2
实习地点:
指导教师:
史磊
考勤成绩:
实习态度:
任务完成:
实习报告:
实习日志:
实习总成绩
指导
教师
评语
指导教师(签名):
2016年月日
防灾科技学院灾害信息工程系
2015年制
实习目的:
该课程是学生学习完Web应用设计、信息系统分析与设计等专业课程后,进一步学习后继专业课程前必须完成的一项实践教学环节,是信息管理与信息系统专业实习的延续,也是信息管理与信息系统毕业实习课程的先修课程,该课程是信息管理与信息系统专业的一门专业必修实践课程。
本课程主要按照软件工程的相关理论,讲解一个Web网站项目完整的开发流程,包括需求分析、面向对象的分析与设计、数据库设计、界面设计、系统编码、软件测试及系统部署等内容。
通过本课程的学习,使学生掌握开发Web网站所需的各项软件技术;提高学生综合运用专业理论知识分析问题、解决问题的能力;增强动手能力,为学生就业打下坚实的基础。
实习任务概述:
任务:
选课系统的设计与实现
其中主要完成以下任务:
1.对选课系统的需求分析
学生选课系统主要满足来自两方面的需求,这三个方面分别是学生用户和管理员用户,也即是两类用户角色。
本系统将管理员用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息,审批学生退课等;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。
通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
2.选课系统的总体设计
学生选课系统是实现学生选课退课以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:
管理员模块,学生模块和公有模块,分别用于完成各自的功能。
总体设计包括计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计。
3.选课系统的详细设计
学生选课系统是实现学生网上选课以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为3个大模块:
管理员模块,学生模块和公有模块。
4.选课系统的实现
学生选课系统主要包含学生部分和管理员部分。
管理员首先发布课程,学生根据发布的课程,选择课程,提交课程。
如果时间上有冲突,会有提示。
如果不想选择课程,可以选择课程后退课处理。
管理员可以查看学生的选课情况,管理学生退课,导入学生学校等信息,导出选课情况、退课情况和其他信息。
管理员还可以修改学生和自己的登录密码。
另外还有一些选课新闻,选课指南,找回密码等功能。
5.选课系统的测试
系统测试是软件开发过程中的关键环节,测试分为白盒测试和黑盒测试,主要是黑盒测试,由于系统模块并不十分复杂,在测试的过程中出现的问题并不多,相对而言比较顺利。
实习所用软件简介:
系统的搭建平台选用的操作系统是WindowsXP:
MicrosoftWindowsXP是微软公司推出供个人电脑使用的操作系统,包括商用及家用的台式电脑等。
2011年9月底前,WindowsXP是世界上使用人数最多的操作系统,它的全球市场占有率达42%。
2012年8月份,统治操作系统市场长达11年之久的WindowsXP最终被Windows7超越。
基于数据库的选课系统的数据管理所选得软件是SQLServer2008:
SQLServer2008在Microsoft的数据平台上发布,可以组织管理任何数据。
可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。
可以对数据进行查询、搜索、同步、报告和分析之类的操作。
SQLServer2008允许使用Microsoft.NET和VisualStudio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过MicrosoftBizTalkServer进行的业务流程中使用数据。
信息工作人员可以通过日常使用的工具直接访问数据。
基于ASP.NET的选课系统开发所选的开发工具VisualStudio2010:
MicrosoftVisualStudio2010是微软的一个综合性的应用程序生命周期管理工具套件,可供团队用于确保从设计到部署的整个过程都能取得较高质量的结果。
无论是创建新的解决方案,还是改进现有的应用程序,都能针对不断增加的平台和技术(包括云和并行计算)将梦想变成现实。
基于系统的建模选择的画图软件viso:
OfficeVisio2007是一款便于IT和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。
使用具有专业外观的OfficeVisio2007图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。
Visio帮助创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。
使用Visio时,以可视方式传递重要信息就像打开模板、将形状拖放到绘图中以及对即将完成的工作应用主题一样轻松。
实习内容及步骤:
任务:
选课系统的设计与实现
1系统需求分析
学生选课系统主要满足来自两方面的需求,这三个方面分别是学生用户和管理员用户,也即是两类用户角色。
(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;
(2)管理员用户的功能需求较为复杂,包括对院系信息、专业信息、学生信息、教师信息、课程信息进行管理。
在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。
在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。
在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
在选课管理子模块中,实现课程的发布,和学生退课的审批:
查看选课结果和是否同意退课。
本系统将管理员用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息,审批学生退课等;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。
通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
1.1用例图
图1.1选课系统用例图
用例图说明:
(1)系统的外部角色有:
学生用户和管理员。
(2)系统主要用例的文档描述:
①学生管理用例:
学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。
②基础信息管理用例:
管理员可见的功能,这个用例进一步分为六个用例:
学生信息管理用例、教师信息管理用例和课程信息管理用例,校系信息管理用例,专业信息管理用例,新闻管理用力例。
③选课管理用例:
发布选课与审批选课,审批选课又包括查看选课结果和审批选课。
④修改密码用例:
所有用户都可见的功能,用于修改用户的密码信息。
2系统的总体设计
学生选课系统是实现学生选课退课以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:
管理员模块,学生模块和公有模块,分别用于完成各自的功能。
2.1系统环境要求
操作系统是WindowsXP
数据管理所选得软件是:
SQLServer2008
开发工具:
VisualStudio2010
画图软件:
viso
浏览器:
IE6.0
2.2系统功能及模块图
2.2.1总体设计图
图2.2.1总体设计图
2.2.2各功能模块
学生选课系统功能模块表
功能模块
包含子功能模块
功能
管理员模块
学生管理子模块
对学生信息的添加、修改,删除操作,学生选课结果的审批,包括修改
教师管理子模块
对教师的添加,修改,删除,查询操作
课程管理子模块
对课程的添加,添加时为其分配任课教师,上课时间和地点,实现对课程的修改,删除,查看某个课程的详细信息等
院系管理子模块
对院系的添加,修改,删除,查询操作
专业管理子模块
对专业的添加,修改,删除,查询操作
选课管理子模块
发布选课,和审批选课
学生模块
实现学生选课,查看所选课程,修改自己的选课信息
公有模块
实现用户的身份验证,密码修改,退出系统等功能
2.2.3数据库
序号
数据库表
数据表存储的内容
1
Student
存储学生的信息
2
Teacher
存储教师的信息
3
Users
存储管理员的信息
4
Elect
存储选课的信息
5
Cource
存储课程的信息
6
Depart
存储学校系院信息
7
Major
存储专业系院信息
(4)数据库表结构
①学生表Student的详细数据字段:
Student学生用户表
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生学号
主键
2
stuPwd
nvarchar(20)notnul
学生密码
3
stuName
nvarchar(20)notnul
学生姓名
4
stuSex
char
(2)
学生性别
5
stuGrade
nvarchar
(2)
学生年级
6
stuDepart
nvarchar(50)
学生系院
7
stuMajor
nvarchar(50)
学生专业
8
stuClass
nvarchar(10)
学生班级
9
stuphoto
nvarchar(50)
学生照片
10
stuInfo
text
学生简介
11
stuTel
varchar(11)
学生联系方式
②教师表Teacher的详细数据字段:
Teacher教师用户表
序号
字段名
字段类型
说明
备注
1
teaID
nvarchar(20)notnull
教师编号
主键
2
teaPwd
nvarchar(20)notnull
教师密码
3
teaName
nvarchar(50)notnull
教师姓名
4
teaSex
char
(2)
教师性别
5
teaPhoto
nvarchar(50)
教师照片
6
teaDepart
nvarchar(50)
教师院系
7
teaInfo
text
教师简介
③课程表Course的详细数据字段:
Cource课程信息表
序号
字段名
字段类型
说明
备注
1
courseID
nvarchar(20)notnull
课程编号
主键
2
teaID
nvarchar(20)notnull
教师编号
外键
3
courseName
nvarchar(100)notnull
课程名称
4
score
int
上课时间
5
class
nvarchar(4)
上课地点
6
coursenumber
int
课程容量
7
courseTime
nvarchar(20)
上课时间
8
courseAddress
nvarchar(50)
上课地点
9
coursePhoto
nvarchar(50)
课程图片
10
courseInfo
Text
课程简介
11
coursestate
char(6)
课程状态
是否已发布课程
④发布选课表Elect的详细数据字段:
Elect选课信息表
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生学号
关键字
2
courseID
nvarchar(20)notnull
课程编号
关键字
3
teaID
nvarchar(20)notnull
教师编号
关键字
4
number
int
选课人数
⑤选课信息表Press的详细数据字段:
Press选课信息表
序号
字段名
字段类型
说明
备注
1
courseID
nvarchar(20)notnull
课程编号
关键字
2
teaID
nvarchar(20)notnull
教师编号
关键字
3
number
int
剩余人数
⑥系统管理员表admin的详细数据字段:
admin管理员表
序号
字段名
字段类型
说明
备注
1
adminID
int)notnull
系统管理员编号
主键
2
adminName
nvarchar(20)notnull
系统管理员用户名
3
adminPwd
nvarchar(20)
系统管理员密码
4
adminTel
nvarchar(11)
系统管理员电话
5
adminQQ
nvarchar(10)
系统管理员
⑦系院表Depart的详细数据字段:
Depart系院表
序号
字段名
字段类型
说明
备注
1
departID
Intnotnull
系院号
主键
2
departName
nvarchar(50)
系院名称
3
departPhoto
nvarchar(50)
系院照片
4
departInfo
text
系院简介
⑦系院表Major的详细数据字段:
Major专业表
序号
字段名
字段类型
说明
备注
1
majorID
Intnotnull
专业号
主键
2
majorName
nvarchar(50)
专业名称
3
majorPhoto
nvarchar(50)
专业照片
4
majorDepaet
nvarchar(50)
专业院系
5
majorInfo
text
专业简介
⑧新闻表news的详细数据字段:
news新闻表
序号
字段名
字段类型
说明
备注
1
newID
Int
新闻号
主键
2
biaoti
nvarchar(50)
新闻标题
3
newTime
nvarchar(50)
时间
4
info
text
内容
⑨退课处理表tijiao的详细数据字段:
news新闻表
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)
学号
主键
2
courseName
nvarchar(100)
课程名称
外键
3
stuTel
varchar(11)
学生联系方式
4
wenti
text
内容
5
upTime
nvarchar(30)
提交时间
6
setTime
nvarchar(30)
处理时间
7
men
nvarchar(10)
处理人
8
setstatic
char(6)
处理状态
3系统详细设计
学生选课系统是实现学生网上选课以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为3个大模块:
管理员模块,学生模块和公有模块,其中复杂的方法和模块的详细设计流程图如下。
3.1系统中所设计的主要类及UML图
Sqlhelper类,负责数据库连接和读取的类,包括ExecuteQuery,ExecuteNonQuery,ExecuteScalar,ReadTable等函数负责对数据库增删查改和读取数据成表格或者dataset类型。
3.2系统主要流程图
3.2.1主系统界面
图3.2.1选课系统主界面
3.2.2选课系统登录流程图
3.2.3管理员添加课程流程图
3.2.4学生选修课程流程图
4系统实现
4.1管理员界面的实现
Html
<%@PageTitle=""Language="C#"MasterPageFile="~/SMasterPage2.master"AutoEventWireup="true"
CodeFile="admin3.aspx.cs"Inherits="admin3"%>
ContentID="Content1"ContentPlaceHolderID="head"runat="Server">
varmyMenu;
window.onload=function(){
myMenu=newSDMenu("my_menu");
myMenu.init();
varfirstSubmenu=myMenu.submenus[0];
myMenu.expandMenu(firstSubmenu);
};
Content>
ContentID="Content2"ContentPlaceHolderID="center"runat="Server">
right;font-size:
14px">
LabelID="lbname"runat="server"Text="Label">
Label>
HyperLinkID="HyperLink1"runat="server"NavigateUrl="~/login.aspx">退ª?
出?
系¦Ì统ª3
HyperLink>
"+System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(DateTime.Now.DayOfWeek);
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="adxuanke.aspx.cs"Inherits="adxuank