大学生选课管理系统实验报告.docx
- 文档编号:27807750
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:39
- 大小:764.07KB
大学生选课管理系统实验报告.docx
《大学生选课管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《大学生选课管理系统实验报告.docx(39页珍藏版)》请在冰豆网上搜索。
大学生选课管理系统实验报告
数据库技专题训练I(2015年春)
序号:
数据库专题训练------数据库应用系统开发
实验报告
系别:
计算机科学与技术
班级:
计12-1班
姓名:
刘杰
学号:
12101020128
成绩:
评语:
指导教师签字:
日期:
大学生选课管理系统
1、需求分析
1.需求说明
☐教务处的管理人员录入全校的课程基本信息和本学期的课程授课教师、地点、时间;
☐在学生入学的时候,学院的管理人员录入学生基本信息;
☐学生每学期自己上网登录系统选课,选课成功后信息存入数据库中,学生自己可以查询选课的情况;
☐学生选课不成功的情况有:
☐所选课程的先修课还没有记录,系统提示“缺先修课,选课失败”;
☐本学期所选课程的上课时间有冲突,系统提示“上课时间有冲突,选课失败”;
☐学生一学期所选课程的学分最多不能超18学分
☐学生可以注销所选课程。
☐学院管理员可以查询学生前几学期的选课信息、可以查询课程基本信息、学生基本信息;
☐当学生退学时,由教务处的管理人注销学生基本信息;
☐如果开课之后,学生要求退课,则由教务处的工作人员为学生注销所选课程;
☐允许学生休学,教务处为休学的退学做学籍冻结处理;复学后为其办理解冻处理;
☐每学期教务处为学生办理学期注册手续;没有办理学期注册的学生不能选课;
☐学期末,学院工作人员负责录入学生的成绩。
2.数据流程图
a.顶层数据流图
b.分解数据流图
3.数据字典
角色信息=角色编号+角色名称
角色编号=“1”….“4”
角色名称=2(汉字)6
用户信息=用户编号+角色编号+用姓名+用户密码
用户编号=2(字母或数字)18
角色编号=“1”….“4”
用户姓名=2(汉字)6
用户密码=2(字母或数字)18
学生基本信息=学号+姓名+性别+民族+出生年月+学院+系+专业+入学时间+政治面貌+住址+备注
学号=(数字)11
姓名=2(汉字)6
性别=“男”/“女”
民族=2(汉字)6
出生年月=年+月
学院=2(字母或数字)11
系=2(字母或数字)11
专业=2(字母或数字)11
入学时间=年+月+日
政治面貌=“党员”/“预备党员”/“团员”/“群众”
住址=2(汉字)18
备注=0(汉字或字母)100
教师基本信息=工号+姓名+密码+性别+年龄+民族+学院+住址+备注
工号=2(字母或数字)11
姓名=2(汉字)6
密码=2(字母或数字)18
性别=“男”/“女”
年龄=“20“…”60“
民族=2(汉字)6
学院=2(汉字)12
住址=2(汉字)18
备注=0(汉字或字母)100
课程信息=课程号+课程名称+先修课+学分+学时+课程类别+开课学院
课程号=2(字母或数字)11
课程名称=2(汉字)15
先修课=2(字母或数字)11
学分=“1“…”16“
学时=“16“…”128“
课程类别=“专业选修“/”专业必修“/”公共选修“/”公共必修“
开课学院=2(字母或数字)11
课程任务=任务编号+课程编号+课程名称+任课教师+课堂容量+选课人数+上课时间段+上课日期+上课地点+合班标志+开课季别+开始周+结束周+课程介绍
任务编号=2(字母或数字)11
课程编号=2(字母或数字)11
课程名称=2(汉字)15
任课教师=2(字母或数字)11
课堂容量=“0“….”240“
选课人数=“0“….”9999“
上课时间段=“1-2节“…”11-12节“
上课日期=“周一“…”周日“
上课地点=2(汉字)15
合班标志=2(汉字)15
开课季别=“春季学期“/”秋季学期“
开始周=“1“…”20“
结束周=“8“…”28“
课程介绍=0(汉字)100
学生选课信息表=学号+课程号+成绩+选课年份+选课季别+中签标志
学号=2(字母或数字)11
课程号=2(字母或数字)11
成绩=“0“…”100“
选课年份=年
选课季别=“春季学期“/”秋季学期“
中签标志=“0“/“1“
留言=留言编号+发送者+接收者+日期+留言内容
留言编号=“0“….”99999999“
发送者=2(字母或数字)11
接收者=2(字母或数字)11
日期=年+月+日
留言内容=2(字母或汉字)200
文件信息=文件编号+课程编号+文件名称+文件路径
文件编号=“0“…”99999“
课程编号=2(字母或数字)11
文件名称=2(字母,数字或汉字)20
文件路径=2(字母或数字)100
学院信息=学院编号+学院名称
学院编号=2(字母或数字)11
学院名称=5(汉字)20
专业信息=专业编号+专业名称+所属学院
专业编号=2(字母或数字)11
专业名称=5(汉字)20
所属学院=2(字母或数字)11
班级信息=班级编号+班级名称+所属专业
班级编号=2(字母或数字)11
班级名称=5(汉字)20
所属专业=2(字母或数字)11
4.系统E-R图
2、系统设计
1.系统模块结构图
a.顶层模块结构图
b.详细模块结构图
2.系统用例图
a.学生用例图
b.教师用例图
c.管理员用例图
3.系统数据库详细设计
a.表字段说明
表名称:
角色表简称:
t_role
名称
简称
类型
长度
是否可为空
备注
角色编号
roleid
int
4
否
主键,自增
角色名称
rolename
nvarchar(50)
50
否
表名称:
用户表简称:
user_inf
名称
简称
类型
长度
是否可为空
备注
用户编号
userid
nvarchar(50)
50
否
主键
用户类型
roleid
int
4
否
外键
用户密码
pwd
nvarchar(50)
50
否
表名称:
教师信息表简称:
teacher_inf
名称
简称
类型
长度
是否可为空
备注
教师编号
tno
nvarchar(50)
50
否
主键
教师姓名
tname
nvarchar(50)
50
否
密码
tpwd
nvarchar(50)
50
否
性别
tsex
nvarchar(50)
50
否
年龄
tage
int
4
否
民族
trace
nvarchar(20)
20
否
所属学院
sdeptno
Nvarchar20)
20
否
外键
家庭住址
taddress
nvarchar(60)
60
是
其它
another
nvarchar(100)
100
是
表名称:
学生信息表简称:
stu_inf
名称
简称
类型
长度
是否可为空
备注
学号
Sno
nvarchar(50)
50
否
主键
姓名
Sname
nvarchar(50)
50
否
密码
Spwd
nvarchar(50)
50
否
性别
Ssex
nvarchar(20)
20
否
民族
Srace
nvarchar(20)
20
否
所属学院
Sdeptno
nvarchar(20)
20
否
班级
Class
Nvarchar(50)
50
否
专业
Smajor
nvarchar(50)
50
否
入学时间
Entertime
nvarchar(50)
50
否
毕业时间
Graduatetime
nvarchar(50)
50
否
政治面貌
Poli_status
nvarchar(20)
20
否
住址
saddress
nvarchar(60)
60
是
其它
another
nvarchar(100)
100
是
表名称:
课程基本信息表简称:
course_inf
名称
简称
类型
长度
是否可为空
备注
课程号
Cno
nvarchar(50)
50
否
主键
课程名称
Cname
nvarchar(50)
50
否
先修课
Pro_cno
nvarchar(50)
50
否
学分
Credit
int
4
否
学时
Ctime
int
4
否
课程类别
Course_kind
nvarchar(50)
50
否
开课学院
sdept
nvarchar(50)
50
否
表名称:
课程任务表简称:
course_task
名称
简称
类型
长度
是否可为空
备注
任务编号
taskno
nvarchar(50)
50
否
主键
课程编号
cno
nvarchar(50)
50
否
外键
课程名称
cname
nvarchar(50)
50
否
任课教师
cteacher
nvarchar(50)
50
否
课堂容量
capacity
int
4
否
选课人数
Sel_person
int
4
否
上课时间段
classtime
nvarchar(50)
50
否
上课日期
weekdays
nvarchar(30)
30
否
上课地点
location
nvarchar(50)
50
否
合班标志
classflag
nvarchar(50)
50
否
开课季别
season
nvarchar(50)
50
否
开始周
startweek
int
4
否
结束周
endweek
int
4
是
课程介绍
introduction
nvarchar(200)
200
是
表名称:
选课记录表简称:
sel_course_record
名称
简称
类型
长度
是否可为空
备注
学号
sno
nvarchar(50)
50
否
主键
课程号
cno
nvarchar(50)
50
否
成绩
grade
int
4
是
选课年份
year
int
4
否
中签标志
flag
int
4
否
选课季别
season
nvarchar(50)
50
否
表名称:
留言记录表简称:
msg
名称
简称
类型
长度
是否可为空
备注
留言编号
msgno
int
4
否
主键,自增
发送方
sender
nvarchar(50)
50
否
接收方
receiver
nvarchar(50)
50
否
日期
date
nvarchar(50)
50
否
留言内容
msg
nvarchar(200)
200
否
表名称:
文件信息表简称:
file_up
名称
简称
类型
长度
是否可为空
备注
文件编号
fileid
int
4
否
主键,自增
课程编号
cno
nvarchar(50)
50
否
文件名称
file_name
nvarchar(50)
50
否
文件路径
file_path
nvarchar(100)
100
否
表名称:
学院信息表简称:
sdept_inf
名称
简称
类型
长度
是否允许为空
备注
学院编号
Sdeptno
Nvarchar(20)
20
否
主键
学院名称
Sdeptname
Nvarchar(50)
50
否
表名称:
专业信息表简称:
major_inf
名称
简称
类型
长度
是否允许为空
备注
专业编号
majorno
Nvarchar(20)
20
否
主键
专业名称
majorname
Nvarchar(50)
50
否
所属学院
sdeptno
Nvarchar(20)
20
否
外键
表名称:
班级信息表简称:
class_inf
名称
简称
类型
长度
是否允许为空
备注
班级编号
Classno
Nvarchar(20)
20
否
主键
班级名称
classname
Nvarchar(50)
50
否
所属专业
majorno
Nvarchar(20)
20
否
外键
b.表创建
createtablet_role(
roleidintidentity(1,1)notnullprimarykey,
rolenamenvarchar(50)notnullunique
)
createtablesdept_inf
(
sdeptnonvarchar(20)notnullprimarykey,
sdeptnamenvarchar(50)notnull
)
createtablemajor_inf(
majornonvarchar(20)notnullprimarykey,
majornamenvarchar(50)notnull,
sdeptnonvarchar(20)notnull
foreignkey(sdeptno)referencessdept_inf(sdeptno)
)
createtableuser_inf
(
useridnvarchar(50)notnullprimarykey,
roleidintnotnull,
pwdnvarchar(50)notnull,
foreignkey(roleid)referencest_role(roleid)
)
createtableteacher_inf
(
tnonvarchar(50)notnullprimarykey,
tnamenvarchar(50)notnull,
tpwdnvarchar(50)notnull,
tsexnvarchar(20)notnull,
tageintnotnull,
tracenvarchar(20)notnull,
sdeptnonvarchar(20)notnull,
taddressnvarchar(60),
anothernvarchar(100)
foreignkey(sdeptno)referencessdept_inf(sdeptno)
)
/*学生基本信息*/
createtablestu_inf(
snonvarchar(50)notnullprimarykey,
snamenvarchar(50)notnull,
spwdnvarchar(50)notnull,
ssexnvarchar(20)notnull,
sageintnotnull,
sracenvarchar(20)notnull,
sdeptnonvarchar(20)notnull,
classnvarchar(50)notnull,
smajornvarchar(50)notnull,
entrancetimenvarchar(50)notnull,
graduattimenvarchar(50)notnull,
politicalstatusnvarchar(20)notnull,
saddressnvarchar(60),
anothernvarchar(100)
foreignkey(sdeptno)referencessdept_inf(sdeptno)
)
/*课程基本信息*/
createtablecourse_inf(
cnonvarchar(50)notnullprimarykey,
pro_cnonvarchar(50),
cnamenvarchar(50)notnull,
creditintnotnull,
ctimeintnotnull,
course_kindnvarchar(50)notnull,
sdeptnvarchar(50)notnull,
)
/*学院开课信息*/
createtablecourse_task
(
tasknonvarchar(50)notnullprimarykey,
cnonvarchar(50)notnull,
cnamenvarchar(50)notnull,
cteacharnvarchar(50)notnull,
capacityintnotnull,
classtimenvarchar(50)notnull,
weekdaysnvarchar(30)notnull,
locationnvarchar(50)notnull,
classflagnvarchar(50)notnull,
seasonnvarchar(50)notnull,
startweekintnotnull,
endweekintnull,
introductionnvarchar(200),
)
/*选课记录表*/
createtablesel_course_record
(
snonvarchar(50)notnull,
cnonvarchar(50)notnull,
gradeint,
yearintnotnull,
flagintnotnull,/*中签标志*/
seasonnvarchar(50)notnull,
primarykey(sno,cno)
)
3、系统实现
1.系统主要功能界面设计
a)登陆界面
b)学生操作界面
c)教师操作界面
d)学院管理员操作界面
e)系统管理员操作界面
2.系统主要功能界面代码实现
a)登陆界面
namespaceWindowsFormsApplication2
{
publicpartialclasslogin:
Form
{
publiclogin()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)//登陆按钮
{
stringuserid=textBox1.Text;//用户名
stringpwd=textBox2.Text;//密码
stringrolename=comboBox1.Text;
stringconn_string="DataSource=MR_LIU\\LIUJIE;InitialCatalog=course_sel;IntegratedSecurity=True;UserID=sa;pwd=liujie260593";
SqlConnectioncon=newSqlConnection();
con.ConnectionString=conn_string;
try
{
con.Open();
//获取角色编号
//Class_rolerole=newClass_role();
SqlCommandcm=newSqlCommand("selectroleidfromt_rolewhererolename=@rolename",con);
cm.Parameters.Add(newSqlParameter("@rolename",rolename));
Form_main.roleid=(int)cm.ExecuteScalar();
con.Close();
con.Open();
stringstr_sql=
"selectcount(userid)fromuser_infwhereuserid=@useridandpwd=@pwdandroleid=(selectroleidfromt_rolewhererolename=@rolename)";//执行的命令Sql
SqlCommandcmd=newSqlCommand(str_sql,con);
cmd.Parameters.Add(newSqlParameter("@userid",userid));
cmd.Parameters.Add(newSqlParameter("@pwd",pwd));
cmd.Parameters.Add(newSqlParameter("@rolename",rolename));
intflag=(int)cmd.ExecuteScalar();
if(flag>0)
{
Form_main.userid=textBox1.Text;
Form_mainf=newForm_main();
f.Show();
this.Hide();
}
else
{
MessageBox.Show("用户名或密码输入不正确!
");
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.ToString());
}
finally
{
con.Close();
}
}
privatevoidlogin_Load(objectsender,EventArgse)
{
stringconn_string="DataSource=MR_LIU\\LIUJIE;InitialCatalog=course_sel;IntegratedSecurity=True;UserID=sa;pwd=liujie260593";
SqlConnectioncon=newSqlConnection();
con.Connec
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学生 选课 管理 系统 实验 报告