基于c的企业考勤管理系统的设计与开发(编辑修改稿)内容摘要:
别设置:维护企业中设立的职务类别信息; (4) 职工资类别设置:维护企业中设立的工资类别信息; (5) 称类别设置:维护企业职工的职称类别信息; 人事变动管理:对于人事上的变动调整进行管理,对人员考勤的信息进行更新 (如:员工职务、员工职称、员工性质等的变动 ) 考勤管理:考勤管理可帮助公司完成时间管理记录员工上下班、加班、出缺勤时间,并可将数据连至薪资计算系统处理,以便作薪资结算。 企业还可根据此考勤系统查询企业内各时段 的员工出缺勤状况,作管理方面的分析。 提供了全面的考勤管理。 数据库管理:对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据库的管理和维护工作,提高系统的数据安全性。 14 性能需求 (1) 硬件环境 在最低配置的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相当出色,且价格也很便宜,因此通常给服务器端配置高性能硬件。 处理器: Inter Pentium II 266 MX 或更高 内存: 64MB 硬盘空间: 2GB 显卡: SVGA 显示适配器 (2) 软件环境 操作系统: Windows 98/ME/2020/NT 数据库: MSQ 全局分析 用户需要输入用户名和密码进入人事考勤管理系统,对人事考勤管理系统的部门、员工的基本信息进行维护和管理。 在考勤管理模块中录入员工当天的考勤信息,同时可对年、月、员工进行查询。 还可以通过考勤汇总查询对员工某月的考勤记录进行汇总,计算出员工月工作天数,早退、迟到的天数等。 Use Case 是对一个活动者使用系统的一项功能时所进行的交互过程的一个文字描述序列 . 在该 Use Case 图中只有顶层图,主要是考虑到考勤管理系统体积不大,做成一个顶层图会使得各用例间的关系更清晰 . 具体关系如图所示 . 15 图 31 考勤管理系统顶层 Use Case全局分析 16 第 4章 系统软件设计 系统设计预览 系统设计目标与功能结构 人事考勤管理系统以实现员工日常出勤信息管理为设计目标,加以强大的数据库管理功能,可以方便对考勤信息进行管理,大大地提高了人事部门的日常工作效率。 本系统在设计时应满足以下几点: 采用人机对话的操作方式,信息查询灵活、方便、快捷、准确、数据 存储安全可靠。 对考勤信息的操作简单,可以方便的进行添加、修改、和删 除,可以录入员工信息、部门信息。 对员工的考勤信息可按月进汇总计算,对用户输入的数据,系统进行严格的数据检查,尽可能排除人为的错误。 系统最大限度的实现了易维护性和易操作性。 统运行稳定、安全可靠。 人事考勤系统功能结构如图 41所示。 图 41人事考勤系统功能结构 17 业务流程图展示 图 42 人事考勤系统业务流程图 数据库设计 数据库分析 人事考勤管理系统使用了 Microsoft SQL Sever 2020 数据库来满足系统的要求,数据库名称为 tb_person,在数据库中创建 4 张表用于存储各种不同的信息,如图 42所示 图 42 数据库中的标 2 数据库逻辑结构设计 下面给出人事考勤管理系统数据库中的主要表的表结构。 Tab_User(管理员信息表 ):用于保存管理员的信息,如图 43所示 18 Tab_Dept(部门信息表 ):用于记录部门的信息情况,如图 44所示 Tab_Employees(员工信息表 ):用于保存公司员工信息,如图 45 所示 Tab_check(考勤 信息表):记录员工每天的考勤信息,如图 46 所示 公共类的设计 本系统是使用 ADO 连接数据库的,为了能更方便地在程序中使用 ADO 建立数据库连接与数据表的操作,就在公共类中对系统中所使用的 ADO 操作进行了封装。 在该系统中建立了 ADO的两个公共类 CADOConnection和 CADODataSet,这两个类定义在 头文件中,实现 文件中。 CADOconnection 类 CADOConnection 类是用来连接数据库的,实现了对 _Connection 接口的封装,CADOConnection 类在头文件中的定义如下: import no_namespace rename(EOF,adoEOF) class CADOConnection { private: Static void InitADO()。 Static void UnInitADO()。 protected: _ConnectionPtr m_Connection。 public: BOOL IsOpen()。 19 _ConnectionPtr GetConnection()。 Cstring GetSQLConstr(CString IP,CString DBName)。 BOOL Open(CString ConStr)。 CADOConnection()。 Virtual~CADOConnection()。 }。 CADOConnection*GetConnection()。 CADOConnection 类的实现代码如下: 定义两个全局变量 ConCount 和 g_Connection,ConCount 变量是一个整型变量,用起来记录在工程中所创建的 CADOConnection 类的实例个数。 在构造方法中 当此变量为 0时调用 CoInitialize 函数实现 OLE 的初始化。 在析构方法中当此变量为 0 时调用CoUninitialize 方法取消 OLE的初始化。 Int ConCount = 0。 CADOConnection g_Connection。 GetConnection 函数是一个全局函数,用于返回全局数据库连接对象的指针,代码如下 : CADOConnection*GetConnection() { Return amp。 g_Connection。 } CADOConnection 方法是析构函数,用于初始化 OLE和创建 _Connection 接口的指针实例,代码如下: CADOConnection:: CADOConnection() 20 { InitADO()。 ()。 } ~CADOConnection 方法是析构函数,用于取消 OLE 初始化和释放 _Connection接口的指针,代码如下: CADOConnection:: CADOConnection() { If(IsOpen())。 m_ConnectionClose()。 m_Connection = NULL。 UnInitADO()。 } InitADO 方法是一个静态方法,用于初始化 OLE,代码如下 : Void CADOConnection::InitADO() { If(ConCount ++ == 0) CoInitialize(NULL)。 }。 UnInitADO 方法是一个静态方法,用于取消 OLE 的初始化,代码如下: void CADOConnection::UnInitADO() { if(~ConCount == 0) 21 CoUninitialize()。 }。 Open 方法通过指定的数据库连接字符串与 SQL数据库建立连接,代码如下: BOOL CADOConnection::Open(CString ConStr) { if(IsOpen()) m_ConnectionClose()。 m_ConnectionOpen((_bstr_t)ConStr,adModeUnknown)。 return IsOpen()。 } GetSQLConStr 方法用来生成与数据库连接所需要的连接字符串,代码如下: CString CADOConnection::GetSQLConStr(CString IP,CString DBName) { CString Str。 (Provider =。 Persist Security Info = False。 User ID = sa。 Initial Catalog = %s。 Data Source = %s,DBName,IP)。 return Str。 } GetConnection 方法用于返回 _Connection 接口指针,代码如下: _ConnectionPtr CADOConnection::GetConnection() { return m_Connection: } 22 IsOpen 方法用来判断当前数据库连接对象与数据库的连接状态,代码如下: BOOL CADOConnection::IsOpen() { long State。 m_Connectionget_State(amp。 State)。 if(State == adStateOpen) return true。 return false。 } CADODataSet 类 CADODataSet 类是用来存储数据的 数据集类,该类实现了 _Recordset 接口的实例,该类在头文件中的定义如下: class CADODataSet { protected: _RecoedsetPtr m_DataSet。 CADOConnection *m_Connection public: void Delete()。 int GetRecordNo()。 void move(int nIndex)。 void Save()。 23 void SetFieldValue(CString FieldName,_variant_t Value)。 void AddNew()。 BOOL Next()。 FieldsPtr GetFields()。 int GetRecordCount()。 void SetConion(CADOConnection *pCon)。 BOOL Open(CString SQLStr)。 CADODataSet()。 virtual ~CADODataSet()。 private: BOOL IsOpen()。 }。 CADODataSet 方法为记录集实现类的构造方法,在该方法中实现记录集接口对象的创建, 代码如下: CADODataSet:: CADODataSet() { ()。 } ~CADODataSet 类为记录集实现类的构造方法,在该方法中实现记录集的关闭与接口的释放,代码如下: CADODataSet:: ~CADODataSet() { 24 if(IsOpen()) m_DataSetClose()。 m_DataSet = NULL。 m_Connection = NULL。 } SetConnection 方法用来设 置记录集所连接的数据库连接类的对象,代码如下: void CADODataSet::SetConnection(CADOConnection *pCon) { m_Connection = pCon。 } GetRecordCount 方法用来获取记录集中数据的数量,实现代码如下: int CADODataSet::GetRecordCount() { if(IsOpen()) return m_DataSetGetRecordCount()。 else return 0。 } Open 方法通过 SQL 查询 语句打开数据集,实现代码如下: BOOL CADODataSet::Open(CString SQLStr) { if(IsOpen) m_DataSetClose()。 25 } IsOpen 方法用来判断数据集是否处于打开状态,实现代码如下: BOOL CADODataSet::IsOpen() { long State。 m_DataSetget_State(amp。 State)。 if(State == adStateOpen) return true。 return false。 } GetFields 方法用来获取记录集中字段的集合,实现代码如下: FieldsPtr CADODataSet::GetFields() { return m_DataSetGetFields()。 } Next 方法将记录指针下移一位,实现代码如下: BOOL CADODataSet::Next() { if(m_DataSetadoEOF) retuen false。 m_DataSetMoveNext()。 return true。 } 26 AddNew 方法用于记录集中添加一个新行,实现代码如下:。基于c的企业考勤管理系统的设计与开发(编辑修改稿)
相关推荐
rs,即应用处理器。 A 系列现在主要有 A 5 A8以及 A9三个子系列。 其中的 CortexA9是目前支持 ARMv7架构的性能最强的 ARM 处理器,并支持多核。 R 系列即为 Realtime applications,目前主要有 Cortex R4系列。 Cortex R 系列保持了与不带 MMU 的传统 ARM 处理器的代码兼容,即传统 ARM 芯片的程序不需要重新编译就可在
内力的表现形式复杂而多变,不可能给出精确的分析和预测,常常用经验公式给出内阻力和速度之间的线形近似关系,同样本文也是将内力近似为作用在主动轮轴上的线性粘性转矩。 外阻力主要产生于车辆一地面的相互作用,主要表现为海泥的压实阻力和海泥的推土阻力,以及深海环境中的海水阻力。 对地面的挤压作用,对车体的运动性能有较大的影响。 假定法向载荷沿履 带长度均匀分布,则履带的沉陷量可由压力一沉陷量方程预测。 (
cuit design .................................... 47 Chapter 6Software design process ....................................................... 48 Software flow design ..................................
图 表 22 SIM小卡 第 二 章 GSM 模块 7 SIM卡功能: SIM卡的主要完成两种功能:存储数据 (控 制存取各种数据 )和在安全条件 下 (个人身份号码 PIN、鉴权钥 Ki正确 )完成客户身份鉴权和客户信息加密算法的 全过程。 此功能主要是由 SIM卡内的一部具有操作系统的微处理机完成。 芯片有八个触点,与移动台设备相互接通是在卡插入设备中接通电源后完成 (连接时只需六个触点 )
个或者多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。 任务的触发顺序和触发条件用来定义并实现任务的触发、任务的同步和信息流 (数据流 )的传递。 2. 1. 2 工作流管理系统 WfMC给工作流管理系统 (Workflow Management System。 WfMS)下的定义是:工作流管理系统是个软件系统,它完成工作流的定义和管理,并按照在计算机中预先
图 21 资料收集整理 程序设计思路 功能分析 开发平台分析 全国油气盆地数据库设计 概念设计 逻辑设计 基础矢量图绘制 属性数据整理归纳 功能模块程序实现 完成论文 基于 ArcGIS 的全国含油气盆地数据库设计与实现 第 页(共 11 页) 7 第 3 章 系统需求分析和总体 功能 设计 需求分析 需求分析是软件定义的最后一个阶段,它的基本任务是回答“系统必须做什么“这个问题。