版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程汇报之五子棋应用程序可行性研究分析软件需求分析系统总体设计详细设计系统测试项目开发总结可行性研究分析1.1技术可行性如今计算机已经相当普及,五子棋作为传统的棋类游戏也可说是人人皆会。所以本次开发的五子棋游戏软件是一款简单的单机版小游戏,对用户也不做特别的限制。此次开发采用的工具为基于C++语言的VisualC++6.0。由于五子棋游戏软件本身所要实现的功能较为简单,功能强大VC++足以满足其编程需求,且对于软件后续的优化与功能添加也容易实现。综上所述,本软件的设计与开发在技术和硬件设备上的条件以及计算机软件的使用上条件是成熟。因此,它在技术上是可行的。1.2经济可行性此次软件工程大作业的目的在于帮助我们切身体会软件开发的内容和过程,所以我们选择了开发五子棋游戏。而市场上该游戏的不同版本已经非常多了,所以这里对它的经济可行性分析不做过多的讨论。1.3运行可行性本软件为休闲益智类小游戏,所耗费的资源非常的小,普通家用计算机无论是硬件还是软件都能够满足条件,因此,本软件在运行上是可行的。软件需求分析基本功能需求1.带有棋盘的游戏界面;2.游戏双方玩家轮流下子;3.判断并显示游戏胜利的一方;4.双方可进行悔棋操作;5.游戏进行过程中可以选择重新开始游戏;6.游戏结束可选择重新开始或者直接退出。用户界面需求对于一个好的软件有一个友好的用户界面是很重要的。用户界面应尽量做的简单、层次清晰明了,以最大限度为用户提供操作方便。开发环境介绍本软件使用的开发语言是VisualC++,以Windows7系统为操作平台。系统总体设计1.下棋模块:当玩家在棋盘上点击时,自动下棋。2.悔棋模块:当玩家点击“悔棋”按钮时,实现悔棋操作。3.重新开始模块:当玩家点击“重新开始”按钮后,软件对所有棋格信息初始化,使整个棋盘还原到游戏开始的状态。下棋悔棋重新开始五子棋软件五子棋软件体系结构图主程序流程图NNNNYY开始是否获胜下黑子下白子是否获胜胜利结束辅助程序流程图重新开始结束开始悔棋断点退出…程序退出详细设计界面模块游戏界面采用MFC来实现主要功能:打开游戏时直接进入游戏,在棋盘内可行棋当条件满足时,可以点击“悔棋”,“重新开始”点击“悔棋”时,进入悔棋模块点击“重新开始”时,进入重新开始模块点击“退出”时,游戏无条件退出下棋模块(1)根据内部记录的数据信息,应用程序自行判断哪方下棋(轮流制),初始时为黑方行棋(2)当点击鼠标时,应用程序收集鼠标信息,判断玩家行棋的位置,记录信息,更新游戏界面视图,判断是否胜利,若胜,弹出提示对话框,若不胜,等待下一个信息响应计数器count鼠标点击网格坐标定位网格信息修改显示判胜负(3)如果收集到的鼠标信息显示已有信息记录,弹出提示对话框,并不更改数据信息。计数器count鼠标点击网格坐标定位网格信息修改显示判胜负信息比对对话框等不等(4)当达到胜利条件时,自动弹出对话框,显示胜利一方,有三种选择方式,“重新开始”,“退出”分别进入相应模块,“返回”时,棋盘界面不能被操作,直到去除胜利条件为止。计数器count鼠标点击网格坐标定位网格信息修改显示判胜负显示胜方返回重新开始退出………悔棋模块(1)当棋盘上存在至少一枚棋子时,可以点击“悔棋”进入此模块(2)点击“悔棋”时,每次退两步,除非棋盘上仅有一枚棋子,则退回初始状态(3)每点击一次“悔棋”,改变内部记录的数据信息,并更新游戏视图界面,并判断能否再次进入此模块计数器count网格信息修改显示悔棋重新开始模块重新开始显示初始化计数器count网格信息系统测试五子棋软件测试用例序号测试用例标题期望结果1玩家交替落子成功,双方玩家可以实现黑白子交替进行游戏,不会出现一方连续下子的情况。2棋盘外落子无响应,当点击在棋盘外区域时软件能准确判断并不做出响应。3有子棋格内落子软件提醒,当点击在有子的棋格内时软件能发出提醒。4横向胜负判定提示胜利,当任意一方横向连成五子时软件应提示该方玩家胜利。在该用例中还可对连成线五子落子的不同落子顺序进行测试。5竖向胜负判定提示胜利,当任意一方竖向连成五子时软件应提示该方玩家胜利。在该用例中还可对连成线五子落子的不同落子顺序进行测试。6“/”向胜负判定提示胜利,当任意一方“/”向连成五子时软件应提示该方玩家胜利。在该用例中还可对连成线五子落子的不同落子顺序进行测试。7“\”向胜负判定提示胜利,当任意一方“\”向连成五子时软件应提示该方玩家胜利。在该用例中还可对连成线五子落子的不同落子顺序进行测试。8第一步悔棋操作成功,游戏开始黑方先落子,在白方未落第二子前,对第一步进行悔棋操作。9大于一步悔棋成功,当玩家双方进行超过两步后,分别测试黑白双方玩家的悔棋操作。10游戏进行中重新开始成功,当玩家没有决出胜负时测试重新开始功能能否实现。11游戏结束时重新开始成功,游戏结束时,软件跳出提示窗口,点击提示窗口中的“重新开始”,测试该功能能否实现。12棋盘布满判胜负提示胜利,当棋盘上最后一个落子产生胜出方时,测试软件能否正确提示胜利。13判和局提示和局,当棋盘最后一个落子落下后仍未决出胜方,测试软件能否正确提示和局。14退出成功,测试软件能否正常退出。测试结果序号测试用例标题测试结果测试结果说明1玩家交替落子通过玩家可以顺利进行五子棋对弈。2棋盘外落子通过软件没有对棋盘外的落子做出响应。3有子棋格内落子通过软件能够识别有棋子的棋格并阻止重复落子。4横向胜负判定通过横向判定有效。5竖向胜负判定通过竖向判定有效。6“/”向胜负判定通过“/”向判定有效。7“\”向胜负判定通过“\”向判定有效。8第一步悔棋操作通过软件能撤销第一步棋子的操作。9大于一步悔棋通过软件能够撤销前两步棋子的操作。10游戏进行中重新开始通过软件能够在主界面中正确响应重新开始消息。11游戏结束时重新开始通过软件能够在提示窗口中正确响应重新开始消息。12棋盘布满判胜负通过软件没有错判和局。13判和局通过软件能够判断和局。14退出通过软件能够顺利退出。项目开发总结对项目开发过程的评价阶段完成情况立项按时完成开发计划按时完成需求分析按时完成概要设计按时完成实施按时完成系统测试按时完成结项按时完成对技术方法的评价 C++语言提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。对产品质量的评价 产品基本完成了设计的基本要求。
从软件工程角度,本次五子棋软件的开发旨在对软件开发过程有一个切身的体会。从需求分析到概要设计再到详细设计,要清楚每一个环节要完成的内容。其中最为关键的是需求分析,从单纯的课堂中是无法体会到它的重要性的,即便老师一再强调。只有当实际进行软件开发的时候才明白,好的需求分析为一个软件打下坚实的基础。一个合理、逻辑层次清晰的需求分析也可以大大减轻后续设计环节的工作。这也是从本次大作业中收获的最大的体会。从程序设计角度,C++是由C语言发展而来,不但继承了C语言的强大功能,使用起来也更加方便灵活。然而,编程语言的功能越是强大对于编程人员的逻辑思考能力的要求也就越高。在本次软件的编写过程中,我们就多次遇到逻辑混乱的问题。尤其是在编写胜负判定的模块时,由于没有完全理解二维数组的结构,导致胜负判定模块的设计一度无法继续。从中我个人的体会是,在编程前,对于将要使用的基本概
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年智能停车场系统建设合同2篇
- 二零二四年度地铁站保安人员劳务派遣协议
- 二零二四年度货物运输及搬运服务合同
- 电动葫芦采购技术协议书
- 法人变更股权转让协议书
- 图文打印设备租赁合同(2篇)
- 合伙人合同范本(2篇)
- 二零二四年度知识产权代理与许可合同
- 二零二四年度委托合同:资产评估与管理委托服务
- 钢筋工劳务分包合同的施工过程管理
- 国际金融(吉林大学)智慧树知到期末考试答案2024年
- 《神笔马良》课本剧剧本
- 挤奶员个人述职报告
- 新增医疗服务项目成本测算表填写说明
- 催收案件分析总结汇报
- 加油站环境保护法律法规
- 《保护患者隐私》课件
- GB/T 26705-2023轻型印刷纸
- 《冲突管理》课件2
- 可再生能源的社会效益与可再生能源
- 如何帮助小学生正确处理人际关系
评论
0/150
提交评论