130242014048-(2)-《电商系统某功能模块》的需求分析与设计的课程小结

 1)分组情况介绍,小组分工合作情况介绍。
  通过报数(1-5),喊到相同数字的为一组,共五组,每小组有一个组长。
  我所在组为第三组:
    组长:蔡志峰
    组员:谢添华、樊镇霄、林梦远、曾子云,吴帮莉、周陈清、陈敬龙
    大家一起参与讨论,轮流来记录讨论的信息并回答问题。出现意见不统一时,采取投票表决,少数服从多少。

2)选题讨论
  大家一起集思广益,先各自提出自己的想法,有:购物车模块、搜索模块、广告轮播等
  经过各自对提出的模块的叙述,大家进行投票,最终我们小组决定以电商系统的搜索功能模块作为我们的选题。搜索主要分为按商品搜索(默认)和按店铺搜索。按店铺相对讨论得比较少,主要是按输入的关键字搜索店铺的名称;而按商品搜索,主要有:名称关键字搜索、语音搜索、商品图片搜索、二维码识别。

3)用户故事讨论
  王经理让我们各小组讨论一下各自选择模块的大致功能,并以讲故事的形式进行汇报。
刚开始,我们都还不清楚什么叫以用户故事来讲系统功能,所以讨论功能的时候还是会涉及到功能实现这一方面上去,将功能描述的过于细致,也出现了些专业性的术语。
后来王经理再次为我们解释:此环节要让客户听得懂我们在说什么,不能出现专业性的术语,要站在用户的角度叙述功能,而不是描述功能是如何实现。
之后,我们这样描述:用户先选择按商品还是店铺搜索,然后输入搜索关键字,再点击搜索,即可得到相关的信息列表。

4)功能分析讨论
  首先是搜索类别:商品搜索(默认)和店铺搜索,其次是搜索方式:名称关键字搜索、语音搜索、商品图片搜索、二维码识别。
  由于时间缩短,所以主要讨论了按商品搜索中的名称关键字搜,输入关键字后,在搜索框下,会提示有“猜你喜欢”,“历史记录”和“热门搜索”,用户通过点击相应的也可以进行搜索。
   

 


  王经理听完所有组的汇报后,为我们各组点评。从中,我们了解到了,做项目必须要有计划,有了计划就有了目标,才能更好地去实施,才能知道在现有的资源下,此项目能否准时完工。同时,对项目发生突发情况时,也能采取相对较好的处理措施,不会盲目、无从下手。一旦项目时间缩短,可以增加人手,加班,以及先基础功能、主要功能,后完善等。
 
5)建模
  王经理要求用软件工程UML对各自完成的功能进行建模。
  我们就搜索模块中的按名称关键字搜索这个基本功能进行讨论,讨论结果:需要一个商品类(ID,name,price...)和用户类(name,password)。
 

 

  汇报后,老师点评说,我们缺少控制类。之后我们再讨论,并添加了控制类,进行处理用户的请求,并返回相对应的商品信息。 

 

 
6)总结

  CMMI(Capability Maturity Model Integration)即能力成熟度模型集成。

  敏捷开发(AD:Agile Development )与CMMI有所不同,它比较不注重文档,主要是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。在每一次迭代周期结束时,都能交付用户一个可用的、可部署的系统,用户使用并体验该系统并反馈意见,在随后的迭代周期这些意见和需求的其他变化一起在产品中实现和集成。  

   敏捷开发有如下特征:
    1. 工作在小的团队中
    2. 团队是跨功能的-包括测试人员,开发人员,文档开发人员等等
    3. 短迭代-利用短迭代方法来交付软件
    4. 相较于文档,敏捷开发更注重面对面的交流
    5. 敏捷不是一个过程,而是一个软件开发的形式或者方法

  敏捷过程提倡可持续的开发速度;责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度;不断地关注优秀的技能和好的设计会增强敏捷能力;每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。

 

  如果再做敏捷的话,我将会在建模方面做的更好。

  下一节课我希望能够以交流讨论为主,大家一起谈论,可以将关注点集中、注意力集中。每一个人的思维、想法各异,不尽相同,有些时候能形成思想上的碰撞,将理论应用于实践,会有更深的感触理解。

 
 
posted @ 2017-10-09 18:47  Xth8013  阅读(264)  评论(0编辑  收藏  举报