案例2-银河侦探游戏软件文档编制.doc_第1页
案例2-银河侦探游戏软件文档编制.doc_第2页
案例2-银河侦探游戏软件文档编制.doc_第3页
案例2-银河侦探游戏软件文档编制.doc_第4页
案例2-银河侦探游戏软件文档编制.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

261附录C 银河侦探游戏软件文档编制银河侦探游戏软件文档编制本附录介绍银河侦探(Galaxy Sleuth)游戏项目的需求说明书、概要设计说明书和详细设计说明书文档,可供学生学习软件文档写作课程时作为训练项目的参考。银河侦探(Galaxy Sleuth)游戏是欧美大学软件工程课程学习中使用较为广泛的一个学生项目,我们在软件文档写作课程教学实践中引进作为学生训练项目,取得了较好的教学效果。在设计这个项目时我们参考了美国斯坦福大学(cs.S)对该项目的命题。本系统文档编号由文档字母标记、软件项目名称、文档类型、文档生成日期组成,例如,需求说明书的编号为:WD_GLYX_SRS_040420,概要设计说明书的编号为:WD_GLYX_SSD_040630,详细设计说明书的编号为:WD_GLYX_DSD_040830。图C1为该游戏的主界面。图C1 主界面文档编号:WD_GLYX_SRS_040420版 本 号:V1.0软件需求说明书项目名称 银河侦探游戏软件(Galaxy Sleuth) 项目负责人 程 振 波 项目开发单位 浙江工业大学信息工程学院 2004年4月20日软件需求修改情况记录见表C1表C1 软件需求修改情况记录版本号设计状态摘要设计人设计日期审核人审核日期批准人批准日期1.0创建周鸿斌2004.4.20目 录一、引言1编写目的2背景3定义4参考资料二、任务概述1目标2用户的特点3假定和约束三、需求规定1对功能的规定2对性能的规定3输入输出要求四、运行环境规定1设备2支持软件3接口一、引言 1编写目的本文档将对银河侦探游戏软件开发需求进行描述,本文档的读者是项目策划、设计和评审人员。2背景本项目作为软件文档写作课程的训练项目提出,可将学生分成若干项目开发小组进行管理。希望学生通过银河侦探游戏软件设计开发,了解软件文档的相关标准和编写原则,训练并掌握软件各类文档写作的技巧,同时提高学生使用Java开发应用程序的能力。本项目的名称:银河侦探游戏软件。本项目的提出者:浙江工业大学信息工程学院教师程振波。本项目的开发者:浙江工业大学信息工程学院计算机应用专业2003级周鸿斌、李鼎、贺国庆、金海民。3定义Galaxy Sleuth:银河侦探。4参考资料游戏软件资料。开发要求说明。二、任务概述 1目标该软件是一个基于策略与线索的逻辑推理游戏,程序采用客户朋a务器结构,能提供聊天等功能。游戏者(Player)可以在因特网上远程对弈,其中每个客户端支持一个游戏者的游戏界面,而服务器协调游戏者之间的通信并且使游戏中的事件序列协调一致。游戏还能提供展示以往操作的历史窗口、能基于时空的追踪以及逻辑推理。软件开发的目标是理解软件文档写作规范以及利用Java开发简单的网络游戏,同时,也希望最终产品能满足喜欢玩推理游戏同学的期望。该系统运行的平台应具有LAN或Java 2。2用户的特点用户不需要任何技术背景,但应能看懂此在线游戏的复杂规则。用户也无须具备网络方面的知识,只需知道如何给出IP地址。3假定和约束本软件的开发期限为三周。完成项目的主要困难是缺乏C/S(客户端/服务器端)软件开发的背景和知识,缺少高质量的图形编辑罪以及软件工程的实际经验。三、需求规定1对功能的规定游戏者通过旋转一个转盘来随机选择移动步数,从而决定到达不同星球。游戏的目的是在星际旅行时收集一系列有关嫌疑犯的线索,当游戏者穿越太空时,他们可以以对嫌疑犯进行假设的形式来询问其他游戏者,其他游戏者用他们的证据来推翻或认可假设。嫌疑犯的假设被通报给所有的游戏者,如果一个游戏者可以推翻这个假设,则这条情报只能通报给前来询问的游戏者。其他游戏者也被告知有人否定了这条假设,但不会被告知具体是哪条证据否定了该假设。如果假设不能被否定,则所有的游戏者被告知这个事实。在收集到一定的线索后,游戏者可能可以推断出嫌疑犯和其作案环境,第一个完成这个任务的游戏者将赢得这场游戏的胜利。如果一个游戏者得出错误的结论,则他就输掉了这场游戏。参照用例图C2,可以得出基本需求用例。图C2 用例图用例1:功能名称:创建游戏。主执行者:游戏者。范围:Galaxy Sleuth。级别:用户目标级。功能描述:游戏者成功开启应用程序,界面上可以选择CreateGame、JoinGame、Credits、instructions和Exit。当游戏者按下Create Game,系统允许游戏者选择游戏的设置,并且选择一个嫌疑犯。此游戏者为host(主机)。前提条件:已启动GalaxySleuth游戏程序,进入游戏界面。主成功场景:游戏者进入“创建游戏”界面。游戏者输入其用户名。游戏系统接受,进入SuspectSelected界面。选择嫌疑犯。游戏系统接受。用例接受。用例2:功能名称;加入游戏。主执行者:游戏者。范围:Galaxy Sleuth。级别:用户目标级。功能描述:其他游戏者要加入游戏,按Join Game,然后输入他们要连接的主机的1P地址。在下一个窗口中选择嫌疑犯名字。游戏可供36人在线,在人数已满的情况下如还有人加入,系统应提示“Thegameisfull”,需另选游戏。如果游戏者选择的游戏已开始,系统能发出警告“Thegamehasbegun”。如果游戏者选择的嫌疑犯是其他人已选过的,系统提示“Theselectedsuspectisnotavailable”,游戏者需另选嫌疑犯。前提条件:已启动游戏程序,进入游戏界面及已有游戏者创建游戏。主成功场景:游戏者进入“加入游戏界面”。输入游戏者名和创建游戏游戏者的IP地址。游戏系统验证接受,进入SuspectSelected界面。选择还没被选择的嫌疑犯。游戏系统接受。用例接受。扩展:游戏人数已满:游戏系统通知游戏者不能加入游戏。游戏已开始:游戏系统通知游戏者不能加入游戏。用例3:功能名称:开始游戏。主执行者:创建游戏者。范围:Galaxy Sleuth。级别:用户目标级。功能描述:当用户加入到游戏后有一个等候室可以显示其他连接上的用户,这时必须由服务器端用户开始游戏。游戏一开始,用户各自的角色就标记上特定的颜色。游戏过程中应有若干主窗口,左上方以复选框的形式显示游戏者目前拥有的证据,它将会根据游戏者获得的情况更新。右上方为九大星球,每个嫌疑犯都被定位在一个合适的起点,星球中央是一个Spin。左下方第一部分能显示当前所有用户的状态,并标记上各自的名字和角色的颜色。旁边有4个按钮;End Turn、Hypothesis、Conclusion和Pass右边是一个文本框,它展示了游戏的历史信息,并且允许用户聊天。游戏者可在下面的一个文本框中输入文本。如果这时服务器检测到有游戏者断线或人数少于3人,系统会发出信息要求游戏者回来。前提条件:已经创建游戏和游戏者已经加入游戏。主成功场景: 进入“开始游戏”界面。 系统分配各嫌疑犯的标志在游戏面板的位置。 系统随机决定游戏的关卡。 用例结束。用例4:功能描述:游戏者的标准走法。主执行者:游戏者。范围:Galaxy Sleuth。级别:用户目标级。功能描述;星球中有一个类似于骰子的Spin,单击Spin,会显示16的某一个数。此数即为游戏者可以移动的最大数目,嫌疑犯周围会出现一些变亮的小方块。游戏者通过单击其中一个来移动嫌疑犯。如果游戏者在限定的时间内没有移动或没有有效的方块可以移动,则游戏者只能按Pass。如果嫌疑犯进入了某个星球,那么Pose Hypothesis被允许。若游戏者单击的不是嫌疑犯附近的方块,系统警告“It is an illegal move”。若游戏者移动后又单击Spin,系统警告“You cant spin twice in one turnThats cheating”。前提条件:游戏已经开始,当前轮到游戏者进行游戏。主成功场景: 游戏者按下Spin按钮。 游戏系统随机产生一个146的随机数。 游戏者可以根据面板的方格的高亮提示到达相应的方格或星球。扩展: 游戏者进入“做出假设”界面:系统调用做出假设用例。 游戏者进入一个星球:系统调用游戏者星球走法用例。用例:功能描述:游戏者星球走法。主执行者:游戏者。范围:Galaxy Sleuth。级别:用户目标级。功能描述:游戏者单击Pose Hypothesis,若他的假设没有被拒绝,则他仍可以继续这一轮,若被拒绝则需End Turn。游戏者单击Pose Solution,若结论是错的则游戏者就被淘汰,只能去推翻别人的假设:若正确则此游戏者胜出。前提条件:游戏者已在星球上且轮到游戏者进行游戏。主成功场景: “做出假设”按钮。 系统调用游戏者做出假设用例。 本用例结束。扩展: 游戏者按下“做出结论”按钮:系统调用游戏者做出结论用例或本用例结束。 游戏者按下Spin按钮:系统调用游戏者的标准走法用例。用例6:功能描述:游戏者做出假设。主执行者:游戏者。范围:Galaxy Sleuth。级别:用户目标级。功能描述:游戏者在假设中选择了可能的嫌疑犯、他所在的星球和他所带的武器。然后游戏者单击Send提交,其他游戏者的屏幕上就都显示出了这条假设,接下来游戏者就要依靠证据努力去推翻它。若假设被推翻,那么提交假设的游戏者的屏幕上会显示出证据,其他游戏者会被告知此假设已被推翻。前提条件:游戏者在星球上且选择了“做出假设”按钮。主成功场景: 游戏者选择游戏者登陆的星球、一个嫌疑犯及一种武器作为假设。 系统把假设发送给各游戏者。 其他游戏者没有拒绝假设。 又轮到游戏者回到游戏者星球走法用例。 用例结束。扩展:游戏者按下“取消”按钮:系统调用游戏者星球走法用例,本用例结束。有一游戏者拒绝假设:系统把用来拒绝的证据发送给做出假设的游戏者,系统告诉其他游戏者假设被拒绝,做出假设的游戏者轮流结束,本用例结束。用例7:功能描述:游戏者收到假设。主执行者:游戏者。范围:Galaxy Sleuth。级别:用户目标级。功能描述:游戏者只能有一条证据去推翻,若有多条证据,游戏者需选择其中一个。若游戏者没有证据,则由下一个来完成。前提条件:游戏者从系统收到其他游戏者做出的假设,Refuse Screen屏幕已经出现,游戏者可以根据自己已掌握的证据来接受或拒绝假设。主成功场景: 选择拒绝假设的惟一证据。 系统把这一证据发送给做出假设的游戏者。 系统通知其他游戏者,假设被拒绝。 用例结束。 游戏者拥有拒绝假设的多个证据:选择其中一个证据,系统把选中的证据发送给做出假设的游戏者,若系统通知其他游戏者,则假设被拒绝,用例结束。游戏者没有拒绝假设的证据:则假设出现在下一个游戏者游戏屏幕上。用例8:功能描述:游戏者做出结论。主执行者;游戏者。范围:Galaxy Sleuth。级别:用户目标级。功能描述:游戏者单击Pose Solution,选择一个嫌疑犯、一个星球和一种武器作为结论再按Send。这时系统应提示若结论是错误的游戏者就失去机会了。游戏者按OK,结论经过验证若确实正确则此游戏者获胜,其他游戏者被告知最终结论。若错误,游戏者被淘汰,只能去推翻别人的假设。前提条件:轮到游戏者进行游戏及游戏者选择“做出结论”按钮,“做出结论”界面出现主成功场景: 游戏者选择一个星球,一个嫌疑犯及一种武器作为结论 游戏者发送这个结论。 系统通知游戏者确认这个结论及失败的结果。 游戏者确认这个结论。 系统判断此结论。 系统通知游戏者赢得游戏胜利。 系统通知其他游戏者结论和哪个游戏者赢得胜利。 用例结束。扩展:游戏者取消发送这个结论:游戏者回到他刚轮到进行游戏时界面,用例结束。游戏者取消这个结论:游戏者回到做出结论界面,用例结束。此结论错误:系统告诉做出结论的游戏者失去游戏获胜的机会,系统通知其他游戏者谁失去了游戏获胜的机会及这一错误的结论,用例结束。2对性能的规定(1)精度本软件对数据的精度没有特殊的要求。(2)时间特性要求等待服务器连接的时间不能超过15秒。(3)灵活性本软件采用可视化界面,用户通过单击界面上的相关按钮就可以完成各项操作。3输入输出要求表C2是对系统各数据的详细说明。表C2 数据说明表名字别名描述定义补 充Color无Color=蓝|绿|紫|红|黄|白每一种颜色都与一个特定的嫌疑犯相关联。蓝色代表Tina Time Traveler,绿色代表Sam Space Voyager,紫色代表Mona Moon Walker,红色代表 George Galaxy Wanderer,黄色代表Uhura Universalist,白色代表Steve StargazerConclusion游戏结束的假设Conclusion=场景如果正确,游戏结束,否则游戏者淘汰Evidence罪犯场景的可能元素Evidence=星球|嫌疑犯|武器Galaxy Client允许客户端和服务器端联系的 应用Galaxy Clie-nt=游戏面板+记时器 +证据+剩余移动次数+证据游戏一开始分配的证据和在游戏过程中从别的游戏者那里获得的证据Galaxy Server通信并且协调所有的数据流Galaxy Serv-er=players+ game board + scenario+timer+moves rema-ining名字别名描述定义补 充Game Board无游戏元素和星球的视觉上的数字化表现Game Board=game cellsGame Cell在游戏界面上的定位Game Cell = token + planetHypothesis可能的嫌疑犯、所在星球和携带 武器Hypothesis = ScenarioModelGalaxyGameModel系统的主要逻辑控制Model = GameBoard + Player Messages + View有6种事先命名好的武器Moves Remaining服务器会初始化好这个数字并且每一次合法的移动后都会减一Moves Remaining = intNameNone独一无二的定义Name= stringPlanetNone关于嫌疑犯所在方位的一种证据Planet = name有事先命名好的9个星球:Cathi-tar,Earth,Evilon,Linuta,Neudal,Phaedrum,Ping,Psu,VerlutePlayerNone参与游戏的人Player = IP + evidence + suspect + name最少3人,最多6人Scenario嫌疑犯、星球和武器的列表Scenario = 武器 + 嫌疑犯 + 星球Seconds时间单位Seconds = intSuspectNone作为罪犯的一条证据Suspect = 名字+ Token有6个事先命名好的嫌疑犯:Tina Time Traveler、Sam Space Voyager、Mona Moon Walker、George Galaxy Wanderer、Uhura Universalist和Steve Stargazer。同时,每个嫌疑犯有相关联的颜色Timer游戏者在这一轮中还有多少剩余时间的一种视觉上的数字展示Timer = secondsTokenNone在游戏板块上的嫌疑犯的视觉 表现Token = color + location有和游戏者一样多的TokenUser无游戏者之间会进行许多通信。每位用户都有一个 游戏者User = player + IP address + ObjectOutput Stream这是客户端和服务器端用户的父类WeaponNone嫌疑犯装备中的一种证据Weapon = name有6种事先命名好的武器: Phaser、Hyper Rope、Laser Sword、Biological Agents、Flame Thrower和Radioa CtiveChemicals四、运行环境规定1设备硬件最低要求:CPU PII以上PC服务器,内存35MB以上,硬盘15MB以上。2支持软件操作系统:Windows 98、Windows NT、Windows 2000、Windows XP、Windows Server 2003等能安装LAN或Java 2的操作系统。3接口见设计部分。文档编号:WD_GLYX_ SSD_040630版 本 号:V1.0概要设计说明书项目名称 银河侦探游戏软件(Galaxy Sleuth) 项目负责人 程 振 波 项目开发单位 浙江工业大学信息工程学院 2004年6月30日概要设计修改情况记录见表C3表C3 概要设计修改情况记录版本号设计状态摘要设计人设计日期审核人审核日期批准人批准日期1.0创建周鸿斌2004.6.30目 录一、引言1编写目的2背景3定义4参考资料二、总体设计1需求规定2运行环境3基本设计概念和处理流程4系统结构框架5功能需求与程序的关系6人工处理过程三、接口设计1用户接口2外部接口3内部接口四、运行设计1运行模块组合2运行控制3运行时间五、系统数据结构设计六、系统出错处理设计1出错信息2补救措施3系统维护设计一、引言1编写目的本文档将对银河侦探游戏软件功能进行概要描述,本文档的读者是项目莆划、设计和评审人局。2背景本项目作为软件文档写作课程的训练项目提出,可将学生分成若干项目开发小组进行管理。希望学生通过银河侦探游戏软件设计开发,了解软件文档的相关标准和编写原则,训练并掌握软件各类文档写作的技巧,同时提高学生使用Java开发应用程序的能力。本项目的名称:银河侦探游戏软件。本项目的提出者:浙江工业大学信息工程学院教师程振波。本项目的开发者:浙江工业大学信息工程学院计算机应用专业2003级周鸿斌、李鼎、贺国庆、金海民。3定义Galaxy Sleuth:银河侦探。4参考资料游戏软件资料。开发要求说明。软件需求说明书。二、总体设计1需求规定游戏者通过旋转一个转盘来随机选择移动步数,从而决定到达不同星球。游戏的目的是在星际旅行时收集一系列有关嫌疑犯的线索,当游戏者穿越太空时,他们可以以对嫌疑犯进行假设的形式来询问其他游戏者,其他的游戏者用他们的证据来推翻或认可假设。嫌疑犯的假设被通报给所有的游戏者,如果一个游戏者可以推翻这个假设,则这条情报只能通报给前来询问的游戏者。其他游戏者也被告知有人否定了这条假设,但不会被告知具体是哪条证据否定了该假设。如果假设不能被否定,则所有的游戏者被告知这个事实。在收集到一定的线索后,游戏者可能可以推断出嫌疑犯和其作案环境,第一个完成这个任务的游戏者将赢得这场游戏的胜利。如果一个游戏者得出错误的结论,则他就输掉了这场游戏。2运行环境(1)设备硬件最低要求:CPU P以上PC服务器,内存32MB以上,硬盘15MB以上。(2)支持软件操作系终Windows 98、Windows NT、Windows 2000、Windows XP、Windows Server 2003等能安装LAN或Java 2的操作系统。3基本设计概念和处理流程启动游戏后进入注册界面,这时可以选择是创建游戏还是加入游戏。创建游戏后,输入游戏者名字等待别人的加入,在认为人数已经足够的情况下(即36人),按“开始”按钮开始游戏。如果选择加入游戏,在输入IP地址和名字后,系统会判断你所选择的游戏是否人数已满,还是游戏已经启动,在这两种情况下,不能进入游戏。若能进入游戏,便等待服务器开始游戏系统处理流程如图C3所示。图C3 处理流程图 4系统结构框架如图C4所示,游戏模块分为两大部分:服务器模块和客户模块。客户模块包括了加入游戏、建立游戏、提交结论、游戏走步(包括标准走法和星球走法)、消息处理、提交假设、游戏聊天、反驳假设和消息通信。服务器模块则除了包括客户模块的功能外,还有监听的功能,即检查是否有人加入游戏。图C4 游戏模块图5功能需求与程序的关系功能需求与程序的关系如表C4所示。表C4 功能需求与程序关系表功 能 需 求程序单元或模块(实现功能需求)加入游戏客户模块、服务器模块建立游戏客户模块、服务器模块提交结论客户模块、服务器模块游戏走步客户模块、服务器模块提交假设客户模块、服务器模块反驳假设客户模块、服务器模块消息处理客户模块、服务器模块游戏聊天客户模块、服务器模块消息通信客户模块、服务器模块监听服务器模块6人工处理过程游戏中用户可以根据需要,随时单击各种选择按钮,以决定游戏进程。三、接口设计1用户接口用户接口及程序界面设计如下:图C5是游戏的初始界面的基本元素。该界面有:3个按钮:第一个是创建游戏的按钮(Host Game),可以使游戏者创建一个游戏,然后进入第二个界面,选择游戏者在游戏中的身份:第二个按钮是加入游戏的按钮 (JoinGame),可以使游戏者加入别人已经创建的游戏,并进入游戏的第二个界面,选择游戏者在游戏中的身份,如果游戏者想退出游戏,可以按第三个按钮(ExitGame)。图C5 初始界面 图C6是游戏创建者的登录框,要求游戏者输入在游戏中的名字,创建游戏者的IP地址在登录框中是自动显示的。加入游戏的游戏者要在游戏的登录框中输入创建游戏者即游戏服务器的IP地址。图C6 登录界面 图C7是此游戏的第二个界面,主要是让游戏者选择自己在游戏中的身份。游戏者在这个界面中可以和其他已经加入该游戏的游戏者进行交流,在消息输入框(Your Message)中输入消息,然后按“发送”按钮(Send)发送给其他游戏者。在确认所有的游戏者都已经加入了游戏并且都已经选择好各自的身份后由创建游戏的游戏者按“开始游戏”按钮(Start Game)开始游戏,而且只有游戏的创建者才能开始游戏。然后进入游戏的第三个界面游戏界面。如果游戏者想在这个时候退出游戏可以按“退出”按钮(Quit)退出游戏。图C7 选择身份界面 游戏者在进入某一个星球后,会有一次提出假设的机会,如图C8所示界面就是游戏者选择假设和提交假设的窗口。其中包括游戏者可以选择的假设,游戏者可以在所列出的证据的条目的下拉列表框中进行选择。在选择的时候游戏者可以参照提供给游戏者的初始证据列表。选择好假设后可以按“提交假设”按钮(Pose Hypothesis)对提交给他的下一个游戏者进行处理。图C8 提交假设界面 图C9是游戏者的上一个游戏者在提交假设后出现的供游戏者处理该假设的界面。游戏者可以用可用证据列表中的证据对前一个游戏者提出的假设进行反驳如果没有证据可以用来反驳则通过假设。服务器会把结果发送给每一个游戏者。图C9 选择假设界面 图C1O和图C11是该游戏的第三个界面,也是游戏的最后一个界面。这个界面由多个面板组成,其中证据显示面板中显示的是游戏开始时系统自动分配给游戏者的证据。证据显示面板的下面是状态面板,显示的是各个游戏者的状态。游戏面板是最主要的组成部分,游戏者在此面板上进行游戏。中间的数字转盘是供游戏者产生每次要移动的单元格的数目。控制面板上有5个按钮,3个主要的按钮用来控制游戏的进行,其中,End Turn是使游戏者在每一个轮次之后移交游戏的控制权:Hypethods是游戏者来提交假设的;Solution是用来供游戏者来提交结论的。消息面板、消息发送框、发送按钮共同组成了一个游戏者与其他游戏者进行交流的单元。图C10 分配证据界面图C11 游戏面板界面 图C12是游戏者在收集到足够的证据后可以提交自己的结论,确定嫌疑犯的名字、所在的星球以及所用的武器的提交结论界面。结论提交后如果是错误的,则输掉比赛,退出游戏:如果是正确的,则赢得游戏,出现胜利的界面,显示获胜者以及相关的数据。图C12 提交结论界面2外部接口本软件不需要实现外部接口。3内部按口本软件需要实现的内部接口就是实现各个类之间的接口。四、运行设计1运行模块组合(略)2运行控制(略)3运行时间(略)五、系统数据结构设计由以上分析可得出系统的对象图,如图C13所示。图C13 系统对象图六、系统出错处理设计1出错信息 安装游戏后无法运行。 无法连接到服务器。 游戏可供36人玩,但若人数已满,还有人加入,系统应提示“The game is full”。 如果游戏者选择的游戏已开始,系统能发出警告“The game has begun”。 如果游戏者选择的嫌疑犯是其他人已选过的,系统提示“The selected suspect is not available”。 在游戏中若游戏者单击的不是嫌疑犯附近的方块,系统警告“It is an illegal move”。 若游戏者移动后又单击Spin,系统警告“You cant spin twice in one turnThats cheating”。2补救措施 检查系统是否安装好Java2,并配置好路径 检查系统是否安装TCPIP协议,网络连接是否正常。 需游戏者另选游戏。 重新选择其他未开始的游戏。 需游戏者另选择疑犯。 重新单击。 进入下一回合3系统维护设计不需要另外再进行维护设计。文档编号:WD_GLYX_ DSD _040830版 本 号:V1.0详细设计说明书项目名称 银河侦探游戏软件(Galaxy Sleuth) 项目负责人 程 振 波 项目开发单位 浙江工业大学信息工程学院 2004年8月30日详细设计修改情况记录见表C5表C5 详细设计修改情况记录版本号设计状态摘要设计人设计日期审核人审核日期批准人批准日期1.0创建周鸿斌2004.8.30目 录 一、引言 1编写目的 2背景 3定义 4参考资料二、程序系统的结构 1运行环境 2系统组织结构三、程序设计说明 1程序描述 2功能 3性能 4输入项 5输出项 6算法 7流程逻辑 8测试计划一、引言1编写目的本文档将对银河侦探游戏软件功能进行详细设计,本文档的读者是项目策划、设计人员和程序员。2背景本项目作为软件文档写作课程的训练项目提出,可将学生分成若干项目开发小组进行管理。希望学生通过银河侦探游戏软件的设计开发,了解软件文档的相关标准和编写原则,训练井掌握软件各类文档写作的技巧,同时提高学生使用Java开发应用程序的能力。本项目的名称:银河侦探游戏软件。本项目的捉出者:浙江工业大学信息工程学院教师程振波。本项目的开发者:浙江工业大学信息工程学院计算机应用专业2003级周鸿斌、李鼎、贺国庆、金海民。3定义Galaxy Sleuth:银河侦探。4参考资料游戏软件资料。开发要求说明软件需求说明书。概要设计说明书。二、程序系统的结构1运行环境(1) 设备硬件最低要求:CPU P 以上PC服务器,内存32MB以上,硬盘15MB以上。(2) 支持软件操作系统:Windows 98,Windows NT、Windows 2000、Windows XP,Windows Server 2003等能安装LAN或Java 2的操作系统。2系统蛆织结构游戏模块共分为两大部分:服务器模块和客户模块。如图C14所示。客户模块包括加入游戏、建立游戏、提交结论,游戏走步(包括标准走法和星球走法)、消息处理、提交假设,游戏聊天、反驳假设和消息通信。服务器模块则除了包括客户模块的功能外,还有监听功能,即检查是否有人加入游戏。图C14 系统组织结构图三、程序设计说明由于篇幅限制,仅以Galaxy Sleuth游戏模块为例进行说明。1程序描述游戏者通过旋转一个转盘来随机选择移动步数,从而决定到达不同星球。游戏的目的是在星际旅行时收集一系列有关嫌疑19的线索,当游戏者穿越太空时,他们可以以对嫌疑犯进行假设的形式来询问其他游戏者,其他的游戏者用他们的证据来推翻或认可假设嫌疑犯的假设被通报给所有的游戏者,如果一个游戏者可以推翻这个假设,则这条情报只能通报给前来询问的游戏者其他游戏者也被告知有人否定了这条假设,但不会被告知具体是哪条证据否定了该假设如果假设不能被否定,则所有的游戏者被告知这个事实。在收集到一定的线索后,游戏者可能可以推断出嫌疑犯和其作案环境,第一个完成这个任务的游戏者将赢得这场游戏的胜利。如果一个游戏者得出错误的结论,则他就输掉了这场游戏。2功能1) 客户模块子系统(1) 建立游戏类分析程序描述:建立游戏。功能描述:开启服务器监听端口。接口描述:见表C6。表C6 建立游戏类分析执行条件属性ServerScoket serSoc;/服务器端socketprotected InetAddress mServerIP;/方法开启服务器开启多线程监听端口(2) 加入游戏类分析程序描述:加入游戏。功能描述:建立与服务器的连接和获取游戏者信息。接口描述:见表C7表C7 加入游戏类分析执行条件服务器已建立属性Socket soc;方法输入服务器地址建立与服务器的连接(3)消息类的父类程序描述:所有消息的父类。功能描述:提供给其他消息类的接口。接口描述:abstract class Message implements Serializableinterface MessageControlvoid setMessage();Object getMessage();void aendMessage()void handleMessage(); (4) 提交假设程序描述:游戏者在走到星球上时要提出假设。功能描述:弹出“提出假设”对话框让游戏者选择要提交的证据。接口描述:l 假设消息类HpMessage属性:Suspector s;Planet p;Weapon N;l 假设消息处理类HpMessageControl:方法:void handleMessage(HpMessage h)RufuseMessage rm=EnvidenceListsearchRufuseMessage(h);ClientsendMessage(rm);(5)提交结论(SolutionMessage)程序描述:游戏者根据所得信息作出最终的结论。功能描述:当游戏者按下“提交结论”按钮时弹出“提交结论”对话框让游戏者选择要提交的证据,判断此游戏者的结论是否正确,并告知所有其他的游戏者。接口描述:见表C8。表C8 提交结论执行条件游戏者按下“提交结论”按钮属性Suspector s;Planet p;Weapon w;提交结论消息处理类 SolutionMessageControl方法void sendMessage();/Client cant get an SolutionMessage/so function handleMessage() cant be usedvoid handleMessage()throws ErrorSystem.out.print(invalide call on function handleMessage()!);throw Error;(6)反驳假设(RefuseMessage)程序描述:根据自己的证据对提出假设的游戏者的证据作出回应。功能描述:弹出反驳假设对话框,判断游戏者是否有证据可以反驳,并把最终消息发送给每个游戏者。接口描述:见表C9。表C9 反驳假设执行条件已经有游戏者提出假设属性Envidence e;/if e=null ,means pass反驳假设消息控制类 RefuseMessageControl:方法void sendMessage()void handleMessage();(7) 游戏走步(MoveContr01)程序描述:游戏者走步。功能描述:当游戏者单击轮盘时随机产生一个16的数字。根据产生的数字点亮游戏者可以走步的位置。设置游戏者位置,并发送给其他游戏者。接口描述:见表CIO。表C10 游戏走步执行条件游戏者处于turn的状态属性int x;int y;方法class MoveControl(8) 游戏聊天程序描述:游戏者交流信息。功能描述:游戏者可以通过文字互相聊天。接口描述:chatContenctMessage。见表C11。表C11 游戏聊天执行条件描 述属性String content;static private JTextField chatTxt;private chatContenctMessage contect;方法static void setChatTxt(JTextField t)chatTxt=t;void setchatContenct(String s)contect.content=s;void getchatContenct()return contect;void handlechatContenct()chatTxt.handle(contect.content)(9) 消息通衡处理类(ClientlmplementsRunnable)程序描述:消息传渴和通信。功能描述:实现游戏者之间的消息通信。根据游戏者的动作作出相应的回答。接口描述:见表C12。表C12 消息通信处理执行条件C/S模式已建立属性方法static void sendMessage(Object mess

温馨提示

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

评论

0/150

提交评论