教学教务标准管理系统.doc
《教学教务标准管理系统.doc》由会员分享,可在线阅读,更多相关《教学教务标准管理系统.doc(24页珍藏版)》请在咨信网上搜索。
教学教务管理系统window窗体 1. 总体设计 1.1. 编写目 某学院教务处教学事务现由手工管理,效率低、易出错、耗费人力。教务处但愿设计一种实用教学事务管理系统,完毕学生学籍管理、报到注册、课程选取、成绩登入、各种告知单打印和报表输出等 1.2. 可行性分析 可运用既有学校资源,结合惯用vs、sql 等软件即可。软件提成c/s模式。开发人员具备一定经验,可开发某些小软件。 1.3. 性能分析 管理,维护上万条学生记录信息。 能满足近百位学生同步对个人信息查询。 具备较高可靠性。安全和保密性高。 1.4. 系统分析 教务管理系统是一种面向学校教务人员,为其提供服务综合信息管理系统。教务人员通过本系统完毕有关寻常工作,这些工作也是寻常较为繁重工作。学生个人信息、所有课程考试成绩以及每学期开课状况都记录在教务系统里进行管理。 1.5. 需求分析 旨在开发一种统一网上教务信息管理平台,运用信息化手段辅助教学管理,达到提高我校教学管理信息化水平目。学生学籍管理:建立学生学籍档案,对新入学学生进行登记,将她们信息记入学籍档案,对毕业、休学、退学学生进行除名、注销,对调节专业学生必要做调节记载。对变动状况建立备忘录,对上述状况变动因素、时间、去向等进行记载。学生学期开学课程选取,对必修课、限选课直接录入,计算总成绩、平均成绩,并按班级排出名次。记录功能,记录各门课程及格率,先进率,各分数档人选。系统可查选学生学籍状况和选课、学习状况,打印学籍表、个人成绩报告表、班级名词表、各门课程登记表等规定表格。 2. 总体设计 2.1. 软件模块构造设计 依照系统分析成果,按照构造化系统设计办法,教学事务管理系统从功能由 模块名 功能简介 信息管理 录入学生基本信息,如姓名,学号,籍贯,性别,家庭住址,出生年月等基本信息 状态管理 对其毕业,休学,调节专业等进行备忘解决。 成绩管理 对选修课必修课成绩录入,计算成绩,排名等功能 顾客登录 2.2. 板块设计 验证登录 主界面 课程管理 成绩管理 信息管理 状态管理 2.2.1. 登录界面流程解决图 主界面 判断 对的 输入 账号 顾客 选取 开始 界面 2.2.2. 学生信息管理构造图 信息管理 查询学生信息 添加学生信息 学号查询 名字查询 修改学生信息 登录账号权限 2.2.3. 状态信息管理构造图 状态管理 转专业管理 退学管理 休学解决 2.2.4. 课程管理状态图 课程管理 添加课程 查询课程 删除课程 修改课程 2.2.5. 成绩管理状态图 单科成绩 成绩管理 添加学生成绩 查询学生信息 班级科目 先进率 各分段 成绩排名 班级排名 总成绩 及格率 记录学生信息 平均成绩 3. .接口设计 3.1. 顾客接口 在顾客界面某些,依照需求分析成果,顾客需要一种顾客友善界面。在界面设计上,应做到简朴明了,易于操作,并且要注意到界面布局,应突出显示重要以及出错信息。其中针对教务管理人员界面要做到操作简朴,易于管理。在设计上采用逐级下拉式菜单方式。同步,运营出错时应以原则形式给出出错提示。 3.2. 外部接口 服务器端程序可DAO(数据访问对象)应用程序编程接口(API),对SQL SERVER数据库进行所有访问。 服务器程序上可使用SQL SERVER 对数据库备分命令,以做到对数据保存。 3.3. 内部接口 信息管理模块:对其她模块提供对学生信息查询接口,涉及按学号、姓名和班级三种查询方式。 4. 数据库需求分析 通过对学校管理工作过程内容和数据流图分析,设计如下面数据项和数据构造。 l 学生档案,涉及数据项有:学生学号、姓名、性别、出生年月、籍贯、政治面貌、家庭住址、入学时间、学院、专业、年级、班级。 l 课程选取,涉及数据项有:课程编号、课程名称. l 课程成绩,涉及数据项有:学生编号、学生姓名、课程编号、课程名称、课程成绩。 l 备忘录,涉及数据项有:学生编号、学生姓名、去向、因素、时间,系院、专业、年级、班级。 l 学生成绩状况,涉及数据项有:学生编号、学生姓名、总成绩、平均成绩、班级。 l 数据库概念构造设计 依照上面设计规划出实体,咱们对各个实体详细描述E-R图如下: 课程 课程编号 课程名称 课程选取e-r 班级 状态 学生编号 年级 专业 姓名 学生 性别 学院 出生年月 家庭住址 籍贯 政治面貌 学生信息e—r 学生编号 学生姓名 课程成绩 课程成绩 课程编号 课程名称 课程成绩e-r 学生编号 班级 学生姓名 年级 备忘录 专业 去向 系院 因素 时间 备忘录e-r 学生编号 学生姓名 学生成绩状况 班级 平均成绩 总成绩 学生成绩状况e-r 4.1. 数据库逻辑构造设计 STUDENT_INFO(学生信息表) 字段名 数据类型 长度 阐明 描述 ID nchar 10 不空,主键 学生编号 NAME nvarchar 20 不空 学生姓名 SEX nchar 10 不空‘男’、‘女’ 性别 BIRTHDAY datetime 不空 出生年月 JG nvarchar 50 不空 籍贯 ZZMM nvarchar 50 不空 政治面貌 JTZZ nvarchar 50 不空 家庭住址 RXDATE datetime 不空 入学日期 XY nvarchar 20 不空 系院 ZY nvarchar 20 不空 专业 NJ nvarchar 20 不空 年龄 CLASS nvarchar 20 不空 班级 ZT nvarchar 20 不空 状态 CS_INFO(课程成绩信息) 字段名 数据类型 长度 阐明 描述 CS_STUD_ID nchar 10 不空,主键 学生编号 CS_STUD_NAME nvarchar 20 不空 学生姓名 CS_COU_ID nchar 10 不空,主键 课程编号 CS_COU_NAME nvarchar 30 不空 课程名称 CS_GRADE int 不空 成绩 SC(课程信息表) 字段名 数据类型 长度 阐明 描述 C_ID nchar 10 不空,主键 课程编号 C_NAME nvarchar 30 不空 课程名称 BWL_INFO(备忘录) 字段名 数据类型 长度 阐明 描述 STU_ID nchar 10 不空,主键 学生编号 STU_NAME nvarchar 20 不空 学生姓名 BWL nvarchar 50 不空 去向 REASON nvarchar 50 不空 因素 TIME datetime 不空 时间 XY nvarchar 20 不空 去系院 ZY nvarchar 20 不空 去专业 NJ nvarchar 20 不空 年级 CLASS nvarchar 20 不空 班级 RECORD(学生成绩状况信息) 字段名 数据类型 长度 阐明 描述 RE_STUD_ID nchar 10 不空,外键 学生编号 RE_STUD_NAME nvarchar 20 不空 学生姓名 RE_ALL int 不空 总成绩 RE_AVG int 不空 平均成绩 RE_BANJI nvarchar 20 不空 班级 5. 程序设计 5.1登录界面 该界面为登录窗口,需要对的账号及密码才干对的登录,如图一 图一 登录界面 重要代码设计如下: private void button1_Click(object sender,EventArgs e) {string connString=@"DataSource=(LocalDB)\v11.0; AttachDbFilename=|DataDirectory|\Student.mdf;Integrated Security=True;Connect Timeout=30"; SqlConnection conn=new SqlConnection(connString); conn.Open(); string sql="select * From UserInfo where UserName='"+txtUserName.Text.Trim()+"'and UserPwd='"+txtUserPwd.Text.Trim()+"' "; SqlCommand cmd=new SqlCommand(sql,conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { Username = dr["UserName"].ToString(); frmMain frm = new frmMain(); frm.Show(); this.Hide(); } else { MessageBox.Show("账号或密码错误!请重新输入!","出错了",MessageBoxButtons.OK, MessageBoxIcon.Error);} dr.Close(); conn.Close(); } 5.2程序主界面 该界面为各种功能提供了集合面板,所有程序功能均能在该界面找到相应入口,涉及 修改顾客登录密码、管理学生信息、管理课程信息和管理学生成绩,如图二: 图二 5.3学生信息管理 5.3.1 添加学生信息 该界面提供录入学生信息到数据库当中,如图三 图三 重要代码设计: private void button1_Click(object sender,EventArgs e) { if (txtID.Text.Trim().Length != 0&&txtName.Text!=""&&comboBox1.SelectedValue!="") { string studentSex = ""; if (optMale.Checked) { studentSex = "男"; } if (optFemale.Checked) { studentSex = "女"; } string sql = "insert into studentinfo(StudentId,StudentName,StudentSex,StudentNativePlace,StudentBirthday,studentclass) Values('" + txtID.Text + "',N'" + txtName.Text + "',N'" + studentSex + "',N'" + cbNativePlace.SelectedItem + "','" + dateTimePicker1.Value + "',N'"+comboBox1.SelectedValue+"')"; try { if (OperateDB.ExecuteNonQuery(sql) == 1) { MessageBox.Show("添加成功"); } else { MessageBox.Show("添加失败"); } } catch(Exception err) { MessageBox.Show("数据库读取出错"); } } else { MessageBox.Show("填写完整信息"); } } 5.3.2查询界面 该界面提供查询某学生学籍信息和个人成绩功能,如图四和图五 图四 图五 查询学生信息窗体重要代码如下: private void button1_Click(object sender,EventArgs e) { string sql = "select studentclass as 班级,StudentId as 学号,StudentName as 名字 ,StudentSex as 性别,StudentNativePlace as 籍贯 from StudentInfo where StudentName like N'%"+txtName.Text.Trim()+"%'"; DataSet ds = OperateDB.ExecuteDataSet(sql); dataGridView1.DataSource = ds.Tables[0].DefaultView; } 查询个人成绩窗体重要代码如下: private void button1_Click(object sender,EventArgs e) { if (textBox1.Text == "") { MessageBox.Show("请输入对的信息"); } else { string sql = "select grade_info.Cou_name as 科目 ,grade_info.Grade as 成绩 ,course_info.count as 学分 from course_info join grade_info on course_info.cou_name=grade_info.cou_name where stud_name=N'" + textBox1.Text + "' "; DataSet ds = OperateDB.ExecuteDataSet(sql); dataGridView1.DataSource = ds.Tables[0].DefaultView; } } 5.4课程管理 5.4.1添加课程 为每个班级添加本学期课程内容,如图六 图六 重要代码如下: private void button1_Click(object sender,EventArgs e) { if (textBox1.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && comboBox1.SelectedValue != "") { string sql = "insert into course_info values('" + textBox1.Text + "',N'" + textBox2.Text + "',N'" + textBox3.Text + "','" + textBox4.Text + "')"; string sql2 = "insert into class values(N'" + comboBox1.SelectedValue + "','" + textBox1.Text + "',N'" + textBox2.Text + "')"; OperateDB.ExecuteNonQuery(sql2); try {if (OperateDB.ExecuteNonQuery(sql) == 1) { MessageBox.Show("添加成功"); } else { MessageBox.Show("添加失败"); } } catch (Exception err) { MessageBox.Show("数据库读取失败"); } } else { MessageBox.Show("填写完整信息"); } } 5.4..2查询及修改课程信息 该窗体为查询课程详细信息及修改某些课程属性,如图七 图七 重要代码如下: private void button1_Click(object sender,EventArgs e) {string sql; Regex rx = new Regex("^[\u4E00-\u9FA5]+$"); if (rx.IsMatch(textBox1.Text)) { sql = "select * from course_info where cou_name like N'%" + textBox1.Text + "%' or teacher like N'%"+textBox1.Text+"%'"; } else { sql = "select * from course_info where cou_id like '%"+textBox1.Text+"%'"; } DataSet ds = OperateDB.ExecuteDataSet(sql); dataGridView1.DataSource = ds.Tables[0].DefaultView; } 5.5成绩管理 5.5.1添加学生成绩 该界面可以录入学生本学期所有成绩,如图八 图八 重要代码设计如下: private void textBox1_Leave(object sender,EventArgs e) { string sql = "select Studentid from studentinfo where studentname=N'"+textBox1.Text+"' "; DataSet ds = OperateDB.ExecuteDataSet(sql); textBox2.Text=ds.Tables[0].Rows[0][0].ToString(); } private void comboBox1_Leave(object sender,EventArgs e) { string sql = "select cou_id from course_info where cou_name=N'" + comboBox1.SelectedText + "' "; DataSet ds = OperateDB.ExecuteDataSet(sql); textBox4.Text = ds.Tables[0].Rows[0][0].ToString(); } private void button1_Click(object sender,EventArgs e) { if (textBox1.Text != "" && comboBox1.SelectedValue != "" ) { if (textBox3.Text != "") { string sql = "insert into grade_info values('" + textBox2.Text + "','" + textBox4.Text + "',N'" + textBox1.Text + "','" + textBox3.Text + "',N'" + comboBox1.SelectedValue + "')"; try { if (OperateDB.ExecuteNonQuery(sql) == 1) { MessageBox.Show("添加成功"); } else { MessageBox.Show("添加失败"); } } catch (Exception err) { MessageBox.Show(err.ToString()); } } else{ MessageBox.Show("请输入成绩"); } } else { MessageBox.Show("请输入姓名或科目"); } } private void button2_Click(object sender,EventArgs e) { textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; textBox4.Text = ""; } private void gradeAdd_Load_1(object sender,EventArgs e) { this.course_infoTableAdapter.Fill(this.studentDataSet6.course_info); } } 5.5.2记录班级信息 该界面可以记录某班级某分数段某学科成绩,并显示该分数段人数,同步显示该班级该科及格率和先进率,如图九 图九 重要代码如下: private void frmtongj_Load(object sender,EventArgs e) { this.studentinfoTableAdapter.Fill(this.studentDataSet1.studentinfo); } private void button1_Click(object sender,EventArgs e) { int a=0,b=0;//设立查询数据区间 if(comboBox2.SelectedItem=="及格") { a = 60; b = 100; } else if(comboBox2.SelectedItem=="不及格") { a = 0; b = 59; } else if (comboBox2.SelectedItem == "60~69") { a = 60; b = 69; } else if (comboBox2.SelectedItem == "70~79") { a = 70; b = 79; } else if (comboBox2.SelectedItem == "80~100") { a = 80; b = 100; } else if (comboBox2.SelectedItem == "所有") { a = 0; b = 100; } float m,n;//定义及格人数和先进人数 string sql = "select stud_id as 学号,stud_name as 姓名,grade as 成绩 from grade_info where stud_id IN (select studentid from studentinfo where studentclass=N'" + comboBox1.Text + "' ) and cou_name =N'" + comboBox3.Text + "'and grade>='" + a + "' and grade<='" + b + "' "; DataSet ds = OperateDB.ExecuteDataSet(sql); dataGridView1.DataSource = ds.Tables[0].DefaultView; textBox1.Text = Convert.ToString( ds.Tables[0].Rows.Count); string sql4 = "select stud_id from grade_info where stud_id IN (select studentid from studentinfo where studentclass=N'" + comboBox1.Text + "' ) and cou_name =N'" + comboBox3.Text + "'"; DataSet ds4 = OperateDB.ExecuteDataSet(sql4);//记录该班级总人数 string sql2 = "select stud_id from grade_info where stud_id IN (select studentid from studentinfo where studentclass=N'" + comboBox1.Text + "' ) and cou_name =N'" + comboBox3.Text + "'and grade>=60 "; DataSet ds2 = OperateDB.ExecuteDataSet(sql2);//记录该科几种结识 m =(float) ds2.Tables[0].Rows.Count / (float)ds4.Tables[0].Rows.Count;//计算出及格率 textBox2.Text = Convert.ToString(m); string sql3 = "select stud_id from grade_info where stud_id IN (select studentid from studentinfo where studentclass=N'" + comboBox1.Text + "' ) and cou_name =N'" + comboBox3.Text + "'and grade>=90 "; DataSet ds3 = OperateDB.ExecuteDataSet(sql3);//记录分数不不大于90人数 n = (float)ds3.Tables[0].Rows.Count / (float)ds4.Tables[0].Rows.Count;//计算出先进率 textBox3.Text = Convert.ToString(n); } private void comboBox1_Leave(object sender,EventArgs e) { this.classTableAdapter.Fill(this.studentDataSet3._class); } 5. 系统出错解决设计 5.1. 系统出错信息以及解决办法 系统出错信息以及解决办法一览表: 出错名称 系统输出信息 解决办法 顾客名输入错误 “顾客名错!请重新输入!” 进入登录页面 前三次密码错误 “您密码输入有误,请重新输入!” 进入登录页面 密码错多次数超过三次 “密码错误!请半个小时后再进行登录操作!” 进入默认登录页,并半小时内禁止该顾客进行登录。 输入数据格式错误 “输入格式不对的,请检查后再输入!” 返回原输入页面 不容许为空输入框输入空字符 “请输入!” 弹回原输入页面输入处 选取打印成绩,但未找到可用打印机设备 “未检测到可用打印设备,无法进行打印!” 停止打印操作 系统故障 “服务器维护中!暂停服务!” 及时启用备用机,恢复故障 5.2. 补救办法 由于数据在数据库中已有备份,故在系统出错后可以依托数据库恢复功能,并且依托日记文献使系统再启动,就算系统崩溃顾客数据也不会丢失或遭到破坏。但有也许占用更多数据存储空间,权衡办法由顾客来决定。 6. 项目设计总结 本次项目设计通过设计一种详细程序设计过程,理解到了真实程序是如何实现功能,与错误解决。通过对数据库调用可以更好学习到数据如何工作与分派,也加深了对数据库使用和维护。 也理解到了自己诸多局限性,例如流程图设计,需要一种比较完善设计,考虑到需求分析,尽量做到所有功能均能实现,同步完善细微但是却很有必要功能。对于整个程序设计要有一种大体方向,跟着流程图来编写程序运营顺序。并且在有错误地方要有人性化提示语句,提示顾客哪里错误了,这样程序运营起来才会很流畅,给人更好使用体验。 在窗口程序设计阶段,最困难是combobox DataSource设立,最后使用绑定数据办法解决,同步可以在数据源里面设立select语句来修改查询内容 7. 参照文献 [1]唐政,房大伟.c#项目开发全程实录.清华大学出版社,.6.1 项目设计 评 语 项目设计 成 绩 指引教师 (签字) 年 月 日- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 教务 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文