游戏软件设计说明书书(模版)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件设计说明书1.介绍1.1目的这篇文档提供了星空传奇游戏软件架构的总览,从不同的视角描述了该系统。同时介绍了星空传奇游戏软件的想法,包含架构分析的关键决策,目的在于帮助开发人员理解星空传奇游戏软件的基本结构。1.2范围介绍了星空传奇游戏软件的登录游戏大厅、游戏准备、游戏对战、结束游戏、更新用户列表。1.3内容概览登录系统用户若要登录游戏大厅,需要输入用户名和正确的服务器端IP,如果输入错误,则停留在登录页,相反登录到游戏大厅,并更新用户列表;游戏准备用户需要进入一个其他用户未使用的座位,加载游戏界面,并且摆放好棋子的位置后点击准备按钮;游戏对战由最先进入游戏界面的一方发起攻击,另一方返回攻击结果,交换进攻权,依次循环;结束游戏当有一方的三架飞机均被击中头部,结束游戏;更新用户列表当有用户进入或退出游戏大厅时更新游戏大厅用户列表,用户从游戏界面退出时,更新用户信息和大厅信息。1.4功能技术特点功能特点:本游戏一款奇幻动作类MMORPG网络游戏。整个传奇世界构建了一个完整的虚拟社会体系,每一个玩家都能在游戏中体会不一样的人生。师徒、夫妻、行会等社会关系,使玩家有效的参与到了“攻城略地”、“行会战斗”、“文明发展”、“个体交往”等虚拟社会活动中去。技术特点:1、全面并同等的支持OpenGL和Direct3D。2、全面支持Windows,Linux以及MacOSX平台。3、强大且成熟的材质管理和脚本系统,可以不动一行代码去进行材质维护。2.体系结构表示方法这篇文档使用一系列视图反映系统架构的某个方面;用例视图:概括了架构上最为重要的用例和它们的非功能性需求;逻辑视图:展示了描述系统关键方面的重要用例实现场景(使用交互图);部署视图:展示构建在处理节点上的物理部署以及节点之间的网络配置(使用部署图);过程视图:描述了数据流(使用类图描述数据模型,活动图表示数据流)。3.系统要达到的目标和限制目标客户可以正确登录,在登录页面输入信息时能够在输入错误的同时看到错误提示;正确登录后可以加载游戏大厅,通知其他人更新用户列表,点击其中一各位被占用的位置后可以进入到游戏界面,双方都摆放好棋子后可以点击准备按钮,开始一次游戏对战。限制客户输入的不是服务器IP,客户不能登录到游戏大厅;一个用户无法开始游戏,必须都进入相同桌后点击准备按钮,方可开战。4.用例视图星空传奇游戏软件描述的主要用例有:登录游戏大厅,选择座位,摆放棋子,发起进攻,反馈结果,重新开始,退出游戏,更新用户列表。4.1系统用例图系统用例图见图4.1:游戏系统用户登录游戏大厅准备游戏进行游戏发起攻击反馈结果结束游戏重新开始退出游戏extendsextends摆放棋子选择座位extendsextendsextendsextends更新用户列表图4.1系统用例图4.2登录游戏大厅4.2.1用例简述用户输入用户名和IP地址登录游戏大厅。系统会通知其他用户更新用户列表。4.2.2基本事件流1用户:在登录界面输入用户名和服务器IP,登录。2系统:判断IP是否符合规则。3系统:加载登录大厅,更新用户列表。4用例结束。4.2.3活动图登录游戏大厅的活动图见图4.2systemuser加载登录界面输入用户名和IP地址加载游戏大厅发送更新用户列表[否][是]输入IP不合法图4.2登录游戏大厅的活动图4.3更新用户列表4.3.1用例简述由用户登录或退出游戏大厅和坐下时,更新用户列表和信息。4.3.2基本事件流1客户端系统:发送更新用户列表请求。2服务器端系统:发送用户列表3用例结束。4.3.3活动图更新用户列表的活动图见图4.3systemuser发送更新用户列表是否更新游戏界面更新游戏界面更新游戏大厅[是][否]图4.3更新用户列表的活动图4.4选择座位4.4.1用例简述用户选择空座位进入,同时进入游戏界面,更新用户列表。4.4.2基本事件流1用户:点击座位想要入座。2系统:判断此座位是否已有用户。3用户:用户成功入座。4系统:加载游戏界面,更新游戏用户列表及用户信息。5系统:用例结束。4.4.3活动图选择座位的活动图见图4.4systemuser载入游戏大厅座位上已有用户[否][是]发送更新用户列表点击位置加载游戏界面图4.4选择座位的活动图4.5摆放棋子4.5.1用例简述进入游戏即可移动三个飞机棋子,在双方都进入游戏后,点击“准备”按钮后棋子摆放结束。4.5.2基本事件流1用户:选择棋子的位置,移动棋子。2系统:检测移动是否合法。3系统:检测是否有两名用户都已入座。4用户:点击准备按钮。5系统:将棋子画入棋盘,使其不可更改。6系统:判断谁先进入游戏界面,加载相应组件。7用例结束。4.5.3活动图摆放棋子的活动图见图4.5systemuser载入游戏界面移动棋子棋子移动不合法恢复原始位置改变棋子的位置点击准备按钮移除准备按钮先进入游戏界面加载反馈组件加载进攻组件[否][是][否][是]图4.5摆放棋子的活动图4.6发动进攻4.6.1用例简述双方都准备后,由显示攻击按钮的一方,通过点击棋盘,自动获取坐标显示在坐标文本框内,点击进攻按钮,发起进攻,同时会在对方棋盘上显示进攻点标记。4.6.2基本事件流1用户:点击棋盘以获得目标攻击点。2系统:在坐标文本框中显示出用户点击的目标点坐标。3用户:点击进攻按钮。4系统:将攻击点信息发给对方。5系统:加载反馈组件。6系统:对反棋盘上显示进攻点标记。7用例结束。4.6.3活动图发动进攻的活动图见图4.6systemuser加载游戏界面点击棋盘显示坐标,设置攻击按钮可用点击攻击按钮发送攻击信息移除攻击组件,添加反馈组件图4.6发动进攻的活动图4.7反馈结果4.7.1用例简述接到攻击信息后,可以点击反馈按钮组,同时会将反馈结果显示在对方棋盘,做上相应标记。4.7.2基本事件流1系统:设置反馈组件可用。2用户:根据攻击情况,点击反馈按钮。3系统:判断是否是“死”是否被点第三次。3系统:移除反馈按钮组和攻击点标记。4系统:添加进攻组件或结束游戏组件。5系统:对反棋盘上添加与反馈结果相对应的标记。6用例结束。4.7.3活动图反馈结果的活动图见图4.7systemuser添加攻击标识设置反馈按钮组可用点击反馈按钮添加结束组件添加攻击组件发送反馈结果“死”未被点击三次移除反馈按钮组件[是][否]图4.7反馈结果的活动图4.8重新开始4.8.1用例简述用户击落所有飞机时会显示这个按钮,点击后棋盘恢复初始状态。4.8.2基本事件流1系统:移除反馈按钮组,加载重新开始按钮。2用户:用户点击重新开始。3系统:恢复棋盘及棋子至初始状态。4结束用例4.8.3活动图重新开始的活动图见图4.8systemuser移除反馈组件,添加结束组件点击重新开始恢复初始化棋盘图4.8重新开始系统的活动图4.9退出游戏4.9.1用例简述用户击落所有飞机时会显示这个按钮,点击后退出游戏界面来到游戏大厅。4.9.2基本事件流1系统:移除反馈按钮组,添加退出游戏按钮。2用户:点击退出游戏按钮。3系统:关闭游戏界面。4用例结束。4.9.3活动图退出游戏的活动图见图4.9分区4分区3移除反馈组件,添加结束组件点击退出游戏退出游戏界面图4.9退出游戏的活动图5.逻辑视图逻辑视图部分主要叙述了设计阶段的工作。5.1总览图5.1的领域模型是星空传奇游戏软件的设计实体及其之间的关系;+login()-submit:object-reset:object-gameHall:GameHall-user:UserLogIn-table:Table-gameFrame:GemeFrameGameHall-leftSeat:ChairTable-user:UserChair+addfeedbackCompenents()+removeFeedbackCompennets()+addAttackCompenents()+removeAttackCompenents()+addGameoverCompenents()+removeGameoverCompenents()-attack:object-feedback:object-coorText:object-chessBoard:ChessBoard-playAgain:object-nextPlay:object-ready:objectGemeFrame-chessPriece:ChessPiece-feedbackImage:FeedbackImage-attackResultImage:AttackResultImage-rule:RulesChessBoard-head:string-shade:string-point:objectChessPiece-ID:String-name:String-clientSocket:objectUser-kind:int-image:objectFeedbackImage-image:objectAttackResultImage-user:UserUserContext+isOveral()+outOfBount()Rules-TableArry:TableHallContext+excute()interfaceclientAction-clientAction:String-paragram:objectResponse+run()-user:User-response:ResponseClientThreadimplementationclassUpdateUserListActionimplementationclassGamoverActionimplementationclassAttackResultActionimplementationclassChangeIsPreparedWellActionimplementationclassFeedbackAction+excute()implementationclassClintInAction111111111*1**111*1*111111111*11*客户端+excute()interfaceServerAction-clientAction:string-serverAction:string-paragram:objectRequset+run()ServerThreadimplementationclassDealwithGameOverActionimplementationclassNotifyPreparedWellAction-serverSocket:objectServerStartAttackActionimplementationclassStartFeedbackActionimplementationclassUserComeInAction+excute()implementationclassReceiveInAction1*111*服务器端图5.1领域模型5.2主要Package的介绍星空传奇游戏软件Package图见图5.2ClientCommonGameActionusesusesServerActionuses图5.2星空传奇游戏软件Package图ClientClient包,他们属于游戏大厅的类。CommonCommon包,他们属于客户端和服务器端均要使用的公共类。ServerServer包包含Action,他们属于服务器端的类。GameGame包包含Actin,他们属于游戏界面中使用的类6.过程视图过程视图部分叙述几个主要子系统的处理流程。6.1登录游戏大厅6.1.1用户登录游戏大厅的顺序图见图6.1LoginGameHallcomfirm(user);login(user);userServersendRes

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功