资源描述
XXXXX学生课程设计(论文) XXXXX学生课程设计(论文)题 目 : 教职工签到系统 学生姓名 : XXXX 学 号 : XXXXXXXXXXXXX 所在院(系): XXXXXXXXXXXXXXXXX 专 业: XXXXXXXXXX 班 级: XXXXXXXXXXXX 指导教师 : XXXXXXXX XXXX年 XX月 XX日XXXXX教务处制29目录目录1XXX学院本科学生课程设计任务书2课程设计(论文)指导教师成绩评定表3一、摘要4二、需求分析5引言51.1开发背景51.2系统调查51.3系统功能模块5三、系统设计6四、运行需求64.1用界户面64.2硬件环境74.3软件环境74.4故障处理7五、程序及结果75.1 登录选择模块75.2 登录模块95.3管理员成功登录后操作模块135.4管理员操作模块15六、结论29XXX学院本科学生课程设计任务书题目图书管理系统开发1、课程设计的目的使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容;使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现;把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力。2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)(1) 教职工基本信息管理:教职工基本信息的增加、修改与删除;(2) 教职工签到管理:教职工输入编号后,签到,系统自动记录其签到的时间,并注明是否迟到。 (3) 教职工签到情况的查询与统计:按不同的条件对工签到情况进行查询与统计。3、主要参考文献1张莉 SQL SEVER数据库原理及应用 2萨师煊 王珊著.数据库系统概论第三版.高等教育出版社3 施伯乐 丁宝康 汪卫.数据库系统教程 高等教育出版社2003年第2版4庄成三等.数据库系统原理及其应用.电子工业出版社4、课程设计工作进度计划第1天 :选题、完成需求分析第2天 :数据库概念结构设计第3天:数据库逻辑结构设计及物理实现第4天:应用程序开发第5天: 程序调试分析和结果、编写课程设计报告指导教师(签字)日期年 月 日教研室意见:年 月 日学生(签字): 接受任务时间: 年 月 日注:任务书由指导教师填写。课程设计(论文)指导教师成绩评定表题目名称评分项目分值得分评价内涵工作表现20%01学习态度6遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02科学实践、调研7通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03课题工作量7按期圆满完成规定的任务,工作量饱满。能力水平35%04综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05应用文献的能力5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07计算及计算机应用能力5具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10具有较强的数据收集、分析、处理、综合的能力。成果质量45%09插图(或图纸)质量、篇幅、设计(论文)规范化程度5符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10设计说明书(论文)质量30综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。11创新10对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名: 年月日一、摘要随着学校学生的人数的增加教师以及职工人数也不断的增加,所以对老师的考勤工作就变的日益的繁重。为此,我们使用Visual Studio 2012开发了教职工签到系统,本系统取代了传统的人工操作,利用计算机辅助管理教职工的日常出勤及缺勤情况既提高了签到的科学性,也减轻了学校的工作负担。利用SQL Server 2008进行数据库的建立和编程设计,结合Visual Studio 2012中的WinSock控件实现了客户端与服务器模式的教职工签到管理系统,利用按钮和登录窗的方式实现了管理员登陆、教职工签到,每类信息的管理都做到了相应信息的查询功能。经测试本系统运行正常,通过本系统可以做到教职工签到的规范管理。关键词: 教职工签到,数据库,Visual Studio 2012,运行二、需求分析引言1.1开发背景随着社会的发展,人们对信息的需求量越来越大,教职工签到管理系统是针对教职工出勤考察工作而开发的管理软件,是典型的信息管理系统。本文阐述的教职工管理系统能实现对教职工迟到与否,以及应到时间实到时间的查询以及请系统管理员对教职工的各项属性的修改、更新、查询、增加。通过该系统,任课该管理系统对管理者提供了数据的查询,数据库的备份与恢复等功能。1.2系统调查通过调查,我们了解到该系统的主要对象有和教职工以及管理员。签到管理的日常工作有:教职工的个人登录签到系统管理员对教职工迟到与否的查询系统对当天迟到人数的统计管理员对教职工的各项属性的操作系统维护根据以上信息我们设计了如下表格管理员信息表教职工信息表教职工签到信息表1.3系统功能模块 教职工签到管理系统教职工签到管理员登录教职工信息查询教职工信息更新教职工信息修改教职工信息增加. 图 图1. 系统功能模块设计三、系统设计为了满足教职工签到方面信息的管理功能,需要明确对该管理的各个功能,各种操作都有哪些。数据库中应该有教职工以及管理员的基本信息,这些来自于该管理系统。教职工只能在客户端进行操作,当学生登录或者退出时,由计算机记录系统的当前时间,并且通过WinSock将信息保存在服务器上,管理员可以操作服务器,查看教职工的有关签到信息。管理员可以修改、删除、增加教职工的信息。此种信息禁止教职工自行输入。除此之外,还要通过登录名和密码严格限定登陆者的身份并且控制相应的操作权限,只有管理员有权限修改账户以及密码,防止其他密码泄露造成的其他问题。姓名出生日期性别密码工号账号工作时间管理员管理教职工 图2. 系统逻辑结构四、运行需求4.1用界户面系统采用对话框方式,多功能窗口运行。4.2硬件环境Intel Pentium 166MHz或以上; 内存:需要至少512MHZ; 最好有个光驱,没有也行,可以采用远程安装的方法,网络量:少于50人需16Mb/s的令版环网和10Mb/s可以勉强满足要求,建议100Mb/s的以太网或者更高。4.3软件环境操作系统:Windows 2000 以上的服务器版本 必装软件:Mierosoft.NET Framework 2.0 SQL Server 2000 客户端:1)操作系统 Windows 95/98 、Windows NT (建议使用Windows 98 ) 2)浏览器IE 4.0以上版本或者Netscape 浏览器。 3) 建议以800x600屏幕分辨率浏览! 4.4故障处理正常使用时不出错,对于用户的输入错误给出适当的改正提示信息,遇不可恢复的系统错误时,保证数据库的完好无损。五、程序及结果5.1 登录选择模块该模块是进行教职工签名和管理员登录进行选择界面截图如下:主要代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks; using System.Windows.Forms;namespace 教职工签名 public partial class Form2 : Form public Form2() InitializeComponent(); private void button2_Click(object sender, EventArgs e) Form1 qian = new Form1(); qian.Show(); /this.Close(); private void button1_Click(object sender, EventArgs e) Form3 denglu = new Form3(); denglu.Show(); / this.Hide(); / this.Close(); 5.2 登录模块该模块是为了确保系统的安全性,通过对用户名和密码的设置(如图3),限制了登陆者的身份,而用户名和密码输入错误,则会禁止此人进行访问,并给出相应提示。该模块截图如下: 图3 教职工登录签到 主要代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Windows.Forms;using System.Text;namespace 教职工签名 public partial class Form1 : Form public Form1() InitializeComponent(); private void button1_Click_1(object sender, EventArgs e) String wid = textBox1.Text; String pwd = textBox2.Text; DataSet ds = new DataSet(); OleDbConnection conn = new OleDbConnection(Provider=SQLNCLI11;Data Source=PC-HEWEI;Integrated Security=SSPI;Initial Catalog=TWDB); OleDbCommand cmd = new OleDbCommand(); cmd.CommandText = SELECT * FROM work where wid = + wid + and pwd = + pwd + ; cmd.Connection = conn; OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = cmd; adapter.Fill(ds); DataRow rowCustomer; try rowCustomer = ds.Tables0.Rows0; if (rowCustomer != null) DateTime NowTime = System.DateTime.Now; / NowTime = DateTime.Parse(08:00); DateTime worktime = DateTime.Parse(rowCustomerworktime.ToString(); String qink = ; if (NowTime worktime) qink = 迟到; else qink = 没有迟到; cmd.CommandText = INSERT INTO checkTT (wid,checkY,worktime) VALUES( + wid + , + qink + , + worktime + ); adapter.Fill(ds); richTextBox1.Text = 恭喜,签到成功 + n迟到情况: + qink + n实际到达时间: + NowTime + n应到时间: + worktime + nn修改密码请与管理员联系; conn.Close(); catch(SystemException) richTextBox1.Text = 签到失败,请与管理员联系; conn.Close(); private void button2_Click(object sender, EventArgs e) textBox1.Text = null; textBox2.Text = null; 图4管理员登录代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Windows.Forms;using System.Text;namespace 教职工签名 public partial class Form3 : Form public Form3() InitializeComponent(); private void button1_Click(object sender, EventArgs e) textBox1.Text = ; textBox2.Text = ; private void button2_Click(object sender, EventArgs e) String username = textBox1.Text; String pwd = textBox2.Text; DataSet ds = new DataSet(); OleDbConnection conn = new OleDbConnection(Provider=SQLNCLI11;Data Source=PC-HEWEI;Integrated Security=SSPI;Initial Catalog=TWDB); OleDbCommand cmd = new OleDbCommand(); cmd.CommandText = SELECT * FROM Longinuser where username = + username + and pwd = + pwd; cmd.Connection = conn; OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = cmd; adapter.Fill(ds); DataRow rowCustomer = null; try rowCustomer = ds.Tables0.Rows0; catch(Exception) conn.Close(); label3.Text = 登录失败请检查用户名及密码; if (rowCustomer != null) Form5 xuanze = new Form5(); xuanze.Show(); this.Close(); else label3.Text = 登录失败请检查用户名及密码; conn.Close(); private void richTextBox1_TextChanged(object sender, EventArgs e) 5.3管理员成功登录后操作模块在管理员身份验证之后,进入该界面,进行操作选项该模块截图如下:主要代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 教职工签名 public partial class Form5 : Form public Form5() InitializeComponent(); private void button1_Click(object sender, EventArgs e) Form4 jiaozhigon = new Form4(); jiaozhigon.Show(); this.Close(); private void button2_Click(object sender, EventArgs e) Form6 qingkuang = new Form6(); qingkuang.Show(); this.Close(); 5.4管理员操作模块该模块管理员可以对教职工信息进行增、删、改、查,同时能查询各个日期内迟到的人,统计迟到的人数等等该模块截图如下: 图5 教职工信息管理主要代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 教职工签名 public partial class Form4 : Form public Form4() InitializeComponent(); private void toolStripButton1_Click(object sender, EventArgs e) BindingSource bs = (BindingSource)dataGridView1.DataSource; dataGridView1.EndEdit(); int index = bs.Position; bs.Position = -1; bs.Position = index; DataTable dt = (DataTable)bs.DataSource; DataTable dtchanges = dt.GetChanges(); OleDbConnection conn = new OleDbConnection(Provider=SQLNCLI11;Data Source=PC-HEWEIntegrated Security=SSPI;Initial Catalog=TWDB); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = conn; try conn.Open(); string sql = null; for (int i = 0; dtchanges != null & i 0) String sql2 = UPDATE checkTT SET wid = ? WHERE wid = ?; cmd.CommandText = sql2; param = new OleDbParameter(); param.Value = dtchanges.Rowsiwid, DataRowVersion.Current; cmd.Parameters.Add(param); param = new OleDbParameter(); param.Value = dtchanges.Rowsiwid, DataRowVersion.Original; cmd.Parameters.Add(param); int rowaffected1 = cmd.ExecuteNonQuery(); else if (dtchanges.Rowsi.RowState = DataRowState.Added) cmd.Parameters.Clear(); cmd.CommandText = INSERT INTO work (wid, name, pwd, sex, birth, worktime) VALUES (?, ?, ?, ?, ?, ?); OleDbParameter param = new OleDbParameter(); param.Value = dtchanges.Rowsiwid, DataRowVersion.Current; cmd.Parameters.Add(param); param = new OleDbParameter(); param.Value = dtchanges.Rowsiname, DataRowVersion.Current; cmd.Parameters.Add(param); param = new OleDbParameter(); param.Value = dtchanges.Rowsipwd, DataRowVersion.Current; cmd.Parameters.Add(param); param = new OleDbParameter(); param.Value = dtchanges.Rowsisex, DataRowVersion.Current; cmd.Parameters.Add(param); param = new OleDbParameter(); param.Value = dtchanges.Rowsibirth, DataRowVersion.Current; cmd.Parameters.Add(param); param = new OleDbParameter(); param.Value = dtchanges.Rowsiworktime, DataRowVersion.Current; cmd.Parameters.Add(param); int rowaffected = cmd.ExecuteNonQuery(); dt.AcceptChanges(); catch(Exception ex) conn.Close(); private void Form4_Load(object sender, EventArgs e) DataSet ds = new DataSet(); OleDbConnection conn = new OleDbConnection(Provider=SQLNCLI11;Data Source=PC-HEWEI;Integrated Security=SSPI;Initial Catalog=TWDB); OleDbCommand cmd = new OleDbCommand(); cmd.CommandText = SELECT * FROM Work; cmd.Connection = conn; OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = cmd; adapter.Fill(ds); BindingSource bs = new BindingSource(); bs.DataSource = ds.Tables0; dataGridView1.DataSource = bs; bindingNavigator1.BindingSource = bs; private void Form4_FormClosed(object sender, FormClosedEventArgs e) Form5 xuanze = new Form5(); xuanze.Show(); 图6签到信息管理代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 教职工签名 public partial class Form6 : Form public Form6() InitializeComponent(); private void Form6_FormClosed(object sender, FormClosedEventArgs e) Form5 xuanze = new Form5(); xuanze.Show(); private void button1_Click(object sender, EventArgs e) DateTime kaishi = dateTimePicker1.Value; DateTime jieshu = dateTimePicker2.Value; DataSet ds = new DataSet(); OleDbConnection conn = new OleDbConnection(Provider=SQLNCLI11;Data Source=PC-HEWEI;Integrated Security=SSPI;Initial Catalog=TWDB); OleDbCommand cmd = new OleDbCommand(); cmd.CommandText = SELECT * FROM checkTT where checkY = 迟到 and checktime = + jieshu + ; cmd.Connection = conn; OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = cmd; adapter.Fill(ds); BindingSource bs = new BindingSource(); bs.DataSource = ds.Tables0; dataGridView1.DataSource = bs; int chidao = ds.Tables0.Rows.Count; DataSet ds1 = new DataSet(); cmd.CommandText = SELECT * FROM checkTT where checktime = + jieshu + ; cmd.Connection = conn; OleDbDataAdapter adapter1 = new OleDbDataAdapter(); adapter1.SelectCommand = cmd; adapter1.Fill(ds1); int quanbu = ds1.Tables0.Rows.Count; textBox1.Text = chidao + ; textBox2.Text = quanbu + ; private void button2_Click(object sender, EventArgs e) DateTime kaishi = dateTimePicker1.Value; DateTime jieshu = dateTimePicker2.Value; DataSet ds = new DataSet(); OleDbConnection conn = new OleDbConnection(Provider=SQLNCLI11;Data Source=PC-HEWEI;Integrated Security=SSPI;Initial Catalog=TWDB); OleDbCommand cmd = new OleDbCommand(); cmd.CommandText = SELECT * FROM checkTT where checktime = + jieshu + ; cmd.Connection = conn; OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = cmd; adapt
展开阅读全文