孤尽T31训练营第一天学习分享
DAY1课程内容
今天主要是理论部分,形而上的介绍了需求分析和架构设计两个概念,从定义,目的,如何做等等角度来阐述。
一、需求分析
1、 定义
需求分析:理解和挖掘用户诉求,以及背后逻辑,转化成可行性分析结果。逐步结构化,确定系统职责和模块的过程。
2、 需求要做什么
- 确定需求边界
- 抽取用户故事,将需求场景化
- 设计用户路径,设计一条最短交互路径达到用户目的
3、 方法论:研发必备技能,如何将需求怼回去
什么的需求要怼,如何怼。
伪需求: 强需求:
4、问题分层
这个概念对研发很重要,研发考虑问题,容易一下子就考虑如何去实现,一下子脑子往解决方案去钻,可能对方找你讨论要不要做的问题,你却在思考怎么做的问题。
首先要锻炼思维,分层去思考问题,和不同人交流,要注意讨论问题的层次,和对方站在同一层楼讨论。
问题分为:用户问题、业务问题、产品问题和技术问题,这个需要刻意训练一下。
二、架构
1、 两种定义方式
结构化定义方式:
一句人话定义:水平方向的业务单元和垂直方向的技术模块所组成的逻辑结构(待修正)。
2、 架构目的
3、 架构方法论
如何画好一个架构图
对应不同层次的问题思考,有 业务架构、应用架构、数据架构、技术架构图。要表达出关键要素,注意组成模块之间的关联,最终以线框图形式输出。
如何判断架构图的好坏
三维度:顺序,颜色,主题
传统架构图4+1
物理视图、逻辑视图、开发视图、处理视图、场景视图。
UML
设计表达,最终离不开UML。
这里的知识点网上太多了,我只展开说一下课程中我的收获点:
-
每种图都有其侧重点,比如时序图,主要表达正常流程交互顺序,不要把判断异常流程都放到这个图中来表达。
-
组合聚合之争:表达的意义在于,如果使用组合这个强关系,那么就应该把这相关的模块交给同一个人来实现。
设计原则
重点在于理解内化,每个原则我都思考一下,尝试用一句话来解释,明者自明。
开闭原则
这个是形而上的原则,23中设计模式大部分就是要达到对修改关闭。
单一职责
贪多嚼不烂,别人不理解
里氏代换原则
老爹英雄儿好汉,绝对不生怂包蛋
迪比特法则
你是我的好朋友,需要找你老婆帮忙,跟你说就行了,不用再跑过去还要认识一下你老婆,让你老婆帮我,一旦擦出火花就不好了。
接口隔离原则
我就想吃碗面,不要给我300页的菜谱让我选。
依赖倒置原则
我想找个对象,女的就行,一个月后成功领证; 我想跟林志玲结婚,结果孤独终老。