EMS开发教程概述

来源:互联网 发布:锁屏后能录像的软件 编辑:程序博客网 时间:2024/05/21 14:09

EMS( Employee management system)雇员管理系统,主要用于管理员工的基本信息、工作考勤、薪资计发等事项,此外为确保这些业务的实现,还需要提供登录退出、用户管理、菜单管理、权限管理、数据上传、报表打印、数据备份还原、在线升级等功能这份教程就是依据前期EMS系统开发的工作日志,以及工作的具体情况,进行总结整理形成的。教程中没有太深奥的理论,就像是一本工作日记,基本保持了这次工作的原貌,项目的源码也已部分公开: https://github.com/liebertLEOS/EMS,大家可以下载浏览。由于本人水平有限,在设计和实现上肯定存在很多问题,也希望大家多批评指正,最好能够提交你的代码,咱们共同学习进步,需求分析心,刚开始,朋友发过来一份简单的需求说明文档,他从自己工作实际情况出发整理的需求并不能拿来就做,必须要从软件开发者的专业角度进行分析,对客户业务不懂的和客户描述不清晰不准确的地方要及时进行咨询,最好是通过电话的方式,要确保对每个存疑之处彻底地搞清楚,最后将客户的需求一条一条整理出来,必要时,通过概要的实现来描述清楚业务的流程,以确保在软件开发之初,尽可能地较少前期对需求的误读而导致后期灾难性结果客户提出的需求大致包括:系统的登录和退出,员工基本信息录入和修改,员工工作信息手动录入和通过 Excel表格导入员工的工资计算和报表打印,用户的权限管理,除了客户的需求之外,还需要继续挖掘潜在需求进行完善,虽然这些需求不是客户提出的,但是这些需求为了完成客户需求,系统所必须要提供的,这也是软件开发者从专业角度分析得来的,这些需求包括用户管理、莱单管理、权限检查、数据上传、报表打印、数据备份还原,安装部暑和在线升级等。中需求分析第二项重要的工作就是要收集整理数据表单,对贯穿在整个业务流程中的数据进行整理,特别是客户工作中的业务表单、电子表格,对每个数据元的合法性、约束性要与客户沟通并确定下来客户的需求搞清楚之后,就是软件的概要设计了。

二、概要设计 

(一)部署设计

主要对软件运行的平台环境进行设计。软件采用B/S风格采用单机部署方式,对计算机硬件的要求:CPU、内存、硬盘,操作系统选用 Windows7 

(二)功能设计

需求是对整个系统需要实现的功能的描述,要尽可能的全面细致,从功能设计角度来看,这些需求可能是零散分市、重复交叉、颗粒不均等,因此要对需求加以汇总整理,形成几个成结构的功能模块。这种模块划分没有绝对唯一的标准,因为从不同的角度观察同一个问题会得出不同的结果,总的原则就是:只要便于我们后面开发、能够完成整个需求实现就行。经过分析之后,具体划分了以下12个功能模块:安装部署、登录退出、操作日志、菜单管理、用户管理、角色管理、权限管理、员工管理、表单管理、报表管理、数据管理、系统升级。概要设计完成后,等待评审会确认通过,就可以进行具体的工作的分工,每个人对自己负责模块结合需求文档展开详细地设计工作,如果存在问题,就需要修改调整,直到评审通过。

三、详细设计

详细设计主要是对功能设计阶段的每个工能模块进行的细化,根据用例图画出类图,对流程进行详细分析,并画出流程图必要时可画出详细的时序图。

四、数据库设计

数据库设计之所以要单独拎出来,源于这项工作的重要性和专业性,数据是软件的核心,整个软件的运行就是围绕着数据展开的,数据就像人体的血液在贯穿整个软件的始终,在不同的位置被加工成特定组织形态,数据库设计工作主要依据需求文档、业务表单,必须建立在对整个业务清楚掌握基础之上,关系型数据库设计有它一些规范和要求,但也要考虑表的设计便于软件的处理和业务的实现。图中给出几个在设计过程中的例子。当然,关系型数据库设计所要做的并不仅仅是这些。


 五、编码实现

前端,语言基本上就是HTML+CSS+JS,第三方组件包括Easyui、 Gridreport。 Easyui是一款UI控件库,供窗体、对话框、按钮、表格、选项卡、树等常用界面控件。 Gridreport是一款在线报表设计器,需要用户安装Web插件。

后端,采用PHP语言,基于 Thinkphp框架进行开发, Thinkphp是一款国产MVC框架,可以方便和加速我们的开发。PHPExcel主要用于解析Excel表格数据。

六、测试迭代

测试软件的功能是否正常执行,客户的业务能否正确完成系统能否稳定安全运行,基本上,功能测试、压力测试、边界测试、异常测试都必须进行,对于存在的问题要及时修复,不断迭代产品。

七、编写用户手册

从用户角度来所,衡量一款软件的好坏,除了能安全稳定完成业务,还有一点就是不需要用户学习,就能够很好的使用好这款软件,软件能够引导用户使用操作、排除异常等,但是,目前我还无法做到,所以必须通过编写用户手册来指导用户进行使用手册越薄越好。如果一款软件的手册非常厚重,那就说明这款软件用户体验性做的非常差。

八、总结思考

原创粉丝点击