本科实验报告课程名称:系统分析与设计实验项目:《员工工资管理系统的分析与设计》实验实验地点:专业班级:软件14 班学号:学生姓名:指导教师:一、实验目的通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析与系统设计中的主要步骤,并熟悉信息系统开发的有关应用软件,加深对信息系统分析与设计课程基础理论、基本知识的理解,提高分析和解决实际问题的能力,使学生在实践中熟悉信息系统分析与设计的规范,为后继的学习打下良好的基础。
二、实验要求学生以个人为单位完成,自选题目,班内题目不重复,使用UML进行系统分析与设计,并完成实验报告。
实验报告以纸质版(A4)在课程结束后提交(10周)。
三、实验主要设备:笔记本电脑四、实验内容1 选题及项目背景题目:员工工资管理系统背景:员工工资管理是公司企业内部很重要的一个管理事项,但目前大多数公司的工资管理基本上是手工操作的,使用效率不高,还会造成人力上的浪费,而使用计算机对其进行信息控制不仅能提高效率,而且大大提高其安全性,使企业的管理更加自动化,高效率和人性化,更加满足员工的需求。
2 定义某“员工工资管理系统”为所有公司在职员工提供工资查询服务。
公司员工可以通过登陆本系统查询个人的工资情况,可以通过填写个人资料,包括员工编号、员工姓名、所属部门、职务、性别、学历、住址、出生年月、电话号码等进行注册,如有疑问可以在线查询。
只有系统的管理员才有权限对员工的信息进行修改和删除,并对系统中的数据进行维护,包括数据备份、引入数据和导出数据。
每个员工的工资情况将由行政部门反馈给管理员,由管理员进行录入。
每个员工的工资计算方式如下:1.由基本工资计算应扣除(如水电气费等)的部分;2.根据职工的出勤情况计算奖金部分;3.根据输入的扣除额及奖金计算工资总额部分;4.由工资总额计算应扣除税金部分;5.根据计算总额部分和计算税金部分传递来的有关职工工资详细信息生成工资表。
3 参考资料参考课本的在线销售系统4 系统分析与设计4.1需求分析4.1.1识别参与者参与者:公司员工、管理员、行政部门4.1.2 对需求进行捕获与描述用例名称:填写个人信息执行者:公司员工目的:完成用户注册过程用例名称:查询员工信息执行者:公司员工、管理员目的:方便用户对自己个人的查询用例名称:修改员工信息执行者:管理员目的:对系统的数据进行更新用例名称:删除员工信息执行者:管理员目的:对系统的数据进行更新用例名称:维护系统安全执行者:管理员目的:对系统的数据进行维护用例名称:录入员工工资情况执行者:管理员目的:对员工工资进行管理用例名称:计算应扣除部分执行者:行政部门目的:对员工工资进行计算用例名称:计算奖金部分执行者:行政部门目的:对员工工资进行计算用例名称:计算工资总额执行者:行政部门目的:对员工工资进行计算用例名称:计算税金执行者:行政部门目的:对员工工资进行计算用例名称:生成工资表执行者:行政部门目的:生成员工的工资表的过程“生成工资表”用例描述4.1.3 用例图通过已掌握的需求,初步了解系统所要完成的功能。
下面给出用例图。
4.1.4 分析与讨论1)建模用例图的步骤、方法?答:1.确定系统的边界和范围;2.识别系统参与者;3.发现用例;4.描述用例及确定用例关系;5.建立用例图、层次化用例图。
2)如何识别系统的参与者?应该如何划分用例,应注意哪些问题?答:参与者的识别可以通过回答以下问题:1.谁使用了系统的主要功能;2.谁改变了系统的数据;3.谁从系统获取数据;4.谁支持、维护系统5.谁需要借助系统的支持来完成日常工作;6.系统需要操纵哪些硬件;7.系统需和哪些外部系统交互;8.谁对系统运行结果感兴趣。
3)心得在本次实验中我发现了很多自身的问题,平时老师上课讲的知识点还有很多都没有掌握,我选择的是一个工资管理系统,难度一般,在设计的过程中也遇到了大大小小的问题,通过查阅资料得以解决,这次的实验将我学到的知识进一步巩固,提高了我的动手能力。
4.2 建立对象模型4.2.1 候选类的数据字典1)名称:员工信息报表别名:员工信息描述:用户指定条件下的员工基本信息情况查询结果的信息表定义:员工信息表=员工编号+员工姓名+所在部门+担任职务+员工学历+住址+出生年月+电话号码位置:输出到打印机2)名字:奖惩报表别名:奖惩信息描述:用户指定条件下的员工奖惩信息查询结果的信息表定义:员工奖惩信息查询报表=所受奖励+所奖工资数+所受惩罚+所扣工资数位置:输出到打印机3)名字:工资报表别名:工资信息描述:记录工资的组成部分以及员工的工资情况的信息定义:工资信息报表=基本工资+税金+实际发放工资+奖金位置:输出到打印机4.2.2定义类“员工”类属性:员工编号(Eno)员工姓名(Ename)所属部门(Epart)职务(Eduty)性别(Esex)学历(Eedu)住址(Eadd)出生年月(Ebir)电话号码(Etel)操作:录入员工编号(setEno)获取员工编号(getEno)录入员工姓名(setEname)获取员工姓名(getEnamel)录入所属部门(setEpart)获取所属部门(getEpart)录入职务(setEduty)获取职务(getEduty)录入性别(setEsex)获取性别(getEsex)录入学历(setEdu)获取学历(getEedu)录入住址(setEadd)获取住址(getEadd)录入出生年月(setEbir)获取出生年月(getEbir)录入电话号码(setEtel)获取电话号码(getEtel)“工资报表“类属性:基本工资税金实际发放工资操作:录入基本工资获取基本工资录入税金获取税金录入实际发放工资获取实际发放工资4.2.3绘制类图说明:(1)用户类:表示操作系统人员类,此类的属性有账号和密码,它有一个登录的方法。
(2)管理员:表示系统的管理人员,属性包括账号和密码,方法有:查询信息、修改信息、删除信息、维护系统安全、录入员工工资情况。
(3)员工:表示发放工资的对象,属性包括员工编号,姓名、年龄、学历、地址、联系方式等个人信息,操作有查询个人工资和信息。
(4)工资报表:表示工资的由来,此类的属性有基本工资、税金、实际发放工资数。
(5)奖惩报表:表示员工所受的奖励和惩罚,属性有奖励、所奖工资数、惩罚、所扣工资数,操作有打印。
(6)职务:表示员工所承担的职务,属性有职务和工资范围,操作为打印。
(7)汇总:对最后工资的汇总,属性包括员工编号、姓名、职务和工资,操作为打印。
4.2.4包图对于大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。
对所选系统的类进行分组,以便更清晰地了解系统的结构。
以上的包图将“员工工资管理系统”的用例分为“员工注册”、“员工信息管理”和“员工工资管理”3个包,它们构成了该系统的四大业务逻辑功能,每个包都包含了一组用来处理特定类型的业务活动的用例,如员工工资管理中的用例有:计算应扣除部分、计算奖金、计算工资总额、计算税金和生成工资表。
4.2.5分析与讨论1)建模类图的步骤、方法?答:1.确定类;2.识别类的属性和操作;3.识别类之间的关联;4.定义类的结构和层次。
2)识别类有哪些方法,你是如何识别类的?答:1.找出候选类;2.审查和筛选类,从中去掉不必要的类。
3)解释关联的多重性?如何确定类的属性、操作、类之间的关联关系、组织类之间的继承?答:(1)关联表示了对象间的结构关系。
在建模过程中通常需要说明一个关联实例中有多少个相互连接的对象,这就是关联的多重性。
(2)识别类的属性:1.可以从以下角度来发现和确定类潜在的属性:常识性、专业性、功能性、存储性、操作性、标志性、关联性。
2.筛选类的属性:应当忽略那些派生属性;如某属性描述对象本身的特征,从外界是观察不到的,应当删除;删除对象内与其它属性完全不相关的属性;删除与系统无关的属性;删除受某个关联影响的属性,并把它附在此关联上。
(3)类的操作需要综合对象模型、动态模型和功能模型来确定。
(4)关联关系是对象之间的关系,可以使用普通关联列表的方法帮助发现关联。
(5)组织类之间的继承:一旦识别出大部分类、关联关系及其多重性,就可以使用继承重新组织类图,使用继承共享公共结构来组织类。
通常在两个方向上识别继承,自顶向下或自底向上。
4.3 建立动态模型系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。
在系统的分析和设计中应当对主要的Use Case和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。
4.3.1顺序图(绘制自选系统一个主要用例的顺序图并解释说明)说明:(1)输入信息:输入用户的账号和密码。
(2)发送信息:向系统发送所输入的账号和密码。
(3)验证信息:验证输入的信息是否与数据库中的数据一致。
(4)提示信息:向用户提示输入成功。
(5)登录成功:进入系统并进行相应的操作。
4.3.2 通信图(将以上顺序图转换为通信图)4.3.3活动图活动图的主要作用是表示系统的业务工作流和并发处理过程。
针对自选系统主要的业务工作流绘制活动图。
绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。
(一)用户修改密码说明:(1)登录:用户用账号和密码进行登录。
(2)进入系统:管理员和用户通过登录进入系统。
(3)修改密码:用户根据需要修改密码。
(4)数据处理:将新修改的密码传入到数据库中,数据库更新密码。
(5)完成:完成修改任务。
(二)管理员管理员工信息说明:(1)进入系统:管理员输入账号和密码进入系统。
(2)员工信息:管理员对员工的信息进行管理和操作。
(3)提示不能操作:没有权限不能对员工信息进行管理和操作。
(4)增加员工信息:若有新的员工加入则增加员工信息。
(5)修改员工信息:若有员工信息有变动则及时修改。
(6)删除员工信息:若有员工离开则对该员工的信息进行删除。
(7)确定:对所有操作进行确定。
4.3.4状态图状态机图表现一个对象(类)的生命史。
对于一些实现重要行为动作的对象应当绘制状态机图。
绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。
说明:(1)进入系统:用户通过输入账号和密码进入系统。
(2)查询:用户可以查询自己的信息和历史工资记录。
(3)等待结果:等待查询结果。
(4)查看信息:查看查询的结果。
(5)查询失败:输入员工的编号错误。
(6)退出系统:查询完成退出系统。
4.3.5 分析与讨论比较顺序图与通信图、活动图与状态图的应用。
(1)顺序图描述对象间消息传递的时间顺序,用于分析交互的顺序,是按时间顺序对控制流建模,可以有效地帮助人们观察系统的顺序行为。