课程 软件体系结构实验名称 实验二、敏捷开发-电商分类功能模块 第 页
专业__ 软件工程____ 班级_ 2班__ 学号 130242014054_ 姓名 康晶红 实验日期: 2017 年 10 月 9 日 报告退发 (订正 、 重做)
一、 分组情况介绍,小组分工合作情况介绍。
本组由编号为4的同学组成,组员有:黄超强(组长),陈文升,魏俊斌,康晶红。后杨俊杰、雷鸣、黄超。分工情况:由组长统筹论题方向和整理论题结论,各组员以不同角度切入问题分析并互为补充。
二、 选题讨论
本组主要讨论电商系统的商品分类功能模块。若是想形成如淘宝或京东这样完整且成熟的系统必定需要更多的时间深究和推敲,因此我们小组以一个三级菜单的大框架建构了这一分类功能,功能细节部分还会不断完善。
三、 用户故事讨论
(一)菜单的一级设计必须是清晰了然、极富逻辑性的,当用户进入这个系统时能够有效准确地将信息传达给用户而不需要花费太多的时间,也因其明确的分类列表促使用户产生使用该系统的欲望。换句话说,分类模块的设计要满足“想用”“能用”这两大要素。
(二)为满足用户需求,分类功能也可将用户经常浏览的商品按分类列表的同逻辑进行收集及后台数据分析,在用户重新登录系统时能提供推荐商品信息和用户常浏览的店家的商品更新信息。
(三)商品的分类也追求细化。因为商品种类繁多,而各种商品也含有较多属性(如服装类,长裤类还分类型、尺寸、颜色等),这些繁琐的信息会令用户在查找自己所需商品时增大难度,故需要明确商品的详细参数,在三级菜单上分类精细。
(四)界面的设计也要讲究美观和留白效果,在追求系统逻辑性的基础上提高整体美感。
四、 功能分析讨论
首先,电商的整体系统是继承了一对多的关系,好比栏目(分类)-文章(商品)模型,建模如(图一)。其次,只有分类并不能适应所有需求,比如nike鞋和nikeT恤,用户可能希望先看nike的所有商品,这个模型就不能满足。因此在这个关系中,参考各大电商系统,我认为还可以加入“品牌”概念,这样用户可以在系统首页上通过分类或者品牌找到自己想要的商品,也可以直接查看热门的商品和新上架的商品。建模如(图二),参考案例如(图三)。最后,分类功能的第一要务必然是满足用户能够有效、快速地通过分类找到自己所需商品的相关信息,而在大条件的前提下(如我们的一级菜单分为服装,二级菜单分为T恤)再通过具体的筛选条件(即我们的三级菜单)进一步缩小自己的目标范围,准确定位商品。以T恤举例,其袖长有长袖、短袖、七分袖等属性,版型有宽松、修生、直筒等属性,材质有棉、涤纶、聚酯等属。故我们小组得出:一个分类对应若干属性,而一个属性又对应若干属性选项,而多个属性选项又对应具体的商品提供用户选择。建模如(图四),参考案例如(图三)。而再往下具体到商品,用户可以选择具体商品的颜色、尺寸和数量等。这给我带来了疑惑,这里的“颜色”和“尺寸”是什么,一件商品的不同颜色不同尺寸是算一个商品还是多个商品。经过思考后,我们发现我们混淆了两个概念——“商品”和“货品”。不同规格的货品作为独立的商品。比如一条裤子的有L尺寸、M尺寸、一个U盘有16G还是32G的,都是同样的货品,不同规格的商品。可以认为货品和商品是一对多的关系。弄清了这个概念,处理这个需求就容易多了,这里的“颜色”、“尺寸”我们就作为“规格”来处理,而红色、黑色;L号、M号我们视为规格的选项或者说规格值。一件货品对应若干规格,而具有某一规格值的货品就是商品。参考案例如(图五)。
五、 建模
图一
图二
图三
图四
图五
小组讨论初稿
六、总结
关于敏捷,你的了解是什么?体会是什么?下一次再做敏捷的时候你会在哪些方面做得更好?你期待下一次的实验课是什么形式的?
答:以往在开发一个项目时往往会先考虑需要实现哪些功能,如何实现,后期如果系统需要更新改进再重构。而这样的开发思路也会导致一些问题,如开发效率下降、系统持续性低等。通过这次对敏捷开发的学习,有两大的体会,一是:我们不需要在一开始就准备好一切,实际上就算想这么做也不太可能。因为在建模过程中我们没办法包容所有的细节,只能提供足够的细节。我们没有必要试图在一开始就建立一个囊括一切的模型,只要开发一个小的模型或是概要模型,打下一个基础,然后慢慢的改进模型,或是在不在需要的时候丢弃这个模型。这种递增的思想更适合应用在开发过程中。二是:即便我们的团队已经把一个能够运转的系统交付给用户,我们的项目也还可能是失败的——实现项目投资者的需求,其中就包括我们的系统应该要有足够的鲁棒性,能够适应日后的扩展。要做到这一点,我们不仅仅要构建高质量的软件,还要创建足够的文档和支持材料来支持未来的发展。下一次再做敏捷,我觉得在对系统的构建方面我会有一个全新的切入,不拘泥于传统的模式。总而言之,敏捷课堂还是有所收获,这样的头脑风暴,这样的新建推翻再新建也很有意思,可以期待。