《学生信息管理系统3136731.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统3136731.doc(29页珍藏版)》请在三一办公上搜索。
1、数据库课程设计报告学生学籍管理系统的设计专业计算机科学与技术学生姓名班级学号指导教师完成日期20011年7月7日目 录1 课程设计目的及要求12 课程设计的主要内容13数据库设计33.1 概念设计33.3 物理设计64程序模块设计74.1 学生功能模块设计74.2 教师功能模块设计154.3 管理员功能模块设计185 小结22附 录24附录1 源程序清单24学生学籍管理系统的设计1 课程设计目的及要求 数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程。数据库课程设计对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。本课程分为系统分析与数据库设计、应用程序设计和系
2、统集成调试三个阶段进行。数据库课程设计的主要目标是:a)加深对数据库系统、程序设计语言的理论知识的理解和应用水平。b)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。 2 课程设计的主要内容A)系统分析与数据库设计阶段1) 通过社会调查,选择一个实际应用数据库系统的课题。2)进行系统需求分析和系统设计,写出系统分析和设计报告。3)设计数据模型并进行优化,确定数据库结构、功能结构和系统安全性和完整性要求。B)应用程序设计阶段1)完成数据库定义工作,实现系统数据的数据处理和数据录入。2)实现应用程序的设计、编程、优化功能,实现数据安
3、全性、数据完整性和并发控制技术等功能,并针对具体课题问题提出解决方法。C)系统集成调试阶段对系统的各个应用程序进行集成和调试,进一步优化系统性能,改善系统用户界面。需求分析:系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。在本系统中有三种权限:一种是用户权限,即学生。另一种是管理员权限,即教师,还有一种超级管理员,即系统管理员。学生管理系统需要完成的功能主要有:学生可以完成的功能有 : 学生信息的查询,包括查询学生的基本信息、学生成绩等。 学生信息的修改,学生只能修改他本人的密码。教师可以完成的功能有 : 基本课程信息的输入、查询、修改。 学生成绩信息的输入、查询、修改。管理员可
4、以完成的功能有:班级管理信息的输入、查询、修改。课程信息的安排,包括课程的对课程的添加、删除、修改。图2-1系统功能模块图可行性研究:目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。经济上可行性:现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;所以,本系统在经济上是可行的。技术上可行性:本系统的开发我利用Microsoft SQL Server2000
5、作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。 使用Microsoft Visual Studio作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。运行上可行性:本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学
6、校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。法律可行性: 本系统作为数据库达作业设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。3数据库设计3.1 概念设计 本系统的实体有:学生实体、用户实体、教师实体、课程实体和排课实体。各个实体具体的描述E-R图如图下所示。图3-1 学生实体联系图图3-2 教师实体联系图图3-3 课程实体联系图图3-4 整体的E-R图3.2 逻辑设计 现在需要将上面的数据库概念结构转化为SQL Server 2000 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。 学生管理系统数据库中各个表格的
7、设计结果如下面的几个表所示。每个表表示在数据库中的一个数据表。图3-5 学生表图3-6 教师表图3-7 课程表图3-8 用户表3.3 物理设计设计数据库的物理结构,根据数据库的逻辑结构来选定RDBMS(如Oracle、Sybase等),并设计和实施数据库的存储结构、存取方式。图3-9 学生表信息图3-10 教师表信息图3-11 课程表信息图3-12 排课表信息图3-13 用户表信息4程序模块设计4.1 学生功能模块设计 此模块的主要功能有:学生个人信息查询、学生个人成绩查询、课程安排查询修改个人密码。系统登录:系统启动后,将首先出现如下所示的用户登陆窗体,用户首先输入用户名,然后输入密码。可以
8、有三种类型的用户,分别是学生、教师和管理员。 图4-1 系统登录登录系统的核心代码:public partial class wf_denglu : Form public wf_denglu() InitializeComponent(); public string mm; private void button2_Click(object sender, EventArgs e) this.Close(); private void button1_Click(object sender, EventArgs e) string CString = Provider=Microsoft.
9、Jet.OlEDB.4.0;Data Source=学生信息管理.mdb; string SQLStr = select * from 用户表; try OleDbConnection myCon = new OleDbConnection(CString); myCon.Open(); OleDbCommand MyCom1 = new OleDbCommand(); MyCom1.Connection = myCon; MyCom1.CommandType = CommandType.Text; MyCom1.CommandText = SQLStr; OleDbDataAdapter m
10、ydataAdapter1 = new OleDbDataAdapter(); mydataAdapter1.SelectCommand = MyCom1; DataSet myds = new DataSet(); mydataAdapter1.Fill(myds, 用户表); int i; bool flag =false ; for (i = 0; i myds.Tables用户表.Rows.Count; i+) if (username.Text = | password.Text = ) MessageBox.Show(用户名密码不能为空, 警告); username.Text =
11、; password.Text = ; username.Focus(); flag = true; break; Else if (username.Text != myds.Tables用户表.Rowsi0.ToString().Trim() | password.Text != myds.Tables用户表.Rowsi3.ToString().Trim() flag = false; else if (username.Text = myds.Tables用户表.Rowsi0.ToString().Trim() & password.Text = myds.Tables用户表.Rowsi
12、3.ToString().Trim() string yhm = username.Text; mm = password.Text; wf_main f1 = new wf_main(username.Text,password .Text ); this.Hide(); for (i = 0; i 0) MessageBox.Show(修改成功!, 系统提示); this.Close(); else MessageBox.Show(修改失败!, 系统提示); else MessageBox.Show(两次输入密码不同,请重新输入!, 错误); textBox2.Text = ; textB
13、ox3 .Text =; else MessageBox.Show(原密码错误!, 错误); textBox1.Text = ; textBox2.Text = ; textBox3.Text = ; 4.2 教师功能模块设计教师功能模块的主要功能有:个人信息的查询,本学期安排的课程、学生成绩的录入。教师个人信息查询及课程安排图4-6 教师信息查询教师个人信息查询的核心代码:public partial class wf_gerenxinxichaxun : Form public string yhm; public wf_gerenxinxichaxun(string n) Initial
14、izeComponent(); yhm = n; private void button1_Click(object sender, EventArgs e) this.Close(); private void wf_gerenxinxichaxun_Load(object sender, EventArgs e) try string CString = Provider=Microsoft.Jet.OlEDB.4.0;Data Source=学生信息管理.mdb; OleDbConnection mycon = new OleDbConnection(); OleDbConnection
15、 myCon = new OleDbConnection(CString); myCon.Open(); string select1 = select 姓名 from 教师表 where 教师号= + yhm + ; OleDbCommand MyCom1 = myCon.CreateCommand(); MyCom1.CommandType = CommandType.Text; MyCom1.CommandText = select1; string teachername = Convert.ToString(MyCom1.ExecuteScalar(); textBox2.Text = teachername; textBox1.Text = yhm; string select2 = select 性别 from 教师表 where 教师号= + yhm + ; OleDbCommand MyCom2 = myCon.CreateCommand(); MyCom2.CommandType = CommandType.Text; MyCom2.Com