业务

软件需求阅读笔记02

什么是软件需求? 软件需求实际就是“业务知识+问题列表+其他元素”。软件需求的三层次:业务需求、用户需求、软件需求。需求也有着三种类型:功能需求、非功能需求、设计约束。 软件需求的三层次 1业务需求 定义:反映企业/组织对软件系统的高层次目标要求,也就是软件系统的建设目标。 体现: 问题:解决企业运作过程中遇到的问题,如物资供应脱节、用户投诉量大...

解决:关闭移动数据,接收彩信,不能成功接收下载彩信

【前置条件】关闭数据业务 【操作步骤】发送彩信,或者接收彩信 【測试结果】无法发送彩信;收到彩信后无法下载内容【预期结果】能够正常收发彩信 经过分析我们发现。因为发送彩信须要数据业务打开进行支持,数据业务关闭后,则无法发送彩信,因此我们为了不影响彩信业务,在彩信发送前对数据网络是否打开进行检測,假设数据业务设置为关闭状态,我们则打开数据业务进行彩信的发送...

流程梳理的重要性

流程梳理的重要性       业务梳理是流程系统最重要的工作,业务梳理明确了,流程既简单又准确,相反既复杂又混乱。大道至简,这是一个由简到繁,由繁到简的过程。 同样一个需求有的客户画了一个很复杂的流程,完成了功能。另一个客户把业务拆分成几个流程,也实现了功能。那种方式更可取呢?我们认为在满足需求的前提下,越简单越好。下面以个实际案例来阐述流程梳理的重要性。...

C#如何优雅地取消一个流程(非Thread.Abort方法)

一. Thread.Abort() 的缺点 我们使用 Thread.Abort() 来中止一个包裹着某个流程的线程,虽然 C# 并不会像 Thread.Suspend() 提示过时。但是在使用 Thread.Abort() 的时候,确实存在很多的问题: 1. 该方式中止线程是通过在线程执行的时候抛出 ThreadAbortException 异常来实现的。...

WPF/MVVM模式入门教程(一):简介与规范

什么是MVVM模式?   MVVM的全称是——Model、View、ViewModel,翻译过来就是:模型、视图、视图模型。ViewModel是比较抽象的,它起到承上启下的作用,用于处理业务逻辑。每一个View都需要有对应的Model和ViewModel。 为什么需要MVVM模式?   该模式最大的优点就是将UI和业务逻辑进行剥离,使项目高内聚低耦合。美工...

微服务概述

微服务架构4个核心问题: 服务很多,客户端怎么访问? 这么多服务,服务之间如何通信? (一般使用RPC或Http) 这么多服务,如何治理? 服务挂了怎么办? 问题原因:网络不可靠!! 解决方案: 1)spring cloud 生态! Spring Cloud NetFlix 一站式解决方案 解决访问:api网关,zuul组件 解决通信:Feign —...

商品订单库存一致性问题的思考

首先先确认方案 方案1:下单后减库存;用户下单,然后库存加锁,判断库存是否充足,用户下单完成,减库存,最后释放库存锁。 方案2:支付才减库存;用户支付,然后库存加锁,判断库存是否充足,用户支付完成,减库存,最后释放库存锁。 当然还有其他方案,这里只阐述我的思考。 (库存加锁的过程有个小细节请看附1) 两种方案的比较 方案1 1)假如100个人同时下单,只有...

java web 中的 controller、service、persistence(mapper)、domain 分别是什么作用?

代表了服务端接口的 4 层,第一层是控制层(controller),负责接口请求/响应的控制,调用第二层业务逻辑层(service 一般分为接口和实现),完成具体业务功能,它会调用第三层数据持久层 persistence(mapper)的逻辑,作用是访问数据库,向数据库发送 SQL 完成数据库操作。第四层是数据模型层 domain,保存着与数据库表所对应的...

写了一个 gorm 乐观锁插件

前言 最近在用 Go 写业务的时碰到了并发更新数据的场景,由于该业务并发度不高,只是为了防止出现并发时数据异常。 所以自然就想到了乐观锁的解决方案。 实现 乐观锁的实现比较简单,相信大部分有数据库使用经验的都能想到。 UPDATE `table` SET `amount`=100,`version`=version+1 WHERE `version` =...

亿级用户的新浪微博平台架构

  微博平台第一代架构为LAMP架构,数据库使用的是MyIsam,后台用的是php,缓存为Memcache。  随着应用规模的增长,衍生出的第二代架构对业务功能进行了模块化、服务化和组件化,后台系统从php替换为Java,逐渐形成SOA架构,在很长一段时间支撑了微博平台的业务发展。  在此基础上又经过长时间的重构、线上运行、思索与沉淀,平台形成了第三代架构...