版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大理学院数学与计算机学院课程设计报告 课程名称: C#程序设计课程设计 设计题目: 教务管理系统 姓 名: 学 号: 专 业: 班 级: 设计日期: 指导教师: 目 录第一章 教务管理系统综述1第二章 需求获取2 2.1标识参与者2 2.2标识场景2 2.3标识用例2 2.4基本用例图 2 2.5系统组成模块图3第3章 对象建模5 3.1标识术语5 3.2标识对象的属性及方法5第四章 对象模型、窗体的设计及结构10(一)学生功能部分10(二)教师功能部分15第五章 编码17 (一)定义一个数据库连接类 DataBaseLink17(二)定义一个登录类 Denglu18(三)定义用户类19(四)
2、Program类27(五)登录界面 login28(六)系统主界面 mainform30(七)学生功能部分32(八)教师功能部分39第六章 测试46(一)学生功能部分46(二)教师功能部分49实验总结5254第 54 页第一章 教务管理系统综述描述教务管理系统业务 教务管理系统主要由学生、教师和系统管理员组成,是对学校所有学生和教师信息管理的系统。 系统管理员实现对教师信息、课程信息、学生信息和学生成绩进行查询、添加、删除和修改操作。 学生实现对学生个人信息的查询及个人信息和登录密码的修改,网上选课,查询课表,查询个人成绩。 教师实现对教师个人信息的查询及个人信息和登录密码的修改,授课表的查询
3、,对学生成绩的录入和修改操作。 第二章 需求获取2.1标识参与者:管理员、教师、学生2.2标识场景:(1) 系统管理员:实现对教师信息、课程信息、学生信息和学生成绩进行查询、添加、删除和修改操作。(2) 学生实现对学生个人信息的查询及个人信息和登录密码的修改,网上选课,查询课表,查询个人成绩。(3) 教师:实现对教师个人信息的查询及个人信息和登录密码的修改,授课表的查询,对学生成绩的录入和修改操作。2.3标识用例用例1:学生登录教务管理系统参与者:学生主事件流1:(1) 学生启动教务管理系统打开登录界面(2) 学生在登录界面上选择角色“学生”按钮(3) 学生在登录界面上相应处输入用户名和登录密
4、码(4) 学生点击“登录”按钮(5) 系统确认用户信息(6) 显示登录成功信息学生登录成功,用例结束用例2:教师登录教务管理系统参与者:教师主事件流2:(1) 教师启动教务管理系统打开登录界面(2) 教师在登录界面上选择角色“教师”按钮(3) 教师在登录界面上相应处输入用户名和登录密码(4) 教师点击“登录”按钮(5) 系统确认用户信息(6) 显示登录成功信息教师登录成功,用例结束备用事件流1:(2)a用户名不存在或登录密码错误无法登录时返回登录界面重新输入用户名和登录密码2.4基本用例图图1 教务管理系统基本用例模型图2.5系统组成模块图图2图3图4图5 第三章 对象建模3.1标识术语术语即
5、为候选对象1、教务管理系统面向的对象 学生、教师2、 各用户对数据的操作 学生:查询个人基本信息、选课、查询个人选课记录及成绩、修改个人密码; 教师:查询个人基本信息、修改个人密码、输入学生成绩;3.2标识对象的属性及方法绘制对象图(类图) (1)E-R图 1、分E-R图 学 生性别班级所在系年龄密码学号姓名 图6 学生实例E-R图 教师 性别密码所在系教龄编号姓名 图7 教师实例E-R图 课 程学时课程名课程号学分 图8 课程实例E-R图 2、总E-R图 课程 选课学生 m n 成 绩教 师 m n 授课 地点时间 图9 E-R图(2)逻辑结构设计(将E-R图转换成关系模式)由实体集的转换规
6、则可知:一个实体集转换为关系模型中的一个关系,实体集的属性就是关系的属性,实体的码的就是关系的码,关系的结构就是关系模式。因此可得如下三个关系模式: 学生(姓名 学号 密码 性别 年龄 所在系 班级) 教师(姓名 教师编号 密码 性别 教龄 所在系)课程(课程号 课程名称 学时 学分)由总E-R图可知学生与课程之间是多对多的关系,因此要多产生一个关系,其中新关系的码是学生的码和课程的码的结合;同理,教师与课程之间也要产生一个新关系,新关系的码是教师的码和课程的码的结合。因此可得如下两个关系模式:选课(学号 课程号 成绩 状态)授课(教师编号 课程号 上课时间 上课地点)(3)数据库物理结构设计
7、(将关系模式转换成关系) 1)表的结构 1、学生表(STable)图102、教师表(TTable)图113、 课程表(course)图124、 选课表(courselect)图135、 授课表(teach)图14(4)各表的内容 1、(学生表)STable: 图15 2、(教师表)TTable图163、 (课程表)course图174、 (选课表)courselect图185、 (授课表)teach图19第4章 对象模型、窗体的设计及结构(一)学生功能部分(1) 登录界面 login 1)窗体截图 图20 登录窗体2)控件属性控件名称属性属性值labeltext欢迎使用教务管理系统、角色、用户
8、名:、密码:radiobottontext学生、教师textboxbottontext登录、退出 (2) 系统主界面 mainform 1)窗体截图 图21 系统主窗体 2)控件属性控件名称属性属性值paneltextbottontext学生管理、教师管理、退出系统splitContainertext(3) 学生界面 stuform1) 窗体截图 图22 学生登录后的界面2)控件属性控件名称属性属性值labeltext学生个人信息:、姓名:、编号:、性别:、年龄:、系别:、班级:、选课记录:、修改个人信息:textboxdatagridviewbottontext密码修改、确定修改、选课、退出
9、(4) 密码修改界面 psdmodify1) 窗体截图 图23 学生密码修改界面2) 控件属性控件名称属性属性值labeltext学生密码修改、请输入当前密码:、请输入新密码:、请再次输入新密码:textboxbottontext确定修改、退出(5) 选课界面 sc1)窗体截图 图24 学生选课界面2) 控件属性控件名称属性属性值labeltext学生选课界面datagridviewbottontext确定选课、取消 (二)教师功能部分(1) 系统主界面 mainform 1)窗体截图 图25 系统主窗体 2)控件属性控件名称属性属性值paneltextbottontext学生管理、教师管理、
10、退出系统splitContainertext(2)登录成功后界面 teacherform1) 窗体截图 图26 教师登录后界面2) 控件属性控件名称属性属性值labeltext教师个人信息:、姓名:、编号:、性别:、教龄:、系别:、修改个人信息:textboxbottontext修改密码、确定修改、输入学生成绩、退出(3)密码修改界面 tpsdmodify1) 窗体截图 图27 密码修改界面2) 控件属性控件名称属性属性值labeltext教师密码修改、请输入当前密码:、请输入新密码:、请再次输入新密码:textboxbottontext确定修改、退出(4)输入学生成绩界面 gradeinpu
11、t 1)窗体截图 图28 成绩输入界面2) 控件属性控件名称属性属性值labeltext学生成绩输入界面datagridviewbottontext确定输入、退出第五章 编码完成所有类的功能(1) 定义一个数据库连接类 DataBaseLink代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace WindowsFormsApplication2 class DataBas
12、eLink public string str = Data Source = .sqlexpress;Initial Catalog = EducationManageSystem;User ID=sa;Password=123456; public SqlConnection DataLink() SqlConnection con = new SqlConnection(str); return con; (2) 定义一个登录类 Denglu代码using System;using System.Collections.Generic;using System.Linq;using Sy
13、stem.Text;using System.Data;using System.Data.SqlClient;using System.Windows.Forms;using ConsoleApplication2;namespace WindowsFormsApplication2 class Denglu public DataSet Rst1 = new DataSet(); public DataSet Rst2 = new DataSet(); private DataTable STable; private DataTable TTable; private DataRow S
14、Row; private DataRow TRow; SUser suser = new SUser(); TUser tuser = new TUser(); public bool SUserConfirm(string sname, string spsd) Rst1 = suser.GetData(null); STable = Rst1.Tables0; for (int i = 0; i STable.Rows.Count; i+) this.SRow = STable.Rowsi; STable.Columns.Remove(STable.Columns1); if (SRow1
15、.ToString().Trim() = sname & SRow2.ToString().Trim() = spsd) mainform.blCanLogin =true; break; return true; public bool TUserConfirm(string tname, string tpsd) Rst2 = tuser.GetData(null); TTable = Rst2.Tables0; for (int i = 0; i TTable.Rows.Count; i+) this.TRow = TTable.Rowsi; TTable.Columns.Remove(
16、TTable.Columns1); if (TRow1.ToString().Trim() = tname & TRow2.ToString().Trim() = tpsd) mainform.blCanLogin = true; break; return true; public string psd get; set; public string username get; set; (3) 定义用户类(1) 学生用户类 SUser代码using System;using System.Collections.Generic;using System.Linq;using System.
17、Text;using System.Data;using System.Data.SqlClient;using System.Windows.Forms;namespace WindowsFormsApplication2 public class SUser DataBaseLink db = new DataBaseLink(); public void Add(String st) using (SqlConnection con = db.DataLink() if (con.State = ConnectionState.Closed) con.Open(); try string
18、 sql = Insert into STable(sname,sno,ssex,sage,sdep,cla) Values(sname,sno,ssex,sage,sdep,cla);/查询语句同学也可以参考教材上的例子编括写 SqlCommand cmd = new SqlCommand(sql, con); SqlParameter p1 = new SqlParameter(sname, st0); SqlParameter p2 = new SqlParameter(sno, st1); SqlParameter p3 = new SqlParameter(ssex, st2); S
19、qlParameter p4 = new SqlParameter(sage, st3); SqlParameter p5 = new SqlParameter(sdep, st4); SqlParameter p6 = new SqlParameter(cla, st5); cmd.Parameters.Add(p1); cmd.Parameters.Add(p2); cmd.Parameters.Add(p3); cmd.Parameters.Add(p4); cmd.Parameters.Add(p5); cmd.Parameters.Add(p6); cmd.ExecuteNonQue
20、ry(); MessageBox.Show(信息添加成功!); catch (Exception ex) MessageBox.Show(错误: + ex.Message, 错误提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Error); finally if (con.State = ConnectionState.Open) con.Close(); con.Dispose(); public DataSet GetData(string st) DataSet ds = new DataSet(STable); using (SqlConn
21、ection con = db.DataLink() if (con.State = ConnectionState.Closed) con.Open(); try string sql = Select * From STable; SqlDataAdapter sqlda = new SqlDataAdapter(sql, con); sqlda.Fill(ds); catch (Exception ex) MessageBox.Show(错误: + ex.Message, 错误提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Error); f
22、inally if (con.State = ConnectionState.Open) con.Close(); con.Dispose(); return ds; public void Delete(string id) using (SqlConnection con = db.DataLink() if (con.State = ConnectionState.Closed) con.Open(); try string sql = Delete From STable Where sno= + + id + ; SqlCommand comd = new SqlCommand(sq
23、l, con); comd.ExecuteNonQuery(); catch (Exception ex) MessageBox.Show(错误: + ex.Message, 错误提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Error); finally if (con.State = ConnectionState.Open) con.Close(); con.Dispose(); public void Updata(String st, string id) using (SqlConnection con = db.DataLink()
24、 if (con.State = ConnectionState.Closed) con.Open(); try string sql = Update STable set sname=sname,sno=sno,ssex=ssex,sage=sage,sdep=sdep,cla=cla where sno = + + id + ; SqlCommand cmd = new SqlCommand(sql, con); SqlParameter p1 = new SqlParameter(sname, st0); SqlParameter p2 = new SqlParameter(sno,
25、st1); SqlParameter p3 = new SqlParameter(ssex, st2); SqlParameter p4 = new SqlParameter(sage, st3); SqlParameter p5 = new SqlParameter(sdep, st4); SqlParameter p6 = new SqlParameter(cla, st5); cmd.Parameters.Add(p1); cmd.Parameters.Add(p2); cmd.Parameters.Add(p3); cmd.Parameters.Add(p4); cmd.Paramet
26、ers.Add(p5); cmd.Parameters.Add(p6); cmd.ExecuteNonQuery(); catch (Exception ex) MessageBox.Show(错误: + ex.Message, 错误提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Error); finally if (con.State = ConnectionState.Open) con.Close(); con.Dispose(); (2) 教师用户类 TUser代码using System;using System.Collections
27、.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Windows.Forms;namespace WindowsFormsApplication2 public class TUser DataBaseLink db = new DataBaseLink(); public void Add(String st) using (SqlConnection con = db.DataLink() if (con.State = Connec
28、tionState.Closed) con.Open(); try string sql = Insert into TTable(tname,tno,tsex,tage,tdep) Values(tname,tno,tsex,tage,tdep);/查询语句同学也可以参考教材上的例子编括写 SqlCommand cmd = new SqlCommand(sql, con); SqlParameter p1 = new SqlParameter(tname, st0); SqlParameter p2 = new SqlParameter(tno, st1); SqlParameter p3
29、= new SqlParameter(tsex, st2); SqlParameter p4 = new SqlParameter(tage, st3); SqlParameter p5 = new SqlParameter(tdep, st4); cmd.Parameters.Add(p1); cmd.Parameters.Add(p2); cmd.Parameters.Add(p3); cmd.Parameters.Add(p4); cmd.Parameters.Add(p5); cmd.ExecuteNonQuery(); MessageBox.Show(信息添加成功!); catch
30、(Exception ex) MessageBox.Show(错误: + ex.Message, 错误提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Error); finally if (con.State = ConnectionState.Open) con.Close(); con.Dispose(); public DataSet GetData(string st) DataSet ds = new DataSet(TTable); using (SqlConnection con = db.DataLink() if (con.Sta
31、te = ConnectionState.Closed) con.Open(); try string sql = Select * From TTable; SqlDataAdapter sqlda = new SqlDataAdapter(sql, con); sqlda.Fill(ds); catch (Exception ex) MessageBox.Show(错误: + ex.Message, 错误提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Error); finally if (con.State = ConnectionState
32、.Open) con.Close(); con.Dispose(); return ds; public void Delete(string id) using (SqlConnection con = db.DataLink() if (con.State = ConnectionState.Closed) con.Open(); try string sql = Delete From TTable Where tno= + + id + ; SqlCommand comd = new SqlCommand(sql, con); comd.ExecuteNonQuery(); catch
33、 (Exception ex) MessageBox.Show(错误: + ex.Message, 错误提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Error); finally if (con.State = ConnectionState.Open) con.Close(); con.Dispose(); public void Updata(String st, string id) using (SqlConnection con = db.DataLink() if (con.State = ConnectionState.Close
34、d) con.Open(); try string sql = Update TTable set tname=tname,tno=tno,tsex=tsex,tage=tage,tdep=tdep where tno = + + id + ; SqlCommand cmd = new SqlCommand(sql, con); SqlParameter p1 = new SqlParameter(tname, st0); SqlParameter p2 = new SqlParameter(tno, st1); SqlParameter p3 = new SqlParameter(tsex, st2); SqlParameter p4 = new SqlParameter(tage, st3); SqlParameter p5 = new Sq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 结、直肠与肛管疾病(肛裂+肛周脓肿)总结2026
- 人事工作中的危机公关与舆情应对策略研究
- 第二学期小学数学、英语教研组工作计划
- 医药行业销售代表工作计划范例
- 2025年AI财税系统发票信息自动识别技术应用
- 关于同庆和谐盛世演讲稿
- 商场“绿色魔法”节能环保制度
- 2025年AI艺术生成技术的安全合规与数据保护
- 最美逆行者励志演讲稿
- 做个安静的女人演讲稿
- 【真题】江苏省宿迁市2025年中考物理试卷(含答案解析)
- 《新能源汽车电气系统构造与检修》中职全套教学课件
- 义务教育数学课程标准(2025年版)考试题库含答案
- 国际商务-导论
- 2025年重庆市中考数学真题卷含答案解析
- 新生儿血糖监测技术
- 《信号工程施工》课件全套 穆中华 项目1-3 信号图纸识读、施工技能训练、信号联锁试验
- 财经法规与会计职业道德(第六版)课件全套 第1-5章 会计法律制度-会计职业道德
- 工厂保洁管理办法
- 行政规范性文件管理课件
- 技术创新与管理课件
评论
0/150
提交评论