1、打飞机游戏大厅系统软件设计说明书目录1.介绍11.1目的11.2范围11.3内容概览12.体系结构表示方法13.系统要达到的目标和限制14.用例视图24.1系统用例图24.2登录游戏大厅24.3更新用户列表34.4选择座位44.5摆放棋子54.6发动进攻64.7反馈结果74.8重新开始84.9退出游戏95.逻辑视图105.1总览105.2主要Package的介绍116.过程视图126.1登录游戏大厅126.2准备游戏126.3游戏对战136.4结束游戏137.部署视图138.规模和性能149.质量14软件设计说明书1. 介绍1.1 目的这篇文档提供了打飞机游戏大厅系统架构的总览, 从不同的视角
2、描述了该系统。同时介绍了打飞机游戏大厅系统的想法, 包含架构分析的关键决策, 目的在于帮助开发人员理解打飞机游戏大厅系统的基本结构。1.2 范围介绍了打飞机游戏大厅系统的登录游戏大厅、 游戏准备、 游戏对战、 结束游戏、 更新用户列表。1.3 内容概览 登录系统用户若要登录游戏大厅, 需要输入用户名和正确的服务器端IP, 如果输入错误, 则停留在登录页, 相反登录到游戏大厅, 并更新用户列表; 游戏准备用户需要进入一个其它用户未使用的座位, 加载游戏界面, 而且摆放好棋子的位置后点击准备按钮; 游戏对战由最先进入游戏界面的一方发起攻击, 另一方返回攻击结果, 交换进攻权, 依次循环; 结束游戏
3、当有一方的三架飞机均被击中头部, 结束游戏; 更新用户列表当有用户进入或退出游戏大厅时更新游戏大厅用户列表, 用户从游戏界面退出时, 更新用户信息和大厅信息。2. 体系结构表示方法这篇文档使用一系列视图反映系统架构的某个方面; 用例视图: 概括了架构上最为重要的用例和它们的非功能性需求; 逻辑视图: 展示了描述系统关键方面的重要用例实现场景(使用交互图); 部署视图: 展示构建在处理节点上的物理部署以及节点之间的网络配置(使用部署图); 过程视图: 描述了数据流( 使用类图描述数据模型, 活动图表示数据流)。3. 系统要达到的目标和限制 目标客户能够正确登录, 在登录页面输入信息时能够在输入错
4、误的同时看到错误提示; 正确登录后能够加载游戏大厅, 通知其它人更新用户列表, 点击其中一各位被占用的位置后能够进入到游戏界面, 双方都摆放好棋子后能够点击准备按钮, 开始一次游戏对战。 限制客户输入的不是服务器IP, 客户不能登录到游戏大厅; 一个用户无法开始游戏, 必须都进入相同桌后点击准备按钮, 方可开战。4. 用例视图 打飞机游戏大厅系统描述的主要用例有: 登录游戏大厅, 选择座位, 摆放棋子, 发起进攻, 反馈结果, 重新开始, 退出游戏, 更新用户列表。4.1 系统用例图系统用例图见图4.1: 图4.1 系统用例图4.2 登录游戏大厅4.2.1 用例简述用户输入用户名和IP地址登录
5、游戏大厅。系统会通知其它用户更新用户列表。4.2.2 基本事件流1 用户: 在登录界面输入用户名和服务器IP, 登录。2 系统: 判断IP是否符合规则。3 系统: 加载登录大厅, 更新用户列表。4 用例结束。4.2.3 活动图登录游戏大厅的活动图见图4.2图4.2 登录游戏大厅的活动图4.3 更新用户列表4.3.1 用例简述由用户登录或退出游戏大厅和坐下时, 更新用户列表和信息。4.3.2 基本事件流 1 客户端系统: 发送更新用户列表请求。2 服务器端系统: 发送用户列表3 用例结束。4.3.3 活动图更新用户列表的活动图见图4.3图4.3更新用户列表的活动图4.4 选择座位4.4.1 用例
6、简述用户选择空座位进入, 同时进入游戏界面, 更新用户列表。4.4.2 基本事件流1 用户: 点击座位想要入座。2 系统: 判断此座位是否已有用户。3 用户: 用户成功入座。4 系统: 加载游戏界面, 更新游戏用户列表及用户信息。5 系统: 用例结束。4.4.3 活动图选择座位的活动图见图4.4图4.4选择座位的活动图4.5 摆放棋子4.5.1 用例简述进入游戏即可移动三个飞机棋子, 在双方都进入游戏后, 点击”准备”按钮后棋子摆放结束。4.5.2 基本事件流 1 用户: 选择棋子的位置, 移动棋子。2 系统: 检测移动是否合法。3 系统: 检测是否有两名用户都已入座。4 用户: 点击准备按钮
7、。5 系统: 将棋子画入棋盘, 使其不可更改。6 系统: 判断谁先进入游戏界面, 加载相应组件。7 用例结束。4.5.3 活动图摆放棋子的活动图见图4.5图4.5摆放棋子的活动图4.6 发动进攻4.6.1 用例简述双方都准备后, 由显示攻击按钮的一方, 经过点击棋盘, 自动获取坐标显示在坐标文本框内, 点击进攻按钮, 发起进攻, 同时会在对方棋盘上显示进攻点标记。4.6.2 基本事件流 1 用户: 点击棋盘以获得目标攻击点。2 系统: 在坐标文本框中显示出用户点击的目标点坐标。3 用户: 点击进攻按钮。4 系统: 将攻击点信息发给对方。5 系统: 加载反馈组件。6 系统: 对反棋盘上显示进攻点
8、标记。7 用例结束。4.6.3 活动图发动进攻的活动图见图4.6图4.6发动进攻的活动图4.7 反馈结果4.7.1 用例简述接到攻击信息后, 能够点击反馈按钮组, 同时会将反馈结果显示在对方棋盘, 做上相应标记。4.7.2 基本事件流 1 系统: 设置反馈组件可用。2 用户: 根据攻击情况, 点击反馈按钮。3 系统: 判断是否是”死”是否被点第三次。3 系统: 移除反馈按钮组和攻击点标记。4 系统: 添加进攻组件或结束游戏组件。5 系统: 对反棋盘上添加与反馈结果相对应的标记。6 用例结束。4.7.3 活动图反馈结果的活动图见图4.7图4.7反馈结果的活动图4.8 重新开始4.8.1 用例简述
9、用户击落所有飞机时会显示这个按钮, 点击后棋盘恢复初始状态。4.8.2 基本事件流 1 系统: 移除反馈按钮组, 加载重新开始按钮。2 用户: 用户点击重新开始。3 系统: 恢复棋盘及棋子至初始状态。4 结束用例4.8.3 活动图重新开始的活动图见图4.8 图4.8重新开始系统的活动图4.9 退出游戏4.9.1 用例简述用户击落所有飞机时会显示这个按钮, 点击后退出游戏界面来到游戏大厅。4.9.2 基本事件流 1 系统: 移除反馈按钮组, 添加退出游戏按钮。2 用户: 点击退出游戏按钮。3 系统: 关闭游戏界面。4 用例结束。4.9.3 活动图退出游戏的活动图见图4.9图4.9退出游戏的活动图
10、5. 逻辑视图 逻辑视图部分主要叙述了设计阶段的工作。5.1 总览图5.1的领域模型是打飞机游戏大厅系统的设计实体及其之间的关系; 客户端服务器端图5.1 领域模型5.2 主要Package的介绍打飞机游戏大厅系统Package图见图5.2图5.2 打飞机游戏大厅系统Package图 ClientClient包, 她们属于游戏大厅的类。 CommonCommon包, 她们属于客户端和服务器端均要使用的公共类。 ServerServer包包含Action, 她们属于服务器端的类。 GameGame包包含Actin, 她们属于游戏界面中使用的类6. 过程视图过程视图部分叙述几个主要子系统的处理流程
11、。6.1 登录游戏大厅6.1.1 用户登录游戏大厅的顺序图见图6.1图6.1 用户登录游戏大厅的顺序图6.2 准备游戏6.2.1 准备游戏的顺序图见图6.4图6.4 准备游戏的顺序图6.3 游戏对战6.3.1 游戏对战的顺序图见图6.7图6.7游戏对战的顺序图6.4 结束游戏6.4.1 结束游戏的顺序图见图6.10图6.10结束游戏的顺序图7. 部署视图部署视图描述了如何将具体软件制品分配到计算节点 (具有处理服务的某种事物) 上, 表示了软件元素在物理架构上的部署, 以及物理元素之间的通信。打飞机游戏大厅系统的部署视图见图7.1图7.1 打飞机游戏大厅系统的部署视图 Generic PC普通的个人计算机。 Server服务器, 或者带有服务器功能的普通的个人计算机。8. 规模和性能 满足的规模能够满足100人同时在线浏览网页, 20人同时进行有关数据库的操作。 满足的性能能够满足让顾客能够认同的相应时间。9. 质量系统正式使用时, 登录、 注册、 查看商品、 生产订单的流程正常。