![《C语言课程设计》word版_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/7a6a7d98-65c2-4932-974a-dcb7bd21504c/7a6a7d98-65c2-4932-974a-dcb7bd21504c1.gif)
![《C语言课程设计》word版_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/7a6a7d98-65c2-4932-974a-dcb7bd21504c/7a6a7d98-65c2-4932-974a-dcb7bd21504c2.gif)
![《C语言课程设计》word版_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/7a6a7d98-65c2-4932-974a-dcb7bd21504c/7a6a7d98-65c2-4932-974a-dcb7bd21504c3.gif)
![《C语言课程设计》word版_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/7a6a7d98-65c2-4932-974a-dcb7bd21504c/7a6a7d98-65c2-4932-974a-dcb7bd21504c4.gif)
![《C语言课程设计》word版_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/7a6a7d98-65c2-4932-974a-dcb7bd21504c/7a6a7d98-65c2-4932-974a-dcb7bd21504c5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专业方向课程设计班级:J计算机0601姓名: 汤 琪 学号: 3061110014 指导老师:邢 玉 萍 完成日期:2010.1.13 第一部分 需求分析 一、调查用户需求本系统的最终用户为在校学生:1、学校的组织机构情况与教室管理相关的学校的组织机构有:学生、教师和教室。学校的所有日常工作都是围绕着这三大部分进行的。一个学校下设若干学院,如计算机学院、电汽学院、法学院、财经学院等;一个学院下设若干专业,如计算机学院下设四个专业:计算机科学与技术、软件、通信和信息安全;一个专业有若干班级;一个班级有若干同学。一个专业有若干教师。一个专业开设有若干课程。一个学校有若干教学楼,如计算机大楼、一号楼
2、、二号楼等;一个教学楼有若干楼层,如一号楼有一层十二层;一个楼层有若干教室,如一层有1101,1102,1103,1104等教室。一个教师可以开设若干门课程,一门课程可以由多个老师来教授。一个教室在不同的时段可以上不同的课程。2、调查相关部门的业务活动情况教务处:教务处需要处理借教室申请信息,使用的数据是纸质版的教室、教师和学生信息,对提出的借用教室申请采用手动的加工和处理,最后给借教室的人输出的是批准或拒绝借用教室的信息,即一个纸质的教室使用条。3、用户对系统的要求信息要求:由于系统的使用主体是教师和学生,因此对系统的信息要求可分为以下几个方面:a、 教师信息教师的基本信息,主要包括教师的教
3、师编号,教师姓名,性别,所属院系,职称,身份证号等;b、学生信息学生的基本信息,主要包括学生的学号,姓名,院系号,身份证号等;c、 教室信息教室的基本信息,主要包括教室的教室编号,教学楼号,楼层号等;d、 教学楼信息教学楼的基本信息,主要包括教学楼名称,教学楼编号等; 处理要求:a、 教师查询;学生通过这个功能,可以查询相关院系相关教师的个人信息以及开课信息,以便能更好地了解教师及其开课情况。b、 教室查询;学生通过这个功能,可以查询相关教学楼相关教室的信息以及该教室在每天任一时段的使用情况,或者有课,或者有讲座、或者有活动等等。这个功能以便使同学能更好地了解教室及其使用情况。c、 课程查询;
4、学生通过这个功能,可以查询某一课程的详细信息,如同一课程可以有多个教师开课,以便更好地了解任一课程的详细信息。d、 教室借用;学生通过这个功能,可以借教室,即获得教室在某段时间的使用权,办讲座,开展社团活动等等。e、 我要自习;学生通过这个功能,可以查询当天某一时段或多个时段的空闲教室,去上自习。安全性与完整性要求:安全性要求:a、 系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;b、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;c、系统应对不同用户设置不同的权限,区分不同的用户,如学生、教师和教务处管理人员。学生
5、(只能查询教室、教师和课程信息以及提出借用教室申请),教师(只能查询教室、教师和课程信息,以及提出借用教室申请),教务处管理人员(可进行日常事务的处理,如增加、删除、更新课程、教室、教师信息,并批准或拒绝借用教室的申请)。完整性要求:a、各种信息记录的完整性,信息记录内容不能为空;b、各种数据间相互的联系的正确性;c、相同的数据在不同记录中的一致性。4、确定系统的边界经对前面的需求调查和初步的分析,确定由计算机完成的工作时对数据进行各种管理和处理,具体的工作内容见第二部分, 由手工完成的工作主要有对原始数据的录入;不能由计算机生成的,各种数据的更新,包括数据变化后的修改,数据的增加,失效数据或
6、无用数据的删除等;以及系统的日常维护。二、 系统功能的设计和划分根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几个子系统: 教室查询子系统 教师查询子系统 课程查询子系统 教室借用子系统 我要自习子系统各子系统完成的功能如下: 1教室查询子系统1.关键词搜索在输入框中直接输入想要查询的教室的编号,即可得到教室在任一时段的使用信息。2.目录搜索 根据教学楼教室,帮助同学寻找想要搜索的教室。进入教室页面后,即可得所查教室在任一时段的使用信息。2、教师查询子系统1.关键词搜索在输入框中直接输入想要查询的老师的名字,即可得到教师的个人信息及开课信息。2.目录搜索 根据院系教师,帮助同学寻
7、找想要搜索的老师。进入教师页面后,即可得教师的个人信息及开课信息。3、课程查询子系统1.关键词搜索在输入框中直接输入想要查询的课程的名字,即可得到课程的详细信息。2.目录搜索 根据院系课程,帮助同学寻找想要搜索的课程。进入课程页面后,即可得课程的详细信息。4、教室借用子系统点击教室借用后,进入一个用户登录界面,学生或者教师需要登录,才能给予空闲教室,发出借用教室的申请,等待管理员批准。5、我要自习子系统 根据教学楼楼层,输入时段,寻找此时的空闲的教室,帮助同学寻找上自习的教室。进入教室页面后,即可得该教学楼某一时段在任意时段的空闲信息。第二部分 数据流图1、教师查询子系统学 生查询教师开课信息
8、该院系所有教师信息教师姓名查询课程号该课程具体信息查询查询教师姓名院系名称2、教室查询子系统所有教室信息学 生教室使用情况查询教师使用情况查询教学楼号码教室号查询3、课程查询子系统院系名称该院系全部课程信息学生查询查询课程名称所有开设该课程的教师信息课程名称4、教室借用子系统学 生查询教室使用情况借用否否教室号时间用户登录请求处理停止个人信息是5、后台管理子系统老师 登陆用户名密码成功否否是用户管理页面6、我要自习子系统学生教学楼名称楼层 时间段查询空闲教室第三部分 数据字典1.教学楼数据字典:属性名存储代码类型长度备注教学楼号bnoString20学校教学楼号教学楼名称bname Strin
9、g20学校教学楼名称2.教室数据字典:属性名存储代码类型长度备注教室编号clnoInt 10教学楼中教室号教学楼号bnoString6教室所在教学楼号楼层floorString10教室所在楼层 3.院系数据字典:属性名存储代码类型长度备注院系号deptnoString20学校中院系的编号院系名称deptnameString20学校中院系名称 4.课程数据字典:属性名存储代码类型长度备注课程号cnoString20课程编号课程名称cnameString 20课程名称学分creditString 1课程学分课程类型categoryString10课程类型(全校选修、专业选修、专业必修、人文修养、艺
10、术教育)开课院系号deptnoString20课程开课的院系5.教师数据字典:属性名存储代码类型长度备注教师编号tnoString20教师编号教师姓名tnameString10教师姓名性别sexString2教师性别(男、女)所属院系deptnoString20教师所属院系职称titleString 10教师的职称(教授、副教授、讲师)身份证号tidString18教师身份证号6.学生数据字典:属性名存储代码类型长度备注学号snoString 10学生编号姓名sname String 10学生姓名院系号deptnoString 20学生所属院系身份证号sidString 18学生的身份证号7.
11、教师开课表数据字典:属性名存储代码类型长度备注教师号tnoString20教师编号教室号clnoString10教室编号课程号cnoString20该教室所开的课程工作日weekdayString 8工作日上课时间段periodString20上课时间段8.教室借用表数据字典:属性名存储代码类型长度备注教室号clnoString10教室编号使用人编号snoString 10借用教室人员的编号使用日期usedateString 10使用教室的日期工作日WeekdayString 8使用教室的星期借用时间段PeriodString 20使用教室的时间段用途UseString 100借用教室的用途状
12、态UsestatusString1借用教室审批的状态第四部分 概念结构设计学生管理信息系统分E-R图教 师课 程讲授mn院 系教 师院|教1n学 生院|学n1 nm讲授教 师借用nm教 室学 生学生管理信息系统总E-R图院 系教 师学 生课 程院|教院|学讲授教学楼号教学楼教教教学楼名教 室教室号教学楼号楼层院系号院系名称学号姓名院系号身份证号教师号教师姓名性别院系号职称身份证号号课程号课程名称学分课程类型院系号借用日期时间段用途工作日时间段1nmn1nmn1n第五部分 逻辑设计以下是教室管理信息系统的关系模型:1. 教学楼(教学楼号,教学楼名称)2. 教室(教室编号,教学楼号,楼层) 3.
13、院系 (院系号,院系名称)4. 课程(课程号,课程名称,学分,课程类型,开课院系号)5. 教师(教师编号,教师姓名,性别,所属院系,职称, 身份证号)6. 学生(学号,姓名,院系号,身份证号)7. 教师开课表(教室号,上课时间,上课时间段,教师号,课程号,)8. 教室借用表(教室编号,使用人编号,使用日期,借用时间段,工作日,用途)性能优化:1 使用触发器当往教师开课表中插入一条数据时同时往教室借用表中插入一条数据,在查询时可以大幅度提高查询速度。如果不在乎空间则可以用空间换效率。2 通过建立QUERY视图,把教师查询、教室查询、课程查询三种查询方法统一起来。第六部分 程序部分代码及截图 关系
14、图:1. 用户登陆界面 private void button2_Click(object sender, EventArgs e) Close(); private void button1_Click(object sender, EventArgs e) string strName =textBox1.Text; string strPwd = textBox2.Text; string strRole = comboBox1.Text; string strSql = null; if (strRole = 学生) strSql = SELECT * From 登陆 WHERE fl
15、ag=2 AND Usename= + strName + AND password= + strPwd + ; else if (strRole = 教师) strSql = SELECT * From 登陆 WHERE flag=1 AND Usename= + strName + AND password= + strPwd + ; else if (strRole = 管理员) strSql = SELECT * From 登陆 WHERE flag=0 AND Usename= + strName + AND password= + strPwd + ; else MessageBo
16、x.Show(请选择用户类型); return; string source = Source.getSource(); SqlConnection conn = new SqlConnection(source); conn.Open(); SqlCommand cmd = new SqlCommand(strSql, conn); SqlDataReader reader = cmd.ExecuteReader(); if(reader.Read() if (comboBox1.Text = 学生) Form1 studentform = new Form1(); /studentform
17、.setStateName(strName); studentform.Show(); this.Visible = false; if (comboBox1.Text = 教师) Form1 teacherform = new Form1(); /adminform.setStateName(strName); teacherform.Show(); ; this.Visible = false; if (comboBox1.Text = 管理员) Form3 adminform = new Form3(); /adminform.setStateName(strName); adminfo
18、rm.Show(); ; this.Visible = false; else MessageBox.Show(用户名或密码错误!); 教师登陆的用户名和密码均为teacher,管理员登陆的用户名和密码均为admin。2. 学生及教师登陆成功界面教师信息查询 private void button1_Click(object sender, EventArgs e) try if (boBox1.Text.Trim() = ) boBox1.Focus(); else if (boBox2.Text.Trim() = ) boBox2.Focus(); else MySql = Select
19、tname,sex,title,tid from 教师,院系 where tname= + boBox2.Text + and 教师.deptno=院系.deptno and 院系.deptname= + boBox1.Text + ; /调试生成的查询语句是否正确的语句 /MessageBox.Show(MySql); connection = MyFunction.GetSqlConnection(); /获得数据适配器对象 MySqlDataAdapter = MyFunction.GetSqlDataAdapter(MySql); /给数据适配器对象添加表映射 MySqlDataAda
20、pter.TableMappings.Add(Table, MyTable); /设置数据适配器对象的查询语句 MySqlDataAdapter.SelectCommand = new SqlCommand(MySql, connection); /绑定数据适配器对象 MySqlCommandBulider = new SqlCommandBuilder(MySqlDataAdapter); /填充数据集 DataSet MyDataSet = new DataSet(); MySqlDataAdapter.Fill(MyDataSet); /赋予数据绑定对象的数据源属性 this.fk教师院
21、系bindingSource.DataSource = MyDataSet; /赋予数据绑定对象数据成员属性 this.fk教师院系bindingSource.DataMember = MyTable; /赋予数据网格对象的数据源属性 this.dataGridView1.DataSource = this.fk教师院系bindingSource; catch (SqlException ex) MessageBox.Show(ex.Message, 提示信息!, MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); 教师课表查询代码与教师信
22、息查询仅有一处不同: MySql = select tname,cname from 教师,院系,讲授,课程 where 院系.deptname= + boBox1.Text + and tname= + boBox2.Text + and 教师.deptno=院系.deptno and 讲授.tno=教师.tno and 讲授.cno=课程.cno;教室查询/教师使用情况 private void button3_Click(object sender, EventArgs e) try if (boBox3.Text.Trim() = ) boBox3.Focus(); else if (
23、boBox4.Text.Trim() = ) boBox4.Focus(); else /教师使用情况 MySql = Select 课程.cname,讲授.weekday,讲授.Period,教师.tname From 教师,讲授,课程,教学楼 Where 讲授.clno= + boBox4.Text + and 教学楼.bname= + boBox3.Text + and 讲授.bno=教学楼.bno and 讲授.tno=教师.tno and 课程.cno=讲授.cno; 其他代码与之前一样 学生使用情况查询与教师使用情况查询仅有一处代码不同: MySql = Select 借用.Wee
24、kday,借用.Period From 借用,教学楼 Where 借用.clno= + boBox4.Text + and 教学楼.bname= + boBox3.Text + and 借用.bno=教学楼.bno ; 课程查询 private void button5_Click(object sender, EventArgs e) /this.dataGridView5.DataSource = null; try if (boBox5.Text.Trim() = ) boBox1.Focus(); else MySql = select tname from 教师,讲授,课程 wher
25、e 教师.tno=讲授.tno and 讲授.cno=课程.cno and 课程.cname= + boBox5.Text + ; ;其他代码与之前一样 教室借用 private void button6_Click(object sender, EventArgs e) try if (boBox6.Text.Trim() = ) boBox6.Focus(); else if (boBox7.Text.Trim() = ) boBox7.Focus(); else if (boBox9.Text.Trim() = ) boBox9.Focus(); else MySql = insert
26、into 借用(bno,clno,sno,Weekday,Period) values ( + boBox6.Text + , + boBox7.Text + , + this.textBox1.Text + , + boBox9.Text + , + boBox8.Text + );select bno,clno,sno,Weekday,Period from 借用 where bno= + boBox8.Text + and clno = + boBox7.Text + and Weekday= + boBox9.Text + and Period = + boBox5.Text + ;其
27、他代码与之前一样我要自习 private void button7_Click(object sender, EventArgs e) try if (boBox3.Text.Trim() = ) boBox3.Focus(); else if (boBox4.Text.Trim() = ) boBox4.Focus(); else MySql = Select 教学楼.bname,教室.clno From 教室,教学楼 Where 教学楼.bno=教室.bno and 教室.clno not in(Select 教室.clno From 教室,讲授 where 教室.clno=讲授.clno and 讲授.Usestaus=1 and 讲授.period = + boBox12.Text + and weekday= + boBox11.Text + ); 其他代码与之前一样3. 管理员登陆成功界面 private void button1_Click(object sender, EventArgs e) Form8 teacherinformation = new Form8(); teacherinformation.Show(); this.Visible = false; private void b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 28海的女儿说课稿-2023-2024学年四年级下册语文统编版
- 2 我是什么(说课稿)-2024-2025学年统编版语文二年级上册
- 2024-2025学年高中生物 专题2 微生物的培养与应用 课题2 土壤中分解尿素的细菌的分离与计数说课稿3 新人教版选修1
- 2025国有土地使用权出让协议合同
- 2025有限公司股权转让合同
- Module 1 Unit 2 Changes in our lives Listen and say Listen and enjoy (说课稿)-2024-2025学年沪教牛津版(深圳用)英语六年级下册
- 2025城市供用气合同
- 加气轿车出售合同范例
- 8《安全记心上》(第一课时)说课稿-2024-2025学年道德与法治三年级上册统编版
- 仓储框架合同范例
- 战略管理与伦理
- 如何构建高效课堂课件
- 虚拟化与云计算技术应用实践项目化教程 教案全套 第1-14周 虚拟化与云计算导论-腾讯云服务
- 徐金桂行政法与行政诉讼法新讲义
- 沥青拌合设备结构认知
- GB/T 13234-2018用能单位节能量计算方法
- (课件)肝性脑病
- 北师大版五年级上册数学教学课件第5课时 人民币兑换
- 工程回访记录单
- 住房公积金投诉申请书
- 高考物理二轮专题课件:“配速法”解决摆线问题
评论
0/150
提交评论