员工基本工资组成模块.ppt

上传人:sh****n 文档编号:12817767 上传时间:2020-05-26 格式:PPT 页数:24 大小:401.50KB
返回 下载 相关 举报
员工基本工资组成模块.ppt_第1页
第1页 / 共24页
员工基本工资组成模块.ppt_第2页
第2页 / 共24页
员工基本工资组成模块.ppt_第3页
第3页 / 共24页
点击查看更多>>
资源描述
第12章员工基本工资组成模块,大连理工大学电子音像出版社出版,学习目标,理解三层架构得基本思想;根据业务逻辑分析需求;把需求进行细化、分解,搭建标准三层架构的基本框架;理解三层架构中各层的相互引用的知识;理解工厂层和接口层在整个架构体系中的作用;能分步骤实现三层架构的代码。,业务逻辑分析,在学校中有三种工资的计算方法。首先,所有职务都有基本工资。包括学院的领导、教师、行政人员、保卫人员。除了基本工资,有两种职务工资还有其它组成部分:教师,要领取课时费;保卫,要领取值班津贴,而且保卫的值班津贴要分白班和夜班,因为白班和夜班的津贴额是不一样的。所有工资发放都按月计算。,设计测试用例,测试用例要求。输入:员工流水号(员工号)、发放工资的年、发放工资的月。输出:员工的具体职务、员工在此年此月的基本工资(三个组成部分的明细)、课时费、值班津贴。,设计测试用例,需求的细化与设计分析职务工资和学历工资,员工的职务工资由员工的具体职务确定。所以我们要得到职务工资数,首先要得到员工的职务是什么。这些信息都储存在数据库的职务工资表(Duty)中。,需求的细化与设计分析学历工资,员工的学历工资由员工的学历高低确定。所以我们要得到学历工资数,首先要得到员工的学历是什么。这些信息都储存在数据库的学历表(Title)中但是在我们的用例设计中,我们输入的是员工号码,而不是输入的学历编号和职务编号,所以,还必须通过员工号码得到职务编号和学历编号。这个逻辑是操作的员工表(Employee),需求的细化与设计分析学历工资,需求的细化与设计分析奖惩金额,奖惩就是在基本工资之外,该月对员工的奖励或者因为员工违反了学校的纪律,对员工的扣除金额。和前面讲的职务、学历工资不同,奖惩每月是不固定的,也许没有,也许有,而且还有多条奖惩记录。关于员工的奖惩信息,储存在奖惩记录表(IncentivePenalty)中。,需求的细化与设计分析课时费和值班津贴,如果职务是教师等教学人员,则要计算教师的课时费。就是教师每上一节课都有一定的费用;课时费信息,储存在课时计算表(SchoolTime)。通过EmpID(员工流水号)和SchoolYear(年)、SchoolMonth(月)得到该年月这个员工的SchoolTimes(上课节数)。该月课时费每节课金额该月上课节数。,需求的细化与设计分析值班津贴,如果是保安等保卫人员,他们是24小时轮换值班,每值一次班,都有一定的津贴,而且白班和夜班津贴不相同。值班津贴信息储存在津贴计算表(SubSidy)。通过EmpID(员工流水号)和SubSidyYear(年)、SubSidyMonth(月)得到该年月这个员工的SubSidyNight(夜班次数)和SubSidyDay(白班次数)。该月值班津贴白班金额该月白班数夜班金额该月夜班数。,标准三层架构的基本框架,PAMS:表现层所有的窗体界面。BLL:逻辑层由表现层直接调用,通过逻辑层去调用接口层中的方法DALFactory:工厂层在工厂层中定义配置信息,利用反射的技术,决定在IDAL(接口层)中所定义的方法是由哪一个DAL(数据层)来实现。如果使用的是SQLServer数据库,IDAL(接口层)中的方法,就由SQLServerDAL来实现;如果要使用Access数据库,就由AccessDAL来实现接口层中的方法。IDAL:接口层定义完成任务所需要的方法。SQLServerDAL:数据层实现IDAL层中定义的方法。所有的数据库操作语句都写在次层中。可以定多个DAL(数据层)。如果是使用SQLServer数据库,可以命名为SQLServerDAL,如果是Access数据库,就可以命名为AccessDAL。Model:实体层作为数据的载体传递信息,类似结构变量。,添加每层之间的引用关系,PAMS:BLL、Model、SQLServerDALBLL:DALFactory、IDAL、ModelDALFactory:IDAL、ModelIDAL:ModelSQLServerDAL:IDAL、ModelModel:无,实现工资计算程序界面设计,实现工资计算的业务逻辑,分析职务工资的过程我们知道,职务工资的计算要涉及到两张表,职务工资表(Duty)和员工表(Employee)。在界面输入员工流水号以后,首先要通过员工表(Employee)得到DutyID(职务编号),然后再把DutyID(职务编号)作为输入值,通过职务工资表(Duty)得到BasicWage(职务工资)。,计算职务工资Model层,因为涉及到员工表和职务表,我们需要分别针对这两个表建两个实体类:Duty.cs和Employee.cs,在实体类中都是成员变量和与成员变量对应的属性。大家可以注意到,成员变量和属性都是和相关的数据库表的字段对应的。这方面的内容,在前几章我们已经详细讲解过。,计算职务工资IDAL层,在员工的接口类中,我们添加了一个方法“PAMS.Model.EmployeeGetModel(intEmpID)”,它作用是:输入员工号码,返回的一个员工的实体对象。为什么这里我们没有把这个方法写成是:输入员工号码,返回员工的职务ID,来直接满足我们的操作要求呢?我们的目的是为了提高程序代码的适用性。在这个功能中,我们需要得到员工的职务号码,在下一个功能中,我们又要得到员工的学历号码。也许以后还需要得到员工的职称号码。所以,当遇到由一个表的主键得到其它字段值的操作的时候,就直接返回一个实体。而不需要为每一个字段的返回又去单独写一个方法。,计算职务工资DAL层,员工数据库操作实现类的代码:SQLServerDAL层的EmployeeAccess.cs职务数据库操作实现类的代码:SQLServerDAL层的DutyAccess.cs我们在数据层中,是为了实现在接口层的类中所定义的方法。在接口层中我们定义的得到实体对象的方法,就需要在这里具体实现。,计算职务工资DALFactory层和BLL层,这里我们把工厂层(DALFactory)和逻辑层(BLL)放在一起讲。逻辑层的作用是:实例化接口层(IDAL),从而调用接口类中的操作方法。工厂层的作用是:在逻辑层实例化接口层的时候,由工厂层来决定接口层中定义的接口,由哪一个DAL来实现。如果是使用SQLServer数据库,自然使用我们定义的SQLServerDAL,如果我们的数据库平台要换成Oracle,那只要在程序上加写一个OracleDAL,然后在工厂层中修改一下配置参数就可以使用了。通过这样的方法,实现了程序操作和数据库平台的无关性,把数据层的操作从程序中分离出来。而其中起控制作用的就是工厂层。,计算职务工资表现层,我们通过表现层来输入数据,输出结果。计算职务工资,需要的输入值就是员工号。通过前面的分析,我们知道应该分成两个步骤,首先通过员工号得到职务号码,然后再通过职务号码得到职务工资。其中第一个过程操作的是员工表,第二个过程操作的是职务表。,计算职务工资表现层,实现工资计算的表现层的程序完善表现层中的自定义方法和方法类,GetConfigValue(intConID)得到配置信息:课时费、值班津贴GetDutyNameByEmpID得到职务名称GetDutyWageByEmpID得到职务工资GetSubSidyByEmpID得到值班次数GetSumIncPenDisByEmpID得到奖惩金额合计GetSumSchoolTimesByEmpID得到上课次数GetTitleWageByEmpID得到学历工资SalaryComputeMethod(intid,stringyear,stringmonth)构造函数,传入员工号、年、月,表现层中方法调用,我们通过最后对表现层的方法类中方法的调用实现最后的操作目的:指定员工的某年某月的工资计算。1通过对方法类SalaryComputeMethod的实例化,通过构造函数传入外部参数:SalaryComputeMethodscm=newSalaryComputeMethod(empID,year,month);/实例化工资计算方法类,传入了这个类中构造函数需要的三个参数:员工号、年、月2调用对象的方法,计算基本工资3判断职务,精细课时费和值班津贴的计算,标准三层架构的总结,标准三层架构各层间的访问过程1传入值,将值进行类型转换2创建BLL层的对象,通过对象访问BLL层的方法调用BLL层3BLL层方法中取得数据访问层的实例,实例化IDAL层的接口对象,然后返回IDAL层传入值所查找的内容的方法4通过工厂层的选择,访问指定DAL层,返回一个完整的调用DAL层的结果给BLL层5到此要调用DAL层,DAL层完成赋值Model层的对象值为空,给定一个参数,调用sql层的sqlhelper的方法,读出每个字段的数据赋值给以定义为空的Model层的对象6sqlhelper执行sql命令,返回一个指定连接的数据库记录集,在这里需要应用参数类型,提供位打开连接命令执行做好准备7返回Model层把查询得到的一行记录值赋值给sql层的引入的Model层的对象,然后把这个对象返回给BLL8回到界面层的BLL层的方法调用,把得到的对象值返回,在前台显示给界面,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!