
用户故事之规范拆解与拆分.ppt
15页敏捷优化变革项目组佘作传用户故事用户故事规范、分解与拆分规范为什么要标准化用户故事格式第一篇章•标准格式•用户角色•用户价值标准化格式•作为……,我希望……,以便……•作为一个用户,我希望能导航能进行语音播报,以便我更方便地使用导航示例•文字游戏?•三要素:用户角色、用户需求、用户价值用户角色•作为……(WhoNeedIt?)•作为一个用户,我希望能导航能进行语音播报,以便我更方便地使用导航示例•NeedMore?•ReallyNeedIt?•作为一个驾驶员,我希望能导航能进行语音播报,以便我更方便地使用导航BadBetter用户价值•以便……(WhyNeed?)•作为一个驾驶员,我希望导航能进行语音播报,以便我更方便地使用导航示例•NeedMore?•AnotherWay?•作为一个驾驶员,我希望导航能进行语音播报,以便我在驾驶的过程中更安全地使用导航BadBetter分解为什么要分解用户故事第二篇章•单一价值•规模适中单一价值•WhyDoThemNeed?示例•作为一个驾驶员,我希望导航能进行语音播报,以便我在驾驶的过程中更安全地使用导航•HowToMeetThem?导航路痴路痴远行者远行者常违章常违章者者闯红灯闯红灯超速超速速度感速度感不强不强指路指路超速提超速提醒醒路口路口摄像头摄像头提醒提醒雷达测雷达测速提醒速提醒Bad示例①作为一个路痴(远行)的驾驶员,我希望导航能用语音播放方向指示,以便在更安全地通过导航了解下一步行驶方向②作为一个新手(对车速不敏感)的驾驶员,我希望导航能在我超速的时候及时提醒我减速,以便我能随时将车速控制在安全时速范围内③作为一个爱闯红灯的驾驶员,我希望导航能用语音进行闯红灯拍照提醒,以便我能够有选择性地闯红灯,减少被记闯红灯违章④作为一个爱超速行驶的驾驶员,我希望导航能用语音提醒前方有雷达测速装置,以便我能够及时减速,减少被记超速违章BetterBetter规模适中示例•作为一个路痴(远行)的驾驶员,我希望导航能用语音播放方向指示,以便在更安全地通过导航了解下一步行驶方向•RiskBad•Bottleneck语音引擎、地图包……•技术故事1:集成地图包,为语音导航提供数据依赖•技术故事2:集成语音识别引擎,为语音导航提供文字向语音转换的接口•作为一个路痴(远行)的驾驶员,我希望导航能用语音播放方向指示,以便在更安全地通过导航了解下一步行驶方向Better拆分将小规模故事拆分成任务第三篇章•Why•HowWhyHow•设计•计划•架构•依赖•……示例•描述作为一个彩民我希望有一个能自动生成彩票号码,并自动通过短信投注的功能。
以便提高机选中奖几率,并方便地进行短信投注•验收条件1.能显示往期开奖号码(每次显示20期,通过点击“下一组”附加显示后20期,按照时间先后排序显示)2.能手动输入投注号码、注数,完成输入后可点击“自选投注”向购彩中心发送短信3.能点击“机选号码”,自动生成随机彩票号码(蓝球在往期(最近100期)蓝球概率前十的数字中随机生成),如果往期蓝球总数少于10个大于5个,则在实际产生的数量中生成随机数,如果小于等于5个,则在实际产生的蓝球外生成随机数红球先在奇数区全随机生成3个,再在偶数区全随机生成3个4.点击“机选号码”后能显示生成的号码,并出现注数输入框,可输入投注注数,再点击“机选投注”向购彩中心发送短信也可点击“机选号码”重新生成投注号码5.点击“全自动投注”可直接自动生成一注彩票,并发送购彩短信自动生成方式同“机选号码”一致MVC•视图(View)代表用户交互界面,不包括在视图上的业务流程的处理•模型(Model)就是业务流程/状态的处理以及业务规则的制定业务模型还有一个很重要的模型那就是数据模型数据模型主要指实体对象的数据保存(持续化)•控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求结果M:(数据、规则)•设计一个类,用于描述投注号码•设计一个类,用于描述开奖号码•设计一个用于保存往期开奖号码的数据库•设计一个类,用于描述投注短信的内容V:(视图、界面)•设计主界面(“查看往期”“自选输入框”“自选投注”“机选号码”“全自动投注”)•设计往期号码查看界面(“往期号码列表”“下一组”“返回”)•设计点击“机选号码”后的界面(“生成的号码”“注数输入框”“机选投注”)C:(控制逻辑)•设计一个类用于从收到的短信中提取开奖号码,并将号码保存到数据库中。
•设计一个类用于从数据库中读取往期号码,创建往期号码列表,并能将列表中的数据显示在屏幕上•设计一个类,用于生成自选号码与注数,并生成一条投注短信•设计一个类,用于生成机选号码与注数,并生成一条投注短信•实现机选投注功能•实现全自动投注功能更快、更准地给用户带来惊喜。












