版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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.li
13、nq;using system.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; privat
14、e datarow srow; 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.colu
15、mns1); if (srow1.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
16、.rowsi; ttable.columns.remove(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.
17、generic;using system.linq;using system.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 = connect
18、ionstate.closed) con.open(); try string 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 sqlparamet
19、er("sno", 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.
20、add(p2); cmd.parameters.add(p3); cmd.parameters.add(p4); cmd.parameters.add(p5); cmd.parameters.add(p6); cmd.executenonquery(); messagebox.show("信息添加成功!"); catch (exception ex) messagebox.show("错误:" + ex.message, "错误提示", messageboxbuttons.okcancel, messageboxicon.error)
21、; finally if (con.state = connectionstate.open) con.close(); con.dispose(); public dataset getdata(string st) dataset ds = new dataset("stable"); using (sqlconnection con = db.datalink() if (con.state = connectionstate.closed) con.open(); try string sql = "select * from stable" s
22、qldataadapter sqlda = new sqldataadapter(sql, con); sqlda.fill(ds); catch (exception ex) messagebox.show("错误:" + ex.message, "错误提示", messageboxbuttons.okcancel, messageboxicon.error); finally if (con.state = connectionstate.open) con.close(); con.dispose(); return ds; public void
23、 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(sql, con); comd.executenonquery(); catch (exception
24、 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 = connecti
25、onstate.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); sqlpara
26、meter p2 = new sqlparameter("sno", 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
27、.add(p1); cmd.parameters.add(p2); cmd.parameters.add(p3); cmd.parameters.add(p4); cmd.parameters.add(p5); cmd.parameters.add(p6); cmd.executenonquery(); catch (exception ex) messagebox.show("错误:" + ex.message, "错误提示", messageboxbuttons.okcancel, messageboxicon.error); finally if
28、(con.state = connectionstate.open) con.close(); con.dispose(); (2) 教师用户类 tuser代码using system;using system.collections.generic;using system.linq;using system.text;using system.data;using system.data.sqlclient;using system.windows.forms;namespace windowsformsapplication2 public class tuser databaselin
29、k db = new databaselink(); public void add(string st) using (sqlconnection con = db.datalink() if (con.state = connectionstate.closed) con.open(); try string sql = "insert into ttable(tname,tno,tsex,tage,tdep) values(tname,tno,tsex,tage,tdep)"/查询语句同学也可以参考教材上的例子编括写 sqlcommand cmd = new sqlc
30、ommand(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 sqlparameter("tdep&
31、quot;, 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 (exception ex) messagebox.show("错误:" + ex.message, "错误提示", messageboxbuttons.okc
32、ancel, 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.state = connectionstate.closed) con.open(); try string sql = "
33、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.open) con.close(); con.dispo
34、se(); 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.execute
35、nonquery(); 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.datalin
36、k() if (con.state = connectionstate.closed) 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 s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版多房产离婚协议书-2025年度家庭财产分割实施流程2篇
- 二零二五年度餐饮业餐饮店装修设计与施工服务合同2篇
- 二零二五版广告牌广告位租赁与广告效果分析合同3篇
- 二零二五年度钢板租赁及节能改造服务合同2篇
- 二零二五版房屋抵押借款合同及借款收据范本3篇
- 二零二五年度软装方案创意设计合同2篇
- 二零二五年度火锅店原料采购及质量控制合同范本3篇
- 二零二五版跨境电商个人合伙退伙合同范本3篇
- 二零二五年度顶账房买卖合同备案及注销协议3篇
- 二零二五版绿色建筑项目垫资合同范本共3篇
- 《疥疮的防治及治疗》课件
- Unit4 What can you do Part B read and write (说课稿)-2024-2025学年人教PEP版英语五年级上册
- 2025年MEMS传感器行业深度分析报告
- 《线控底盘技术》2024年课程标准(含课程思政设计)
- 学校对口帮扶计划
- 仓库仓储安全管理培训课件模板
- 风力发电场运行维护手册
- 《3-6岁儿童学习与发展指南》专题培训
- 河道旅游开发合同
- 情人合同范例
- 建筑公司劳务合作协议书范本
评论
0/150
提交评论