130242014023“电商系统搜索模块”需求分析与设计实验课小结
Posted lglmlg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了130242014023“电商系统搜索模块”需求分析与设计实验课小结相关的知识,希望对你有一定的参考价值。
首先要感谢9月30日那天王经理的到来,给我们上了一堂有趣又实用的敏捷实验课。感觉沉寂的课堂热闹而积极了起来。
一、分组情况介绍,小组分工合作情况介绍。
上课的第一个步骤就是分组。根据报数来分组,我们是第一组。我们组每次讨论的分工就是几个组员一起分享自己的见解,然后大家讨论,一致同意的意见会被此轮要讲的同学记录下来,并报告给王经理。
二、选题讨论
分组完毕后,王经理让我们从电商系统中挑选一个小功能模块讨论。可以选择的模块很多,最终我们小组选择的是搜索模块,是觉得这个小功能很实用很方便,看似简单却又在搜索方式上大有文章。
三、用户故事讨论
接下来重要的内容来了!王经理给了大家一段更长的时间,让我们讨论起我们从未听说过的“用户故事”。
我们小组认为,把搜索模块的小功能细分,然后整理下各个更小的功能,以用户的角度思考需要什么,该如何使用这些。我们把淘宝现有的一些搜索方式作为参考,比如商品名称搜索和店铺搜索、按地域搜索、热门搜索、图片搜索、语音转文字等等。我还想到了根据功能描述的搜索,可以让VIP的用户通过描述来人工匹配到合适的商品并推荐。
最后组我们组说了一个用户可以使用怎样的方式进行搜索的用户故事,重点提到了用后台人工识别用户描述并且推荐商品的功能。而王经理认为我们不应该把功能如何实现也细说出来,在“用户故事”这一阶段,我们要做的,还是在用户的角度细分功能,用户根本不会关心功能是如何实现的。
于是我们在点评后进行了一些修改,保留了功能划分的叙述和用户的使用方式,而去掉了部分功能地实现的描述。我觉得在这一过程我们小组能够团结起来思考用户故事是好的,可是我们不应该在想到新功能以后就去过多地考虑具体的如何实现,不要在用户故事中加入用户看不懂的功能实现。我在这一环节总结的经验是:用户故事是站在用户的角度来细分功能,是从使用的角度来谈的,不要谈到功能实现。
四、功能分析讨论
下一个环节是在我们细分的功能中选择一个点来详细地分析,是从用户使用的角度来分析的。我们组选择的点是“图片搜索”。我们认为这会是一个比较值得探讨一个功能点。我们提出并讨论了图片搜索所有可能的情况,比如上传的不是图片,上传的图片不清晰或者没有拍到商品,上传的图片识别到多个商品,上传了一张二维码图片,网络问题等情况。
最终我们认为开始搜索后,无论是哪一种情况,我们都需要弹出一个提示框提醒用户,而提示的内容根据不同情况来定,用户就可以根据提示来了解是否成功搜索到商品或者失败的原因。然后我们组把所有可能遇到的情况和相应弹出的提示仔细地整理了一番并告诉王经理。王经理对我们组的汇报没有异议。感觉我们这样做还是比较正确的,有考虑到用户的感受,也比较浅显易懂。
五、建模
之后王经理让我们根据功能分析地讨论,对我们刚才说到的点进行建模,也就是画类图。虽然我们刚才的分析比较详细,可是要画类图,还难免有点懵。画类图重点是要了解对象有哪些,它们的属性和功能有哪些。我们组考虑到功能复用,认为使用接口来实现功能比较合适些。所以就把类图画成了下图这个样子:(画图的工具为Visio2013)
王经理认为我们类的划分不太合适,功能不够单一,建议把接收数据和验证数据这两个模块分开,而且都是接口,缺少了关键的实现类和接口、类之间的关系。所以我认为应该修改成这样:
我认为到类图这个阶段是一个详细的设计了,需要确定功能,要详细地划分模块,最好要一个模块只是实现单一的功能;实现类是该图的核心,它实现了主要的功能;各个类和接口也不是孤立的,它们相互之间有关系,比如输入依赖另一个接口的输出。
六、总结
这次课是一次与众不同的课,没有照本宣科地看ppt,而是直接在专业人士的带领下,从一个实际案例出发,层层细化,以小见大而又环环相扣,让我们在这一个过程中以一种从未经历过的方式来看待需求分析的问题,是一种不错的体验。
我想,敏捷开发大概是这个样子:结构整齐,节奏不拖沓,层层递进,不断细化功能,而又没有繁琐的文档。下一次再做敏捷的话,我想,我会在用户故事和功能分析的方面做的更好,我会尽量站在用户的角度上描述功能,细化重要功能,还会努力不去涉及到用户不懂的技术原理和实现方式。我期待的实验课是有趣,实用,具体的,类似于这样分组、分步地去讨论项目需求的实验课,而不只是单纯去查资料,去理解晦涩而陌生的概念。
以上是关于130242014023“电商系统搜索模块”需求分析与设计实验课小结的主要内容,如果未能解决你的问题,请参考以下文章
130242014059《电商系统搜索模块》的需求分析与设计的课程小结