SAAS--01HRM系统概述与搭建环境
这个项目前面的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系统概述与搭建环境相关推荐
- SAAS-HRM系统概述与搭建环境
SAAS-HRM系统概述与搭建环境 学习目标: 理解SaaS的基本概念 了解SAAS-HRM的基本需求和开发方式掌握Power Designer的用例图 完成SAAS-HRM父模块及公共模块的环境搭建 ...
- 搭建环境_maven: 搭建工程: ssm整合: 搭建测试:
2019独角兽企业重金招聘Python工程师标准>>> 搭建环境_maven: 搭建工程: ssm整合: 搭建测试: 搭建环境问题解决: 转载于:https://my.oschina ...
- java 取绝对值_Java实现一致性哈希算法,并搭建环境测试其负载均衡特性
实现负载均衡是后端领域一个重要的话题,一致性哈希算法是实现服务器负载均衡的方法之一,你很可能已在一些远程服务框架中使用过它.下面我们尝试一下自己实现一致性哈希算法. 一. 简述一致性哈希算法 这里不详 ...
- putty php环境搭建,centos7(linux)系统下php搭建环境和创建laravel项目
laravel-企业官网-搭建环境和创建laravel项目 购买centos7云服务器,再远程连接 1. 下载putty 输入服务器账号密码远程链接yum install -y wget && ...
- Hyperledger fabric1.4.0搭建环境
Hyperledger fabric1.4.0搭建环境 原创牧竹子 最后发布于2019-05-11 21:10:20 阅读数 630 收藏 展开 Hyperledger fabric1.4.0搭建环 ...
- java窗口代码_Java系列教程day01——java的搭建环境
day01--搭建环境变量&HelloWorld程序 1.注意听课,不要溜号,不要睡觉,不要游戏. 2.我的联系方式: QQ:79539705 3.整理笔记.绘制思维导图.完成作业.. 一.J ...
- Fanout交换器-搭建环境
我们讲一下RabbitMQ中的第三种交换器,Fanout交换器,相比上两种我们讲过的交换器,最大的特点它是以广播的模式,来做消息的传递,我们来看一下这样的需求,我这里有一个订单服务,然后还有一个短信服 ...
- Topic交换器-搭建环境
我们再来看另一个交换器的使用,Topic交换器的使用,Topic交换器也称之为主题交换器,他的特点是什么呢,是根据这个规则来匹配,是一个什么样的规则呢,咱们先看这个图,这个图和上面最大的区别就是,我的 ...
- RaDirect交换器-搭建环境
我们看一下RabbitMQ交换器讲解,交换器在消息队列当中,是非常重要的一个环节,所以我们要重点的讲一下,我们先回顾一下在讲Rabbit原理的时候,我们提到了一个Exchange的关键组件,那么Exc ...
- 杰瑞服务器虚拟化,大家在Mac中开发PHP,是用虚拟机的方式还是直接在Mac下搭建环境...
如题,本人想在mac下做PHP开发,想在本地看到实时效果,然后开发完后再部署到服务器上(CentOS),或者用SSH直接连接服务器VIM开发,但我是PHP新手,还是想用PHPStrom(刚买了个一年, ...
最新文章
- 【怎样写代码】偷窥高手 -- 反射技术(一):前期准备
- 安装Intel图像处理IPP库
- Microsoft StreamInsight 构建物联网
- python vs java的rsa加密
- 最长递增子序列 最长连续递增序列
- yunyang tensorflow-yolov3 NMS:non maximum suppression 非极大值抑制方法
- timerpickerview使用_详解iOS App中UIPickerView滚动选择栏的添加方法
- boost::graph模块实现从连接的平面图开始并添加边以使图最大平面化
- ASP.NET Core微服务(六)——【redis操作】
- python购物车典例_Python入门:购物车实例
- mysql error 1045 的解决方法
- 工作145:vue里面取消console和debugger
- 虎贲计算机二级视频解析百度云,详解虎贲T7520:5G为什么需要全场景覆盖增强技术?...
- java对日期设置时间和对日期加减周
- 使用Scylla进行OSINT信息收集
- 深度森林论文阅读笔记
- gridview隐藏列的方法
- Ubuntu 20.04 双系统安装过程(新手)
- Linux-4.4-x86_64 内核配置选项简介
- 图文并茂:超可爱的12星座猫