软件工程游戏开发论文中文资料文献.pdf

上传人:PIYPING 文档编号:11677790 上传时间:2021-08-30 格式:PDF 页数:19 大小:947.35KB
返回 下载 相关 举报
软件工程游戏开发论文中文资料文献.pdf_第1页
第1页 / 共19页
软件工程游戏开发论文中文资料文献.pdf_第2页
第2页 / 共19页
软件工程游戏开发论文中文资料文献.pdf_第3页
第3页 / 共19页
软件工程游戏开发论文中文资料文献.pdf_第4页
第4页 / 共19页
软件工程游戏开发论文中文资料文献.pdf_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《软件工程游戏开发论文中文资料文献.pdf》由会员分享,可在线阅读,更多相关《软件工程游戏开发论文中文资料文献.pdf(19页珍藏版)》请在三一文库上搜索。

1、软件工程游戏开发论文中文资料文献软件工程游戏开发论文中文资料文献 通过开发通过开发 AndroidAndroid 平台上的社交应用和游戏应用来比较学平台上的社交应用和游戏应用来比较学 习软件体系结构习软件体系结构 1. 1.引言引言 电脑游戏和视频游戏非常受儿童和青少年的欢迎, 在年轻人的文化发挥了突 出的作用1。现在游戏可以在技术丰富的配备了笔记本电脑,智能手机,游戏 机(移动和固定) ,机顶盒,和其他数字设备的环境中运行。从这一现象,人们 相信将年轻人对游戏的内在动机与教育内容和目标结合就会变成Prensky称之为 “以数字游戏为基础的学习”的学习方法2。 青年学生生活的游戏中除了丰富的外

2、观, 游戏开发技术已经成熟,并且越来 越先进3。基于现有的各种游戏开发环境,游戏开发过程中的全部责任可以分 为几个的专家领域和角色,如游戏程序员,3D 模型的创造者,游戏设计师,音 乐家,漫画家,剧作家,等等。游戏内容与技术相结合的过程可以通过游戏引擎 和使用网络上的各种用户和专家社区的可用信息得到简化。例如,微软的 XNA 游戏开发工具包提供的游戏循环函数绘制及更新游戏内容, 而且还提供了方便的 游戏开发组件来加载不同格式的图形,音频和视频。这使得游戏迷们如无论有没 有编程背景的学生修改现有的游戏或开发新游戏。 他们可以用这些游戏创作工具 实现自己的游戏概念设计,学习发展技能和相关知识,积累

3、相关的实际经验。 在这种情况下, 不但游戏可以用于学习而且通过激发任务机制,游戏开发工 具可以用来研究计算机科学(CS) ,软件工程(SE) ,和游戏编程相关主题。一 般来说,游戏可以用三种方式集成在教育中4,5。首先,游戏可以用来代替传统 的练习, 鼓励学生把额外的努力用来做练习,给老师或助教一个实时地监控学生 是如何练习的机会6,7。第二,游戏可以作为一个讲座的一部分来促进学生的 参与,增加学生的动力8,9。第三,将要求学生们修改或开发游戏作为使用游戏 开发框架(GDF)学习 CS 和 SE 方面技能的课程的一部分。我们把后者的学习 方法为以游戏开发为基础的学习(GDBL) 。GDF 表示

4、可以用来开发或修改游戏, 例如,该工具包的游戏引擎,游戏编辑器,或游戏(模拟)平台,甚至任何集成 开发环境(IDE) ,如Visual C + +,Eclipse 和 Android SDK,J2ME,因为所有的 人都可以用来开发游戏。 本文重点研究学生通过在Android平台开发游戏应用学习软件体系结构和在 Android 平台开发社交应用(例如,天气预报,聊天软件)学习软件体系结构的 相似点和不同点。将游戏开发放到 CS 或者 SE 课程中的动机是利用学生对游戏 及游戏开发的迷恋来激发他们通过该项目更多更好的学习课程材料。 2. 2.相关工作相关工作 本节描述了 GDBL 方法在软件工程领

5、域的使用的研究背景和以前的结果。 2.12.1 研究背景研究背景 最早的类似的通过在游戏的环境中编程来学习的应用在 20 世纪 70 年代早 期。Logo 语言11,龟图形,是一种最古老的用来介绍计算概念给初学者的图书 馆。这个概念是基于一只可以在 2D 屏幕上移动的 “海龟” ,该“海龟”用可设 置开关屏幕的画笔画就,因此,可能会留下龟运动的痕迹。编程使该“海龟”画 不同的花样,这可以用来介绍一般的计算技巧,如程序操作,迭代,递归。此外, 在 1987,Micco 学术性的提出了一个写井字游戏的使用12。后来,其他的研究 已经使用专业游戏编程工具如Stage Cast Creator 13,

6、 Gamemaker 14 , Alice 15 和 Neverwinter Nights 16。此外,文章17提出了使用手机游戏开发作为激励工 具和计算机课程的学习背景调查。 他们的调查表明游戏编程和计算机科学领域的 游戏开发之间的关系-游戏发展可以用在学习人工智能(AI) ,数据库,计算机 网络,SE,人机交互,计算机图形学,计算机体系结构,算法,编程和操作系 统。 这些研究表明, 游戏制作和技术的编程技巧得到激励以及故事性的发展。制 作游戏激励和开发评书以及技术的编程技巧的。 制作游戏的任务其性质在目的上 不尽相同-因此搭建环境并平衡游戏角色这些事情由学习者来承担。 最近的游戏 编程工具

7、包往往具有比 Logo 语言更强的视觉效果,无论是因为这个原因,或者 因为他们有一种可视化的编程语言,或两个原因同时的作用,使得设计者能够轻 松创建图形游戏。这种变化使学习者的重点远离了低级编程,而是强制往其他角 色如设计师或软件开发者转变。 因此, 我们通过实验研究了如何将 GDFS 用于教 育,探讨传统的授课进化为动态的,合作的,和对当前技术丰富的环境下的学生 有吸引力的授课。然而,这种说法有待进一步相关理论,应用经验,评价结果和 经验证据的支持。这是一个分享我们的经验和实证结果在GDBL 领域采用 Android 软件体系结构课程的动机。 2.22.2 课程和项目设置课程和项目设置 挪威

8、科技大学(NTNU) (课程代码 TDT4240)的软件体系结构课程的教学 方式和其他大多数大学不一样, 因为学生也必须在项目中实现他们自己设计的软 件体系结构。 这样做的动机是为了让学生了解架构和实现之间的关系,并能够真 正的对体系架构和实施是否符合应用程序指定质量要求进行评价。 在软件体系结 构课程中的架构项目和其他软件工程课程项目的相似, 只是软件体系结构课程中 项目都是从软件体系结构的角度进行。在整个项目中,学生们必须根据指定的项 目使用的软件体系结构技术,方法和工具来成功学到东西。 软件体系结构的项目包括以下几个阶段: (i)COTS(商用成品)练习:学习相关技术并用来开发一个简单的

9、游戏。 (ii) 设计模式: 学习如何通过改变现有系统中的应用设计模式来应用设计模式。 (iii) 需求和体系结构: 列表功能, 质量的要求和对游戏的软件体系结构的设计。 (iv)架构评估:使用的架构权衡分析法(ATAM)18-20评价方法对项目的软 件体系结构方面的质量要求进行评估。 (v)实施:做详细的设计,并在新建的架构和根据评估结果做出修改的基础上 实现该游戏。 (vi)项目评估:使用事后分析法(PMA)21将项目作为一个整体进行评估。 在项目的前两个阶段,学生将独立完成他们的工作任务。在36 阶段,4-5 个学生组成一个团队,并在自己的团队中完成相应的工作。同时,在项目进行期 间,学

10、生将专注于一个固定的初级指定质量属性。对于中等质量属性,学生可以 选择他们喜欢的质量属性。学生花大部分时间在实施(六周) ,但也鼓励他们在 早期阶段开始实现该游戏以测试他们的架构选择(增量开发)是否合理。在实施 阶段,学生通过多次迭代不断扩展,完善软件体系结构使其得到改进。 2.32.3 早期的成果早期的成果 此前,该项目的目标是开发 Java 方面的 Khepera 机器人模拟器的华盛顿州 立大学的机器人控制器(机器人)22,该机器人控制器着重于一些指定的质量 属性如可用性,性能,可修改性,或可测性。开始时,学生们被要求编写的机器 人控制器能控制一个机器人在一个迷宫中移动,并在迷宫中收集四个

11、球,并把它 们带到迷宫中一个固定的位置中。在 2008 年,学生们可以在机器人控制器项目 和游戏开发项目之间进行选择。两种项目的过程,成果,和对项目的评价是一样 的-只是领域不一样。在游戏项目中,学生们被要求使用微软XNA 框架和 C#语 言开发一个游戏。最后,对软件体系结构课程进行评价23,24。评价是基于一 个项目的调查数据,学生的项目可交付成果,和其他可访问的课程信息。研究的 主要结论是, 游戏开发项目可以成功地如果我们考虑机器人作为评价基准用来教 软件体系结构。 整合我们在 2008 年运行软件体系结构课程的游戏项目的经验, 在 2010-2011 年期间我们软件体系结构课程项目中增加

12、了一个COTS-Android的项目作为给学 生的一个新的选择。学生们现在可以在除了在 Java 机器人项目和 XNA 游戏项 目之间进行选择,还可以在 Android 平台开发一个社交应用程序或游戏。由于 COTS 和所选择领域的独立性,学生们在项目过程中必须专注于相同的软件体系 结构问题,并按照相同的模板编程。游戏和社交Android 项目的引进,使我们得 以比较学生在项目所涉及的领域如何影响学习和项目经验以及 COTS 的独立性。 在下面的章节中详细说明。 3 3 研究方法研究方法 本节描述我们使用Android开发作为软件体系结构中的项目的实验中获得的 相关数据的研究方法。 3.13.

13、1 研究目的研究目的 本文重点研究使用相同的 COTS 但具有不同的发展领域来探讨不同领域是 否产生不同的输出。 在我们以前的研究, GDBL结论的有效性是基于不同的COTS 机器人和 XNA。本文不探讨 XNA 和 Java 开发的机器人控制器开发的游戏,只 注重 Android 平台的社会应用和游戏应用的开发。我们的评估包括五个主题:选 择域分布, 学生对项目感知, 项目交付的代码质量和复杂性, 学生的努力和成绩, 获奖项目等级。 3.2 GQM3.2 GQM 方法方法 社会和游戏项目的比较应该有助于发现差异, 揭示在 Android 平台上引入项 目的影响。这个评价是一个模拟试验,而不是

14、一个受控制的试验。采用的研究方 法是基于目标问题度量方法 (GQM) 25 , 我们首先确定研究目标 (概念层面) , 然后定义一组研究问题(操作层面) ,并描述了一套指标来回答研究问题的定义 (数量级) 。在我们的例子中,回答问题的研究使用的指标的定量和定性数据共 同决定的。 表 1:展示了用于分析软件体系结构课程的游戏开发项目的 GQM 方法。 目标分析 为了 关于 看待的角度 上下文索引 问题 择选择一个 Android 社会项 Android 游戏项 软件开发项目 在同一 COTS 社交应用与游戏应用领域比较 两个领域的项目的差异性和有效性 研究员和教育家 在软件体系结构课程的学生 Q

15、3:在项目实Q4:学生在性能 上做一个 Android 的游戏项目与做 一个 Android 社 会项目有什么区 别? 构 设 计 的 学施工作中的学 生 做 一 个生做 Android 戏 项 目 与 学生做一个 Q1: 如何看待选Q2: 在软件架 目的学生和选择Android 的游游戏项目与学 目的学生他们的生 做 一 个Android 社会 选择是否有任何Android 社会项目是否有任 差异? Metric 项 目 有 什 么何差异? 不同? M1: 选择游戏项目M3 : 项目报告M4:源代码文M6:项目得分 与社会项目的学 生数量。 M2:问卷调查,5 级李克特量表: 强 烈不同意(

16、1) ,不 同意(2) ,中立 (3) ,同意(4) , 强烈同意(5) 件 M5:花费的时 间 3.3.3.3. 研究步骤研究步骤 当学生开始的项目, 并按照项目的阶段进行时,他们应该报告他们花在项目 的每个阶段的时间。 前两个阶段让学生单独或成对熟悉 COTS、 架构和设计模式。 该项目的主要工作是在项目 3-5 阶段,包括需求说明,架构设计,架构评估,项 目实现和测试。学生每个阶段要上交自己的成果,这由课程负责人评估和反馈, 在最后交作品之前使作品不断改善。在 5 阶段的结束, 学生们会上交一个最终的 作品,该作品是经过课程负责人评估和分级的。完成 5 阶段后,学生回答一个问 卷调查,主

17、要集中在学生如何看待该项目。在 6 阶段,学生必须对其进行项目的 事后分析作为一个整体来反映他们在项目中取得的成绩和挑战。 4 4 研究结果研究结果 在 2010 年和 2011 年, 学生可以选择使用三个 COTS 做项目: 机器人 (Java) , XNA(C #) ,和 Android(Java) 。学生选择的 COTS 结果展示在图 1 中,其中 36 名学生选择了 Khepera 机器人(19%) ,55 名学生选择了 XNA(27%) ,和 102 名学生(54%)选择了 Android。选择 Android 的学生中,58 名学生(57%)选 择了社会应用, 44 名学生 (43

18、%) 选择了游戏应用。 从学生选择中我们看到, 51% 的人选择了游戏开发领域,30%的人选择了社会应用,19%的人选择机器人控制 器。 图 1:软件架构项目类型的选择分布图 图 1 的数据清楚地表明,大多数学生喜欢游戏开发相比其他领域。Android 是目前最流行的 COTS,我们相信这是由于开发商其开放性,Java 的开发,有吸 引力的设备,创新的特点和发展,和一个通过Android 标记共享开发的应用程序 的新方式。 在项目的第一阶段, 学生们被要求填写一份调查问卷, 选择 COTS 和领域的 原因。最重要的原因是: (1)编程列表的原因(熟悉Java 或 C #) (70.7%) ,

19、(2) 了解 COTS(机器人,XNA,Android) (59.5%) , (3)游戏动机或娱乐的原因 (40.1%) , (4)社会应用的动机(39.5%) , (5)了解该领域(机器人,游戏, 社会) (34.2%) , (6) 硬件上运行游戏的动机, Android 手机, Zune 播放器 (33%) , 和 (7) 做了游戏, 然后将自己的游戏放到 Android 市场或 XNA 俱乐部 (24.5%) 。 从上面的数据, 我们发现,游戏领域已经吸引学生注意力和吸引力的外围设备的 优势,如硬件或软件市场, Android 社交领域也一样。但这不是机器人领域的情 况。 下面的小节重点

20、分析在以下四个方面是否社交领域和游戏领域不同而产生 明显不同的输出: (1)学生对项目的感受, (2)软件体系结构的设计复杂度, (3) 学生在项目中的实现成果(4)学生在项目的评分。 4.14.1 学生对项目的不同感受。学生对项目的不同感受。 学生们完成了他们的软件体系结构设计一个星期后, 我们做了一个关于项目 的调查。 本次调查的目的是揭示在学生对组队完成在 Android 平台上的社交应用 项目与组队完成相同 COTS 的游戏项目的感受可能存在的差异。 在调查报告中让 学生回想该项目对他们学习软件体系结构有何帮助。 该调查定义的假设如下。 H0: 学生对 Android 平台上的社交应用

21、或者游戏应用来作为软件体系结构项 目的感受没有任何差异。 我们将采用 Kruskal-Wallis 检验假设26,因为它是群体之间的人口平均数 测试的平等的非参数方法24。此测试通常是(1)用户不能假设一个正常的人 口(2)两组样本大小是不同的。表 2 展示 Kruskal-Wallis 检验对报表 PS1PS6 检验的结果。 44 个游戏项目的学生中 38 个学生做了问卷,58 个社会项目的学生 中的 35 个学生做了问卷。问卷中的每个项目是通过分配一个从 1 到 5 的 5 个程 度值的答案,其中 1 表示非常反对,5 表示非常同意。 表 2: Wilcoxon 测试 PS1-PS11报表

22、 陈述 PS1:从 ATAM上讲我 发现它很难评价其他组 的结构? PS2: 我发现很难把重点 放在我们分配的质量属 性上 PS3: 我发现很容易集成 建筑或设计图案 PS4: 我花了更多的时间 有关技术问题,而不是 建筑事宜 PS5: 在项目过程中, 我 学到了很多关于软件架 构的知识 COTS Game Social Game Social Game Social Game Social Game Social 平均 3.45 3.77 3.05 3.57 3.21 2.94 3.71 4.06 3.50 3.31 中点 4 4 3 4 3 3 4 4 4 4 标准偏差 1.06 0.91

23、 1.09 P 0.178 0.024 0.85 0.93 1.03 1.20 0.175 1.03 0.86 0.552 0.99 0.332 PS6: 如果我能及时回到 过去的话,我会选择另 一个项目 Game Social 1.13 1.20 1 1 0.34 0.41 0.289 从测试结果中,问卷调查的回答中显著性差异(P0.05)最低的是 PS2(P = 0.024) 。我们得出这样的结论:Android 游戏和 Android 社交应用之间显著的差 异在于学生对项目中困难的感知的重点集中在项目指定的质量属性上。 Android 游戏在量表的得分是 3 分,而 Android 社交

24、应用的得分为 4 分。这表明,Android 游戏项目的学生对 PS5 表示中立的态度,但 Android 社交应用项目的学生对 PS5 倾向于同意。一个可能的解释是,一个游戏的质量属性,如可修改性或可测性, , 很容易让学生联想,并抓住学生的注意力使学生去深入的了解它。但社交应用程 序可能更多的固定印象在学生的生活,故激发学生去思考的影响没有游戏的深 刻。其他的报表在学生感知方面没有显著差异。 此外, 即使其他两组的 P 值无显著性差异, PS1 和 PS4 的平均值还表明学生 从游戏项目中发现评价其他组在 ATAM 方面的架构没有那么困难,比社交应用 项目的学生在技术问题上花费更少的时间。

25、此外,PS6:学生必须回答如果他们 能够回到过去的时间,他们是否会选择另一个项目。图 2 展示了更详细的统计信 息。 图 2 显示,相比选择游戏项目的学生的比例(13%)选择社交应用项目的学 生中有较高比例的学生,会选择另一个项目(20%) 。总的来说,调查显示最显 著的差异是选择游戏项目的学生更注重软件的质量属性。报表获得的 P 值(P1, P2,P4)显示选择游戏项目的学生比选择社交应用项目的学生更积极的反馈他 们对自己项目的感受。 图 2:关于 PS6:如果你能回到过去你会选择相同的项目吗 4.24.2 软件体系结构设计上的差异软件体系结构设计上的差异 凭经验是很难评估一个软件的架构,

26、但我们选择通过设计模式的学生选择人 数,主要模块/类的软件体系结构的逻辑视图的数量,和体系结构层次结构的数 目来评估一个软件体系结构的好坏。我们承认,这样比较会有很多误差源,因为 这两个领域差别太大。然而,在本课程的重点是软件设计模式的应用,从逻辑视 图上主要对足够详细的软件体系结构提出不同的看法。 实验数据应强调项目的两 种类型项目之间的任何差异。实验数据通过阅读和分析 12 个游戏项目小组和 16 个社交应用项目小组最终的项目报告收集而来。 4.2.14.2.1 设计模式的使用设计模式的使用 表 3 是对软件体系结构和设计模式应用于社交应用项目和游戏项目数量的 描述性统计。 表 3 的结果

27、表明, 设计模式在两种类型的项目中的使用有一些差异。 表4 展现的Kruskal-Wallis检验的结果表明设计模式在的两个不同的项目类型中 实现的数量在统计上无明显差异。 表 4 提出设计模式在的两个不同的项目类型中实现的数量在统计上无明显 差异。 根据阅读项目报告,图 3 给出了设计模式在社交项目小组和游戏项目小组 使用的分布。这些图表显示,在这两种类型的项目中 Observer 模式是最受欢迎 的。此外,Abstract Factory 模式和 State 模式在游戏项目小组中排名前三的模式, 社交应用项目小组中排名前三的模式还有集合模式和模板模式。 游戏项目比社交 应用项目在应用的体系

28、结构和设计模式方面有更多的多样性。例如,游戏项目使 用的八种设计模式相比社交应用项目的六种设计模式,如图 3 所示。 即使没有显著差异,但 P 值接近 0.1。在表中,在他们的项目 4implies 游戏 队使用的设计模式中, 这可能会导致游戏项目的使用比在全面统计图 3 所示的社 会项目的更多类型的模式。 图 3:游戏和社会项目的设计模式的使用分布 表 3:使用设计模式 设计模式 Game Social 平均 2.67 1.56 表 4:假设检验的数量采用的设计模式 假设 无差异的设计模式数 标准偏差 1.92 0.73 最大 7 3 最小 1 1 COTS Game Social N 12

29、 16 Median 2 1 P 0.111 4.2.24.2.2 软件体系结构的复杂性。软件体系结构的复杂性。 体现软件体系结构的复杂性的两个指标24: (1)在软件体系结构的逻辑视 图描述的主要模块或类的数目; (2) 在软件体系结构的逻辑视图的层次结构的数 目。 选择体现计算复杂性的逻辑视图的原因是,逻辑视图是给软件体系结构设计 提供最好的概述的东西中主要的一个。表 5 列出了主要模块/类的数量和社交应 用项目和游戏项目中的软件体系结构的逻辑视图的层次结构的数目的统计。 表 5 表明游戏项目小组比社交应用项目平均接近 4 或者更多主要模块/类 (28%) ,小于标准偏差。此外,在游戏项目

30、中的软件体系结构的层次数是社交 应用项目中的软件体系结构的层次数的两倍。 表 6 给出了从 Kruskal-Wallis 检验得出结果,对软件体系结构的主要模块/ 类的数目和层次的数目。两个检验都给出了 p 值(P0.05)具体地说,试验表 明,在软件体系结构中的主要类的数目和层次的数目在统计上有着显著的差异。 从这个结果,这意味着游戏项的软件体系结构比社交应用的软件体系结构要复 杂;这可能是由于他们用更多的方式来实现他们的游戏项目导致这种差异。 表 5:测量软件体系结构的复杂性 平均 标准偏差 最大 最小 表 6-1:假设检验架构的复杂性 假设 没有数的区别主要模 块/类 建筑水平在数量上无

31、 差异 COTS Game Social Game Social N 12 16 12 16 Median 14 7 3 2 P 0.021 0.000 主要模块的数/类 Game 14 4.9 21 7 Social 9.7 6.6 28 3 结构上的的水平数量 Game 3 0.6 4 2 Social 1.75 0.77 3 1 4.34.3 在项目中投入精力的差异。在项目中投入精力的差异。 要评估每个项目的学生投入的努力,需要两个指标作为衡量标准: (1)花在 项目上的时间(2)软件体系结构、项目文件的大小和代码行数的多少。 4.3.14.3.1 时间的花费时间的花费 我们要求学生估计

32、使用了多少小时去完成软件体系结构的项目的 35 阶段 (核心项目的阶段) 。表 7 显示了每个小组给出的估计小时数。 根据每个小组投入的时间,我们使用 Kruskal-Wallis 试验对每个小组在项目 花费的小时数进行了差异测试。 根据以前的研究成果, 游戏项目小组和社交应用小组所花费的时间在统计上 的并没有显著差异。相反,在这两个项目花费的时间分布是非常相似的。 表 7-1:每队花在项目上的时间。 每队的时间(小时) 平均 标准偏差 最大 最小 Game 334 133.7 520 110 Social 338 114.7 535 183 4.3.24.3.2 项目分析项目分析 此外, 我

33、们选择将项目的实现程度作为标准来对在项目过程中工作量的多少 进行评估。 它可以提供一个良好的软件体系结构的复杂性和由此产生应用程序的 实现24。由于两个类型的小组都使用 Android 平台,在复杂性方面该领域具有 可比性,我们期望找到实现效率上的差异。在项目开发的过程中,他们可以免费 的使用 Android 网络资源或者其他的开源库, 这样可以节约编写代码实现设计好 的软件体系结构的时间。 以下指标进行计算学生小组的工作量: (1)源文件数(NOF) ; (2)代码中 的注释的数量(NOC) ; (3)源代码中不计空行和注释行的行数(LOC) 。 表 9 给出了游戏项目小组和社交应用小组工作

34、量的比较,表中只统计 Java 代码文件,外部库代码文件和资源文件将不统计到表中。 我们使用 Kruskal-Wallis 检验方法对实现两种不同的项目所得到的文件的数 量和代码行数的差异进行了测试,表 10 显示了该测试的结果。 Kruskal-Wallis检验的结果表明,两种类型的项目的 LOC 在统计上的没有显 著差异。但 P 接近 0.1。表 9 的平均值表明游戏项目小组在项目进行过程中把更 多的精力放在实施阶段,如编码,作注释,将结构代码放到多个文件。 从表 7,8,9,10,我们可以发现游戏项目小组在相似的时间开销(334 VS 338)编写的代码比平均代码量几乎多三分之一(超过

35、133%) 。这意味着游戏项 目小组更高效,他们努力的编码,写注释,尽量在和社交应用项目小组类似的时 间内开发出一个复杂的游戏软件体系结构。 表 8-1:假设花费小时 假设 每队的时间支出无差 异 COTS Game Social 表 9-1:架构项目实施的指标 平均 标准偏差 最大 最小 Game 37 13 54 15 NoF Social 24 13 45 5 Game 1016 807 2571 206 表 10:假设检验项目实施代码 假设 代码的行数没 有差异 Game Social N 12 16 Median 2672 1523 P 0.114 NoC Social 536 75

36、5 2886 37 Game 2585 1172 4173 844 LoC Social 1949 1368 5082 390 N 12 16 Median 362 334 P 0.889 4.44.4 项目的成绩差异项目的成绩差异 该项目的得分是 0 分和 30 分之间,以总成绩 30%。项目等级区间划分为: A:评分90%;B:评分80%并且评分90%分;C:评分60%并且评分 80%;D:评分50%并且评分60%;E:评分40%并且评分50%;F:评分 40%(失败) 。 为了调查项目小组给选择 Android 游戏项目和 Android 社交应用项目的学生 评分是否有任何差异,假设没有

37、任何差异, Kruskal-Wallis检验是用来检验这一 假设,因为我们不能假设一个正常的人口而两组样本的大小是不同的。表 11 给 出了 Kruskal-Wallis 检验的结果:每个游戏项目和社交应用项目的学生项目成绩 的差异。 表 11:Kruskal-Wallis 测试不同的项目得分。 假设 项目得分组无差异 项目开发时使用同样的COTS项目成绩没有明显的差异。 我们单独运行2010 年的社交应用项目和 2011 年的游戏项目。该项目的实施要求和模板在 3-6 阶段 是 2 年保持相同, 并且评价的过程和评委是一样的;我们可以发现学生在同等条 件下都完成了项目,这说明困难可能是类似的

38、。所以,我们只得出对于项目成绩 无显著差异的结论。为了得到的分数的概述,图 4 给出了两种类型的项目(游戏 项目与社交应用项目)等级分布。 COTS Game Social N 44 58 Median 26 26 P 0.997 图 4:项目分布 5 5 有效性的威胁有效性的威胁 我们现在考虑什么是本次评估的有效性最重要的威胁。 5.15.1 内部有效性内部有效性 一个实验的内部有效性的问题“有关是否观察到A(假定为处理)和B(假 定为结果)之间协同改变,这反映了这些被操作或测量的变量 A 和 B 的因果关 系”27。如果 B 的改变引起了除了对 A 之外的其他操作,这就是内部有效性的 一个

39、威胁。 这个评估有两个主要的内部有效性的威胁。 第一内部威胁的是两组在评价中 使用的样本不是随机的。允许学生选择Android 游戏和 Android 的社交应用中的 一个项目。 我们不认为学生选择一个项目的一个特定类型就高于其他的类型,从 而损害了评价结果。第二个内部威胁是如果有任何差异,学生必须怎样独立的完 成自己所选择的领域的项目。独立做一个社交应用项目或一个游戏项目,学生必 须完全的完成项目中的相同阶段, 提供在 2010 和 2011 相同的文档模板基础上完 全相同的文件。 我们已经确定了两种类型的项目是如何进行的的差异。游戏项目 小组和社交应用项目小组的学生所经历的项目的 1-2

40、阶段是不同的。 这两个阶段 不是包含数据和用于评估项目材料的一部分。 我们不认为这些差异对学生在他们 的项目中所使用的方式有重大影响,因为它是准备阶段,我们对这两个阶段重视 但是最后又排除在外。 5.25.2 结构有效性结构有效性 结构有效性关心的是哪个推断得到保证的程度: (1)观察到的人,设置,和 的原因和影响操作包括在一项研究中(2)可能有异议的情况的结构。因此,现 在的问题是,研究的取样资料是否可以作为一般结构的度量27。 在软件体系结构课程使用 Android 项目的评估中,我们的研究目标是调查 Android 平台上的游戏项目和社交应用项目的差异性和相似性。GQM 方法对这 个目标

41、具体化为四个可以支撑指标的研究问题。为了回答这四个研究问题,数据 源和度量变量可以从我们的软件体系结构课程中进行选择。 我们不能断言评估中 所选择的数据源和度量可以给所有的结构提供证据, 但是它们都是有助于描述两 种不同的项目之间的区别的强大指标。在整个评估的过程中,我们使用不同的方 法进行比较, 最后得出评估结果。方法的选择是根据描述和可视化使用可用的数 据的两组之间的差异的最佳方式。 方法的选择是基于使用可用数据描述和可视化 两种小组之间的差异的最好方法。 5.35.3 外部有效性外部有效性 外部有效性存在问题是是否持有一种因果关系(1)实验中的人员,设置, 处理和输出是否有变化(2)实验

42、原计划或开始时的人员,设置,处理和结果是 否在实验中用到27。 本文报告的结果对其他老师考虑引进游戏项目作为软件体系结构课程的一 部分具有重大意义。此外,该结果对那些考虑引进游戏项目到 SE 和 CS 课程的 老师也具有重大意义,因为这些课程中有很多相似的特点。这个研究的一个限制 是评估中的学科是 CS 或者 SE 的学生在他们大学前三年已经完成了的。这并不 证明这个结果对于那些没有或者少于三年CS或者SE学习背景的学生是无效的。 6 6 结论结论 根据我们在软件体系结构课程中以前使用 XNA 的实验和现在使用 Android 的实验,我们发现游戏的动力和相关有趣的外围设备是一个最有吸引力的因

43、素。 另外,一个新的COTS-Android 在软件体系结构中的课程中得以介绍,本文目的 是确定相同 COTS 下不同的输出,通过回答四个研究问题来得到评估结果。 第一个问题问的是学生选择 Android 游戏项目或者 Android 社交应用项目对 软件体系结构项目的感受是否有差异(RQ1) 。在统计上的重大发现是,社交应 用项目的学生比游戏项目的学生更难以专注于特定的质量属性 (P = 0.024) 。 从 P 值较低的其他数据也反映出游戏项目小组比社交应用项目小组对项目的要求的 态度更积极。此外,研究结果表明,如果必须重新做一个项目,20%做 Android 社交应用项目的学生会选择其他

44、的项目,这个数目要比游戏项目的学生要多。 第二个研究问题问的是学生选择 Android 游戏项目或者 Android 社交应用项 目,设计软件结构的是否有什么差异(RQ2) 。即使项目报告分析认为,项目中 使用的设计模式无显著差异,但 P 值接近 0.1,表明游戏项目使用的模式比社交 应用项目的模式更多样化。此外,统计意义上的差异说明,游戏项目中的软件体 系结构基本比社交应用项目中的软件体系结构复杂(P0.05) 。 第三个研究问题问的是学生对项目投入的努力是否因为选择Android游戏项 目或者 Android 社交应用项目不同而有差异(RQ3) 。结果表明,在相同的时间, 游戏项目小组投入

45、的努力平均是Android 社交应用项目小组的投入的努力的 133%,并且游戏项目小组的学生在代码中写的详细注释和在多文件中组织的代 码量是社交应用项目小组的两倍。 第四个即最后的研究的问题是做一个游戏项目与做一个社会项目学生的表 现是否有差异(RQ4) 。两种类型项目的比较表明,在项目中统计上没有明显差 别。根据先前的结论,并与以前关于XNA 和机器人在软件体系结构课程中的应 用的调查24, 我们发现存在着相当类似的有关游戏领域 (XNA 和 Android 游戏) 的结论, (1)游戏领域的持续流行; (2)学生对项目更好的感知(3)更多的设 计模式和软件体系结构的高度复杂性(4)和社交应

46、用项目相同的项目成绩。 提到 Android COTS 专有的, Android 游戏项目的主要差异可以在软件体系 结构教学方面作为一个有趣并且有效的工具来激励学生应用更多设计模式及更 多富有成效的代码,从而设计出复杂度高的软件体系结构,这是Android 社交应 用项目无法达到的。此外,在对学生的问卷调查中,相对于XNA 和机器人模拟 器,Android 是一个有吸引力的平台,这样就鼓励我们在使用 Android 在软件工 程实践中作为一种开发工具的改善工作方面做更多的实践, 并鼓励我们引进跟多 选择的可能,比如 iPhone SDK 放到 COTS 中作为一个新的领域。 参考文献参考文献

47、1 S. M. Dorman, Video and computer games: effect on children and implications for health education, Journal of School Health, vol. 67, no. 4, pp. 133138, 1997. 2 M. Prensky, Digital game-based learning, Computers in Entertainment, vol. 1, pp. 2124, 2003. 3 J. Blow, Game development: harder than you

48、think,Queue,vol. 1, pp. 2837, 2004. 4 K. Sung, C. Hillyard, R. L. Angotti, M. W. Panitz, D. S.Goldstein, and J. Nordlinger, Game-Themed Programming Assignment Modules: a pathway for gradual integration of gaming context into existing introductory Programming Courses,IEEE Transactions on Education,vo

49、l.54,no.3,pp.416427, 2010. 5 A. I. Wang and B. Wu, An application of a game development framework in higher education,International Journal of Computer Games Technology, vol. 2009, no. 1, Article ID 693267, 12pages, 2009. 6 B. A. Foss and T. I. Eikaas, Game play in engineering educationconcept and experimental results,International Journal of Engineering Education, vol. 22, no. 5, pp. 10431052,2006. 7 G. Sindre, L. Natvig, and M. Jahre, Experimental validation of the learning effect for a pedagogical game on computer fundamentals,IEEE Transactions on Education,vol.52,no.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1