数据库课程设计教职工签到系统教学文案

  • 格式:doc
  • 大小:425.50 KB
  • 文档页数:25

数据库课程设计教职工签到系统《数据库应用课程设计》——综合报告学号: 031240420 姓名:孙慧华小组成员:实验地点: 5B803 2017年3月20日摘要随着学校学生的人数的增加教师以及职工人数也不断的增加,所以对老师的考勤工作就变的日益的繁重。

为此,使用Visual 开发了教职工签到系统,本系统取代了传统的人工操作,利用计算机辅助管理教职工的日常出勤及缺勤情况既提高了签到的科学性,也减轻了学校的工作负担。

利用SQL Server 2008进行数据库的建立和编程设计,结合Visual 中的WinSock控件实现了客户端与服务器模式的教职工签到管理系统,利用按钮和登录窗的方式实现了管理员登陆、教职工签到,每类信息的管理都做到了相应信息的查询功能。

经测试本系统运行正常,通过本系统可以做到教职工签到的规范管理。

1 需求分析1.1需求来源本系统主要是对教职工签到管理的系统。

1.1.1功能需求1、教职工签到并记录;2、添加某个教职工的基本信息;3、修改某个教职工的基本信息;4、删除某个教职工的基本信息;5、按照不同的条件对教职工签到信息查询统计;6、系统以菜单方式工作1.1.2数据需求本系统主要涉及的数据两个表:基本信息表(information)和签到管理表(signin)。

基本信息表的属性有编号,姓名,年龄,性别,日期。

签到管理表有编号,日期,情况属性1.1.3性能需求要求系统具有可靠性,速度要快,方便简单。

1.2设计目的要求实现---“教职工签到管理系统”记录教职工的签到情况,它包括:日期,迟到情况。

并根据不同的条件对教职工信息进行统计查询。

1.3设计要求管理员功能:添加,修改,删除教职工基本信息,对教职工签到情况管理;教职工功能:签到3 总体设计3.1总体结构设计为了满足教职工签到方面信息的管理功能,需要明确对该管理的各个功能,各种操作都有哪些。

数据库中应该有教职工以及管理员的基本信息,这些来自于该管理系统。

教职工只能在客户端进行操作,当教职工签到时,由计算机记录系统的当前时间,并且通过WinSock将信息保存在服务器上,管理员可以操作服务器,查看教职工的有关签到信息。

管理员可以修改、删除、增加教职工的信息。

此种信息禁止教职工自行输入。

除此之外,还要通过登录名和密码严格限定登陆者的身份并且控制相应的操作权限,只有管理员有权限修改账户以及密码,防止其他密码泄露造成的其他问题。

功能模块图:3.2 数据库设计3.2.1数据库设计概述数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。

数据库系统需要操作系统的支持。

数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。

由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种"反复探寻,逐步求精"的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。

数据库设计分为6个部分:1.需求分析阶段2.概念结构设计阶段3.逻辑结构设计阶段4.物理设计阶段5.数据库实施阶段6.数据库运行和维护阶段。

其中,需求分析阶段,概念设计阶段,逻辑设计阶段,物理设计阶段独立于数据库管理系统;实施阶段,运行和维护阶段依赖于数据库管理系统。

3.2.2概念结构设计基本信息表主要用于在系统中存储教职工基本信息,包含了教职工的编号,姓名,性别,年龄。

其中编号是区分每个教职工的区别。

签到情况表是对每个教职工的签到情况进行记录管理。

包括了教职工的编号,签到日期,签到情况。

可以通过检索结果查看每个教职工或者每天的签到情况。

根据对系统需求的分析,教职工只能完成签到的功能。

管理员则能通过账号和密码进入系统,完成对教职工基本信息进行添加、删除、更新,能够对签到的情况根据不同的条件进行统计查询。

根据对数据表的设计。

分析出数据各实体间的关系如下所示。

教职工管理员E-R图3.2.3逻辑结构设计数据库设计分为两个表,将E-R图转换为关系模型。

基本信息表的关系模型为:职工:(编号,姓名,年龄,性别)管理:(编号)管理员:(账号,密码)签到管理表的关系模型为:管理员:(账号,密码)签到信息:(编号,日期,情况)管理:(编号)本系统采用SQL sever 2008 进行数据库及表的建立。

本系统需要的表共有两个,即基本信息表和签到情况表。

具体设计如下:基本信息表管理信息表4 详细设计4.1数据库的创建create database chy4.2表的创建基本信息表create table information(num char(10)primary key,name char(20),sex char(2),age int)签到情况表create table signin(num char(10) foreign key(num) references information(num),data varchar(50),situation varchar(20))4.3界面设计及功能实现4.3.1主菜单模块本模块编号包括了系统管理、签到、基本信息管理、签到管理、帮助。

其中用户可以直接进入签到模块进行签到,其他的模块则需要登录后才能使用。

系统管理的子菜单有“登录”与“关闭”。

帮助的子菜单有“查看帮助”和“关于”子菜单。

用户也可以点击图片进入相应的功能模块。

代码如下:using System;using System.Collections.Generic; using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace sql{public partial class Menu : Form {public Menu(){InitializeComponent(); }private bool isLogined = false;//记录登录凭据private void tsmExit_Click(object sender, EventArgs e){Application.Exit();//关闭所有应用程序}private void tsmDenglu_Click(object sender, EventArgs e){Ad ad = new Ad();//实例化管理员登录窗体tssMsg.Text = ad.Text;//显示管理员登录窗体if (ad.ShowDialog() == DialogResult.OK){if ((bool)ad.Tag)//如果登录成功{isLogined = true;tssMsg.Text = "恭喜您,成功登录系统!";isLogined = true;}else{isLogined = false;tssMsg.Text = "抱歉,必须先登录才能使用本系统!"; }}}private void tsmSign_Click(object sender, EventArgs e){Sjgn sign = new Sjgn();sign.MdiParent = this;sign.Show();tssMsg.Text = sign.Text;}private void tsmInformation_Click(object sender, EventArgs e) {if (isLogined){Information information = new Information();information.MdiParent = this;information.Show();tssMsg.Text = information.Text;}else tssMsg.Text = "注意,必须先登录才能使用本系统!";}此处省略签到管理代码private void tsmAbout_Click(object sender, EventArgs e){AboutForm AF = new AboutForm();AF.ShowDialog();tssMsg.Text = AF.Text;}此处省略查看帮助代码}}4.3.2登录模块本模块功能主要是完成管理员登录进入系统的功能,从主页面的登录连接进入这个页面,登录时输入的信息必须符合相应条件才能够完成登录,否则会有错误信息提示。

登录成功后直接进入主菜单。

登录页面如图所示:代码如下:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace sql{public partial class Ad : Form{public Ad(){InitializeComponent();}private void btnOk_Click(object sender, EventArgs e){string num = txtNum.Text;string pwd = txtPwd.Text;if (num == "666" && pwd == "1"){this.DialogResult = DialogResult.OK;//触发确定操作this.Tag = true;//登陆成功并记录}else{MessageBox.Show("您输入的用户名或密码不正确!请重试", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);this.Tag = false;//登录失败并记录}}private void btnCancel_Click(object sender, EventArgs e){txtNum.Text = "";txtPwd.Text = "";txtNum.Focus();//将光标定位到txtNum上}}}4.3.3签到本模块功能主要是完成用户签到的功能,无需登录就可进行。