精华内容
下载资源
问答
  • 相信很多小伙伴在学习完SSM三大架构以后,不知道该如何找到一个简单容易上手的项目进行实战训练,经常在博客上看到一个不错的项目下载下来以后全部都是代码,无处下手。因此本文力求以最简单易懂的项目结构和代码...

    前言

    相信很多小伙伴在学习完SSM三大架构以后,不知道该如何找到一个简单容易上手的项目进行实战训练,经常在博客上看到一个不错的项目下载下来以后全部都是代码,无处下手。因此本文力求以最简单易懂的项目结构和代码搭建一个还较为完整(即从登录到退出的整个流程)的后台系统。(适合新手)

    整个项目的操作流程动态图如下(由于CSDN对上传图片大小有限制,这里录制的gif画面很不清晰,点击图片查看更清晰):
    这里写图片描述
    (点击图片查看)

    已经将服务部署到服务器,可以在线进行体验: 线上体验链接

    项目的整体结构:
    这里写图片描述
    这里写图片描述

    用到的技术栈有:

    • 框架:SSM
    • 数据库:MySQL
    • 前端框架:Bootstrap快速搭 搭建JSP页面
    • 项目管理:MAVEN
    • 开发工具:Intellij IDEA
    • 开发环境:Windows

    从这个项目中你可以完整独立地体验从前端到后台的搭建过程,以及使用SSM框架完成后台的CRUD整个流程。
    注:项目代码下载链接:SSM_HRMS代码下载链接 .

    一、准备

    准备部分主要包括数据库建表、SSM框架的搭建启动。
    1 数据库建表
    tbl_emp表:

    DROP TABLE IF EXISTS `tbl_emp`;
    CREATE TABLE `tbl_emp`(
    	`emp_id` int(11) UNSIGNED NOT NULL auto_increment,
    	`emp_name` VARCHAR(22) NOT NULL DEFAULT '',
      `emp_email` VARCHAR(256) NOT NULL DEFAULT '',
      `gender` CHAR(2) NOT NULL DEFAULT '',
       `department_id` int(11) NOT NULL DEFAULT 0,
    	 PRIMARY KEY(`emp_id`)
    ) ENGINE=INNODB DEFAULT CHARSET=UTF8;
    

    tbl_dept表:

    DROP TABLE IF EXISTS `tbl_dept`;
    CREATE TABLE `tbl_dept`(
    	`dept_id` int(11) UNSIGNED NOT NULL auto_increment,
      `dept_name` VARCHAR(255) NOT NULL DEFAULT '',
    	`dept_leader` VARCHAR(255) NOT NULL DEFAULT '',
    	PRIMARY KEY(`dept_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    对应的实体类见bean/Employee.java和bean/Department.java。
    (在测试部分,运行EmployeeMapperTest.java 和 DepartmentMapperTest.java,可以将数据插入到表中)

    2 SSM项目搭建与启动
    (1)本次项目使用的是MAVEN进行JAR包的管理,首先导入项目中可能用到的依赖包:
    见pom.xml.

    (2)Web项目的配置文件:web.xml:
    见WEB-INF/web.xml.

    (3)Spring容器配置文件:applicationContext.xml:
    见resources/applicationContext.xml.

    (4)SpringMVC配置文件:springmvc.xml:
    见resources/springmvc.xml.

    3 测试
    写好上述配置文件后,可以在controller目录下新建TestController.java文件和WEB-INF/jsp/test.jsp,启动容器测试是否成功。

    二、DAO层代码完成与测试

    这一章主要完成数据库底层的CRUD代码实现与测试工作。
    1. MyBasits配置文件
    见resources/MyBatis.xml.

    2. DAO层代码
    首先编写实体类Employee 与 表tbl_emp相关操作代码。
    EmployeeMapper.java主要接口有:

    int deleteOneById(@Param("empId") Integer empId);
    int updateOneById(@Param("empId") Integer empId,
                       @Param("employee") Employee employee);
    int insertOne(Employee employee);           
     Employee selectOneById(@Param("empId") Integer empId);
    Employee selectOneByName(@Param("empName") String empName);
    // 查询带有部门信息的Employee
    Employee selectWithDeptById(@Param("empId") Integer empId);
    // 分页查询
    List<Employee> selectByLimitAndOffset(@Param("limit") Integer limit,@Param("offset") Integer offset);
    int countEmps();
    

    具体实现参考EmployeeMapper.java与EmployeeMapper.xml中代码。

    写完后需要对实现的代码进行测试,以验证代码的正确性。
    测试用例代码见EmployeeMapperTest.java。

    类似地,
    实体类Department与 表tbl_dept相关操作代码实现也如上类似,具体实现见DepartmentMapper.java 与 DepartmentMapper.xml,测试用例代码见DepartmentMapperTest.java。

    三、前端页面的搭建

    前端页面实现的最终效果如下。
    主页面:
    Alt text

    员工操作页面(部门操作页面类似):
    这里写图片描述
    (点击图片查看)

    最后加上一个登陆页面(比较简单的页面加上最简单的登录判断):
    这里写图片描述
    (点击图片查看)

    主要就是采用Bootstrap3去搭建这个前端页面,然后再利用SSM框架+JSP完成从前端到后端的整个流程。
    下面首先Bootstrap3去搭建前端页面。

    1 主页面的静态搭建

    主页面的HTML代码实现放在webapp/static/html/hrms_main.html,(此处仅仅为了方便查看和参考)。
    整个主页面完成后,分别将其中公共部分的代码提取出来,如导航栏,左侧栏,尾部这3个部分都属于公共部分,
    分别见hrms_head.html、hrms_foot.html、hrms_leftsidebar.html三个部分。

    2 公共页面的JSP实现及分层

    下面将上述公共部分的HTML代码用JSP实现,详细见WEB-INF/jsp/commom目录下的head.jsp、foot.jsp、leftsidebar.jsp。

    然后实现主页面的内容,主要包括三个公共部分(导航栏+左侧栏+尾部+轮播部分),实现效果如下:
    这里写图片描述
    (点击图片查看)

    新建main.jsp,将上述三个公共部分的代码用
    <<%@ include file="./commom/xx.jsp"%>>引入,再用Bootstrap实现轮播图部分即可,具体实现见main.jsp中代码。

    3 员工操作/部门操作的静态页面实现

    员工操作页面与主页面3个公共部分相同,不同之处在于中间部分展示的是员工信息的表格显示,而主页面是一个轮播图。
    这里写图片描述
    (点击图片查看)

    下面就将实现employeePage的页面,详细代码见employeePage.jsp(即将main.jsp中的轮播部分换成员工表单显示部分即可)。

    (为了方便对比与查看,将实现的HTML部分代码留在了项目目录中,
    实现的HTML代码见WEB-INF/static/html/hrms_employee.html。
    相应的部门显示的页面类似,
    实现的HTML代码见WEB-INF/static/html/hrms_department.html。
    然后将上述代码分别用JSP页面实现,即对应的employeePage.jsp和departmentPage.jsp。)

    四、员工CRUD操作前后端实现

    1 员工信息查询的数据显示

    页面搭建完成以后,就要将从后台获取到的数据展示在对应的页面中。页面数据展示部分主要实现是利用JSP的JSTL表达式和AJAX+jQuery,将从后台获取到的数据显示在页面对应的位置。

    由于部门操作与员工操作类似,下面主要讲解员工显示页面的实现。
    整个流程是从数据库中查询到数据后,放在SpringMVC的ModelAndView中,然后前端通过JSTL就可以解析获取到的结果集。
    (1)首先写一个JSON相关的操作类:JsonMsg.java。
    (2)业务操作:EmployeeService.java;
    (3)Controller类:EmployeeController.java;
    EmployeeController.java中接口"“emp/getEmpList?pageNo=XXX”"是根据输入的页码返回对应页数的数据,然后用JSTL表达式进行解析显示。

        @RequestMapping(value = "/getEmpList", method = RequestMethod.GET)
        public ModelAndView getEmp(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo){
            ModelAndView mv = new ModelAndView("");
            int limit = 5;
            // 记录的偏移量(即从第offset行记录开始查询),
            // 如第1页是从第1行(offset=(21-1)*5=0,offset+1=0+1=1)开始查询;
            // 第2页从第6行(offset=(2-1)*5=5,offset+1=5+1=6)记录开始查询
            int offset = (pageNo-1)*limit;
            //获取指定页数包含的员工信息
            List<Employee> employees = employeeService.getEmpList(offset, limit);
            //获取总的记录数
            int totalItems = employeeService.getEmpCount();
            //获取总的页数
            int temp = totalItems / limit;
            int totalPages = (totalItems % limit == 0) ? temp : temp+1;
            //当前页数
            int curPage = pageNo;
    
            //将上述查询结果放到Model中,在JSP页面中可以进行展示
            mv.addObject("employees", employees)
                    .addObject("totalItems", totalItems)
                    .addObject("totalPages", totalPages)
                    .addObject("curPage", curPage);
            return mv;
        }
    
    

    然后在employeePage.jsp页面上将后端的Modal中数据取出来进行显示。
    主要代码有:

    <tbody>
    	<c:forEach items="${employees}" var="emp">
    		 <tr>
    		     <td>${emp.empId}</td>
    		     <td>${emp.empName}</td>
    		     <td>${emp.empEmail}</td>
    		     <td>${emp.gender == "M"? "女": "男"}</td>
    		     <td>${emp.department.deptName}</td>
    		     <td>
    		         <a href="#" role="button" class="btn btn-primary">编辑</a>
    		         <a href="#" role="button" class="btn btn-danger">删除</a>
    		      </td>
    		</tr>
    	</c:forEach>
    </tbody>
    

    <div class="table_items">
    	当前第<span class="badge">${curPage}</span>页,共有<span class="badge">${totalPage}</span>页,总记录数<span class="badge">${totalItems}</span>条。
    </div>
    

    (4)分页栏的代码实现。
    分页栏完成效果如下:
    这里写图片描述
    (点击图片查看)

    关于分页栏需要完成的需求有:

    • 当前页需要激活(主要是页面上的1,2,3,4,5页);
    • 在首页(第1页)的时候,<< 禁止点击;
    • 在末页(最后一页)的时候,>>禁止点击;
    • 默认显示首页数据;
    • 首页,上一页,末页,下一页添加事件,显示对应页码数据
    • 中间页每一页,为其添加点击事件,并跳转到对应页面;
    • 左边信息栏中当前第X页需要根据点击的页数同步显示。

    主要的代码实现都是在前端使用jQuery+JSTL实现的。代码如下:

    <div class="panel-body">
    此处代码略
    </div>
    

    以及对应的jQuery实现上一页、下一页的操作:

    $(function () {
            //上一页
            var curPage = ${curPage};
            var totalPages = ${totalPages};
            $(".prePage").click(function () {
                if (curPage > 1){
                    var pageNo = curPage-1;
                    $(this).attr("href", "/emp/getEmpList?pageNo="+pageNo);
                }
            });
            //下一页
            $(".nextPage").click(function () {
                if (curPage < totalPages){
                    var pageNo = curPage+1;
                    $(this).attr("href", "/emp/getEmpList?pageNo="+pageNo);
                }
            });
        })
    

    最后在主页面中的员工信息加上一个指定链接,跳转到当前员工信息显示的页面(部门操作类似,不再赘述),以及点击公司LOGO的时候跳转到主页面。
    代码如下:
    head.jsp:

    <script type="text/javascript">
        //跳转到主页面
        $("#company_logo").click(function () {
            $(this).attr("href", "/hrms/main");
        });
    

    leftsidebar.jsp:

    <script type="text/javascript">
        //跳转到员工页面
        $(".emp_info").click(function () {
            $(this).attr("href", "/hrms/emp/getEmpList");
        });
        //跳转到部门页面
        $(".dept_info").click(function () {
            $(this).attr("href", "/hrms/dept/getDeptList");
        });
    </script>
    

    至此,员工信息的显示部分基本完成。

    2 员工添加

    接下来将会实现员工的新增操作,以及对新增数据的简单验证。
    完成的页面效果如下:
    这里写图片描述
    (点击图片查看)

    主要完成的需求有:

    • (1)点击左侧栏的员工新增按钮,弹出员工新增的模态框页面;
    • (2)对输入的姓名和邮箱格式进行验证,格式不正确,提示错误信息;
    • (4) 对输入的姓名进行姓名是否重复判断,重复则提示重复信息;
    • (5)添加成功后跳转到添加记录所在的页面(即最后一页);
    • (6)添加失败则提示错误信息。

    后台代码实现主要有:

        /**
         * 查询输入的员工姓名是否重复
         * @param empName
         * @return
         */
        @RequestMapping(value = "/checkEmpExists", method = RequestMethod.GET)
        @ResponseBody
        public JsonMsg checkEmpExists(@RequestParam("empName") String empName){
            //对输入的姓名与邮箱格式进行验证
            String regName = "(^[a-zA-Z0-9_-]{3,16}$)|(^[\\u2E80-\\u9FFF]{2,5})";
            if(!empName.matches(regName)){
                return JsonMsg.fail().addInfo("name_reg_error", "输入姓名为2-5位中文或6-16位英文和数字组合");
            }
            Employee employee = employeeService.getEmpByName(empName);
            if (employee != null){
                return JsonMsg.fail().addInfo("name_reg_error", "用户名重复");
            }else {
                return JsonMsg.success();
            }
        }
    
        /**
         * 新增记录后,查询最新的页数
         * @return
         */
        @RequestMapping(value = "/getTotalPages", method = RequestMethod.GET)
        @ResponseBody
        public JsonMsg getTotalPage(){
            int totalItems = employeeService.getEmpCount();
            //获取总的页数
            int temp = totalItems / 5;
            int totalPages = (totalItems % 5 == 0) ? temp : temp+1;
            return JsonMsg.success().addInfo("totalPages", totalPages);
        }
    
        /**
         * 新增员工
         * @param employee 新增的员工信息
         * @return
         */
        @RequestMapping(value = "/addEmp", method = RequestMethod.POST)
        @ResponseBody
        public JsonMsg addEmp(Employee employee){
            int res = employeeService.addEmp(employee);
            if (res == 1){
                return JsonMsg.success();
            }else {
                return JsonMsg.fail();
            }
        }
    

    前端代码见employeeAdd.jsp。
    主要是jQuey的操作,很多操作可以封装成一个函数进行调用,例如错误信息的显示。本文为了便于查看,没有进行封装。

    3 员工更改

    员工修改操作完成页面如下:
    这里写图片描述
    这里写图片描述
    (点击图片查看)

    更改主要完成的需求有:

    • (1) 获取点击修改员工的id与name;
    • (2) 根据id或name查询出对应员工信息进行回显;
    • (3) 回显部门列表;
    • (4) 进行修改,对修改的邮箱格式进行判断;
    • (5) 点击更新按钮,发送AJAX请求到后台进行保存;
    • (6)更改成功后跳转到当前更改页面。

    后台代码实现主要有:

        /**
         * 更改员工信息
         * @param empId
         * @param employee
         * @return
         */
        @RequestMapping(value ="/updateEmp/{empId}", method = RequestMethod.PUT)
        @ResponseBody
        public JsonMsg updateEmp(@PathVariable("empId") Integer empId,  Employee employee){
            int res = employeeService.updateEmpById(empId, employee);
            if (res != 1){
                return JsonMsg.fail().addInfo("emp_update_error", "更改异常");
            }
            return JsonMsg.success();
        }
    

    前端页面+jQuery代码见:employeeUpdate.jsp

    4 员工删除

    员工删除操作完成页面如下:
    这里写图片描述
    (点击图片查看)

    删除主要完成的需求有:

    • (1)弹出确认框:是否删除XX信息;
    • (2)发送AJAX请求,执行删除操作;
    • (3)删除成功后,跳转到当前页。

    后台代码:

        /**
         * 员工删除操作
         * @param empId
         * @return
         */
        @RequestMapping(value = "/deleteEmp/{empId}", method = RequestMethod.DELETE)
        @ResponseBody
        public JsonMsg deleteEmp(@PathVariable("empId") Integer empId){
            int res = employeeService.deleteEmpById(empId);
            if (res != 1){
                return JsonMsg.fail().addInfo("emp_del_error", "员工删除异常");
            }
            return JsonMsg.success();
        }
    

    前端页面代码见employeePage.jsp:

        <!-- ==========================员工删除操作=================================== -->
        $(".emp_delete_btn").click(function () {
            var curPage = ${curPage};
            var delEmpId = $(this).parent().parent().find("td:eq(0)").text();
            var delEmpName = $(this).parent().parent().find("td:eq(1)").text();
            if (confirm("确认删除【" + delEmpName+ "】的信息吗?")){
                $.ajax({
                    url:"/hrms/emp/deleteEmp/"+delEmpId,
                    type:"DELETE",
                    success:function (result) {
                        if (result.code == 100){
                            alert("删除成功!");
                            window.location.href="/hrms/emp/getEmpList?pageNo="+curPage;
                        }else {
                            alert(result.extendInfo.emp_del_error);
                        }
                    }
                });
            }
        });
    

    至此,SSM项目的增删改查操作也基本完成,部门操作与上类似,本文不再赘述,感兴趣的可以略看Department相关操作的代码。

    5 登录页面

    最后,为求项目的完整性,加上一个登陆页面,实现的效果
    图如下:
    这里写图片描述
    (点击图片查看)

    后台主要做了一个简单的登录验证,代码见LoginController.java:

        /**
         * 登录:跳转到登录页面
         * @return
         */
        @RequestMapping(value = "/login", method = RequestMethod.GET)
        public String login(){
            return "login";
        }
    
        /**
         * 对登录页面输入的用户名和密码做简单的判断
         * @param request
         * @return
         */
        @RequestMapping(value = "/dologin", method = RequestMethod.POST)
        @ResponseBody
        public JsonMsg dologin(HttpServletRequest request){
            String username = request.getParameter("username");
            String password = request.getParameter("password");
            System.out.println(username + password);
            if (!"admin1234".equals(username + password)){
                return JsonMsg.fail().addInfo("login_error", "输入账号用户名与密码不匹配,请重新输入!");
            }
            return JsonMsg.success();
        }
    
        /**
         * 跳转到主页面
         * @return
         */
        @RequestMapping(value = "/main", method = RequestMethod.GET)
        public String main(){
            return "main";
        }
    
        /**
         * 退出登录:从主页面跳转到登录页面
         * @return
         */
        @RequestMapping(value = "/logout", method = RequestMethod.GET)
        public String logout(){
            return "login";
        }
    
    

    前台页面见login.jsp代码;以及退出登录按钮的操作见head.jsp:

    //账号退出
    $(".hrms_logout").click(function () {
      window.location.href = "/hrms/logout";
    });
    

    注:
    容器配置:
    在这里插入图片描述

    五、项目代码下载

    最后,将本次项目的代码上传到我的github当中,想要下载项目源码的话:戳这里
    如果觉得对你有帮助别忘了在我的github上随手点个star,THX!

    If any problem, contact me with QQ : 1032335358.(请注明来源于CSDN)

    2018/03/09 in NJ.


    【页面404 fix】 - fix in 2019/01/31

    这段时间比较忙,很多同学的评论都没有来得及回复,很是抱歉。
    看了下评论,基本上都是登录无反应 和 点击页面404的问题,404一般是绝对路径的问题,可以在代码中加上绝对路径就不会出错。
    在配置容器的时候,只要点上如下配置,即可解决上述问题。
    在这里插入图片描述

    展开全文
  • 信息系统项目管理师 - 项目人力资源管理 规划人力资源管理 组建项目团队 建设项目团队 管理项目团队 信息系统项目管理师 - 项目人力资源管理 规划人力资源管理 组建项目团队 建设项目团队 管理...

    信息系统项目管理师 - 项目人力资源管理

    规划人力资源管理

    组建项目团队

    建设项目团队

    管理项目团队

    这里写图片描述

    版权声明:转载必须注明本文转自 East196 的博客:http://blog.csdn.net/east196

    展开全文
  • 项目人力资源管理

    千次阅读 2016-12-22 15:26:40
    项目人力资源管理是指有效地发挥每一个参与项目人员作用的过程,包括组织和管理项目团队所需的所有过程。 人力资源管理的主要过程内容有: 1.组织计划编制。识别项目中角色、职责和回报关系,形成文档,包含人员...

    项目人力资源管理的定义和描述

    项目人力资源管理是指有效地发挥每一个参与项目人员作用的过程,包括组织和管理项目团队所需的所有过程。

    人力资源管理的主要过程内容有:

    1.组织计划编制。识别项目中角色、职责和回报关系,形成文档,包含人员配备管理计划。

    2.组建项目团队。获取项目的人力资源。

    3.项目团队建设。提高个人和团队技能,改善项目绩效。

    4.管理项目团队。跟踪个人和团队绩效、提供反馈、解决问题、协调各种变更以提高项目绩效。

    项目的人力资源包括所有和项目有关的干系人。


    人力资源计划编制

    输入 工具与技术 输出
    1.活动资源估计
    2.环境和组织因素
    3.项目管理计划
    1.组织结构图和职位描述
    2.人资资源模板
    3.人际网络
    4.组织理论
    1.角色和职责
    2.项目的组织结构图
    3.人员配备管理计划
    输入

    1.活动资源估计。根据资源估计来确定人力资源

    2.环境和组织因素。根据目前的组织结构、技术层面、人员层面的交互定义项目的角色和职责

    3.项目管理计划。对项目管理活动的描述

    工具与技术

    1.组织结构图和职位描述。常用有三种形式的描述:层次结构图、矩阵图、文本格式 ,可能还有额外附带的通讯录信息。层次机构图是传统的组织结构图,由上至下的描述团队成员的角色和关系。矩阵图表示要完成的工作和团队成员之间的联系,矩阵的格式有称表格,可以使每个成员看到和自己相关的所有活动和某个活动的所有成员。文本格式可以详细描述团队成员的职责,并不断的更新。项目计划的其他部分也需要专门的人力资源,例如风险,质量等。

    2.人力资源模板。基于历史仙姑的组织结构图和职责描述生成

    3.人际网络。通过组织或企业内的非正式人际交流理解一些政治因素或人际因素对管理方法的影响

    4.组织理论。组建组织的理论。

    输出

    1.角色和职责。必须涉及:角色、权利、职责、能力

    2.项目的组织结构图。组织结构图以图形表示项目的汇报关系。

    3.人员配备管理计划。描述人力资源何时被需求以及怎样被满足。涉及的内容:人员获取、时间表、人力资源释放标准、培训需求、认可和奖励、遵从某些约定、安全性。


    输入 工具与技术 输出
    1.角色和职责
    2.项目的组织结构图
    3.人员配备管理计划
    4.环境和组织因素
    5.组织过程资产
    1.事先分派
    2.谈判
    3.采购
    4.虚拟团队
    1.项目人员分配
    2.资源日历
    3.人员配备管理计划(更新)
    4.资源可用性
    输入

    1.角色和职责。定义了项目需要的技能和能力

    2.项目的组织结构图。提供了项目所需人员的概貌。

    4.环境和组织因素。管理人员时需要考察:能力、经验、兴趣、可用性、成本

    工具与技术

    1.事先分派。某些情况下,项目团队成员会事先分派到项目上。

    2.谈判。大多数项目中,人员的分派需要通过谈判。稀缺资源或优秀人员需要如此。

    3.采购。缺少足够内部资源时采用

    4.虚拟团队。虚拟团队是拥有共同目标,履行各自职责但很少时间或没时间面对面开会的人员团队。

    输出

    2.资源日历。人力资源日历

    3.人员管理计划(更新)。反馈更新

    4.资源可用性。描述人力资源的可用性信息


    团队建设

    项目团队建设权利满足下面两个目标:

    1.提高项目团队成员的个人技能,以提高他们完成项目活动的能力

    2.提高项目团队成员之间的信任感和凝聚力,以通过更好的团队合作提高工作效率。

    项目团队的两个鲜明的特点:1.个体成员有共同的工作目标;2.成员需要协同工作

    优秀团队建设经历的阶段:

    1.形成期,团队的个体成员转变为团队成员,开始形成共同目标

    2.震荡期,团队成员开始执行分配的任务,遇到困难,遭遇现实。

    3.正规期,团队经历磨合,成员开始磨合,管理人员能够确立正确的关系。

    4.表现期,团队开始默契,形成向心力。

    团队建设的关键:1.激励理论,2.影响和能力,3.提高有效性

    输入 工具与技术 输出
    1.项目人员分配
    2.人员配备管理计划
    1.一般管理技能
    2.培训
    3.团队建设活动
    4.基本原则
    5.同地办公(集中)
    6.认可和奖励
    1.团队绩效评估
    输入

    2.人员配备管理计划。包含发展项目团队的培训策略和计划。

    工具与技术

    1.一般管理技能。管理的通用技巧

    2.培训。包含了所有可以增进项目团队成员能力的活动。

    3.团队建设活动。团队活动

    4.基本原则。团队为可以接受的行为建立一定的规则。

    5.同地办公(集中)。指将大量或大多数重要的项目成员置于同一工作地点,增强作为一个团队的能力。

    6.认可和奖励。对开发过程涉及的正面行为的认可和奖励

    输出

    1.团队绩效评估。对团队效率的评估包含以下方面:1.提高个人技能,2.提高团队能力,3.降低员工流动率


    项目团队建设的建议:

    1.对团队成员有耐心、友好,认为他们是最好的

    2.解决问题最重要

    3.召开经常性、有效的会议。

    4.将团队建设加入到项目计划中,帮助团队成员和项目干系人的相互了解

    5.教育培养团队成员

    6.认可个人和团队的成绩

    7.尽早进行项目团队建设


    管理项目团队

    输入 工具与技术 输出
    1.项目人员分配
    2.角色和职责
    3.项目的组织结构图
    4.人员配备管理计划
    5.绩效报告
    6.团队绩效评估
    7.组织过程资产
    1.观察和对话
    2.项目绩效评估
    3.冲突管理
    4.日志问题
    1.人员配备管理计划(已更新)
    2.变更请求
    3.组织过程资产(更新)
    输入

    5.绩效报告。是对应于项目计划和进度安排向项目团队提供的绩效反馈。

    6.团队绩效评估。项目绩效评估结果可以辅助做出关于评价、奖励和纠正措施的决策。

    7.组织过程资产。项目管理团队利用组织政策、程序、系统为员工在项目进行过程中提供奖励。

    工具与技术

    1.观察和对话。目的是团队上下在工作和思想上保持一致。

    2.项目绩效评估。依赖于项目的持续时间、复杂度、组织原则、员工的合约要求和定期沟通的数量和质量。

    3.冲突管理。好的冲突管理有助于提高生产效率并建立积极的工作关系。冲突产生的原因:a. 项目的高压环境、b. 责任模糊、c. 多个上级的存在 d. 新技术的流行对项目采用现有技术的冲击 。冲突的解决办法:a.冲突方一起积极的寻求资源和解决办法,共同解决冲突,最有效的方法;b.妥协,都退让一些;c.求同存异,气氛友好但是避过了冲突的根源;d.搁置;e.强迫,强势方主导,非迫不得已不可用

    4.问题日志。记录问题的发现解决信息。

    输出

    1.人员配备管理计划(已更新)。采取纠正措施导致更新

    2.变更请求。无法控制的人力资源变动

    3.组织过程资产(更新)。更新内容:问题解决、绩效评估输入、经验教训文档。人力资源方面的经验教训包括以下几个部分:以模板形式保存组织结构图、职位描述和员工管理计划;有特殊用途的团队基本原则、冲突管理技巧和奖罚;被证实非常成功的虚拟团队、集中办公、协商、采购、培训和团队建设过程;在项目执行过程中发现的专业技能。


    项目经理有两种方法可以最有效地使用项目团队中的成员:资源负荷和资源平衡。

    资源负荷是指在特定时间内现有的进度计划需要的各种资源数量。在某个员工或者小组出线资源超负荷是,项目经理需要调整进度表,使资源充分利用或者充分利用项目的浮动时间,达到资源平衡。资源平衡的目的是更加合理地分配使用资源,提高资源有效利用率。当资源平衡时,资源利用也达到了最佳状态。资源平衡的优点:减少管理成本;资源利用率提高,使用成本降低;减少资源不平衡导致的问题;提高团队士气。


    项目人力资源管理就是项目中涉及到人的管理,更多的集中在了项目内部的团队成员管理上。它包括研究项目需要多少人,人员介入的计划,获取这些人,管理这些人为项目工作,解决这些人在为项目工作中遇到的问题,协调这些人之间的关系。为了这些,要采取的一些方法,遵循的原则,大概就是这样了。这是我的体会了。


    选择性考察、论述性考察、客观性考察。

    展开全文
  • 项目人力资源管理·十一

    千次阅读 2017-05-04 16:26:03
    第十三章 项目人力资源管理 关键词:项目人力资源管理,马斯洛需求模型,赫茨伯格双因素理论,领导与管理,项目团队建设和项目团队管理 1 项目人力资源管理概述 项目人力资源管理包括制定人力资源管理计划、项目...

    第十三章 项目人力资源管理

    关键词:项目人力资源管理,马斯洛需求模型,赫茨伯格双因素理论,领导与管理,项目团队建设和项目团队管理

    1 项目人力资源管理概述

    项目人力资源管理包括制定人力资源管理计划、项目团队组建、团队建设与管理的各个过程,不但要求充分发挥参与项目的个人的作用,包括所有与项目有关的人员——项目负责人、客户、为项目做出贡献的个人及其它人员,也要求充分发挥项目团队的作用。
    项目人力资源管理内容:项目人力资源管理计划编制、组建项目团队、项目团队建设、管理项目团队。

    项目人力资源管理有关概念
    动机——结构图
    责任——把该做的工作做好就是一个员工的责任
    任务分配矩阵——职责分配矩阵(RAM)被用来表示需要完成的工作由哪个团队成员负责。或需要完成的工作与哪个团队成员有关。
    专门技术——项目经理所具有的其他人觉得很重要的一些专业技术知识
    员工绩效——员工绩效是指公司的雇员工作的成绩和效果。

    2 项目人力资源计划编制

    (1)项目人力资源计划编制工作内容
    项目人力资源计划编制过程也会制定一个项目人员配备管理计划,该计划确定何时、如何招聘项目所需的人力资源、何时释放人力资源、确定项目成员所需的培训、奖励计划、是否必须遵循某些约定、安全问题以及人员配备管理计划对组织的影响等。
    (2)项目人力资源计划编制的工作方法
    组织结构图和职位描述:层次结构、矩阵图、文本格式、项目计划的其他部分。
    人力资源模板
    人际网络
    (3)项目人力资源计划编制的工作成果
    角色和职责的分配
    项目的组织结构图
    人员配备管理计划

    3 项目团队组织建设

    (1)获取人力资源
    项目人力资源计划:角色和职责、项目的组织结构图、人员配备管理计划。
    环境的组织因素:个人能力、兴趣、经验、可用性、成本
    组织过程资产:参与项目的一个或多个组织可能已有管理员工工作分配的政策、指导方针或过程。这些组织的人力资源部门可以帮助招募、招聘或者培训项目团队成员。
    组建项目团队的工作成果:项目人员分配、资源日历、更新的项目管理计划。

    4 现代激励理论体系和基本概念

    (1)马斯洛需要层次理论

    是亚伯拉罕·马斯洛(Abraham Maslow)在1943年首先提出的。

    图1 马斯洛需求层次模型
    生理需要:对衣食住行等的需要;
    安全需要:包括对人身安全、生活稳定、不致失业以及免遭痛苦、威胁或疾病等的需要;
    社会交往的需要:包括对友谊、爱情以及隶属关系的需要。
    自尊的需要:指自尊心和荣誉感;
    自我实现的需要:指成就感。
    马斯洛需要层次理论的三个假设:
    人要生存他的需求能够影响他人的行为,只有未被满足的需要能够影响其行为,已得到满足的需要不再影响其行为;
    人的需求按重要性从低到高排成金字塔形状;
    当人的某一级需要得到满足后,才会追求更高一级的需要,如此逐级上升,成为他工作的动机。

    (2)赫茨伯格的双因素理论

    激励因素——保健因素理论,是美国的弗雷德里克·赫茨伯格(Victor Vroom)提出来的,被称为双因素理论。
    第一类是保健因素(hygiene factor):这些与工作环境或条件有关的、能防止人们产生不满意情感的一类因素,包括工作环境、工资薪水、公司政策、个人生活、管理监督、人际关系等。当保健因素不健全时,人们就会产生不满意感。但即使保健因素很好时,也仅仅可以消除工作中的不满意,却无法增加人们对工作的慢乙肝,所以这些因素是无法起到激励作用的。
    第二类是激励因素(motivator):这些因素是与员工的工作本身和工作内容有关的、能促使人们产生工作满意感的一类因素,是高层次的需要,包括成就、承认、工作本身、责任、发展机会等。当激励因素缺乏时,人们就会缺乏进取心,对工作无所谓,但一旦具备了激励因素,员工则会感觉到强大的激励力量而产生对工作的满意感,所有只有这一类因素才能真正的激励员工。

    (3)期望理论

    维克多·弗洛姆提于1964年在《工作与激励》中提出。
    期望理论认为:
    一是目标效应,指实现该目标对个人有多大价值的主观判断。如果实现该目标对个人来说,很有价值,个人的积极性就高;反之,积极性则低。
    二是期望值,指个人对实现该目标可能性大小的主管估计。只有个人认为实现该目标的可能性很大,才会去努力争取实现,从而在较高程度上发挥目标的激励作用;如果个人认为实现该目标的可能性很小,甚至没有可能,目标激励作用择校,以致完全没有。

    (4) X理论和Y理论

    道格拉斯·麦格雷戈(Douglas M·McGregor),在1957年提出了X理论——Y理论。
    X—Y理论(Theory X-Theory Y)主要是对人性的根本性理解。一个是性本恶——X理论,一个是性本善——Y理论。对X理论和Y理论的概括,是道斯·麦格里格(Douglas McGregor)在学术上最重要的贡献。面对纷繁芜杂的管理界,麦格里格一针见血地指出,每个管理决策和管理措施的背后,都有一种人性假设,这些假设影响乃至决定着管理决策和措施的制定以及效果。
    X理论假设:一般人的本性是懒惰的,工作越少越好,可能的话会逃避工作。大部分人对集体(公司,机构,单位或组织等)的目标不关心,因此管理者需要以强迫,威胁处罚,指导,金钱利益等诱因激发人们的工作源动力。一般人缺少进取心,只有在指导下才愿意接受工作,因此管理者需要对他们施加压力。
    Y理论假设:人们在工作上体力和脑力的投入就跟在娱乐和休闲上的投入一样,工作是很自然的事——大部分人并不抗拒工作。即使没有外界的压力和处罚的威胁,他们一样会努力工作以期达到目的——人们具有自我调节和自我监督的能力。人们愿意为集体的目标而努力,在工作上会尽最大的努力,以发挥创造力,才智——人们希望在工作上获得认同感,会自觉遵守规定。在适当的条件下,人们不仅愿意接受工作上的责任,并会寻求更大的责任。许多人具有相当高的创新能力去解决问题。在大多数的机构里面,人们的才智并没有充分发挥。 

    (5)领导与管理

    领导行为理论基本观点是:领导者应该知道要做什么和怎样做才能使工作更有效。、
    领导权变理论的基本观点:认为不存在一种普遍适用的、唯一的正确的领导方式,只有结合具体情境,因时、因地、因事、因人制宜的领导方式,才是有效的领导方式。

    (6) 影响和能力

    影响员工的九种方法:权力、任务分配、预算支配、员工升职、薪金待遇、实施处罚、工作挑战、专门技术、友谊。
    五种基本的权利如下:合法的权力、强制力、专家权力、奖励权力、感召权力。
    高效率具备的七种习惯:保持积极状态、从一开始就牢记结果、把最重要的事情放在最重要的位置上、考虑双赢、首先去理解别人然后再被别人理解、获得协同效应、“磨快锯子”。

    5 项目团队建设

    项目团队建设的主要目标:提高项目团队成员的个人技能,以提高他们完成项目的能力,与此同时降低成本,缩短工期,改进质量;提高项目团队成员之间的信任感和凝聚力,以提高士气,降低冲突,促进团队合作;创建动态的、团结合作的团队文化,以促进个人与团队的生产率、团队精神和团队协作,鼓励团队成员之间交叉哦培训和切磋以共享经验和知识。
    成功的项目团队的特点:一是团队的目标明确,成员清楚自己的工作队目标的贡献;二是团队的组织结构清晰,岗位明确;三是有成文或习惯的工作流程和方法,而且流程简明有效;四是项目经理对团队成员有明确的考核和评价标准,工作结果公正公开、赏罚分明;五是共同制订并遵守的组织纪律;六是协同工作,也就是一个成员工作需要依赖另一成员的成果,善于总结和学习。
    项目团队建设的五个阶段:形成极端、震荡阶段、规范阶段、发挥阶段、结束阶段。
    项目团队建设活动:通用管理技能、培训、团队建设活动、基本规则、集中办公、奖励与表彰。
    项目团队绩效评估的主要内容和作用:技能的改进、能力和情感方面的改进、团队成员流动率降低、增加团队成员的凝聚力。

    6 项目团队管理

    (1)项目团队管理的工作内容
    跟踪个人和团队的绩效,提供反馈,解决问题和协调变更,以提高项目的绩效。项目管理团队必须观察团队的行为、管理冲突、解决问题和评估团队成员的绩效。实施项目团队管理后,应将项目人员配备管理计划进行更新,提出变更请求、实现问题的解决,同时为组织绩效评估提供依据,为组织的数据库增加新的经验教训。
    (2)项目团队管理的工作方法
    观察和交谈、项目绩效评估、问题清单、冲突管理。
    冲突管理的六种方法:
    问题解决(Problem Solving/Confronation)
    合作(Collaboration)
    强制(Forcing)
    妥协(Compromising)
    求同存异(Smoothing/Accommodating)
    撤退(Withdrawing/Avoiding)
    (3)项目团队管理的工作成果
    更新的项目管理计划
    变更请求

    7 人力资源的负荷和平衡的调节

    资源负荷显示了在特定时段现有进度计划所需的个体资源的数量。资源直方图常被用来表示资源负荷,同时也可用来识别资源超负荷的情况。
    资源平衡就是一种用来解决资源冲突的工具。经过平衡的资源可以减少管理工作、降低成本、减少成员、和成本计算等问题,而且经常可以提高士气。
    资源平衡的目的主要是更加合理的分配使用资源,使项目的资源达到最有效的利用,资源平衡的时候,资源的利用也就达到了最佳的状态。

    参考文献

    薛大龙,刘春淼.系统集成项目-管理工程师教程[M].电子工业出版社2012.7:1-382
    展开全文
  • PMP项目管理-项目人力资源管理(5)

    千次阅读 2019-05-30 15:54:54
    项目人力资源管理包括组织、管理与领导项目团队的各个过程。 全员尽早地参与项目规划与决策 项目团队管理:也成为项目核心团队、执行团队或领导团队 两步组建:PM被任命后,行程核心团队;项目管理计划被批准后,...
  • 第9章 项目人力资源管理9.1 规划人力资源管理规划人力资源管理是识别和记录项目角色、职责、所需技能、报告关系,并编制人员配备管理计划的过程。本过程的主要作用是,建立项目角色与职责、项目组织图,以及包含人员...
  • 项目人力资源管理就是有效地发挥每一个参与项目人员作用的过程。人力资源管理包括组织和管理项目团队所需的所有过程,项目团队成员是项目的人力资源。 项目临时性意味着项目内个人之间和组织之间的关系都是暂时的。...
  • 本篇主要内容如下: · 人力资源管理的概念。 · 人力资源管理过程概述。 · 项目团队建设。 · 管理项目团队 ...· 项目人力资源管理重点知识点总结。 · 项目人力资源管理各过程详述。
  • 项目经验--人力资源系统项目

    千次阅读 热门讨论 2016-05-23 11:49:11
     人力资源系统项目一个CS版的开发项目,主要需求来自于廊坊市人社局及其下属单位,大大小小将近200家公司单位。作为一个要上线的项目,显然第一次做上线的项目的我们还是想的有些不周全的地方。在此还是要感谢郑...
  • 十四. 项目人力资源管理

    千次阅读 2018-07-18 10:25:22
    项目人力资源管理 (上午 2分 案例分析 多年考次 论文隔4到5次考次) 1. 人力资源管理过程 2. 规划人力资源管理 2.1 工具和技术 OBS也叫组织分解结构,它把WBS分解到了部门 RAM(上图红色框...
  • 项目人力资源管理

    千次阅读 2018-07-12 15:16:21
    2016年10月我参与了本公司为我市人民医院开发的基于 rfid 的医疗信息管理系统,在该项目中担任项目经理。该项目投资 800 万,建设工期为 1 年,该项目是为了实现看病流程自动化,药品智能化管理,提高医院工作效率,...
  • 11.1项目人力资源管理有关概念 l 动机、权力、责任、绩效  动机:促使人从事某种活动的念头,是促使人做某种活动的种心理驱动;  权力:power  责任:把该做的工作做好;  绩效:指公司的雇员工作的成绩...
  • Java Web项目 慧心人力资源管理系统

    千次阅读 多人点赞 2021-04-02 10:53:49
    题目:慧心人力资源管理系统 文档下载:https://download.csdn.net/download/weixin_44893902/16336711 实现代码下载: 目录 、语言和环境 二、实现功能 三、数据库设计 四、具体要求及推荐实现步骤 五、...
  • 【信息系统项目管理师】论信息系统项目的人力资源管理(论文攻略...2014年的人力资源管理,在论文中需要说明项目人力资源管理的含义与作用。2018年的人力资源论文,需要说明遇到的问题和采取的措施。但这三论文中...
  • 第11章 项目人力资源管理 1.相关概念:权力、责任、绩效、人力资源管理、项目人力资源管理 2.主要过程:  人力资源计划、项目团队重建、项目团队建设、项目团队管理  团队成员应该参与大多数项目计划和决策...
  • 项目人力资源调配的难题

    千次阅读 2011-04-19 22:27:00
    多项目管理是部门总经理、项目总监日常工作的一部分。其中,多项目人力资源管理是一个关键环节。本文讨论在高层经理与项目经理中解决这些问题的一些普遍性思路。本文发表在《程序员》杂志2010年第7期。
  • 人力资源管理系统开发----项目构建

    千次阅读 2017-12-04 10:49:55
    前言我现在是一个大三的学生了,学的是软件工程,这个学期的课程设计是数据库设计,就是让我们实现一个人力资源管理系统。其中人力资源管理系统包括人事管理和薪酬管理。我这次想用播客的形式记录下我这次的课程设计...
  • 项目人力资源管理 试题分析

    千次阅读 2017-02-20 22:32:00
    试题 12关于项目管理环境中的冲突管理的叙述中,(12)是正确的。 (12) A.过建立团队基本规则及实施可行的项目管理经验,冲突是可以避免的 B.解决冲突最理想方法是求同存异 C.冲突管理的最终目的是消除意见分歧 ...
  • PMBOK中人力资源计划部分的工具RACI表 RACI中Responsible与Accountable的区别
  • 项目管理中的人力资源管理模型

    千次阅读 2008-06-18 17:08:00
    项目管理中的人力资源管理模型 项目管理... 项目管理分为时范围管理、风险管理、沟通管理、质量管理、时间管理、成本管理、人力资源管理、采购管理和整合管理九大管理,是一个完整的知识体系。在项目管理中“人”的
  • 人力资源管理

    千次阅读 2011-07-26 20:57:02
    1、人力资源计划编制 输入:活动资源估计、环境和组织因素、项目管理计划 工具和技术:组织结构图和职位描述、人力资源模板、人际网络、组织理论 输出:角色和职责、项目的组织结构图、人员配备管理计划   2、组建...
  • 1、项目人力资源管理包括组织、管理与领导项目团队的各个过程。  项目管理团队是项目团队部分,负责项目管理和领导活动,也称为核心团队、执行团队或领导团队。 2、实现过程  规划过程组:规划人力资源管理 ...
  • 项目实训 - 人力资源管理系统,需要实现的功能有:浏览应聘信息,添加应聘信息,并且可以对信息进行修改。主界面: 首先需要建立数据库:用于数据的动态获取。 CREATE DATABASE PersonManagerDB DEFAULT CHARACTER...
  • 项目开发心得之人力资源配置

    千次阅读 热门讨论 2008-04-09 08:20:00
    从2007年11月开始第一次负责一个网站(www.ywt100.com)的开发,到目前大致的框架及主体功能已基本完成,虽然自己感觉不是很满意,但第一次当... 一个B/S项目从立项开发就需要根据项目的规模、经费的预算、应用的技术
  • 第九章 项目人力资源管理(上)1.什么是项目人力资源管理管理与领导项目团队的各个过程。尽管项目团队成员被分派了特定的角色和职责,但让他们全员参与项目规划和决策仍是有益的。2.项目人力资源管理的各个过程规划...
  • 1[论文]论信息系统项目人力资源管理 随着信息系统集成项目不断地向智能化、规模化发展,项目团队成员呈现高学历、高专业化分工以及年轻化的趋势。如何管理好项目团队成员,并充分调动他们的积极性,成为当前项目...
  • 估算一个软件项目成本时如何正确估算直接人力成本?直接人力成本的计算有哪些方式?  在软件项目成本估算过程中,应根据工作量估算结果和项目人员直接人力成本费率估算直接人力成本。通常在早期估算时,可根据平均...
  • PMBOK(第五版)第九章项目人力资源管理部分的知识点梳理。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,471
精华内容 31,788
关键字:

一个项目需要哪些人力资源