流程管理

学习ITIL

强颜欢笑 提交于 2020-04-07 13:22:07
ITIL IT 运维管理体系: IT 管理中的 PPT ( people 人; process 流程; technology 技术); 标准化(是否有紧急故障处理流程)、工具化; 备份解决方案;灾备解决方案; 监控解决方案;上线(回滚)流程; 测试流程; 紧急故障处理流程; DB 恢复流程; 各种故障演练; 服务 service : service 是向客户 customer 提供价值 value 的一种手段,使客户不用承担特定的成本 cost 和风险 risk 就可获得所期望 expected 的结果 outcomes ; 老板(价值)、员工(手段); service management 服务管理: service management 是一套特定的组织能力,以服务的形式为客户提供价值; service provider-->resource-->capabilities-->transform-->valuable service(goods or service)-->customer-->core competence ITIL , information technology infrastructure library , IT 基础架构库,英国商务办公室从 20 世纪 80 年代开始开发的一套 IT 管理方法,已成为事实上的行业标准

“微信支付”的架构到底有多牛逼?看完这篇你就明白了!

徘徊边缘 提交于 2020-04-06 03:05:23
点点这个链接免费获取: 【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>> 背景 作为一个重要业务,微信支付在客户端上面临着各种问题。其中最核心问题就是分平台实现导致的问题: iOS 和安卓实现不一致 容易出 Bug 通过沟通保证不了质量 扩展性差,无法快速响应业务需求 需求变更迭代周期长 数据上报不全面 质量保障体系不完善 缺少业务及设计知识沉淀 协议管理松散 缺少统一的自动化测试 用户体验不一致比如下图就是之前安卓和 iOS 没有统一前的收银台。 为了解决分平台实现这个核心问题,并解决以往的技术债务。我们建立起了一整套基于 C++ 的跨平台框架,并对核心支付流程进行了重构。 微信支付跨平台从 iOS 7.0.4 版本起, 安卓从 7.0.7 版本起全面覆盖。 线上效果指标 以 iOS 上线情况为例: Crash 率上线前后 Crash 率保持平稳,没有影响微信稳定性,跨平台支付无必现 Crash,做到了用户无感知切换。举个例子,大家可以用微信发一笔红包,拉起的收银台和支付流程就是由基于C++编写的跨平台代码所驱动的。 效能提升以核心支付流程代码为例,跨平台需要 3512 行,iOS 原生需要 6328 行。减少了近 45% 的代码。以新需求开发为例:7.0.4 版本需求一:收银台改版7.0.4 版本需求二:简化版本收银台 跨平台实现:iOS + 安卓 共计 3

“微信支付”的架构到底有多牛逼?看完这篇你就明白了!

戏子无情 提交于 2020-03-31 21:06:30
点点这个链接免费获取:本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。 传送门: https://mp.weixin.qq.com/s/osB-BOl6W-ZLTSttTkqMPQ 背景 作为一个重要业务,微信支付在客户端上面临着各种问题。其中最核心问题就是分平台实现导致的问题: iOS 和安卓实现不一致 容易出 Bug 通过沟通保证不了质量 扩展性差,无法快速响应业务需求 需求变更迭代周期长 数据上报不全面 质量保障体系不完善 缺少业务及设计知识沉淀 协议管理松散 缺少统一的自动化测试 用户体验不一致比如下图就是之前安卓和 iOS 没有统一前的收银台。 为了解决分平台实现这个核心问题,并解决以往的技术债务。我们建立起了一整套基于 C++ 的跨平台框架,并对核心支付流程进行了重构。 微信支付跨平台从 iOS 7.0.4 版本起, 安卓从 7.0.7 版本起全面覆盖。 线上效果指标 以 iOS 上线情况为例: Crash 率上线前后 Crash 率保持平稳,没有影响微信稳定性,跨平台支付无必现 Crash,做到了用户无感知切换。举个例子,大家可以用微信发一笔红包,拉起的收银台和支付流程就是由基于C++编写的跨平台代码所驱动的。

工作流——Activiti

久未见 提交于 2020-03-30 19:36:03
工作流   工作流介绍     工作流就是通过计算机对业务流程自动化执行管理;它主要解决的是“使用多个参与者之间按照某种预定义的规则自动进行传递文档,信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”;   工作流实现方式     在没有专门的工作流引擎之前,我们之前为了实现流程控制,通常的做法就是采用状态字段的值来跟踪流程的变化情况;这样不用角色的用户,通过状态字段的取值来决定记录是否显示;     针对有权限可以查看的记录,当前用户根据自己的角色来决定审批是否合格的操作;如果合格将状态字段设置一个值,来代表合格;当然如果不合格也需要设置一个值来代表不合格的情况;     这是一种最为原始的方式;通过状态字段虽然做到了流程控制,但是当我们的流程发生变更的时候,这种方式所编写的代码也要进行调整;      Activiti简介   Activiti项目是一个新的机遇Apache许可的开源BPM平台,从基础开始构建,提供新的BPMN2.0标准;   Activiti是一种轻量级,可嵌入的BPM引擎,而且还设计适用于可扩展的云架构;Activiti将提供宽松的Apache许可2.0,同时促进Activiti BPM引擎和BPMN 2.0的匹配; BPM   BPM是业务流程管理,是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩为目的的系统化方法

产品项目开发流程

邮差的信 提交于 2020-03-28 18:35:28
目录 产品项目开发流程 项目调研 项目立项 需求分析评审 原型设计 项目开发 项目测试 项目部署 后期维护 产品项目开发流程 目前市场上成熟的产品项目流程主要有项目调研,项目立项,需求分析评审,原型设计,项目开发,项目测试,项目部署以及后期维护等。 现基于市场上的开发流程以及以往的项目开发经验,个人对项目各个开发阶段进行描述以及项目整体开发流程进行总结。 项目调研 由于没有正式参加过项目调研,故省略...... 项目立项 主要由项目经理发起立项会议,组织相关人员参加立项会议并启动评审项目。在该阶段,项目经理提交项目立项申请书,该说明书主要包括以下内容:项目总体需求,项目目标,项目中技术难度,项目预期成果,项目主要开发人员以及项目总体开发计划(包含测试和验收)。 需求分析评审 一般的需求工程流程主要有 需求这一块,如果所在部门中并没有明确人员分工,就存在了一旦遇见和需求有关的问题,并不能立马解决以及没有相关需求文档资料查阅等问题。未来随着所在公司不断发展,建议由专门人员(并非开发人员)负责需求工作,对接客户需求。 在项目需求分析评审阶段,由于时间比较紧迫,最新开发的项目大概用了两周的时间。为了保障项目的顺利开展,我们不断对需求进行更改,评审会议也开了三次。但由于种种原因,并没有严格按照需求工作流程进行执行。 原型设计 基于项目立项申请书和项目需求文档说明书,项目经理确认项目开发架构

软件项目开发流程以及人员职责

瘦欲@ 提交于 2020-03-28 17:48:07
实行软件工程项目管理: ▲ 项目经理(负责人):项目经理(负责人)对整个项目负完全责任,是指导、控制、管理和规范某个软件和软/硬件系统建设的人,项目经理(负责人)是最终对客户负责的人。 ▲ 软件项目经理(负责人):软件项目经理(负责人)对一个项目的所有软件活动负完全责任,控制一个项目的所有软件资源,按照软件约定与项目经理(负责人)打交道。 ▲ 软件工程组: 软件工程组是负责一个项目的软件开发和维护活动(例如:需求分析、设计、编程和测试)的人员(包括管理人员和技术人员)。 ▲ 系统工程组: 系统工程组是负责下列工作的人(既有经理也有技术人员)的集团:规定系统需求;将系统需求分配给硬件、软件和其它成分;规定硬件、软件和其它成分之间的界面;以及监控这些成分的设计和开发以保证它们符合其规格说明。 ▲ 系统测试组:系统测试组是一些负责策划和完成独立的软件系统测试的个人(既有经理又有技术人员)的集团,测试的目的是为了确定软件产品是否满足对它的要求。 ▲ 软件质量保证组: 软件质量保证组是一些计划和实施项目的质量保证活动的个人(既有经理又有技术人员)的集团,其工作的目的是保证软件过程的步骤和标准得到遵守。 ▲ 软件配置管理组: 软件配置管理组是一些负责策划、协调和实施软件项目的正式配置管理活动的个人(既有经理又有技术人员)的集团 总体流程如下: 计划阶段-》需求分析阶段-》软件开发阶段-

微信团队分享:微信支付代码重构带来的移动端软件架构上的思考

你说的曾经没有我的故事 提交于 2020-03-25 20:37:34
3 月,跳不动了?>>> 本文原文由微信客户端高级工程师方秋枋原创发表于WeMobileDev公众号,收录时有修订和加工,感谢作者的无私分享。 1、引言 作为一个重要业务,微信支付在客户端上面临着各种问题。 其中最核心问题就是分平台实现导致的问题: 1)iOS 和安卓实现不一致:容易出 Bug、通过沟通保证不了质量; 2)扩展性差且无法快速响应业务需求:需求变更迭代周期长、数据上报不全面; 3)质量保障体系不完善:缺少业务及设计知识沉淀、协议管理松散、缺少统一的自动化测试; 4)用户体验不一致:比如下图就是之前安卓和 iOS 没有统一前的收银台。 ▲ 微信安卓片和iOS版,没有统一用户体验前的收银台功能 为了解决分平台实现这个核心问题,并解决以往的技术债务。我们建立起了一整套基于 C++ 的跨平台框架,并对核心支付流程进行了重构。微信支付跨平台从 iOS 7.0.4 版本起, 安卓从 7.0.7 版本起全面覆盖。 重构后的软件架构原理如下图所示: 本文分享了微信团队基于 C++ 的移动端跨平台技术在重构整个微信支付功能的过程中,对于移动端软件架构设计方面的思考和实践总结。 术语约定: 本文中的名词 CGI 可以理解为一个网络请求,类似HTTP请求。 2、关于作者 方秋枋: 毕业于华中科技大学,现为微信客户端高级工程师。目前主要负责微信支付的跨平台开发框架与相关业务开发。 是开源项目

Activiti 核心 API

穿精又带淫゛_ 提交于 2020-03-22 22:24:26
核心 API  .1  ProcessEngine 说明: 1) 在 Activiti 中最核心的类,其他的类都是由他而来。 2) 产生方式: 在前面看到了两种创建 ProcessEngine (流程引擎)的方式,而这里要简化很多,调用 ProcessEngines 的 getDefaultProceeEngine 方法时会自动加载 classpath 下名为 activiti.cfg.xml 文件。 3) 可以产生 RepositoryService 4) 可以产生 RuntimeService 5) 可以产生 TaskService 各个 Service 的作用: RepositoryService 管理流程定义 RuntimeService 执行管理,包括启动、推进、删除流程实例等操作 TaskService 任务管理 HistoryService 历史管理 ( 执行完的数据的管理 ) IdentityService 组织机构管理 FormService 一个可选服务,任务表单管理 ManagerService 使用 Activiti 的定制环境中基本上不会用到。 它可以查询数据库的表 和表的元数据。另外,它提供了查询和管理异步操作的功能。 .2 : RepositoryService 是 Activiti 的仓库服务类。所谓的仓库指流程定义文档的两个文件: bpmn

基于ssm开发毕业设计管理系统 源码 使用MySQL数据库

只愿长相守 提交于 2020-03-20 23:24:47
毕业设计管理系统 毕业设计管理系统可以分为五个模块:登录模块,选题模块,信息管理模块,流程管理模块,文件管理模块。 该系统在技术上使用Spring+SpringMVC+MyBatis整合框架作为后台开发框架,AmazeUI作为前端开发框架。 并使用Ehcache作为项目的缓存,druid作为项目的数据库连接池,使用FreeMarker实现word的导出,使用Shiro完成项目的登录认证,数据库使用的则是MySQL。 该系统可以分为三类角色:学生,教师,教务管理员。 该系统前端界面使用纯HTML实现,与后台的交互则都是通过Ajax完成。 登录模块 登录模块主要完成教务管理员,教师,学生用户的登录功能,每个角色登录之后会看到不同的操作界面。 选题模块 选题模块主要完成师生双选这一业务流程。 信息管理模块 信息管理模块主要完成对各种信息的crud操作。 流程管理模块 流程管理主要完成对开题报告,中期检查,免答辩申请,验收/答辩,论文审核,盲审的流程的管理。 文件管理模块 文件管理模块主要对文件的上传与下载。 部分界面 登录(学生,教师统一使用该登录界面进行登录) 主页(主页可以看到一些内容概要与相关提示) 教师列表(通过选择某一教师进而选择其课题) 申报课题(教师只有填写课题名之后才可以申报课题) 源码及原文链接: https://javadao.xyz/forum.php?mod

JBPM通用流程设计方案(一)

陌路散爱 提交于 2020-03-17 16:00:37
某厂面试归来,发现自己落伍了!>>> 前言: 任何系统中的流程管理,都少不了参与人员、流程相关信息及文档、审批结果,要设计一个合适的通用管理流程的方案,肯定少不了需要满足以上的要求,而对于弹性要求比较高的系统中,可能还需要加上一点,允许自定义流程及自定义流程的表单,即应该为可扩展的,普通的用户也可以参与流程的设计,即对于非开发人员来说,这种流程参与要求系统有着更高的易用性。 JBPM4目前已经简化了流程管理中的很多方面,如人员的参与(有用户组,用户及swimlane), 流程的相关信息可以使用流程的启动参数携带,自定义流程及表单则需要使用其他的技术进行辅助开发(如flash,或javaFx是两种不错的选择) 下面基于这种设想进行系统的设计及实现: 一、流程的设计: 我们的流程需要先使用jbpm eclipse的设计器进行,用它来生成流程的定义(主要为xml文件)[后面可以采用java applet技术或javafx技术进行自定义流程xml] 二、发布流程  发布流程至系统中成功发布后,显示流程的示意图,并且可以基于这个示意图设置任务的处理人员和任务表单。 发布至系统中的流程需要进行分类管理,并且能提供一些流程说明及备注之类的相关信息,这跟生活中的很多流程一样,特别是政府办公,去政府办理任何一事务时,都需要提交材料,经过不同的部门的相关负责人进行处理,最后才进行归档