软件工程答辩答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可行性研究分析
软件需求分析
系统总体设计 详细设计
系统测试
项目开发总结
可行性研究分析
1.1 技术可行性
如今计算机已经相当普及,五子棋作为传统的棋类游戏也 可说是人人皆会。所以本次开发的五子棋游戏软件是一款 简单的单机版小游戏,对用户也不做特别的限制。
此次开发采用的工具为基于C++语言的Visual C++6.0。由 于五子棋游戏软件本身所要实现的功能较为简单,功能强 大VC++足以满足其编程需求,且对于软件后续的优化与功 能添加也容易实现。 综上所述,本软件的设计与开发在技术和硬件设备上的条 件以及计算机软件的使用上条件是成熟。因此,它在技术 上是可行的。
10
游戏进行中重新 成功,当玩家没有决出胜负时测试重新开始功能 开始 能否实现。 游戏结束时重新 成功,游戏结束时,软件跳出提示窗口,点击提 开始 示窗口中的“重新开始”,测试该功能能否实现。 提示胜利,当棋盘上最后一个落子产生胜出方时, 测试软件能否正确提示胜利。 提示和局,当棋盘最后一个落子落下后仍未决出 胜方,测试软件能否正确提示和局。 成功,测试软件能否正常退出。
点击“退出”时,游戏 无条件退出
下棋模块
(1)根据内部记录的数据信息,应用程序自行判断哪方下棋(轮流制), 初始时为黑方行棋 (2)当点击鼠标时,应用程序收集鼠标信息,判断玩家行棋的位置,记录 信息,更新游戏界面视图,判断是否胜利,若胜,弹出提示对话框,若不胜, 等待下一个信息响应 计数器count 鼠标点击 网格坐标定位 判胜负 网格信息修改 显示
11
12
棋盘布满判胜负
13 14
wenku.baidu.com
判和局 退出
测试结果
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 测试用例标题 玩家交替落子 棋盘外落子 有子棋格内落子 横向胜负判定 竖向胜负判定 “/”向胜负判定 “\”向胜负判定 第一步悔棋操作 大于一步悔棋 游戏进行中重新开始 游戏结束时重新开始 棋盘布满判胜负 判和局 退出 测试结果 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 测试结果说明 玩家可以顺利进行五子棋对弈。 软件没有对棋盘外的落子做出响应。 软件能够识别有棋子的棋格并阻止重复落子。 横向判定有效。 竖向判定有效。 “/”向判定有效。 “\”向判定有效。 软件能撤销第一步棋子的操作。 软件能够撤销前两步棋子的操作。 软件能够在主界面中正确响应重新开始消息。 软件能够在提示窗口中正确响应重新开始消息。 软件没有错判和局。 软件能够判断和局。 软件能够顺利退出。
7
提示胜利,当任意一方“\”向连成五子时软件应 “\”向胜负判定 提示该方玩家胜利。在该用例中还可对连成线五 子落子的不同落子顺序进行测试。 成功,游戏开始黑方先落子,在白方未落第二子 前,对第一步进行悔棋操作。
8
第一步悔棋操作
9
大于一步悔棋
成功,当玩家双方进行超过两步后,分别测试黑 白双方玩家的悔棋操作。
3
有子棋格内落子
4
横向胜负判定
提示胜利,当任意一方横向连成五子时软件应提 示该方玩家胜利。在该用例中还可对连成线五子 落子的不同落子顺序进行测试。
5
竖向胜负判定
提示胜利,当任意一方竖向连成五子时软件应提 示该方玩家胜利。在该用例中还可对连成线五子 落子的不同落子顺序进行测试。
6
提示胜利,当任意一方“/”向连成五子时软件应 “/”向胜负判定 提示该方玩家胜利。在该用例中还可对连成线五 子落子的不同落子顺序进行测试。
1.2 经济可行性
此次软件工程大作业的目的在于帮助我们切身体会软件开 发的内容和过程,所以我们选择了开发五子棋游戏。而市 场上该游戏的不同版本已经非常多了,所以这里对它的经 济可行性分析不做过多的讨论。
1.3运行可行性
本软件为休闲益智类小游戏,所耗费的资源非常的小,普 通家用计算机无论是硬件还是软件都能够满足条件,因此, 本软件在运行上是可行的。
网格信息修改
显示
判胜负
显示胜方
返回
重新开始
退出
…
…
…
悔棋模块
(1)当棋盘上存在至少一枚棋子时,可以点击“悔棋”进入此模块 (2)点击“悔棋”时,每次退两步,除非棋盘上仅有一枚棋子,则退回初始 状态 (3)每点击一次“悔棋”,改变内部记录的数据信息,并更新游戏视图界面, 并判断能否再次进入此模块 计数器count
(3)如果收集到的鼠标信息显示已有信息记录,弹出提示对话框,并不 更改数据信息。
计数器count 鼠标点击 网格坐标定位
网格信息修改
显示
判胜负
等 对话框 信息比对 不等
(4)当达到胜利条件时,自动弹出对话框,显示胜利一方,有三种选择方 式,“重新开始”,“退出”分别进入相应模块,“返回”时,棋盘界面 不能被操作,直到去除胜利条件为止。 计数器count 鼠标点击 网格坐标定位
软件需求分析
基本功能需求
1.带有棋盘的游戏界面; 2.游戏双方玩家轮流下子;
3.判断并显示游戏胜利的一方;
4.双方可进行悔棋操作;
5.游戏进行过程中可以选择重新开始游戏; 6.游戏结束可选择重新开始或者直接退出。
用户界面需求
对于一个好的软件有一个友好的用户界面是很重要的。用户界面应尽 量做的简单、层次清晰明了,以最大限度为用户提供操作方便。
悔棋
网格信息修改
显示
重新开始模块
重新开始
计数器count
网格信息 显示
初始化
系统测试
五子棋软件测试用例
序号
1
测试用例标题
玩家交替落子
期望结果
成功,双方玩家可以实现黑白子交替进行游戏, 不会出现一方连续下子的情况。
2
棋盘外落子
无响应,当点击在棋盘外区域时软件能准确判断 并不做出响应。
软件提醒,当点击在有子的棋格内时软件能发出 提醒。
开发环境介绍
本软件使用的开发语言是Visual C++,以Windows 7系统为操作平台。
系统总体设计
五子棋软件
下棋
悔棋
重新开始
五子棋软件体系结构图
1. 下棋模块:当玩家在棋盘上点击时,自动下棋。 2. 悔棋模块:当玩家点击“悔棋”按钮时,实现悔棋操作。 3. 重新开始模块:当玩家点击“重新开始”按钮后,软件对所有棋格信 息 初始化,使整个棋盘还原到游戏开始的状态。
开始 下黑子 结束
N
主 程 序 流 程 图
重新开始
是否获 N 胜 N 下白子 悔棋 是否获胜 N Y 胜利 结束 退出 断点
Y
开始
…
程 序 退 出
辅 助 程 序 流 程 图
详细设计
界面模块
游戏界面采用MFC来实现 主要功能: 打开游戏时直接进入游 戏,在棋盘内可行棋 当条件满足时,可以点 击“悔棋”,“重新开始” 点击“悔棋”时,进入 悔棋模块 点击“重新开始”时, 进入重新开始模块
软件需求分析
系统总体设计 详细设计
系统测试
项目开发总结
可行性研究分析
1.1 技术可行性
如今计算机已经相当普及,五子棋作为传统的棋类游戏也 可说是人人皆会。所以本次开发的五子棋游戏软件是一款 简单的单机版小游戏,对用户也不做特别的限制。
此次开发采用的工具为基于C++语言的Visual C++6.0。由 于五子棋游戏软件本身所要实现的功能较为简单,功能强 大VC++足以满足其编程需求,且对于软件后续的优化与功 能添加也容易实现。 综上所述,本软件的设计与开发在技术和硬件设备上的条 件以及计算机软件的使用上条件是成熟。因此,它在技术 上是可行的。
10
游戏进行中重新 成功,当玩家没有决出胜负时测试重新开始功能 开始 能否实现。 游戏结束时重新 成功,游戏结束时,软件跳出提示窗口,点击提 开始 示窗口中的“重新开始”,测试该功能能否实现。 提示胜利,当棋盘上最后一个落子产生胜出方时, 测试软件能否正确提示胜利。 提示和局,当棋盘最后一个落子落下后仍未决出 胜方,测试软件能否正确提示和局。 成功,测试软件能否正常退出。
点击“退出”时,游戏 无条件退出
下棋模块
(1)根据内部记录的数据信息,应用程序自行判断哪方下棋(轮流制), 初始时为黑方行棋 (2)当点击鼠标时,应用程序收集鼠标信息,判断玩家行棋的位置,记录 信息,更新游戏界面视图,判断是否胜利,若胜,弹出提示对话框,若不胜, 等待下一个信息响应 计数器count 鼠标点击 网格坐标定位 判胜负 网格信息修改 显示
11
12
棋盘布满判胜负
13 14
wenku.baidu.com
判和局 退出
测试结果
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 测试用例标题 玩家交替落子 棋盘外落子 有子棋格内落子 横向胜负判定 竖向胜负判定 “/”向胜负判定 “\”向胜负判定 第一步悔棋操作 大于一步悔棋 游戏进行中重新开始 游戏结束时重新开始 棋盘布满判胜负 判和局 退出 测试结果 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 测试结果说明 玩家可以顺利进行五子棋对弈。 软件没有对棋盘外的落子做出响应。 软件能够识别有棋子的棋格并阻止重复落子。 横向判定有效。 竖向判定有效。 “/”向判定有效。 “\”向判定有效。 软件能撤销第一步棋子的操作。 软件能够撤销前两步棋子的操作。 软件能够在主界面中正确响应重新开始消息。 软件能够在提示窗口中正确响应重新开始消息。 软件没有错判和局。 软件能够判断和局。 软件能够顺利退出。
7
提示胜利,当任意一方“\”向连成五子时软件应 “\”向胜负判定 提示该方玩家胜利。在该用例中还可对连成线五 子落子的不同落子顺序进行测试。 成功,游戏开始黑方先落子,在白方未落第二子 前,对第一步进行悔棋操作。
8
第一步悔棋操作
9
大于一步悔棋
成功,当玩家双方进行超过两步后,分别测试黑 白双方玩家的悔棋操作。
3
有子棋格内落子
4
横向胜负判定
提示胜利,当任意一方横向连成五子时软件应提 示该方玩家胜利。在该用例中还可对连成线五子 落子的不同落子顺序进行测试。
5
竖向胜负判定
提示胜利,当任意一方竖向连成五子时软件应提 示该方玩家胜利。在该用例中还可对连成线五子 落子的不同落子顺序进行测试。
6
提示胜利,当任意一方“/”向连成五子时软件应 “/”向胜负判定 提示该方玩家胜利。在该用例中还可对连成线五 子落子的不同落子顺序进行测试。
1.2 经济可行性
此次软件工程大作业的目的在于帮助我们切身体会软件开 发的内容和过程,所以我们选择了开发五子棋游戏。而市 场上该游戏的不同版本已经非常多了,所以这里对它的经 济可行性分析不做过多的讨论。
1.3运行可行性
本软件为休闲益智类小游戏,所耗费的资源非常的小,普 通家用计算机无论是硬件还是软件都能够满足条件,因此, 本软件在运行上是可行的。
网格信息修改
显示
判胜负
显示胜方
返回
重新开始
退出
…
…
…
悔棋模块
(1)当棋盘上存在至少一枚棋子时,可以点击“悔棋”进入此模块 (2)点击“悔棋”时,每次退两步,除非棋盘上仅有一枚棋子,则退回初始 状态 (3)每点击一次“悔棋”,改变内部记录的数据信息,并更新游戏视图界面, 并判断能否再次进入此模块 计数器count
(3)如果收集到的鼠标信息显示已有信息记录,弹出提示对话框,并不 更改数据信息。
计数器count 鼠标点击 网格坐标定位
网格信息修改
显示
判胜负
等 对话框 信息比对 不等
(4)当达到胜利条件时,自动弹出对话框,显示胜利一方,有三种选择方 式,“重新开始”,“退出”分别进入相应模块,“返回”时,棋盘界面 不能被操作,直到去除胜利条件为止。 计数器count 鼠标点击 网格坐标定位
软件需求分析
基本功能需求
1.带有棋盘的游戏界面; 2.游戏双方玩家轮流下子;
3.判断并显示游戏胜利的一方;
4.双方可进行悔棋操作;
5.游戏进行过程中可以选择重新开始游戏; 6.游戏结束可选择重新开始或者直接退出。
用户界面需求
对于一个好的软件有一个友好的用户界面是很重要的。用户界面应尽 量做的简单、层次清晰明了,以最大限度为用户提供操作方便。
悔棋
网格信息修改
显示
重新开始模块
重新开始
计数器count
网格信息 显示
初始化
系统测试
五子棋软件测试用例
序号
1
测试用例标题
玩家交替落子
期望结果
成功,双方玩家可以实现黑白子交替进行游戏, 不会出现一方连续下子的情况。
2
棋盘外落子
无响应,当点击在棋盘外区域时软件能准确判断 并不做出响应。
软件提醒,当点击在有子的棋格内时软件能发出 提醒。
开发环境介绍
本软件使用的开发语言是Visual C++,以Windows 7系统为操作平台。
系统总体设计
五子棋软件
下棋
悔棋
重新开始
五子棋软件体系结构图
1. 下棋模块:当玩家在棋盘上点击时,自动下棋。 2. 悔棋模块:当玩家点击“悔棋”按钮时,实现悔棋操作。 3. 重新开始模块:当玩家点击“重新开始”按钮后,软件对所有棋格信 息 初始化,使整个棋盘还原到游戏开始的状态。
开始 下黑子 结束
N
主 程 序 流 程 图
重新开始
是否获 N 胜 N 下白子 悔棋 是否获胜 N Y 胜利 结束 退出 断点
Y
开始
…
程 序 退 出
辅 助 程 序 流 程 图
详细设计
界面模块
游戏界面采用MFC来实现 主要功能: 打开游戏时直接进入游 戏,在棋盘内可行棋 当条件满足时,可以点 击“悔棋”,“重新开始” 点击“悔棋”时,进入 悔棋模块 点击“重新开始”时, 进入重新开始模块