第2章系统分析
第2章 系统分析
2.1 可行性分析
1)技术可行性分析
Java语言经过多年的发展,目前是程序员普遍使用的语言,它实现JavaWeb程序也有许多经典的案例,也因为它面向对象的思想,自身携带的继承、多态等特点也方便了程序员对代码的复用,从而提高了开发效率,因此用Java语言开发是具体可行的[13],其次数据库采用Mysql,在数据库管理中,SQL语言是最常用的语言之一,框架采用Struts整合Hibernate,Struts是开源软件,它有助于减少开发软件的时间,其Servlet、Jsp的优点有助于人们开发可扩展的程序,而Hibernate的应用使得对JDBC执行数据库操作的效率变高,故本系统将Myeclipse8.5作为开发工具,将MVC模式作为设计思想,采用Struts整合Hibernate框架的设计方式,相对应的分为了三层体系结构:显示层、控制层、数据访问层,其中Jsp对应显示层,负责展现视图,实现与用户进行交互,Struts对应控制层,负责系统的业务逻辑处理,接收客户端请求并生成Web页面,Hibernate对应数据访问层即MVC中的模型层,负责管理系统的数据。
2)操作可行性分析
企业员工档案管理系统的管理员均为企业中的普通职员,可能不具备计算机的专业知识体系,因此,在设计系统的时候需要考虑系统操作的难易程度,使得系统使用者能够在短暂的培训下或者不需要培训的情况下能够熟练操作系统,因此,系统的界面按钮、字面提示等尽可能做得简单易懂,在前端设计的时候界面布局尽量简洁,让人一目了然,用户操作过程中也会给出合理的提示,让使用者操作起来简单快捷。
第2章系统分析
3)经济可行性分析
针对项目开发的经济成本以及经济效益进行分析,经济成本上,本系统在开发过程中所用到的技术工具或开发环境均不需经费,因此经济成本较低;经济效益上,开发后用户仅需浏览器即可使用,未产生更多的经济开销,易维护,且电子档案管理的方式节省了人力、物力的消耗,为企业带来了更为环保、积极的经济效益。
2.2 需求分析概述
需求分析是软件生命周期中比较重要的一个阶段,它清楚的分析了系统需要在功能上“实现什么”,确定实现系统有哪些清晰具体的要求,必须完成哪些任务,但是不需要考虑实现的细节,它可以为总体的工作制定时间和计划,也基本明确了系统需要完成的内容、要求以及工作量等,而这些要求和内容也将影响到后期的设计和开发[14]。需求分析也是为了促进研发工作中的规范科学化,通过结构化方法或者原型化法等来独特的分析和表示,表达理解问题时候的数据域或者功能域,且根据具体功能、性能逐层细化分析,建立问题的层次,使得问题更加的明确细化,进而建立分析模型,通过各种图表来表示研究的对象,也通过这些逻辑视图来表达功能和信息之间的关系。当需求分析做到透彻明确之后,软件设计也就更加轻松。
因此,需求分析实际起到了一个“分水岭”的作用,是软件定义的最后时期,也是系统设计的开始。系统开发的基础是以需求分析为导向的,需求分析是否充分也直接影响到软件系统的开发质量,甚至会导致一个系统的失败,故在需求分析的时候,需要通过度的验证核查将风险值降到最低。
而需求分析也根据其本质分为了功能性需求、非功能性需求、性能需求等。
第2章系统分析
2.3 具体需求
2.3.1 功能需求
企业员工档案是人事部门招聘、培训、考核、任用的时候存留的关于员工个人经历、工作情况、奖惩信息等概况的文件资料,入职前的员工简历,个人信息登记表,入职时的资料,以及入职后的试用期评估、转正评估、培训记录、奖惩记录、薪资记录等均为员工档案的一部分,故本系统要实现的电子档案管理功能主要分为以下几个方面:
1)基本信息管理,员工的档案信息是每个企业员工入职后都需要录入的,包含员工的姓名、性别、院校、工作经历等个人基本信息,将入职填报的一些个人信息登记表以电子表单的方式存储比纸质的要更为方便的管理。
2)入职后的多方面的考察,例如各类考核、培训而产生的员工档案以及每位员工的薪酬单,通过电子管理的方式将它们归类整理存档,为纸质管理节省了一大笔人力物力,也是比较方便的功能。
3)系统的用户权限管理,因为员工档案的私密性,它关系到企业员工内部的各项资料的安全,应该由专门的管理人员进行管理,不能为所有人公开,因而用户权限设定的功能也必须存在。
综上分析,本系统主要分为5个部分:员工信息、培训信息、考核信息、薪资信息、系统管理。其中员工信息用于保存员工个人的基本信息档案,包括姓名、部门、工作经验等;培训信息用于保存公司的培训计划、培训总结等档案信息;考核信息用于保存员工入职后公司对员工各类表现的考核档案;薪资信息用于保存员工的薪资变动的档案,通过薪资单来体
第2章系统分析
现;系统管理用于管理系统用户的权限、登录密码等。
其中用户角色分为超级管理员和管理员,超级管理员能够对员工信息、培训信息、考核信息、薪资信息、系统管理模块进行档案的录入、审核、总结、删除、查看等操作,而管理员只能查看各个模块的信息,而不能够对系统密码进行修改操作。
2.3.2 非功能需求
1)输入输出需求
用户录入信息和展示信息的界面尽可能清晰简单,风格一致,有足够好的用户体验性,在用户界面上要能够吸引用户,方便用户进行操纵,在对应的地方有输入提示,并以图表的方式展现数据的内容,更加清晰明了。
2)故障处理需求
因为软硬件和设计的各种客观因素,系统在运行过程中可能会出现各类问题,系统在处理此类问题的时候应该做到有一定的故障检测能力,并给出合理的处理方式,对于系统软件的问题,系统要能够报告和处理,对于用户的操作不当,也应给出合理的提示。
3)数据处理需求
信息录入除了用户手工录入,系统也会产生,因此,除了界面上的容错性,系统生成的数据也需要保证准确性,系统要能够快速精确的存储转换用户输入的信息,处理数据的能力实时准确,保证数据库中的存储的数据与用户输入的数据保持一致,且各个模块的数据需求
第2章系统分析
联系要分清,不同的表要区分到位。
4)运行环境需求
(1)服务器端:系统为Window10,服务器为Tomcat6.0,Java版本为JDK1.8,数据库为Mysql5.5,开发框架为Struts整合Hibernate,开发工具为Myeclipse8.5;
(2)客户端:CPU为Intel Core i7,内存为8G。
2.3.3 性能需求
1)数据准确、及时、稳定性
系统开发过程中,对数据的处理要能够及时响应,当用户进入系统到输入信息、保存信息,系统应当对数据进行准确及时的处理,实时将处理结果反馈到页面,以便及时与用户进行交互,满足用户的需求,且设计时也应充分考虑到系统的承受范围,对用户大量的各类信息能够有足够的系统处理能力,当系统用户不断增加,数据不断刷新增长,系统应当对这样的变化有着良好的适应性,不可出现大数据导致系统崩溃的情况。
2)系统的可维护性
系统的架构需要针对企业不同时期的发展而容易更新维护,相应的功能版块应尽可能符合一定的规范,在适应变化的时候能够提供足够的方法对它进行调整或者扩充,在各个模块相应的减少或增加功能而对系统没有大的影响。针对此类需求,C/S系统中一部分模块改变,其它模块也会随之变动,维护成本较高,但是因为本系统采用的是B/S模式,开发、维护的
第2章系统分析
工作只需要在服务器端进行,当需要更新软件的时候,只针对服务器进行,升级维护变得容易。
3)系统的可靠性
系统设置了超级管理员和管理员两个身份,管理员操作权限仅可查看,而超级管理员拥有系统所有的权限,两个身份的密码固定,一次仅一个密码,且超级管理员的身份由企业指定专门的人员,他们可以添加修改不同的角色信息和密码,起到了系统登录用户的管理工作,使得其它人员不允许对系统任何的操作,保证了系统数据的可靠性,也保证了档案的安全性。
2.3.4 用例分析
根据企业档案管理系统的具体要求,本系统主要分为5个部分:员工信息、培训信息、考核信息、薪资信息、系统管理,特分别设计用例图如下:
1)系统用例图
系统管理员具备对系统的所有操作权限,包括对员工信息、培训信息、考核信息、薪资信息、系统管理的各项管理权限,具体如图2.1所示。
第2章系统分析
员工信息培训信息考核信息薪资信息系统管理员系统管理
图2.1 系统用例图
2)员工信息
管理员和超级管理员对员工信息模块分别具备不同的操作权限,其中管理员仅能查看员工待审和已审信息,超级管理员具备所有操作权限,具体如图2.2所示。
员工待审信息查看文件上传下载员工信息录入员工信息审核员工已审信息查看文件下载管理员员工信息信息管理员工信息删除超级管理员员工信息查看员工信息修改
图2.2 员工信息模块用例图
第2章系统分析
3)培训信息
管理员和超级管理员对培训信息模块分别具备不同的操作权限,其中管理员仅能查看培训计划和培训信息,超级管理员具备所有操作权限,具体如图2.3所示。
培训计划查看培训信息查看管理员培训信息录入培训总结归档培训信息信息管理培训信息删除超级管理员培训信息查看 图2.3 培训信息模块用例图
4)考核信息
管理员和超级管理员对考核信息模块分别具备不同的操作权限,其中管理员仅能查看考核信息,超级管理员具备该模块所有操作权限,具体如图2.4所示。
第2章系统分析
考核信息查看管理员考核信息录入考核信息删除考核信息信息管理考核信息修改超级管理员考核信息查看
图2.4 考核信息模块用例图
5)薪资信息
管理员和超级管理员对薪资信息模块分别具备不同的操作权限,其中管理员仅能查看薪资信息,超级管理员具备该模块所有操作权限,具体如图2.5所示。
薪资信息查看管理员薪资信息录入薪资信息删除薪资信息信息管理薪资信息修改超级管理员薪资信息查看
图2.5 薪资信息模块用例图
第2章系统分析
6)系统管理
仅超级管理员具备系统管理模块的操作权限,管理员不能对系统角色信息进行任何操作,未赋予管理权限,具体如图2.6所示。
角色信息录入角色信息删除系统管理信息管理角色信息修改超级管理员角色信息查看
图2.6 系统管理模块用例图
2.4 本章小结
本章从技术、经济、操作层面对系统实现的可行性进行了分析,并对系统进行需求分析的概述以及具体需求的分析,包括功能需求、非功能需求、性能需求和用例分析
第2章系统分析