软件综合设计报告
更新时间:2023-06-08 08:20:01 阅读量: 实用文档 文档下载
实验七:书写软件综合设计报告 附录A:软件综合设计报告格式
[封面] (注:每个同学的报告都要有封面,独占一页。用小四号宋体,行距18
-22磅,报告中可加上适当的小图形)
软件综合设计报告
设计题目:人机五子棋游戏软件
浙江师范大学 数理与信息工程学院 班级:计算机科学与技术121
报告人姓名: 王丹妮 学号:12190111 承担角色: 组员
同组组长: 涂文婷 同组其他成员:无
课程教师: 贾泂 实验指导教师:贾泂
实验地点:20-206
完成起止日期:2015/6/16—2015/6/23
[正文]
一、课程设计概述(目的、任务、开发环境、参考资料)
1.目的
五子棋是起源于中国古代的传统的黑白棋中之一。它不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。随着社会的发展,越来越多人接触和使用计算机,网上进行的棋类运动也随之普及。许多人喜欢上了下棋,但有时又苦于没有对手。作为一个计算机专业的学生,我对五子棋有很浓厚的兴趣,对计算机人机对弈智能算法如何与人脑对抗产生了极大的兴
趣,当然人机对弈的算法有很多种,许多人也对此有所研究。有些算法的智能程度甚至已经与人脑不相上下。这类程序的开发最重要的莫过于智能算法的实现,然后就是判断胜负的方法。完成项目作业,锻炼编程能力,培养思维,我们小组决定开发一个能够进行人机对战的五子棋游戏软件。
2.任务
以C#作为编译环境,实现五子棋的基本功能,达到界面整洁漂亮,游戏性强。
3.运行环境
编译调试环境:vs2010 C#编译环境;
运行系统环境:安装有微软.NET Framework 3.5的windows操
作系统
4.参考资料
[1] GB8567——88. 概要设计说明书.
[2] 王志新. 五子棋实战技巧. 江苏科学技术出版社, 2002.
[3] 中国五子棋网. /
二、项目的可行性研究与需求分析
1. 系统可行性研究
项目组成员熟知五子棋游戏的各项规则,熟悉项目开发环境,有一定的项目的开发经验,其中项目组涂文婷同学还有五子棋核心算法设计经验,更为重要的是项目组成员均对本项目的开发具有强烈的兴趣,有信心完成本项目的开发工作。在时间上也是可以完成的。综上所述,本系统在技术上是可行的。
不仅如此,五子棋游戏简单易学,为人民群众所喜闻乐见;本项目开发的五子棋游戏功能强大,界面友好,帮助文件详尽明确,用户在使用方面不存在任何障碍。综上所述,本项目在使用方面是可行的。
2. 系统需求分析
2.2 功能需求分析
系统的基本功能需求分析如下:
(1)游戏进入界面需要用户登录;
(2)进入游戏之后,显示一个十五行十五列的五子棋的棋盘及菜单。在界面上可以在棋盘落子操作和菜单操作之间进行切换,用鼠标来控制;
(3)在棋盘点击对应位置,可以落子,棋盘上将由黑白子显示相应的棋子,并且棋子在横纵交点处;
(4)对战的过程中有悔棋的功能;
(5)游戏的过程中会有历史落子点显示;
(6)可以自动判断胜负,胜利一方形成一列的五个或5个以上的棋子,显示是黑方或者白方已经胜利的字样,并且停止落子的功能;
(7)有投降和保存棋局的功能。
2.3 非功能需求分析
非功能需求如下:
(1)在程序运行的过程中程序不能崩溃,更不能使系统出现问题,造成灾难性的后果;
(2)希望在此项目的基础上不做改动或做很少的改动就能在其他的系统或设备上运行;
(3)界面清晰容易看懂,方便玩家操作;
(4)游戏运行速度不能太慢,要反应及时,以免影响玩家的兴趣。
三、项目设计的基本原理和采用的主要方法与技术
整个系统主要有两个地方比较难以实现,一个就是判断此时哪一方有更大的获胜可能,另一个就是判断我们的落子位置。前者我们是通过判断是否有5个相同的棋子连在一条线上。以一个棋子为中心,有4条线可以形成五子连线.中心棋子即为最后一步所下棋子,以水平方向为例,从中心棋子出发(设为白子),先向左进行判断,若棋子为白子,则计数器加1(初始值为1),否则(为黑子或无子),则返回中心棋子,向右进行判断,进行相同操作。水平方向判定结束后,若计数器为5,则判白子胜,否则,计数器归1,再从竖直、两个斜向按顺序进行判定。棋盘的每个坐标有3个状态,分别为无子(标记为0),白子(标记为1),黑子(标记为2),对棋盘点进行判断时,只需判定其所在状态即可。若棋盘下满,仍未有五子连线,则判和。
而下一步的落子地方,我们可以通过利用计算机的超强的计算能力,通过计算在以后的几步中出现的多种可能性中,哪一种可能性最有利于获胜来找到落子位置。遍历整个棋盘,找出所有空白点,在每个空白点判断与该点相邻的4个方向上各方连续的棋子数,在每一个方向上,判断白子和黑子的连续的个数,判断活3,冲4等各种棋形状况,为各种状况赋权值。然后将该方向上的权值返
回,将每个空白点的各个方向的权值相加,为该点权值。令设计一个数组,储存每个空白点权值,然后在遍历整个棋盘空白点,计算出每个空格点,找出权值最大点,也就是当前情况下,电脑最应该落子的点。返回权值最大的点的坐标。
四、本人实现项目的过程与步骤
确定项目的题目;
撰写立题的目的;
撰写项目的可行性研究报告;
撰写软件综合设计说明书(软件的详细设计)
进行界面的美化(这块代码的编写)
项目完成后对各个功能的测试。
五、个人遇到的困难与获得的主要成果(本节内容不得少于2页)
本次项目是我与涂文婷共同订的选题,由于此次课程的要求,我们决定做这个人机五子棋软件,由于这个游戏简单易学,游戏软件较小,较易完成,为了锻炼自身的编程能力,培养思维,巩固对c#语言进行程序设计、数据库建立的基本方法。了解和掌握游戏开发的原理与方法。但是我在代码编写上有很大的困难,但是好在通过组长和教师的帮忙,还是最终顺利的完成了这次项目。在本次项目中我深有体会的是要完成一个程序,先要建立一个完整的系统架构和设计模式,由于我对代码的不熟悉,所以我主要负责文件的撰写和系统架构的设计。在建立过程中,我们对代码的组织并不是很好,由于对这个程序思考的不够深入,导致我们在后期进行算法的改进和功能上的添加就遇到了困难,但是基本架构已经完成,所以我们只能在原来的基础上进行修改和补进,在同学和老师的帮助下最后我们项目所预期的功能全部实现了。在本次的项目中我主要负责了前期的准备,关于五子棋游戏软件资料的收集与整理,撰写可行性研究报告。调查和研究了人机五子棋的可行性。在后期我负责软件的美化与测试,对于美化,我对界面进行了色彩的设计,虽然不算高端大气,但也增加了可爱的元素,带有了趣味性,使整个游戏活泼生动其来,在界面的布局上我们讨论没有花多久的时间,但是在实现和测试的过程中花了很长的一段时间,在整个项目的实施过程中,写的东西很
多,多数都需要测试和实验,考虑的不会很周全,需要改写的地方也很多,我们也会经常加班加点的改写。我们相对来讲是把画界面的时间往后推了几天的,而用了五天左右的时间好好的把数据库进行设计,每一个人分开的模块都是联系的相当的紧密,这给我组合项目阶段带来了较大的困难,而且测试起来也不方便,很多时候出了问题都不知道到底是哪一个部份出了问题,所以我在组合的时候基本上都是把他们的代码几乎都看了一遍。但尽管这样,还是庆幸当时的决定,就是先把数据库文件做好,要不是这样,我们后面的问题会严重的多。后期也不断反复进行测试,总之我们还是基本上把人机五子棋游戏软件的所有功能都实现的差不多了,项目开发流程的锻炼的目的是达到了的。 我们基本完成了项目的可行性研究报告,项目的需求规格说明书,软件的详细设计说明、代码实现、测试、操作手册。
六、测试与运行记录
登录界面包含:登录、退出、忘记密码、新建用户按钮,见下图:
登录成功显示结果见下图:
点击忘记密码按钮结果见下图:
点击新建用户按钮结果显示见下图:
游戏界面包含:开始游戏、重新开始、悔棋、投降、保存棋局、加载棋局按钮,及先手选择框。
点击开始游戏后悔棋、投降、重新开始按钮将被开启,且可点击棋盘下棋,显示结果见下图:
点击投降按钮,将出现提示框,见下图:
若游戏出现胜者将显示结果见下图:
保存棋局(图1.1)和加载棋局(图1.2)的显示见下图:
图1.1 图1.2
七、课程设计完成结果分析与个人小结
课程设计完成结果分析:
在实施这次游戏软件的开发,已经完成了撰写此次游戏软件开发的可性报告,说明此次的游戏软件可以进行开发。以及软件的详细设计说明。(系统的结构,实现的功能,利用哪些原理)。在测试过程中,完成了登陆界面的设计,可以进行登录和退出,已经可以进行人机五子棋游戏。我们在游戏的过程中也设计了一块位置显示历史下棋的步骤。可让玩家游戏的过程中清楚地看到自己和电脑下的历史步骤,有助于玩家查看。在各个模块测试后,已经基本成功完成各个模块和功能的实现。
个人小结:
在项目实现的过程中,我学到了很多东西,在实践的能力上有所提高,真正做到了学以致用,在这短短的几周时间内,获得了宝贵的经验,相信一定会为我今后的成功奠定一些基础。在大学三年中,软件项目开发对我来说比较抽象,一个完整的项目要怎么分工及完成项目所要的基本步骤也不明确。而这次实践过程中,让我知道一个完整的项目开发,需要团队来分工合作,在每个阶段中进行必
要的总结。一个完整的项目开发它所要经历的阶段包括:项目的可行性研究报告,项目的需求规格说明书,软件的详细设计说明、代码实现、测试、操作手册。必须要有一个好的远景规划,这样才能在预定的时间内完成项目和项目计划所要实现的功能,一个好的软件详细说明书对一个项目的开发有着明确的指引作用,使我们对这个项目所要实现的功能在总体上有具体的认识,并在开发的过程中沿着既定的步骤一步步做下去,就不容易出错。代码的实现是一个项目开发成功与否的关键,可以说,前面所做的事情就是为代码的实现做铺垫。后期的美化与测试是为了更多使用这个软件的人喜爱上这个游戏软件。并在真实游戏时不会发生不必要的错误。感谢老师的培训,和组长涂文婷的帮助,希望在今后的生活学习与工作中充分发挥自己的作用将所学到的知识运用到生活实践中。可以说在我们毕业之前,这次软件实训意义重大,在以后的工作、学习中相信大家会非常努力,继续充实、完善自己,让自己争当一名对社会有所贡献的人!
注:课程设计报告着重说明个人所做工作、成果和体会,即四、五、七部分,页数控制在12页之内。报告不得与他人雷同,否则影响成绩,严重者无成绩。
正在阅读:
软件综合设计报告06-08
公司员工年度工作总结通用范本04-04
三相全桥不控整流电路的设计10-02
第4章 民事诉讼基本原则05-31
专题带电粒子在交变磁场中运动问题-2018年高考物理100考点最新模03-11
全国2013年4月高等教育自学考试 谈判与推销技巧试题 课程代码0017901-27
图形与可视化大作业格式要求03-21
个人2020年大学暑假计划_大学生暑假活动策划方案.doc04-24
朋友圈里的浪漫樱花作文800字07-09
砂石路面施工组织设计08-06
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 报告
- 综合
- 设计
- 软件
- 第五单元质量守恒定律
- 2009年航天信息服务质量检查考试(五)
- A3100(联通)摩托罗拉智能手机说明书
- 美国企业孵化器发展的成功经验与启示
- 勇敢的心 历史和电影的差别
- 2014年广州电大春季《资产评估》复习资料
- 全国古玩市场汇总201210
- 金属材料的硬度试验
- 液位自动控制装置简介
- 脱硫物料平衡计算
- 生产进度跟单练习1
- 合肥市2010-2012年度农业标准化示范基地建设操作规程
- 2007级外国语学院商务英语专业_开题报告样例必备学习
- 四川省计算机一级_计算机基础知识_题库
- 测定金属比热容的一种新方法-动态法
- 国妇婴同步成长亲子班笔记
- 节点类型扩展潮流计算及其可解性研究郭烨,张伯明,吴文传
- 紫钗奇缘分集剧情第32集(共37集)_紫钗奇缘剧情介绍_紫钗奇缘大结局_紫钗奇缘演员表
- 沪科版初二物理光现象测试题及答案
- 好氧区实际需氧量的计算