结对项目—第一次作业(俄罗斯方块)

news/2024/10/21 3:38:54/

项目·俄罗斯方块】需求分析、原型模型

【软件工程实践·结队项目】 第一次作业


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 · 心得总结


叶伟龙:第一次结队作业感觉并不是很容易,因为接触到的都是和我们以前学的不太一样,需要我们自己做需求分析,特别是原型模型,以前重来都没有接触过。通过这次作业可以让我更好的明白开发一个软件的前期步骤以及和队友的团队合作是多么的重要。这次的作业还是有点简陋,以后会努力将其完善。

 

丘杨:第一次总是困难的,还好有同学帮助,可以稍稍容易一点,不过,还是能学会很多东西的

 

转载于:https://www.cnblogs.com/xiaoyangboshi/p/10726809.html


http://www.ppmy.cn/news/475464.html

相关文章

H5版俄罗斯方块(4)---火拼对战的雏形

前言:   勿忘初心, 本系列的目标是实现一款类似QQ"火拼系列"的人机对战版俄罗斯方块. 在完成了基本游戏框架和AI的算法探索后, 让我们来尝试一下人机大战雏形编写.   本系列的文章链接如下:  1). 需求分析和目标创新   2). 游戏的基本框架和实现   3). 游…

俄罗斯方块(结对作业)

经过调研,我们发现大家对传统的俄罗斯方块游戏已经非常厌倦了,因为它游戏模式单一,缺乏挑战性和竞技性,只能一个人玩,同时方块种类没有任何改变,都是大家很厌倦的那几种,因此我们希望在这些方面…

用JavaFX写的网络对战版的俄罗斯方块

这款游戏好多人都做过,大多是单机版的,这个是我用JavaFX写的,利用它的动画功能实现不少效果,而且可以网络对战的,并附带聊天功能。 美工是抄JavaFX官方Sample的,主要的界面也没怎么下功夫。 装了JDK7的直接…

回归前端学习第25天-实现俄罗斯方块小游戏8(实现单机版4—设置计时、消行加分、游戏结束标志)

增改game.js与local.js代码,实现对游戏的设置计时、消行加分、游戏结束标志等环节的设计 计时计分游戏结束完整代码local.jsgame.js 注意 计时 1.定义显示时间的div,并通过init赋值到dom中(在game.js中 ) 2.通过local.js传入doms…

python单机小游戏大全手机版宫殿_用Python实现童年小游戏俄罗斯方块!别说还挺好玩!...

存储图书的相关信息,包括书名,作者,类型,数量。主码是name和author。 2.2 borrow表 借书单,存储借书人ID,书名,作者,借书时间。主码是name和author。 2.3 user表 使用者,…

俄罗斯方块联机小游戏的实现

前言 好友没有写博客啦。没啥可说的,就是因为懒。今后几篇为大家带来一个俄罗斯方块游戏的实现,网上有很多类似博客,大致原理一致,我自己想的思路也没有多大的偏差。不过我稍微加了一些联机元素在里面。先放一张效果图吧&#xff…

javascript俄罗斯方块小游戏

任务要求 用javascript实现一个经典的“俄罗斯方块小游戏” 要求:能计分,有不同关卡(速度不同),有高分榜, chrome 30以上浏览器能正常玩,主流android,iphone手机能玩 设计思路 方块有如下几种…

回归前端学习第23天-实现俄罗斯方块小游戏6(实现单机版2——键盘控制方块移动)

界面出现对应方块后,可自行控制其左右或快速下降的移动,上键可以实现方块形状的改变 调整代码结构实现键盘控制方块移动game.js中代码注意这里在SquareFactory中又写了个make函数,所以在game.js调用的时候,需要先new一个实例&…