-
执行者:是指执行的角色,系统的主体,是导致系统状态变化的触发源人员,系统的用户,操作人员等。
-
系统:系统本身执行的,或者调度的,自动触发的 ,第三方系统定时任务,定时的触发任务。
-
命令 :是执行者发起的操作,构成要件是执行者的行为是某个场景中领域事件的触发动作,对应一个用例。
-
领域对象 :是对对象,人或者系统的信息表示,它通过较为简单的信息结构来代表我们需要理解的复杂事务或系统。创建订单,修改订单 ,删除订单等 ,领域对象:订单
-
领域事件 :是和领域相关的事情,实在业务上真实发生的事实,这些事件对系统会产生关键影响,是观察业务系统变化的关键点,领域事件一般是领域专家关心的,一般已动词的过去式表示,表示已发生什么事件,是过去已经发生过的事实识别领域事件的线索;是否产生了某种数据;系统状态是否发生变化,无论这种状态存放到数据库还是内存;是否对外发送了某些消息。
-
读模型 :为了达到一个目的,需要在系统中读出一些数据;读模型来源于领域对象,展现的形式不一样,一个读模型中可能包含多个领域对象
-
事件风暴工作坊实践流程:产品愿景,识别软件价值和定位,进行业务的导入,团队共识业务需求信息;初步进行领域划分,识别出核心域,分而治之 ,对问题域的初步划分,分解问题;事件风暴,观察业务系统变化的关键点,找出系统状态的变化规律;命令风暴,找出系统状态的触发者和行为。
-
寻找模型:根据领域名词,设别领域对象,识别对象之间的关系,设计模型;限界上下文划分,分解问题 ,战略规划;规范化的输出,已团队共识的模型或者UML输出等。
白猫 发布的最新帖子
-
事件风暴
-
ios全埋点解决方案
我们使用“事件模型( Event 模型)”来描述用户的各种行为,事件模型包括事件( Event )和用户( User )两个核心实体。我们在描述用户行为时,往往只需要描述清楚几个要点,即可将整个行为描述清楚。包括:是谁、什么时间、什么地点、以什么方式、干了什么。而事件( Event )和用户( User )这两个实体结合在一起就可以达到这一目的。
Event 实体一个完整的事件( Event ),包含如下的几个关键因素:-
Who:即参与这个事件的用户是谁。
-
When:即这个事件发生的实际时间。
-
Where:即事件发生的地点。
-
How:即用户从事这个事件的方式。这个概念就比较广了,包括用户使用的设备、使用的浏览器、使用的 App 版本、操作系统版本、进入的渠道、跳转过来时的 referer 等,目前,神策分析预置了如下字段用来描述这类信息,使用者也可以根据自己的需要来增加相应的自定义字段。
每个 User 实体对应一个真实的用户,每个用户有各种属性,常见的属性例如:年龄、性别,和业务相关的属性则可能有:会员等级、当前积分、好友数等等。这些描述用户的字段,就是用户属性。
接下来我们主要说的 When 这个因素,即时间。包括事件发生的时间戳和统计事件持续的时长。
事件持续时长,是用来统计用户的某个行为或者动作持续了多次事件(比如,观看了某个视频)的。统计事件持续时长,就像一个计时器,当用户的某个行为或者动作发生时,就开始计时;当行为或者动作结束时就停止计时,这个 事件间隔为用户发生这个行为或者动作的持续时长。
-
-
如何写好B端产品的技术方案?
B端产品为企业提供协同办公的工具,帮助企业解决某类经营管理问题,核心价值在于为企业增加收入、降本提效、管控风险,企业级SaaS产品也是B端产品中的一类。
B端产品有以下特点:客户是一个群体:B端产品为某个企业组织服务,一项工作通常需要由多名角色完成,聚焦重点的本质是“定位”,即面向哪一类客户,解决哪一个痛点。定位良好的产品,就像一把锥子,能够迅速切入市场,并且取得稳固的市场地位。
-
功能繁杂:由于B端产品涉及企业经营的方方面面,关联的用户角色、业务流程非常繁多,反应到产品上,菜单、界面、配置项特别多,复杂度远高于C端产品。为了实现一项功能需求,往往会影响其他许多功能,需要进行全面的梳理,考虑各种极端情况,才能保证整体功能正常。
-
定制化功能:B端产品必然会有很多定制化需求,如果一味抗拒,很容易丢掉一些优质客户,但如果大包大揽地接受,系统复杂度会指数级上升,高昂的研发维护成本将很难承受,所以如何处理好定制化需求,是一项非常艰巨的任务。
-
见效慢、难量化:由于B端产品的客户是一个群体,产品上线新功能,通常是管理层先评估,能否在企业中适用,如果合适,才会组织一线人员,进行操作培训。这样一来一回,可能要2个月后才有客户正式使用新功能。
其次,业务见效的影响因素非常多,很多时候并非因为B端产品设计问题。例如,采购部门核心目标是找到更多优质、低价供应商,而这主要依赖采购员的专业能力,以及商家的管理能力,很难衡量产品功能对商家业务的实际贡献。
正是由于B端产品这些复杂性,要写好一份B端产品的技术方案,是非常有挑战的事情,对最终项目价值达成起到决定性的作用,技术方案质量差可能直接毁灭一块业务。
首先最重要的一个模块是进行术语解释。谈谈为什么要这块内容?B端产品中的专业名称非常多,对专业名词进行汇总解释,方便项目组理解上下文,统一认知。之后要说明为什么要这块内容?要介绍项目的背景,为什么需要做这个项目,解决了用户哪些痛点,为用户创造什么价值,或者是技术价值。
这部分内容极其重要,前文提到B端产品见效慢、难量化,但这并不代表只能自暴自弃,不去进行收益分析,相反,我们需要更加努力地对B端项目进行收益分析,即使最终也很难找到合适的度量方法,思考如何度量收益。站在技术视角,系统复杂度无节制地增加,很重要的一个原因是由大量无价值的项目累积起来的,在项目初期,多追问项目的价值,项目上线后,也追着产品设计者回顾项目价值,能有效避免这种情况,让技术人员的付出更容易获得结果。
介绍本期项目需要达成的目标为什么要这块内容?一个复杂项目,通常需要好几次评审才能通过,记录每次评审纪要,根据评审建议改进,是非常重要的。
-
-
为什么把初中级程序开发员作为思否社区的目标用户呢
高阳在接受创业邦采访时说,在初中级开发员群体中,有80%都是在创业公司里担任要职的85后,这类用户的特点是年轻、爱分享、追求技术潮流、学习能力强,且具备付费能力。
当这些基础技术用户通过平台的学习后会成长为KOL级别的高级用户,这段学习过程会被思否社区记录,生成荣誉标签,不仅可以提高用户粘性,还可以刺激他们产出更多优质内容,借此吸引更多的技术新粉,从而带来用户增长。
思否社区运营机制是什么呢?当前,国内的同类竞品主要侧重于技术“媒体属性”,定位于文章的发布传播,而思否社区则更偏向于互动形式的“社区交流和知识分享”。
思否社区的优势主要体现在知识获取的效率方面,他们是以标签为运营机制,通过对线上内容和线下活动的分类,将信息推向问答、课堂、专栏等平台板块中生成标签,用户可以的同时,其他用户可以参与投票和评价获得活跃度和声望徽章并筛选出优质内容,这时候再次提取标签,做到了激励用户的展现欲望的效果,借此帮助用户快速检索获取信息。
自思否社区上线以来,已拥有250万注册用户,超500万个标签关注,120万篇技术内容分享,每月开发者访问流量上千万次。其中,技术问答板块中,就已经帮助开发者解决30万个技术问题,每日问答增长量超过1000条,用户原创优质技术文章超过10万篇。
在经营模式方面,他们已形成由技术问答、招聘、技术专栏、讲堂等免费、付费板块搭配服务,建立起了一个十分健全的社区生态闭环。
在社区流量变现方面,他们主要通过线下活动和广告业务实现了变现,已经初步的实现了盈利,并且拥有了超过3万的付费用户。目前,团队员工共10人,大部分负责平台技术研发,以PHP语言、MySQL数据库、Redis、nginx、node.js作为技术支撑。 -
SegmentFault 思否为什么要做技术媒体?
在思否成立之初我们就确立了“改变并提升开发者获取知识的效率,帮助开发者获得成功”的公司使命。除了专业技术,对行业的认知和了解也是“知识”的重要组成部分,影响着开发者的综合素养、职业选择与发展。
通过查看资讯板块网页源代码可以看到我们对于技术媒体业务的介绍:SegmentFault 思否资讯频道集合了 IT 技术领域最新鲜的行业快讯,深度行业观察和技术人访谈等栏目,致力于记录和推动 IT 技术行业创新,帮助更多的开发者获得认知和能力的提升。
同时,我们希望通过 SegmentFault 技术媒体平台可以更好地分享思否对于技术行业的观点和看法,让我们更多地与行业产生连接,帮助科技企业与开发者对话。
关于为什么要做技术媒体,运营合伙人 Nadia是这样说的,她说:于我而言,帮助开发者成长就是我改变世界的方式和我的新闻理想。
产品合伙人 Fen对于媒体业务在产品上的创新问题,也给出了这样的回答,他说:赋能技术内容创作者,加强创作者和读者的互动,让交流更加开放自由。
从产品角度,未来社区媒体的产品应该:
承载不同的媒体类型:支持文字、视频、代码、直播、短消息、邮件等媒体,并帮助他们获得更好的展现;
为作者提供内容分发的渠道:帮助作者产生的内容触达更多的目标读者;
为读者提供内容筛选的能力:帮助读者快速获取自己需要的内容;
建立个体与个体互动关系:逐步的加强作者和读者的互动,让交流更加开放自由。
-
在不同的阶段都需要什么项目文档呢
一般来说技术项目可以分为四大阶段,本篇文章我会从四个阶段分别来介绍,在不同阶段需要设计哪些项目文档。
流程是什么?流程是保障团队目标达成的最佳实践,因人/团队/业务类型/迭代速度/资源紧张程度而异。为什么要有流程?没有流程会导致团队中的个体各自为战,目标不统一,进度不协调,资源配给失衡而导致交付质量下降。
流程能解决什么问题?流程能保障团队或者群体在大方向上保持协调一致,尽可能降低由于团队人员能力、认知水平、资源不足、意外情况导致的项目延期或者质量下降。
在具体的项目管理中,常见的流程规范有如下几种:需求评审流程;方案评审流程;功能提测流程;发布变更流程;信息同步流程;项目复盘流程。
迭代记录:目前在我负责的项目中,采用的是敏捷迭代机制,每周都会交付一个版本,可以是新功能上线,也可以是功能优化。
敏捷迭代模型的核心是快速交付可用的质量有一定保障的产品,让用户给到反馈和建议,不断迭代,不断满足用户新的需求,直到最终交付一个比较成熟的技术产品。
-
大数据可视化管理系统MAXDATA
MAXDATA是一款大数据可视化手动拖拽编辑系统。支持模板自定义,丰富的组件;支持各种百度地图等自定义组件添加 ;可拖拽式实现大数据大屏、模板自定义;数据格式可选静态和API两种方式;大屏拖拽式实现,再也不需要一行行编写大屏代码,自适应各种尺寸屏幕,可自定义大屏尺寸如2999*999。
-
开源数据质量解决方案Apache Griffin
Apache Griffin是一个应用于分布式数据系统中的开源数据质量解决方案。在Hadoop, Spark, Storm等分布式系统中,提供了一整套统一的流程来定义和检测数据集的质量并及时报告问题。 Apache Griffin填补了开源世界里在大数据质量领域的空白。就像空气质量,水和食品安全等无时不刻地在影响人类的生命一样,数据质量在数据科学领域是至关重要的。在大数据时代,企业决策调整,商机发现等越来越依赖于大数据的数据分析和数据挖掘,而数据质量的保证是所有一切数据分析和数据挖掘的基础。
-
项目运营是做什么的
项目的运营,运营的方案是不可缺的,有了具体合理的运营方案才能有条理有计划地进行。所需要制定的方案主要有战略性的方案和战术性的方案。有了既定的目标,项目才能有运营的价值,运营计划才能有计划地制定出来。网站运营,需要了解客户需求,通过与客户的深层交流,了解客户想要的效果,根据客户的要求来制定网站运营目标。
制定计划时,具体有近期计划、中期计划和长期计划。项目运营是对于你自己设定的项目制作一个可实现的过程方案,这个运营架构就是这个方案的提纲了。简单来说就是自己负责的项目是要分阶段性去完成的,阶段就是架构,每个阶段所需的资源必须包含在其中的,最终给出预计效果就是通过你的运营架构所达到的预计目标了。
项目运营的工作内容有:负责各项运营的行政管理;与人力资源部等相关部门共同完成培训手册和制定一系列的员工守则,制定各项开支守则,经过董事会批核后执行;编制项目的流程、方案;还负责收集项目信息资料,完善管理讯息系统;控制运作成本;制定员工服务表现报表。
-
切入领域
领域是什么?通俗来讲就是营销。
那什么是营销呢?一提到营销大家肯定想的都是卖东西,推销。而百度对营销的定义是指企业发现或发掘准消费者需求,让消费者了解该产品进而购买该产品的过程。美国市场营销协会(AMA):营销是创造、沟通与传递价值给顾客,以及经营顾客关系以便让组织与其利益相关人(stakeholder)受益的一种组织功能与程序。通过概念我们知道营销的定义,我们了解了营销是什么,但是营销的目的呢?营销通俗点讲就是:客户获得让利,企业获得利润。
专业一点就是:**在一种利益之上下,通过相互交换和承诺,建立、维持、巩固与消费者及其他参与者的关系,实现各方的目的。**当然现代社会下,对营销的细分,乃至衍生都细化到了很深的程度,也有专业的人去做,所以我们就不深入去说概念,我们将核心点放到,摸索营销业务下的软件设计,如何结合业务进行代码软件设计。
首先营销活动本身的属性,其实都是为了解释营销的的一些具体描述,而这些描述虽然最终都会转化成营销活动的限制,但它的映射,最终是由营销的属性映射过来的。但是门槛这个规则,是从规则中衍生出来的,属于规则类的限制,而规则将是后期超级复杂的一块,将门槛归纳到限制中在我的设计中,违背了内聚的原则,所以我将它单独拆离出来。
我们将营销这块领域进行了深入了解,然后将这块领域以程序的思维进行抽象,之后我们该去了解最核心的理念,那就是我们为什么要将这块领域设计成这样?设计理念是什么?设计初衷:复杂领域简单化。设计理念:模块化、原子化。营销是一块大领域,基于营销的及时性以及灵活性,我们需要我们的系统设计能够承载更多的变化、更快的响应速度、更加灵活的灵活性。