概要设计Justjump应用游戏.doc_第1页
概要设计Justjump应用游戏.doc_第2页
概要设计Justjump应用游戏.doc_第3页
概要设计Justjump应用游戏.doc_第4页
概要设计Justjump应用游戏.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文档编号 XXXXX JS 0003 Just jump 应用游戏项目 系统设计说明书 小组 2012 年 04 月 修改记录修改记录 版本变更原因变更内容简述 编制 修订者 批准者发布日期 1 0 需求分析 不够详细 对系统的需求分析说明说里的 各个需求进行了简单介绍 2012 04 1 1 包名描述 不够清晰 采用 CSCI 专业术语 将包名 统一拟为JJ CSCI CSCI N 2012 04 1 2 系统构架 划分有误 由于系统只由一台主机组成 可以省略该系统结构图 并用 文字进行了简单描述 2012 04 目录目录 1 引言引言 6 1 1编写目的 6 1 2项目背景 6 1 3术语及定义 7 2 条件与限制条件与限制 8 2 1 需求约束 8 2 1 1 开发与运行环境 8 2 1 2 接口 协议 8 2 1 3 用户界面 8 2 1 4 软件质量 8 2 2 隐含约束 9 3 需求与规定需求与规定 9 4 4 运行环境运行环境 9 4 1 软件环境 10 4 2 硬件环境 10 5 体系架构体系架构 11 5 1 系统结构 11 5 2 软件架构 12 6 逻辑结构设计逻辑结构设计 12 12 6 1 JJ CSCI 列表 16 6 2JJ CSCI 关系图 17 6 3JJ CSCI 2 1 用户设置 17 6 3 1 模块名称 17 6 3 2功能描述 17 6 3 3 接口描述 18 6 3 4 流程描述 19 6 4JJ CSCI 5 2 角色控制 20 6 4 1 模块名称 20 6 4 2 功能描述 20 6 4 3 接口描述 20 6 4 4 流程描述 21 7 存储结构设计存储结构设计 21 7 1 逻辑结构设计要点 22 7 2 物理结构设计要点 22 8 部署设计部署设计 24 9 运行设计运行设计 26 9 1 运行模块组合 26 9 2 运行控制 26 9 3 运行目录结构 27 10 性能设计性能设计 30 11 系统出错处理设计系统出错处理设计 32 11 1 出错信息 32 11 2 补救措施 32 11 3 系统维护设计 32 11 4 错误处理设计 32 12 开发环境开发环境 33 12 1 编辑器 33 12 2 编译环境 33 12 3 配置管理工具 33 12 4 源代码目录 33 13 尚未解决的问题尚未解决的问题 34 1 引言引言 1 1编写目的 1 进一步加深对研究与开发实践课程的理解 2 对计算机编程语言综合运用能力的强化 3 对当前软件项目开发的实践 4 进一步细化软件设计得出的软件概貌 把它加工成在程序细节上 非常接近于原程序的软件表示直接翻译成用具体的程序语言书写 的程序 5 确定了如何概要地实现所要求的软件 从而在编码阶段可以把这 个描述 6 对软件开发环境的进一步了解 7 加强成员间的进一步合作能力 8 对项目的统一建模的进一步了解 9 对软件开发进一步认识 1 2 项目背景 随着手机的发展 现在手机的功能越来越多 越来越强大 手机 游戏开发行业也应运而生 而现在手机游戏的发展亦可以和掌上 喜媲美 具有很强的娱乐性和交互性 目前最流行的手机游戏语言是 JAVA 由于大多数的手机内置了 JAVA 的运行环境 加之 JAVA 语言的跨板性和可移植性 因此我 们小组使用了 JAVA 语言编写 just jump 手机应用小游戏 just jump 手机应用小游戏的原型是 涂鸦跳跃 涂鸦跳 跃 作为一款休闲游戏 一年多时间里其在 App store 内的下载 量就突破了 500 万次 广受好评 我们小组对 涂鸦跳跃 进行 了改编和完善 使其更具有可玩性 易上手性和娱乐性 能进一 步满足游戏爱好者的需求 项目名称 just jump 任务来源 研究与开发实验 交办单位 计算机学院 小组 承办单位 四川大学计算机学院 开发团队 计算机学院小组 用 户 广大的游戏爱好者 1 3 术语及定义 J2ME 及 Java ME Java Platform Micro Edition 是为机顶 盒 移动电话和 PDA 之类嵌入式消费电子设备提供的 Java 语言 跳板 包括虚拟机和一系列标准化的 Java API 1 4 参考文献 Java ME 手机应用开发大全 黄正环编著 科学出版社 2010 年版 Java 手机游戏设计基础 作者 李涛 清华大学出版社 2009 年版 2 条件与限制条件与限制 2 1 需求约束需求约束 2 1 1 开发与运行环境 用 语言编写的运用于配置有 JAVA 环境的手机 2 1 2 接口 协议 下面给出系统中出现的每个接口的规格说明 其中每个接口要求有如下内容 输入 2 处理过程 3 输出 4 接口交互过程 5 消息和通信协议 6 性能要求 7 故障处理 8 其它要求 2 1 3 用户界面 根据用户手机界面尺寸大小下载相对应的游戏规格 2 1 4 软件质量 从各方面完善该游戏编程 做到正确性 健壮性 可靠性 性能 易用性 安 全性 可扩展性 兼容性 可移植性等等产品质量需求 软件开发性和可扩展性软件开发性和可扩展性 JAVA 程序具有很强的通用性和跳板移植性 本身就具有很强的可扩展性 所以在设计开发时 考虑到可扩展性 因此遵循一定的设计原则 以易于扩展 和维护 软件易用性及易维护性软件易用性及易维护性 软件设计时要考虑到软件的易用性 不能给用带来使用的负担和记性的负 担 同时系统还必须是易于维护的 所以要设计的简洁 软件的标准性软件的标准性 依照 J2ME 开发标准 同时要进行良好的设计工作 制订行之有效的软件工 程规范 保证代码的易读性 可操作性和可移植性 数据录入和处理的正确性和及时性数据录入和处理的正确性和及时性 软件运行时对数据的处理必须有正确的信息才能反馈 数据的一致性及完整性数据的一致性及完整性 在必须数据不完整的情况下 应不予处理 并进行保存 数据的共享与独立数据的共享与独立 2 22 2 隐含约束隐含约束 用户特点 使用支持JAVA应用程序的手机的人群 主要针对年轻人 群 3 需求与规定需求与规定 1 功能需求功能需求 根据系统实现的功能 将系统的功能划分为游戏帮助 游戏设置 游戏进行 游戏排行和游戏反馈等 5 个模块 2 性能需求 性能需求 1 数据精确度 要求用户按提示录入对应选择按钮 系统按照用户的操作进 行相应操作 如键入信息发生错误 则有系统提示错误 2 时间特性 以系统时间为标准进行事务处理 达到实时要求 能实时反馈 如响应时间 更新处理时间 数据转换与传输时间 运行时间等 3 适应性 界面设计简单 便于用户操作 3 运行需求 1 数据录入和处理的正确性和及时性 数据录入和处理的正确性和及时性 软件运行时对数据的处理必须 有正确的信息才能反馈 2 数据的一致性及完整性 数据的一致性及完整性 在必须数据不完整的情况下 应不予处理 并进行保存 3 数据的共享与独立数据的共享与独立 4 4 其他需求其他需求 1 1 软件开发性和可扩展性 软件开发性和可扩展性 JVVA 程序具有很强的通用性和跳板移植性 本身就具有很强的可扩展性 所以在设计开发时 考虑到可扩展性 因此遵循一定的设计原则 以易于扩展 和维护 2 软件易用性及易维护性软件易用性及易维护性 软件设计时要考虑到软件的易用性 不能给用带来使用的负担和记性的负 担 同时系统还必须是易于维护的 所以要设计的简洁 3 软件的标准性软件的标准性 依照 J2ME 开发标准 同时要进行良好的设计工作 制订行之有效的软件工 程规范 保证代码的易读性 可操作性和可移植性 4 4 运行环境运行环境 4 14 1 软件环境软件环境 手机具有支持 JAVA 语言开发软件的运行平台 任何操作系统都可 4 24 2 硬件环境硬件环境 手机具有 Intel Marvell 高通或德州仪器等类型 CPU 至少 2G 内存 要 求手机具有较高分辨率 有无触屏功能都可 以上要求易于手机操作系统对游戏程序的运行有好的响应和大的交易吞吐 量 使大家能够清晰顺畅的玩游戏 触屏与否显示了个人的操作习惯 我们尊 重每个人的选择 5 体系架构体系架构 5 1 系统结构系统结构 Just Jump 软件只有一个主机系统组成 在手机 JAVA 平台上实现游戏运行 信 息存储等功能 5 2 软件架构软件架构 Just jump 游戏软件由消息处理系统 场景显示 运动系统三大主要部分 其游戏软件由消息处理系统 场景显示 运动系统三大主要部分 其 中又以消息处理系统为核心模块 其余部分紧紧围绕它运行 由于只有一台用中又以消息处理系统为核心模块 其余部分紧紧围绕它运行 由于只有一台用 户机器 所以只有一个模块 即用户模块 户机器 所以只有一个模块 即用户模块 消息系统 处理游戏中不同的状态 游戏根据不同的状态作出不同判断 场景显示 随游戏的进行显示背景以及音乐的变换 运动系统 根据用户输入完成游戏角色的不同运动姿态 6 逻辑结构设计逻辑结构设计 J JJ J C CS SC CI I 2 2 游游戏戏 包包 J JJ J C CS SC CI I 1 1用用 户户设设置置包包 J JJ J C CS SC CI I 4 4音音频频图图 像像包包 J JJ J C CS SC CI I 3 3数数据据存存储储 包包 图图 6 1 系统顶层软件结构图系统顶层软件结构图 如图 6 1 所示 系统由 4 个顶层软件模块组成 JJ CSCI CSCI 1 用户设置包 用户通过该包的类进行基本信息的录入和 游戏等级 音效 场景等的选择 JJ CSCI CSCI 2 游戏处理包 负责对输入输出请求的处理 以及计算最高 分等 JJ CSCI CSCI 3 音频图像包 实现音乐文件的存储和管理已经图像文件的 存储和管理 JJ CSCI CSCI 4 信息存储包 负责对角色信息 高分排行 暂停状态等 信息的暂时存储 JJ CSCI CSCI 1 模块分解图 J JJ J C CS SC CI I 2 2 游游戏戏包包 S Sp pr ri it te eG Ga am me eS Sc cr re ee en n 信信息息存存储储包包 c co om mp pu ut te e包包 6 1 JJ CSCI 列表列表 表表 6 1 1 全系统全系统 JJ CSCI 列表列表 Just jump 模块名称 标 识 功能简述 JJ CSCI 1用户设置 进程 JJ CSCI 1 1用户信息处理 进程 JJ CSCI 2游戏处理包 JJ CSCI 2 1角色运动 进程 JJ CSCI 2 2场景控制 进程 JJ CSCI 2 3场景变化 进程 JJ CSCI 2 4最高分计算 进程 JJ CSCI 3 1用户信息记录 JJ CSCI 3 2用户得分记录 JJ CSCI 3 3游戏状态存储 JJ CSCI 4音频图像包 6 2 JJ CSCI 关系图关系图 参见图 6 1 图 6 2 图 6 3 6 4 图 6 1 1 6 3 JJ CSCI 2 1 用户设置用户设置 6 3 1 模块名称模块名称 用户设置 6 3 2 功能描述功能描述 用户设置软件主要完成对用户的设置功能 用户名的设置 玩家性别的设置 玩家形象的设置 6 3 3 接口描述接口描述 6 3 3 1 外部接口外部接口 用户界面用户界面 在用户界面部分 根据需求分析的结果 用户需要一个用户友善界面 在界面设计上 应做到简单明了 易于操作 并且要注意到界面的布局 应突出的显示重要以及出错信息 网页用户界面应作到可靠性 简单性 易学习和使用 软件接口软件接口 主要使用 java 间的函数调用 硬件接口硬件接口 在输入方面 对于键盘的输入 6 3 3 2 内部接口内部接口 内部接口方面 各模块之间采用函数调用 参数传递 返回值的方式进行 信息传递 具体参数的结构将在下面数据结构设计的内容中说明 接口传递的 信息将是以数据结构封装了的数据 以参数传递或返回值的形式在各模块间传 输 6 3 4 流程描述流程描述 用户信息设置流程如下 进入游戏界面 输入用户名 选择玩家性别 选择玩家形象 6 4 JJ CSCI 5 2 角色控制角色控制 6 4 1 模块名称模块名称 角色控制 6 4 2 功能描述功能描述 角色控制软件主要完成对角色运功的控制功能 实现对角色运动状态的控制 实现角色生命值等状态的更新 6 4 3 接口描述接口描述 6 4 3 1 外部接口外部接口 用户界面用户界面 在用户界面部分 根据需求分析的结果 用户需要一个用户友善界面 在界面设计上 应做到简单明了 易于操作 并且要注意到界面的布局 应突出的显示重要以及出错信息 网页用户界面应作到可靠性 简单性 易学习和使用 软件接口软件接口 主要使用 java 间的函数调用 硬件接口硬件接口 在输入方面 对于键盘的输入 6 4 3 2 内部接口内部接口 内部接口方面 各模块之间采用函数调用 参数传递 返回值的方式进行 信息传递 具体参数的结构将在下面数据结构设计的内容中说明 接口传递的 信息将是以数据结构封装了的数据 以参数传递或返回值的形式在各模块间传 输 6 4 4 流程描述流程描述 用户信息设置流程如下 输入接口 控制角色 输出接口 控制角色运动 状态 更新用户信息 7 存储结构设计存储结构设计 7 1 逻辑结构设计要点逻辑结构设计要点 在 just jump 存储文件中有两个表 user 和 rank 和 pause User 是用来存储用户 名和角色信息的 Rank 是用来存储记录排行 Pause 表是用来存储暂停时的状 态的存储表 下面是分别介绍三个存储列表 1 uer 表 用户名username 用户现在得分currentScore 性别sex 形象image 生命值lifeRate 2 Rank 表 用户名uername1第一名 分数score1 用户名uername2第二名 分数score2 用户名uername3第三名 分数score3 用户名uername4第四名 分数score4 2 pause 表 用户 与 user 表连接 user 背景background 音乐music 速度velocity 障碍物分布item 7 2 物理结构设计要点物理结构设计要点 每一个表对应一个文件夹 其中 pause 表中用户 user 是连接的 user 表中整个 user 的信息 所以表 uer 也是一个特殊的数据结构 class User char username 20 int currentscore char 4 sex int image int liferate 同样在 rank 表中障碍物分布是一个自定义的特殊的数据结构 Item item 0 100 class Item int article 障碍物序号 不同的障碍物对应不同的序号障碍物序号 不同的障碍物对应不同的序号 clsaa Point int x int y 内部函数实现定位 内部函数实现定位 x 为横坐标 为横坐标 y 为纵坐标为纵坐标 Point point 障碍物位置障碍物位置 在表 rank 中 rank 是一个长度为 4 的数组 Rank 为元素单位 也是自定义的 特殊的数据结构 Rank rank 0 4 class Rank char username 用户名用户名 int score 分数分数 下面我们逐个对每个表的物理结构进行分析 1 uer 表 char 20 username int currentscore char 4 sex int image int liferate 2 rank 表 Rank rank 0 3 3 pause 表 int background int music int velocity User user 8 部署设计部署设计 由于我们项目是 java 手机小游戏 是一个相对比较小规模的设计 所以我 们只需要一台安装有 java 平台的手机就可以完成用户的所以操作需求 所以我 们这里的服务器 客户机 存储设备实际上都是同一部手机 是为了方便了解 不同硬件部分的组件构成而设置的这样一个部署图 9 运行设计运行设计 9 1 运行模块组合运行模块组合 用户通过设置模块设置好游戏场景和角色进入 just jump 游戏 通过显示模块显 示出来 再通过控制模块控制角色运动并且用存储模块记录角色信息等内容 9 2 运行控制运行控制 运行控制将严格按照各模块间函数调用关系来实现 在各事务中心模块中 需对运行控制进行正确的判断 选择正确的运行控制路径 1 通过显示单元玩家注册用户名 设置单元初始化用户信息 存入存储单 元中 2 玩家通过对话框 按钮使用设置单元设置难度 音效 背景 角色信息 3 点击 帮助 按钮进入帮助界面 帮助界面主要描述游戏的操作方法与 游戏规则 4 几点 开始游戏 按钮 开始游戏 通过方向键 空格键操作角色 此 过程由控制单元实现 5 游戏结束后 显示最后得分 并将最后得分与历史最高分作比较 如果 高于最高分 则储存本次得分为最高分 否则最高分不变 并且显示 再玩一次 和 退出 如果点击 再玩一次 则转到 4 流程图如下所示 进入游戏界面 选择 玩游戏 YES 选择游戏帮助 NO 输入用户名 选择性别 选择玩家形象 开始游戏 游戏结束 选择 再玩一次 结束3 结束4 YES 选择 退出游戏 进入游戏 NO 9 3 运行目录结构运行目录结构 9 31 根目录如下 scr verified res setting bin classpath eclipseme project Down100 jad org eclipse jd t core prefs Comqgm 图像和声音 Classes Libs 系统文件 Comqgmscreen gamehandle data user screen gamehandle data user 9 3 1 JJ CSCI 目录结构目录结构 Just jump 目录描述目录描述 文件夹名称功能简述 Src 用来存储 java 语言编写的源代码 Verified 存放各种类以及声音 图片文件 Res 存放声音 图片文件 Setting 初始化文件夹 Bin 目录用来存放编译的结果 表表 9 3 2 JJ CSCI 目录描述目录描述 10 性能设计性能设计 缓存以及缓存层 caching layer 在数据层和应用层之间增加数据缓存层 提供全局数据服务 可以大大减少 数据库往返次数 与读取数据库和读取大文件 如 XML 文件 比 读取内存的 速度无疑要快的多 所以对经常要访问的数据进行缓存是非常好的实践方法 因为现在系统往往内存很大 可以充分利用大内存 而共享内存更能实现数据 并发访问 多线程 multi threading 多线程对单 CPU 系统还只是顺序利用 CPU 时间和改善用户体验 多 CPU 系统 才是真正的并行 要注意的是多线程不要争抢访问同一资源而导致部分串行操 作 要做到真正的并行操作多线程并不容易 另外 在多线程间同步一个庞大 的资源 过多创建线程又没有实现线程池也会导致系统性能下降 数据库优化 database optimization 如果应用程序使用了数据库 可以采取许多步骤来消除访问和写入数据时 的瓶颈 1 标识潜在的索引 但不要创建过多的索引 2 如果使用 SQL Server 则使用 SQL Server 的事件探查器和索引优化 向导 3 监视处理器的使用 理想范围是 75 80 处理器时间 4 使用查询分析器分析查询计划以优化查询 5 使用存储过程优化性能 6 标准化写入的大量数据 写入较少的数据 7 取消标准化读取的大量数据 读取较少的数据 文件系统优化 有时候系统性能不好 但当你关闭写 log 的功能 性能一下子提高很多 因 为频繁的打开关闭大 log 文件时 I O 开销非常大 同样记录 log 到数据库也一 样 所以 release 版尽量减少写 log 或干脆移到裸设备上 频繁打开关闭文件对系统性能下降程度是惊人的 可以通过一些变通办法 来减少文件的频繁操作 代码性能设计 在编程实现上 代码性能设计也很重要 一些昂贵的操作会占用大量的资 源和 CPU 时间 语言的选择 框架是 Java 的 但其核心独立模块是 C 封装的 这样可以达到最佳的性能 11 系统出错处理设计系统出错处理设计 11 1 出错信息 1 设置有可能出现错误 软件或手机问题 即不能进行正常的游戏 2 显示有可能出现错误 软件或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论