【项目·俄罗斯方块】需求分析、原型模型
【软件工程实践·结队项目】 第一次作业
Part 0 · 简要目录
- Part 1 · 结队信息
- Part 2 · NABCD模型
- Part 3 · 原型设计
- Part 4 · PSP 表格
- Part 5 · 结对过程
- Part 6 · 心得总结
Part 1 · 结队信息
成员列表
成员一:叶伟龙,3013
成员二:丘扬,3012
项目相关
项目名称:俄罗斯方块小游戏
项目描述:新版俄罗斯方块款式多样、地图多样化,是90后追忆童年的不二之选。
Part 2 · NABCD模型
N(Need 需求)
俄罗斯方块对于90后的童年来说占了很大一部分比例。90后的童年从刚开始的小霸王游戏机到插卡的游戏机都有俄罗斯方块的身影。所以新版的俄罗斯方块加入了多种背景图以及多人对战的方式,增加游戏的乐趣。
1、项目的功能性需求:
(1)游戏的开始和结束:开始要登录注册游戏,选择单人或者多人模式进行游戏。若玩家发生分数为零或一直叠加到顶层的情况就会导致游戏结束。
(2)对方块的控制:玩家可以使用虚拟的上下左右键位进行方块的移动以及Z和W进行方块的变形和快速落下。
(3)游戏的进阶:当分数累积到一定时,系统会自动为玩家提高难度,同时方块也相应的改变颜色,用来对玩家提示
(4)分数统计:每消除一部分方块即可获得分数。游戏时间越长,获得的分数也越多
(5)道具使用:消除方块的时候有机会获得道具,同时在游戏过程中可以使用道具获得相应的效果
(6)音效:玩家分数进阶、通关或是游戏结束都会产生相应的音效。
(7)背景音乐的切换:系统提供多种背景音乐供玩家选择。
2、对产品开发过程的需求
(1)在开发之前对软件做概要设计;
(2)在开发之前对开发过程制定代码规范,规范参照结对编程的代码规范进行制定;
(3)在规定的时间之前完成软件的成品,进行α发布;
(4)在α发布后,对软件进行完善,在规定的时间之前完成软件新版本,进行β发布;
(5)在β发布后,对软件进行完善,在规定的时间之前完成软件最终版本,进行final发布。
3、非功能性需求
(1)按键后系统的响应时间不超过2秒;
(2)系统窗口化运行过程中不会失去焦点。
A(Approach 做法)
本游戏打算采用Java语言进行编写,考虑多种因素以及身为90后的我们的经典回忆,对游戏进行一些创新,比如多人对战以及可以使用道具对对手产生障碍等进行一系列的创新,使游戏变得更加有趣和多样性。
B(Benefit 好处)
俄罗斯方块简单易上手,创新增加了可玩性,可以让90后重温经典,同时又有新创新可以对这个游戏更加感兴趣。
C(Competitors 竞争)
通过随机对市面上有关贪吃蛇的一些APP进行试用,进而比较本组程序。
我方优势:
(1)最终产品为单机与联机兼并版,无网络支持时可以进行单人游戏,有网络时可以进行多人对战;
(2)支持手机IOS和安卓系统,下载完成后打开即可使用;
(3)在原有传统俄罗斯方块的基础上,地图、背景英语以及方块的颜色多样化,;
(4)本版本的多人对战以及道具的使用增加了游戏的可玩性。
我方劣势:
(1)缺乏模式多样性;
D(Delivery 推广)
首先本组成员会在自己的朋友圈进行推广,收集反馈意见,如果反馈良好再让自己的朋友接着推广,同时我们可以再把这个游戏发布在微博,百度贴吧等进行推广宣传。
Part 3 · 原型设计
使用工具:墨刀
设计流程
阶段一:统一思想,明确方向;
阶段二:分工合作,边做图边同步信息;
阶段三:完善细节,撰写
原型截图
Part 4 · PSP 表格
PSP2.1 |
Personal Software Process Stages |
预估耗时 |
实际耗时 |
Planning |
计划 |
20 |
20 |
· Estimate |
· 估计这个任务需要多少时间 |
20 |
10 |
Development |
开发 |
600 |
550 |
· Analysis |
· 需求分析 (包括学习新技术) |
300 |
300 |
· Design Spec |
· 生成设计文档 |
60 |
50 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
20 |
20 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
--- |
--- |
· Design |
· 具体设计 |
180 |
120 |
· Coding |
· 具体编码 |
--- |
--- |
· Code Review |
· 代码复审 |
--- |
--- |
· Test |
· 测试(自我测试,修改代码,提交修改) |
60 |
20 |
Reporting |
报告 |
190 |
135 |
· Test Report |
· 测试报告 |
150 |
120 |
· Size Measurement |
· 计算工作量 |
10 |
5 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
30 |
10 |
合计 |
830 |
565 |
Part 5 · 结对过程
照片
Part 6 · 心得总结
叶伟龙:第一次结队作业感觉并不是很容易,因为接触到的都是和我们以前学的不太一样,需要我们自己做需求分析,特别是原型模型,以前重来都没有接触过。通过这次作业可以让我更好的明白开发一个软件的前期步骤以及和队友的团队合作是多么的重要。这次的作业还是有点简陋,以后会努力将其完善。
丘杨:第一次总是困难的,还好有同学帮助,可以稍稍容易一点,不过,还是能学会很多东西的