用户需求

DDD领域驱动设计基本理论知识总结

南楼画角 提交于 2019-12-02 11:22:59
原文地址: https://www.cnblogs.com/netfocus/archive/2011/10/10/2204949.html 领域驱动设计之领域模型 加一个导航,关于如何设计聚合的详细思考,见 这篇 文章。 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD。领域驱动设计分为两个阶段: 以一种领域专家、设计人员、开发人员都能理解的通用语言作为相互交流的工具,在交流的过程中发现领域概念,然后将这些概念设计成一个领域模型; 由领域模型驱动软件设计,用代码来实现该领域模型; 由此可见,领域驱动设计的核心是建立正确的领域模型。 为什么建立一个领域模型是重要的 领域驱动设计告诉我们,在通过软件实现一个业务系统时,建立一个领域模型是非常重要和必要的,因为领域模型具有以下特点: 领域模型是对具有某个边界的领域的一个抽象,反映了领域内用户业务需求的本质;领域模型是有边界的,只反应了我们在领域内所关注的部分; 领域模型只反映业务,和任何技术实现无关;领域模型不仅能反映领域中的一些实体概念,如货物,书本,应聘记录,地址,等;还能反映领域中的一些过程概念,如资金转账,等; 领域模型确保了我们的软件的业务逻辑都在一个模型中

产品经理面试问题以及如何回答(精华)

☆樱花仙子☆ 提交于 2019-12-02 08:21:23
此文为汇总文,如有更好回答,欢迎评论。问题来源网络 1、怎么理解产品经理这个岗位?什么样的产品经理才是优秀的产品经理? 从整体来看,产品经理就是负责把用户需求或业务需求转化为产品需求的人,为产品的具体设计、执行和成果负责。具体主要有三项职责:产品规划、产品设计和产品执行。 我认为优秀的产品经理以下两种能力强于别人: 抽象能力:把复杂的场景和需求抽象为产品的能力; 取舍能力:在合适时间做出正确的选择。 2、你认为产品经理最重要/最核心的能力是什么?说出三点。 逻辑思维能力:制定方案; 协调沟通能力:制定管理计划; 执行力:产出结果。 3、分析一下如何进行版本控制? 目标: 1)保证各个环境(开发、测试、主干)的独立,避免相互影响; 2)减少最终发布时合并主干出现冲突的概率; 3)降低冲突处理的难度。 原则: 多个版本(开发版本,测试版本,发布版本); 多次合并。 4、如何进行产品架构? 可以结合用户体验的5大要素来讲,包括战略层(定位与目标用户)、范围层(功能列表及优先级)、结构层(功能关系、信息架构)、框架层(流程与逻辑)、表现层(UI、交互)。 这里,我以人体来举例: 骨骼:思考产品的结构,来源于对用户需求的理解,也来源于定位,例子:微信,豌豆荚的过去和现在; 肌肉:最重要的几个核心功能分别是什么,例子:微博最重要的几个功能时什么? 血液:其他功能还有那些

产品经理面试题整理

╄→гoц情女王★ 提交于 2019-12-01 06:17:30
凡事“预则立,不预则费”。即使你有丰富的产品经验,在面试那种紧张的环境下要面试好也不是一件易事,因为在那种环境下,你要对面试官提出的问题快速反映,快速组织语言,而你又没有经常训练这种能力,想回答好还是很不容易的,如果你经常背一些产品经理的面试题,那你回答的时候就流畅多了,下面将一些常见的产品经理面试题整理下来,需要的小伙伴拿去。 下面我们先看看都有什么问题吧 以下是上面的问题的具体解析,可能不全面,欢迎大家补充 1、介绍一下你自己 介绍一下自己的姓名,年龄、毕业院校,工作经历。简单的介绍,保持在三分钟以内,给面试官问问题的时间。 工作经历主要讲一些你牛逼的工作经历,例如:你加入XX公司以后,销售额增加了多少、用户翻了多少倍…这样一些。有些人工作经历比较多,3年跳了好几家公司,建议你合并一下,不然面试官会觉得你这个人没有定力,在其他家公司干的时间都不长,在我公司能干多久? 至于你的毕业院校牛逼的肯定要说出来,如果觉得学校不好,不好意思说那就不说吧。 总的原则就是扬长避短,把自己的经历简单介绍下,然后留给面试官发问的时间。 2、做过的项目有哪些,简单的介绍一下 主要想考察你做的项目有哪些,以及你在项目中的贡献,你可以说说你做的项目流程,你在项目中的角色,你的项目周期是多久,你的项目解决了什么问题,你的项目给你们的产品带来那些改变?例如:用户增加了,留存率提高了多少等

团队项目——需求分析

拥有回忆 提交于 2019-12-01 06:11:39
这个作业属于哪个课程 软件工程 这个作业要求在哪里 作业要求 团队名称 李李罗何雷孟胡团队 这个作业的目标 1、了解用户需求,2开发系统原型模型 ,3、撰写1份需求规格说明书 一、团队成员的学号姓名列表 何全江(队长) 201731024218 胡志伟 201731024240 李元港 201731024232 孟诚成 201731024242 罗俊杰 201731024226 雷安勇 201731024215 李宣晓 201731024108 二、拟开发项目简介 “天天点名”是一个面向教育机构,督促学生按时上课的免费的点名软件,在Windows平台上实现。本产品适用于当前大多数学校所处的情况。用户可以通过本产品随时点名且耗时短,效率高,且可以对学生的考勤信息进行记录。 三、典型用户及用户故事 1.网友“恒山弟子”(钉钉用户) 公司启用了钉钉wif打卡上班下班,上个月迟到了2个多小时,扣了1000多的工资,前几天抽空研究来一下钉钉, 破解了wif打卡机制,然后周五人事找我谈话。 2.知乎匿名用户(学习通用户) *学习通可以退出群聊,但是只有app的可以,其他的不行,比如微信的。我上次不小心手机号和微信都登录了,然后就发现了这件事。。。于是我在app退出了,因为要是不退出我就得签到两次,这个太麻烦了。。,** 四、项目的主要功能 基础功能 1、点名 2、记录考勤信息 3、修改考勤信息

第二次作业:软件开发流程

久未见 提交于 2019-12-01 05:43:06
1、首先制定项目计划,最初计划是里程碑性质的。可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用进入试运行期(也可以称为用户测试阶段) 2、需求开发阶段:怎么样写好需求很关键,做软件致电一伍扒一一三三泗柒四四。如何学会进行需求开发可以去看下经典的《需求工程》这个翻译的书,不是很厚,但需要能理解为什么那样做更好,这个需要实践经验锻炼自己。如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。一般分为《用户需求说明书》和《需求规格说明书》,小项目可以写一个《需求分析报告》,《用户需求说明书》是用用户的语言进行描述,让用户和开发团队对于需求的达成一致的理解,《需求规格说明书》,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互操作的文档,也就是后期设计和代码开发的重要基线。 另外,作为了解需求,拿出用户UI和用户交流也是一项比较重要的需求获取手段,虽然这个属于设计的范畴   3、系统设计阶段: 系统总体架构,结合用户对系统环境、开发语言以及运行的网络硬件等要求,确定开发工具等,对应用系统关系进行架构性设计,通过需求阶段对用户的分析归类,用图的方式描述出用户和各子系统或模块的全局视图

敏捷项目测试策略文档模板

自闭症网瘾萝莉.ら 提交于 2019-12-01 05:32:51
敏捷项目测试策略文档模板   在一个敏捷工作环境种,我们的研发工作以冲刺期和高度迭代的形式展开。每一个迭代周期都关注少数的需求或者用户故事,所以在文档在敏捷项目种的数量和内容方面都倾向于轻量化。   对于测试计划这样的文档也是如此,不过我们也确实需要为敏捷团队去提供一个概要的敏捷测试策略,以供指导。   敏捷测试策略文档是为了给团队提供一个最佳的测试实践和一些形式的测试体系。记住,敏捷并不意味着没有体系。   下面我们来看一个敏捷测试策略文档,看看我们都应该包含些什么内容。 1.   一份测试策略中通常都会对于更宽泛的商业目的和目标做出任务说明。    一个典型的任务说明可以是:   “通过快速反馈和缺陷预防,持续的交付可工作的,满足用户需求的软件,而不仅仅是缺陷发现”   细化以后:   “● 在定义完需求的接收条件/测试之后,代码才能进行编写。    ● 接收测试不通过,一个需求就不能被判断为完成。”   在敏捷项目中,通常还会包含关于质量保证的提示:   ● 质量保证是系统和可靠的保证产品满足用户需求的一系列活动。   ● 在SCRUM(敏捷)中,质量保证是所有人的责任,而不单单是测试人员。在我们开发新产品的过程中,我们通过质量保证活动来确保正确的质量。    2.   测试级别    2.1  单元测试   WHY : 确保代码被正确开发   WHO : 开发工程师

徐程第二次作业

℡╲_俬逩灬. 提交于 2019-12-01 01:23:11
采访工业界的软件团队(通过邮件、微博、微信、阅读博客等方式),询问他们的软件开发流程。 通过查阅博客的方式,我知道了软件开发的流程如下: 1、首先制定项目计划,最初计划是里程碑性质的。可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用进入试运行期(也可以称为用户测试阶段 2、需求开发阶段:怎么样写好需求很关键,做软件致电一伍扒一一三三泗柒四四。如何学会进行需求开发可以去看下经典的《需求工程》这个翻译的书,不是很厚,但需要能理解为什么那样做更好,这个需要实践经验锻炼自己。如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。一般分为《用户需求说明书》和《需求规格说明书》,小项目可以写一个《需求分析报告》,《用户需求说明书》是用用户的语言进行描述,让用户和开发团队对于需求的达成一致的理解,《需求规格说明书》,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互操作的文档,也就是后期设计和代码开发的重要基线。另外,作为了解需求,拿出用户UI和用户交流也是一项比较重要的需求获取手段,虽然这个属于设计的范畴   3、系统设计阶段:系统总体架构,结合用户对系统环境、开发语言以及运行的网络硬件等要求

软件工程第二次作业

回眸只為那壹抹淺笑 提交于 2019-11-30 23:31:18
采访工业界的软件团队(通过邮件,微博,微信,阅读博客等方式),询问他们的软件开发流程 分组讨论, 投票选出你们小组成员最喜欢的两个团队类型 辩论你们在这门课程中最应该采取哪种类型 列出优劣 一、软件开发流程 1、 首先制定项目计划,最初计划是里程碑性质的。可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用,进入试运行期。 2、需求开发阶段:怎么样写好需求很关键,这个需要实践经验锻炼自己。如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。一般分为《用户需求说明书》和《需求规格说明书》,小项目可以写一个《需求分析报告》,《用户需求说明书》是用用户的语言进行描述,让用户和开发团队对于需求的达成一致的理解,《需求规格说明书》,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互操作的文档,也就是后期设计和代码开发的重要基线。 另外,作为了解需求,拿出用户UI和用户交流也是一项比较重要的需求获取手段,虽然这个属于设计的范畴。 3、系统设计阶段: 系统总体架构,结合用户对系统环境、开发语言以及运行的网络硬件等要求,确定开发工具等,对应用系统关系进行架构性设计,通过需求阶段对用户的分析归类

软件工程第二次作业

只愿长相守 提交于 2019-11-30 21:09:31
1、采访工业界的软件团队(通过邮件,微博,微信,阅读博客等方式),询问他们的软件开发流程 2、分组讨论, (1)投票选出你们小组成员最喜欢的两个团队类型 (2)辩论你们在这门课程中最应该采取哪种类型 (3)列出优劣 (4)课堂发言,或发表博客 一、软件开发流程 1、首先制定项目计划,最初计划是里程碑性质的。可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用进入试运行期(也可以称为用户测试阶段) 2、需求开发阶段:怎么样写好需求很关键,做软件致电一伍扒一一三三泗柒四四。如何学会进行需求开发可以去看下经典的《需求工程》这个翻译的书,不是很厚,但需要能理解为什么那样做更好,这个需要实践经验锻炼自己。如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。一般分为《用户需求说明书》和《需求规格说明书》,小项目可以写一个《需求分析报告》,《用户需求说明书》是用用户的语言进行描述,让用户和开发团队对于需求的达成一致的理解,《需求规格说明书》,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互操作的文档,也就是后期设计和代码开发的重要基线。另外,作为了解需求

完整社交APP需求分析原型设计整体架构前端后端架构

◇◆丶佛笑我妖孽 提交于 2019-11-30 20:22:29
一个社交 App需实现的功能 用户关注的常规社交功能、活动、地理位置、探索功能、新鲜事、视频照片分享等等,需要提供的功能不胜枚举,所以从技术角度来说,开发者需要解决的问题也是异常复杂的。 当一款社交 App发布之初,用户访问量比较小,使用一台服务器就能够支撑全部的访问压力和数据存储需求,但是互联网应用具有病毒式的传播特点。一款App很可能会面临一夜爆红的现象,访问量和数据量在短时间内呈现爆发式增长,这时候会面临的局面是每天上亿PV、数百万新增用户和活跃用户、流量飙升至每秒数百兆。这些对于一个只部署了简单后端架构的应用来讲是无法支撑的,会直接导致服务器响应缓慢甚至超时,以及在高峰期时服务呈现瘫痪状态,使得后端的服务完全无法使用,用户体验急剧下降。本文将会通过一个真实的案例来分享一个社交应用如何构建一个具备高伸缩性的后端系统。 社交 App最初部署的后端架构解析 社交 App在最初的时候,后端架构相对比较简单,最初是部署在基础网络之上。最前面放置一台绑定了公网IP的nginx服务器作负载均衡,后面放置3台应用服务器来负责处理所有业务上的请求,最后面搭建一台MySQL Database数据库。 构建私有网络 随着产品的不断迭代、用户数的持续增长、数据量的积累, App就需要改进自己的后端架构,即开始构建私有网络。用户可以使用私有网络构建自己的网络拓扑——创建路由器和私有网络