资源描述
河 北 联 合大 学
数据库课程设计说明书
设计题目:
学生选课系统
姓 名:
林炳帅
学 号:
201013030223
专 业:
地理信息系统
班 级:
10地信2班
指导教师:
王晓红
黄 丽
王政
矿业工程学院
2013年 01 月 06 日
矿业工程学院
河北理工大学课程设计说明书
目 录
目录
1.概述----------------------------------------------------1
1.1 选题背景------------------------------------------1
1.2 选课系统简介--------------------------------------1
2.需求分析设计--------------------------------------------2
3.结构设计------------------------------------------------2
3.1 E-R图结构分析-------------------------------------2
3.2 数据库表结构分析----------------------------------- 3
3.3功能模块分析---------------------------------------4
4.行为设计 -----------------------------------------------4
5.系统主要说明及主要代码 ---------------------------------5
5.1结构信息--------------------------------------------5
5.2系统界面--------------------------------------------5
5.3系统功能--------------------------------------------5
6.课程设计心得及体会---------------------------------------8
1概述
随着科技的发展,校园网技术迅速发展。对于高校而言,建立校园网的作用一般有以下两方面:一是外部网络连接,实现与网络连接,提供本校的信息服务,融入世界信息潮流;了解外面世界,加强学术交流与合作。另一个就是建立本校的管理信息系统,实现管理的科学化、现代化;利用现代化的手段提高教学质量和管理水平。
1.1 选题背景
选课系统属于教学信息管理系统一部分。随着高等教育的发展和社会需要,各高校尽多地开设各类课程,以拓宽学生的知识面,培养学生的个性和创造能力,提高学生的综合素质。但由于传统的人工选课数据是经过多级手工处理后上报教务处的,效率较低,而选课时烦琐的工作也给教务管理部门带来了很大的工作量,因此容易出错。另一方面,学生对课程的迟选、补选、改选操作非常麻烦,同时教学管理部门无法掌握选课人数的变化和学生分布的情况,难以进行动态调整。传统的选课方式已经不适应现代教务教学的改革和发展,迫切需要一种新的选课方式。为使教学管理工作的科学化、规范化,就必须采用计算机辅助管理。计算机管理使选课更加高效准确,省去了大量的人力劳动,提高了教学管理的信息化水平。
本系统面向全校师生和管理人员,是高校日常教学、教务管理的应用软件。该系统的目的主要是实现学生选择选修课的公平性和方便性,让他们可以选择课程,删除选课,查询选修课程信息;对于任课教师,可以提交、修改及确认所任选课成绩;对于教学管理部门,能够实现学生数据的导入、选修课表的录入、选课系统的合理配置,如每学期每人选课最大数目、每门课程的最大容量、选课时间及避开上课地点与时间的冲突等。
但是本人的知识和能力有限,时间有限,所做的系统只实现了最基本的选课系统的功能,我会在以后的学习过程中继续完善该系统。
1.2 选课系统简介
本系统面向全校师生,是高校日常教学、教务管理的应用软件。该系统的目的主要是实现学生选择选修课的公平性和方便性,让他们可以选择课程,删除选课,查询选修课程信息;对于教师,可以修改、删除、添加需要选课的课程信息,查看学生的选课情况,以及修改密码等。
2 需求分析
本系统中数据库采用Microsoft SQL Server 2008作为数据库工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。
针对学生选课系统的需求,总结如以下信息:
用户分学生用户、教师用户。
1.一个学生选择多门课程。
2.一位教师教授多门课程。
3.一位老师教授多门课程。
经过对上述系统功能的分析和需求总结,设计如下数据项:
教师,包括教师名、教师工号、所属系、授课编号、密码等。
学生,包括学生学号、学生姓名、性别、所属院系、密码等。
课程,包括课程编号、课程名称、学时、课程描述、所属系等。
3 结构设计
数据库的设计是指对于一个给定的应用环境,构造最有效的数据库模式,建立数据及应用系统,实质能够有效地存储数据,满足用户的需求,数据库设计是在数据库管理系统支持下进行的。
3.1 选课系统E-R图分析
在用户需求分析的基础上,系统设计员可以建立起数据库的概念模型。概念模型主要是用于反映用户的现实环境和需求,它独立于具体的数据库管理系统,并且于数据库怎样实现也无关。建立概念模型常用的工具为实体-联系图(E-R图)。在实体-联系图中,实体型通常以写明实体名的长方形来表示;实体间的联系则以表明联系名的菱形来表示。通过使用连线将菱形与有关实体相连接,便可画出实体-联系图。
综合分析本系统要完成的主要功能,从系统中我们可以得到下面的关键数据实体对象:学生信息实体,教师信息实体,专业信息实体,班级信息实体,专业选修课程,专业选修课上课信息,学生选课信息,将这些实体以及它们之间的联系以实体属性图和实体联系图表示出来。
学生选课系统E-R图
教 师
所授课程号
所属系
编号
密码
ID号
姓名
性 别
别
所属系
姓名
学号
密码
学
生
ID号
课程名
ID号
课程号
课时
开课系别
课
程
教授
教授
学习
3.2 数据库表结构分析(标题2,黑体,四号)
3.3 学生选课系统功能分析
本系统分为两层,表现层通过统一的接口向数据访问层发送请求,业务逻辑层将请求按照一定逻辑规则处理后进入数据库操作,然后将从数据库返回的数据集合封装成对象的形式返回到表现层。通过这样的数据处理流程,用户表现层甚至可以不知道数据库是结构,只要维护与数据的访问层之间的接口即可。这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户表现层开发人员的要求,因为表现层不需要进行任何关于数据库的操作。
根据上述的分析,可以描述出系统的功能模块图。分别从学生界面、教师界面对功能模块进行描述。
学生选课系统功能模块分析图
学生选课系统
学生
教师
登录
删除课程
修改课程
查看课程
查看学生课程选课细心
修改密码
选 课
删除课程
查看课程
4 行为设计
该系统所做功能比较简单、
1.登陆模块:使用登陆界面进行用户管理,使不同权限用户进行系统的登录,从而实现用户的登陆管理。登陆后进入主界面,进行权限操作。
2.学生选课模块:学生用户登陆后进入主操作界面进行课程查询,修改密码,
选课课程,删除课程,查看选课情况等。
3.教师管理模块:包括查看和修改课程信息,查看学生选课情况等。
5 系统使用说明及主要代码
5.1 结构信息
包括系统总体设计审查、系统设计审查和程序编码审查。测试结果表明,整个系统结构合理,易读易维护,编码正确,达到了设计要求。
5.2 系统界面
主要测试了系统界面是否美观,操作是否灵活、简洁、方便、实用,是否符合学校的要求。测试结果表明,系统界面友好,完全达到了设计的要求。
主界面代码
namespace 学生选课系统
{
public partial class AddCourse : Form
{
public AddCourse()
{
InitializeComponent();
}
public AddCourse(int a)
{
InitializeComponent();
if (a == 1)
{
btSc.Visible = false;
}
else
{
btTj.Visible = false;
}
}
private void btTj_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "")
{
MessageBox.Show("请输入完整信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);//提示框
}
else
{
string con = Program.constr;
SqlConnection conn = new SqlConnection(con);
string sql = "insert into course(cno,cname,ctime,cdept) values('" + textBox1.Text.Trim () + "','" + textBox2.Text.Trim () + "','" + textBox3.Text.Trim () + "','" + textBox4.Text .Trim () + "');";
SqlCommand myComm = new SqlCommand(sql,conn);
conn.Open();
myComm.ExecuteNonQuery();
conn.Close();
MessageBox.Show("已成功向数据库中插入一条记录!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
textBox1.Text = ""; //文本框清空
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
}
}
private void lklbFh_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
TeacherLogin t = new TeacherLogin();
t.ShowDialog(); this.Close();
}
private void btSc_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" && textBox2.Text == "" && textBox3.Text == "" && textBox4.Text == "")
MessageBox.Show("请选择并输入要删除的课程条件!");
else
{
if (textBox1.Text != "")
{
MessageBox.Show("确定根据课程号删除吗?删除后将无法恢复");
string con = Program.constr;
SqlConnection conn = new SqlConnection(con);
string sql = "delete course where cno='" + textBox1.Text + "'";
SqlCommand myComm = new SqlCommand(sql, conn);
conn.Open();
myComm.ExecuteNonQuery();
conn.Close();
}
else if (textBox2.Text != "")
{
MessageBox.Show("确定根据课程名删除吗?删除后将无法恢复");
string con = Program.constr;
SqlConnection conn = new SqlConnection(con);
string sql = "delete course where cname='" + textBox2.Text + "'";
SqlCommand myComm = new SqlCommand(sql, conn);
conn.Open();
myComm.ExecuteNonQuery();
conn.Close();
this.Close();
}
else if (textBox3.Text != "")
{
MessageBox.Show("确定根据授课教师删除吗?删除后将无法恢复");
string con = Program.constr;
SqlConnection conn = new SqlConnection(con);
string sql = "delete course where tname='" + textBox3.Text + "'";
SqlCommand myComm = new SqlCommand(sql, conn);
conn.Open();
myComm.ExecuteNonQuery();
conn.Close();
this.Close();
}
}
}
private void AddCourse_Load(object sender, EventArgs e)
{
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
}
}
5.3 系统功能
(1)登录测试
包括了用户验证、权限确认。测试结果表明,系统能够对合法性用户进行准确验证,能够准确地确认不同用户的权限信息,正确地组合功能模块,进入不同的系统管理界面。
(2)学生选课测试
根据不同条件,查看课程信息
选课并查询
(3)学生修改密码测试
6 课程设计心得和体会
在本次设计的全过程中,我对C#编程和数据库的相关知识有了一个比较系统的认识和理解。同时使我学会了如何使用所学的知识去解决一些实际的问题。
在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。
通过这次设计,我学会了和别人配合工作,因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,体现团队精神,才能使工作做得更为出色。通过这次设计,我学到了许多书本上学不到的知识,增强了自己的动手能力。对于以后的学习,让我也有了明确的方向。
由于知识和时间有限,系统只是实现了最简单的功能,还有许多需要改进的地方,我会在以后的学习过程中继续完善它,争取学到更多的知识,做到学有所用。
13
交通与测绘学院
展开阅读全文