兰州商学院网络教务综合管理系统.doc
《兰州商学院网络教务综合管理系统.doc》由会员分享,可在线阅读,更多相关《兰州商学院网络教务综合管理系统.doc(37页珍藏版)》请在咨信网上搜索。
课程名称:管理信息系统分析和设计 班 级:09信管一班 姓 名:任志雄 学 号:0702115 目录 一、 概述 1.1 项目背景---------------------------------------------------------3 1.2 编写目标---------------------------------------------------------3 1.3 开发环境---------------------------------------------------------4 二、 需求分析 2.1 信息要求-----------------------------------------------------------4 2.2 处理要求-----------------------------------------------------------4 2.3 安全性和完整性要求-------------------------------------------6 三、概要设计 3.1系统功效图---------------------------------------------------------7 四、概念结果设计 4.1 基础E-R图设计----------------------------7 五、逻辑结构设计 5.1E-R图转换----------------------------------------------------9 六、关键模块设计和代码---------------------11 6.1登录模块设计-----------------------------------------------------12 6.2管理员、老师、学生模块设计------------------------------13 6.3存放过程-----------------------------------------------------------28 七、总结 7.1碰到问题和处理方法---------------------29 7.2设计体会-------------------------------------------------------30 一、 概述 1. 1项目背景 伴随科学技术、管理方法不停进步,传统方法、方法和手段已经不能适应该代化管理需要,作为培养高质量合格人才为宗旨高等学校,总是走在科技最前沿,教学管理计算机化已成为高校管理现代化、决议科学化一个关键步骤,是开创教学管理工作新局面必由之路。 教学管理系统是一个辅助学校教务人员完成日常工作中,包含学籍管理、老师管理、课程管理和成绩管理等项目标日常比较繁重工作。它应用计算机在数据处理和数据整理保留方面优异性能,帮助工作人员提升工作效率、降低犯错情况。同时还能提供快速查询检索功效。 1. 2编写目标 本系统设计意在实现管理员、老师和学生对信息查询、修改和更新提供便利性。教学管理系统是一个辅助学校教务人员完成日常工作中,包含老师管理、课程管理和成绩管理等项目标日常比较繁重工作。它应用计算机在数据处理和数据整理保留方面优异性能,帮助工作人员提升工作效率、降低犯错情况。 1. 3开发环境 经过思索和选择,决定以.net C#来实现本系统。 二、 需求分析 2.1 信息要求 此次系统设计关键需要信息以下所表示,这些信息全部是以表形式存在数据库中,当需要输入、删除、修改等信息时能够经过实施SQL语句来实现。 1、学生信息:学号、姓名、性别、出生日期、入学成绩、所在系号。 2、教职员信息:职员号、姓名、性别、出身年月、所在系号、职称、专业及教学方向。 3、系基础信息:系号、系名称、系介绍。 4、课程信息:课程号、课程名称、任课老师号、课时、学分、上课时间、上课地点、考试时间。 5、成绩信息:学号、课程号、平时成绩、考试成绩、总评成绩。 2.2 处理要求 1、学生基础信息管理 新生信息录入、学生信息修改:按学号查询出某学生信息并做信息修改。 学生转学(转入和转出),学生毕业等。毕业和转学学生相关信息存放到历史库中。 2、系基础信息管理:系基础信息输入、修改、删除 3、课程信息管理:课程信息输入、修改、删除 4、教职员信息管理:教职员信息输入、修改、删除 5、选课管理:每学期所选课程学分不能超出15分、学生能够同时选修一门或多门课程、能够同时为多个学生选修某一门或某几门课程、删除和修改选课信息。 6、成绩管理:按课程输入和修改成绩、按学生输入和修改成绩。 7、信息查询: 按学号、姓名、系号查询学生基础信息。 按职员号、姓名、系号查询教职员基础信息。 按系号、系名称查询系基础信息。 按课程号、课程名称、上课老师姓名查询课程基础信息。 按学号、学生姓名、课程号、课程名称、上课老师姓名、系号查询学生成绩,内容包含课程基础情况。若查询包含多门课程,则按课程分组。每门课程按总评成绩从高分到低分给出选修该门课程全部学生成绩(平时成绩、考试成绩和总评成绩)。 8、统计报表 成绩记录表,内容包含课程基础信息(课程号、课程名称、任课老师号、课时、学分、上课时间、上课地点、考试时间)、选课学生名单(学号、姓名、性别),每个学生平时成绩(空格)、考试成绩(空格)和总评成绩(空格),按学号排序: 次序输出全部课程成绩记录表。 按课程号、课程名称、老师姓名输出对应课程成绩记录表。 按系号输出对应课程成绩记录表(本系全部老师担任课程)。 成绩报表,内容包含课程基础信息(课程号、课程名称、任课老师号、课时、学分、上课时间、上课地点、考试时间),选课学生名单(学号、姓名、性别),每个学生平时成绩、考试成绩和总评成绩,>=90分、>=80分、、>=70分、>=60分及不及格学生人数及百分比,按学号排序: 次序输出全部课程成绩报表。(报表格式自己订制,能够参考学校系统输出格式) 按课程号、课程名称、老师姓名输出对应课程成绩报表。 按系号输出对应课程成绩报表(本系全部老师担任课程)。 2.3 安全性和完整性要求 在数据库中,各个表之间是有联络,它们存在着参考完整性,在删除数据时,要考虑到一个表中数据删除同时也要删除另一个表中对应数据项。 三、 概要设计 3.1 系统功效图结构 兰州商学院教学管理系统功效结构图以下: 四、概念结果设计 4.1 基础E-R图设计 E-R图设计: E-R图中实体有:老师、学生、系部、课程 实体属性 学生:学号、姓名、性别、出生日期、入学成绩、所在系号 老师:职员号、姓名、性别、出身年月、所在系号、职称、专业及教学方向 系:系号、系名称、系介绍 课程:课程号、课程名称、任课老师号、课时、学分、上课时间、上课地点、考试时间 其中各个之间关系以下:学生能够选多个课程,一个课程能够被多个学生选修。学生存在一个系中,一个系能够存在多个学生。一个老师能够教多个课程,一个课程能够被多个老师教。一个老师只能在一个系中,一个系中能够有多个老师。 学生: 学生 学号 姓名 性别 出生日期 所在系号 入学成绩 老师: 老师 职员号 姓名 性别 出生日期 职称 所在系号 专业及教学方向 系: 系 系号 系名 系介绍 课程: 课程 课程号 课程名 老师号 课时 上课时间 学分 上课地点 考试时间 全局E-R图: 五、逻辑结构设计 5.1E-R图转换 表一览: Account(用户登录表)、Course(课程表)、Student(学生表)、Teacher(老师表)、Dept(系表)、Grades(成绩表)。 表结构: 1、Account(用户登录表) 2、Course(课程表) 3、Student(学生表) 4、Teacher(老师表) 5、Dept(系表) 6、Grades(成绩表) 六、关键模块设计和代码 在本系统中,为方便对数据库连接、SQL语句实施和数据库关闭。本程序封装了一个SQLDatabase类,类中定义了一系列函数来完成数据库连接等操作。 代码及说明以下: class SQLDatabase { public SqlConnection SQLConnection; public SqlCommand MyCommand; public SqlDataAdapter sdr; static public string ServerIP; public void GetServerIP(string IP) ServerIP=IP; public void SQLDataConnectionOpen() {//本函数完成对数据库连接 SQLConnection = new SqlConnection(); SQLConnection.ConnectionString = "Server=" + ServerIP + ";User id=sa;pwd=123456;DataBase=TeachingManagementSystem"; SQLConnection.Open(); } public void SQLDataConnectionClose()//实现数据库关闭 SQLConnection.Close(); public int SQLExecuteNonQuery(string str) {//ExecuteNonQuery方法:实施不返回结果命令 MyCommand = new SqlCommand(str, SQLConnection); return MyCommand.ExecuteNonQuery();} public object SQLExecuteScalar(string str) {//只返回结果集中第一行第一列 MyCommand = new SqlCommand(str, SQLConnection); return MyCommand.ExecuteScalar();} public SqlDataAdapter SQLDataAdapter(string strCmd) { sdr = new SqlDataAdapter(strCmd, SQLConnection); return sdr; } public SqlDataReader SQLExecuteReader(string strCmd) {//实施返回数据集Select语句,返回一个 DataReader 对象 MyCommand = new SqlCommand(strCmd, SQLConnection); SqlDataReader sdr = MyCommand.ExecuteReader(); return sdr; } } 6.1登录模块设计 在本程序登录模块中,当用户输入用户名、密码及其登录权限后,会对数据和数据库数据进行对比,若相同则进入对应权限界面,以进行对应操作。 登录界面以下图所表示 : 登录按钮单击消息响应:当用户输入用户名、密码,单击登录按钮后,数据会和数据库数据进行对比,若相同则经过,不然会提醒用户对应错误汇报。代码以下: private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox1.Text)) { MessageBox.Show("用户名不能为空,请输入用户名!", "提醒"); textBox1.Focus(); return; } else if ((string. IsNullOrEmpty(textBox2.Text)) { MessageBox.Show("密码不能为空,请输入密码!", "提醒"); textBox2.Focus(); return; } } string identity = "0"; if (radioButton1.Checked) identity = "3"; else if (radioButton2.Checked) identity = "2"; else if (radioButton3.Checked) identity = "1"; SQLDatabase SQLConn = new SQLDatabase(); SQLConn.GetServerIP(textBox1.Text); SQLConn.SQLDataConnectionOpen(); string strCmd = "select * from Account where Aname='" + textBox2.Text + "'and Apassword='" + textBox3.Text + "'" + "and Apermissions='" + identity + "'"; SqlDataReader sdr = SQLConn.SQLExecuteReader(strCmd); int n = 0; while (sdr.Read()) { n = 1; Form2 form2 = new Form2(identity,textBox1.Text); form2.Show();this.Hide(); } if (n == 0) { MessageBox.Show("没有此用户!\n或用户名或密码错误!\n请重新输入或注册目前用户!", "提醒"); label6.Text = ProduceCheckCode();} sdr.Close(); SQLConn.SQLDataConnectionClose(); } 6.2管理员、老师、学生模块设计 本程序操作端是经过TabControl控件实现,各个tabPage页全部放在了一个对话框上,对于不一样登录权限,会在对话框初始化函数中经过调用tabControl1.TabPages.Remove();函数来实现某个tabPage页隐藏,以表现不一样权限功效。 所以这里只需要对管理员端各个操作进行说明即可,整个界面以下图所表示: tabPage1:学生管理 在学生管理页面中,管理员能够对学生信息进行查询、删除、修改、录入、及其转学/毕业操作等。 另外,各个表之间是有联络,当删除一个学生信息后,假如此学生选了课,而且有了成绩,系统会同时把此学生选课统计、成绩统计删除。 当录入一个学生信息时,系统提供了判定机制,系统会先检验数据库中是否已存在该学生信息,若存在提醒不能反复。 其录入按钮单击消息对应函数代码为: private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox1.Text)) { MessageBox.Show("学号不能为空,请输入学号!", "提醒"); textBox1.Focus();return; } else if (string.IsNullOrEmpty(textBox2.Text)) { MessageBox.Show("姓名不能为空,请输入姓名!", "提醒"); textBox2.Focus(); return; } string sex=""; if(radioButton1.Checked) sex="男"; else if (radioButton2.Checked) sex="女"; SQLDatabase SQLConn = new SQLDatabase(); SQLConn.GetServerIP(SerIP); SQLConn.SQLDataConnectionOpen(); string strCmd; string strCmd2; string strCmd3; strCmd = "insert into Student values('" + textBox1.Text + "','" + textBox2.Text + "','" +sex+ "','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"');"; strCmd2 = "select * from Student where Sno='" + textBox1.Text + "';"; strCmd3 = "select * from Dept where Dno='" + textBox5.Text + "';"; object ob = SQLConn.SQLExecuteScalar(strCmd2); if (Convert.ToString(ob) != "") { MessageBox.Show("已存在学号为" + textBox1.Text + "信息!\n请重新输入!", "提醒"); textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; textBox4.Text = ""; textBox5.Text = ""; textBox1.Focus(); SQLConn.SQLDataConnectionClose(); return; } object ob1 = SQLConn.SQLExecuteScalar(strCmd3); if (Convert.ToString(ob1) == "") { if (textBox5.Text != "") { MessageBox.Show("不存在系号为" + textBox5.Text + "系信息!\n请重新输入!", "提醒"); textBox5.Text = ""; textBox5.Focus(); } SQLConn.SQLDataConnectionClose(); return; } SQLConn.SQLExecuteNonQuery(strCmd); MessageBox.Show("录入成功!", "提醒"); //控件清空! textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; textBox4.Text = ""; textBox5.Text = ""; textBox1.Focus(); SQLConn.SQLDataConnectionClose(); button5_Click(sender, e); } tabPage2:系管理 在系管理页面中,管理员能够对系信息进行查询、删除、修改、输入。 另外,各个表之间是有联络,当删除一个系信息后,在该系全部学生统计会同时删除,和此对应选课、成绩统计也会被删除。 当录入一个系信息时,系统提供了判定机制,系统会先检验数据库中是否已存在该系信息,若存在提醒不能反复。 其输入按钮单击消息对应函数代码为: private void button7_Click(object sender, EventArgs e) { if (textBox7.Text == "") { string.IsNullOrEmpty(textBox7.Text) MessageBox.Show("系号不能为空,请输入系号!", "提醒"); textBox7.Focus(); return; } else if (string.IsNullOrEmpty(textBox8.Text)) { MessageBox.Show("系名不能为空,请输入系名!", "提醒"); textBox8.Focus(); return; } SQLDatabase SQLConn = new SQLDatabase(); SQLConn.GetServerIP(SerIP); SQLConn.SQLDataConnectionOpen(); string strCmd; string strCmd2; strCmd = "insert into Dept values('" + textBox7.Text + "','" + textBox8.Text + "','" + textBox9.Text + "');"; strCmd2 = "select * from Dept where Dno='" + textBox7.Text + "';"; object ob = SQLConn.SQLExecuteScalar(strCmd2); if (Convert.ToString(ob) != "") { MessageBox.Show("已存在系号为" + textBox7.Text + "信息!\n请重新输入!", "提醒"); textBox7.Text = ""; textBox8.Text = ""; textBox9.Text = ""; textBox7.Focus(); SQLConn.SQLDataConnectionClose(); return; } else SQLConn.SQLExecuteScalar(strCmd); MessageBox.Show("输入成功!", "提醒"); //控件清空! textBox7.Text = ""; textBox8.Text = ""; textBox9.Text = ""; textBox7.Focus(); SQLConn.SQLDataConnectionClose(); button10_Click(sender,e); } tabPage3:课程管理 在课程管理页面中,管理员能够对课程信息进行查询、删除、修改、输入。 另外,各个表之间是有联络,当删除一个课程信息后,选择此课程选课统计,成绩统计也会被同时删除。 当录入一个课程信息时,系统提供了判定机制,系统会先检验数据库中是否已存在该课程信息,若存在提醒不能反复。 其输入按钮单击消息对应函数代码为: private void button12_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox10.Text)) { MessageBox.Show("课程号不能为空,请输入课程号!", "提醒"); textBox10.Focus(); return; } else if (string.IsNullOrEmpty(textBox11.Text)) { MessageBox.Show("课程名不能为空,请输入课程名!", "提醒"); textBox11.Focus(); return; } else if (string.IsNullOrEmpty(textBox12.Text)) { MessageBox.Show("任课老师号不能为空,请输入课程名!", "提醒"); textBox12.Focus(); return; } SQLDatabase SQLConn = new SQLDatabase(); SQLConn.GetServerIP(SerIP); SQLConn.SQLDataConnectionOpen(); string strCmd; string strCmd2; strCmd = "insert into Course values('" + textBox10.Text + "','" + textBox11.Text + "','" + textBox12.Text + "','" + textBox13.Text + "','" + textBox14.Text+ "','" + textBox15.Text + "','" + textBox16.Text + "','" + textBox17.Text + "')"; strCmd2 = "select * from Course where Cno='" + textBox10.Text + "';"; object ob = SQLConn.SQLExecuteScalar(strCmd2); if (Convert.ToString(ob) != "") { MessageBox.Show("已存在课程号为" + textBox10.Text + "信息!\n请重新输入!", "提醒"); textBox10.Text = ""; textBox11.Text = ""; textBox12.Text = ""; textBox13.Text = ""; textBox14.Text = ""; textBox15.Text = ""; textBox16.Text = ""; textBox17.Text = ""; textBox10.Focus(); SQLConn.SQLDataConnectionClose(); return; } string strCmd3 = "select * from Teacher where Tno='" + textBox12.Text + "';"; object ob1 = SQLConn.SQLExecuteScalar(strCmd3); if (Convert.ToString(ob1) == "") { if (textBox12.Text != "") { MessageBox.Show("不存在老师号为" + textBox12.Text + "老师信息!\n请重新输入!", "提醒"); textBox12.Text = ""; textBox12.Focus(); } SQLConn.SQLDataConnectionClose(); return; } SQLConn.SQLExecuteNonQuery(strCmd); MessageBox.Show("课程信息输入成功!", "提醒"); //控件清空! textBox10.Text = ""; textBox11.Text = ""; textBox12.Text = ""; textBox13.Text = ""; textBox14.Text = ""; textBox15.Text = ""; textBox16.Text = ""; textBox17.Text = ""; textBox10.Focus(); SQLConn.SQLDataConnectionClose(); button14_Click( sender, e); } tabPage4:老师管理 在老师管理页面中,管理员能够对老师信息进行查询、删除、修改、输入。 当录入一个老师信息时,系统提供了判定机制,系统会先检验数据库中是否已存在该老师信息,若存在提醒不能反复。 其输入按钮单击消息对应函数代码为: private void button17_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBo6.Text)) { MessageBox.Show("职员号不能为空,请输入!", "提醒"); textBox6.Focus(); return; } else if (string.IsNullOrEmpty(textBox18.Text)) { MessageBox.Show("姓名不能为空,请输入!", "提醒"); textBox18.Focus(); return; } els- 配套讲稿:
如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。
关于本文