人事管理系统用例图类图活动图.docx
- 文档编号:9067626
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:145
- 大小:569.61KB
人事管理系统用例图类图活动图.docx
《人事管理系统用例图类图活动图.docx》由会员分享,可在线阅读,更多相关《人事管理系统用例图类图活动图.docx(145页珍藏版)》请在冰豆网上搜索。
人事管理系统用例图类图活动图
Fox-ERP人事管理系统
(二)
-----毕业设计(论文)
指导老师
专业计算机应用与维护
组长
班级
组员
成都电子机械高等专科学校
2007年5月10日
第一章系统功能
1.1需求分析
软件工程中包含需求、设计、编码和测试四个阶段,其中需求分析是软件工程中第一个也是很重要的一个阶段,需求分析的基本任务就是准确地回答“系统必须做什么”这个问题,而它的主要任务就是绘制关联图、创建开发原型、分析可行性、确定需求优先级、为需求建立模型、编写数据字典、应用质量功能调配。
需求分析从总体上看是说明项目应该具有什么样的功能,而不考虑实现这些功能的具体技术。
ERP系统包括22个子系统,人事管理系统是其中的一个子系统,要理解人事管理系统,就必须了解系统与哪个子系统相关联,以及它具有怎样的功能。
人事管理系统将人事档案的手工管理变成计算机管理,充分发挥计算机的快捷、准确、高效、方便的特点,极大地提高了各种效率和工作质量。
在实际项目的开发中,需求分析是客户提出的,现在的企业资源计划的软件要有物流、资金流、信息流,并且要以资金流为中心,ERP则是一个较完善的软件,也是具有管理理论的信息系统。
同时ERP具有较强的通用性,大多数企业都需要具备的一些基本功能成为ERP的需求。
系统的需求分为物理需求、结构需求、逻辑需求。
例如人事管理系统的需求如下所示:
一.物理需求
物理需求的任务很明确,就是确定人事系统的物理服务器的最终架构和软硬件环境。
根据人事管理系统的基本要求,物理需求应包括如下几个方面:
(1)支持可分布式部署的服务器群组
支持分布式的服务器组是优秀的网络应用程序必须提供的一个物理功能,因为大型的网络应用程序不可能将所有的应用和操作运行于同一台服务器。
支持分布式的服务器群组有利于降低服务器负荷,使服务器的功能更加具有针对性。
(2)支持.NET的服务器操作平台
这是必需要满足的需求。
ASP.NET应用程序不可能脱离.NETFramework的支持,因此WEB服务器必须支持.NET.
(3)仅限于MicrosoftSQLServer的数据库管理系统
支持多种数据库类型是一个不错的构想,但是人事管理系统主要体现的是ASP.NET以及ADO.NET中的数据操作新特性,而在ADO.NET中的针对于MicrosoftSQLServer提供了很多的具体方法和对象。
为了介绍和展现ADO.NET中的对象和方法,人事管理系统采用了MicrosoftSQLServer2000作为系统的数据库管理系统。
(4)必须用到的软件支持
人事管理系统要使用VisualStudio2003,类图、用例图、活动图要使用CASE工具,在PD10.0的环境下做。
二、结构需求
(1)系统的可维护性和可扩展性强
大多数的人事系统在实际应用中都需要不断地添加功能模块,人事管理系统也一样,在二次开发和实际应用中要根据项目的具体情况添加一些功能模块。
因此项目在设计之初就要考虑到,当前的架构对系统的扩展工作会不会形成障碍。
使用人事管理系统层次的设计概念能够增强系统的维护性和扩展性,基于层的设计模式允许开发者以三层甚至多层的模式开发人事应用程序,将登录、注册、自定义基本资料表等单元分离开,每一层都有针对性,层是以一组序列分布在系统数据和用户之间的,不相连的层在业务上没有耦合,每一层都是继承和调用上一层中的对象和方法。
这种模式使得系统的功能分布更加合理化。
例如扩展一部分付款方式,首先要在付款方式层中建立相应的方式,然后才是在前台显示层中建立新的页面控件。
(2)系统的功能模块通用性强
由于人事管理系统是作为一个示例和应用程序框架被设计和开发的,因此其功能模块简单地说,人事管理系统需要提供员工就职中最基本的对象和这些对象的基本属性,只有这样才能使基于人事管理系统的二次开发具有更大的扩展性。
例如多公司运作只执行最基本的功能,至于一些具体应用方式的特殊属性,并不应出现在系统中。
模块化的构建同时也意味着模块之间尽量降低偶合度,这样做的好处是使得更改模块内部或新增其他模块对系统的稳定性影响不大。
物理需求和结构需求都是从设计框架上对系统提出了宏观的要求,而逻辑需求则是在实际项目的需求分析阶段对系统的业务逻辑提出的要求。
三、逻辑需求
(1)抽象人事管理系统中的对象和方法
人事管理系统中有几个关键的对象,每个对象有其特有的方法。
对象通过方法实现其自己的功能。
例如可以将人事管理系统中的员工抽象为一个对象,员工的出勤率等可以构建成为对象的属性,而出勤率的计算方式等可以抽象成为商品的方法。
(2)在逻辑上与其他应用程序整和
建立人事管理系统的目的是让员工和管理者可以通过网络进行查询、修改等行为动作。
当然人事管理系统并不是孤立存在的,人事管理系统属于人事系统,与考勤系统、薪金系统等都是进行交互的。
例如人事管理系统需要从考勤系统那里得到考勤单,经核算得出员工的出勤率。
这就涉及到人事管理系统与其他的应用程序进行交互的问题,这种交互可能是数据上的共享,也可能是功能上的共享。
(3)完整的人事管理系统
人事管理系统里有一个完整的人事管理流程。
员工可以挑选整批系统的某个功能,输入某个员工姓名或编号,由系统筛选,再由员工挑选哪些人事管理功能。
1.2FoxERP人事管理系统功能
根据需求分析中对系统的要求,人事管理系统的设计者规划了一系列的系统功能。
如果说需求分析是提出问题,那么系统功能就是解决问题,针对需求建立功能说明文档。
下面将人事管理系统功能总结为如下几个方面:
1、资料保密控管
(1)组织权限:
依据员工所隶属的人事管理系统组织来决定使用者所能处理的人事权限范围
(2)薪资群权限:
依据职位的差异或群组的特性将员工予以分群控管,除非人事薪资操作人员拥有处理该薪资群的权限,否则即便拥有了该人事管理系统的组织权限,依然无法处理该薪资群的资料。
(3)作业表权限:
依据操作人员职务分给不同的操作人员,一方面能理清责任归属,一方面又能确保资料的安全。
(4)主管查询权限:
人事管理系统主管不但能方便地查询到自己单位内每位员工的资料,又能在公司规章授权下来查询同一上级人事管理系统内其他单位员工的资料。
2、多公司运作
(1)可同时处理多家公司的资料
(2)同一公司可再分成数个不同人事数据库以便设定不同权限予以控管
(3)不同公司数据库可自行设定不同的年资计算方式以及薪资福利等计薪基数
(4)与财务系统的数据库能紧密结合,自动抛转相关的人事薪资传票
3、员工基本资料
(1)能完整记载每位员工的各项人事资料(至少包含:
一般、就职、薪金、眷属、经历、证照等类)
(2)能提供自定义字段功能以便依据公司实际的特殊需要而能自行设定
(3)如需针对新进员工进行安全调查时,能提供安全调查管理的功能
(4)能提供常用的证明书表(如:
服务证明书、薪资证明书)
(5)能提供常用的基本资料表(如:
通讯簿、生日名单)
(6)能依据员工的技能、证照等专长列出合乎该项专长的名单
(7)提供职号管制功能
4、自定义基本资料表
(1)能提供自定义报表功能,以便随时应付各种临时特殊的员工基本资料查询需求
(2)提供群组合计功能,得以将数个字段资料相同者予以归纳为同一群组,并能将同群组的数值字段资料予以加总、平均或计算笔数
(3)提供自定义筛选条件功能,以便任何组合查询条件筛选出符合条件的资料
(4)提供自定义分析统计报表功能,可以方便地从任一角度来交叉分析现行的人事状况
5、人事状况统计表
(1)学历分布明细/统计表(依单位、职位、薪资归属等条件分类统计)
(2)男女人数分布明细/统计表(依单位、职位、学历、薪资归属等条件分类统计)
(3)年资/年龄分布统计表(依单位、职位、学历、薪资归属等条件分类统计)
(4)薪金区间统计表(依单位、职位、学历、薪资归属等条件分类统计)
(5)组织员额/缺额统计表
6、人事异动管理
(1)完整记载各项人事异动资料,并提供完整的汇总查询
(2)对于临时人员或续聘人员提供方便的职号转换作业,以确保资料的一致性
(3)人事异动单据登录时会自动同时更新员工主文件的相关资料,并在异动单据剔除或修改时能自动倒回原始资料
(4)留职停薪年资能计算到以日为单位,并在复职时自动扣除留职停薪的年资
(5)提供各式人事异动名单报表,如就职名单、离职名单、调薪名单
(6)提供人事异动统计分析表,得以方便地查询人事异动的状况
(7)提供职务异动公告表,不必再由人工誊打
7、教育训练
(1)提供不同角度(课程别/员工别、内训/外训、有无认证)的报表查询功能
(2)能提供训练人事统计报表
(3)需进行人力资源库筛选时,能提供教育训练结果的分析名单
8、奖惩
(1)奖惩资料能自动转为考绩的加扣分
(2)奖惩资料能自动转为年终奖金的加扣天数
(3)奖惩资料能自动转至当月薪资发放的加扣金额
(4)提供奖惩公告表,不必再由人工誊打
9、考绩
(1)能依据企业实际需要自行设定考核种类(如:
月考绩、季考绩、年考绩、新近人员考绩、临时考绩)
(2)能自行定义考核表的种类、考核项目及评等标准
(3)能分别设定个别员工适用的考核表种类
(4)请假、奖惩结果能自动转入加扣考绩分数
(5)能进行不同期间的考核结果比较或同年度内不同考核种类的成绩比较
(6)能提供员工自我考核的功能
(7)能依据考核人员权限的不同,设定不同考核权数
(8)考绩资料的输入除了提供统一由考绩管理员集中登录功能外,也能提供由自行设定考核成绩的分类区间,予以分等统计
10、退休
(1)提供未来退休员工预估名单及退休金的报表,以供分析及财务调度参考
(2)随时依据政府法令的修正,机动调整退休金基数的核算
(3)能自动转入退休员工的基本资料,并提供方便的维护功能
(4)未满一年的年资计算方式能符合各项规章的要求
第二章系统分析图
2.1UML图
UML(统一建模语言)是一种对于软件密集型系统的制品进行可视化、详述、构造和文档化的图形语言。
UML给出了一种描述系统蓝图的标准方法,其中即包括概念性的事物,如业务过程和系统功能,也包括了具体的事物,如用特定的编程语言编写的类、数据库模式和可复用的软件结构。
UML图根据描述的功能不同可分为很多中类型,如系统类构造图是描述系统中类的构造和属性的图,用例图是描述系统中用例基本信息的图,交互图是描述系统中交互行为的图,活动图是描述系统活动的流程图。
2.1.1用例图
用例图主要是对系统、子系统或类的行为进行建模,如下图是系统的总体用例图,描述系统中的用户与功能模块之间的类。
登录:
基本资料维护与员工就职设定:
人事异动作业与退休作业:
教育作业与奖惩作业:
考绩作业:
2.1.2类图
2.1.3活动图
2.2系统架构
经过了对系统的需求分析和UML的分析,基本上是完成了人事管理系统的系统框架的建立,但是已经做过了工作都是设计方面的,下面涉及到的就是实际的工作。
下面介绍的就是人事管理系统的命名和编码的约定、文件结构、部署等方面的问题的总体规划。
1、命名和编码的约定
命名和编码的约定是软件工程中很重要的一部分内容,特别是多人进行协同工作的团队,我们的人事管理系统是由4个人组成的一个小团队。
我们采用的命名规则是Pascal的大小写规则,该规则约定在变量中使用的所有的单词的第一个字符都是大写,并且不使用空格和符号。
Microsoft公司推荐的另外一种大小写规则叫作camel,该规则约定在变量中使用的第一个单词的首字母小写,期于单词的首字母都是大写。
在包括类、枚举类型、名称、属性、事件、方法、命名空间在内的大部分命名中使用Pascal规则。
2、文件夹结构
有组织的文件夹结构是一个成功的项目必不可少的,项目中代码文件需要有组织的放置,在人事管理系统中,文件夹的结构是显得十分有序的
在人事管理系统中的主目录下有几个需要介绍的目录:
BIN目录为项目编译之后的DLL文件,Components目录为项目中数据访问层的类库文件夹,database目录是存放数据库的文件夹,help是用来存放帮助功能里面的静态网页,Images目录为项目中图片存放的文件夹。
在项目的主目录下存放页面文件,页面后台编码类文件以及页面资源文件。
3、命名空间(namespace)
命名空间是很重要的,一个命名空间能够包含多个程序集和模块。
在人事管理系统中统一使用foxerp_fy作为应用程序的顶级命名空间。
第三章主要关键技术
ASP.NET是微软新推出的新型体系结构.NET框架的一部分,它为构造新一代动态网战和基于网络的分布式应用提高了强有力的支持。
与以前的Web开发模型相比,ASP.NET提供了许多重要的优点,例如:
简易性、安全性、可管理性等。
而且与基于过程的ASP页面技术相比,面向对象技术在ASP.NET中得到了完全实现。
用传统ASP技术建立的Web应用实例中,在页面中同时实现显示,业务逻辑和流程控制,这从工程化的角度考虑,它有许多不足之处。
用户界面承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。
用户希望保持交互操作界面的相对稳定,但更希望根据需要改变和调整显示的内容和形式。
在.NET框架下ASP.NET技术结合MVC设计模式很好地解决了上述问题。
我认为在筹资管理模块中,其中的重要技术之一就是用了很多的DataGrid控件来读取数据,便于使用户查询、修改、更新资料的信息。
3.1、关键技术之一
用DataGrid对数据进行绑定,方便从数据库中提取、编辑、保存和删除数据信息。
并对人事申请单进行分页处理,方便查看申请单信息。
对人事申请单进行修改操作.
下面就以员工就职>津贴/扣款维护讲解:
DataGrid命名为jtkkG
自动分页:
publicvoidPageIndexChange(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse)
{this.jtkkG.EditItemIndex=-1;//取消编辑
this.jtkkG.CurrentPageIndex=e.NewPageIndex;//指定当前页为新页
this.DataGridDataBind();//重新绑定
}
publicvoidDoItemEdit(objectsender,System.Web.UI.WebControls.DataGridCommandEventArgse)
{if(Session["UserType"].ToString()!
="2")//判断权限
{this.Response.Write("
');");
}
else
{this.jtkkG.EditItemIndex=e.Item.ItemIndex;//置相应列为编辑状态
this.DataGridDataBind();//重新绑定数据源
}
}
更新:
publicvoidDOItemUpdate(objectsender,System.Web.UI.WebControls.DataGridCommandEventArgse)
{Class.JiuZhijiuzhiWH=newFoxERP_HRSA.Class.JiuZhi();
DataSetdataSet=newDataSet();
dataSet=jiuzhiWH.GetJinTieKouKuanList(yuangongZHT.Text.Trim());
intjintiekoukuanid=int.Parse(dataSet.Tables["JinTieKouKuanList"].Rows[e.Item.ItemIndex]["jintiekoukuanID"].ToString());//从数据集中取出员工ID
更新数据源:
jiuzhiWH.UpdateJinTieKouKuan(jintiekoukuanid,((TextBox)e.Item.Cells[0].Controls[0]).Text,((TextBox)e.Item.Cells[1].Controls[0]).Text,Convert.ToDecimal(((TextBox)e.Item.Cells[2].Controls[0]).Text.Trim()),Convert.ToDateTime(((TextBox)e.Item.Cells[3].Controls[0]).Text.Trim()),Session["yuangongXM"].ToString().Trim(),Convert.ToDateTime(DateTime.Now.ToShortDateString()));
this.jtkkG.EditItemIndex=-1;//重新绑定数据
this.DataGridDataBind();
}
撤消:
publicvoidDoItemCancel(objectsender,System.Web.UI.WebControls.DataGridCommandEventArgse)
{this.jtkkG.EditItemIndex=-1;//对相应列撤消编辑状态
this.DataGridDataBind();
}
publicvoidDeleteJinTieKouKuan(objectsender,System.Web.UI.WebControls.DataGridCommandEventArgse)
{if(Session["UserType"].ToString()!
="2"//判断权限)
{this.Response.Write("
');");
}
else
{Class.JiuZhijiuzhiWH=newFoxERP_HRSA.Class.JiuZhi();
DataSetdataSet=newDataSet();
dataSet=jiuzhiWH.GetJinTieKouKuanList(yuangongZHT.Text.Trim());
intjintiekoukuanid=int.Parse(dataSet.Tables["JinTieKouKuanList"].Rows[e.Item.ItemIndex]["jintiekoukuanID"].ToString());
jiuzhiWH.DeleteJinTieKouKuan(jintiekoukuanid);
this.DataGridDataBind();
}
}
3.2、关键技术之二
通过验证控件来限制和判断文本框信息,对各个人事表单进行添加操作,方便维护人员对人事进行管理.
检测员工一般属性是否添加过:
publicintCheckYuangong(stringshenfenNO)
{SqlConnectionmyConnection=newSqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);//实例化一个数据库连接对象myConnection
//实例化一个使用myConnection打开存储过程HRSA110_CheckEmployee的命令myCommand
SqlCommandmyCommand=newSqlCommand("HRSA110_CheckEmployee",myConnection);
//定义myCommand为打开存储过程的数据库命令
myCommandxmandType=CommandType.StoredProcedure;
//为myCommand添加参数parameterShenfenNO
SqlParameterparameterShenfenNO=newSqlParameter("xshenfenNO",SqlDbType.Char,一八);
parameterShenfenNO.Value=shenfenNO;
myCommand.Parameters.Add(parameterShenfenNO);
//为myCommand添加返回值parameterYuangongID
SqlParameterparameterYuangongID=newSqlParameter("xyuangongID",SqlDbType.Int,9);
parameterYuangongID.Direction=ParameterDirection.Output;
myCommand.Parameters.Add(parameterYuangongID);
myConnection.Open();//数据库访问
myCommand.ExecuteNonQuery();
myConnection.Close();
intyuangongid=(int)(parameterYuangongID.Value);//获取返回值
returnyuangongid;
}
验证有效的邮箱地址:
RegularExpressionValidatorid="RegularExpressionValidator1"style="Z-INDEX: 126;LEFT: 400px;POSITION: absolute;TOP: 224px"runat="server"Font-Size="X-Small"ErrorMessage="输入有效E-mail"ControlToValidate="EmailT"EnableViewState="False"ValidationExpression="[\w\.-]+(\+[\w-]*)? x([\w-]+\.)+[\w-]+">
RegularExpressionValidator>
3.3、关键技术之三
使用正则表达式来测试合法性,以确保合法的用户输入。
1.正则表达式中的常用的符号及其含义:
[]:
用来定义可接收的字符
{}:
定义必须输入的字符数
*:
0或多哥字符
{n}:
正好n个字符
{n,}:
至少n个字符
{n,m}:
至少n个字符,但不多于m个字符
2.正则表达式举例说明:
.:
匹配除\n之外的任何字符
[指定字符集]:
匹配指定字符集中包含的任何单个字符
[^指定字符集]:
不在指定字符集中的任何单个字符
[0-9]:
使用“-”允许指定连续字符范围。
[0-9]该表达式表示0到9数字中的一个数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统 用例图类图 活动