【项目实战典型案例】19.临时解决方案和最终解决方案

简介: 【项目实战典型案例】19.临时解决方案和最终解决方案

一:背景介绍

在用户使用我们系统时候,出现了很严重的线上问题:用户登录成功后看不到课程,重新登录就可以看到课程了。而用户登录成功后看不到课程,是因为将课程放入到根目录的文件夹中了。

二:两种解决方案的概念

临时解决方案:通过这种方式一定可以临时性的解决出现的问题,解决不了本质的问题。

最终解决方案:落地之后以后这样的问题不会再出现,从根源上解决了问题。

①、临时解决方案:

将课程从根目录的文件夹中移出来,这里的“移出来”叫临时解决方案;

②、最终解决方案:

调整之后,以后不会再出现由于再根目录的文件夹中或者另外一个什么地方导致登录看不到课程的结果。

三:问题分析过程

之前和学习通的耦合度强,查的是学习通的接口,当用户把课程放入文件夹中,后端返回的数据结构就会发生变化,导致登录系统后看不到相应的课程

四:总结

我们一直都在说要对生产环境有敬畏之心,那么如何体现敬畏呢?要对用户负责,那么又是如何体现负责呢?

1)如何体现敬畏?

生产环境即是运行用户正在使用的系统环境,不能随意动生产环境的东西。

2)如何体现负责?

①全心全意为人民服务

“如果你设计的软件,猪不能使,你就是猪”,我无时无刻都可以看到这条横幅,但是在设计的时候,却遗忘了这条横幅的本意。在设计原型图的时候,要把自己当成“猪”,“猪”不用思考就可以学会。我们可以在绘制原型的时候采用角色扮演的方式,让自己融入对应的角色中,以此来提高与用户的融合度。

②站在用户的角度去思考

在设计原型图的时候,我站在一个开发人员、设计人员的角度去思考,并没有站在用户的角度去思考,也没有完全把自己当作用户,以及没有思考作为用户我最想要什么,最后导致了设计的原型图与需求有偏差。我还记得在绘制第二版原型图的时候,我没有思路,我就去找了马总,给马总讲了讲我对于需求的设计思路,但马总问我“如果你是管理员,你进入监控页面,你最想要看到什么”,我回马总的是“如果我是管理员的话,我进入到监控页面,我最想要看见的是活动的具体内容”。在这一刻,我悟了,只有把自己当成用户,才能理解用户最想要的是什么。

五:升华

在我们设计软件以及开发软件时,要遵循以下两点来:

1、如果你设计的软件,猪不能使,你就是猪

2、让我们软件的使用者成为我们软件的设计者


相关文章
|
6月前
|
vr&ar 图形学
2D丨3D元宇宙游戏系统开发详细规则/需求步骤/逻辑方案/源码步骤
Developing a 2D/3D metaverse game system involves multiple aspects, including game design, graphics engines, virtual world construction, social interaction, and economic systems. The following is a summary of a development plan:
|
3月前
|
机器学习/深度学习 分布式计算 前端开发
构建前端防腐策略问题之前端代码会随着技术引擎的迭代而腐烂的问题如何解决
构建前端防腐策略问题之前端代码会随着技术引擎的迭代而腐烂的问题如何解决
|
4月前
|
存储 调度 数据库
软件研发核心问题之数据从哪里来,主要包括哪些类型的数据的问题如何解决
软件研发核心问题之数据从哪里来,主要包括哪些类型的数据的问题如何解决
|
6月前
|
存储 缓存 监控
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(数据更新场景策略和方案分析)
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(数据更新场景策略和方案分析)
85 0
|
消息中间件 缓存 NoSQL
程序员快来学习缓存层场景实战数据收集—技术选型思路及整体方案
根据以上业务场景,项目组提炼出了6点业务需求,并针对业务需求梳理了技术选型相关思路。 1)原始数据海量:对于这一点,初步考虑使用HBase进行持久化。 2)对于埋点记录的请求响应要快:埋点记录服务会把原始埋点记录存放在一个缓存层,以此保证响应快速。关于这一点有多个缓存方案,稍后展开讨论。 3)可通过后台查询原始数据:如果直接使用HBase作为查询引擎,查询速度太慢,所以还需要使用Elasticsearch来保存查询页面上作为查询条件的字段和活动ID。
|
存储 安全 区块链
区块链游戏系统开发(开发详细)/案例开发/设计功能/逻辑方案/源码平台
  区块链游戏系统开发是一个复杂而精密的过程。首先,需要进行需求分析和规划,确定游戏系统的功能和特性。然后,进行技术选型和架构设计,选择适合的区块链平台和开发工具。接下来,进行系统的搭建和编码,实现游戏逻辑和用户交互功能。最后,进行测试和优化,确保系统的稳定性和性能。
|
安全
项目实战典型案例19——临时解决方案和最终解决方案
项目实战典型案例19——临时解决方案和最终解决方案
148 0
|
安全
项目实战19——临时解决方案和最终解决方案
项目实战19——临时解决方案和最终解决方案
152 0
|
存储 负载均衡 应用服务中间件
项目实战典型案例17——环境混用来带的影响
项目实战典型案例17——环境混用来带的影响
92 0
|
存储 应用服务中间件 测试技术
【项目实战典型案例】17.环境混用带来的影响
【项目实战典型案例】17.环境混用带来的影响