软件设计说明书
这篇文档提供了星空传奇游戏软件架构的总览,从不同的视角描述了该系统。同时介绍了星空传奇游戏软件的想法,包含架构分析的关键决策,目的在于帮助开发人员理解星空传奇游戏软件的基本结构。
介绍了星空传奇游戏软件的登录游戏大厅、游戏准备、游戏对战、结束游戏、更新用户列表。
✧ 登录系统
用户若要登录游戏大厅,需要输入用户名和正确的服务器端IP,如果输入错误,则停留在登录页,相反登录到游戏大厅,并更新用户列表;
✧ 游戏准备
用户需要进入一个其他用户未使用的座位,加载游戏界面,并且摆放好棋子的位置后点击准备按钮;
✧ 游戏对战
由最先进入游戏界面的一方发起攻击,另一方返回攻击结果,交换进攻权,依次循环;
✧ 结束游戏
当有一方的三架飞机均被击中头部,结束游戏;
✧ 更新用户列表
当有用户进入或退出游戏大厅时更新游戏大厅用户列表,用户从游戏界面退出时,更新用户信息和大厅信息。
功能特点:
本游戏一款奇幻动作类MMORPG网络游戏。 整个传奇世界构建了一个完整的虚拟社会体系,每一个玩家都能在游戏中体会不一样的人生。师徒、夫妻、行会等社会关系,使玩家有效的参与到了“攻城略地”、“行会战斗”、“文明发展”、“个体交往”等虚拟社会活动中去。
技术特点:
1、全面并同等的支持OpenGL和Direct3D。 2、全面支持Windows,Linux以及Mac OS X平台。3、强大且成熟的材质管理和脚本系统,可以不动一行代码去进行材质维护。
这篇文档使用一系列视图反映系统架构的某个方面;
用例视图:概括了架构上最为重要的用例和它们的非功能性需求;
逻辑视图:展示了描述系统关键方面的重要用例实现场景(使用交互图);
部署视图:展示构建在处理节点上的物理部署以及节点之间的网络配置(使用部署图);
过程视图:描述了数据流(使用类图描述数据模型,活动图表示数据流)。
目标
客户可以正确登录,在登录页面输入信息时能够在输入错误的同时看到错误提示;正确登录后可以加载游戏大厅,通知其他人更新用户列表,点击其中一各位被占用的位置后可以进入到游戏界面,双方都摆放好棋子后可以点击准备按钮,开始一次游戏对战。
限制
客户输入的不是服务器IP,客户不能登录到游戏大厅;
一个用户无法开始游戏,必须都进入相同桌后点击准备按钮,方可开战。
星空传奇游戏软件描述的主要用例有:登录游戏大厅,选择座位,摆放棋子,发起进攻,反馈结果,重新开始,退出游戏,更新用户列表。
系统用例图见图4.1:
word/media/image1.gif
图4.1 系统用例图
用户输入用户名和IP地址登录游戏大厅。系统会通知其他用户更新用户列表。
1 用户:在登录界面输入用户名和服务器IP,登录。
2 系统:判断IP是否符合规则。
3 系统:加载登录大厅,更新用户列表。
4 用例结束。
登录游戏大厅的活动图见图4.2
word/media/image2.gif
图4.2 登录游戏大厅的活动图
由用户登录或退出游戏大厅和坐下时,更新用户列表和信息。
1 客户端系统:发送更新用户列表请求。
2 服务器端系统:发送用户列表
3 用例结束。
更新用户列表的活动图见图4.3
word/media/image3.gif
图4.3更新用户列表的活动图
用户选择空座位进入,同时进入游戏界面,更新用户列表。
1 用户:点击座位想要入座。
2 系统:判断此座位是否已有用户。
3 用户:用户成功入座。
4 系统:加载游戏界面,更新游戏用户列表及用户信息。
5 系统:用例结束。
选择座位的活动图见图4.4
word/media/image4.gif
图4.4选择座位的活动图
进入游戏即可移动三个飞机棋子,在双方都进入游戏后,点击“准备”按钮后棋子摆放结束。
1 用户:选择棋子的位置,移动棋子。
2 系统:检测移动是否合法。
3 系统:检测是否有两名用户都已入座。
4 用户:点击准备按钮。
5 系统:将棋子画入棋盘,使其不可更改。
6 系统:判断谁先进入游戏界面,加载相应组件。
7 用例结束。
摆放棋子的活动图见图4.5
word/media/image5.gif
图4.5摆放棋子的活动图
双方都准备后,由显示攻击按钮的一方,通过点击棋盘,自动获取坐标显示在坐标文本框内,点击进攻按钮,发起进攻,同时会在对方棋盘上显示进攻点标记。
1 用户:点击棋盘以获得目标攻击点。
2 系统:在坐标文本框中显示出用户点击的目标点坐标。
3 用户:点击进攻按钮。
4 系统:将攻击点信息发给对方。
5 系统:加载反馈组件。
6 系统:对反棋盘上显示进攻点标记。
7 用例结束。
发动进攻的活动图见图4.6
word/media/image6.gif
图4.6发动进攻的活动图
接到攻击信息后,可以点击反馈按钮组,同时会将反馈结果显示在对方棋盘,做上相应标记。
1 系统:设置反馈组件可用。
2 用户:根据攻击情况,点击反馈按钮。
3 系统:判断是否是“死”是否被点第三次。
3 系统:移除反馈按钮组和攻击点标记。
4 系统:添加进攻组件或结束游戏组件。
5 系统:对反棋盘上添加与反馈结果相对应的标记。
6 用例结束。
反馈结果的活动图见图4.7
word/media/image7.gif
图4.7反馈结果的活动图
用户击落所有飞机时会显示这个按钮,点击后棋盘恢复初始状态。
1 系统:移除反馈按钮组,加载重新开始按钮。
2 用户:用户点击重新开始。
3 系统:恢复棋盘及棋子至初始状态。
4 结束用例
重新开始的活动图见图4.8
word/media/image8.gif
图4.8重新开始系统的活动图
用户击落所有飞机时会显示这个按钮,点击后退出游戏界面来到游戏大厅。
1 系统:移除反馈按钮组,添加退出游戏按钮。
2 用户:点击退出游戏按钮。
3 系统:关闭游戏界面。
4 用例结束。
退出游戏的活动图见图4.9
word/media/image9.gif
图4.9退出游戏的活动图
逻辑视图部分主要叙述了设计阶段的工作。
图5.1的领域模型是星空传奇游戏软件的设计实体及其之间的关系;
word/media/image10.gif
客户端
word/media/image11.gif
服务器端
图5.1 领域模型
星空传奇游戏软件Package图见图5.2
word/media/image12.gif
图5.2 星空传奇游戏软件Package图
Client
Client包,他们属于游戏大厅的类。
Common
Common包,他们属于客户端和服务器端均要使用的公共类。
Server
Server包包含Action,他们属于服务器端的类。
Game
Game包包含Actin,他们属于游戏界面中使用的类
过程视图部分叙述几个主要子系统的处理流程。
word/media/image13.gif
图6.1 用户登录游戏大厅的顺序图
word/media/image14.gif
图6.4 准备游戏的顺序图
word/media/image15.gif
图6.7游戏对战的顺序图
word/media/image16.gif
图6.10结束游戏的顺序图
部署视图描述了如何将具体软件制品分配到计算节点 (具有处理服务的某种事物) 上,表示了软件元素在物理架构上的部署,以及物理元素之间的通信。
星空传奇游戏软件的部署视图见图7.1
word/media/image17.gif
图7.1 星空传奇游戏软件的部署视图
Generic PC
普通的个人计算机。
Server
服务器,或者带有服务器功能的普通的个人计算机。
满足的规模
能够满足100人同时在线浏览网页,20人同时进行有关数据库的操作。
满足的性能
能够满足让顾客可以认同的相应时间。
系统正式使用时,登录、注册、查看商品、生产订单的流程正常。
本文来源:https://www.2haoxitong.net/k/doc/da8b673c50ea551810a6f524ccbff121dd36c596.html
文档为doc格式