五子棋概要设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多功能五子棋
的设计与实现
概要设计说明书
开发团队:Flying
We are flying, but not flies!
目录
1 引言 (3)
1.1编写目的 (3)
1.2背景 (3)
1.3定义 (3)
1.4参考资料 (4)
2 总体设计 (5)
2.1需求规定 (5)
2.2运行环境 (6)
2.3软件基本处理流程 (6)
2.4软件控制结构 (8)
2.5功能需求与程序的关系 (9)
2.6人工处理过程 (9)
2.7尚未解决的问题 (9)
3 系统数据结构设计 (11)
4 系统出错处理设计 (12)
1 引言
1.1编写目的
本文档是《多功能五子棋的设计与实现》(以下简称“本项目”)的概要设计说明书,为本项目的详细设计提供主要依据。
本文档描述系统在功能上的主要设计和思想;预先估计以后系统可能达到的目标。
本文档的预期读者为本项目的开发人员。
1.2背景
本项目所开发的软件系统全称为“多功能五子棋游戏”。
本项目为《高级软件工程》课程大作业选题,由项目客户(姜明老师)提出并由Flying团队组织开发,本项目开发主要目的为学习并熟悉软件工程项目开发流程,本项目的预期用户是中国科学技术大学软件学院软件工程专业06级(硕)嵌入式系统设计专业方向所有五子棋游戏爱好者。
本项目所开发游戏软件拟在Windows98及以上版本操作系统下运行,拟基于C/S架构提供网络对弈(二人对弈)模式在小型局域网运行。
1.3定义
本系统可能用到的专门术语的定义见表1.1。
1.4参考资料
[1] GB8567——88. 概要设计说明书.
[2] 王志新. 五子棋实战技巧. 江苏科学技术出版社, 2002.
[3] 中国五子棋网. /
2 总体设计2.1需求规定
系统需求规定见表2.1。
表2.1 系统需求规定
2.2运行环境
硬件环境
CPU:Intel x86 200Mhz以上,或其他处理器
内存:32MB 以上
显卡:标准VGA 256色显示模式以上
分辨率:1024×768
其他:声卡
软件环境
操作系统:Win98/2000/XP或更高版本
2.3软件基本处理流程
软件基本处理流程见图2.1。
图2.1 软件基本处理流程
软件首先执行初始化,然后由用户选择对弈模式:人机对弈或网络对弈(人人对弈)。默认情况下为人机对弈。
在人机对弈模式中,首先初始化人机对弈数据结构,然后进入下棋主循环。在主循环中,玩家下棋后,软件调用胜负判定函数判定当前棋局是否有胜负出现。若有,则输出胜负信息,并询问玩家是否重新开局;若无,则执行计算机下棋函数,进行计算机下棋。下棋后,再次调用胜负判定函数判定当前棋局是否有胜负
出现。如此循环下去。
在网络对弈模式中,首先初始化网络对弈数据结构,然后由用户选择网络模式:服务器或客户机。若选择服务器,则建立一个服务器socket在后台监听,等待客户机连接。若由客户机请求连接且已准备好,则响应连接并向客户机发送已连接好的消息。客户机接到此消息后,产生提示信息给玩家,以后服务器及客户机就可以进行下棋,传送文件,文字聊天,视频聊天等。若选择客户机,则在玩家输入服务器ip后(端口由软件默认指定)发送连接请求到服务器。若玩家不知道当前有哪些服务器可用,可以使用服务器扫描功能,获得局域网内哪些计算机已经打开服务器。
2.4软件控制结构
软件控制结构见图2.2。
图2.2 软件控制结构
从图2.2中可以看出,首先由玩家选择对弈模式,然后软件将控制权交给人机对弈模块或网上对弈模块。人机对弈模块可以调用计算机下棋、胜负判定、交换角色、难易程度选择、保存棋局、打开棋局、悔棋及撤销悔棋等功能模块。网上对弈模块可以调用传送下棋数据、传送文件、文字聊天、视频聊天及扫描服务器等功能模块。
2.5功能需求与程序的关系
功能需求与程序的关系见表2.2。
表2.2 功能需求与程序的关系
2.6人工处理过程
尚无
2.7尚未解决的问题
1. 传送文件原因:时间紧迫
2. 视频聊天原因:时间紧迫技术难度
3 系统数据结构设计
系统关键数据结构设计见表3.1。
表3.1 系统关键数据结构设计
4 系统出错处理设计
系统出错处理设计见表4.1。
表4.1系统出错处理设计
出错条目提示信息出错处理
在人机对弈时使用某些网络对弈功能提示用户选择网上对弈模式
扫描服务器时深入不正确的ip地址提示用户重新输入
扫描服务器时深入不正确的ip地址段提示用户重新输入
扫描服务器时深入的线程数过大或过小提示用户重新输入
玩家企图连续下两次棋取消下棋数据提示下棋失败
初始化socket失败提示用户检查网络配置
服务器socket监听错误提示用户服务器socket监听错误,并退出模块