贪吃蛇需求规格说明书
贪吃蛇系统功能分析

贪吃蛇系统功能需求分析
目录
1需求分析 (1)
2功能描述 (1)
3系统架构 (2)
4用例描述 (2)
4.1游戏开始或退出 (2)
4.2游戏难度选择 (2)
4.3游戏输赢判断 (3)
4.4得分查询 (3)
5用例图 (4)
6时序图 (5)
6.1开始与退出时序图 (5)
6.2游戏设置时序图 (5)
6.3玩游戏时序图 (6)
6.4游戏帮组时序图 (6)
7类图 (7)
8界面设计 (8)
1需求分析
此需求分析说明书对《贪吃蛇游戏》软件做了全面的用户需求分析,明确所要开发的游戏软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。
2功能描述
功能包括如下几点:
1)贪吃蛇的基本玩法:即可以用上、下、左、右键游戏区蛇的运动方向,使之向
着有食物的方向运动,并吞吃食物使身体增长,如果蛇在移动过程中,撞到墙
壁或身体交叉蛇头撞到自己的身体游戏结束。
2)调节蛇的运动速度:即用户可以调节蛇的速度来选择不同的难度。
3)选择关卡功能:即游戏分不同的难度级别,用户可以选择不同的难度级别进行
游戏。
4)游戏帮组:即用户可以查看游戏说明、查看英雄榜等。
3系统架构
4用例描述
4.1游戏开始或退出
4.2游戏难度选择
4.3游戏输赢判断
4.4得分查询
5用例图
6时序图
6.1开始与退出时序图
6.2游戏设置时序图
6.3玩游戏时序图
6.4游戏帮组时序图
7类图
8界面设计。
贪吃蛇设计说明书

贪吃蛇设计说明书贪吃蛇设计说明书开发小组成员:目录1.需求陈述 (3)2.软件结构 (3)2.1用例图 (3)2.2类图 (4)2.3状态图---------------------------------------------------------------4 3.程序描述 (4)3.1功能 (5)3.2性能 (5)3.3输入项目 (5)3.4输出项目 (6)3.5算法 (6)3.6程序逻辑 (6)4.测试要点-----------------------------------------75.对象设计-------------------------------------------------------------------71.需求陈述1.用户需要开发一款命名为贪吃蛇的休闲小游戏2.开始游戏时,存在一条向右运动的小蛇和蛇需要吃掉的豆3.用户通过键盘的“上下左右”键控制小蛇分别向“上下左右”运动来吃掉豆,同时增加自身的长度4.小蛇吃掉游戏规定数量的豆后,游戏结束5.游戏分为初级、中级、高级6.小蛇不能碰到边界7.小蛇自身不能碰撞8.游戏可以暂停和重新开始9.游戏完成后计算所得分数10.游戏在任何时候都可以退出2.软件结构1.用例图2.类图3.状态图3.程序描述3.1功能小蛇可以通过方向键进行方向的变化。
屏幕上随机的出现豆,贪吃蛇在运动的过程中蛇头可以吃掉出现的的豆。
吃掉豆后,蛇的身体会增长一节。
当蛇的身体碰到四周的墙壁或者是自己的身体时,游戏会结束。
并且,在屏幕的上方有一个分数牌显示,游戏开始时分数为0,每当蛇吃掉一个豆,分数会增加10分。
而在游戏的过程中,玩家可以按菜单上的退出键或点击界面的关闭按钮退出游戏。
3.2性能本款游戏在界面设计上清晰明了、美观大方;在操作上简单、易懂。
有效率高,不易出错的优点。
本游戏着重于娱乐大众,并且有锻炼反应速度的特点。
3.3输入项目1)用户在界面菜单的操作有点击“开始”、“暂停”、“结束”、“重新开始”、“初级”、“中级”、“高级”。
贪吃蛇需求规格说明书

贪吃蛇需求规格说明书开发小组成员:目录一.引言-----------------------------------------------------------------------------------------------31.1编写目的-----------------------------------------------------------------------------------31.2编写原则-----------------------------------------------------------------------------------31.3参考资料-----------------------------------------------------------------------------------31.4适用范围-----------------------------------------------------------------------------------3二.系统概述----------------------------------------------------------------------------------------32.1业务背景-----------------------------------------------------------------------------------32.2用户类别与特征-------------------------------------------------------------------------32.3用户文档-----------------------------------------------------------------------------------42.4设计和实现上的限制-------------------------------------------------------------------42.5运行环境-----------------------------------------------------------------------------------4三.功能需求----------------------------------------------------------------------------------------43.1系统用例图---------------------------------------------------------------3.2项目名称-----------------------------------------------------------------------------------43.2.1功能描述----------------------------------------------------------------------------43.2.1.1进入游戏-------------------------------------------------------------------43.2.1.2玩游戏----------------------------------------------------------------------53.2.1.3游戏的退出---------------------------------------------------------------5 四.非功能需求-------------------------------------------------------------------------------------64.1系统质量要求-----------------------------------------------------------------------------64.1.1性能-----------------------------------------------------------------------------------64.1.2可靠性-------------------------------------------------------------------------------64.1.3可维护性----------------------------------------------------------------------------64.1.4可用性-------------------------------------------------------------------------------74.1.5可移植性----------------------------------------------------------------------------74.1.6可测试性----------------------------------------------------------------------------74.1.7易用性-------------------------------------------------------------------------------74.2安全性需求---------------------------------------------------------------4.3环境需求-----------------------------------------------------------------------------------74.4保密性和私密性的需求---------------------------------------------------------------74.5其他需求----------------------------------------------------------------------------------7五.外部接口需求---------------------------------------------------------------------------------85.1用户界面----------------------------------------------------------------------------------85.1.1界面布局---------------------------------------------------------------------------85.1.2界面风格---------------------------------------------------------------------------85.1.3界面规范---------------------------------------------------------------------------85.2硬件接口----------------------------------------------------------------------------------95.3软件接口----------------------------------------------------------------------------------9一、引言软件需求规格说明书记录系统或系统一部分完整软件需求。
贪吃蛇设计规格说明书

贪吃蛇设计规格说明书院系:信息技术学院姓名:livechange指导老师:XXX日期:2016-06-07目录一、设计背景 0二、需求分析 (1)三、运行环境 (1)四、设计概要 (2)五、详细设计 (3)六、停止游戏 (6)贪吃蛇一、设计背景随着科技的发展,笔记本、手机的价格相对于以前下降很多,现在很多普通人也可以使用笔记本、智能手机。
笔记本、手机不再只是主要用来办公、接打电话。
更多的用户希望在工作、学习之余通过方便灵巧可随身携带的设备休闲娱乐。
因此,为了迎合众多用户的需求并适应用户要求,开发具有很强的娱乐性和交互性的贪吃蛇小游戏。
可以说该游戏的优势在于它的简单易行,不论是笔记本、iPad,还是智能手机,都能很快顺利的运行。
在如今社会,人们的工作学习压力逐渐增大,生活节奏逐渐加快,大多数人没有足够的时间去休闲娱乐,放松自己。
这款小型的游戏,可以让我们随时随地都能享受游戏。
让我们从繁重的日常生活中解脱出来。
游戏的主界面应该力求简单,以提高玩家对游戏的兴趣。
游戏的控制模块应该做到易懂、易操作,以给玩家一个很好的游戏环境。
由于本程序简单易操作,交互性好,对用户没什么特别要求。
一般用户经过几分钟练习都可以熟悉本游戏的规则。
二、需求分析贪吃蛇游戏是一个小型益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。
本组该次小游戏程序设计包含二维数组、鼠标操作及图形化函数等方面知识。
具体需求概要如下:1.初始化游戏界面为700*600大小。
2.在HTML中用格子初始蛇长及蛇的位置,用上、下、左、右控制方向进行游戏。
游戏过程中,每吃到一次食物蛇身增加一格,分数加10分。
3.蛇头咬到蛇尾或蛇头接触边框,则停止游戏,显示累计分数,游戏结束。
三、运行环境本程序对硬件配置要求不高,只需要设备支持HTML5即可。
适合在笔记本、iPad、智能手机运行。
四、设计概要1.初始化模块:屏幕初始化,屏幕初始化用于显示游戏信息;2.游戏界面模块:设计灰色的边框,边框内用白色灰框格子填充作为游戏活动区域;3.游戏运行模块:运用函数控制蛇长及食物的关系,并使用键盘控制方向,空格键暂停(继续)。
单片机课程设计贪吃蛇说明书

单片机课程实训作品说明书姓名:李兆基完成时间:2016年7月3日一、 作品说明介绍1. 作品名称:贪吃蛇简易游戏机2. 作品实现功能:a) 按上、下、左、右键控制蛇身改变方向;b) 蛇头与食物碰撞时“吃掉”食物,使蛇身变长; c) 复位键使游戏重新开始;d) 暂停/继续键可以暂停、继续游戏3. 选择目的:巩固单片机课程所学知识,真正做到学有所用二、 作品操作介绍1. 作品外观图① ②点阵屏:显示地图、蛇以及食物③STC12C5A60S2单片机:控制整个作品,可以烧录不同的程序 ④微动开关1:向上的按键,用于改变蛇的方向 ⑤微动开关2:向下的按键,用于改变蛇的方向 ⑥微动开关3:向左的按键,用于改变蛇的方向①②③④⑤⑥⑦ ⑧ ⑨⑩ ⑪⑫⑬⑭⑮⑦微动开关4:向右的按键,用于改变蛇的方向⑧微动开关5:复位按键,按下后游戏复位,重新开始⑨微动开关6:暂停/继续按键,控制游戏暂停/继续⑩自锁开关:实现整体的电源总控制(断负)⑪晶振、电容:用于单片机起振,单片机的最小时钟电路⑫排针:用于连接电源正负极以及RXD和TXD⑬电源指示灯:通电时点亮⑭8个1KΩ电阻:限制电流大小⑮10个0Ω电阻:做跳线用2.作品功能介绍及操作说明a)给游戏机上电①将电源正极接在排针处标有VCC的位置②将电源负极接在排针处标有GND的位置③按下自锁开关完成上电b)让贪吃蛇改变方向①按向上键:蛇身向上②按向下键:蛇身向下③按向左键:蛇身向左④按向右键:蛇身向右c)游戏暂停/继续、复位①按暂停/继续键:游戏暂停/继续②按复位键:游戏复位,重新开使三、作品制作说明1.电路原理图2.元件名称型号数量(个)单片机STC12C5A60S2 1单片机底座40引脚 1点阵屏8*8 2微动开关5*5 6晶振12MHz 1电容30pf 2电阻1KΩ8电阻10KΩ 1电阻0Ω10自锁开关3*3 1排针直针4(根)LED 红色 1杜邦线1组4(根)单面挂锡玻纤板1洞洞板10CM*14CM电池盒 1 3.PCBa)正面图(见附录1)b)F5图(见附录2)c)F6图(见附录3)四、产品控制顺序/*******************************************名称:贪吃蛇简易游戏机制作人:李兆基制作时间:2016.6.28修改时间:2016.7.1 (加入吃食物蛇身变长功能)2016.7.3 (处理程序兼容细节)*******************************************/#include<stc12c5a60s2.h>#include<stdlib.h>unsigned char map[16]; //定义一个MAP地图unsigned char line; //列unsigned char snake[45][2]; //定义蛇的大小unsigned char game_reset; //游戏复位unsigned char foodx,foody; //食物的位置sbit Key_left=P3^2; //左sbit Key_up=P3^3; //上sbit Key_down=P3^4; //下sbit Key_right=P3^5; //右sbit Key_start=P3^7; //开始/暂停sbit Key_reset=P3^6; //复位/****************按键所对应的位置***************/void CreateFood(){unsigned char i;i=0;RESET:foodx=rand()%6+1;//rand()函数随即产生食物的横坐标(1~6)foody=rand()%14+1;//rand()函数随即产生食物的纵坐标(1~14)while(!(snake[i][0]==snake[i][1]&&snake[i][0]==44)) //找蛇尾(遍历蛇){if(snake[i][0]==foodx&&snake[i][1]==foody)goto RESET;//如果产生的食物在蛇的节点上,则重新生成食物i++;}}/*********构造食物********/void ClearMap(){unsigned char i;for(i=0;i<16;i++)map[i]=0x81; //清空地图map[0]=map[15]=0xff; //构造墙}/**********初始化地图**********/void ClearSnake(){unsigned char i;for(i=0;i<45;i++)snake[i][0]=snake[i][1]=0x00; //清空蛇节点snake[0][0]=5;snake[0][1]=10; //构造蛇头snake[1][0]=5;snake[1][1]=11;snake[2][0]=5;snake[2][1]=12; //构造蛇身snake[3][0]=44;snake[3][1]=44; //构造蛇尾}/************初始化蛇节点************/void SnakeToMap(void){unsigned int i;ClearMap();i=0x80>>foodx; //获取食物的横坐标map[foody]|=i; //将其横坐标和纵坐标对应的点显示在地图上i=0;while(!(snake[i][0]==snake[i][1]&&snake[i][0]==44)){map[snake[i][1]]|=0x80>>snake[i][0];i++;} //将蛇节点全部显示在地图上}/**********************将蛇以及食物显示在地图上***********************/void Move(unsigned char fx)//fx参数(0为上,1为下,2为左,3右){unsigned char i,snakewx,snakewy;snakewx=snakewy=i=0;while(!(snake[i][0]==snake[i][1]&&snake[i][0]==44))i++;snakewx=snake[i-1][0];snakewy=snake[i-1][1]; //扫描蛇节点并且得到尾巴的位置(横纵坐标)switch(fx){case 0:while(!(snake[i][0]==snake[i][1]&&snake[i][0]==44))i++; //扫描蛇节点得到节点数for(i--;i>0;i--){snake[i][0]=snake[i-1][0];snake[i][1]=snake[i-1][1];} //后节点朝着前节点方向移动snake[0][0]--; //移动蛇头break;case 1:while(!(snake[i][0]==snake[i][1]&&snake[i][0]==44))i++; //扫描蛇节点得到节点数for(i--;i>0;i--){snake[i][0]=snake[i-1][0];snake[i][1]=snake[i-1][1]; //后节点朝着前节点方向移动}snake[0][0]++; //移动蛇头break;case 2:while(!(snake[i][0]==snake[i][1]&&snake[i][0]==44))i++;for(i--;i>0;i--){snake[i][0]=snake[i-1][0];snake[i][1]=snake[i-1][1];}snake[0][1]--;break;case 3:while(!(snake[i][0]==snake[i][1]&&snake[i][0]==44))i++;for(i--;i>0;i--){snake[i][0]=snake[i-1][0];snake[i][1]=snake[i-1][1];}snake[0][1]++;break;}if(snake[0][0]==foodx&&snake[0][1]==foody) //蛇吃食物(蛇头的坐标与食物坐标重合){while(!(snake[i][0]==snake[i][1]&&snake[i][0]==44))i++;snake[i][0]=snakewx;snake[i][1]=snakewy;snake[i+1][0]=snake[i+1][1]=44; //重新添加(定义)蛇尾CreateFood(); //创建食物}}/************************蛇的移动(按键的方向改变)************************/void delay(unsigned int i){unsigned int j;while(i--)for(j=600;j>0;j--);}/*********************延时函数(接近与1毫秒)*********************/void donghua(void){unsigned int i;for(i=0;i<16;i++){if(i<8){P2=0xff;P1=~(0x80>>i);}else{P1=0xff; //第一块点阵屏亮P2=~(0x80>>(i-8));}P0=0xff;delay(20);}P1=P2=P0=0x00;for(i=0;i<16;i++){if(i<8){P1=0xff;P2=~(0x01<<i);}else{P2=0xff;P1=~(0x01<<(i-8));} //第二块点阵屏亮P0=0xff;delay(20);}}/********开机动画********/bit IsOver(){unsigned char i;game_reset=0;i=0;while(!(snake[i][0]==snake[i][1]&&snake[i][0]==44))i++;for(i--;i>0;i--){if(snake[0][0]==snake[i][0]&&snake[0][1]==snake[i][1]){game_reset=1;break;} //遍历蛇节点是否蛇头和蛇身重合}if(snake[0][0]==0||snake[0][0]==7||snake[0][1]==0||snake[0][1]==15) //判断蛇头是否撞墙game_reset=1;return game_reset;}/*********************判断蛇的状态(死亡条件)**********************/void init(void){P0M0=0xff;P0M1=0x00;//PO为强推模式TMOD=0X01;//设定时/计数器方式EA=1; //开启中断ET0=1; //开启定时计数器0TH0=(65536-1000)/256;TL0=(65536-1000)%256; //设置计数初值为1毫秒TR0=1; //开启定时/计数软开关ClearMap(); //初始化地图ClearSnake(); //初始化蛇}/**********初始化函数**********/void main(void){unsigned char fx,i,newfx; //定义方向,新方向,以及变量iunsigned char isStart; //开始/暂停变量newfx=fx=2; //初始化方向donghua();delay(100);i=0;isStart=1;init();CreateFood();while(1){for(i=0;i<20;i++){delay(10);if(fx!=1&&!Key_up&&isStart)//蛇向下移动则向上按键无效{newfx=0;}if(fx!=0&&!Key_down&&isStart) //蛇向上移动则向下按键无效{newfx=1;}if(fx!=3&&!Key_left&&isStart) //蛇向左移动则向右按键无效{newfx=2;}if(fx!=2&&!Key_right&&isStart) //蛇向右移动则向左按键无效{newfx=3;} //按键改变newfx,默认向fx移动if(!Key_start){delay(20);if(!Key_start)if(isStart==1)isStart=0;else if(isStart==0)isStart=1; //暂停/继续改变isStart状态while(!Key_start);delay(20);}if(!Key_reset){delay(20);if(!Key_reset)game_reset=1;while(!Key_reset);delay(20);if(game_reset)return; //复位}if(!isStart)i--; //暂停状态时所执行的死循环delay(10);}if(fx==0&&newfx==1||fx==2&&newfx==3)newfx=fx;elsefx=newfx; //方向冲突时按新方向移动,避免按的太快Move(fx); //移动while(IsOver()){if(!Key_reset){delay(20);if(!Key_reset)game_reset=1;while(!Key_reset);delay(20);if(game_reset)return;}if(!isStart)i--;delay(10);} //当蛇死亡只能激活复位按钮SnakeToMap(); //将蛇显示在地图}}/******主函数******/void display(void) interrupt 1{TR0=0; //关闭软开关TH0=(65536-1000)/256;TL0=(65536-1000)%256; //计数赋值if(line<8){P2=0xff;P1=~(0x80>>line); //选列}else{P1=0xff;P2=~(0x80>>(line-8)); //选列} //两块点阵屏的对接P0=map[line]; //送行line++;if(line==16)line=0;TR0=1; //开启软开关}/********显示函数********/。
贪吃蛇游戏概要设计说明书

概要设计说明书1.引言1.1编写目的在分析《贪吃蛇游戏的需求分析说明》的基础上,我们对该系统做了概要设计,主要是基于以下目的编写此说明书:1.对系统概要设计的的阶段任务成果形成文档,以便阶段验收、评审,最终的阶段验收。
2.对需求阶段的文档再次确认过程,对前一阶段的需求不充分的地方或者有错误的地方进行修改。
3.明确整个系统的功能框架和数据结构,为下一阶段的详细设计、编码、测试提供参考依据。
4.明确编码规范和命名规范,统一程序界面。
预期读者:详细设计人员、概要设计评审小组、研究院领导。
1.2 背景系统名称:贪吃蛇游戏任务提出者:手机策划人员开发者:技术人员用户:NOKIA手机用户运行该软件机器:NOKIA手机1.3 定义1.节:一条蛇可以看成由许多正方形的“小格子”拼凑成,称作节。
节是蛇身上最小的单位。
2.链表:用来保存每一段的状态,链表的元素单位是节。
且链表的第一个元素表示蛇的头部。
3.坐标系:以左上角那点为(0,0),向右则x递增,向下则y递增。
1.4 参考资料张海藩:《软件工程导论》第五版清华大学出版社肖刚等:《实用软件文档写作》2总体设计2.1需求规定2.1.1输入、输出输入:操作选择、级别输出:时间、分数2.1.2 功能要求本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出等功能,分为:游戏主界面模块、游戏控制模块两个模块。
2.1.3 性能要求本游戏在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。
游戏主界面应该力求美观,赏心悦目。
游戏控制模块应做到易懂、易操作,而且准确率高,不易出错。
2.2运行环境本次设计的系统环境及工具:运行环境:WindowsXP编程语言:Java使用工具:Eclipse2.3 基本设计概念和处理流程2.3.1基本设计概念如下:程序关键在于表示蛇的图形及蛇的移动。
贪吃蛇概要设计书

贪吃蛇概要设计书1. 引言1.1.编写目的本文档将对《贪吃蛇》游戏软件功能进行概要描述,本文档的读者是项目策划、设计和评审人员。
1.2.背景本项目作为学生学习软件文档写作和简单游戏编程而提出。
希望学生通过《贪吃蛇》游戏软件设计开发,了解软件文档的相关标准和编写原则,训练并掌握软件各类文档写作的技巧,同时提高学生使用Java开发应用程序的能力。
本项目的名称:贪吃蛇游戏软件。
本项目的开发者:孙俊芳。
1.3.参考资料①《软件需求说明书》②《开发要求说明》③《游戏软件资料》2. 总体设计2.1需求规定游戏者通过键盘的上下左右方向键控制蛇头的移动方向,回车键暂停/继续,通过PAGE UP 加速,PAGE DOWN 减速来控制蛇的移动速度。
游戏的目的是使蛇吃到食物,不可以吃到石头或者自己的身体。
每一次吃到食物蛇的身长加一。
蛇吃到石头或者自己的身体时,游戏结束。
游戏者可以在游戏开始前选择游戏地图。
可以设置游戏背景颜色,蛇头颜色,食物颜色,蛇身颜色,还可以显示网格,同时选择网格的颜色。
点击“恢复默认设置”时,恢复默认设置。
2.2运行环境设备:硬件最低要求:CPU P II以上PC 服务器,内存32MB以上,硬盘15MB以上。
支持软件:操作系统:windows 98.、windows NT、windows 2000、windows XP、windows Server 2003等能安装JA V A 2 的操作系统。
2.3基本设计概念和处理流程启动游戏后进入游戏界面,这时可以设定游戏地图,设置蛇头等的颜色参数。
开始游戏后,通过键盘的上下左右方向键控制蛇头的移动方向,回车键暂停/继续,通过PAGE UP 加速,PAGE DOWN 减速来控制蛇的移动速度。
系统处理流程如下图所示:3.2外部接口本软件需要实现外部接口。
3.3内部接口本软件需要实现的内部接口就是实现各个类之间的接口。
1. 系统出错处理设计4.1出错信息安装游戏后无法运行。
贪吃蛇游戏-概要设计

《项目名称》概要设计说明书2010-01目录1 概述 (1)1.1 编写目的 (1)2 需求概述 (1)2.1 目标与需求 (1)2.2 环境描述 (1)3 总体设计 (1)3.1 总体解决方案 (1)3.1.1 软件体系结构 (1)3.1.1.1显示层类图 (2)3.1.1.2控制层类图 (2)3.1.1.3业务层类图 (2)3.1.1.4实体层类图 (2)3.1.2控制层顺序图 (3)3.1.3显示层顺序图 (4)4 接口设计 (4)4.1 内部接口设计 (4)1 概述1.1 编写目的本文档的编写目的是:详细定义贪吃蛇游戏的总体功能;给出系统的结构设计,作为过程设计和程序编写的依据。
2需求概述2.1 目标与需求在游戏中,玩家操控一条蛇,它会不停前进,玩家只能操控蛇的头部朝向(上下左右),吃掉食物,并要避免触碰到自身或者墙壁。
每次贪食蛇吃掉一件食物,它的身体便增长一些,蛇的身体越长,游戏得分越高,直到蛇碰到墙壁或者自身时候,游戏结束。
2.2 环境描述jre1.5版本或以上Windows xp3 总体设计3.1 总体解决方案设计贪吃蛇时采用面向对象的设计方法。
3.1.1 软件体系结构整个贪吃蛇游戏由显示层、控制层、业务层、实体层组成。
软件体系结构图如下。
图1软件体系结构图显示层:将蛇、食物、墙通过加载相应的图片形式化显示出来。
控制层:接收键盘事件,调用相关事件处理方法,以及计算游戏分数等方法实体层:包含蛇、食物、墙数据(坐标,长度等)业务层:具体的事件处理方法,以及对实体层数据进行更新的具体方法以下为各层的核心类。
3.1.1.1显示层类图parse图2显示层类图显示层只有一个边界类parse。
3.1.1.2控制层类图mainProcess图3控制层类图控制层只有一个mainProcess一个控制类。
3.1.1.3业务层类图keyPressed图4业务层类图业务层只有一个类keyPressed。
3.1.1.4实体层类图图5实体层类图包含Food、Snake和Wall 3个实体类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
贪吃蛇
需求规格说明书
开发小组成员:
目录
一.引言-----------------------------------------------------------------------------------------------3
1.1编写目的-----------------------------------------------------------------------------------3
1.2编写原则-----------------------------------------------------------------------------------3
1.3参考资料-----------------------------------------------------------------------------------3
1.4适用范围-----------------------------------------------------------------------------------3 二.系统概述----------------------------------------------------------------------------------------3
2.1业务背景-----------------------------------------------------------------------------------3
2.2用户类别与特征-------------------------------------------------------------------------3
2.3用户文档-----------------------------------------------------------------------------------4
2.4设计和实现上的限制-------------------------------------------------------------------4
2.5运行环境-----------------------------------------------------------------------------------4 三.功能需求----------------------------------------------------------------------------------------4
3.1系统用例图--------------------------------------------------------------------------------4
3.2项目名称-----------------------------------------------------------------------------------4 四.非功能需求-------------------------------------------------------------------------------------6
4.1系统质量要求-----------------------------------------------------------------------------6
4.2安全性需求--------------------------------------------------------------------------------7
4.3环境需求-----------------------------------------------------------------------------------7
4.4保密性和私密性的需求---------------------------------------------------------------7
4.5其他需求----------------------------------------------------------------------------------7 五.外部接口需求---------------------------------------------------------------------------------8
5.1用户界面----------------------------------------------------------------------------------8
5.2硬件接口----------------------------------------------------------------------------------9
5.3软件接口----------------------------------------------------------------------------------9
一、引言
软件需求规格说明书记录系统或系统一部分完整软件需求。
以下是我们小组(TNT)的软件需求规格说明书概述。
1.1编写目的:明白用户需求,为系统设计和编码人员提供依据,
方便本小组的各种后续工作。
1.2编写原则:由于我们均属于初学者,能力尚不成熟,故尽量一
切从简单、基础入手编写。
1.3参考资料:胡飞《软件工程基础》高等教育出版社
杨建军《Visual C#程序设计》清华大学出版社
周峰《C#典型模块开发》中国铁道出版社
1.4适用范围:本文档适用本小组所用成员,其中项目组长应着重阅读本文档各个部分,其他成员选择性阅读。
二、系统概述
2.1业务背景:本游戏着重于在空闲时间为人们提供一点娱乐,来达
到打发时间,娱乐心情的目的。
2.2用户类别与特征
2.3用户文档:本游戏不需要任何用户文档,打开即玩。
2.4设计和实现上的限制:由于本项目开发人员皆为初学者,所有在
各个方面都略显不足,应该会有不少错误和漏洞。
此外,在系统方面,我们也是采用较为简单的表达,并不是十分完美。
2.5运行环境:
硬件方面:Pentium级处理芯片 1兆显存的兼容显卡 256色,800*600的兼容显示器。
软件方面:WIN95操作系统以上。
三、功能需求
3.1系统用例图
3.2 项目名称——TNT版贪吃蛇
四、非功能需求
4.1系统质量需求
(1)系统容量:本软件由于过于简单,在系统容量上没有太大需求。
一般电脑均可使用。
(2)响应指标:进入游戏,点击“开始“后,“蛇”在0.01秒内做出反应,开始移动;在“吃到食物“以及”上“”下“等各项命令指标是反应时间均在0.01秒内。
,在连续运行的情况下,系统可靠性在99.9999%。
并且一旦使用本软件后,可提供人工上门服务,以解决用户的问题。
,可谓做到极致,用户可联系技术人员,由他们亲自来解决维护问题。
,支持脱机运行。
因此,用户可以随时随地使用本软件。
,所以实现了U盘的拷贝、粘贴等行为。
,在测试方面用了大量的时间,而这项目的克测试性非常的强,因为游戏本身也算一种测试。
,游戏本身操作简单,更人性化的界面,上手极快。
4.2安全性需求
(1)网络安全:由于本软件不需要联网,所以网络安全这一问题可轻松避免。
(2)数据库安全:数据库级备份和恢复,数据库级用户进行角色和权限授权。
使在异常情况发生时,系统能够得以快速恢复,避免数据的丢失或将其影响降到最低。
同样,要保证存储过程中不被非法的访问和篡改。
(3)应用系统的安全:通过对用户的身份鉴别,使用户只能得到系统授权的数据访问功能操作。
用户只能在授权下才可以更改程序,避免因程序更改而引起程序出错。
4.3环境需求:WIN95操作系统以上
4.4保密性和私密性的需求:跟安全性一样,本软件作为独立软件在保密性方面也是到了极致。
4.5其他需求:无
五、外部接口需求
5.1用户界面
(1)要求有菜单及工具栏以方便操作。
(2)进行系统分析后的结果在另一窗口中显示。
界面布局如下图所示:
矩形方阵代表蛇所活动的范围;红色方块,表示所要吃的食物;一串珠子(蓝色)代表头部;左上方的三个选项是;“游戏(G)”,“选项(O)”,“帮助(H)”;右上方显示的是分数。
;清晰、明朗。
,使其显示清晰明了、游戏简单易上手。
5.2硬件接口:无
5.3软件接口:Windows标准接口。