您好,欢迎访问三七文档
详细设计说明书1引言1.1编写目的详细设计说明书为开发本项目的人员具体描述设计游戏应该要遵循的各个方面,包括各个模块的具体功能,性能,流程,接口等在设计中需要考虑的各个方面。预期的读者为代码工程师,测试工程师。1.2背景待开发的软件系统的名称为“亡者归来”;项目的任务提出者:本组所有成员;项目开发者:本组所有成员;用户:拥有支持CLDC1.1和MIDP2.0的JAVA环境的手机的用户;实现该软件的计算中心为计算航空船在受到碰撞或者中弹之后处理航空船的生命值减少或者毁灭。1.3定义J2ME为Java2MicroEdition的缩称。CLSD:Connectedlimiteddeviceconfiguration有线连接设备配置MIDP:MobileInformationDeviceProfile1.4参考资料a.本项目由西北工业大学国家软件人才国际培训(西安)基地经核准并颁发计划及批文。b.本文件中所要用到的软件开发标准为:eclipse3.2J2ME本软件引用的文件:(1)《Java手机游戏实例手册》,文件编号ISBN7-5027-6668-5,海洋出版社出版发行,发表日期2006.10;(2)《精通Java手机游戏与应用程序》,文件编号ISBN7-5006-5717-X,中国青年电子出版社,发表日期2005.05;(3)Internet相关资料。2程序系统的组织结构给出系统的结构框图,包括软件结构、硬件结构框图。用一系列图表列出系统内的每个模块的名称、标识符和它们之间的层次结构关系。3.用户界面和流程控制(包括UserInterface,InterfaceManger)设计说明3.1程序描述本功能模块包括包括UserInterface,InterfaceManger和KeyController三个主要的类其中UserInterface类作为一个父类用于生成个常规菜单(只包括按钮的菜单)和非常规菜单InterfaceManger类主要用于界面管理(创建各个菜单实例,与其它模块间的接口,以及流程控制)KeyController类主要用于实现菜单项的按钮选择功能3.2功能:说明该基本模块应具有的功能。各个界面的显示以及个界面之间的切换、游戏的开始和退出(即流程控制)。所需要显示的界面包括:主菜单(mainMenu)设置菜单(setMenu)注:设置菜单可选两个游戏设置项即产生两个菜单选项按键设置(keySetMenu)音乐设置(meusicSetMenu);积分榜(scoreMenu)游戏说明(introduceMenu)游戏结束界面(gameoverMenu)积分存档(scoreStore)暂停界面(pauseMenu)流程控制:实现以上各个界面的正常切换,从主菜单开始游戏和退出游戏,以及游戏中的暂停用户界面UserInterface声音播放SoundPlayer数据存储SaveRms流程控制FlowControllerplaySoundchangeInterfacesavebeginMissionConstructorcreateEnemyConstructorcreateBullet背景地图BackGround爆炸管理ExplosionManagercreateExplosioncreateExplosion游戏关卡Mission飞机管理PlaneManager子弹管理BulletManager关卡事件列表EventList菜单上选择按钮功能的实现:通过方向键和FIRE键可以正常的控制各个界面的切换3.3性能:全屏模式按键响应时间小于0.5S载入游戏时间不超过5S能在正常设置游戏和退出游戏3.4输入项:方向键和FIRE键;积分存档(scoreStore)中的存档名称3.5输出项:积分榜中的前十名积分和对应存档名称3.6设计方法(算法)UserIterface类中各个按钮坐标的确定:通过GameCanvas.getWidth和GameCanvs.getHeight获得屏幕大小,根据通过将第一个按钮设置在屏幕的(GameCanvas.getWidth/2,GameCanvas.getHeight/5)位置将最后一个按钮设置在屏幕的(GameCanvas.getWidth/2,GameCanvas.getHeight*4/5)位置,这样可以得到两个按钮间的高度差(横坐标一致;高度差是按钮的上边界差值),用这个差值(固定比例GameCanvas.getHeight*3/5)除以按钮个数buttonNum,获得按钮间的纵向间距distance=(GameCanvas.getHeight*3/5)/buttonNum,按钮的纵坐标可以根据第一个(或最后一个)按钮的纵坐标,以及按钮间距,和按钮顺序编号i唯一确定一个按钮在屏幕的位置:(GameCanvas.getWidth/2,(GameCanvas.getHeight/5+distance*i)或(GameCanvas.getHeight*4/5-distance*i));焦点移动:设置一个(int)choice参数用于表示当前焦点的位置,当用户通过键盘移动焦点时,通过对choice加或减来更改choice,然后在获得更改后的值,根据该值移动焦点。(通过替换不同色彩基调的图片标示焦点的位置);流程控制:对每个按钮编写一个位置的标识码,通过UserInterface.getButtonNo()获得用户的选择的按钮对应的标识码,进而根据不同标识码进行不同的处理;3.7流程逻辑加载游戏说明游戏开始游戏设置排行榜退出游戏游戏游戏说明游戏设置声音设置按键设置排行榜1L1982H73游戏结束重新游戏主菜单退出返回退出选择退出返回主菜单3.8接口声音控制:(与SoudPlayer连接)需要传递布尔型参数musicEstate,用户可以通过setMusciEstate()完成对该值的设置。设置存储:(与数据存储相关)需要传递INT数组(长度为2)InterfaceManager通过getDefaultSet()获得上次操作的设置;通过storeSet()传递对方一个INT数组(长度为2),保存此次设置。UserInterface与InterfaceManager:通过changeInterface()完成流程控制积分榜:(与数据存储关联)通过GetNames()获得String型数组Names;通过GetScores()获得int数组Scores;(两个数组固定长度包含10个元素)积分存储(与数据存储关联)需要传递String参数name,通过storeScore()将用户的存档名称传给对方;3.9存储分配存储背景和各个按钮的图片需要较大的存储空间,初始化各个界面由于需要处理较多的图片因此需要较大的内存;3.10注释设计/****/用于说明类和模块的功能/**/用于说明方法的功能//用于注释单条语句的功能3.11限制条件不始于过大或过小的手机屏幕,虽然按钮位置是按照屏幕比例设置的,但是为了游戏性能,没有提供始于各种屏幕的按钮图片,如果在过大或过小的3.12测试计划负责人:崔亮进度安排:8月4号前完成,并提交测试报告,把测试结果反馈给代码组。技术要求:本模块采用静态白盒测试和动态黑盒测试相结合的方法,并且以通过测试为主要方法。首先对代码,看看程序的逻辑设计和结构是否合理,是否存在内存泄露,空指针等问题。对模块代码的各个具体实现进行仔细的阅读,了解各个类,以及它的各函数的具体功能,分析模块的逻辑结构;分析模块调用的参数传递是否正确。然后进行动态黑盒测试,运行程序,输入数据,分析程序输出结果,将执行结果与需求设计中的要求进行比较,看是满足要求,如按键响应时间小于0.5S,载入游戏时间不超过5S,能够正常设置游戏和退出游戏。最后,对模块整体进行有效评估,生成测试报告,将测试结果反馈给数据存储人员和相关人员。设备条件:本测试在装有WindowsXP电脑端进行,运行环境所需的软件有Eclipse,jdk,WirelessToolkit2.5.2,Escapee等。测试ID场景输入项描述预期结果001当用户刚刚进入方向键(上,下,用户可以选择上正常的控制各个游戏界面时,用户可以通过选择方向键和FIRE键的组合来选择所要进入的界面。左,右)和FIRE键(方向键)来选择本界面中的已选定的菜单的上面的菜单。界面的切换,而且界面的切换非常流畅。002当用户想要保存自己的游戏成绩时,用户需要输入要保存的存档名称。积分存档(scoreStore)中的存档名称用户输入的积分存档的存档名称的长度为5个汉字。能够正确的输出积分榜中的前十名积分和对应存档名称3.13尚未解决的问题与按键设置尚未确定较满意的接口4.声音播放(SoundPlayer)设计说明4.1程序描述本模块实现系统进行该模块的实例化后,可以调用playMusic(String,boolean)方法传入不同的文件名称来播放不同的声音文件,并且可以调用stop()方法来停止播放.4.2功能:实现进入程序后,播放背景音乐;进入游戏后,播放游戏背景音乐;游戏结束后播放一段音乐;如果用户进入排行榜前十名,播放音乐.4.3性能:声音的播放应该与界面的切换基本实现同步.比如:用户程序进入游戏界面后,声音播放应该同时进行,期间响应时间应小于1秒.声音播放过程中不能出现断音情况.4.4输入项:声音播放模块不需要输入项.4.5输出项:声音播放模块的输出即音乐的播放.4.6设计方法(算法)声音设计模块中在创建线程时,采用在方法体内部创建线程,在线程体中重新定义run方法.Threadt=newThread(){publicvoidrun(){try{pleyer.start();}catch(Exceptione){e.printStackTrace();}}};4.7流程逻辑用户创建实例后,开始调用实例的方法,调用方法时传入一个参数表明需要播放哪种音乐.用户可以在游戏设置中关闭声音,如果声音设置为”关”,则不响应用户调用音乐播放.4.8接口声音设置模块中设置了“musicEstate”变量和“setMusicEstate”方法,用来管理声音播放功能是否打开.声音播放模块中“PlayMusic”方法,有两个参数,一个为String类型,表示用户需要播放的声音种类。一个为boolean类型,用来表示否是循环播放。4.9存储分配soundType(String类型):存储所要播放的声音文件的格式musicEstate(Boolean类型):存储声音播放功能是否打开player(Player类型):一个播放器实例,用于打开声音文件并播放4.10注释设计//:表示对代码行的注释以及变量/***/:表示函数返回值类型,函数功能,参数类型和参数作用4.11限制条件由于模块的运行需要外部声音文件的支持,因此必须在保证声音文件的名称完全正确的情况下,本模块才可以正常运行.4.12测试计划负责人:崔亮进度安排:8月4号前完成,并提交测试报告,把测试结果反馈给代码组。技术要求:本模块采用静态白盒测试和动态黑盒测试相结合的方法,并且以通过测试为主要方法。首先看看程序的逻辑设计和结构是否合理,对代码进行仔细的阅读,看看程序的逻辑计和结构是否合理,是否存在内存泄露,空指针等问题。然后进行动态黑盒测试,运行程序,输入数据,分析程序输出结果。对模块代码的各个具体实现进行仔细的阅读,了解各个类,以及它的各函数的具体功能,分析模块的逻辑结构;分析模块调用的参数传递是否正确;分析模块是否能够实现对声音的播放应该与界面的切换基本实现同步;分析代码的布局是否合理,规范。设备条件:本测试在装有WindowsXP电脑端进行,运行环境所需的软件有Eclipse,jdk,WirelessToolkit2.5.2,Escapee等。测试ID场景输入项描述预期结果创建实例传入参数播放对应音乐开关设置不响应调用开关001进入程序后,播放背景音乐playMusic(“interfaceBackGround”,true)表示程序要
本文标题:2详细设计说明书
链接地址:https://www.777doc.com/doc-3251425 .html