2048小游戏—设计开发

软件需求规格说明书

 

甜美女孩

2018年10月

———————————————————————————

文档修改记录

日期

版本

说明

作者

2018-10-18

V1.0

第一次编写

曾祎祺

目录

.引言... 4

1.1编写目的... 4

1.2项目背景... 4

1.3参考资料... 4

.任务概述... 4

2.1目标... 4

2.2运行环境... 5

2.2.1服务端... 5

2.2.2客户端... 5

2.3条件与限制... 5

.产品用户分析.. 5

3.1 产品的用户... 5

3.2 对用户设的优先级... 6

.功能需求... 6

4.1功能划分... 6

4.2功能描述... 7

4.2.1初始选项:... 7

4.2.2基础模式游戏.. 7

4.2.3自定义模式游戏... 7

4.2.4纸牌模式游戏.. 7

.性能需求... 8

5.1数据精确度... 8

5.2时间特性... 8

5.3适应性... 8

5.4安全性需求... 8

5.5 可靠性和可用性需求.. 8

.运行需求... 9

6.1用户界面... 9

6.1.1初始界面:... 9

6.1.2新游戏界面:.. 9

6.1.3排行榜界面:.. 9

6.1.4游戏界面:... 9

6.2硬件接口... 10

6.3软件接口... 10

1.引言

1.1编写目的

在经过了我们组内思考,讨论以及投票后,提出了这份软件需求规格说明书。

此需求规格说明书对《多模式2048》软件做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使软件开发人员能清楚地了解用户的需求,并在此基础上完成后续设计与开发工作。

本说明书是整个软件开发的依据,它对以后阶段的工作起指导作用。本文也是项目完成后系统验收的依据。

1.2项目背景

现代生活节奏日益加快,人们碎片时间变多,很多时候在一些间隙时间并不能说很好的读完一本书或者玩一个剧情性比较强或者说要花费更多时间去完成的游戏。一些操作简单,完成一盘耗费时间更短的小游戏越来越受人们的青睐。

而关键的一点,是本项目含有三种模式,其中新颖的纸牌模式和有趣创新的自定义模式会吸引更多的用户。

1.3参考资料

2.任务概述

2.1目标

做出一个界面简洁有趣,有基础、纸牌、自定义三种模式可选择的2048小游戏,能存储已配置好的自定义样式,能看到各模式的分数排行榜。

2.2运行环境

2.2.1服务端

操作系统:Windows 10

2.2.2客户端

Windows各版

2.3条件与限制

本游戏需要一定的存储权限以及存储空间。

3.产品用户分析

3.1 产品的用户

产品的潜在用户或操作员的列表。针对每种类型的用户,提供以下信息:

1.    用户分类:

学生,办公室工作人员,住家工作者(包括退休或赋闲人员)

2.    用户工作的任务:

玩游戏

3.    主要相关的经验:

4.    技术经验:

基本的计算机操作技能,基本的数字计算能力,逻辑思考能力,图形辨认能力

5.    其他用户特征:智力正常,接受过小学三到四年级程度的教育即可玩本游戏,会识汉字。

3.2 对用户设的优先级

1.    关键用户:学生;

2.    次要用户:工作/社会人员,退休/赋闲人员;

3.    不重要的用户:不常用和没有相关技能的人们。

4.功能需求

4.1功能划分

1、初始选项

2、基础模式游戏

3、自定义模式游戏

4、纸牌模式游戏

4.2功能描述

4.2.1初始选项:

4.2.1.1.游戏进度选择:

有新游戏、继续游戏、退出游戏三个选项,选择新游戏则开始新一轮游戏,继续游戏则继续上一次退出游戏时未结束的游戏,退出游戏则关闭程序。

4.2.1.2.玩法介绍:

用户可点击玩法介绍选项,观看三种模式的玩法介绍。

4.2.1.3. 模式选择:

用户点击新游戏或继续游戏选项后,会出现基础模式、纸牌模式和自定义模式三个游戏模式可供选择。

4.2.1.4. 排行榜:

用户可以点击排行榜选看基础模式和纸牌模式的分数排行榜。

4.2.2基础模式游戏

4.2.2.1游戏开始时随机出现两个模块,数值为2或4。

4.2.2.2玩家可通过键盘方向键来控制游戏,也可以通过按住左键的鼠标移动方向来控制游戏。

4.2.2.3每次作出移动控制时所有模块一起移动。

4.2.2.4每一次进行移动后皆随机出现一个模块,数值为2或4。

4.2.2.5判断玩家作出的控制方向是否可以移动,若不能移动则等待下一次控制,没有模块可移动不出现新的随机模块。

4.2.2.6两个相同数值的模块碰撞到一起转变为一个新的模块,数值为前两个模块数值的和。

4.2.2.7每碰撞形成一个新的模块,分数增加,增加数值为新模块的数值。

4.2.2.8判断有没有相邻的同数值数值模块,后判断有没有空的位置出现新的随机模块,若都没有,游戏结束,记录分数。

4.2.2.9若游戏中途退出,可自动保存待下次继续游戏。

4.2.3自定义模式游戏

4.2.3.1同4.2.2。

4.2.3.2 玩家可自主上传图片,一个数值对应一张图片,要标明限定格式以及大小。

4.2.3.3 自定义完后可以保存当前样式。

4.2.3.4 可删除已保存的样式。

4.2.3.5 不作排行榜,只记录最高分。

4.2.4纸牌模式游戏

4.2.4.1 在底部显示两张纸牌,纸牌数值均为2^n(n∈6),两张纸牌叠合起来,前一张为可拖动纸牌,后一张为不可拖动纸牌。

4.2.4.2 通过鼠标左键点取以及拖拽纸牌来进行游戏,表面的纸牌可以拖动,后面的纸牌不能拖动。

4.2.4.3 移动纸牌接到每一列的最末位,若纸牌数值跟前面纸牌数值相同,则合并为一张新的纸牌,数值为其二之和。

4.2.4.4 每移动一张纸牌,后一张纸牌变成位置变化在前,后一张为新生成纸牌。

4.2.4.5 每合成一张新纸牌,分数增加,增加数值为新纸牌的数值。

4.2.4.6 每列纸牌归列后不可再次移动。

4.2.4.7 纸牌数值达到2048后即消失,空出位置。

4.2.4.8 判断纸牌位置是否超出底线,若不能与前面纸牌合并,则游戏结束,记录分数。

4.2.4.9 若游戏中途退出,可自动保存待下次继续游戏。

5.性能需求

5.1数据精确度

游戏操作要严格按照玩法说明,否则不予回应。

5.2时间特性

一般操作的响应时间应在120毫秒内。

5.3适应性

   不需连接网络,对前面提到的运行环境要求不应存在困难。

5.4安全性需求

   此程序会进行即时的数据更新,减少因为各种意外而导致程序中断致使游戏进度丢失的可能。

5.5 可靠性和可用性需求

(1)操作简单合理,只需用到鼠标以及键盘方向键,不需要额外更多的计算机技能。

(2)支持没有计算机使用经验/经验少以及经验丰富的用户方便地玩游戏。

(3)操作完成时有同一规范的提示信息。例如:用户选择删除自定义样例时,系统可提示警示框“您确认删除此样例吗?操作不可恢复。”,用户点击确认后,系统才执行删除操作。

(4)用户可自定义游戏图片,可玩性高。

(5)有详尽的玩法介绍

  

6.运行需求

6.1用户界面

6.1.1初始界面

6.1.1.1 自定义模式、基础模式、纸牌模式、三个选择按钮
6.1.1.2 玩法介绍 选项
6.1.1.3 输入昵称的输入框
6.1.1.4 背景图片
6.1.1.5 游戏图标
6.1.1.6 鼠标移到任何可选选项(按钮)的地方变为手指符号

6.1.2新游戏界面

6.1.2.1 自定义模式

6.1.2.1.1 新游戏、继续游戏、返回上一级,三个选择按钮
6.1.2.1.2 自定义模式以前保存的样式选择


6.1.2.2 经典模式

6.1.2.2.1 新游戏、继续游戏、返回上一级,三个选择按钮
6.1.2.2.2 排行榜选项

6.1.2.3 纸牌模式
6.1.2.2.1 新游戏、继续游戏、返回上一级,三个选择按钮
6.1.2.2.2 排行榜选项

6.1.3排行榜界面

6.1.3.1 纸牌模式和基础模式的分数排行表

6.1.4游戏界面

6.1.4.1 背景图
6.1.4.2 基础模式的每格样式
6.1.4.3 纸牌模式的纸牌样式
6.1.4.4 自定义模式的每格自定义图片上传
6.1.4.5 分数以及目前最高分显示
6.1.4.6 新游戏选项
6.1.4.7 基础模式的间隔安排,移动动画,格数安排
6.1.4.8 纸牌模式的纸牌间隔、摆放,出牌动画,消除动画,牌数安排

6.2硬件接口

6.3软件接口


以上,需求规格说明书。

团队项目码云地址:https://gitee.com/sweet_girl/Custom-2048

预期用户量:1000.

系统真实性,可用性:

(1)操作简单合理,只需用到鼠标以及键盘方向键,不需要额外更多的计算机技能。

(2)支持没有计算机使用经验/经验少以及经验丰富的用户方便地玩游戏。

(3)操作完成时有同一规范的提示信息。例如:用户选择删除自定义样例时,系统可提示警示框“您确认删除此样例吗?操作不可恢复。”,用户点击确认后,系统才执行删除操作。

(4)用户可自定义游戏图片,可玩性高。

(5)有详尽的玩法介绍

系统价值所在:

现代生活节奏日益加快,人们碎片时间变多,很多时候在一些间隙时间并不能说很好的读完一本书或者玩一个剧情性比较强或者说要花费更多时间去完成的游戏。一些操作简单,完成一盘耗费时间更短的小游戏越来越受人们的青睐。

而关键的一点,是本项目含有三种模式,其中新颖的纸牌模式和有趣创新的自定义模式会吸引更多的用户。

团队项目issues

团队项目issues截图

团队项目的时间安排表

原有安排表

第 6 周

1.团队组队、团队博客

 

2.团队介绍、成员展示、角色分配、选题确定

3.制定团队计划安排,团队贡献分的规定

第7周

1.需求规格说明书

2.原型设计,队员估计任务难度并学习必要的技术

3.编码规范完成、平台环境搭建完成、初步架构搭建

第8周

1.原型改进(给目标用户展现原型,并进一步理解需求)

2.架构设计,WBS, 团队成员估计各自任务所需时间

3.测试计划

第9周

1. 团队项目Alpha任务分配计划

2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交

第10周

1.用户反馈+测试计划改进

2. 团队Alpha阶段个人总结

3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理

第11周

1. 团队项目Alpha博客:事后分析

2. 每个团队有一人必须离开,自己寻找下一个接纳自己的团队。团队发博客宣布离队和接纳的成员。

第12周

1. 团队项目Beta任务分配计划,介绍新成员

2. 连续7天的Beta敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交

第13周

1. 团队项目Beta博客:发布说明、测试报告、展示博客

2. 团队Beta阶段个人总结

第14周

1. 团队项目Beta博客:事后分析, 宣布每人的贡献分

第15周

1.团队整个阶段总结,分析用户数据,整理文档,保证以后的团队能接手。

校正后的安排表

第7周

1.需求规格说明书

2.原型设计,估计任务难度并学习必要的技术

第8-9周

1.原型改进(给目标用户展现原型,并进一步理解需求)

2.架构设计

3.团队项目任务分配,团队成员估计各自任务所需时间

4.编码规范完成、平台环境搭建完成、初步架构搭建

5.测试计划

6.连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交

第10周

1.用户反馈+测试计划改进

2. 团队Alpha阶段个人总结

3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理

第11周

1. 团队项目Alpha博客:事后分析

2. 每个团队有一人必须离开,自己寻找下一个接纳自己的团队。团队发博客宣布离队和接纳的成员。

第12周

1. 团队项目Beta任务分配计划,介绍新成员

2. 连续7天的Beta敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交

第13周

1. 团队项目Beta博客:发布说明、测试报告、展示博客

2. 团队Beta阶段个人总结

第14周

1. 团队项目Beta博客:事后分析, 宣布每人的贡献分

第15周

1.团队整个阶段总结,分析用户数据,整理文档,保证以后的团队能接手。

团队分工

何颖琪:将团队的任务计划添加到码云的团队项目Issues
邓画月:监工,找一个java代码规范。
梁子君:时间安排表的制定
于可欣:时间安排表的制定
梁沛诗:编写博客
曾祎祺:需求规格说明书的编写,创建团队仓库,编写博客

完成情况均良好

感想

何颖琪:这周我了解了界面的设计要求,并填写了lssues,收获不算大,要继续努力。
邓画月:海星
梁子君:在重新学习java的过程中,充实自己。身处团队的一份子,感觉到了项目经理的重要性。
于可欣:本周看了需求规格说明书后写了时间表,通过时间的安排发现我们的剩余的时间并不充裕,而且要学习相关的知识也要与他人交流沟通才能成功完成项目,希望能顺  利完成自己的任务。
梁沛诗:是时候该动手了
曾祎祺:啊。。。

软工作业No.4的更多相关文章

  1. 软工作业-----Alpha版本第一周小结

            软工作业-----Alpha版本第一周小结   Part1.第一周周计划记录 姓名 学号 周前计划安排 每周工作记录 自我打分 yrz(队长) 1417 1.进行任务分析 2.任务分配 ...

  2. [软工作业]-软件案例分析-CSDN

    [软工作业]-软件案例分析-CSDN(app) 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 ...

  3. 【软工作业&思考】关于软工的一些概念性理解暨第一次阅读作业

    概述 项目 内容 本次作业所属课程 2019BUAA软件工程 周二班 本次作业要求 第1次个人作业当然,比这个更重要百倍的还是实实在在的思考,这也是标题如此命名的原因 我在本课程的目标 在原有实践经验 ...

  4. BUAA2020软工作业——提问回顾与个人总结

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 进一步提高自己的编码能力,工程能力 这个作业在哪个具体方 ...

  5. 软工作业No.3--团队作业:甜美女孩出击!

    队名:甜美女孩 队员包括: 姓名 学号 身份 曾祎祺 3216005211 队长 邓画月 3216005212 队员 何颖琪 3216005213 队员 梁沛诗 3216005214 队员 梁子君 3 ...

  6. 软工作业NO.2小学生线上杨永信——四则运算题目生成

    项目题目:实现一个自动生成小学四则运算题目的命令行程序 github地址:https://github.com/a249970271/Formula 驾驶员:梁沛诗 副驾驶:曾祎祺 项目说明 自然数: ...

  7. 软工作业No.1。Java实现WC.exe

    网址:https://github.com/a249970271/WC WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有w ...

  8. 软工作业-wc(Python实现)

    GitHub地址:GitHub PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划  30  40 · Esti ...

  9. 软工作业WordCount

    github项目传送门:https://github.com/zzh010/My-wc 一.WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命 ...

  10. BUAA2020软工作业(五)——软件案例分析

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 软件案例分析作业 我在这个课程的目标是 进一步提高自己的编码能力,工程能力 这个作业在哪个具体方面 ...

随机推荐

  1. 在terminal下的快捷键

    1.回到行首的快捷键:ctrl + esc 2.ctrl+[可以替代esc

  2. HDU1556 Color the ball(差分数组)题解

    Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  3. 【第一章】 第一个spring boot程序

    环境: jdk:1.8.0_73 maven:3.3.9 spring-boot:1.2.5.RELEASE(在pom.xml中指定了) 注意:关于spring-boot的支持, 最少使用jdk7(j ...

  4. [BZOJ1196][HNOI2006]公路修建问题 二分答案+最小生成树

    Description OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多.然而,由于该岛屿刚刚开发不久,所以那 里的交通情况还是很糟糕.所以,OIER Association组 ...

  5. 【译】Asp.net core应用在 Kubernetes上内存使用率过高问题分析

    原文:https://blog.markvincze.com/troubleshooting-high-memory-usage-with-asp-net-core-on-kubernetes/ ps ...

  6. FOJ-1001-Duplicate Pair

    题目:Duplicate Pair 大意: 有多组测试数据,输入整数n,接着输入n个整数(integers),这些数字几乎都只出现一次,但其中有一个数出现了两次,请输出这个数. 题解: 大数据问题,普 ...

  7. Javascript库的产生和解读

    javascript库的产生,增强了浏览器或javascript语言的某些机制的功能, 让业务开发人员,更专注业务逻辑,而不是机制逻辑.   比如, 0.兼容性 同样的功能函数,不同的浏览器所暴露的a ...

  8. cannot marshal None unless allow_none is enabled

    今天运行一个launch文件的时候出现了以下报错 load_parameters: unable to set parameters (last param was [/robot_state_pub ...

  9. Navicat+Premium+12+破解补丁

    链接:https://pan.baidu.com/s/1BsEWQ__X-RQPuw2ymfxhtg 提取码:j2kb

  10. shell 脚本中所有循环语法

    写出 shell 脚本中所有循环语法 for 循环 : for i in $(ls);do echo item:$i done while 循环 : #!/bin/bash COUNTER=0 whi ...