标签:
本项目所开发的软件系统全称为“多功能五子棋游戏”。
本项目为《高级软件工程》课程大作业选题,由项目客户(姜明老师)提出并由Flying团队组织开发,本项目开发主要目的为学习并熟悉软件工程项目开发流程,本项目的预期用户是中国科学技术大学软件学院软件工程专业06级(硕)嵌入式系统设计专业方向所有五子棋游戏爱好者。
本系统可能用到的专门术语的定义见表1.1。
表1.1 系统专门术语定义
专用术语 |
定义 |
系统 |
多功能五子棋的设计与实现 |
子系统、模块 |
功能上相对独立的组件 |
人机对弈 |
玩家与计算机对弈 |
人工智能 |
智能机器所执行的通常与人类智能有关的功能 |
五连 |
在横线,纵线或斜线上,五个同色棋子连续排列的棋形 |
四连 |
两端没有对方的棋子阻拦的“四” |
冲四 |
一段有对方的棋子阻拦的“四” |
活三 |
加上一子就能成为活四的“三” |
活四 |
两头都没有黑子并且没有靠边的连续四子 |
四四 |
一子落下同时形成两个“四”的棋形 |
三三 |
一子落下同时形成了两个“活三”的棋形 |
四三 |
一子落下同时形成了一个“四”和一个“三” |
[1] 王小春. PC游戏编程(人机对弈). 重庆:重庆大学出版社,2002.5 [2] 那威,张照元. 连珠五子棋提高捷径:入段升级必读. 北京:北京体育大学出版社,1998.1
[3] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. 设计模式:可复用面向对象软件的基础 北京:机械工业出版社,2000.9
[4] Donald E. Knuth. The Art of Computer Programming. Addison-Wesley,1998
[5] GB8567-883 Software Requirement Analysis Guide
[6] GB/T 12504-90 Software Quality Insurance Planning Standard
[7] 王志新. 五子棋实战技巧. 江苏科学技术出版社, 2002.
[8] 中国五子棋网. http://www.wuzi8.com/
[1]胜负判定模块;
[2]人机对弈模块;
[3]等级及难易程度选择;
[4]悔棋和撤销悔棋模块;
[5]角色选择、角色互换;
[6]棋局的打开、关闭和保存;
[7]网上对弈;
[8]服务器模块(扫描服务器);
[9]文字聊天系统;
硬件环境
CPU:Intel x86 200Mhz以上,或其他处理器
内存:32MB 以上
显卡:标准VGA 256色显示模式以上
分辨率:1024×768
其他:声卡
需求分析文档;
可行性分析文档;
概要设计文档;
详细设计文档;
测试计划可使用案例;
测试事件报告;
3.1 软件系统流程
总体方案:
[1].由程序员测试其本人所编写的模块代码;
[2].由另外的测试者再测试以由程序员测试过的模块;
[3].选择另外的角色来测试系统的每个模块。
具体方案:
[1].白盒测试方法测试每个功能模块;
[2].黑盒测试方法测试系统;
[3].选择测试模块,并给定输入和期望输出;
[4].测试,给出真实输出;
[5].比较期望输出和真实输出是否相同;
[6].如果不符合期望输出则寻找错误并修改代码纠正。
测试模块 |
输入 |
处理 |
输出 |
胜负判定 |
当前棋局 |
从各个方向搜索黑白连珠个数 |
若连珠个数大于等于5,则输出胜负已分;否则,输出胜负未分 |
计算机下棋 |
当前棋局 难易程度 |
计算黑白棋在各空位置下棋时的棋局评分 |
棋局评分最高的空位置 |
难易程度选择 |
用户选择的难易程度 |
置系统难易程度变量为相应值,计算机下棋时,用此变量表示棋局评分精度 |
无 |
悔棋 |
当前棋局 堆栈变量S |
更新棋局,S压栈 更新棋局显示 |
无 |
撤销悔棋 |
当前棋局 堆栈变量S |
更新棋局,S弹栈 更棋局新显示 |
无 |
交换角色 |
当前棋局 当前下棋者 |
交换棋局中黑白棋 交换当前下棋者 更新棋局显示 |
无 |
保存棋局 |
当前棋局 |
保存当前棋局到文件 |
棋局文件 |
打开棋局 |
棋局文件 |
读取棋局文件到棋局 |
棋局 |
测试结果基本能覆盖到系统的整个功能模块,包括棋盘的打开、关闭、保存,棋盘落子,胜负判定,黑白方的选择,难易程度选择,悔棋,人机对战,扫描服务器,文字聊天,网上对战。
能够合理的输出结果的类型,测试输出结果与预期输出结果之间的差异不超出容许的偏离范围,允许中断和停机的最大次数不超出20次。
标签:
原文地址:http://www.cnblogs.com/zyg950205/p/4542255.html