电商系统搜索功能模块
1)分组
这个小组是临时随机组建的,小组内有一个组长,两个负责记录画图、录像,剩下的负责发言。全组都参与课题探讨,集思广益,得出最佳解决方案。
2)选题讨论
本次我们小组选择的是搜索功能模块。这个功能非常的常见,每个软件、每个网站几乎都有搜索功能。但是电商系统的搜索有着其独特的地方,看似简单,实则大有玄机,要把用户体验提升到最佳,已经尽可能的减少系统开销,仍需一番功夫。电商系统的搜索大致分为商品分类搜索和搜索框搜索,经过讨论我们小组决定选择系统顶端的那个搜索框。
3)用户故事讨论
情况介绍:这里讲师让我们进行用户故事讨论,通俗一些说就是向用户介绍这个系统,使得开发人员和用户在需求上能够尽可能达成一致。后来遇到了一些误区,这个在后面会说到。
讲师点评:我们所讨论的用户故事很多时候太细化了,细化到了一些实现具体技术,比如数据的整个流出流入过程,经过哪些传输渠道,涉及到了一些后台的技术。这个其实用户不太关心,用户不理解这些java js具体的实现流程,反而给沟通带来了困难。
修改:比如告诉用户:1.这个搜索框可以根据关键字补全查询信息。2.搜索结果分为店铺和商品两种,比如搜索小狗,可以补全小狗吸尘器的热门型号,以及小狗旗舰店和专卖店。3.没有输入的时候会根据大数据结果在搜索框给出默认灰色字样的建议。4.支持历史搜索。
心得:通过这次讨论,我知道了和客户讨论不需要涉及很多的技术细节,重要的是要让用户理解,还有自己也要知道用户真实需要的需求,讨论要高效,不然以后的需求不统一将会很麻烦。
4)功能分析讨论
情况介绍:有了上次的经验,这里我们就知道需要讨论的是具体的功能、开发人员需要考虑的东西,涉及技术细节。因此我们就针对搜索细节进行讨论。比如那个默认的搜索建议,这个可以通过大数据,从2个方面入手,1是近期热门商品,2是根据用户搜索时候访问的历史,以及对不同类型商品访问停留的时间进行综合分析,得出最佳的结果呈献给用户。
讲师点评以及修改:和我们交流了一些功能细节上需要完善的地方。我们也针对这些进行了优化。
心得:通过这次讨论,我了解到了更多设计功能的时候需要注意的问题,以及一些功能模块还需要和项目预期时间相适应,有可能不能像做作业那样尽善尽美。比如讲师提到一点,要是项目组突然接到通知,交项目时间突然从1个月改成3天了改怎么办,功能怎么安排,这里我们讨论的结果就是先从简单的入手,高级功能先放着以后再完善。
5)建模
情况介绍:这里用软件工程课程学到的知识进行建模,比如类图 uml图等。
讲师点评:我们的图还有不足,差一个类似于“控制类”的东西,用户提交的东西和后台数据都要经过它。
完善:我们加上控制类,大概就是用户提交-》控制类接受进行分配-》后台获取-》返回。
6)总结
通过这次王经理给我们上的敏捷小课,我了解到了什么是敏捷开发,它和cmmi的一些区别,比如前者不那么注重文档,但是离不开文档。有人也提出了现在开发很少再去画图什么的,讲师也给予解答:开会讨论的时候还是需要画图的,它能较为精确够记录下讨论的过程,是今后开发的依据。我也认识到企业实际开发和平时学校作业级别的项目是不一样的,从和用户沟通,到写需求报告设计报告,到最后的开发和维护,都是有技巧的,学校里面大部分还是只学习开发部分,自己的知识还有所不足。现在还有一种新型的开发模式,先写好测试代码再开发,这对我而言是比较新颖的。还有一些感想在上面小点已经提到这里就不加以赘述,总之,这次的课堂让我收获颇丰,让我对敏捷开发有了更加深入的理解,它使得开发更加有效率,我期待下次课堂也是这种开放式交流的形式,课本上的知识大家可以自学,这样的课堂才可以学到更多,大家也更有积极性。