软件工程团队第一次作业
团队作业
1.要求
题目要求
建立团队博客,可以指定一名同学的博客,今后所有的作业都发布在该同学的博客上(建议使用队长的博客)
团队各成员集体讨论,在我们讲过的团队类型中票选一个你们准备采用的合作方式
确定团队题目,题目范围及来源最好来自于实际场景
利用竞争性需求分析框架(NABCD Model)说明团队项目选题的合理性
确定团队开发技术,包括语言、工具、框架等
2.团队介绍
团队名称:2048合作小组
团队组成:组长 周磊;组员 李廉颇,高阳,李子涵,杨颢,辛娟娟。
工作分配:前端设计编码及界面设计由周磊,杨颢,辛娟娟负责,后端及数据库由李廉颇,高阳负责,博客编写及文档由李子涵负责。
3.选题及合作方式
好了,说了很久的团队作业终于来了这次我们决定做一个益智类小游戏——2048,嗯,听着就很程序员嘛。
至于合作方式,我们选择了社区模式。大家根据自己感兴趣的方面,尽力而为。当然了,最终的目标是完成团队项目。
4.竞争性需求分析框架(NABCD Model)
- Need--需求
随着时代的发展,智能手机已经成为现代人类必不可少的一个工具。从最初只具备电话功能,到拍照、上网,再到后来的游戏,手机经历经历了一个快速发展的过程,可以在手机上玩的游戏也是越来越多。但是,现代生活产生的大量碎片化时间,使得人们可能没有太多的时间一直去玩一款游戏。因此,类似于“2048”这样的小游戏便横空出世——充分利用人们的碎片化的时间,平均一局只有几分钟,在地铁上、公交车上,随时随地开始,随时随地结束。于是我们便想写一个“2048”的小游戏,以上就是我们想要完成这个项目的缘由。 - Approach--做法
最初我们团队经过讨论打算用C语言完成这次的项目,但是由于C语言本身存在诸多不便,在于日后写界面和项目能在手机上运行时就会体现,因此最终我们决定用Java语言作为主体,同时伴随Javascript、css、html和数据库等等开发工具。虽然说解决问题最好拿自己最擅长的技术,但是总会有遇到需要用到超出自己技术的问题,比如这次的这个项目,用C语言确实不太合适。这个时候有两个方案1.学习这些自己不熟悉的技术,是标准的解决方法,虽然不知道会遇到多少困难,甚至不知道能不能成功,但是大多数情况下还是非常成功的。2.用自己擅长的方法,采用曲线救国的方式解决,这样可能会很麻烦。邹欣老师书中所说的软件工程的思想,不用最好的最前沿的技术,而使用已有的最稳定的技术保证软件的正确运行,这点很符合我们这次项目所思考的问题。 - Benefit--优点
我们这个小游戏,相比于市面上其他流行的游戏,最大的优点就是方便。1.需要的设备只需一部手机,甚至不需要多强大的功能。2.随时随地开始,随时随地结束,这点我在需求里写了,总之就是不会花费太多时间在这个游戏上,充分利用碎片化的时间。3.不会上瘾,这种小游戏,偶尔玩一玩可以,但是谁也不会玩它玩上瘾,避免小孩长时间玩手机。 - Competitors--竞争
可能我们开发的这个小游戏还不存在竞争者的问题,我们最大的竞争者就是市面上已存在的各种“2048”小游戏。因此,想要留住用户就需要我们能开发出别的游戏还不存在的功能或者玩法。比如,别的游戏界面是44,我们如果开发出55呢?再比如我们开发出每次随机产生的小方块是不同颜色,只有相同颜色的小方块才能互相合并?等等,这些需要我们在接下来的软件开发中实现,当然以上也都只是我们的一些想法,还不具备真正实现的实力,还是要看接下来的运作。 - Delivery--推广
在我看来,这一步是仅次于软件开发以外最重要的一步。我们做软件开发的目的是什么?就是为了用户能使用,软件做的再好,没有推广,到头来就我们几个开发者使用,这算什么情况?怎么推广也是非常重要的一种能力,如果市面上有几款相同的产品,你和它们一起去竞争,你要怎么能够说动人家用你的产品呢?我觉得有以下3点非常重要:1.自身产品的竞争力。这点不用多说,任何一个能够让大家都去使用的软件如果没有过硬的实力就算再会推广最终也会被大众所抛弃的。2.选择合适的人群。我们既然制作的是一款能够打磨零碎时间的游戏,那么受众对象应该主要是每天需要坐地铁或者公交车的上班族,以及一些零碎时间较多的大学生,所以比如说那些年龄大的老人或者很小的小孩,对他们做推广就不合适。3.要把自己的优势拿出来,如果两家产品质量差不多,那么别人选择你的理由是什么呢?当然是自己所有的特色了,着重推广自己的优势面,这样才能让人家印象深刻。
5.开发技术
开发环境:Windows 10
开发语言:Java,Javascript,css,html
开发工具:eclipse,sublime
框架: mybatis、jQuery 等
数据库:MySq l5.7