安工大学生选课系统.docx
- 文档编号:17079611
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:28
- 大小:448.41KB
安工大学生选课系统.docx
《安工大学生选课系统.docx》由会员分享,可在线阅读,更多相关《安工大学生选课系统.docx(28页珍藏版)》请在冰点文库上搜索。
安工大学生选课系统
学生选课系统
姓名:
学号:
班级:
指导老师:
周兵
1.课程设计目的
1、实验目的
能按照软件工程的思想,采用面向对象的方法开发出一个小型软件系统。
在此过程中,能综合利用以前所学习的专业知识。
加深对软件工程这门学科知识的理解,并掌握其基本的技能及方法,培养良好的软件开发素养。
2、课程选择背景
随着近几年高校的持续招生,各个高校的学生人数逐年增加。
而每到新学期来临之际,“选课”是现在高校行政管理工作中一项很重要的任务而且是每个学期都必须要面对的问题。
选课工作做不好,学生不知道自己将要学习的课程,老师也不知道自己将要讲授的课程,教务处的排课计划、教室安排等其他调度工作也无从做起。
因此,如何解决高校教务管理中的选课工作便成为了如今各大高校面临的很实际的问题。
为了满足学校与学生的共同需求,低成本高回报的小型选课系统成了重点,它可以提升高校的教育质量和教学管理质量,提高工作效率,降低行政成本。
2.课程设计要求
1.基本了解和掌握面向对象的开发的过程与方法。
2.基本能够完成所要求的系统。
3.报告文档符合具体要求。
1)数据要求
所存储和查询的数据要符合本学校的具体情况,所涉及的字段至少应包括(名称可以不同):
学生姓名、学号、登陆密码、性别、出生年月、籍贯、地址、学生电话、家庭地址、教师号、教师姓名、教研室、职称、性别、教师电话、课名、课号、学分、先行课号、课时、开课教室、人数限制、选课人数、考试成绩、平时成绩、总评成绩。
2)功能要求
功能至少应有:
等录、查询开课情况、查询选课情况、查询成绩、选课、退课等。
3)设计要求
整个系统的开发过程及方法应符合软件工程的要求,软件能够正常运行。
3.课程设计内容
1)需求分析
1、运行环境需求:
操作系统:
Windows7
数据库:
access
开发工具:
MicrosoftVisualStudio
2、功能分析:
添加教师、学生、课程等信息。
查询授课情况,选择授课、查询开课情况、查询选课情况、查询成绩、选课
2)软件设计
1、软件描述
程序开始有一个登陆界面,在登陆界面的要有输入用户名,输入密码,根据登录信息,权限分为三种:
管理员、教师、学生。
当用户权限为管理员的时候,进入的是管理员操作界面,当进入管理员界面的时候,里面有三种选项,三种选项分别是:
学生管理、教师管理、课程管理。
当分别选择不同的选项的时候分别进入3种界面:
学生信息维护界面、教师信息维护界面、教师信息维护界面。
当用户权限为教师的时候,进入的是教师操作界面,在该界面教师可以选择并查询授课信息
当用户权限为学生的时候,进入的是学生操作界面,该界面学生申请选课,查询所选课程,查询成绩等。
2、功能模块
(1)登录模块
登录模块提供用户登录界面,用户输入正确的用户名和密码后,则可进入系统主窗口(即导航页面),从而可以选择进入相应权限的子系统。
(2)学生模块
该模块学生可以进行申请选课、查询已选课程、修改密码、成绩查询等操作
(3)教师模块
该模块是教师模块,提供选择授课,查询已授课程,修改密码等功能-
(4)管理员模块
管理学生信息:
学号、姓名、性别、身份证号、学院班级、生日、入学时间、政治面貌、学制、电话、家庭住址等信息
管理教师信息:
教师标号、姓名、性别、身份证号、所在部门、生日、入职时间、政治面貌、电话、家庭住址等信息
管理课程信息:
课程编号、课程名、课程类型、课程学分等信息
并提供对以上各信息的增、删、改的操作
3、表的设计:
2、用例图
时序图:
4、部分源代码:
1、登录界面
publicpartialclassLoginForm:
Form
{
publicLoginForm()
{
InitializeComponent();
skinEngine1.SkinFile="MSN.ssk";
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
CUserInfoUser=GetEnityUSer();
CLoginPROlog=newCLoginPRO();
stringRes=log.LogSelectUser(User);
if(Res=="NO")
MessageBox.Show("NO");
elseif(Res==String.Empty)
MessageBox.Show("NONE");
else
{
string[]temp=Res.Split('|');
User.usertype=temp[3];
User.usertime=DateTime.Parse(temp[4]);
GlobaInfo.UserInfo=User;
//MessageBox.Show(temp[0]+temp[1]+temp[2]+temp[3]+temp[4]);
//MessageBox.Show(GlobaInfo.UserInfo.userno+GlobaInfo.UserInfo.userpsd+GlobaInfo.UserInfo.usertime.ToString()+temp[3]+GlobaInfo.UserInfo.usertype);
MessageBox.Show("登录成功!
您的权限是:
"+GlobaInfo.UserInfo.usertype);
if(GlobaInfo.UserInfo.usertype=="管理员")
{
AdminMainFormAdminForm=newAdminMainForm();
AdminForm.Show();
this.Hide();
}
if(GlobaInfo.UserInfo.usertype=="教师")
{
TeaMainFormTeaMain=newTeaMainForm();
TeaMain.Show();
this.Hide();
}
if(GlobaInfo.UserInfo.usertype=="学生")
{
StuMainFormStuForm=newStuMainForm();
StuForm.Show();
this.Hide();
}
}
}
privateCUserInfoGetEnityUSer()
{
CUserInfoUser=newCUserInfo();
User.userno=txtname.Text;
User.userpsd=txtpsd.Text;
User.usertime=DateTime.Now;
User.usertype=null;
returnUser;
}
privatevoidLoginForm_FormClosing(objectsender,FormClosingEventArgse)
{
Application.Exit();
}
}
2、学生主界面
publicpartialclassStuMainForm:
Form
{
publicStuMainForm()
{
InitializeComponent();
}
privatevoid选课ToolStripMenuItem_Click(objectsender,EventArgse)
{
StuSelCouStuCou=newStuSelCou();
StuCou.MdiParent=this;
StuCou.Show();
}
privatevoid我的课程列表ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyCoursemyCourse=newMyCourse();
myCourse.MdiParent=this;
myCourse.Show();
}
privatevoid修改密码ToolStripMenuItem_Click(objectsender,EventArgse)
{
AlterMyPsdFormAlterMyPsd=newAlterMyPsdForm();
AlterMyPsd.MdiParent=this;
AlterMyPsd.Show();
}
privatevoid注销登录ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLogOut.myLogOut(this);
}
privatevoid层叠ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLayOut.myLayOutCasc(this);
}
privatevoid水平排列ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLayOut.myLayOutHor(this);
}
privatevoid垂直排列ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLayOut.myLayOutVer(this);
}
privatevoidStuMainForm_FormClosing(objectsender,FormClosingEventArgse)
{
Application.Exit();
}
privatevoidStuMainForm_Load(objectsender,EventArgse)
{
}
}
3、教师主界面
publicpartialclassTeaMainForm:
Form
{
publicTeaMainForm()
{
InitializeComponent();
}
privatevoid选择ToolStripMenuItem_Click(objectsender,EventArgse)
{
TeaAdminCouteaCou=newTeaAdminCou();
teaCou.MdiParent=this;
teaCou.Show();
}
privatevoid查看一教授课程ToolStripMenuItem_Click(objectsender,EventArgse)
{
TeaSelectedConTeaSelCou=newTeaSelectedCon();
TeaSelCou.MdiParent=this;
TeaSelCou.Show();
}
privatevoid修改密码ToolStripMenuItem_Click(objectsender,EventArgse)
{
AlterMyPsdFormMyPsd=newAlterMyPsdForm();
MyPsd.MdiParent=this;
MyPsd.Show();
}
privatevoid注销登录ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLogOut.myLogOut(this);
}
privatevoid层叠ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLayOut.myLayOutCasc(this);
}
privatevoid水平排列ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLayOut.myLayOutHor(this);
}
privatevoid垂直排列ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLayOut.myLayOutVer(this);
}
privatevoidTeaMainForm_FormClosing(objectsender,FormClosingEventArgse)
{
Application.Exit();
}
privatevoidTeaMainForm_Load(objectsender,EventArgse)
{
}
}
4、管理员主界面
publicpartialclassAdminMainForm:
Form
{
publicAdminMainForm()
{
InitializeComponent();
}
privatevoidxToolStripMenuItem_Click(objectsender,EventArgse)
{
AdStudentFormAddForm=newAdStudentForm();
AddForm.MdiParent=this;
AddForm.Show();
}
privatevoid教师管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
AdminTeaFormTeaForm=newAdminTeaForm();
TeaForm.MdiParent=this;
TeaForm.Show();
}
privatevoid课程管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
AdminCourseCouForm=newAdminCourse();
CouForm.MdiParent=this;
CouForm.Show();
}
privatevoid添加管理员ToolStripMenuItem_Click(objectsender,EventArgse)
{
AddAdminAddAdminForm=newAddAdmin();
AddAdminForm.MdiParent=this;
AddAdminForm.Show();
}
privatevoid修改我的密码ToolStripMenuItem_Click(objectsender,EventArgse)
{
AlterMyPsdFormAlterMyPsd=newAlterMyPsdForm();
AlterMyPsd.MdiParent=this;
AlterMyPsd.Show();
}
privatevoid注销登录ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLogOut.myLogOut(this);
}
privatevoid层叠ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLayOut.myLayOutCasc(this);
}
privatevoid水平排列ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLayOut.myLayOutHor(this);
}
privatevoid垂直排列ToolStripMenuItem_Click(objectsender,EventArgse)
{
MyLayOut.myLayOutVer(this);
}
privatevoidAdminMainForm_FormClosing(objectsender,FormClosingEventArgse)
{
Application.Exit();
}
privatevoidAdminMainForm_Load(objectsender,EventArgse)
{
}
}
5、增加学生功能
publicpartialclassAdStudentForm:
Form
{
publicAdStudentForm()
{
InitializeComponent();
}
stringStuNOForDel;
boolIsAddStuInfo=false;
privateCStuInfoGetStuInfo()
{
CStuInfoStudentInfo=newCStuInfo();
StudentInfo.stuadmitdate=DateTime.Parse(dtpAdmitime.Text);
StudentInfo.stuAdress=txtAdress.Text;
StudentInfo.stuBirth=DateTime.Parse(dtpBirth.Text);
StudentInfo.stuclass=txtclass.Text;
StudentInfo.stucollege=txtcollege.Text;
StudentInfo.stugraduatedate=DateTime.Parse(dtpGraduatetime.Text);
StudentInfo.stuID=txtID.Text;
StudentInfo.stuname=txtname.Text;
StudentInfo.stuno=txtno.Text;
StudentInfo.stuparty=cmbParty.Text;
StudentInfo.stusex=cmbsex.Text;
StudentInfo.stutel=txtTel.Text;
StudentInfo.stutype=cmbType.Text;
returnStudentInfo;
}
privateCUserInfoGetStuInfoForUser()
{
CUserInfouser=newCUserInfo();
user.userno=txtno.Text;;
user.userpsd=txtpsd.Text;
//user.usertime=DateTime.Parse(dtpAdmitime.Text);
user.usertime=DateTime.Today;
user.usertype="学生";
returnuser;
}
privatevoidtoolStripButton1_Click(objectsender,EventArgse)
{
if(IsAddStuInfo)
{
if(!
IsTextNULL()){MessageBox.Show("发生错误,信息填写不完整!
");return;}
IsAddStuInfo=false;
CStuInfostudent=GetStuInfo();
if(CAdminPRO.AdminAddtStudent(student))
{
//添加成功
}
else
{
MessageBox.Show("发生错误,请稍候重试!
");
}
CUserInfouser=GetStuInfoForUser();
if(CAdminPRO.AddToUser(user))
{
//添加成功
}
else
{
MessageBox.Show("发生错误,发生错误,请稍候重试!
");
}
ShowAllStuPerInfo();
}
else
{
CStuInfostudent=GetStuInfo();
CUserInfouser=GetStuInfoForUser();
if(CAdminPRO.UpdateAllInfoForStu(student,user))
{
//修改成功
}
else
{
MessageBox.Show("发生错误,请稍候重试!
");
}
ShowAllStuPerInfo();
}
//MessageBox.Show("发生错误,请稍候重试!
");
}
privatevoidbindingNavigatorAddNewItem_Click(objectsender,EventArgse)
{
}
privatevoidShowAllStuPerInfo()
{
//[stuno]as学号,[stuname]as姓名,[stusex]as性别,[stuID]as身份证号,[stuAdress]as家庭住址,
//[stuclass]as班级,[stuBirth]as出生年月,[stuadmitdate]as入学时间,[stugraduatedate]as毕业时间
//,[stuparty]as政治面貌,[stutype]as学制,[stutel]as电话,[stucollege]as学院,[userpsd]as密码,[usertime]as创建时间from[stuInfo],[userInfo]where[stuno]=@stunoand[stuInfo.stuno]=[userInfo.userno]";
DataTabledt=CAdminPRO.GetDataTableForStu();
dgvStuPerInfo.DataSource=dt;
ControlRelateData();
//StudentInfo.stuadmitdate=DateTime.Parse(dtpAdmitime.Text);
//txtAdress.DataBindings.Add(newBinding("text",dt,"stuAdress"));
//StudentInfo.stuBirth=DateTime.Parse(dtpBirth.Text);
//txtclass.DataBindings.Add(newBinding("Text",dt,"stuclass"));
//txtcollege.D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学生 选课 系统