基于微信平台的上课签到系统外文翻译资料

 2022-11-08 20:54:10

英语原文共 25 页,剩余内容已隐藏,支付完成后下载完整资料


附录G

示例项目:Tic-Tac-Toe游戏

本附录说明了一个完整的软件工程项目的实例。课题是开发一个tic-tac-toe的分布式游戏。我们的开发团队是三个强而有力的队员包括我、我自己和Irene ,或者简单地说,我们在三人是名义上的。我来自湖南,艾琳来自乌克兰。我们的优势包括:我喜欢编码,喜欢一个人做; 他认为代码以外的一切都是绒毛。我认为解决问题最成功的办法就是整体解决问题所做的工作完成更快,而不是陷入细微的细节。艾琳更喜欢管理这个项目。对于我自己,编程不是我的长处; 我倾向于我创意和批判性思维能力我喜欢绘制用户界面和其他感想。

不是每个人在项目开始时都有相同的经验,不是每个团队成员有同样的学习能力。我们希望,任务范围的大小将使每个人都能在项目的不同部分找到适合自己的事情和工作。我们认为,凭借我们的辅助技能,我们有能力应对任何一个团队合作的挑战性大型工程。

G.1客户工作说明书

本节介绍了我们从客户那里获得的初步“愿景声明”。只是粗略地描述系统需要,细节需要在工程阶段被深度发掘在我们项目要求(G.2和G.3节)。

G.1.1问题陈述

GoT-it团队负责构建软件,允许来自不同电脑的玩家玩Tic-tac-toe游戏。Tic-tac-toe是一个玩家在3times;3板上交替放置棋子的游戏(通常是第一个玩家的Xs,第二个是Os)。第一名玩家三个棋子在一条线(垂直方向,水平方向或对角线)上则游戏获胜。游戏可能结束在平局,这样的话两个玩家都不赢。

图G-1:九板式脚趾。 如果移动到右下角的单元格第一板,则下一步必须位于右下角板上的任何空单元格上。

动机:Tic-tac-toe是一个简单有趣的游戏。快速搜索网页表明所有免费的实现允许用户与电脑进行游戏。我们会努力做的可能与其他玩家进行游戏,并开发不同版本的游戏。

愿景:除了默认的标准版本,玩家还能玩另外两个版本的游戏:

复仇 tic-tac-toe

九宫格tic-tac-toe

我们的业务计划是免费提供游戏,并支持商业运营广告收益。未来的其他版本,如果游戏是流行的,预算允许。

每个玩家都能够邀请对手进行比赛,或者只是等待被邀请另一名玩家。

该游戏还将显示排行榜,显示姓名和当前成绩的记分牌的领先竞争对手。

G.1.2术语表

排行榜 : 显示领先的名字和当前得分的记分牌竞争对手

九宫格:九个格子以3times;3格格排列,形成9times;9格(图G-1)。 第一个玩家的举动可能会在任何一个格子上; 所有后续动作都放在

九宫格的空单元对应于上一个移动的平方(即,如果移动在一个董事会的右下角,下一步将放在右下方格子)。 如果玩家不能移动,因为指示板已满,下一步可能会继续板。再次,第一名获得三分的玩家是赢家。

游戏板 :在标准tic-tac-toe中具有3times;3网格的板,玩家在其上移动他们的棋子

游戏大厅 :当用户登录系统或之后向用户显示初始屏幕比赛完成,游戏板被删除。

游戏房间:在两名玩家之间建立的私人房间,搭配tic-tac-toe。 比赛结束后,房间被摧毁,球员被带到了初始屏幕。 下文将在G.3.4节中对此设计的理由进行说明。

玩家列表:当前登录系统并可玩tic-tac-toe的游戏的所有玩家的列表。

“复仇”tic-tac-toe :第一名获得三个棋子一条线的玩家,但如果对手可以在接下来的一步中,三个棋子一条线则为输。

响应时间限制:远程播放器预期响应的时间间隔当地玩家的行为。 如果没有收到响应,则假设远程播放器丢失网络连接或武大进行的游戏。 G.2.1节中提供的附加说明。从Wikipedia获取更多其他信息:http://en.wikipedia.org/wiki/Tic-tac-toe

G.2系统要求工程

读者应该学习的这一部分的是,我们不只是根据客户写下来系统规格的说明书。相反,我们正在发现要求。客户的声明只包含我们将需要开发系统即将到来的一小部分。大部分的小细节还有待发现与客户仔细分析和讨论。我们会发现需要的问题解决和决定将由系统 应用程序实现的业务策略。

G.2.1列举的功能要求

我们首先从前言(G.1.1节)中得出功能要求。在我们的案例中,大多数功能要求是直接从劳动报表中提炼出来的。然而,需求分析将会出现一些要求。另外,应分析要求的清晰度,精确度和给予它们的现实性项目资源和时间表。我们还需要考虑是否需要任何非功能性要求,这一项通常较少在工作的声明中显眼。我们意识到玩家是遥远的,这提高了问题的延迟和普遍对对方玩家的活动认识不足。我们没有指定任何延迟要求,因为其他玩家立即看到每个都不重要移动。玩家有时间考虑下一步,所以任何网络延迟不能与细微的暂停区分开来。但是,要避免在那里的情况玩家必须等待对方的响应很长的时间间隔(例如,玩家退出游戏的中间),我们引入了 响应时间策略 :

TTT-BP01:每位玩家需要在有限的时间内作出回应,否则失去比赛这个政策并不是一个非功能性的要求。这一项会在未来改进,以便玩家可以请求以指定的间隔挂起比赛,或者系统可以先发送警报,而不是自动惩罚无响应的这个玩家。

系统的枚举要求如下:

表G-1:列举了tic-tac-toe分布式游戏的功能要求

标识符

要求

权重

REQ1

该系统应允许任何一对玩家从不同的计算机播放

5

REQ2

该系统应允许用户挑战对手玩游戏

4

REQ3

系统允许用户协商游戏版本

3

REQ4

该系统应允许用户播放标准的脚趾或两者中的任何一个变体,由用户选择

4

REQ5

该系统应显示领先竞争对手及其竞争对手的排行榜

2

REQ6

系统应允许用户使用唯一标识符进行注册

1

REQ7

该系统应允许用户设置其状态,例如“在线”,“忙碌”或“隐身“

2

我们的客户解释了优先权重(PW)如下。显然,目标的这个系统是允许玩一个分布式的tic-tac-toe游戏。所以REQ1是最高的先。玩家可以挑战其他玩家(REQ2),但这不是顶级的如果证明难以施,可以找到简单的解决方案,如通过其他方式(例如电话)进行通信,并一次只连接两名玩家。因此,REQ2的优先级较低。 REQ3具有更低的优先级。REQ4说系统应该支持不同的变体,但它们可能无法使用我们的系统(REQ3)进行协商。相反,玩家可以使用不同的方式来协商版本(例如电话),并启动我们的系统。最后三个要求(REQ5-REQ7)是可取的,但如果时间和空间可能会下降资源耗尽。

要求REQ2没有指定是否有任何玩家可以邀请任何其他玩家或只有尚未玩过的玩家 我们可能会介绍系统通知的选项邀请人必须等到受邀者先完成正在进行的游戏。这个问题是相关的到REQ7,将在下面和G.3.3节中进行讨论。

REQ4要求复杂,因为它需要播放游戏变体的能力以及在不同变体中选择的能力。方便验收测试要求,将其分为两个简单的要求是有帮助的:

REQ4a:系统应允许用户玩标签(标准,复仇,九宫格)

REQ4b:系统允许用户选择要播放的tic-tac-toe的变体

最后的要求(REQ7)最初没有被客户要求,而是开发者可能认为它是有用的,并经客户批准介绍。但是,添加这个要求并不像起初那样简单。“可用”或“从事”是什么意思?“可用”是指这个玩家通常可以开放玩游戏的邀请一个更狭义的意思代表一个目前空闲的玩家, 如果“可用”玩家在玩游戏时收到邀请, 系统弹出(可能讨厌)对话框,信息是他/她是否接受邀请,这些问题也与REQ2有关。 在后一种情况下,状态代表状态当前的时刻,玩家会明确地管理他或她的状态,还是系统会做到这一点自动。也就是说,当玩家完成比赛时,他或她的状态将自动改变到“可用”。如果系统将支持不同的状态,而不是闲置与播放玩家需要明确地向其他玩家显示他们的可用性。 允许玩家玩同时多场比赛将进一步使玩家身份问题复杂化。 读者必须意识到,这个问题必须在某个时候解决。 因为这个困难,我们会的要求REQ7进一步考虑。

非列表 - 这个项目不是什么:可以设想额外的要求,例如允许用户通过名称或其他一些查询参数搜索对手,邀请他们的社交网络朋友玩游戏,组织比赛等。在这种情况下,邀请可以不仅发送到当前登录的空闲玩家,还可以发送给任何可能在外的人我们的系统。 系统可以在每一回合中保存比赛的状态,以便玩家可以玩以自己的节奏。 该系统可以维护所有用户和每个用户的所有匹配的历史记录用户可以查看他或她的统计信息:比赛历史,比分和过去对手。 也可以支持与计算机对手的对抗。 系统也可以允许玩家相互聊天。 这些扩展不是在问题中编写的声明,所以不会被考虑。

请注意,我们可能需要为某些要求提供更多详细信息。 有些事情在列表中要求可能由一个人默认承担,但可能不是不言而喻的,所以更安全具体说明一下,避免问题走下坡路。 这里有一些额外的例子细节的一些要求:

表G-2:从表G-1扩展功能要求清单。

标示符

要求

REQ2a

(作为表G-1中的REQ2)

REQ2b

该系统应允许受邀用户接受或拒绝该挑战

REQ2c

系统应允许用户一次只挑战一个对手 - 否允许同时处理的邀请

REQ3a

(作为表G-1中的REQ3)

REQ3b

系统不允许玩家在正在进行期间更改游戏版本比赛

(REQ4a,REQ4b)

REQ4c

系统应允许每位玩家一次播放不超过一场比赛

REQ4d

该系统应允许玩家放弃正在进行的比赛

REQ4e

系统将以胜利或平局的方式结束每场比赛

相应排名

(REQ5,REQ6保持与表G-1相同; REQ7被拒绝)

表G-2中的REQ2c旨在保持系统简单,使程序不需要跟踪待处理的邀请并解决多个接受。读者应该认识这是一个商业政策,可能有不同的解决方案:

选项1:每个播放器不允许超过一个待处理的邀请

选项2:不允许已经参加比赛的玩家发出额外邀请

选项3:随时允许无限次待处理的邀请

为了简单起见,我们选择第一个选项,但实际的实现可能会提供

高级选项。

TTT-BP02:每个玩家不得超过一个等待的邀请

此规定并不一定意味着用户一次只能播放一场比赛。然而,第G.3.4节将介绍一个更为限制的版本,当我们介绍一个我们系统的操作模式要保持项目的可管理性。

除了表G-2所示之外,进一步的分析将揭示更多的细节。例如,也许作为REQ4的一部分,系统也应该允许玩家同意一个,之前赢家变得明显因为tic-tac-toe是一个简单,简短和无关紧要的游戏,我们会在这里停下来。

以上细节不应在要求表中自行列出,因为功能要求的这种分裂将使对此的理解变得复杂化系统的目的。它们的适当作用是主要要求的细节。

REQ3似乎使设置过程复杂化,可能会寻找替代解决方案。代替的玩家必须协商游戏版本,每个用户可能会更方便在挑战中指定要玩的游戏版本。然后,接受的玩家挑战也同意玩拟议的游戏版本,并且比赛立即开始。类似地,玩家可以将其首选游戏版本指示为其可用性状态的一部分。然后,每个玩家可以在播放器列表中搜索对播放某个版本感兴趣的玩家并挑战其中之一。

此解决方案也有其问题,因为被挑战的玩家可能永远不会收到邀请

对于他想玩的游戏版本。当然,他可能会发送自己的邀请想要的游戏版本,但是后来需要继续发送给不同的玩家就可以了?列表直到接受。但是,我们不应该选择这个更重要的原因解决方案是因为它使开发人员的任务变得更简单,同

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[138584],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。