2017秋-软件工程第五次作业(1)-【探路者】团队选题展示(文案+美工)
Part one 项目题目
贪吃蛇(英语单词版)
Part two 选题背景和意义
作为一个经典的游戏,贪吃蛇设计简单,实用和娱乐性高,是90后的我们童年的美好回忆。对于贪吃蛇传统的玩法,大家众所周知,即:玩家通过控制游戏手柄上下左右四个方向控制蛇的前进方向,每当吃到一个东西就会增加相应的分数,蛇的身子会越吃越长,蛇身越长游戏的难度就越大,不能咬到自己的身体,也不能碰到墙壁,积累到一定分数就可以通过此关,进入到下一关。小时候的我们在写完作业后会和朋友相约贪吃蛇,大家合作通过一关又一关。
现如今,随着网络科技水平的发展,市面上存在着各种各样的贪吃蛇的游戏版本,但是它的市场还是很大的。随着游戏进度的推进,蛇身越来越长,游戏的刺激感也越来越强。无论在手机还是游戏机上这个游戏都能顺利运行,人们无需下载过大的安装程序,占据过多的系统内存即可随时随地的开始游戏。
开发人员取“贪吃蛇”这样的名字,其用意是明显的,意义是深远的。其实,贪吃蛇并不贪,它象征着人们不断前行,不断追求。人生是一场相互陪伴却又始终孤单的征途,努力成长才是孤独里可以进行的最好的游戏;我们在跌跌撞撞、懵懂前行中日渐成熟,每一次经历、每一段旅程成就了今天的我们。所以,人生没有白走的路,每一步都算数。
为了重温这一经典游戏,本组的选题定为贪吃蛇游戏,并在此基础上进行了新的创新,将普通的贪吃蛇游戏改为单词版贪吃蛇。我们众所周知英语的重要性,学好英语对于每个人今后的发展都有着推动作用,现在的小孩子在幼儿园的时候就接受了简单的英语教学,熟记较多的英语单词对英语的学习起着巨大的积极作用,市面上的英语单词背记软件对于那些缺少英语学习兴趣、毅力较差、年龄较小的孩子很难使用这些软件保持较长时间的集中力背单词。本软件既可以实现贪吃蛇的游戏功能,又在原始功能的基础上增加单词背诵功能,使用户在娱乐的同时进行英语单词的学习。
Part three 软件预期功能
- 1、经典贪吃蛇功能;
- 2、单词背诵功能;
- 3、改变游戏地图功能(更改地图、增加地图网格);
- 4、改变颜色,如:地图背景、蛇头、蛇身等;
- 5、重设自定义设置功能;
- 6、成绩保存并展示功能。
Part four 需求分析
下面通过四个方面对项目进行需求分析:
1、项目的功能性需求:
- (1)游戏的开始和结束:若玩家发生分数为零或撞到障碍的情况会产生游戏结束事件。
- (2)对蛇的控制:玩家可以使用方向键对蛇的前进方向进行控制。
- (3)游戏的障碍物:游戏会在随机位置生成若干障碍物,若蛇触碰到障碍物,游戏结束。
- (4)单词功能:系统会在侧边窗口生成单词的汉语释义,并在地图中分散生成组成该单词的字母和若干干扰字母,玩家需要按正确顺序吃到排列成单词所需的字母。若吃到了错误的字母,则重新生成单词及释义。
- (5)分数统计:玩家每完成一个单词可以获得相应的分数,若连续正确可以获得加分,若是吃到了错误的字母则会扣分。分数低于0则游戏结束。
- (6)关卡:玩家达到相应的分数会进入下一关,蛇的长度重置,并会使用难度更高的词库,相应的随着关卡的提升,通关的分数要求也会提升。
- (7)音效:玩家分数发生变化、通关或是游戏结束都会产生相应的音效。
- (8)地图的切换:系统提供多种地图供玩家进行选择,玩家可以选择自己喜欢的地图进行游戏,并可能支持地图的自定义。
- (9)背景音乐的切换:系统提供多种背景音乐供玩家选择。
2、对产品开发过程的需求
- (1)在开发之前对软件做概要设计;
- (2)在开发之前对开发过程制定代码规范,规范参照结对编程的代码规范进行制定;
- (3)在规定的时间之前完成软件的成品,进行α发布;
- (4)在α发布后,对软件进行完善,在规定的时间之前完成软件新版本,进行β发布;
- (5)在β发布后,对软件进行完善,在规定的时间之前完成软件最终版本,进行final发布。
3、非功能性需求
- (1)按键后系统的响应时间不超过3秒;
- (2)系统窗口化运行过程中不会失去焦点。
4、竞争性需求分析框架——NABCD模型
N(Need,需求):“贪吃蛇”这个游戏对于80,90后的人来说是童年的记忆,可以将其说为是一个时代的经典;现在人们对英语的重视程度越来越深,现在的小孩子在幼儿园的时候就接受了简单的英语教学,熟记较多的英语单词对英语的学习起着巨大的积极作用,市面上的英语单词背记软件对于那些缺少英语学习兴趣、毅力较差、年龄较小的孩子很难使用这些软件保持较长时间的集中力背单词。本软件既可以实现贪吃蛇的游戏功能,又在原始功能的基础上增加单词背诵功能,使用户在娱乐的同时进行英语单词的学习。
A(Approach,做法):为了能够更好的完成软件,本组使用了众组员均较为熟悉的Java语言。本组组员均为90后,传统的贪吃蛇游戏是我们童年的美好记忆,所以对于贪吃蛇游戏我们均有使用经历;此外,作为具有创新精神的一代,对于传统的东西我们又有一些创新的想法。
B(Benefit,好处):重温经典的游戏——贪吃蛇;在玩游戏的时候可以进行单词背诵。
C(Competitors,竞争):通过随机对市面上有关贪吃蛇的一些APP进行试用,进而比较本组程序,得出如下竞争产品分析图:
图1 竞争产品分析图
我方优势:
- (1)最终产品为单机版,无需网络支持即可使用;
- (2)支持Windows多版本的系统,下载完成后打开即可使用;
- (3)在原有传统贪吃蛇的基础上用户可自行设置背景颜色、游戏场地、蛇头及蛇身颜色;
- (4)除基本贪吃蛇的功能外,还可进行英语单词背诵,增加程序实用性,在休息娱乐的时候进行了英语的学习。
我方劣势:
- (1)无法实现对人对战功能;
- (2)美工能力不足;
- (3)无法360°操纵贪吃蛇移动。
D(Delivery,推广):首先,本组组员会在自己周边对程序进行推广,让自己及周围的朋友进行使用;其次,对程序的功能和漏洞进行完善修改,并得到初期试用者的认可后,请求他们对自己的亲戚、朋友推荐这一软件,通过这种推荐给自己交友圈的方式,增大软件的使用范围;再次,我们会将程序的相关内容放置到GitHub平台上进行共享下载;最终,若程序使用感受反馈较好,我们会考虑将其提交到百度下载等软件下载平台上。
Part five 可行性分析
1.技术可行性:
(1)本次系统使用JAVA系统开发,Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。(转自百度百科)
MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。(转自百度百科)
数据库技术初步计划使用MySQL,此前组内同学都学习过数据库课程,能够实现JAVA连接各类数据库,并能够熟练使用JAVA对数据库进行各种操作。
综上所述,从前端到后台,从业务逻辑到数据库管理,组内队员本科都学过相关课程,4位同学做过类似项目。这个项目在技术上是通畅的。开发环境可以满足本次项目的需求。
(2)本组成员都有一定的JAVA开发经验,并在课程中学习了初步的工程化思想,同时将软件工程的方法应用于项目,未发现技术盲区,对于开发过程中遇到技术难点可以在可控的时间内解决,所以可以保证项目按时完成,
2.法律可行性
本项目使用的素材和音乐会使用开源的素材,同时程序代码全部由队内成员共同开发,不存在抄袭代码。不会产生侵权问题。
3.安全可行性
本项目只发布单机版本,不访问本机其他数据,不存在安全问题。
4.用户使用可行性
开发的应用操作非常简单,以便各年龄段对贪吃蛇感兴趣的群体可以很方便操作使用。无需专业人士指导和说明即可操作。
结论
本次项目的开发从技术上,法律上,安全上和用户使用上都是可行的。
Part six 界面设计初稿
图2 界面设计图(初稿)
Part seven 文案展示:
人生中每一个经历过的城市,都是相通的
每一个努力过的脚印,都是相连的
时间腐蚀着一切,荒漠化的不止地球,还有人心
如果不往前走,不让心灵变得强大,则终会被风沙掩盖生命的色彩
所以我们泪流满面,绝不回头,奋不顾身往前走
在人生,这场相互陪伴却又始终孤单的征途中,
努力成长是孤独里可以进行的,最好的游戏
我们跌跌撞撞,懵懂前行,
追寻着微小的光与热,在转瞬即逝的相逢与离别中日渐成熟
每一次成长,即使微弱得不会被人注意,却都拥有支撑心灵的重量
它们一步一步带我到今天,成就今天的我
人生没有白走的路,每一步都算数