这个项目前面的Activity这个技术介绍可以不用看,可以直接看第二天的IHRM的系统介绍和后面的技术简介等信息

1 初识SaaS

1.1 云服务的三种模式

1.1.1 IaaS(基础设施即服务)

IaaS(Infrastructure as a Service),即基础设施即服务。提供给消费者的服务是对所有计算基础设施的利用,包 括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程 序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得 有限制的网络组件(例如路由器、防火墙、负载均衡器等)的控制

1.1.2 PaaS(平台即服务)

PaaS(Platform-as-a-Service),即平台即服务。提供给消费者的服务是把客户采用提供的开发语言和工具(例如 Java,python, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。客户不需要管理或控制底 层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程 序的托管环境配置

1.1.3 SaaS(软件即服务)

SaaS(Software-as-a-Service),即软件即服务。提供给消费者完整的软件解决方案,你可以从软件服务商处以租 用或购买等方式获取软件应用,组织用户即可通过 Internet 连接到该应用(通常使用 Web 浏览器)。所有基础结 构、中间件、应用软件和应用数据都位于服务提供商的数据中心内。服务提供商负责管理硬件和软件,并根据适当 的服务协议确保应用和数据的可用性和安全性。SaaS 让组织能够通过最低前期成本的应用快速建成投产。

1.2 SaaS的概述

1.2.1 Saas详解 SaaS(Software-as-a-service)的意思是软件即服务。简单说就是在线系统模式,即软件服务商提供的软件在线服 务。

1.2.3 Saas与传统软件对比

2 SaaS-HRM 需求分析

2.1 什么是SaaS-HRM

SaaS-HRM是基于saas模式的人力资源管理系统。他不同于传统的人力资源软件应用,使用者只需打开浏览器即可 管理上百人的薪酬、绩效、社保、入职离职。

2.2 原型分析法

原型分析的理念是指在获取一组基本需求之后,快速地构造出一个能够反映用户需求的初始系统原型。让用户看到 未来系统的概貌,以 便判断哪些功能是符合要求的,哪些方面还需要改进,然后不断地对这些需求进一步补充、细 化和修改。依次类推,反复进行,直到用户满意为止并由此开发出完整 的系统。

2.3 UML的用例图

2.3.1 UML统一建模语言

Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一 个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到 规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高 潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的 发展,并最终统一为大众所接受的标准建模语言。UML中包含很多图形(用例图,类图,状态图等等),其中用例 图是最能体现系统结构的图形

2.3.2 用例图 用例图(use case)主要用来描述用户与用例之间的关联关系。说明的是谁要使用系统,以及他们使用该系统可以 做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,如泛 化、关联和依赖。它展示了一个外部用户能够观察到的系统功能模型图。

3 系统设计

3.1 开发方式 SaaS-IHRM系统采用前后端分离的开发方式

后端给前端提供数据,前端负责HTML渲染(可以在服务器渲染,也可以在浏览器渲染)和用户交互。双方通过文档的形 式规范接口内容

3.2 技术架构

(1) 前端技术栈 以Node.js为核心的Vue.js前端技术生态架构

(2) 后端技术栈 SpringBoot+SpringCloud+SpringMVC+SpringData(Spring全家桶)

3.3 系统结构

3.4 API文档 课程提供了前后端开发接口文档(采用Swagger语言进行编写),并与Ngin进行了整合。双击Nginx执行文件启动 后,在地址栏输入http://localhost:801 即可访问API文档

4 工程搭建

4.1 前置知识点的说明 Saas-HRM系统后端采用 SpringBoot+SpringCloud+SpringMVC+SpringData Saas-HRM系统前端采用 基于nodejs的vue框架完成编写使用element-ui组件库快速开发前端界面 学员应对以上前后端技术有初步的了解

4.2 开发环境要求

JDK1.8 数据库mysql 5.7 开发工具 idea 2017.1.2 maven版本3.3.9

构建初始化项目得架构类型

下面就是 简单构建一个公司得增删改查得操作,分别执行Controller,Service,Dao三层操作类型,然后在Dao层采用得得是JPA,在写dao接口得时候分别取集成JPA得另外两个接口久可以了

Dao层接口内容

/*** 自定义dao接口继承*      JpaRepository<实体类,主键>*      JpaSpecificationExecutor<实体类>*/
public interface CompanyDao extends JpaRepository<Company,String> ,JpaSpecificationExecutor<Company> {
}

Service层接口内容

 @Autowiredprivate CompanyDao companyDao;@Autowiredprivate IdWorker idWorker;/*** 保存企业*  1.配置idwork到工程*  2.在service中注入idwork*  3.通过idwork生成id*  4.保存企业*/public void add(Company company) {//基本属性的设置String id = idWorker.nextId()+"";company.setId(id);//默认的状态company.setAuditState("0");//0:未审核,1:已审核company.setState(1); //0.未激活,1:已激活companyDao.save(company);}/*** 更新企业*  1.参数:Company*  2.根据id查询企业对象*  3.设置修改的属性*  4.调用dao完成更新*/public void update(Company company) {Company temp = companyDao.findById(company.getId()).get();temp.setName(company.getName());temp.setCompanyPhone(company.getCompanyPhone());companyDao.save(temp);}/*** 删除企业*/public void deleteById(String id) {companyDao.deleteById(id);}/*** 根据id查询企业*/public Company findById(String id) {return companyDao.findById(id).get();}/*** 查询企业列表*/public List<Company> findAll() {return companyDao.findAll();}

Controller层接口

    //保存企业@RequestMapping(value="",method = RequestMethod.POST)public Result save(@RequestBody Company company)  {//业务操作companyService.add(company);return new Result(ResultCode.SUCCESS);}//根据id更新企业/*** 1.方法* 2.请求参数* 3.响应*/@RequestMapping(value = "/{id}",method = RequestMethod.PUT)public Result update(@PathVariable(value="id") String id, @RequestBody Company company ) {//业务操作company.setId(id);companyService.update(company);return new Result(ResultCode.SUCCESS);}//根据id删除企业@RequestMapping(value="/{id}",method = RequestMethod.DELETE)public Result delete(@PathVariable(value="id") String id) {companyService.deleteById(id);return new Result(ResultCode.SUCCESS);}//根据id查询企业@RequestMapping(value="/{id}",method = RequestMethod.GET)public Result findById(@PathVariable(value="id") String id) throws CommonException {//throw new CommonException(ResultCode.UNAUTHORISE);Company company = companyService.findById(id);Result result = new Result(ResultCode.SUCCESS);result.setData(company);return result;}//查询全部企业列表@RequestMapping(value="",method = RequestMethod.GET)public Result findAll() {//int i = 1/0;List<Company> list = companyService.findAll();Result result = new Result(ResultCode.SUCCESS);result.setData(list);return result;}

测试成功:

SAAS--01HRM系统概述与搭建环境相关推荐

  1. SAAS-HRM系统概述与搭建环境

    SAAS-HRM系统概述与搭建环境 学习目标: 理解SaaS的基本概念 了解SAAS-HRM的基本需求和开发方式掌握Power Designer的用例图 完成SAAS-HRM父模块及公共模块的环境搭建 ...

  2. 搭建环境_maven: 搭建工程: ssm整合: 搭建测试:

    2019独角兽企业重金招聘Python工程师标准>>> 搭建环境_maven: 搭建工程: ssm整合: 搭建测试: 搭建环境问题解决: 转载于:https://my.oschina ...

  3. java 取绝对值_Java实现一致性哈希算法,并搭建环境测试其负载均衡特性

    实现负载均衡是后端领域一个重要的话题,一致性哈希算法是实现服务器负载均衡的方法之一,你很可能已在一些远程服务框架中使用过它.下面我们尝试一下自己实现一致性哈希算法. 一. 简述一致性哈希算法 这里不详 ...

  4. putty php环境搭建,centos7(linux)系统下php搭建环境和创建laravel项目

    laravel-企业官网-搭建环境和创建laravel项目 购买centos7云服务器,再远程连接 1. 下载putty 输入服务器账号密码远程链接yum install -y wget && ...

  5. Hyperledger fabric1.4.0搭建环境

    Hyperledger fabric1.4.0搭建环境 原创牧竹子 最后发布于2019-05-11 21:10:20 阅读数 630  收藏 展开 Hyperledger fabric1.4.0搭建环 ...

  6. java窗口代码_Java系列教程day01——java的搭建环境

    day01--搭建环境变量&HelloWorld程序 1.注意听课,不要溜号,不要睡觉,不要游戏. 2.我的联系方式: QQ:79539705 3.整理笔记.绘制思维导图.完成作业.. 一.J ...

  7. Fanout交换器-搭建环境

    我们讲一下RabbitMQ中的第三种交换器,Fanout交换器,相比上两种我们讲过的交换器,最大的特点它是以广播的模式,来做消息的传递,我们来看一下这样的需求,我这里有一个订单服务,然后还有一个短信服 ...

  8. Topic交换器-搭建环境

    我们再来看另一个交换器的使用,Topic交换器的使用,Topic交换器也称之为主题交换器,他的特点是什么呢,是根据这个规则来匹配,是一个什么样的规则呢,咱们先看这个图,这个图和上面最大的区别就是,我的 ...

  9. RaDirect交换器-搭建环境

    我们看一下RabbitMQ交换器讲解,交换器在消息队列当中,是非常重要的一个环节,所以我们要重点的讲一下,我们先回顾一下在讲Rabbit原理的时候,我们提到了一个Exchange的关键组件,那么Exc ...

  10. 杰瑞服务器虚拟化,大家在Mac中开发PHP,是用虚拟机的方式还是直接在Mac下搭建环境...

    如题,本人想在mac下做PHP开发,想在本地看到实时效果,然后开发完后再部署到服务器上(CentOS),或者用SSH直接连接服务器VIM开发,但我是PHP新手,还是想用PHPStrom(刚买了个一年, ...

最新文章

  1. 【怎样写代码】偷窥高手 -- 反射技术(一):前期准备
  2. 安装Intel图像处理IPP库
  3. Microsoft StreamInsight 构建物联网
  4. python vs java的rsa加密
  5. 最长递增子序列 最长连续递增序列
  6. yunyang tensorflow-yolov3 NMS:non maximum suppression 非极大值抑制方法
  7. timerpickerview使用_详解iOS App中UIPickerView滚动选择栏的添加方法
  8. boost::graph模块实现从连接的平面图开始并添加边以使图最大平面化
  9. ASP.NET Core微服务(六)——【redis操作】
  10. python购物车典例_Python入门:购物车实例
  11. mysql error 1045 的解决方法
  12. 工作145:vue里面取消console和debugger
  13. 虎贲计算机二级视频解析百度云,详解虎贲T7520:5G为什么需要全场景覆盖增强技术?...
  14. java对日期设置时间和对日期加减周
  15. 使用Scylla进行OSINT信息收集
  16. 深度森林论文阅读笔记
  17. gridview隐藏列的方法
  18. Ubuntu 20.04 双系统安装过程(新手)
  19. Linux-4.4-x86_64 内核配置选项简介
  20. 图文并茂:超可爱的12星座猫

热门文章

  1. vue-socket.io 对IE浏览器(IE10+)的兼容性修复
  2. CompoundButton
  3. wow模型修改器_魔兽世界改模型 wow大脚模型修改器
  4. Gantt - attachEvent所有事件(归类、索引)
  5. 深度学习技术在遥感中应用的综述
  6. FS68001电动牙刷无线充电IC
  7. 【AI视野·今日CV 计算机视觉论文速览 第155期】Fri, 6 Sep 2019
  8. Wireshark软件使用教程
  9. 数字图像处理(冈萨雷斯)学习 第二章 数字图像基础
  10. IT英语4-计算机英语缩写术语