学生选课系统设计(共34页).doc

上传人:飞****2 文档编号:13892887 上传时间:2022-05-01 格式:DOC 页数:34 大小:240KB
返回 下载 相关 举报
学生选课系统设计(共34页).doc_第1页
第1页 / 共34页
学生选课系统设计(共34页).doc_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《学生选课系统设计(共34页).doc》由会员分享,可在线阅读,更多相关《学生选课系统设计(共34页).doc(34页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上一需求分析1.1设计任务本设计的任务是学生选课系统的设计与实现,其中要实现,课程信息管理(录入、查询、维护);学生信息管理(录入、查询、维护);教师信息管理(录入、查询、维护);选课管理(选课、退课、选课信息查询);教师输入成绩管理(查询学生选的课并给学生成绩)。1.2 系统性能需求实用性:为学生选课提供方便,可以有效的管理学生选课。先进性:产品的系统设计和开发应紧跟着整个计算机发展潮流,采用当时最先进的设计思想,利用最新的开发技术和开发工具。使系统能够无论在功能设计上,还是在技术实现上,都处于同行业的领先地位。操作简单:本系统应该适用于不同水平的使用者,同时系统不应

2、太复杂和烦琐,因此要求系统的操作尽可能简单易行。适应性:应该能广泛应用于不同类型的大、中、小学院校,系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。 代码可读性好:文中的代码将尽可能简洁,易懂。1.3可行性分析经济可行性:由于本系统的主要背景是课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运Microsoft Visual Studio 2008软件的电脑便可,所以不用考虑到经济问题。技术可行性: 本系统的开发使用数据库,只需考虑安装SQL sever数据库的问题,在技术上要求并不

3、高,因此本系统在技术上是可行的。运行可行性: 本系统是一个学生选课系统,所耗费的资源非常的小,现在一般的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。二数据库设计21实体关系图学号性别学生表班级出生日期期期姓名 图2.11 学生实体关系图 教师表所在系所授课程教师名教师编号图2.12 教师实体关系图课程名称学分课程表开课系课程编号任课老师图2.13 课程实体关系图教师编号课程名称学分选课表教师姓名课程编号成绩名班级学号姓名图2.14 选课实体关系图2.2 数据字典 数据项是数据库的

4、关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下:表2.1 数据库中用到的表:数据库表名关系模式名称备注Student学生表学生基本信息表Course课程表课程基本信息表Teach教师表教师基本信息Stu_Cour选课表学生选课信息 表2.2 Student基本情况数据表:字段名字段类型Not Null说明SnoCharPrimary key学号SnamecharNot Null姓名Sclasschar班级Sageintr出生日期Ssexchar性别表2.3Teach基本情况

5、数据表:字段名字段类型Not Null说明TnoCharPrimary key教师编号TnamecharNot Null教师名Cnochar外部码所授课程Tdeptchar所在系表2.4Course数据表:字段名字段类型约束控制说明Cnochar主键(primary key)课程号Cnamecharnot null课程名称Ctimeint课时Ccreditint学分Cteachenchar任课老师表2.5Stu_cour情况数据表:字段名字段类型约束控制说明Cnochar外部键课程编号Snochar外部键学号Snamechar姓名Sclasschar班级SCgradechar成绩Tnamech

6、ar教师名Tnochar教师编号Cnamechar课程名称Ccreditint成绩Ccreditint学分三概要设计3.1 系统总体功能根据本设计的要求可以得到如图3-1所示的系统功能图。学生选课系统用户登录学生用户管理员教师用户个人信息选课结果选课列表选课要求删除修改浏览添加个人信息删除修改浏览退出登录图3-1 系统功能图3.2 系统功能模块设计本系统需要完成的功能主要有:(1)有关学生信息的输入,包括输入学生基本信息、所选课程。(2)学生信息的查询、修改、删除。(3)课程管理信息的添加、修改、删除和浏览等。(4)学生选课管理信息的查询、添加、修改、删除。(5)学生实现选择课程和退选课程的功

7、能。 (6)教师实现查询学生选的课并给学生成绩。 四详细设计4.1登陆界面的设计 登录模块提供用户登录界面,用户输入正确的用户名和密码后,则可进入系统主窗口(即导航页面),从而可以选择进入相应的子系统。 在系统登录界面中,单击【确定】按钮验证用户名和用户密码,若正确则进入系统主界面;否则弹出错误提示,并等待用户的重新输入。单击【取消】按钮则关闭登录界面,退出系统。首先打开Visual Studio 2008,新建一个Windows 应用程序,命名为“学生选课系统”,再为应用程序添加一个窗体。然后在窗体合适位置添加所需要的组件并设置相应属性。 接下来编写登录模块的代码,部分代码如下所示。stri

8、ng LJ = server=.;database=myd;uid=sa;pwd=;/建立连接 SqlConnection conn = new SqlConnection(LJ); conn.Open();/读取所输入的用户名和密码 SqlCommand comm = conn.CreateCommand(); if (rbAdmin.Checked) string sql = SELECT adminname,adminpas FROM admin WHERE(adminname= + tbName.Text + ); comm.CommandText = sql; SqlDataRead

9、er datar = comm.ExecuteReader(); DateTime dt = new DateTime(2008, 1, 1); if (DateTime.Now = dt) MessageBox.Show(程序已经过期,请联系开发商!, 系统提示:, MessageBoxButtons.OK, MessageBoxIcon.Information); Close();/判断是否存在输入的用户 else if (!datar.HasRows) MessageBox.Show(用户名不存在,请重新输入!); tbName.Focus(); return; /读取数据库的内容,并与

10、输入的进行比较; while (datar.Read() /判断用户输入是否正确 if (dataradminpas.ToString().Trim() != tbPas.Text.Trim() MessageBox.Show(用户密码不正确,请重新输入!); tbPas.Focus(); return; else AdminLogin f2 = new AdminLogin(); f2.ShowDialog(); Close(); else if (rbStudent.Checked) string sql = SELECT sno,spas FROM student WHERE(sno=

11、+ tbName.Text + ); comm.CommandText = sql; SqlDataReader datar = comm.ExecuteReader(); DateTime dt = new DateTime(2008, 1, 1); if (DateTime.Now = dt) MessageBox.Show(程序已经过期,请联系开发商!, 系统提示:, MessageBoxButtons.OK, MessageBoxIcon.Information); Close(); /判断是否存在输入的用户 else if (!datar.HasRows) MessageBox.Sh

12、ow(用户名不存在,请重新输入!); tbName.Focus(); return; /读取数据库的内容,并与输入的进行比较; while (datar.Read() /判断用户输入是否正确 if (datarspas.ToString().Trim() != tbPas.Text.Trim() MessageBox.Show(用户密码不正确,请重新输入!); tbPas.Focus(); return; else StudentLogin f3 = new StudentLogin(); f3.ShowDialog(); Close(); else string sql = SELECT t

13、no,tpas FROM teacher WHERE(tno= + tbName.Text + ); comm.CommandText = sql; SqlDataReader datar = comm.ExecuteReader(); DateTime dt = new DateTime(2008, 1, 1); if (DateTime.Now = dt) MessageBox.Show(程序已经过期,请联系开发商!, 系统提示:, MessageBoxButtons.OK, MessageBoxIcon.Information); Close(); /判断是否存在输入的用户 else i

14、f (!datar.HasRows) MessageBox.Show(用户名不存在,请重新输入!); tbName.Focus(); return; /读取数据库的内容,并与输入的进行比较; while (datar.Read() /判断用户输入是否正确 if (datartpas.ToString().Trim() != tbPas.Text.Trim() MessageBox.Show(用户密码不正确,请重新输入!); tbPas.Focus(); return; else TeacherLogin f4 = new TeacherLogin(); f4.ShowDialog(); Clo

15、se(); 完成后的界面效果如图4.1所示图4.1登陆界面4.2管理员登陆界面设计按照以上步骤设计一个管理员登陆界面如图4.2所示。 图4.2管理员登陆界面4.3教师登陆界面设计 首先打开Visual Studio 2008,新建一个Windows 应用程序,再为应用程序添加一个窗体。然后在窗体合适位置添加所需要的组件并设置相应属性。 部分代码如下所示:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using Sys

16、tem.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace myd public partial class TeacherLogin : Form public TeacherLogin() InitializeComponent(); private void butOK_Click(object sender, EventArgs e) if (tbSearch.Text.Length = 0) MessageBox.Show(查询条件不能为空, 系统提示:, MessageBoxButtons.OK

17、, MessageBoxIcon.Information); return; int i; if (int.TryParse(tbSearch.Text, out i) if (tbSearch.Text.Length = 0) MessageBox.Show(学号必需为数字, 系统提示:, MessageBoxButtons.OK, MessageBoxIcon.Information); return; SqlConnection cnn = new SqlConnection (Data Source=.;Initial Catalog=myd;User ID=sa;Password=)

18、; SqlCommand cmd = new SqlCommand(); cmd.CommandText = SC_Info_Search; cmd.Parameters.Add(SearchType, SqlDbType.Decimal); cmd.Parameters.Add(SearchText, SqlDbType.VarChar, 50); i = 0; cmd.ParametersSearchType.Value = i; cmd.ParametersSearchText.Value = tbSearch.Text.Trim(); cmd.CommandType = Command

19、Type.StoredProcedure; cmd.Connection = cnn; SqlDataAdapter sda = new SqlDataAdapter(cmd); try DataSet ds = new DataSet(); sda.Fill(ds);/填充数据集 sCBindingSource.DataSource = ds.Tables0;/将数据集显示出来 /把查询出来的数据绑定到相关控件 tbCj.DataBindings.Clear(); tbCj.DataBindings.Add(Text, sCBindingSource, score); catch (Exce

20、ption ex) MessageBox.Show(出现错误,错误原因为 + ex.Message, 系统提示:, MessageBoxButtons.OK, MessageBoxIcon.Error); private void butSave_Click(object sender, EventArgs e) string sql; sql = update SC set score= + tbCj.Text + where sno= + (DataRowView)sCBindingSource.Current)sno.ToString(); SqlConnection cnn = new

21、 SqlConnection (Data Source=.;Initial Catalog=myd;User ID=sa;Password=); SqlCommand cmd = new SqlCommand(sql, cnn); try cnn.Open();/打开连接 cmd.ExecuteNonQuery(); MessageBox.Show(数据保存成功, 系统提示:); catch (Exception ex) MessageBox.Show(出现错误,错误原因为 + ex.Message, 系统提示:, MessageBoxButtons.OK, MessageBoxIcon.Er

22、ror); finally if (cnn.State = ConnectionState.Open) cnn.Close();/关闭连接 完成后的界面效果如图4.3所示 图4.3教师登陆界面4.4学生登陆界面设计1首先打开Visual Studio 2005。2新建一个工程,工程名为:StudentLogin3在窗体上放置数据显示工具DataGridView1、DataGridView24设置DataGridView1和DataGridView2任务,在选择数据源中,选择添加项目数据源,根据数据源配置向导来添加,和数据库名为myd中的学生表连接起来,添加成功时,选择数据源为courseBin

23、dingSource和sCBindingSource。5在窗体上放置GroupBox组件GroupBox1,RadioButton组件RadioButton1、RadioButton2、RadioButton3、RadioButton 4、RadioButton 5,Label组件Label1、Label2、Label3,Button组件Button1、Button2、Button3、Button4、Button5,TextBox组件TextBox1到TextBox46设置GroupBox的属性中的Text:GroupBox1的Text中输入:查询条件。7设置Button的属性中的Text:B

24、utton1到Button5的Text中分别输入:确认、返回、选中此课、退了此课、确定。8设置Button的属性中的Name:确认、返回、选中此课、退了此课、确定的Name中分别输入:btnOK、btnCancel、butXzck、butTlck、butOK2。9设置Label的属性中的Text:Label1到Label3的Text中分别输入:课程代码、输入自己的学号、输入自己的学号查找自己所选的课程和成绩。10设置RadioButton的属性中的Name:RadioButton1到RadioButton5的Name中分别输入:rbKcdm、rbKcmc、rbXf、rbKkx、rbRkls。1

25、1设置RadioButton的属性中的Text:RadioButton1到RadioButton3的Text中分别输入:课程代码、课程名称、学分、开课系、任课老师。12设置RadioButton1的属性中的checked设置为True。13设置TextBox的属性中的Name:TextBox1到TextBox4的Name中分别输入:tbSearch、tbNo、tbsno、tbSearch2。14分别双击确认、确认、返回、选中此课、退了此课、确定切换到代码窗口,输入代码,代码如下:using System;using System.Collections.Generic;using System

26、.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace myd public partial class StudentLogin : Form public StudentLogin() InitializeComponent(); private bool Insert_flag = false; private void dataGridView1_CellClick(o

27、bject sender, DataGridViewCellEventArgs e) Insert_flag = false; private void StudentLogin_Load(object sender, EventArgs e) this.courseTableAdapter.Fill(this.mydDataSet5.course); private void btnOK_Click(object sender, EventArgs e) if (tbSearch.Text.Length = 0) MessageBox.Show(查询条件不能为空, 系统提示:, Messag

28、eBoxButtons.OK, MessageBoxIcon.Information); return; int i; if (rbXf.Checked & int.TryParse(tbSearch.Text, out i) if (tbSearch.Text.Length = 0) MessageBox.Show(学分必需为数字, 系统提示:, MessageBoxButtons.OK, MessageBoxIcon.Information); return; SqlConnection cnn = new SqlConnection (Data Source=.;Initial Cata

29、log=myd;User ID=sa;Password=); SqlCommand cmd = new SqlCommand(); cmd.CommandText = Course_Info_Search; cmd.Parameters.Add(SearchType, SqlDbType.Decimal); cmd.Parameters.Add(SearchText, SqlDbType.VarChar, 50); if (rbKcdm.Checked) i = 0; else if (rbKcmc.Checked) i = 1; else if (rbXf.Checked) i = 2; e

30、lse if (rbKkx.Checked) i = 3; else i = 4; cmd.ParametersSearchType.Value = i; cmd.ParametersSearchText.Value = tbSearch.Text.Trim(); cmd.CommandType = CommandType.StoredProcedure; cmd.Connection = cnn; SqlDataAdapter sda = new SqlDataAdapter(cmd); try DataSet ds = new DataSet(); sda.Fill(ds);/填充数据集

31、courseBindingSource.DataSource = ds.Tables0; /将数据集显示出来 /把查询出来的数据绑定到相关控件 tbNo.DataBindings.Clear(); tbNo.DataBindings.Add(Text, courseBindingSource, cno); if (ds.Tables0.Rows.Count = 0) Insert_flag = true; catch (Exception ex) MessageBox.Show(出现错误,错误原因为 + ex.Message, 系统提示:, MessageBoxButtons.OK, MessageBoxIcon.Error); private vo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com