




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人事工资管理系统 案例分析 随着我国市场经济的快速发展 人事工资管理系统在企业的日常管理中发挥着越来越重要的作用 通过人事工资管理系统可以进行档案管理 奖罚管理和工资管理等 方便企业处理内部员工的相关工资信息 另外 更方便地查看员工的工资信息 还可以通过水晶报表对工资信息进行打印 本章的主要内容 Sql语句的应用公共类的设计Mdi窗体技术动态设置水晶报表的数据源将图片保存到数据库中控制文本框中输入的数据Time组件实现时钟功能通过hasrows属性判断登陆用户的用户名和密码是否正确 3 1开发背景 企业在发展中不断的壮大 员工也随之增加 对于人士管理部门来说 迫切需要一个操作方便功能简单实用 可以满足企业对员工的档案和工资信息进行管理的系统 在企业选择人事工资管理系统时 主要存在以下几个方面的要求 1对企业员工的档案进行管理2系统的功能要符合企业的基本情况3系统的功能操作要简单实用操作方便 不要出现复杂的操作4可以方便地对工资信息进行打印 3 2需求分析 良好的人机界面方便的添加修改数据功能方便的数据打印功能在相应的窗体中可方便的删除数据数据计算自动完成 尽量减少人工干预 3 3系统设计 系统目标界面友好 操作方便可以对员工档案进行管理 增删改查 实现奖罚管理 调动管理和考评管理实现考勤津贴和工资总结方便的实现部门管理和数据备份可以使用操作员管理修改口令和更改操作员系统运行稳定 安全可靠 系统的功能结构 业务流程图 程序运行环境系统开发平台vs2008语言C 3 5数据库管理系统软件SQL2005运行平台XP2003WIN7运行环境 netsdkv3 5分辨率最佳效果1024768 数据库设计 数据库的最初雏形据说源自美国一个奶牛场的记账薄 里面记录的是该奶牛场的收支账目 程序员在将其整理 录入到电脑中时从中受到启发 当按照规定好的数据结构所采集到的数据量大到一定程度后 出于程序执行效率的考虑 程序员将其中的检索 更新维护等功能分离出来 做成单独调用的模块 这个模块后来就慢慢发展 演变成现在我们所接触到的数据库管理系统 DBMS 程序开发中的一个重要分支 C 编写简单的聊天程序 程序的分析与设计1 明确程序的功能我们的任务是了解程序需要做什么 而不是如何去做 1 1请求客户提供更详细信息可以登录聊天程序 登录的时候能够通知其他在线用户 然后与在线的用户进行对话 如果不想对话了 就注销或者直接关闭 有了上面这段话 我们就又可以得出下面几个需求 程序可以进行登录 登录后可以通知其他在线用户 可以与其他用户进行对话 可以注销或者关闭 1 2对于用户需求进行提问 并进行总结经常会有这样的情况 可能客户给出的需求仍然不够细致 或者客户自己本身对于需求就很模糊 此时我们需要做的就是针对用户上面给出的信息进行提问 接下来我就看看如何对上面的需求进行提问 我们至少可以向经理提出以下问题 登录时需要提供哪些内容 需不需要提供密码 允许多少人同时在线聊天 与在线用户聊天时 可以将一条消息发给一个用户 还是可以一次将消息发给多个用户 聊天时发送的消息包括哪些内容 注销和关闭有什么区别 注销和关闭对对方需不需要给对方提示 登录时只需要提供用户名称就可以了 不需要输入密码 允许两个人在线聊天 这里我们只讲述这种简单情况 允许多人聊天需要使用多线程 因为只有两个人 那么自然是只能发给一个用户了 聊天发送的消息包括 用户名称 发送时间还有正文 注销并不关闭程序 只是离开了对话 可以再次进行连接 关闭则是退出整个应用程序 注销和关闭均需要给对方提示 上面的这些属于业务流程 除非你对它已经非常熟悉 或者程序非常的小 那么可以对它进行编码 但是实际中 我们最好再编写一些用例 这样会使程序的流程更加的清楚 1 3编写用例通常一个用例对应一个功能或者叫需求 它是程序的一个执行路径或者执行流程 编写用例的思路是 假设你已经有了这样一个聊天程序 那么你应该如何使用它 我们的使用步骤 就是一个用例 用例的特点就每次只针对程序的一个功能编写 最后根据用例编写代码 最终完成程序的开发 我们这里的需求只有简单的几个 登录 发送消息 接收消息 注销或关闭 上面的分析是对这几点功能的一个明确 接下来我们首先编写第一个用例 登录 在开始之前 我们先明确一个概念 客户端 服务端 因为这个程序只是在两个人 机器 之间聊天 那么我们大致可以绘出这样一个图来 我们期望用户A和用户B进行对话 那么我们就需要在它们之间建立起连接 尽管 用户A 和 用户B 的地位是对等的 但按照约定俗称的说法 我们将发起连接请求的一方称为客户端 或叫本地 另一端称为服务端 或叫远程 所以我们的登录过程 就是 用户A 连接到 用户B 的过程 或者说客户端 本地 连接到服务端 远程 的过程 在分析这个程序的过程中 我们总是将其分为两部分 一部分为发起连接 发送消息的一方 本地 一方为接受连接 接收消息的一方 远程 这里我们的用例名称为登录和连接 但是后面我们又打了一个括号 写着 本地 它的意思是说 登录和连接是客户端 也就是发起连接的一方采取的动作 同样 我们需要写下当客户端连接至服务端时 服务端采取的动作 用例只能为你提供一个操作步骤的指导 在实现的过程中 因为技术等方面的原因 可能还会有少量的修改 如果修改量很大 可以重新修改用例 如果修改量不大 那么就可以直接编码 这是一个迭代的过程 也没有一定的标准 总之是以高效和合适为标准 2 分析与设计 我们已经很清楚地知道了程序需要做些什么 尽管现在还不知道该如何去做 我们甚至可以编写出这个程序所需要的接口 以后编写代码的时候 我们只要去实现这些接口就可以了 这也符合面向接口编程的原则 另外我们注意到 尽管这是一个聊天程序 但是却可以明确地划分为两部分 一部分发送消息 一部分接收消息 另外注意上面标识为自动的语句 它们暗示这个操作需要通过事件的通知机制来完成 2 1消息Message首先我们可以定义消息 前面我们已经明确了消息包含三个部分 用户名 时间 内容 所以我们可以定义一个结构来表示这个消息 2 2消息发送方IMessageSender从上面我们可以看出 消息发送方主要包含这样几个功能 登录 连接 发送消息 注销 另外在连接成功或失败时还要通知用户界面 发送消息成功或失败时也需要通知用户界面 因此 我们可以让连接和发送消息返回一个布尔类型的值 当它为真时表示连接或发送成功 反之则为失败 因为登录没有任何的业务逻辑 仅仅是记录控件的值并进行显示 所以我不打算将它写到接口中 publicinterfaceIMessageSender boolConnect IPAddressip intport 连接到服务端boolSendMessage Messagemsg 发送用户voidSignOut 注销系统 2 3消息接收方IMessageReceiver而对于消息接收方 从上面我们可以看出 它的操作全是被动的 客户端连接时自动提示 客户端连接丢失时显示自动提示 侦听到消息时自动提示 注意到上面三个词都用了 自动 来修饰 在C 中 可以定义委托和事件 用于当程序中某种情况发生时 通知另外一个对象 在这里 程序即是我们的IMessageReceiver 某种情况就是上面的三种情况 而另外一个对象则为我们的用户界面 因此 我们现在首先需要定义三个委托 publicdelegatevoidMessageReceivedEventHandler stringmsg publicdelegatevoidClientConnectedEventHandler IPEndPointendPoint publicdelegatevoidConnectionLostEventHandler stringinfo 我们注意到接收方需要侦听消息 因此我们需要在接口中定义的方法是StartListen 和StopListen 方法 这两个方法是典型的技术相关 而不是业务相关 所以从用例中是看不出来的 可能大家现在对这两个方法是做什么的还不清楚 没有关系 我们现在并不写实现 而定义接口并不需要什么成本 我们写下IMessageReceiver的接口定义 publicinterfaceIMessageReceiver eventMessageReceivedEventHandlerMessageReceived 接收到发来的消息eventConnectionLostEventHandlerClientLost 远程主动断开连接eventClientConnectedEventHandlerClientConnected 远程连接到了本地voidStartListen 开始侦听端口voidStopListen 停止侦听端口 2 4主程序Talker而我们的主程序是既可以发送 又可以接收 一般来说 如果一个类像获得其他类的能力 以采用两种方法 继承和复合 因为C 中没有多重继承 所以我们无法同时继承实现了IMessageReceiver和IMessageSender的类 那么我们可以采用复合 将它们作为类成员包含在Talker内部 publicclassTalker privateIMessageReceiverreceiver privateIMessageSendersender publicTalker IMessageReceiverreceiver IMessageSendersender this receiver receiver this sender sender 我们的程序大体框架已经完成 接下来要关注的就是如何实现它 现在让我们由设计走入实现 看看实现一个网络聊天程序 我们需要掌握的技术 编写程序代码我们采用的是三个模式中开发起来难度较大的一种 无服务器参与的模式 还有就是我们没有使用广播消息 所以需要提前知道连接到的远程主机的地址和端口号 1 实现IMessageSender接口2 实现IMessageReceiver接口3 实现Talker类Talker类是最平庸的一个类 它的全部功能就是将操作委托给实际的IMessageReceiver和IMessageSender 定义这两个接口的好处也从这里可以看出来 如果日后想重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽泰康教育投资有限公司招聘19人考试参考题库附答案解析
- 2025西安高新区第六高级中学招聘(2人)考试参考题库附答案解析
- 2025通辽科区胡力海卫生院招聘笔试备考题库及答案解析
- 2025年银川市第二十四中学体育教师招聘笔试模拟试题及答案解析
- 2025四川内江隆昌市黄家镇桂花井幼儿园见习岗位需求1人考试参考题库附答案解析
- 2025四川甘孜州能源发展集团有限公司招聘1人笔试模拟试题及答案解析
- 2025安徽宜秀区国有企业招聘工作人员17人笔试模拟试题及答案解析
- 2025四川成都铁路运输法院系统招聘聘用制审判辅助人员30人考试模拟试题及答案解析
- 通江县2025年医疗卫生辅助岗人员招募(17人)考试参考题库附答案解析
- 2025广东惠州市博罗县杨侨第一幼儿园专业技术编外人员招聘2人笔试模拟试题及答案解析
- 青马考试题目及答案
- 算力中心计算任务优化方案
- 劳务派遣工作知识培训课件
- 无人机反制设备原理课件
- 北京市2025年普通高中学业水平等级性考试政治试题(解析版)
- 2025年道路运输两类人员安全员考核分享题库及答案
- 中国肺血栓栓塞症诊治、预防和管理指南(2025版)
- 2025年村干部考试试题(含答案)
- 新华书店招聘面试题库全攻略:行业知识、技能与面试技巧
- 工会招聘考试题及答案
- 1.1认识社会生活 教案 2025-2026学年统编版道德与法治八年级上册
评论
0/150
提交评论