目录一、课程设计目的---------------------------------------------------------3二、功能描述---------------------------------------------------------------3三、系统分析-------------------------------------------------------------33.1需求分析-------------------------------------------------------- 33.2开发环境----------------------------------------------------3四、总体设计-------------------------------------------------------------44.1功能构成------------------------------------------------------44.2业务流程图--------------------------------------------------------------------------------------4五、数据库设计-----------------------------------------------------------55.1需求分析---------------------------------------------------55.2实体E—R图--------------------------------------------------------------------------55.3数据表设计--------------------------------------------------------6六、实现过程--------------------------------------------------------------76.1登录的实现-----------------------------------------------76.2主界面-------------------------------------------------------------96.3学生管理信息界面-------------------------------------------------116.4成绩信息管理界面-------------------------------------------------136.5选课信息界面-----------------------------------------------------156.6添加学生信息界面-------------------------------------------------166.7学生列表界面------------------------------------------------------186.8添加成绩界面------------------------------------------------------196.9选课添加界面------------------------------------------------------206.10用户注册界面-----------------------------------------------------21一、课程设计目的建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。
帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。
二、功能描述考勤管理系统由学生信息管理模块、选课信息模块、成绩信息模块和用户管理模块四个主要功能模块构成。
学生信息管理模块主要包括添加学生、查看学生信息等操作。
、系统选课信息管理模块主要包括添加课程信息、修改学分等操作。
成绩信息模块主要包括查看学生的选课成绩等操作。
用户管理模块主要可以用来注册新用户,并可以用新用户来登陆系统。
三、系统分析3.1 需求分析学生信息管理系统的用户是学校的老师,它可以有效的管理学生信息情况。
管理员可以创建用户,增加和修改用户信息以及删除用户信息,和对学校一些学生信息的编辑等。
该系统包括基本学生基本信息、成绩信息管理、选课信息管理等主要模块。
每一个功能模块都需要针对不同的表来完成相同的数据库操作,即添加记录,修改记录,删除记录以及查询显示记录信息。
具体功能有以下几个方面。
3.2 开发环境Visual Studio2010是一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在Visual 2010环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
四、总体设计4.1 软件功能构成学生信息管理系统是一个典型的数据库应用程序,由学生信息管理模块、课程信息管理模块、成绩信息管理模块等模块组成,允许授予权限的用户操作相应的菜单,从而实现数据信息的修改,查询,打印,统计等功能。
考勤管理系统由学生信息管理模块、选课信息模块、成绩信息模块和用户管理模块四个主要功能模块构成。
学生信息管理模块主要包括添加学生、查看学生信息等操作。
、系统选课信息管理模块主要包括添加课程信息、修改学分等操作。
成绩信息模块主要包括查看学生的选课成绩等操作。
用户管理模块主要可以用来注册新用户,并可以用新用户来登陆系统。
4.2业务流程图5.11.一个专业包括多个班级;2.一个班在一个学期内开设多门课程;3.每一门课程记录每一名学生的成绩;4.一种角色对应一个和多个用户;5.每一个学生可以贷款多项费用;6.一个班级对应一个入学年份及学制;7.一个班级包含多名学生;8.每一个学生都有不同的学号;9.每一个学生可以受奖励或处罚多次;10.每一个学生可以获奖学金多次;5.2 信息实体E—R图5.2.1学生信息实体E—R图5.2.2 课程信息实体E—R图5.2.3学生信息管理系统总E-R图5.3 数据表设计学生信息管理数据库采用Microsoft SQL SERVER 2010,在使用数据库过程中,接触最多的就是数据库中的表,表是数据存储的地方,是数据库最重要的部分。
这个系统数据库表由4个表构成,具体如下。
表student表course表Sc主键是snocno intY 课程号sname char 10 Y 姓名cname char 10 Y 课程名称grade int Y 成绩表admin主键是用户名字段类型长度是否允许为空值字段描述用户名char 20 N密码char 20 N六、实现过程6.1 系统登录功能的实现用户要使用本系统,首先必须通过系统的身份认证。
如果用户名错误或者不存在,密码错误3次后,对话框自动关闭。
具体代码如下:namespace学生选课{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button2_Click(object sender, EventArgs e){Application.Exit();}private void textBox3_TextChanged(object sender, EventArgs e){MessageBox.Show("学生信息管理系统");}public static Form fm = null;private static int ErrorTimes = 0;private void button1_Click(object sender, EventArgs e){if (textBox1.Text == "" || textBox2.Text == ""){ MessageBox.Show("提示:请输入用户名和密码!", "警告"); }SqlConnection conn = new SqlConnection("Server=TC-PC;Integrated Security=true;DataBase=学生");conn.Open();SqlCommand cmd = new SqlCommand("select * from admin where 用户名='" + textBox1.Text.Trim() + "' and 密码='" + textBox2.Text.Trim() + "'", conn);SqlDataReader sdr = cmd.ExecuteReader();sdr.Read();if (sdr.HasRows){ MessageBox.Show("登录成功!", "提示");Form2 fm = new Form2();fm.Show();this.Hide();}else{ErrorTimes++;MessageBox.Show("用户名或密码不正确!您还有" + (3 - ErrorTimes) + "次输入密码的机会,请重新输入!如果超过3次,系统将自动关闭");if (ErrorTimes >= 3){ErrorTimes = 0;conn.Close();}}}}}6.2 主界面具体代码如下:namespace学生选课{public partial class Form2 : Form{public Form2(){InitializeComponent();}public static Form fr = null;private void button1_Click(object sender, EventArgs e){if (fr == null){Form3 fr2 = new Form3();fr2.Show();MessageBox.Show("您已成功进入----学生管理!");}else{fr.TopLevel = true;}public static Form fw = null;private void button2_Click(object sender, EventArgs e) {if (fw == null){Form4 fw3 = new Form4();fw3.Show();MessageBox.Show("您已成功进入----成绩信息!");}else{fw.TopLevel = true;}}public static Form fe = null;private void button3_Click(object sender, EventArgs e) {if (fe == null){Form5 fe2 = new Form5();fe2.Show();MessageBox.Show("您已成功进入----选课信息!");}else{fe.TopLevel = true;}}public static Form fu = null;private void button4_Click(object sender, EventArgs e) {if (fu == null){Form10 fr2 = new Form10();fr2.Show();MessageBox.Show("您已成功进入----用户管理!");}else{fr.TopLevel = true;}}private void button5_Click(object sender, EventArgs e)this.Close();}private void Form2_Load(object sender, EventArgs e){}}}6.3 学生管理信息界面具体代码如下:namespace学生选课{public partial class Form3 : Form{public Form3(){InitializeComponent();}private void button4_Click(object sender, EventArgs e){}private void添加学生ToolStripMenuItem_Click(object sender, EventArgs e) {Form6 f2 = new Form6();f2.MdiParent = this;f2.StartPosition = FormStartPosition.CenterScreen;f2.Show();}private void学生列表ToolStripMenuItem_Click(object sender, EventArgs e) {Form7 f2 = new Form7();f2.MdiParent = this;f2.StartPosition = FormStartPosition.CenterScreen;f2.Show();}private void退出ToolStripMenuItem_Click(object sender, EventArgs e){this.Close();}private void Form3_Load(object sender, EventArgs e){}}}6.4 成绩信息管理界面代码具体如下:namespace学生选课{public partial class Form4 : Form{public Form4(){InitializeComponent();}string strcon = "Server=TC-PC;Integrated Security=true;DataBase=学生";SqlConnection con;SqlDataAdapter da;DataSet ds;private void Form4_Load(object sender, EventArgs e){// TODO: 这行代码将数据加载到表“学生DataSet.sc”中。