对于一个工程师来说,如果要追求长远的发展,你就不能一直只把自己放在执行者的角色中,不能只把一个代码的实现者。 你还要有独立负责一个系统的能力,能端到端开发一个完整的系统。这其中包括: 前期的需求分析,中器的代码的设计和实现。后期的系统的上线维护等。
前面我们还提到过,大部分工程师都是做业务开发的。 很多工程师都觉得,做业务开发没啥技术含量,没有成长,就是简单的CRUD,翻译业务逻辑,根本用不上专栏中讲到的设计原则思想,模式。
需求分析
积分是一种常见的营销手段,很多产品都会用它类促进消费,增加用户的黏性,比如淘宝积分,信用卡积分,商场消费积分等等。假设你是一家类似淘宝这样的类似电商平台的开发工程师,平台暂时还没有积分系统。Leader 希望由你来负责这样一个系统,你会如何做?
你可能会收,只要铲平经理给我产品的设计文档,线框图,我照着实现就可以了,我觉得,这种想法狭隘。我认为,技术人员应该更多的饿参与到产品的设计中。在Google 的工作中,我明显感觉到,Google 工程师跟其他的工程师有一个很大的区别i。那就是大部分的人具备产品思维,并不是完全的技术控。所以,Google 前期的初期的设计都是工程师完成的。 在产品发展到一定的程度的时候,才会引入产品经理这个角色。
那你呢能要问了,作为技术人,我该怎么做产品的设计了,首先一定不要一个人蒙头像,一方面,这样做很难想全面,另一方面,从0开始的设计也比较浪费使劲按,所以我们要学会借鉴。爱因斯坦说过,创造的以达秘决是要懂得如何隐藏你的来源。你看大势都含蓄的表达了借鉴的重要性。我们没有必要因为借鉴而感到不好意思。
我们可以找几个类似的产品,比如淘宝,看看它们是如何设计积分系统的。然后借鉴到我们的产品中来,你可以自己亲自用用淘宝,看看积分是怎么使用的。也可以直接百度以下淘宝的积分系统,输入这两个信息,我们基本上能摸清楚积分系统是如何设计的了。初次之外我们要充分了解自己公司的产品。讲借鉴来的东西糅合到我们自己的公司的产品中,并做适当的微创新。
笼统的来说,积分系统无外乎就是两大功能点,一个是赚取积分,一个是消费积分。 专区积分功能包含积分专区渠道,入下订单,每日签到,评论等。还包括积分瑞环规则。比如订单金于积分的比例。每日签到送多少积分。
刚刚给出的是非常笼统,粗糙的功能功能续期。对于业务细节,焖头想是想不全面的,为了防止遗漏,我们要有方法可循,线框图,用户用例,用户故事,来细化业务流程,挖掘一些细节,不容易想到的功能点。
它类似于单元测试用例。它侧重情景化,
用户获取积分,告诉它积分的有限期,
用户使用积分的时候,使用快过期的积分。
用户在查询积分的时候,会现实积分的有效期和状态
用户在查询的时候,会排除掉过期的积分。
系统设计
面向对象设计,聚焦在代码层面。那系统设计聚焦在架构层面。 主要针对模块。 两者之间有很多相似之处,很多设计原则和思想不仅仅可以引用到代码设计中,还能到架构设计中,还记得秒你想对象设计的四个步骤吗? 实际上可以九二九哪个过程来做系统设计。
模块的设计
模块之间的交互
标签:需求,针对,工程师,积分,系统,用户,产品,设计,设计模式 From: https://www.cnblogs.com/dousil/p/18040930