NET程序设计与开发课程报告-选课管理系统毕业论文_第1页
NET程序设计与开发课程报告-选课管理系统毕业论文_第2页
NET程序设计与开发课程报告-选课管理系统毕业论文_第3页
NET程序设计与开发课程报告-选课管理系统毕业论文_第4页
NET程序设计与开发课程报告-选课管理系统毕业论文_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.NET程序设计与开发课程报告题目名称: 选课管理系统班 级:学生学号:学生姓名:程序成绩: 报告成绩:2016年6月30日.NET程序设计与开发课程设计报告报告审核1.NET程序设计与开发课程设计报告1前言......................................32需求分析..................................33系统设计..................................43.1系统整体架构..........................43.2系统功能分析..........................43.3流程分析..............................53.4数据库设计............................63.4.1E-R图设计........................63.4.2数据库设计.......................74系统实现..................................84.1系统结构..............................84.2界面设计..............................85总结......................................9参考文献....................................9附件.......................................102.NET程序设计与开发课程设计报告前言问题描述:学生选课管理系统是一个学校不可缺少的部分,它的内容对于学校的管理者和学生来说都至关重要,直接关系到学生选课的效率,所以开发选课管理系统能够为学生和教师提供快捷的选课和查询手段。编写程序系统主要实现学生选课、删课、教师查询等功能。学生信息、教师信息、课程信息等用数据库存储。开发工具:VisualStudio2013 ,SQLServerManagementStudio运行环境:VisualStudio2010集成开发环境进行程序的调试与运行数据要求:学生信息、教师信息和课程信息等各种数据类型在数据库定义时有所体现需求分析2.1信息需求在数据库C#学生选课管理系统中需要设计如下所示的数据字段和数据表 :学生表---dbo.student,包括:学号、姓名、性别、年龄、班级、专业。登陆表---dbo.login,包括:用户名、密码、类型。课程表---dbo.course,包括:课程名称、课程编号、教师姓名、教师编号、课时。选课表---dbo.xuanke,包括:学号、姓名、班级、专业、课程名称、课程编号、教师名称、教师编号。2.2功能需求本系统需要设计以下几个功能 :用户登录(学生登录和老师登陆)学生选课(选课和退课)教师查课退出系统2.3处理需求数据精确度:选课时应保证选课的精确度,所有相应选修课程都应包含查询关键字的记录都应能查到 ;时间特性:一般操作的响应时间应在 1-2秒内,对相应服务响应时间也应在可接受的时间内完成适应性:有良好的适应性,可在 Windows各版本移植。3.NET程序设计与开发课程设计报告系统设计3.1系统整体架构3.2系统功能分析登陆在选择学生或老师登陆后,输入正确的用户名及密码,实现登录。学生选课在学生登录后,输入学号、姓名、班级、专业后在课程表上选择课程进行选课。学生删课在学生登录后,输入学号、姓名、班级、专业后在课程表上选择课程进行删除课程。教师查询在教师登陆后,输入教师编号,具有查看教师所授课程及选择此课程学生的信息。4.NET程序设计与开发课程设计报告3.3流程分析流程图5.NET程序设计与开发课程设计报告3.4数据库设计3.4.1E-R图设计年龄专业学 生学号

性别班级姓名图3.3.1学生表实体联系图课程名称课时课程表教师编号课程编号教师姓名图3.3.2课程表实体联系图课程名称教师编号课时教师姓名选课表课程编号 专业班级学号6姓名.NET程序设计与开发课程设计报告图3.3.3选课表实体联系图登录表用户名密码类型图3.3.4登录表实体联系图3.4.2数据库设计根据需求分析进行数据库设计,数据库名C#学生选课管理系统,共需要登陆表、学生表、课程表、选课表四张表。登陆表结构见表1,学生表结构见表2,课程表见表3,选课表见表4。登陆表登陆表存放登陆用户的账号信息,一个用户可以对应一个账户,包括用户名、密码、类型。通过此表查阅用户权限,判断登陆者是学生或者老师,使其拥有各自的权限。表1登录表的结构字段名称 数据类型用户名 Char(20)密码 Char(20)类型 Char(20)学生表

说明储存学生/老师的用户名储存学生/老师的密码选择登陆是学生/老师学生表存放学生信息,具体包括学号、姓名、性别、年龄、班级、专业。通过此表可以获取学生信息。表2学生表的结构.字段名称 数据类型学号 Char(20)姓名 Char(20)性别 Char(20)年龄 Char(20)班级 Char(20)专业 Char(20)3.课程表

说明储存学生学号,不能为空储存学生姓名,不能为空储存学生性别,不能为空储存学生年龄,不能为空储存学生班级,不能为空储存学生专业,不能为空7.NET程序设计与开发课程设计报告课程表用来存放课程信息,具体包括课程名称、课程编号、教师姓名、教师编号以及课时。此表显示在学生选课界面上。表3课程表的结构.字段名称 数据类型课程名称 Char(20)课程编号 Char(20)教师姓名 Char(20)教师编号 Char(20)课时 Char(20)4.选课表

说明储存课程名称,不能为空储存课程编号,不能为空储存教师姓名,不能为空储存教师编号,不能为空储存课时,不能为空此表为选课表,包括了学生的学号、姓名、班级、专业以及课程的课程名称、课程编号、教师姓名、教师编号。当学生选删课后,保存到此表。表4选课表的结构.字段名称 数据类型学号 Char(20)姓名 Char(20)班级 Char(20)专业 Char(20)课程名称 Char(20)课程编号 Char(20)教师姓名 Char(20)教师编号 Char(20)

说明储存学号,不能为空储存姓名,不能为空储存班级,不能为空储存专业,不能为空储存课程名称,不能为空储存课程编号,不能为空储存教师名称,不能为空储存课程编号,不能为空系统实现或叫系统详细设计。这一部分主要写:主要模块实现方法、关键技术。具体可以使用UML中类图、构件图,也可以采用伪代码描述。但不能采用抓图方法,也不要面面俱到。可以将系统测试放在本章,系统测试也可单独一章。主要写测试环境、测试数据、测试结论。建议使用软件测试工具进行测试。如本课程就有单元测试内容。系统测试不是必须写的内容,依据情况自己决定是否写。4.1系统结构本系统的总体架构采用两层架构模型,分为表示层、数据访问层,其中表示层负责界面的显示,用于显示数据和接受用户输入的数据, 为用户提供交互式操作页面;数据访问层主要实现对数据的保存和读取操作。4.2界面设计4.2.1登录界面8.NET程序设计与开发课程设计报告此界面包含一个 comboBox、两个textBox以及两个Button,在comboBox中选择两个类型:学生或老师,之后再输入正确的用户名及密码,点击登录,成功后获取相应的权限。见附件图1登陆界面4.2.2学生选课界面此界面四个 textBox、四个 Button 以及一个 dataGridView 控件,dataGridView控件用来显示课程表,当学生输入学号、姓名、班级、专业后,选择课程进行选课或删课。见附件图2学生选课界面4.2.3教师查询界面在此界面也拥有一个dataGridView控件,用来显示选课表,当登陆成功后,教师输入教师编号,可以查询所授课程,及选择此课程的信息。见附件图3教师查询界面总结这次的课程设计让我受益匪浅,它帮助我们总结本学期的收获、认清自我。同时,还帮助我们改变一些处理事情时懒散的习惯。从最开始时的选择课题,到搜集资料,整理资料,再到着手开始进行系统分析,数据库设计,代码调试,每一步都是环环相扣,衔接紧密,其中任何一个步骤产生遗漏或者疏忽,就会对以后的设计带来很多的不便。在这个过程中,我曾遇到了许多困难,每当把困难解决之后,虽然不是很完善,我还是有小小的成就感的。自我感觉我的各方面的能力又有了很大的提高,使我的理论知识更好的与实践相结合, 增强了专业技能的可实践性。通过这次的毕业设计,使我真正懂得了软件工程设计的整个过程, 既巩固了以前的理论知识,也为我以后的工作奠定了良好的基础。当然,由于时间的短促,我所完成的系统并不是尽善尽美的,还有待进一步的修改和完善。我相信这次课程设计对于我意志与耐性的磨练,会给我日后的工作和生活带来很大的帮助。参考文献[1]黄胜忠.C#4.0 从入门到精通[M].北京:机械工业出版社,2012.79.NET程序设计与开发课程设计报告附件图1.登录界面图2.选课界面10.NET程序设计与开发课程设计报告图3.教师查询界面登录代码usingSystem;usingSystem.Collections .Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceWindowsFormsApplication2{public partial class login : Form11.NET程序设计与开发课程设计报告{public login(){InitializeComponent();}private voidlogin_Load( object sender, EventArgse){comboBox1 .Items.Add("学生");comboBox1 .Items.Add("老师");comboBox1 .SelectedIndex =0;}private voidbutton1_Click( object sender,EventArgse){SqlConnection get =newSqlConnection();if (textBox1 .Text =="" || textBox2 .Text =="")MessageBox.Show("请输入用户名和密码 ", "提示");else12.NET程序设计与开发课程设计报告{SqlConnection con =newSqlConnection("Server=.;DataBase=C# 学生选课管理系统;Uid=sa;pwd=a06S@998101;");stringsql;if(comboBox1.Text=="学生"){sql ="select*fromloginwhere 用户名='" +textBox1.Text +"'and 密码='" +textBox2.Text+"'and 类型='" +comboBox1.Text +"'";SqlCommandcmd=newSqlCommand(sql,con);con .Open();if (cmd.ExecuteScalar() != null){this.Visible =false;student s =newstudent();s .Show();}else{MessageBox.Show("请输入正确的用13.NET程序设计与开发课程设计报告户名或密码", "提示");textBox2 .Text ="";con .Close();}}if (comboBox1.Text =="老师"){sql ="select*fromloginwhere 用户名='" +textBox1.Text +"'and 密码='" +textBox2.Text+"'and 类型='" +comboBox1.Text +"'";SqlCommandcmd=newSqlCommand(sql,con);con .Open();if (cmd.ExecuteScalar() != null){this.Visible =false;teacher t =newteacher();t .Show();}else{MessageBox.Show("请输入正确的用14.NET程序设计与开发课程设计报告户名或密码", "提示");textBox2 .Text ="";con .Close();}}}}}}学生选课代码usingSystem;usingSystem.Collections .Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceWindowsFormsApplication215.NET程序设计与开发课程设计报告{public partial class student : Form{DataSetds;SqlCommandcmd,cmd1;SqlDataAdapter adp;public student(){InitializeComponent();}SqlConnectionget=newSqlConnection();stringkeming,kehao,tname,tnum,keshi;privatevoidstudent_Load(objectsender,EventArgse){TODO:这行代码将数据加载到表“_C_学生选课管理系统DataSet.course”中。您可以根据需要移动或删除它。this.courseTableAdapter .Fill( this._C_学生选课管理系统DataSet.course);TODO:这行代码将数据加载到表“_C_学生选课管理系统DataSet.student”中。您可以根据需要移动或删除16.NET程序设计与开发课程设计报告它。this.studentTableAdapter .Fill( this._C_学生选课管理系统DataSet.student);}private voidbutton1_Click( object sender,EventArgse){dataGridView1 .SelectedRows.ToString();keming =dataGridView1.CurrentRow.Cells[ 0].Value.ToString();kehao =dataGridView1.CurrentRow.Cells[ 1].Value.ToString();tname =dataGridView1.CurrentRow.Cells[ 2].Value.ToString();tnum =dataGridView1.CurrentRow.Cells[ 3].Value.ToString();keshi =dataGridView1.CurrentRow.Cells[ 4].Value.ToString();SqlConnection con =newSqlConnection("Server=.;DataBase=C# 学生选课管理系17.NET程序设计与开发课程设计报告统;Uid=sa;pwd=a06S@998101;");con.Open();string getstring1 ="select*fromxuankewhere学号='" +textBox1.Text.ToString() +"'and 课程编号='"+kehao+"'";stringxm=string.Empty;stringbj=string.Empty;stringzy=string.Empty;string getstring2 ="select*fromstudentwhere学号='" +textBox1 .Text.ToString() +"'" ;adp =newSqlDataAdapter(getstring2,con);ds =newDataSet();adp .Fill(ds);if (ds!=null &&ds.Tables[0].Rows.Count>0){xm =ds.Tables[0].Rows[0]["姓名"].ToString();bj =ds.Tables[0].Rows[0]["班级"].ToString();zy =ds.Tables[0].Rows[0]["专业"].ToString();}18.NET程序设计与开发课程设计报告cmd1 =newSqlCommand(getstring1,con);if (cmd1.ExecuteScalar() ==null){string getstring ="insertinto[xuanke]" +"([ 学号],[ 姓名],[ 班级],[ 专业],[课程名称],[课程编号],[教师姓名],[教师编号])"+"values('"+textBox1.Text.Trim()+"','" +xm.Trim() +"','" +bj.Trim() +"','" +zy.Trim() +"','" +keming .Trim() +"','" +kehao.Trim() +"','" +tname .Trim() +"','" +tnum.Trim()+"')" ;cmd =newSqlCommand();cmd .CommandText=getstring;cmd .Connection =con;cmd .ExecuteNonQuery();MessageBox.Show("选课成功!");}19.NET程序设计与开发课程设计报告else{MessageBox.Show("你已选择此课程! ", "提示");}}privatevoidbutton2_Click(objectsender,EventArgse){int delRowIndex =dataGridView1.CurrentRow.Index;this.dataGridView1.Rows.RemoveAt(delRowIndex);SqlConnectioncon=newSqlConnection("Server=.;DataBase=C# 学生选课管理系统;Uid=sa;pwd=a06S@998101;");con.Open();string getstring1 ="select*fromxuankewhere学号='" +textBox1.Text+"' and课程编号='" +kehao+"'";string xm=textBox2 .Text;20.NET程序设计与开发课程设计报告string bj =textBox3 .Text;string zy =textBox4 .Text;SqlCommandcmd1=newSqlCommand(getstring1,con);if (cmd1.ExecuteScalar() != null){string getstring ="update[xuanke]" +"set[ 姓名]='" +xm+"'," +"[班级]='" +bj +"'," +"专业='" +zy +"'";cmd =newSqlCommand(getstring,con);cmd .CommandText=getstring;cmd .Connection =con;cmd .ExecuteNonQuery();MessageBox.Show("删除成功!");con .Close();}else{MessageBox.Show("你没有选择此课程! ", "提示");}}21.NET程序设计与开发课程设计报告private voidbutton4_Click( object sender,EventArgse){if (textBox1 .Text ==""){MessageBox.Show("请输入学号", "提示");}else{SqlConnection con =newSqlConnection("Server=.;DataBase=C# 学生选课管理系统;Uid=sa;pwd=a06S@998101;");con .Open();cmd =newSqlCommand("select*fromstudent" ,con);if (cmd.ExecuteScalar() !=null){ds =newDataSet();adp =newSqlDataAdapter("SELECT*FROMcourse",con);22.NET程序设计与开发课程设计报告adp .Fill(ds, "course");dataGridView1 .DataSource =ds.Tables["course"];}else{MessageBox.Show("信息错误!!", "提示");con .Close();}}}privatevoidbutton3_Click(objectsender,EventArgse){this.Close();}}}23.NET程序设计与开发课程设计报告教师查询代码usingSystem;usingSystem.Collections .Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论