数据库应用系统综合设计.docx
《数据库应用系统综合设计.docx》由会员分享,可在线阅读,更多相关《数据库应用系统综合设计.docx(23页珍藏版)》请在冰点文库上搜索。
数据库应用系统综合设计
数据库应用系统综合设计
题目:
专业:
姓名:
学号:
班级:
任课教师:
2017年6月
目录
1需求分析 2
1.1用户需求的获取 2
1.2系统功能结构 2
1.3初步调查与可行性分析 3
2系统开发环境 4
2.1开发平台 4
2.2开发语言 4
3概念结构设计 5
4逻辑结构设计 5
5系统功能设计与实现 6
6结论 11
附录 12
用户手册 21
22
1需求分析
1.1用户需求的获取
管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,教师可以通过成绩管理系统查阅学生成绩信息,教师信息,等相关操作。
系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作。
根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。
开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。
目前,学校工作繁杂、资料重多。
目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
如果一个学校没有一个完善的成绩管理平台,计算机的使用就没有真正发挥有效的作用。
随着计算机应用的普及与深入,利用计算机能够对所有考试成绩进行统一管理,进行分析,大大减少了工作量,提高了工作效率,为教学办公带来了极大的方便。
本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化。
达到提高学生成绩管理效率的目的。
与传统管理方法相比有明显的优点:
查找方便,可靠性高,保密性好,成本低。
彻底改变了以前繁杂的管理模式,实现全面的、相对集中的、职能化的信息综合管理
1.2系统功能结构
总控模块管理有三种不同的信息的处理模块,即管理员模块、教师模块、学生模块,各模块的主要功能有:
(1)系统管理员进入学生成绩管理的主要功能:
实现管理员用户的添加、修改和删除,以及对教师添加、教师修改、教师删除、教师查询、学生添加、学生修改、学生删除、学生查询等基本功能,并且参与开设课程、选择课程的管理,安排教师的任课和学生的选课工作。
(2)教师进入学生成绩管理系统的主要功能:
各科教师登录系统后查询和修改个人信息,修改自己的账号密码,查询自己的授课课程,实现对选修了自己课程的学生的成绩进行查询、录入和修改,各科老师可以对自己学生选修课程结束后给予分数,同时可以对自己所带课程的成绩优秀人数、及格人数、不及格人数的分布信息进行查询。
(3)学生进入学生成绩管理系统的主要功能:
每个学生登录后可以查询和修改个人信息、修改自己的账号密码,以及自己所选任课老师的个人信息,同时在课程结束后可以查询在校期间各个时间段选修课程的成绩与学分,以及对单科成绩和总分的排名查询。
结构图如图1所示
图1功能层次图
1.3初步调查与可行性分析
可行性分析就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
这步工作的主要是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以比较抽象的方式进行系统分析和设计的过程。
可行性研究的最根本任务是对以后的行动方针提出建议,从而节省人力、时间,按照一个较好的解决方案来完成设计,并且为工程制定一个初步的计划。
1.技术可行性本系统采用SQL进行数据的管理、操作和维护,进行前台设计、数据的录入、修改、删除、查询、浏览、统计等功能。
由其的数据存储功能、方便快捷的验证功能、使用的灵活、良好的可扩展性、以及广泛实际应用,充分说明本系统在技术方面的可行性。
2.工具可行性软件方面:
信息时代对于软件的应用已不是人们的难题,人们在日常办公中用的计算机操作的系统等都属于软件部分。
硬件方面:
计算机普及到今天,人们对于它的拥有已不少见,它的硬件设备完全能够满足人们的需求,而价格也能被人们所接受。
3.经济可行性这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以搞起来,考虑到学校里有电脑,现只要购置一台打印机就可以了。
从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。
4.操作可行性本系统设计清晰,有良好的用户接口,操作简洁,符合教务管理的工作需要,并达到操作过程中的直观、方便、实用、安全等要求
2系统开发环境
2.1开发平台
Microsoft.NET
SQLserver2012
2.2开发语言
VisualC#
3概念结构设计
图2学生成绩管理系统的总体E-R图
4逻辑结构设计
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:
课程信息表
Class:
(课程号,课程名称,教师编号)
学生信息表
Student1:
(学号,姓名,性别,年龄,所属班级)
成绩表
Score:
(学号,课程号,成绩)
教师表
Teacher1:
(教师编号,教师名称,性别,年龄,职称)
表1课程信息表(class)
字段名
描述
数据类型
字段限制
cno
课程号
char(10)
Primarykey
cname
课程名称
char(10)
Notnull
teano
教师编号
char(10)
Notnull
表2学生信息表(student1)
字段名
描述
数据类型
字段权限
sno
学号
char(10)
Primarykey
sname
姓名
char(10)
Notnull
ssex
性别
char
(2)
Notnull
sage
年龄
char
(2)
Notnull
class
所属班级
char(10)
Notnull
表3教师表(teacher1)
字段名
属性
数据类型
字段权限
teano
教师号
char(10)
Primarykey
tname
教师名称
char(10)
Notnull
Tsex
性别
char
(2)
Notnull
tage
年龄
char(10)
Notnull
title
职称
char(10)
Notnull
表4成绩表(Score)
字段名
属性
数据类型
字段权限
sno
学号
char(10)
Primarykey
cno
课程号
char(10)
Notnull
degree
成绩
char(10)
Notnull
5系统功能设计与实现
学生数据管理
(a)编辑学生数据模块
该窗体用于编辑学生基本数据如图3所示。
学生基本数据包括学号、姓名、性别、出生日期和班号,操作功能有查询、添加、修改和删除学生记录。
如图1所示
图3编辑学生信息
(b)查询学生数据模块
该窗体用于查询学生基本数据如图4所示。
可以用学号、性别、姓名、班号、出生日期来查询学生的基本数据。
图4查询学生数据
教师数据管理
(a)编辑教师数据模块
该窗体用于编辑教师基本数据如图5所示。
教师基本数据包括编号、姓名、性别、出生日期、职称和系名,操作功能有查询、添加、修改和删除教师记录。
图5编辑教师数据
(b)查询教师数据模块
该窗体用于查询教师基本数据如图6所示。
可以用编号、性别、姓名、职称、出生日期和系名来查询学生的基本数据。
图6查询教师数据
课程数据管理
(a)编辑课程数据模块
该窗体用于编辑课程基本数据如图7所示,包括课程号和课程名。
用户可以单击右下角的“添加”、“修改”和“删除”按钮应用相应的功能。
图7编辑课程数据
(b)查询课程数据模块
该窗体用于查询课程基本数据如图8所示。
可以用课程号、来查询学生的基本数据。
图8查询课程数据
成绩数据管理
该模块可以根据学号、课程号编辑学生成绩,也可以利用学号、课程号、性别、姓名、班号、分数范围查询成绩。
学生成绩管理如图9所示
图9学生成绩管理窗口
系统维护管理
该模块可以用于查询、添加、修改、删除用户信息(用户名、密码、级别)
图10设置系统用户窗口
6结论
经过一学期的学习,我选择的课题学生成绩管理系统部分功能基本完成。
其功能基本符合的用户要求,能够对学生、教师和课程的基本信息进行查询、修改、添加、删除。
通过此课程设计,使我学到了以前没有学过的很多知识,巩固了数据库课程的基本知识,并综合运用管理信息系统所学知识,通过需求分析我们明白了无论做什么事都要有严谨的态度。
在计算机飞速发展的今天,懂得一门计算机语言技术是非常必要的。
同时,我也清醒的认识到,只有自己肯努力,愿意去付出劳动,就能够得到属于我们自己所期望的东西。
总结起来,主要有以下几点体会:
1、必须牢固掌握基础知识。
只有拥有扎实的基础,我们才能灵活运用我们所需要的知识和技术。
我们对SQLServer2000中的企业管理器和查询分析器的学习和了解,要知道如何创建数据库,设计表结构。
知道利用T-SQL语言进行操作,对数据库中的信息进行查询、添加、修改和删除等。
要知道创建索引、视图、触发器、存储过程等。
2、必须培养严谨的科学态度。
在做需求分析的时候我们深深的体会到严谨的科学态度的重要性,只有认真分析、综合考虑才能使系统尽可能完善,满足用户的需求。
我想这不仅是对于程序设计,做任何事都应如此。
3、必须团结合作。
在课程设计中我们遇到了很多问题,有技术问题和非技术问题,但我们没有放弃,我们一起查资料、讨论、探究解决问题的方法,在本次课程设计中我们每个人都尽自己最大的努力去做,积极思考、充分发挥个人聪明才智,明白了个人的力量是有限的,必须团结合作,团队的力量绝不是个体力量的简单相加。
附录
连接程序main.cs代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
namespaceSMIS
{
publicpartialclassmain:
Form
{
publicmain()
{
InitializeComponent();
}
privatevoidmain_Load(objectsender,EventArgse)
{
if(TempData.userlevel!
="系统管理员")//限制非系统管理员的权限
menu7.Enabled=false;
if(TempData.userlevel=="操作员")//限制操作员的权限
{
menu41.Enabled=false;
menu51.Enabled=false;
menu61.Enabled=false;
}
}
privatevoidmenu72_Click(objectsender,EventArgse)
{
DialogResultresult;
result=MessageBox.Show(this,"本功能要清除系统中所有数据,真的初始化吗?
","确认初始化操作",MessageBoxButtons.OKCancel);
if(result==DialogResult.Yes)
{
CommDbOp.deldata("student");
CommDbOp.deldata("teacher");
CommDbOp.deldata("course");
CommDbOp.deldata("score");
CommDbOp.deldata("oper");
MessageBox.Show("系统初始化完毕,下次只能以1234/1234(用户名/口令)进入本系统","信息提示");
}
}
privatevoidmenu11_Click(objectsender,EventArgse)
{
Formmyform=neweditstudent();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu12_Click(objectsender,EventArgse)
{
Formmyform=newquerystudent();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu13_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidmenu21_Click(objectsender,EventArgse)
{
Formmyform=neweditteacher();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu22_Click(objectsender,EventArgse)
{
Formmyform=newqueryteacher();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu31_Click(objectsender,EventArgse)
{
Formmyform=neweditcourse();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu32_Click(objectsender,EventArgse)
{
Formmyform=newquerycourse();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu41_Click(objectsender,EventArgse)
{
Formmyform=newallocatecourse();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu42_Click(objectsender,EventArgse)
{
Formmyform=newqueryallocate();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu51_Click(objectsender,EventArgse)
{
Formmyform=neweditselection();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu52_Click(objectsender,EventArgse)
{
Formmyform=newqueryselection();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu61_Click(objectsender,EventArgse)
{
Formmyform=neweditscore();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu62_Click(objectsender,EventArgse)
{
Formmyform=newqueryscore();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu63_Click(objectsender,EventArgse)
{
Formmyform=newqueryscore1();
myform.MdiParent=this;
myform.Show();
}
privatevoidmenu71_Click(objectsender,EventArgse)
{
Formmyform=newedituser();
myform.MdiParent=this;
myform.Show();
}
}
}
登陆界面pass.cs代码:
namespaceSMIS
{
publicpartialclasspass:
Form
{
intn=0;
publicpass()
{
InitializeComponent();
}
privatevoidpass_Load(objectsender,EventArgse)
{
textBox1.Text="";
textBox2.Text="";
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
DataTablemytable;
stringmysql="SELECT*FROMoperWHERE用户名='"+textBox1.Text+
"'AND密码='"+textBox2.Text+"'";
mytable=CommDbOp.Exesql(mysql);
if(mytable.Rows.Count==0)//未找到用户记录
{
n+=1;
if(n<3)
{
MessageBox.Show("不存在该用户,继续登录","信息提示");
textBox1.Text="";
textBox2.Text="";
textBox1.Focus();
}
else
{
MessageBox.Show("已登录失败3次,退出系统","信息提示");
this.Close();