课程设计考勤管理系统报告书
考勤管理系统实验报告
考勤管理系统实验报告实验报告考勤管理系统1. 实验目的本次实验的目的是建立一个考勤管理系统,实现对员工考勤情况的统计和管理。
通过本次实验,我们可以了解到一些基本的软件开发方法和工具,并学会了如何使用这些工具进行项目的开发。
此外,我们还能够进一步学习和掌握数据库的设计和管理等相关的知识,在实践中了解这些知识的实际应用。
2. 实验内容本次实验的主要内容是开发一个基于Web的考勤管理系统,实现对员工考勤情况的统计和管理。
通过该系统,我们可以完成员工的考勤情况录入,统计和查询等功能。
系统的开发主要包括以下几个方面的内容:(1)数据库设计和管理:我们需要根据业务需求和系统功能,设计出合适的数据库结构,并使用MySQL或其它数据库管理工具来管理数据的存储和查询。
(2)后台逻辑处理:我们需要使用Java或其它编程语言开发后台的逻辑处理程序,完成数据的处理和业务逻辑的实现。
(3)Web前端设计和开发:我们需要使用HTML、CSS、JavaScript等Web开发工具,来设计开发出系统的前端界面,实现与用户的交互和数据的展示。
3. 实验步骤(1)系统需求分析首先,我们需要对系统的需求进行分析和明确,明确出系统的功能和使用场景。
在开发之前,我们需要与客户进行充分的沟通和交流,了解用户的需求和使用场景,然后根据需求进行系统规划和设计。
(2)数据库设计和管理在进行数据库设计的时候,我们需要将系统的各个功能和数据表进行明确的划分和设计。
考勤管理系统的数据库中,需要包含员工信息表、考勤记录表、项目信息表等,这些表需要用到不同的数据字段和数据结构。
我们需要在设计时充分考虑到数据的完整性、准确性和安全性等因素,确保系统的数据能够正确地存储和查询。
(3)后台逻辑处理在完成数据库设计之后,我们需要使用Java等编程语言进行后台的逻辑处理程序的编写。
考勤管理系统后台逻辑程序需要实现员工信息录入、考勤记录的生成和统计,以及业务逻辑的处理等功能。
考勤管理系统 课程设计
考勤管理系统 课程设计一、课程目标知识目标:1. 让学生理解考勤管理系统的基本概念、功能及在实际中的应用。
2. 掌握考勤管理系统中的数据录入、查询、统计等基本操作。
3. 了解数据库基础知识,能够运用简单的SQL语句进行数据操作。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的考勤管理系统。
2. 提高学生在实际项目中分析问题、解决问题的能力。
3. 培养学生团队协作能力,学会共同探讨、交流、分享学习经验。
情感态度价值观目标:1. 培养学生对信息技术课程的兴趣,激发学习热情。
2. 增强学生的信息安全意识,认识到数据保护的重要性。
3. 引导学生树立正确的价值观,认识到技术发展对社会的积极影响。
分析课程性质、学生特点和教学要求,本课程旨在让学生通过学习考勤管理系统,掌握数据库操作和程序设计的基本技能,培养实际项目中的应用能力。
课程目标分解为具体学习成果,包括:能够描述考勤管理系统的功能;独立完成考勤管理系统的基本操作;运用所学知识设计简单的考勤管理系统;具备团队协作和沟通能力;增强信息安全意识,认识到技术对社会发展的贡献。
后续教学设计和评估将以此为基础,确保学生达到预期学习成果。
二、教学内容1. 考勤管理系统概述:介绍考勤管理系统的基本概念、功能、应用场景,让学生对考勤管理系统有整体的认识。
教材章节:《信息技术》第四章第一节。
2. 数据库基础知识:讲解数据库的基本概念、数据表的设计与创建、数据类型、约束等。
教材章节:《信息技术》第三章。
3. SQL语句:介绍基本的SQL语句,如SELECT、INSERT、UPDATE、DELETE等,以及简单的查询条件。
教材章节:《信息技术》第三章第二节。
4. 考勤管理系统操作:讲解考勤管理系统的具体操作,包括数据录入、查询、统计等。
教材章节:《信息技术》第四章第二节。
5. 简单考勤管理系统设计:指导学生运用所学知识,设计并实现一个简单的考勤管理系统。
教材章节:《信息技术》第四章第三节。
学生考勤系统设计报告
目录摘要 (2)概述 (3)1.系统分析 (3)1.1用户需求 (3)1.2可行性研究 (4)1.3数据现状调查 (5)1.4信息系统分析 (6)2系统设计 (7)2.1总体设计 (7)2.2详细设计 (9)3系统实现 (12)3.1数据库表结构的建立与数据输入 (12)3.2应用程序设计与测试 (17)4系统运行 (20)4.1系统操作使用的简要说明 (20)4.2运行系统与打印的运行结果 (20)4.3系统评价: (21)参考文献 (23)学生考勤管理系统作为一个高校的基本管理,是学校对学生工作管理的基本依据。
开发考勤管理系统,正是完善高校信息化管理的重要环节。
人工考勤已很难满足学校规范化管理的要求,面对庞大的信息量,该方式现存在很多弊端。
因此,建立现代化的智能考勤管理系统势在必行。
这样也大大减轻了考勤工作人员的工作量,提高了工作效率,使原本复杂和枯燥无味的工作变得简单而轻松。
本文以“学生考勤信息管理系统”的设计和开发为例,阐述了学生考勤系统的设计开发的全过程,包括系统整体设计,逻辑框架与数据流程,各个功能模块划分,系统功能模块的设计与具体实现等部分。
该系统侧重于学生考勤信息查询和数据库的维护,通过已编制好的程序,完成对用户的登录、考勤信息的添加、查询、统计,学生请假和销假等,本系统使用的开发工具是开发程序,采用VB和Access数据库。
实现学生考勤数据采集、数据统计和信息查询过程的自动化,完善学生管理现代化,方便管理人员统计、考核学生出勤情况,方便学生管理部门查询、考核学生的出勤率,准确地掌握学生出勤情况和相关资料,有效地管理、掌握学生各项情况。
关键词:学生考勤管理;查询快捷;录入方便;操作简单;Access数据库20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。
考勤管理系统是高校对考勤实行了信息化管理,考勤管理中主要涉及的管理任务有4个方面:学生基本信息管理、考勤信息管理、考勤查询浏览管理以及系统管理,实现学生考勤的录入、按班级统计、浏览、查询某学生全部考勤、请假、销假等功能。
考勤管理系统c语言课程设计报告
考勤管理系统c语言课程设计报告课程设计报告:考勤管理系统一、引言随着企业规模的不断扩大,考勤管理成为企业日常管理中的重要环节。
为了提高考勤管理的效率和准确性,我们设计了一个基于C语言的考勤管理系统。
本系统能够实现员工考勤信息的录入、查询、修改和统计等功能,为企业提供了一个方便、快捷的考勤管理平台。
二、系统设计1. 系统功能设计本系统主要包括以下几个功能模块:(1)员工信息管理模块:用于添加、删除、修改和查询员工基本信息,包括姓名、部门、职位等。
(2)考勤信息管理模块:用于记录员工的考勤情况,包括上下班时间、请假记录等。
同时支持迟到、早退、旷工等异常情况的记录和处理。
(3)考勤统计模块:根据员工的考勤记录,自动计算员工的出勤率、迟到率、请假率等数据,并生成相应的统计报表。
(4)系统管理模块:用于设置系统的参数,如工作日、上班时间、节假日安排等;同时提供权限管理和日志查看功能,保证系统的安全性和稳定性。
2. 数据库设计本系统采用结构化查询语言(SQL)进行数据库设计,包括员工表、考勤表和统计表等。
其中,员工表存储员工的基本信息,如姓名、部门、职位等;考勤表存储员工的考勤记录,如上下班时间、请假记录等;统计表存储员工的出勤率、迟到率等统计数据。
通过合理的数据库设计,能够提高系统的数据处理能力和查询效率。
三、系统实现1. 员工信息管理模块实现在员工信息管理模块中,我们使用C语言中的结构体来表示员工信息,包括姓名、部门、职位等字段。
通过添加、删除、修改和查询等操作,实现对员工信息的维护和管理。
同时,为了方便用户操作,我们使用菜单驱动的方式实现交互界面,用户可以根据菜单提示进行相应的操作。
2. 考勤信息管理模块实现在考勤信息管理模块中,我们使用时间函数获取当前时间,并记录员工的上下班时间。
同时,根据员工的请假记录和异常情况处理规则,实现请假申请、异常情况处理等功能。
为了方便用户查询和管理考勤信息,我们设计了友好的界面和查询功能,用户可以根据姓名、部门等条件进行考勤记录的查询和筛选。
考勤管理课程设计报告
考勤系统进行企业管理越来越适应企业的需要,集信息的输入,显示,修改,删除等各种处理,信息维护方便,给公司可以带来很大的便利。
考勤管理系统利用计算机管理考勤工作,大大降低了工作人员的工作量,提高工作效率,对于员工们的出勤率有个明显的记录,对于公司的职员也有基本了解根据出勤情况可以计算员工的实际工资。
作为一个考勤系统.最重要的功能当数考勤了.也就是能够将员工上班签到的日期与时间记录下来。
固然.记录下签到信息后,应该具有其他的辅助功能.比~II1"查询员工某天的签到情况”、”修改签到情况”、”员工的维护”、”公司上班时间的设置”等.下面就本系统完成的功能做一个简单的需求分析。
这是最核心的功能。
当员工上班后,输入自己的员工号进行签到操作.就可以把到达公司的时间记录下来.并且保存到数据库中,以备查询。
在签到过程中,需要记录的信息包括员工号、签到的日期和签到的具体时间,最好能把签到的结果记录下来.这些结果包括以下几种:正常、迟到、出差、请假、旷班。
签到功能中要求将员工上班的签到情况记录下来.也就是供以后查询用。
若要查询某个员工在某段时问或者某天的出勤情况,只要输入员工号,并输入要查询的日期.即可将此员工在当天的出勤情况显示出来对于出勤到公司的员工来说.通过签到即可将签到信息记录下来,并且惟独两种结果”正常”和”迟到”。
可是对于因为某种原因(出差、请假等)不能到公司的员工来说,因为没有签到.就没有当天的出勤记录。
为此增加了修改功能,主管人员可以对员工的信息进行修改,将每一个员工的出差请假等情况记录下来。
客户机为普通 PCCPU:P (R) 2.1GHz;内存: 2GWindowXP 等分辨率适应屏幕。
1) 考勤管理2) 基本信息输入3) 考勤统计4) 日志查询及统计确保可靠性,保证信息的正确完整,有严格的管理权限惟独系统规定人员才可以进入查询,防止非法侵入和数据的丢失。
1. 《软件工程案例教程》,韩万江等,机械工业出版社;2. 《需求分析与系统设计》, Lesxek A.Maciasxek 著,机械工业出版社;3. 《软件测试技术概论》,古乐、史九林,清华大学出版社;4. 《软件测试第 2 版》, Paul C.Jorgensen,机械工业出版社。
公司考勤系统设计报告
管理信息系统课程设计报告——公司考勤管理信息系统姓名:学号:姓名:学号:姓名:学号:学院:商学院专业:题目:公司考勤管理系统的设计与开发一、系统项目介绍20世纪90年代,随着我国市场经济的快速发展,公司考勤管理系统在企业的日常管理中发挥着越来越重要的作用。
公司考勤管理系统可以进行职工信息管理、出勤管理和密码管理等,方便处理企业内部职工的相关考勤信息。
此外Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。
公司考勤系统是在适应市场需求的客观前提下,为了满足公司或事业单位管理自己的职工而开发的。
1.1、系统分析1.1.1、.业务流程图数据存储条目1.1.4、数据加工处理的描述(1)点击“基本信息”有“添加用户”、“注销用户”、“修改用户信息”、“修改密码”、“重新登陆”和“返回”的功能。
(2)点击“考勤”有“全勤天数”,“缺勤天数”、“迟到天数”、“早退天数”、“请假天数”、“加班天数”和“返回”的功能。
考勤管理人员可根据员工出勤天数输入数据。
(3)点击“备注”有“增加备注”的功能。
注:以上三项只有管理人员才可进入(4)点击“考勤查询”有“查询考勤信息”的功能。
此部分负责提供按部门或员工查询考勤情况。
(5)点击“考勤生成单”有“生成员工考勤单”的功能。
员工或管理人员可选择部门和员工,然后单击“打印”可进入[考勤单报表]对话框。
1.2、系统设计1.2.1、总体设计(1)系统功能结构设计公司考勤系统的设计与开发是每一个企业管理中不可缺少的一部分。
它的实际操作与应用对于企业日常管理来说是至关重要的一个环节。
其功能结构图如图所示.企业考勤管理系统分为系统管理、部门管理、公告管理、员工管理、请假管理、个人考勤、考勤管理、留言管理、退出系统等九大模块。
考勤管理系统报告
课程设计报告课程设计名称软件工程综合课程设计专业计算机科学与技术系班级学号姓名指导教师成绩2013年10月21日目录设计总说明 (I)1 绪论 (1)1.1 课题背景与目的 (1)1.2 本课题研究意义 (1)1.3 设计目标 (2)1.4 国内外研究状况 (2)1.4.1 国外研究状况 (2)1.4.2 国内研究状况 (2)2 相关技术介绍 (3)2.1 C#介绍 (3)2.2 数据库理论简介 (3)2.2.1 数据库系统设计及规范化 (4)2.2.2 数据库系统设计 (4)2.2.3 数据库设计的规范化 (4)2.3 开发工具简介` (4)2.3.1 (4)2.3.2 Microsoft SQL Server 2000 (5)2.3.3 ADO技术 (5)3 系统需求分析 (6)3.1系统的用户需求 (6)3.1.1 现状调查 (6)3.1.2 系统需求 (6)3.1.3 可行性分析 (6)3.2 系统功能描述 (7)3.3 系统功能模块设计 (7)3.4 系统用例分析与活动分析 (8)3.4.1 系统用例分析 (8)3.4.2 系统活动分析 (9)4 数据库设计 (13)4.1 数据库的概念设计 (13)4.2 数据库的逻辑结构设计 (16)5 系统详细设计 (19)5.1 系统界面设计 (19)5.1.1 系统的主体流程图 (19)5.1.2 登录对话框设计 (20)5.1.3 系统主界面 (21)5.1.4 系统管理模块设计 (21)5.1.5 班级信息设计 (22)5.1.6 考勤类型设计 (22)5.1.7 考勤员设置设计 (25)5.1.8 考勤统计设计 (25)6系统实现 (26)6.1 开发环境与工具选择 (26)6.1.1 开发环境与工具选择 (26)6.1.2 系统开发工具 (26)6.2 系统客户端程序的实现 (26)6.3 系统测试 (27)6.4 测试环境 (27)6.5 系统性能分析 (27)7结束语 (27)鸣谢 (29)参考文献 (30)设计总说明随着计算机的发展及网络技术的应用,当今社会正快速向信息自动化社会发展,信息自动的作用也越来越大,特别是各行业的管理领域,智能化信息已是提高效率,规范处理,客观审查的最有效途径。
考勤管理系统设计报告
VFP课程设计报告理工大学继续教育学院计算机网络技术专业张华开发背景:随着信息技术的高速发展,各行各业都充分利用信息平台提高自己的管理效率。
当今国内各企业已纷纷建立考勤制度,依托考勤管理系统,使管理效率显著提高。
课题:考勤管理系统时间:2011年12月24日——2012年1月5日计算机综合实践说明书数据库部分设计总任务:这次设计的程序是考勤管理系统,主要用于企事业单位的考勤,便于统计员工的出勤情况。
用户需求(程序功能)分析及程序流程图:(1)系统功能:●上班时间的设定。
上下班时间相对固定,可保存在客户端的设置文件中●员工出入单位的情况记录。
出入情况主要由考勤机来记录,但是需要设置人工添加的功能,已备特殊情况的处理●请假、加班和出差情况的记录●每个月底进行整个月的出勤情况统计(2)系统功能模块设计:根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能模块如图所示固定格式保存在数据库中。
考勤管理系统的任务是如何处理这些数据。
(4)数据需求分析根据数据流程图,可以列出以下数据项和数据结构:●出勤记录:记录号、员工、出入情况和出入时间●月度考勤统计:记录号、员工、年月、累计正常工作时间、累计请假时间、累计加班时间、累计出差时间、迟到次数、早退次数和旷工次数●请假记录:记录号、员工、假期起始时间/结束时间和请假缘由●加班记录:记录号、员工、加班时间长度和日期●出差记录:记录号、员工、出差起始时间/结束时间和具体描述●人员信息:员工号、密码、权限、姓名、部门和当前状态等●部门设置:部门编号、名称等(5)数据库概念结构设计(E-R图)(6)程序流程图软件测试结果:在该考勤管理系统软件中经过测试可以达到预期的目标,即可以满足用户对该考勤软件的基本要求;用户可以通过我们程序员事先为他们准备好的SQL数据库语言在SQL Server中把自己所要建立的数据库建立好;并通过数据源(ODBC)建立想要建的数据源;之后用户便可以顺利的通过考勤管理软件对员工的出勤情况进行管理。
宿舍考勤管理系统设计报告
宿舍考勤管理系统设计报告学⽣考勤管理系统课程设计报告⽬录1设计内容及要求 (3)1.1设计内容 (3)1.2设计任务及具体要求 (3)2概要设计 (4)2.1该系统的功能简介 (4)2.2 总体程序框图 (4)2.3各个模块之间的主要关系 (5)3 设计过程或程序代码 (5)3.1各个模块的程序流程图及运⾏界⾯ (5)3.2对关键代码加以分析说明 (10)4程序调试分析 (14)5⼩结 (17)致谢 (17)参考⽂献 (17)附:源程序 (18)1 设计内容及要求1.1设计内容学⽣考勤信息记录了学⽣的缺课情况,它包括:缺课⽇期、第⼏节课(连续⽤begin-end的形式表⽰)、课程名称(课程名称中不会出现空格)、学⽣姓名、缺课类型(迟到、早退、请假及旷课)。
1.2设计任务及具体要求任务:(1)给出软件结构,说明各模块的功能。
(2)设计相关的类,并说明该类的作⽤。
特别要⽤图形说明类之间的继承关系。
(3)编写代码具体要求:(1)定义相关的数据,⽐如:学⽣学号学⽣姓名课程名称上课时间到课时间出勤状态 [旷课/病假/事假/迟到/早退](2)能够进⾏以下操作:B.能够按学号顺序列出某⼀课程的出勤状况2 概要设计2.1系统的功能简介考勤管理系统,有以下功能:(1).录⼊学⽣的缺课记录:从键盘输⼊数据(提⽰:为避免重复从键盘输⼊数据,测试时可将数据存储在⽂件中,利⽤输⼊重定向功能读⼊),输⼊格式为:缺课⽇期第⼏节课课程名称学⽣姓名缺课类型每⾏⼀条纪录。
例如:2019-04-29 2-4 中国近现代⽂学史李云龙迟到2019-04-28 2-4 ⼤学⽣社交礼仪(2).修改某个学⽣的缺课记录:可以对缺课纪录的任意部分进⾏修改,然后显⽰⼀下修改后的纪录。
(3).查询某个学⽣的缺课情况:查询结果按照⽇期升序排序,同⼀天内按照所缺课程的时间升序排序。
(4).统计某段时间内(以天为单位),旷课学⽣姓名及旷课节数,查询结果先按旷课节数降序排序,旷课节数相同的学⽣按姓名升序排序;(5).统计某段时间内,有学⽣旷课的课程及旷课⼈次,按旷课⼈次由多到少排序,旷课⼈次相同的课程按课程名称升序排序。
最新学生考勤管理系统课程设计报告1
一.需求分析功能需求:1、录入学生的缺勤记录;2、修改某个学生的缺勤记录;3、查询某个学生的缺勤情况;4、统计某段时间内,缺勤学生学号及缺勤次数,按缺勤权值统计学生的负分值,并能进行排序;5、统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;6、系统以菜单方式工作数据需求本系统主要涉及的数据有学生缺课信息类和有关信息排序类。
学生缺课信息包括缺课时间,学生姓名,课程名称,第几节,学生迟到次数,早退次数,请假次数,旷课次数。
有关信息排序类包括对课程排序和对姓名排序。
性能需求要求系统具有可靠性,速度要快二、系统的主要功能(1)、录入学生的缺课记录,函数代码void input(records *r){}模块中。
首先提示用户按照正确的格式进行学生缺课记录的录入,这个步骤比较简单,只需要不断地将记录的每个数据项存入结构体对应的成员中。
(2)、修改某个学生的缺课记录,函数代码void edt(records *r){}模块中。
首先必须查找到你所需要修改的那位的学生全部缺课记录。
这个模块不需要定义新的结构体。
在修改前当然要检查记录是否为空了,不为空的话,可以设置下面这五个菜单供用户选择:1、缺课日期2、第几节课3、课程名称4、学生姓名5、缺课类型6、退出修改程序并返回系统主菜单。
修改很简单,仅需要对该学生的某个部分进行替换即可。
采用switch语句很快就解决。
最后实现对所选记录的修改,完成后更新原有的学生记录。
(3)、查询某个学生的缺课情况,函数代码void search(records *r){}模块中。
达到查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序的目的,(4)、统计,函数代码为void order_c(){}和void order_s(){}的类模块中。
其中实现对课程排序和对学生姓名的排序。
三、流程图学生考勤系统结构图:四、数据结构设计此程序运用多种条件语句,主体采用的是动态数组、指针。
考勤管理系统报告书
考勤管理系统报告书考勤管理系统报告书一、引言随着企业规模的不断扩大和管理工作的复杂化,传统的人工考勤方式已经无法满足企业对于考勤管理的需求。
为了提高工作效率、减少人力成本,越来越多的企业开始采用自动化的考勤管理系统。
本报告旨在介绍一款考勤管理系统的设计与实施情况,并分析其在企业中的应用效果。
二、系统设计1. 系统需求分析考勤管理系统主要满足以下几个需求:(1)自动化考勤记录:系统能够自动记录员工的上班、下班时间,实现无纸化考勤。
(2)加班管理:系统能够记录加班时间,并结合工资系统自动计算加班工资。
(3)请假管理:系统能够接受员工请假申请,并自动计算请假天数,方便管理人员进行审批。
(4)考勤数据分析:系统能够生成各种考勤报表和图表,方便管理人员进行数据分析。
(5)异常考勤管理:系统能够记录员工的迟到、早退、旷工等异常情况,并自动生成警示信息。
2. 系统架构设计考勤管理系统采用客户端-服务器架构,主要包括以下组成部分:(1)用户界面:提供给员工和管理人员登录系统、查看个人考勤记录等功能。
(2)服务器:承担数据存储、计算和处理的任务,并提供相应的API接口给用户界面调用。
(3)数据库:存储员工的考勤记录、请假信息、加班记录等数据。
(4)报表生成模块:根据系统数据生成各种考勤报表和图表。
三、系统实施1. 系统开发考勤管理系统的开发分为前端和后端两部分。
前端开发使用HTML、CSS、JavaScript等技术,实现了用户界面的设计和交互功能。
后端开发使用Java语言和Spring框架,实现了服务器的搭建、数据库的访问和业务逻辑的处理。
数据库采用MySQL关系型数据库,通过编写SQL语句实现对考勤数据的存储和查询。
2. 系统实施情况根据企业需求,我们将考勤管理系统与企业人力资源管理系统进行对接,实现员工的基本信息和组织结构的同步。
在系统上线前,我们组织了员工培训,向员工介绍了系统的使用方法和注意事项,并提供了在线帮助文档。
学生考勤管理系统课程设计报告
郑州轻工业学院实训报告实训名称:学生考勤管理系统姓名:***院(系):计算机与通信工程学院专业班级:物联网工程******班学号:54************指导教师:****成绩:时间:*** 年**月**日至***年**月**日目录1 需求说明 (1)2 功能函数描述 (2)2.1 M1卡概述 (3)2.1.1 M1卡内部结构 (3)2.1.2 M1卡的存储结构: (3)2.1.3 M1卡的电气特性: (3)2.1.4 M1卡工作原理: (4)2.2 非接触式IC卡读写器API接口函数介绍 (4)2.3 扩展函数介绍 (11)2.4 定时器 (15)3 系统设计及实现 (16)3.1 系统的设计 (16)3.1.1 系统设计的原则 (16)3.1.2 系统设计方案 (16)3.1.3 系统设计流程图 (16)3.2系统的实现 (18)3.2.1程序流程图 (18)3.2.2 信息显示 (19)3.2.3 信息修改 (23)3.2.4 系统操作界面 (19)3.2.5 信息显示 (20)3.2.6 信息修改 (23)4 实训心得 (27)5 附录(代码)............ ............................................................................... 错误!未定义书签。
5.1定时器代码 (28)5.2.信息修改和Dialog代码 (32)5..3.信息修改 (32)5.3.1个人信息修改 (32)5.3.2 个人考勤信息修改 (34)1需求说明本实验的目的是在VC编程的环境下将M1卡设计成为一个考勤卡,在其学生考勤管理系统中应实现自动的个人信息显示,可以对个人信息进行修改,并且要求根据时间进行考勤、迟到次数的录入。
其中个人信息显示的信息分为姓名、学号、专业班级三个部分,而考勤、迟到信息录入则是系统的重点,因为在后面的考勤和迟到过程中要首先获取个人信息中的原有的考勤信息,在进行刷卡的时候,可以实现考勤次数和迟到次数的加减。
考勤管理系统课程设计模板
考勤管理系统课程设计模板一、课程目标知识目标:1. 理解考勤管理系统的基本概念和功能,掌握其日常操作流程;2. 学习运用数据库管理软件进行数据录入、查询、修改和删除等基本操作;3. 了解考勤管理系统在实际工作中的应用场景,掌握相关术语和概念。
技能目标:1. 学会使用考勤管理系统进行员工考勤记录的录入、查询和管理;2. 能够运用所学知识解决考勤管理过程中的常见问题,如数据错误、系统故障等;3. 培养学生的团队协作能力和实际操作能力,提高其在实际工作中运用考勤管理系统的熟练度。
情感态度价值观目标:1. 培养学生对考勤管理系统及相关管理工作的兴趣,激发其主动学习的积极性;2. 增强学生的责任感和诚信意识,使其认识到考勤管理工作的重要性;3. 通过课程学习,引导学生树立正确的劳动观念,尊重他人的劳动成果。
课程性质:本课程为实践性较强的学科课程,结合学生年级特点和教学要求,注重培养学生的实际操作能力和团队协作能力。
学生特点:学生具备一定的计算机操作基础,对新事物充满好奇,喜欢动手实践,但可能缺乏对考勤管理系统整体认识。
教学要求:结合课程性质、学生特点,明确课程目标,将目标分解为具体的学习成果,以便进行教学设计和评估。
在教学过程中,注重理论与实践相结合,提高学生的实际操作能力和解决问题的能力。
二、教学内容1. 考勤管理系统概述- 系统定义及功能介绍- 考勤管理系统的应用场景及重要性2. 考勤管理系统操作流程- 系统登录与退出- 员工信息录入与修改- 考勤数据查询与统计- 考勤异常处理3. 数据库管理基础- 数据库基本概念- 数据表结构设计- 数据录入、查询、修改和删除操作4. 考勤管理系统在实际应用中的问题与解决方法- 数据错误处理- 系统故障排查与解决- 系统安全与权限设置5. 教学案例分析与实操- 案例分析:企业考勤管理案例- 实操练习:考勤管理系统操作练习6. 团队协作与项目管理- 考勤管理项目的分工与协作- 项目进度管理与质量控制教学内容安排与进度:第一周:考勤管理系统概述、系统操作流程第二周:数据库管理基础、考勤管理系统在实际应用中的问题与解决方法第三周:教学案例分析与实操、团队协作与项目管理教材章节:第一章:考勤管理系统概述第二章:数据库管理基础第三章:考勤管理系统操作与维护第四章:团队协作与项目管理教学内容确保科学性和系统性,结合课程目标,注重理论与实践相结合,培养学生的实际操作能力和团队协作能力。
学生考勤系统课程设计报告
学生考勤系统课程设计报告一、课程目标知识目标:1. 理解并掌握学生考勤系统的基本原理及功能需求;2. 学会运用所学编程语言及数据库知识,实现学生考勤系统的基本功能;3. 了解软件工程中需求分析、系统设计、编码实现、测试等环节的基本概念。
技能目标:1. 培养学生运用信息技术解决问题的能力,提高编程实践技能;2. 培养学生团队协作、沟通与表达的能力,学会共同分析问题、解决问题;3. 培养学生独立思考、创新设计的能力,提高对实际问题的分析和解决能力。
情感态度价值观目标:1. 培养学生对信息技术的兴趣和爱好,激发学习动力;2. 增强学生的责任感和团队意识,培养良好的学习习惯;3. 培养学生遵循法律法规、尊重他人隐私的意识,树立正确的价值观。
课程性质分析:本课程为信息技术课程,旨在让学生将所学编程语言和数据库知识应用于实际项目中,提高学生的实践能力。
学生特点分析:学生已具备一定的编程基础和数据库知识,对实际项目开发有一定兴趣,但可能缺乏团队协作和沟通能力。
教学要求:1. 结合实际案例,引导学生掌握学生考勤系统的基本原理和功能需求;2. 采用任务驱动法,让学生在实践中掌握编程技巧和团队协作方法;3. 注重培养学生的创新意识和价值观,提高学生的综合素质。
二、教学内容1. 学生考勤系统需求分析- 了解系统需求的基本概念- 分析学生考勤系统的功能需求- 学习如何撰写需求规格说明书2. 学生考勤系统设计- 掌握系统设计的基本原则- 学习数据库设计方法- 学习系统界面设计及用户交互设计3. 编程语言实现- 应用所学的编程语言(如Python、Java等)进行系统开发- 掌握数据库操作(如MySQL、SQLite等)实现数据存储与查询- 学习基本的异常处理和日志记录方法4. 系统测试与优化- 学习测试用例设计方法- 掌握系统功能测试和性能测试- 分析测试结果并进行系统优化5. 团队协作与项目管理- 学习项目管理的初步知识- 掌握团队协作的基本方法- 完成项目分工与协作教材章节关联:本教学内容与教材中以下章节相关:- 第X章 编程语言基础- 第X章 数据库原理与应用- 第X章 系统分析与设计- 第X章 软件测试- 第X章 项目管理与团队协作教学内容安排与进度:- 需求分析(2课时)- 系统设计(2课时)- 编程语言实现(4课时)- 系统测试与优化(2课时)- 团队协作与项目管理(2课时)总计:12课时。
考勤管理系统实验报告
考勤管理系统实验报告考勤管理系统实验报告一、引言考勤管理是现代企业管理中非常重要的一环,对于企业来说,合理的考勤管理可以提高员工的工作效率和纪律性,避免拖延和迟到等现象的发生。
随着信息技术的发展和应用,考勤管理系统逐渐得到广泛应用。
本实验旨在设计和实现一个基于电子化的考勤管理系统,提高考勤管理的效率和准确性。
二、实验目的1. 了解考勤管理系统的基本原理和流程;2. 掌握考勤管理系统的设计和实现方法;3. 提高学生的软件开发能力。
三、实验内容1. 系统需求分析:明确系统的功能和要求,包括考勤打卡、考勤记录查询和统计、请假审批等;2. 系统设计:根据需求分析结果,设计系统的整体结构和模块划分;3. 数据库设计:设计系统所需的数据库表结构,包括员工信息表、考勤记录表、请假记录表等;4. 系统实现:根据系统设计和数据库设计,使用合适的编程语言和技术,实现考勤管理系统;5. 系统测试:对系统进行功能测试和性能测试,确保系统的稳定性和可靠性;6. 实验总结与展望:总结本次实验的经验和教训,并对系统的改进和扩展提出展望。
四、实验步骤1. 系统需求分析:通过与老师和同学的讨论,明确系统的功能和要求。
系统的主要功能包括员工打卡、考勤记录查询和统计、请假审批等。
2. 系统设计:根据需求分析结果,设计系统的整体结构和模块划分。
系统包括用户管理模块、考勤管理模块、请假管理模块等。
3. 数据库设计:根据系统设计,设计系统所需的数据库表结构。
员工信息表包括员工编号、姓名、部门等字段;考勤记录表包括员工编号、打卡时间、打卡状态等字段。
4. 系统实现:根据系统设计和数据库设计,使用Java语言和MySQL数据库,实现考勤管理系统。
通过编写Java代码和SQL语句,将系统的各个模块逐步实现。
5. 系统测试:对系统进行功能测试和性能测试。
通过模拟各种情况下的数据输入和操作,测试系统的稳定性和准确性。
6. 实验总结与展望:总结本次实验的经验和教训,并对系统的改进和扩展提出展望。
学生考勤管理系统课程设计报告
合肥学院计算机科学与技术系课程设计报告2010~2011学年第二期课程 C++程序设计语言课程设计名称学生考勤管理系统学生姓名王兵学号 1004032035专业班级网络工程(2)班指导教师何立新、陈艳平2011年7月学生考勤管理系统目录No table of contents entries found.一.需求分析开发一个好的软件,进行深入细致的可行性研究是极其必要的,而且还必须做大量的,全面的需求分析,需求分析是软件定义时期的最后一个阶段,它更是开发一个好的软件的基础。
它的基本任务是准确地回答“需要此软件的人都需要哪些功能?”这个问题。
需求分析的主要任务是确定系统必须完成哪些工作,也就是对目标系统提出完整的﹑准确的﹑具体的﹑清晰的要求,确定系统必须具有的功能和性能,系统要求的运行环境,以及预测系统发展的前景,并仔细分析系统中的数据,以便完善良好的软件环境。
在需求分析阶段系统分析员将仔细研究软件所需要完成的具体功能。
1 功能需求:1、录入学生的缺勤记录;2、修改某个学生的缺勤记录;3、查询某个学生的缺勤情况;4、统计某段时间内,缺勤学生学号及缺勤次数,按缺勤权值统计学生的负分值,并能进行排序;5、统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;6、系统以菜单方式工作2 数据需求本系统主要涉及的数据有学生缺课信息类和有关信息排序类。
学生缺课信息包括缺课时间,学生姓名,课程名称,第几节,学生迟到次数,早退次数,请假次数,旷课次数。
有关信息排序类包括对课程排序和对姓名排序。
3性能需求要求系统具有可靠性,速度要快二、算法设计1.设计思想学生考勤系统结构图:this->cno=cno;//对缺课类型的选择为int型this->type=type;//缺课类型}void set(record re){date.assign(re.date);cname.assign(ame);sname.assign(re.sname);this->cno=o;this->type=re.type;}string date,cname,sname;int cno,type;};class records //实现学生旷课情况排序的类{public:records() //构造函数{r=new record[100];n=0;}void order_s() //姓名的排序{int i;int j;string *s=new string[n];int *c=new int [n];s[0].assign(r[0].sname);c[0]=1;int k=1,flag;for( i=1;i<n;i++){flag=0;for( j=0;j<k;j++)if(r[i].sname==s[j]){c[j]++;flag=1;break;}if(!flag){s[k]=r[i].sname;c[k++]=1;}}for(i=1;i<k;i++)for( j=i;j>0;j--){if(c[j]>c[j-1]){int tmp=c[j];c[j]=c[j-1];c[j-1]=tmp;string stmp=s[j];s[j]=s[j-1];s[j-1]=stmp;}}cout<<"旷课学生姓名\t旷课次数"<<endl;for(i=0;i<k;i++)cout<<s[i]<<"\t\t"<<c[i]<<endl;}void order_c() //课程排序{int i,j;string *s=new string[n];int *c=new int [n];s[0].assign(r[0].cname);c[0]=1;int k=1,flag;for( i=1;i<n;i++){flag=0;for(j=0;j<k;j++)if(r[i].cname==s[j]){c[j]++;flag=1;break;}if(!flag){s[k]=r[i].cname;c[k++]=1;}}for(i=1;i<k;i++)for( j=i;j>0;j--){if(c[j]>c[j-1]){int tmp=c[j];c[j]=c[j-1];c[j-1]=tmp;string stmp=s[j];s[j]=s[j-1];s[j-1]=stmp;}}cout<<"课程名\t旷课人次"<<endl;for(i=0;i<k;i++)cout<<s[i]<<"\t"<<c[i]<<endl;}record *r;int n;};把所有的学生记录都保存到一个文件里面,然后根据需要再将里面需要查找的元素进行查找,相应的排序可能就是将他们尽可能压进关联式容器map,有的部分就压入set里面,这些都是根据模块的功能来选定的。
学生考勤管理系统课程设计报告1
一.需求分析功能需求:1、录入学生的缺勤记录;2、修改某个学生的缺勤记录;3、查询某个学生的缺勤情况;4、统计某段时间内,缺勤学生学号及缺勤次数,按缺勤权值统计学生的负分值,并能进行排序;5、统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;6、系统以菜单方式工作数据需求本系统主要涉及的数据有学生缺课信息类和有关信息排序类。
学生缺课信息包括缺课时间,学生姓名,课程名称,第几节,学生迟到次数,早退次数,请假次数,旷课次数。
有关信息排序类包括对课程排序和对姓名排序。
性能需求要求系统具有可靠性,速度要快二、系统的主要功能(1)、录入学生的缺课记录,函数代码void input(records *r){}模块中。
首先提示用户按照正确的格式进行学生缺课记录的录入,这个步骤比较简单,只需要不断地将记录的每个数据项存入结构体对应的成员中。
(2)、修改某个学生的缺课记录,函数代码void edt(records *r){}模块中。
首先必须查找到你所需要修改的那位的学生全部缺课记录。
这个模块不需要定义新的结构体。
在修改前当然要检查记录是否为空了,不为空的话,可以设置下面这五个菜单供用户选择:1、缺课日期2、第几节课3、课程名称4、学生姓名5、缺课类型6、退出修改程序并返回系统主菜单。
修改很简单,仅需要对该学生的某个部分进行替换即可。
采用switch语句很快就解决。
最后实现对所选记录的修改,完成后更新原有的学生记录。
(3)、查询某个学生的缺课情况,函数代码void search(records *r){}模块中。
达到查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序的目的,(4)、统计,函数代码为void order_c(){}和void order_s(){}的类模块中。
其中实现对课程排序和对学生姓名的排序。
三、流程图学生考勤系统结构图:基类的数据成员和成员描述recordString date,cname,sname;int cno,type;void set();string tostr();类名/函数名描述类名/函数名描述record 基类edt() 修改学生信息del() 删除学生信息records 实现学生旷课情况排序的类search() 查找学生信息wt/rd() 实现对文件的输入和输出input() 录入学生的缺课记录search_s()一定范围查找学生信息edt()修改学生信息main() 主函数四、数据结构设计此程序运用多种条件语句,主体采用的是动态数组、指针。
课程设计考勤管理系统报告书
课程设计考勤管理系统报告书课程设计考勤管理系统报告书一、项目背景及目的随着信息技术的发展,各行各业都在积极推行信息化建设,教育领域也不例外。
考勤管理是每个学校日常管理的重要组成部分,如何利用信息技术提高考勤管理效率已成为学校管理者关注的问题之一。
本项目旨在设计一个基于WEB的考勤管理系统,使学校考勤管理工作更加便捷高效。
二、系统设计思路1.系统架构本系统采用B/S架构,由前台(用户界面)和后台(服务器端)组成,用户通过互联网访问系统,系统通过服务器端处理用户请求并返回相应页面或数据。
2.系统功能模块设计(1)学生信息管理模块该模块主要负责学生基本信息的录入、删除、修改、查询等操作。
(2)考勤管理模块该模块主要负责考勤的日常管理工作,包括考勤记录的添加、删除、修改、查询等操作,以及对缺勤学生的提醒通知,支持按班级、学年等多种方式进行考勤统计。
(3)班级管理模块该模块主要负责班级信息的录入、删除、修改、查询等操作,包括班级名称、班主任、学生数量等基本信息。
(4)用户管理模块该模块主要负责管理员的权限设置和管理,包括添加、删除、修改管理员账号的权限,限制不同管理员的访问权限和管理范围等。
3.数据库设计本系统采用MySQL数据库进行数据存储,共设计以下几张表:(1)学生信息表:包括学号、姓名、性别、身份证号码等信息。
(2)考勤记录表:包括学生是否正常出勤、考勤时间、考勤地点等信息。
(3)班级信息表:包括班级名称、班主任、学生数量等信息。
(4)用户信息表:包括管理员账号、密码、权限等信息。
4.前端设计系统前端采用HTML5+CSS3+Javascript技术进行设计,采用Bootstrap框架进行响应式设计,优化页面访问速度,提高用户体验。
5.后端设计系统后端采用Java语言和Spring MVC框架进行设计,通过MyBatis框架实现与MySQL数据库交互,保证数据的一致性和安全性。
三、系统测试本系统采用黑盒测试方法,测试内容主要包括以下几个方面:1.功能测试测试系统各功能模块是否能正常运行,包括学生信息管理模块、考勤管理模块、班级管理模块和用户管理模块等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理及应用课程设计报告题目:考勤管理系统---课程设计报告所在学院:信息工程学院班级:计科1001学号:**********名:**指导教师:才扣2012年1月4日目录一、概述二、需求分析三、概念设计四、逻辑设计五、系统实现六、小结一、概述1.1系统开发的背景与意义1.1.1系统开发背景现在不论哪个企业,都要进行考勤,考勤管理系统利用计算机管理考勤工作, 提高工作效率,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和可信度如何,其效率很低,而且容易出错,不利于管理。
所以人工考勤已经很难再满足企业规化管理的要求,随着数据库技术的发展和企业信息化建设的进行,使用计算机管理考勤成为一种主流趋势,它不仅为企业减少了人力财力的付出,而且也大大减轻了考勤工作人员的工作量。
对于员工们的出勤率有个明显的记录,对于公司的职员也有基本了解根据出勤情况可以计算员工的实际工资。
本文系统的阐述了企业考勤管理设计开发的全过程。
包括系统需求调查分析,概念结构设计,逻辑结构设计等部分。
1.1.2系统开发意义开发本系统的目的,就是要解决目前企业中关于员工出勤管理中所面临的一系列问题。
考勤系统进行企业管理越来越适应企业的需要,集信息的输入,显示,修改,删除等各种处理,信息维护方便,给公司可以带来很大的便利。
开发出企业考勤管理系统能有效地提高企业办事效率,解决目前员工出勤管理问题,实现员工请出勤信息和缺勤信息对企业领导透明,使管理人员及时把握员工的情况,及时与员工沟通,提高生产质量。
二、需求分析作为一个考勤系统.最重要的功能当数考勤了.也就是能够将员工上班签到的日期与时间记录下来。
当然.记录下签到信息后,应该具有其他的辅助功能.比~II1"查询员工某天的签到情况”、”修改签到情况”、”员工的维护”、”公司上班时间的设置”等.下面就本系统完成的功能做一个简单的需求分析。
2.1系统功能要求2.1.1功能划分(1)记录每个员工每天所有进入公司的时刻和离开公司的时刻。
(2)每天结束时自动统计当天的工作时间(3)每天结束时自动统计当天迟到或早退的次数。
(4)对于弹性工作制,每天结束时自动统计当月的工时,并自动算出当月欠缺或富余的时间(5)每个月末统计该月的工作时间判断是否足够(6)每个月末统计该月的工作天数并判断是否足够(7)管理人员查询并修改工作时间(特殊情况下修改)(8)管理人员账户管理(如设置密码等)(9)管理人员设定早退及迟到的条件,每个月的工作时间(10)管理人员设定每个月的工作日期及放假日期1.1.2 功能描述实际的管理和记录工作非常需要快速获知各个部门员工的每日出勤情况,以便于及时向高层管理者反映员工的出勤,缺勤情况。
目前,由于负责考勤的员工,工作任务比较多,而且还都是重复数据,让工作者没有办法及时的向上报告。
工作问题不能及时处理。
针对以上的情况,我们提出企业考勤管理系统,实现网上考勤任务,以减轻考勤人员的工作量。
我公司准备开发员工考勤管理系统,完成员工基本信息维护、企业的部门信息维护、企业基本考勤类型的维护、员工考勤的管理、员工考勤的查询与分析。
实现人事考勤的需要,包括员工迟到、早退的情况的记录,在每个月底计算工资对员工和对员工进行绩效评估的时候,对员工整个月的考勤记录进行查询和统计。
2.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。
但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。
在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5秒时间。
系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。
2.3系统层次划分2.4数据流图顶层数据流图2.5数据字典(1),数据项描述数据项描述表(2)数据结构描述数据结构描述(3)数据流描述数据流描述(4)数据存储数据存储三、概念设计员工属性图管理员属性图n四、逻辑设计4.1关系模式员工信息(工号,,性别,年龄,职位,密码,入职时间)记录数据(工号,上班的小时,下班的小时,上班的分钟,下班的分钟,每天工作时间)统计数据(工号,剩余的时间,迟到的次数,早退的次数,工作天数)管理员(管理员号,,性别,年龄)每天统计信息表(工号,,小时,分钟,动作,时间)其中动作指的时入或离开公司员工表(employee)员工表记录数据表(data_record):记录数据表统计信息表月统计数据表(everymonth_statistics):统计数据表管理员表(Administrator)管理员表五、系统实现一、登陆界面package kaoqin;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.sql.*;public class Main_login extends JFrame implements ActionListener {public Main_login(){super("选择用户类型");this.setSize(300,300);this.setContentPane(new JPanel());create();}private void create(){JButton b1,b2,b3;Box box1,box2,box3,box;b1=new JButton("系统管理员");b2=new JButton("普通用户");b3=new JButton("退出登陆");b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);box1=Box.createHorizontalBox();box2=Box.createHorizontalBox();box3=Box.createHorizontalBox();box1.add(b1);box2.add(b2);box3.add(b3);box=Box.createVerticalBox();box.add(box1);box.add(Box.createVerticalStrut(20));box.add(box2);box.add(Box.createVerticalStrut(40));box.add(box3);this.add(box);}public void actionPerformed(ActionEvent e){if(e.getActionCommand()=="系统管理员"){login frame=new login();dispose();}else if(e.getActionCommand()=="普通用户"){login1 frame=new login1();dispose();}else if(e.getActionCommand()=="退出登陆"){System.exit(0);}}public static void main(String args[]){//ConnectionDB myDB=new ConnectionDB();int flag=0; //判断是否创建过数据库的标志File file=new File("SQL.txt");try {//读入标志FileReader in=new FileReader(file);int len;if((len=in.read())!=-1)flag=1; //已创建了数据库,置1in.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}//没有创建过数据库if(flag==0){ConnectionDB myDB=new ConnectionDB();myDB.createTable();myDB.breakDB();try {//写入标志FileWriter out=new FileWriter(file);out.write("1");out.close();} catch (IOException e) {e.printStackTrace();}}Main_login frame1=new Main_login();frame1.setVisible(true);}}}}二、管理员登陆界面class login extends JFrame //管理员登陆界面{public login(){t his.setTitle("管理员登陆界面");t his.setSize(300,300);this.setContentPane(new JPanel());t his.setVisible(true);init();}JTextField jTextField1;JPasswordField jPasswordField1;private void init(){JLabel jLabel1=new JLabel("管理员登陆");JLabel jLabel2=new JLabel("用户名");JLabel jLabel3=new JLabel("密码");jTextField1=new JTextField(10);jPasswordField1=new JPasswordField(10); JButton button1=new JButton("确定");JButton button2=new JButton("取消");JButton button3=new JButton("修改密码");B ox box,box1,box2,box3,box4,box5;b ox1=Box.createHorizontalBox();b ox1.add(jLabel1);b ox1.add(Box.createHorizontalStrut(10));b ox2=Box.createHorizontalBox();b ox2.add(jLabel2);b ox2.add(Box.createHorizontalStrut(20));b ox2.add(jTextField1);b ox3=Box.createHorizontalBox();b ox3.add(jLabel3);b ox3.add(Box.createHorizontalStrut(20));b ox3.add(jPasswordField1);b ox4=Box.createHorizontalBox();b ox4.add(button1);b ox4.add(Box.createHorizontalStrut(20));b ox4.add(button2);b ox5=Box.createHorizontalBox();b ox5.add(button3);b ox=Box.createVerticalBox();b ox.add(box1);b ox.add(Box.createVerticalStrut(20));b ox.add(box2);b ox.add(Box.createVerticalStrut(20));b ox.add(box3);b ox.add(Box.createVerticalStrut(20));b ox.add(box4);b ox.add(Box.createVerticalStrut(20));b ox.add(box5);t his.add(box);b utton1.addActionListener(new ActionListener(){Overridepublic void actionPerformed(ActionEvent e) {// TODO自动生成的方法存根// login im=new login();Stringname=jTextField1.getText(),password=jPasswordField1.getText();if(name.equals("admin")&&password.equals("123456")){MFrame mi=new MFrame();dispose();}else{JOptionPane.showMessageDialog(new JFrame("WARNING"), "用户名或密码错误");}}});b utton2.addActionListener(new ActionListener(){Overridepublic void actionPerformed(ActionEvent e) {// TODO自动生成的方法存根Main_login frame=new Main_login();dispose();}});b utton3.addActionListener(new ActionListener(){Overridepublic void actionPerformed(ActionEvent e) {// TODO自动生成的方法存根MPwd f1=new MPwd();dispose();}});}}三、主功能界面class MFrame extends JFrame //主功能界面{public MFrame(){this.setTitle("主要功能");this.setContentPane(new JPanel());this.setSize(350,200);this.setVisible(true);init();}private void init(){JButton button1=new JButton("员工信息管理");JButton button2=new JButton("员工出勤信息");JButton button3=new JButton("配置信息");JButton button4=new JButton("退出登陆");Box box1=Box.createHorizontalBox();Box box2=Box.createHorizontalBox();Box box3=Box.createVerticalBox();box1.add(button1);box1.add(Box.createHorizontalStrut(10));box1.add(button2);box1.add(Box.createHorizontalStrut(10));box1.add(button3);box2.add(button4);box3.add(box1);box3.add(Box.createVerticalStrut(30));box3.add(box2);this.add(box3);button1.addActionListener(new ActionListener() // {Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根Worker_Frame frame=new Worker_Frame();dispose();}});button2.addActionListener(new ActionListener() // {Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根AttendFrame frame=new AttendFrame();dispose();}});button3.addActionListener(new ActionListener() // {Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根Equ_Frame frame=new Equ_Frame();dispose();}});button4.addActionListener(new ActionListener() // {Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根Main_login frame=new Main_login();dispose();}});}}四、员工信息管理class Worker_Frame extends JFrame //员工信息管理{public Worker_Frame(){this.setTitle("员工信息管理");this.setVisible(true);this.setSize(400,400);init();}JButton button1,button2,button3,button4,button5;private void init(){button1=new JButton("员工信息添加");button2=new JButton("员工信息修改");button3=new JButton("员工信息删除");button4=new JButton("员工信息查询");button5=new JButton("返回");Box box1=Box.createHorizontalBox();Box box2=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box3=Box.createVerticalBox();box1.add(button1);box1.add(Box.createHorizontalStrut(20));box1.add(button2);box2.add(button3);box2.add(Box.createHorizontalStrut(20));box2.add(button4);box4.add(button5);box3.add(box1);box3.add(box2);box3.add(Box.createVerticalStrut(30));box3.add(box4);this.add(box3);button1.addActionListener(new ActionListener() //添加员工信息{Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根WoAddFrame frame=new WoAddFrame();dispose();}});button2.addActionListener(new ActionListener() //修改员工信息{Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根WoAltFrame frame=new WoAltFrame();dispose();}});button3.addActionListener(new ActionListener() //删除员工信息{Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根WoDelFrame frame=new WoDelFrame();dispose();}});button4.addActionListener(new ActionListener() //查询员工信息{Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根WoSerFrame frame=new WoSerFrame();dispose();}});button5.addActionListener(new ActionListener() //返回{Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根MFrame frame=new MFrame();dispose();}});}}五、添加员工class WoAddFrame extends JFrame//添加员工{private ConnectionDB myCon=new ConnectionDB();private JButton YesBtn,NoBtn;private static JTextFieldwoName,woNo,woAge,woYear,woPosition,woSex,woPassword;private JLabelwoNameLabel,woNoLabel,woAgeLabel,woYearLabel,woPositionLabel,woSexLabel,woP asswordLabel;//提示区private static Font font=new Font("楷体",Font.BOLD,14);public WoAddFrame(){this.setTitle("添加员工");this.setBounds(200, 200, 400, 300);this.setLayout(null);this.setResizable(false);this.setVisible(true);this.addCompnents();this.add(getwoName());this.add(getwoNo());this.add(getwoAge());this.add(getwoYear());this.add(getwoPosition());this.add(getwoSex());this.add(getwoPassword());}private void addCompnents(){woNameLabel=new JLabel("员工:");woNameLabel.setFont(font);woNameLabel.setBounds(70, 10, 70, 20);this.add(woNameLabel);woNoLabel=new JLabel("员工编号:");woNoLabel.setFont(font);woNoLabel.setBounds(70, 30, 70, 20);this.add(woNoLabel);woAgeLabel=new JLabel("员工年龄:");woAgeLabel.setFont(font);woAgeLabel.setBounds(70, 50, 70, 20);this.add(woAgeLabel);woYearLabel=new JLabel("入职时间:");woYearLabel.setFont(font);woYearLabel.setBounds(70, 70, 70, 20);this.add(woYearLabel);woPositionLabel=new JLabel("员工职位:");woPositionLabel.setFont(font);woPositionLabel.setBounds(70, 90, 70, 20);this.add(woPositionLabel);woSexLabel=new JLabel("员工性别:");woSexLabel.setFont(font);woSexLabel.setBounds(70,110,70, 20);this.add(woSexLabel);woPasswordLabel=new JLabel("员工密码:");woPasswordLabel.setFont(font);woPasswordLabel.setBounds(70, 130, 70, 20);this.add(woPasswordLabel);YesBtn = new JButton("确定");YesBtn.setFont(font);YesBtn.setBounds(100,180,70, 20);this.add(YesBtn);NoBtn = new JButton("取消");NoBtn.setFont(font);NoBtn.setBounds(180,180,70, 20);NoBtn.addActionListener(new ActionListener(){Overridepublic void actionPerformed(ActionEvent e) {// TODO自动生成的方法存根Worker_Frame frame=new Worker_Frame();dispose();}});this.add(NoBtn);YesBtn.addActionListener(new ActionListener() //添加确认按钮响应{Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根String sql="insert intostaff_info(Sno,Sname,Sage,enter_time,position,sex,password)values('"+woNo.getText() +"','"+woName.getText()+"','"+woAge.getText()+"','"+woYear.getText()+"','"+woPosition.getText()+"','"+woSex.getText()+"','"+woPassword.getText()+"');";try {myCon.getStatement().executeUpdate(sql);myCon.breakDB();} catch (SQLException e1) {e1.printStackTrace();}OperatSFrame frame=new OperatSFrame();}});}public static JTextField getwoName(){if(woName==null){woName=new JTextField();woName.setBounds(150,10,150,20);woName.setFont(font);woName.setForeground(Color.blue);}return woName;}public static JTextField getwoNo(){if(woNo==null){woNo=new JTextField();woNo.setBounds(150,30,150,20);woNo.setFont(font);woNo.setForeground(Color.blue);}return woNo;}public static JTextField getwoAge(){if(woAge==null){woAge=new JTextField();woAge.setBounds(150,50,150,20);woAge.setFont(font);woAge.setForeground(Color.blue);}return woAge;}public static JTextField getwoYear(){if(woYear==null){woYear=new JTextField();woYear.setBounds(150,70,150,20);woYear.setFont(font);woYear.setForeground(Color.blue);}return woYear;}public static JTextField getwoPosition(){if(woPosition==null){woPosition=new JTextField();woPosition.setBounds(150,90,150,20);woPosition.setFont(font);woPosition.setForeground(Color.blue);}return woPosition;}public static JTextField getwoSex(){if(woSex==null){woSex=new JTextField();woSex.setBounds(150,110,150,20);woSex.setFont(font);woSex.setForeground(Color.blue);}return woSex;}public static JTextField getwoPassword(){if(woPassword==null){woPassword=new JTextField();woPassword.setBounds(150,130,150,20);woPassword.setFont(font);woPassword.setForeground(Color.blue);}return woPassword;}}六、删除员工class WoDelFrame extends JFrame{private ConnectionDB myCon=new ConnectionDB();private JButton YesBtn,NoBtn;private JLabel woNoLabel;private static JTextField woNo;private static Font font=new Font("楷体",Font.BOLD,14);public WoDelFrame(){t his.setTitle("删除员工");this.setSize(400,400);this.setLayout(null);this.setResizable(false);this.setVisible(true);this.addCompnents();this.add(getwoNo());}private void addCompnents(){woNoLabel=new JLabel("员工编号:");woNoLabel.setFont(font);woNoLabel.setBounds(100, 80, 70, 20);this.add(woNoLabel);YesBtn = new JButton("确定");YesBtn.setFont(font);YesBtn.setBounds(130,150,80, 30);this.add(YesBtn);NoBtn = new JButton("取消");NoBtn.setFont(font);NoBtn.setBounds(220,150,80, 30);this.add(NoBtn);NoBtn.addActionListener(new ActionListener(){Overridepublic void actionPerformed(ActionEvent e) {// TODO自动生成的方法存根Worker_Frame frame=new Worker_Frame();dispose();}});YesBtn.addActionListener(new ActionListener() //添加确认按钮响应{Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根String sql="delete from staff_info where Sno="+woNo.getText()+"";try {myCon.getStatement().executeUpdate(sql);myCon.breakDB();} catch (SQLException e1) {e1.printStackTrace();}OperatSFrame frame=new OperatSFrame();}});}public static JTextField getwoNo(){if(woNo==null){woNo=new JTextField();woNo.setBounds(180,80,150,20);woNo.setFont(font);woNo.setForeground(Color.blue);}return woNo;}}七、删除员工class WoSerFrame extends JFrame//管理员查询{private ConnectionDB myCon=new ConnectionDB();private JButton YesBtn,NoBtn;private static JTextFieldwoName,woNo,woAge,woYear,woPosition,woSex,woPassword;private JLabelwoNameLabel,woNoLabel,woAgeLabel,woYearLabel,woPositionLabel,woSexLabel,woP asswordLabel;//提示区private static Font font=new Font("楷体",Font.BOLD,14);public WoSerFrame(){this.setTitle("查询员工");this.setSize(400,600);this.setLayout(null);this.setResizable(false);this.setVisible(true);this.addCompnents();this.add(getwoNo());this.add(getwoName());this.add(getwoAge());this.add(getwoYear());this.add(getwoPosition());this.add(getwoSex());this.add(getwoPassword());}private void addCompnents(){woNameLabel=new JLabel(":");woNameLabel.setFont(font);woNameLabel.setBounds(100, 120, 60, 20);this.add(woNameLabel);woNoLabel=new JLabel("编号:");woNoLabel.setFont(font);woNoLabel.setBounds(100, 10, 60, 20);this.add(woNoLabel);woAgeLabel=new JLabel("年龄:");woAgeLabel.setFont(font);woAgeLabel.setBounds(100, 160, 70, 20);this.add(woAgeLabel);woYearLabel=new JLabel("时间:");woYearLabel.setFont(font);woYearLabel.setBounds(100, 200, 70, 20);this.add(woYearLabel);woPositionLabel=new JLabel("职位:");woPositionLabel.setFont(font);woPositionLabel.setBounds(100, 240, 70, 20);this.add(woPositionLabel);woSexLabel=new JLabel("性别:");woSexLabel.setFont(font);woSexLabel.setBounds(100,280,70, 20);this.add(woSexLabel);woPasswordLabel=new JLabel("密码:");woPasswordLabel.setFont(font);woPasswordLabel.setBounds(100, 320, 70, 20);this.add(woPasswordLabel);YesBtn = new JButton("确定");YesBtn.setFont(font);YesBtn.setBounds(130,50,80, 30);this.add(YesBtn);NoBtn = new JButton("取消");NoBtn.setFont(font);NoBtn.setBounds(220,50,80, 30);this.add(NoBtn);NoBtn.addActionListener(new ActionListener(){Overridepublic void actionPerformed(ActionEvent e) {// TODO自动生成的方法存根Worker_Frame frame=new Worker_Frame();dispose();}});YesBtn.addActionListener(new ActionListener() //添加确认按钮响应{Overridepublic void actionPerformed(ActionEvent e){// TODO自动生成的方法存根Connection con=myCon.getConnection();try{PreparedStatement ps=con.prepareStatement("select Sname,Sage,enter_time,position,sex,password from staff_info where Sno=?");String s=woNo.getText();ps.setString(1,woNo.getText());ResultSet rs=ps.executeQuery();while(rs.next()){String name=rs.getString("Sname");String age=rs.getString("Sage");String year=rs.getString("enter_time");String position=rs.getString("position");String sex=rs.getString("sex");String password=rs.getString("password");woName.setText(name);woAge.setText(age);woYear.setText(year);woPosition.setText(position);woSex.setText(sex);woPassword.setText(password);}}catch(SQLException ex){ex.printStackTrace();}OperatSFrame frame=new OperatSFrame();}});}public static JTextField getwoNo(){if(woNo==null){woNo=new JTextField();woNo.setBounds(150,10,150,20);woNo.setFont(font);woNo.setForeground(Color.blue);}return woNo;}public static JTextField getwoName(){if(woName==null){woName=new JTextField();woName.setBounds(150,120,150,20);woName.setFont(font);woName.setForeground(Color.blue);}return woName;}public static JTextField getwoAge(){if(woAge==null){woAge=new JTextField();woAge.setBounds(150,160,150,20);woAge.setFont(font);woAge.setForeground(Color.blue);}return woAge;}public static JTextField getwoYear(){if(woYear==null){woYear=new JTextField();woYear.setBounds(150,200,150,20);woYear.setFont(font);woYear.setForeground(Color.blue);}return woYear;}public static JTextField getwoPosition(){if(woPosition==null){woPosition=new JTextField();woPosition.setBounds(150,240,150,20);woPosition.setFont(font);woPosition.setForeground(Color.blue);}return woPosition;}public static JTextField getwoSex(){if(woSex==null){woSex=new JTextField();woSex.setBounds(150,280,150,20);woSex.setFont(font);woSex.setForeground(Color.blue);}return woSex;}public static JTextField getwoPassword(){if(woPassword==null){woPassword=new JTextField();woPassword.setBounds(150,320,150,20);woPassword.setFont(font);woPassword.setForeground(Color.blue);}return woPassword; }}六、小结。