ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 需求分析 项目实战《付费课程MVP系统》 ## 什么是用户故事? 用户故事是从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素: 1. 角色:谁要使用这个功能。 2. 活动:需要完成什么样的功能。 3. 商业价值:为什么需要这个功能,这个功能带来什么样的价值。 用户故事通常按照如下的格式来表达: * 英文:As a , I want to , so that . * 中文:作为一个, 我想要, 以便于 * 举例:作为一个“网站管理员”,我想要“统计每天有多少人访问了我的网站”,以便于“我的赞助商了解我的网站会给他们带来什么收益。” 需要注意的是用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述 ## 场景 cucumber里的步骤定义 ~~~ Given /^当前是(.*)/ do |action| @action= action end When /^输入是(.*)/ do |subject| @subject = subject end Then /^能看到(.*)/ do |greeting| if greeting != "#{@action}#{@subject}" raise "期望看到<" + greeting + ">,实际看到<" + "#{@action}#{@subject}>" end end ~~~ 场景: 1. 假如当前是中文 2. 当输入是测试 3. 那么能看到中文测试 场景1: 1. 假如当前是入库 2. 当输入是选择某个货品 3. 那么能完成入库 场景2: 1. 假如当前是入库 2. 当输入是无法选择任何产品 3. 那么能跳转到新建产品界面 ## 精简后的需求文档 我们探索的办法 * 使用用户故事描述,需求 * 使用场景来验证并测试 严格执行agile很难,没有scrum master搞不定 ## 具体需求 先实现一个MVP(最小可用原型) ### 查看所有课程 * 作为一个, * 我想要, * 以便于 场景1 1. 假如当前没有课程 2. 当输入是点击了查看所有课程连接 3. 那么能看到错误提示页面,提示请稍后再来 ### 查看课程详情 * 作为一个, * 我想要, * 以便于 ### 参加免费课程 * 作为一个, * 我想要, * 以便于 ### 参加付费课程 * 作为一个, * 我想要, * 以便于 场景1:支付成功 1. 假如当前支付成功 2. 当输入是钱数>0,并且微信支付成功 3. 那么能看到我的课程里的课程支付信息 场景2:支付失败 1. 假如当前支付失败 2. 当输入钱数《=0,或微信支付失败 3. 那么能看到错误提示页面,提示请返回重试 ### 查看我的个人信息 * 作为一个, * 我想要, * 以便于 ### 使用微信用户登录 * 作为一个, * 我想要, * 以便于 ### 查看我的课程 * 作为一个, * 我想要, * 以便于 ### 分享课程详情 * 作为一个, * 我想要, * 以便于