五子棋需求分析报告08093337

五子棋需求分析报告08093337
五子棋需求分析报告08093337

中国矿业大学

应用系统开发实践

设计题目:基于VC的五子棋游戏软件的设计与开发指导教师:

学生:

专业: 计算机科学与技术09-1班

2012年 5月

目录

1 引言 (2)

2 系统需求分析 (2)

2.1系统需求 (2)

2.2功能需求 (2)

2.3系统运行环境 (2)

3 五子棋算法分析 (3)

3.1五子棋的发展 (3)

3.2五子棋的规则 (3)

3.3具体算法分析 (4)

3.3.1 棋盘局势状态表示 (4)

3.3.2棋盘中下棋的顺序表示 (5)

3.3.3具体算法 (5)

4 系统流程 (7)

5 系统功能实现 (8)

5.1窗口设计 (9)

5.2棋盘设计 (9)

5.3按钮功能的实现 (10)

5.4胜负判断 (11)

6 系统测试与分析 (13)

7 结论 (17)

1.引言

目前网络上有很多五子棋子游戏,玩法简单,娱乐性也很高。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。通过对五子棋的设计与开发,了解和掌握游戏开发的原理与方法。让电脑像人脑一样思考,一直是人工智能发展的最终目标。作为一门边缘学科,它有诸多的研究领域,博弈即为其中之一。博弈的参加者可以是个人、集体、某种生物或机器,他们都力图用自己的“智力”去击败对手。博弈为人工智能提供了一个极好的试验场所,人工智能中的许多概念和方法都是从博弈程序中提炼出来的,人工智能中大多以下棋为例来研究博弈规律。本文以五子棋为入口,设计了一个五子棋双人对战和人机对弈系统,以实现人和人,人和计算机的博弈,最终的目的是为了建立一个有具体规则的五子棋平台。

2.需求分析

目前网络上有很多五子棋子游戏,玩法简单,娱乐性也很高。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。通过对五子棋的设计与开发,了解和掌握游戏开发的原理与方法。让电脑像人脑一样思考,一直是人工智能发展的最终目标。作为一门边缘学科,它有诸多的研究领域,博弈即为其中之一。博弈的参加者可以是个人、集体、某种生物或机器,他们都力图用自己的“智力”去击败对手。人机对弈程序的要点,至少应具备以下4个部分:(1) 状态表示:某种在机器中表示棋局的方法,能够让程序知道博弈的状态。(2) 走法产生:产生合法走法的规则,以使博弈公正地进行,并可判断对手是否乱走。(3)搜索技术:从所有合法的走法中选择最佳的走法技术。(4) 对弈界面。

2.1 系统需求

五子棋作为一款休闲益智游戏,它最大的优点在于游戏规则家喻户晓,简单,上手快,趣味性强,所以受广大用户青睐,在各大提供棋牌类游戏的平台都可以看到玩五子棋游戏的人很多。休闲益智游戏中等级并不是最重要的追求目标,通过对游戏规则的熟悉,能很快上手掌握其操作方式,也更适合男女老幼全家共同娱乐,花费时间简短,速战速决,在短时间内感受到游戏的乐趣,完全享受气氛轻松活跃的游戏过程。此种娱乐方式既不耽误时间也能轻松调剂娱乐,充分适合现代人们的娱乐需求。更主要的是开发了人的智力,成为年轻一代最流行的游戏,据统计,五子棋游戏的玩家中,学生占了接近三分之一的比例,对学生的智力健康成长起一定作用,正所谓休闲娱乐两不误。

2.2 功能需求

要求系统界面简洁,操作方便,把五子棋游戏规则中最基本的规则体现出来,比如“和棋”、“重新开局”等。五子棋还有一大特点就是速战速决,电脑应在很短时间内就应做出判断,并能提供一定的帮助,违反游戏规则的时候应立即指出。在正规五子棋比赛中,都设置了“禁手”这一规则。

2.3 系统运行环境

Win 9X/Win ME/Win NT/Win 2000/Win XP/Win 2003/

3 五子棋算法分析

3.1 五子棋的发展

五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。

五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。

五子棋起源于古代中国,发展于日本,风靡于欧洲。对于它与围棋的关系有两种说法,一说早于围棋,早在“尧造围棋”之前,民间就已有五子棋游戏;一说源于围棋,是围棋发展的一个分支。在中国的文化里,倍受人们的青睐。古代的五子棋的棋具与围棋相同,纵横各十七道。五子棋大约随围棋一起在我国南北朝时先后传入朝鲜、日本等地。据日本史料文献介绍,中国古代的五子棋是经由高丽(朝鲜),于1688年至1704年的日本元禄时代传到日本的。到日本明治32年(公元1899年),经过公开征名,“连珠”这一名称才被正式确定下来,取意于“日月如合壁,五星如连珠”。从此,连珠活动经过了不断的改良,主要是规则的变化(即对执黑棋一方的限制),例如,1899年规定,禁止黑白双方走“双三”;1903年规定,只禁止黑方走“双三”;1912年规定,黑方被迫走“双三”亦算输;1916年规定,黑方不许走“长连”;1918年规定,黑方不许走“四、三、三”;1931年规定,黑方不许走“双四”,并规定将19×19的围棋盘改为15×15的连珠专用棋盘。本世纪初五子棋传入欧洲并迅速风靡全欧。通过一系列的变化,使五子棋这一简单的游戏复杂化、规范化,而最终成为今天的职业连珠五子棋,同时也成为一种国际比赛棋。

简单介绍一下文章中会遇到的一些关于五子棋最基本的术语

(1)先手:进攻的着法,也指对弈双方执黑棋先在棋盘上落子的一方;

(2)四三:指同时具备两个先手,其中一个四,另一个是活三;

(3)活三(包括连三和跳三):①连三:紧紧相连的同色三子②跳三:中间间隔一子的活三;

(4)四四:一子落下同时形成两个“四”的棋形;

(5)三三:一子落下形成了两个活三的棋形;

(6)长连:相同颜色的连续六子或六子以上;

(7)禁手:对局中禁止使用的战术或被判为负的行棋手段;

(8)胜局:对局的一方获胜,称为“胜局”。包括:①一方首先在棋盘的直线或横线或斜线上形成连续的五子或五子以上(特指白方)。②对方表示认输。③对方超过比赛规定的时限。④当黑方禁手形成未能同时形成五连,白方立即指出禁手后,判定为白方胜局。⑤对方迟到超过容许时间。⑥对方严重犯规而被判负;

(9)和棋:不分胜负的对局或双方同意平局。

3.2 五子棋的规则

五子棋游戏的一个特点是先行的一方优势很大,因此在职业比赛中对黑方做了种种限制,以利公平竞争。五子棋的比赛规则如下:

(1)黑棋先手、白棋后手,从天元开始相互顺序落子;

(2)最先在棋盘横向、纵向或斜向形成连续的同色五个棋子的一方为胜;

(3)黑棋禁手判负、白棋无禁手。黑棋禁手有“三、三”、“四、四”和“长连”,包括“四、三、三”和“四、四、三”。黑棋只能以“四、三”取胜;

(4)如分不出胜负,则到为平局;

(5)五连与禁手同时形成,判胜;

(6)黑方禁手形成时,白方应立即指出。若白方未发现或发现后不立即指出,反而继续落子,则禁手失效,不再判黑方负。

五子棋是黑白双方或两个人之间的竞技活动,由于对黑白双方规则不同,黑棋必须先行。一般采用猜先的方法来决定谁执黑先行,即双方各抓一种颜色的几枚棋子,大数减小数,单数双方交换,偶数不换;黑方在落下关键的第五子即形成五连的同时,如又形成禁手,此时因黑方已经成五,而“五”在五子棋中是至高无上的,故禁手失效,黑方胜;所谓黑方形成禁手,是指黑方落下一子同时形成两个或两个以上的活三、冲四及长连等。此时白方应立即指出,自然而胜。

专业连珠五子棋虽然对黑棋采取了种种限制,但是黑棋先行的优势依然很大。因此,在高段位的专业比赛中,又出现了三种特殊的规定:

(1)“指定打法”:指比赛双方按照约定好的开局进行对弈。例如“斜月局”、“长星局”等。

(2)“三手可交换”:指黑棋下第二手棋〔盘面第三手棋〕之后,白方如感觉黑方棋形不利于己方,可提出交换,即执白棋一方变为执黑棋一方〔此方法不适用于指定开局打法,而用于随意开局〕。采用此规定以后,黑棋就不会再使用诸如“浦月”、“花月”之类的必胜开局了。

(3)“五手两打”:指黑棋在下盘面上关键的第五手棋时,必须下两步棋,让白方在这两步棋中任选一步,然后再继续下。

采用这一系列规定以后,黑棋先行就再无优势可言。

3.3 具体算法分析

3.3.1 棋盘局势状态表示

棋盘表示主要探讨的是是什么数据结构来表示棋盘上的信息。一般说来,这与具体的棋类知识密切相关。通常,用来描述棋盘及其上棋子信息的是一个二维数组。

要让计算机知道棋盘局势状态,就是要它记住棋盘中哪个位置有黑子,哪个位置有白子以及哪个位置是空点。因为五子棋的棋盘是15行,15列,因此可以将棋盘状态的描述用一个15×15的二维数组表示。

本程序的数据将用如下所示的数据表示:

int p[15][15]=

{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};

其中,(1)棋盘状态数据由一个15×15的二维数组表示。(2)用数字“1”和“2”来表示不同的棋子,黑色棋子用“2”表示,白色棋子用“1”表示。(3)没有棋子的格子用“0”表示。

3.3.2棋盘中下棋的顺序表示

棋局中下棋的顺序也很重要,应该是黑白双方交替下棋。

本程序用t来判断黑白双方下棋顺序,t为“0”时由白方下棋,t为“1”时由黑方下棋,由于五子棋规则中黑棋先手,所以初始值t=1,即玩家执黑先手。每次落棋后,都应改变t 的值,t 在整个对弈过程中都只能为1或者为0,即在任意时刻,都有一方可以落棋,也只能有一方落棋。

3.3.3具体算法

本系统中较复杂的部分是人机对战部分。下面将简单分析人机对战,双人对战则省略。电脑要选择有利于它的最佳下法,就要能判断哪种形势对它最有利。但往往对一个形势的判断是很难做到准确的,特别是一盘棋刚开始的时候,棋盘的形势不明朗,即使是专家也不能做出准确的判断。为了判断哪种下法最有利,我们往往需要向后面计算几步,看看在走了几步棋之后,局面的形势如何。这被称为“多算胜”,也就是说,谁看得越深远,谁就可以获胜。这种思维方式被用到了计算机上。向后面计算的步数越多,系统开销就越大,本系统只向后计算一步,根据威胁的优先级来选择落棋的最佳点。

轮到电脑下棋时,电脑先向棋盘搜索合法的落棋点,即棋盘的空白点。然后再利用下面的算法先择最佳落棋点。在每个空白点,都有四个方向需要考虑,即—、|、﹨、∕四个方向。以下就用○表示电脑所执的黑棋,用□表示玩家所执的白棋,用×表示棋盘的空白点。在设计的时候,尽可能把所有情况全面考虑,设置为搜索一个最佳落棋点位置的时候,需要保证左右展开后碰壁,之间的空间距离至少要有六格(而不是五子),否则就是死子。

人机对战算法流程是:顺序向下搜索,每次有符合要求的点时,视为最佳落棋点,并在该点落棋,同时将t赋值为1,退出搜索并判断是否有一方获胜,然后等待玩家落棋,再重复这一过程,直到有一方获胜。如图。

图人机对战算法流程图

(1),电脑搜索棋盘里白棋是否有一步获胜的棋,即在同一条线路上有连续五个位置上,有四颗为白棋,另外一颗为空,这时就不用考虑玩家的棋局,直接就可以获胜。能直接获胜的棋型有×○○○○×、□○○○○×,还包括通过四三来形成的活四,包括有○○×○○、○○○×○、○×○○○。

(2),电脑搜索棋盘里黑棋是否有一步获胜的棋,这时就应该让玩家的“活四”变“死四”,这是白棋威胁级别最高的,应立即做出反应。有直接威胁的棋型有□×□□□、×□□□□×、□□□×□、×□□□□×。对于×□□□□×这种棋型,其实玩家已经获胜。

(3),电脑搜索棋盘里白棋是否有可形成活四的棋型,进一步冲四,这时就应该主动进攻,这种棋型包括×○○○××、×○○×○×、×○×○○×。这样的棋只需两步方可获胜,威胁级别仅次于上面两种。

(4),电脑搜索棋盘里黑棋是否有可形成活四的棋型,若有,就有阻止冲四,让玩家的“活三”变死三,这时就体现了电脑的防守策略,这种棋型包括:××□□□×、×□×□□×、×□□×□×。其中××□□□×在封堵后还具有威胁性,所以在电脑没有进攻机会时,也应该考虑这样的棋型的威胁性,因为可以利用这种棋型来造四三来获胜。

(5),电脑搜索棋盘里白棋是否有可形成活三的棋型,这是获胜的过渡棋,在整个棋局中非常重要,这样的棋型越多,白棋造活三的机会就越多,是获胜的关键。这种棋型

包括:××○○××、××○×○×,由于需要三步获胜,所以优先级比较低。

表1是获胜情况分析表,优先级是按所需步数和落棋的顺序来决定的,在获胜所需步数相同的情况下,电脑所执的白棋优先级高于黑棋。

表1 获胜情况分析表

棋盘上的情况:获胜所需步数优先级

电脑已有任意组活四或已有任意组死四一 1

玩家已有任意组活四或已有任意组死四一 2

电脑已有任意组活三或已有多于一组的死三二 3

玩家已有一组死三和任意组的活二三 4

玩家已有任意组活三或已有多于一组的死三三 5

玩家已有一组死三和任意组的活二三 6

4 系统流程

五子棋的规则如下:(1)棋盘:采用15×15的棋盘。(2)下法玩家一执黑先手,电脑或玩家二执白后手,轮流在棋盘上选择一个无子的交叉点落子。无子的交叉点又被称为空点。(3)输赢判断:黑、白双方有一方的5颗棋子在横、竖或斜方向上连接成一线即为该方赢。(4)对于五子棋可分为禁手和无禁手两类,本游戏采用三三禁手。可用15×15的二维数表示棋盘内各点状态(空、白子、黑子) ;

五子棋游戏规则简单,在每次玩家或电脑落棋后,都要去判断是否游戏是否分出胜负,如没有,另一方才能继续下棋。一局游戏结束后,可以选择再来一盘,这时将棋盘数据清空,又开始新的棋局。系统流程如图2所示。

图5-2 系统流程图5 系统功能实现

5.1 窗口设计

根据Windows API 函数来编写应用程序的顺序结构:调用WinMain 函数开始执行→定义窗口类→初始化窗口类→窗口的实例化→通过消息循环获取消息并将消息发送给消息处理函数做出相应的操作。

我们首先应该创建一个窗口,生成一个窗口主要有两步:定义窗口类和初始化窗口类。

首先用InitWindowsClass 来定义一个窗口类,窗口类事实上是struct 结构体,内部有10个分量,他们是用来于初始化窗口类对象而用的。根据函数里声明的各个参数来执行,它在里面定义了窗口类对象、声明了窗口的类对象名称、应用程序实例句柄、消息处理函数名、光标样式和窗口背景等,其它的都设置为初始值。

函数关键语句:BOOL InitWindowsClass(HINSTANCE hInstance)

{ WndClass.hbrBackground=(HBRUSH)(CreateSolidBrush(RGB(240,240,240)));

WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);

WndClass.hInstance=hInstance;

WndClass.lpfnWndProc=WndProc;

WndClass.lpszClassName="WinFill";

return RegisterClass(&WndClass);}

然后用InitWindows 函数来初始化窗口类,在窗口类对象的初始化过程中,我们定义了窗口的一些简单一般特征,比如背景颜色呀,光标等等。但是在利用CreateWindow 创建窗口的时候可以设置更多的细节,比如窗口标题这些。

函数主要参数:

hWnd=CreateWindow("WinFill",

"五子棋游戏",

WS_OVERLAPPEDWINDOW,

0,0,

1024,768,

hInstance);

其中,定义窗口类对象名称为"WinFill",窗口标题为"五子棋游戏",窗口风格为WS_OVERLAPPEDWINDOW,说明此窗口是一个层叠式窗口,含有边框、标题栏、系统菜单、最大最小化按钮的窗口。

5.2 棋盘设计

程序的实现上,首先完成界面的设计,在界面的设计上,使用了二维数组的棋盘格式,考虑到五子棋的落子后,是不会再次移动的,所以采用划直线的方法模拟一个棋盘。棋盘大小为560×560,起始坐标为(200,100),每个格子大小为(40,40)。

首先用GetStockObject 函数创建一个画笔和画刷,用SelectObject 选择当前使用的画笔和画刷,画笔的作用是画棋盘的边框及格子,画刷的作用是填充棋盘的背景色,先取画笔后我们才能用它来画棋盘。为了增加棋盘的美观,画刷颜色选取灰色,与窗口的银白

色分开。

然后用Rectangle 函数画一个矩形,就是棋盘的边框,棋盘的左上角坐标为(200,100),右下角坐标为(760,660)。

再画棋盘的各横轴及纵轴,在画每一条直线前,需用MoveToEx 函数指定当前画笔的位置,然后用LineTo 函数从指定这点开始画一条到指定的另外一点的直线。

函数段为:hPen=(HPEN)GetStockObject(BLACK_PEN);

SelectObject(hDC,hPen);

hBrush=(HBRUSH)GetStockObject(LTGRAY_BRUSH);

SelectObject(hDC,hBrush);

Rectangle(hDC,200,100,760,660);

MoveToEx(hDC,200,140,NULL);//第一条横线

在这些都完成了之后,对界面进行最后的完善,通过添加按钮来使用户在和电脑对弈的同时,可以从这些按钮中获得必要的帮助。

本系统一共设置了四个按钮:“和棋”、“再来一盘”,“退出”和“帮助”。它们的画法采用文本框模拟按钮,先画一个矩形,在矩形里填充提示信息,用鼠标单击事件来响应各个按钮。

因此综上所述,在界面的设计上,主要有两个模块,一个是棋盘模块,一个是按钮模块。

5.3 按钮功能的实现

本系统一共设置了四个按钮:“和棋”、“再来一盘”,“退出”和“帮助”。它们的画法采用文本框模拟按钮,先画一个矩形,在矩形里填充提示信息,用鼠标单击事件来响应各个按钮。这四个按钮基本满足了一般玩家的需求。

按钮的画法:先在主函数里面定义四个变量,分别存储按钮的标题,然后在棋盘外画四个矩形,然后在四个矩形里分别显示按钮的标题。

具体实现方法:

“退出”按钮:

Rectangle(hDC,770,110,820,135);

TextOut(hDC,780,115,lpsz1,strlen(lpsz1));

if(i>770&&i<820&&j>495&&j<520)

{PostQuitMessage(0);

return(0);}

以上这几行代码就实现了退出按钮按钮的画法及实现,lpsz1 里存储的是按钮标题“退出”,在(770,110)到(820,135)这个区域画一按钮,strlen(lpsz1) 求的是字符串的长度,求出来的值就是文本显示的长度。当鼠标单击这个区域的时候,就产生消息,并执行PostQuitMessage(0) 这条语句,这条语句的作用是退出应用程序。这样就模拟出了一个退出按钮,实现了程序的退出。

“再来一盘”按钮:

Rectangle(hDC,100,325,180,375);

TextOut(hDC,110,340,lpsz5,strlen(lpsz5));

if(i>=100&&i<=325&&j>=180&&j<=375) //再来一盘

{

for(m=0;m<=a;m++)

{c[m]=0;

d[m]=0;

e[m]=0;

f[m]=0;

}

for(m=0;m<=14;m++)

for(n=0;n<=14;n++)

{p[m][n]=0;}

在画法和退出按钮一样,都是利用矩形内填充文本的方法,在响应这个按钮时有一定条件,就是游戏已经分出胜负或者通过和棋结束了游戏。这时才会产生再来一盘的消息,它会将所有棋盘信息置为初始值,比如将棋盘状态函数P[][]里的数组全部清空,都赋初值为0,表示下棋棋子数的 a 也置为0等。

“帮助”按钮:

Rectangle(hDC,770,110,820,135);

TextOut(hDC,780,115,lpsz1,strlen(lpsz1));

if(i>=770&&i<=820&&j>=110&&j<=135)

{MessageBox(hWnd,"需帮助请在黑棋下棋时单击'帮助' \n 一方获胜后可单击'退出'退出程序\n 双方僵持情况下可'和棋' \n 如有兴趣请'再来一盘'","帮助",MB_OK);} 画法和前面的一样,这里面使用了文本换行,在每行之间用\n 将需要换行的文字隔开,于是在单击这个按钮后,就会看到有多行文字的消息框出现。

5.4 胜负判断

在五子棋游戏中,判断胜负是很重要的一项工作,最先在棋盘横向、竖向、斜向形成五颗连续相同颜色的棋子的一方为胜。

(1)横向:横向比较好判断,纵坐标不变,横坐标向右递增,有五颗连续的相同颜色的棋子即获胜,所以横坐标的范围不必是(0,14),只搜索(0,10)即可。

(2)纵向:与横向一样,这时横坐标不变,纵坐标向下递增,所以纵坐标的搜索范围可以缩小到(0,10)。

(3)“﹨”向:这时搜索应从左上角开始,横纵坐标同时递增,横纵坐标的搜索范围都是(0,10)。

(4)“/”向:这时纵坐标是向下递增,但横坐标是向左递减的,所以搜索范围就不能从左上角(0,0)开始,应从(0,4)开始,横坐标的搜索范围是(4,14),纵坐标的搜索范围是(0,10)。

下面就以“/”向为例,在程序中具体实现过程:

for(m=0;m<=10;m++)

for(n=4;n<=14;n++)

{

if(p[m][n]==1&&p[m+1][n-1]==1&&p[m+2][n-2]==1&&p[m+3][n-3]==1&&p[m+4][n-4 ]==1&&g==1)

{

MessageBox(hWnd,"黑棋赢","结束",MB_OK);

g=0;

}

else

if(p[m][n]==2&&p[m+1][n-1]==2&&p[m+2][n-2]==2&&p[m+3][n-3]==2&&p[m+4][n-4 ]==2&&g==1)

{

MessageBox(hWnd,"红棋赢","结束",MB_OK);

g=0;

}

一方获胜后,会弹出消息框,提示一方获胜游戏结束,并将g 置为0,这时游戏就不能再继续,对下棋、“和棋”等起了屏蔽作用。在if 语句里面有g=0 这个条件,是限制游戏结束后重复判断胜负,只要一方获胜,就不能对棋盘做任何操作,只有对按钮采取操作有效。

6 系统测试与分析

本系统在Visual C++ 6.0 下调试通过,调试成功后,打开debug目录下five.exe,开始运行五子棋游戏。我就从界面、按钮功能、胜负的判断几个方面来测试系统。

1 界面:该窗口具关闭按钮,系统菜单,标题栏,棋盘大小为15×15。

图6-1 游戏界面

2 画棋子:本系统能够在棋盘方格的交叉处画棋子,棋子半径为10。

图6-2 画棋子界面

3 判断胜负:当棋盘上“一”、“∣”、“∕”、“﹨”四个方向有同一种颜色的五颗棋连成同一条直线时,系统会弹出提示消息框表示已经分出胜负。

图6-3 胜负判断界面

4 “和棋”按钮:在游戏过程中,可以单击“和棋”按钮,来中断棋局。

图6-4 和棋界面

7结论

随着计算机的普及,人们对游戏的要求也越来越高,像五子棋这种休闲游戏丰富了人们的业余生活。至此,对用Microsoft Visual C++/API 函数来开发Windows 小游戏有了一个较全面的了解。

通过本课题的研究及几个月的设计与开发,基于VC的五子棋游戏软件开发完毕,实现了五子棋的双人对战,不过人机对战部分还没有做好,以后要改进完善。本课题按软件工程的要求设计与实现了整个系统,即需求分析、系统总体设计、详细设计与编码实现等步骤,最后进行了系统测试,并通过了系统测试。

不足与改进:第一大问题就是基本上没有人工智能部分,就是人机对战部分没有做出来。网络部分也没有很好的理解与运用。这次做的这个小游戏还有许多功能可以加上的,比如可以加上重新开始游戏,悔棋等等功能,甚至可以加上聊天的功能。所以这次做的这个小游戏还是有很大提升的空间的,利用这个假期要把它完善与整合。谢谢老师的指导与帮助。

五子棋需求分析

五子棋小游戏需求分析 1.需求分析: 双人对战五子棋游戏是一个益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。本组该次设计的小游戏是仅供人人对弈的,而因为函数的复杂性及人机对弈的情况的多样性,所以还未进行人机对弈的程序的编译。 本程序设计包含二维数组、鼠标操作及图形化函数等方面知识。 具体需求如下: (1) 初始化:屏幕初始化,屏幕被初始化宽600*600像,显示19*19格的棋盘。系统默认为黑棋先走,然后黑白双 方轮流落子。 (2) 鼠标处理:通过鼠标点击落子,从而开始游戏。 (3) 游戏中途未设置退出功能,只有一方获胜,棋局结束方可根据提示退出。 2.运行环境: 该课程设计在设计与实验过程中需要在windows XP系统/windows 2000以上系统中进行,程序设计要求在visual C++6.0平台中进行,完成代码的编写、编译、调试、测试等工作。本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下: 操作系统:windows xp 软件环境:安装VC++6 3.设计概要: (1)初始化模块:即屏幕初始化。屏幕初始化用于显示欢迎信息及简介。 (2)棋盘模块:显示棋盘和棋子,棋盘设计为20*20格的二维平面图,背景颜色为黑色,每隔20个单位,用白线画出水平和垂直线,可以用循环语句控制实现。画线函数line()的参数就是棋盘线的起始坐标和终点坐标, (3)判断模块:判断上、下、左、右、左上、右上、左下、右下是否有五个相同的颜色,如果有的游戏就结束,显示胜利方,否则,游戏双方继续落子。而当棋盘已满,即数组空间已满的时候,也结束程序,显示和局。 4.技术要求 定义二维数组char a[20][20],用于记录鼠标当前位置。 定义结构体 MOUSEMSG struct MOUSEMSG {

仓库管理系统需求分析报告

软件需求分析报告 学生姓名: 学号: 专业班级:计算机科学与技术院(系):计算机与通信工程学院指导教师: 完成时间:2012年11月18日 成绩: 前言

仓库管理系统是物资管理系统的核心,是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要。一直以来人们使用人工的方式管理仓库,效率低,查找、更新和维护困难。今天,仓库作业和库存控制作业已多样化、复杂化,靠人工去处理已十分困难。如果不能保证正确的进货、验收及发货,就会导致生产过量的库存,延迟交货时间,增加增加经营成本,以致失去客户。随着科学技术的不断提高,计算机科学日渐成熟,仓库管理系统应运而生,其检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低、等优点极大地提高人事劳资管理的效率;其能够有效地组织人员、空间和设备进行收货、存储、拣货和运输,组织运送原材料到生产企业,运送成品到批发商、分销商和最终客户手中等强大的功能已为人们所熟知。仓库管理系统是为企业的采购、制造计划、制造执行、客户服务系统与仓库或配送中心提供的管理手段,满足企业对低成本和快速处理的要求,帮助不同行业的企业解决复杂的配送问题并降低订单履行成本,它已越来越广泛的应用到各大仓库,并随着不断地完善发挥着越来越重要的作用。 目录 一、项目前景文档 (4) 1业务需求 (4)

1.1项目背景、业务机会和客户需要 (4) 1.2业务目标和成功标准 (4) 1.3业务风险 (5) 2解决方案的前景 (5) 2.1前景陈述 (5) 2.2主要特征 (5) 2.3假设(Assumption)和依赖(Dependency) (6) 2.4项目范围和局限性 (6) 2.4.1项目范围 (6) 2.4.2项目限制 (6) 2.5业务环境 (7) 2.5.1涉众档案 (7) 2.5.2运行环境 (7) 二、软件需求规格说明书 (8) 1引言 (8) 1.1概述 (8) 1.2背景 (8) 1.3定义 (9) 1.4参考资料 (9) 2任务概述 (9) 2.1目标 (9) 2.2运行环境(Operating Environment,OE) (9) 2.3假定(Assumption)和约束(Constraint) (9) 3需求规定 (10) 3.1对功能的规定 (10) 3.1.1用户需求 (10) 3.1.2系统需求 (25) 3.2非功能性需求 (38) 3.2.1性能需求(Performance) (38) 3.2.2安全设施需求(SAfety) (38) 3.2.3安全性需求(Security) (38) 3.2.4软件质量属性 (39) 3.3外部接口需求 (39) 3.3.1用户界面(User Interfaces,UI) (39) 3.3.2硬件接口(Hardware Interfaces,HI) (39) 3.3.3软件接口(Software Interfaces,SI) (39) 3.3.4通信接口(Communications Interfaces,CI) (39)

五子棋需求分析报告

中国矿业大学 应用系统开发实践 设计题目:基于VC的五子棋游戏软件的设计与开发指导教师:

学生: 专业: 计算机科学与技术09-1班 2012年5月 目录 1 引言 (2) 2 系统需求分析 (2) 2.1系统需求 (2) 2.2功能需求 (2) 2.3系统运行环境 (2) 3 五子棋算法分析 (3) 3.1五子棋的发展 (3) 3.2五子棋的规则 (3) 3.3具体算法分析 (4) 3.3.1 棋盘局势状态表示 (4) 3.3.2棋盘中下棋的顺序表示 (5) 3.3.3具体算法 (5) 4 系统流程 (7) 5 系统功能实现 (8)

5.1窗口设计 (9) 5.2棋盘设计 (9) 5.3按钮功能的实现 (10) 5.4胜负判断 (11) 6 系统测试与分析 (13) 7 结论 (17)

1.引言 目前网络上有很多五子棋子游戏,玩法简单,娱乐性也很高。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。通过对五子棋的设计与开发,了解和掌握游戏开发的原理与方法。让电脑像人脑一样思考,一直是人工智能发展的最终目标。作为一门边缘学科,它有诸多的研究领域,博弈即为其中之一。博弈的参加者可以是个人、集体、某种生物或机器,他们都力图用自己的“智力”去击败对手。博弈为人工智能提供了一个极好的试验场所,人工智能中的许多概念和方法都是从博弈程序中提炼出来的,人工智能中大多以下棋为例来研究博弈规律。本文以五子棋为入口,设计了一个五子棋双人对战和人机对弈系统,以实现人和人,人和计算机的博弈,最终的目的是为了建立一个有具体规则的五子棋平台。 2.需求分析 目前网络上有很多五子棋子游戏,玩法简单,娱乐性也很高。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。通过对五子棋的设计与开发,了解和掌握游戏开发的原理与方法。让电脑像人脑一样思考,一直是人工智能发展的最终目标。作为一门边缘学科,它有诸多的研究领域,博弈即为其中之一。博弈的参加者可以是个人、集体、某种生物或机器,他们都力图用自己的“智力”去击败对手。人机对弈程序的要点,至少应具备以下4个部分:(1) 状态表示:某种在机器中表示棋局的方法,能够让程序知道博弈的状态。(2) 走法产生:产生合法走法的规则,以使博弈公正地进行,并可判断对手是否乱走。(3)搜索技术:从所有合法的走法中选择最佳的走法技术。(4) 对弈界面。

人事管理系统需求分析报告

人事管理系统需求分析 一、背景介绍 1.1、系统目标 企业人事管理系统,是为了迎合现在人们的工作而设计的。随着网络的覆盖面的增广,上网的人们也就越来越多了,人事管理的对象是一个单位或若干单位种的员工的基本信息,这些信息是在变化的。人事管理系统能够味用户提供充足的信息和快捷的查询手段。使用计算机对人事资料进行管理,会给应用者带来很多方便,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,同时,这也是企业的科学化、正规化管理以及与世界先进管理技术接轨的重要条件。人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。 人事管理系统可以用于支持企业完成劳动人事管理工作,有如下三个方面的目标。 (1) 支持企业实现规范化的管理; (2) 支持企业高效率完成劳动人事管理的日常业务; (3) 支持企业进行劳动人事管理及其相关方面的科学决策。 1.2、企业人事管理系统功能需求 根据市场调查及分析,企业人事管理系统应该具有以下功能: (1)可以真正地实现对企业人事的管理。 (2)系统的功能要符合本企业的实际情况。 (3)系统的功能操作要方便、易懂,不要有多余或复杂的操作。 (4)可以方便地对人事信息进行输出打印。 (5)方便对企业内部的人事档案及岗位调动调动进行管理。 1.3、企业人事管理系统模块需求 企业人事管理系统应该包括以下模块: (1)基本信息管理 该模块实现职工基本信息的管理,包含职工的名族类别、职工类别、文化程度、政治面貌、部门类别、工资类别、职务类别、职称类别、奖惩类别、记事本类别以及员工生日和员工合同提示等。 (2) 工资管理 通过该模块,能够对员工的工资进行管理,查询、打印工资明细信息等。 (3)系统管理 该模块实现重新登录、用户设置、系统退出等功能,使用户能正确的登录和使用该系统。

系统需求分析报告

******** **经济林管理信息系统需求分析报告 ******** 二〇一三年十二月

目录 引言 (2) 1 项目概述 (3) 1.1项目目标分析 (3) 1.2项目背景及意义 (3) 1.3项目建设的必要性 (4) 1.4项目建设的可行性 (4) 2 项目数据分析 (6) 2.1经济林基础地理信息 (6) 2.2经济林调查数据及处理 (6) 3功能需求分析 (10) 3.1功能结构图 (11) 3.2功能说明 (11) 4 运行环境需求 (12) 5 性能需求 (12)

引言 为合理和高效进行**********经济林管理信息系统(以后简称项目)总体设计,项目组根据《**经济林管理信息系统建议书》编写需求分析报告。 请**相关部门在此基础上讨论和确定本需求分析内涉及的运行环境需求、数据调查和处理流程、功能需求分析等内容。

1 项目概述 1.1项目目标分析 该项目旨在实现**经济林基础地理信息采集、编辑、存贮和管理;经济林调查数据的采集、检查、存贮、管理,以及经济林调查数据查询、统计及成果生成。 1.2 项目背景及意义 **是经济林发展历史悠久的地区,具有日照充足、昼夜温差大、病虫害发生少等独特自然优势,盛产香梨、苹果、红枣、杏、桃、葡萄等。截止2012年,**各类果园面积47.5万亩,其中苹果0.33万亩,梨16.56万亩,葡萄2.74万亩,杏25.68万亩。管理和保护好经济林对于促进农业发展和农民增收、保障社会稳定具有十分重要的意义。 为了全面提升**经济林管理手段和管理水平,*********拟结合林业“二类资源”,研发了**经济林管理信息系统,建立了以团场、地块为管理单元的经济林图属一体化数据库。 该系统基于3S技术及互联网等技术手段,结合“二类”数据的基础上,集成经济林管理的图形、属性、影像、文档等多种数据,实现了综合查询、平台动态监测、占用预警、智能补划和网站信息发布等功能。 本次调查采用“3S”技术与传统调查手段相结合的方法,共涉及14个团(场)。**经济林管理信息系统的建立,能更好的发挥新技术

(完整版)博客系统需求分析

校园博客系统需求分析 评审日期:2010 年04 月01 日 目录 1导言 (1)

1.2范围 (1) 1.3缩写说明 (1) 1.4术语定义 (1) 1.5引用标准 (1) 1.6参考资料 (2) 2系统定义 (2) 2.1项目来源及背景 (2) 2.2系统整体结构 (2) 3应用环境 (3) 3.1系统运行网络环境 (3) 3.2系统运行硬件环境 (4) 3.3系统运行软件环境 (4) 4功能规格 (4) 4.1角色( A CTOR )定义 (5) 4.1.1博客访问者 (5) 4.1.2管理用户 (5) 4.1.3 数据库 (6) 4.2系统主U SE C ASE图. (6) 4.3客户端子系统 (6) 4.4管理端子系统 (8) 4.4.1 登录管理 ....................................................... 10 4.4.2 类型管理 ......................................................... 11 4.4.3 评论管理 ....................................................... 12 4.4.4 留言管理 ....................................................... 12 4.4.5 图片管理 ....................................................... 12 4.4.6 用户管理 ....................................................... 13 5性能需求 (13) 5.1 界面需求 (13) 5.2响应时间需求 (13) 5.3可靠性需求 (13) 5.4开放性需求 (14) 5.5可扩展性需求 (14) 5.6系统安全性需求 (14) 6产品提交 (14)

学生管理系统需求分析报告

需求分析报告 1. 概述 (1) 项目名称: 学生管理系统. (2) 项目的提出者: 郑州航院信息统计职业学院 (3) 项目用户: 全院师生. 2. 系统需求说明 背景 该项目的发是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生管理的自动化与准确化的要求日益强烈的背景下构思出来的,该系统完成后可用于所有教育单位(包括学校,学院等等)的学生的管理. 目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生管理系统也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作. 系统需求 通过调研了解到: (1) 学校希望能够在查看学号的时候迅速得知该生的系别、专业、哪一届. (2) 学校希望通过能统计大量的以前无法统计的数据,方便管理. (3) 管理员有不同的职位,要可以进行权限设置. 系统功能要求 学校提出的要求,结合我们的技术建议再加以考虑, 产生了该管理信息系统的功能要求: (1) 编制一套流通管理系统. (2) 编制一套库存管理系统. (3) 编辑、查询、统计、打印模块. (4) 用户管理(用户记录管理和权限设置). (5) 对数据库能够灵活设置. (6) 不同的管理员有不同的设置. (7) 软件系统安全上要有一定的保障. (8) 增加各种尽可能多的查询功能. 对性能的要求 学校对系统性能无特殊的要求,只要查询学生的时候没有明显的延迟就可以了,学校目前有多届学生需要管理,查询时间不要超过 5 秒钟。 条件、假定、和限制 (1) 系统最小寿命. 系统应该能在无重大改动的条件下正常运行 5 年以上. (2) 对设备的要求. 要求稳定性良好,整套系统经济实惠. (3) 可以利用的信息和资源. 学校已经配置了多台计算机,以及网络设备,操作人员将使用Windows 98 以上操作系统. (4) 管理员受过较好的培训 3. 新系统的逻辑模型

系统需求分析报告

教师信息管理系统 1.引言...................................................................... . (3) 1.1 编写目的....................................................................... (3) 1.2项目风险....................................................................... (3) 1.3预期读者和阅读建议........................................................................ .. (3) 1.4产品范围............................................................................. . (3) 2.综合描述............................................................................... .. (4) 2.1产品的状况..................................................................... (4)

2.2产品的功能..................................................................... (4) 2.3用户类和特性........................................................................ (4) 2.4运行环境....................................................................... (5) 3.外部接口需求....................................................................... . (5) 3.1用户界 面............... ..................................................... . (6) 4.系统功能需求........................................................................ . (7) 4.1输入、输出数据........................................................................ (7)

个人博客系统开题报告

湖南科技大学2013届毕业设计(论文)开题报告 题目个人博客系统的设计与实现 作者姓名*** 学号09070204**所学专业信息与计算科学 1、研究的意义,同类研究工作国内外现状、存在问题 意义: 博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站[1]。博客它经常是由简短且经常更新的帖子构成,它可以发表有关个人构思,日记,或者诗歌,散文,小说等等。博客可以是你纯粹个人的想法和心得,包括你对时事新闻、国家大事的个人看法,或者你对一日三餐、服饰打扮的精心料理等,也可以是在基于某一主题的情况下或是在某一共同领域内由一群人集体创作的内容。 写博客是为了把自己各种各样的想法在网上表达、释放出来,把一时的想法变成观点展示给大家。而浏览博客的用户,也可以对发表观点和看法的文章进行评论,博客就是这样一个平台。 博客最初的名称是Weblog,由web和log两个单词组成,按字面意思就为网络日记,后来喜欢新名词的人把这个词的发音故意改了一下,读成we blog,由此,blog这个词被创造出来。中文意思即网志或网络日志,不过,在中国大陆有人往往也将 Blog本身和 blogger(即博客作者)均音译为“博客”。“博客”有较深的涵义:“博”为“广博”;“客”不单是“blogger”更有“好客”之意。看Blog的人都是“客”。而在台湾,则分别音译成“部落格”(或“部落阁”)及“部落客”,认为Blog本身有社群群组的意含在内,借由Blog可以将网络上网友集结成一个大博客,成为另一个具有影响力的自由媒体。 国内外现状: 博客在中国的发展起始于1998年,但到了2000年才开始真正的流行。而2000年博客开始进入中国,并迅速发展,但都业绩平平。直到2004年木子美事件,才让中国民众了解到了博客,并运用博客。2005年,国内各户站网站,如新浪、搜狐,原不看好博客,也加入博客阵营,开始进入博客春秋战国时代[1]。由于博客沟通方式比电子邮件、讨论群组更容易和简单,博客已成为家庭、部门、公司和团队之间越来越盛行的交流工具。 存在问题: 国内各大网站的博客都各具特色,但是同时也并不完善,功能或多或少存在缺失,基于此,我们设计了基于https://www.360docs.net/doc/1d1640150.html,技术为支撑的功能完善的个人博客系统。

软件工程课程设计五子棋游戏

计算机工程系课程设计报告 课程名称:软件工程 课程设计题目:五子棋游戏 班级 2013级计科(4)班 姓名许婷娜 学号 20130905428 2015年12月27日

目录 1. 引言 (1) 1.1系统的开发背景(可行性分析) (1) 1.2 系统简介 (2) 1.2.1系统介绍 (2) 1.2.2开发本系统所做的工作 (2) 2. 需求分析 (3) 2.1 需求的描述与分析 (3) 2.2 需求定义 (3) 2.2.1 功能需求 (3) 2.2.2 性能需求 (4) 3. 系统设计 (4) 3.1总体设计 (4) 3.1.1设计思想 (4) 3.1.2五子棋游戏的功能的结构图 (5) 3.2程序设计分析 (5) 4. 五子棋游戏的详细设计 (6) 4.1五子棋游戏的主窗口界面 (6) 4.2五子棋游戏的核心模块的详细设计 (10) 4.2.1五子棋游戏程序核心代码 (10) 4.2.2五子棋游戏程序主面板与鼠标事件 (13) 4.2.3五子棋游戏程序流程图 (17) 4.3五子棋游戏的游戏功能模块的详细设计 (18) 4.3.1五子棋游戏的开局功能模块 (18) 4.3.2五子棋游戏的棋盘功能模块 (18) 4.3.3五子棋游戏的模式功能模块 (19) 4.3.4五子棋游戏的退出功能模块 (19) 4.4五子棋游戏的外观功能模块的详细设计 (19) 4.5五子棋游戏的版本功能模块的详细设计 (20)

5. 五子棋游戏的测试 (20) 5.1系统测试的类型 (20) 5.2测试举例 (21) 5.2.1测试用户的对弈结果 (21) 5.2.2测试用户切换棋盘类型功能 (22) 5.2.3测试用户切换模式类型功能 (23) 5.2.4测试用户切换外观类型功能 (24) 5.2.5测试版本功能 (26) 小结 (27) 致谢 (28) 参考文献 (29)

人力资源管理系统需求分析报告

《人力资源管理系统》需求分析报告 1.需求获取及分析 1.1业务需求 随着计算机技术,网络技术和信息技术的发展,现在的办公系统更加趋于系统化,科学化和网络化,网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的的主要目的是实现信息的交流和信息共享,提供协同工作的手段,本系统对公司的人力资源进行管理,为人力资源管理人员提供一套简单的操作,使用可靠,界面友好,易于管理和使用的处理工具,对人力资源各种数据进行统一管理,避免数据存取,数据处理的重复,提高工作效率,减少数据处理的复杂性。 1.2用户需求 人力资源管理系统在企业中起着通行桥梁的作用,通过与其它的各个管理系统模块的信息连接,将整个企业有机、高效地带动起来,使得企业各个方面的工作因人力资源管理系统的高效、简便而更加顺利。 企业方面: 可以有效的进行对职工信息管理;增加、删除、修改员工信息;薪金发放;考勤以及招聘等工作。 职工方面: 每个职工都可以对自己的信息进行查看,查询薪金发放情况以及职称评比情况。 1.3功能需求 本系统的实现的功能主要划分为:

A.信息输入模块 B.用户查询模块 C.系统维护模块 D.系统输出显 示模块 E.考勤模块 F.招聘模块 本系统是一个集多项功能于一身的集成应用系统,用户只有按照提示信息,使用鼠标和键盘录入相应的信息内容即可完成所需的功能。本系统所有的提示信息均为中文显示,以方便用户的使用。 系统的主要功能有: A.信息输入模块:包括普通职工用户和管理员用户通过网络的输入登录条件和查询条件等操作。 B.查询模块:根据普通职工用户输入的查询条件(职工号)对系统所保存的记录内容(工资和奖金等)进行查询检索。 C.系统维护模块:包括对维护人员的个人信息密码的修改、数据库的及时更新,添加和过期记录增删以及对本系统的使用访问情况查询统计等维护工作。 D.系统输出显示模块:对查询到的数据集进行显示反馈,并多大量的数据进行分页显示;对普通职工用户输入的查询条件进行过滤判断,对错误的条件,进行反馈提示;同时对管理员的所有维护操作的成功与否进行反馈。 E.考勤模块:对员工上下班打卡情况以及出勤情况进行记录,汇总。 F.招聘模块:显示招聘信息并进行及时的更新。 1.4非功能需求 1.系统必须严格按照设定的安全权限机制运行,并有效防止非授权用户进入本系统

系统需求分析报告-范例1

高校学生学籍管理信息系统 系统需求规格说明书 (系统需求分析报告)

目录 1-------------------------------------------------------------------概述1.1----------------------------------------------------------------背景1.2-------------------------------------------------------------系统目标1.2.1------------------------------------------------------应完成的任务1.2.2------------------------------------------------------不完成的任务1.3------------------------------------------------------------业务模式1.4-------------------------------------------------------------业务状况2---------------------------------------------------------------用户需求2.1-------------------------------------------------------------业务需求2.1.1---------------------------------------------------------使用范围2.1.2----------------------------------------------------------功能要求2.1.3----------------------------------------------------------权限管理2.2-------------------------------------------------------------性能需求3---------------------------------------------------------------业务流程3.1-----------------------------------------------------与其他系统的关系3.2----------------------------------------------------------业务流程图4---------------------------------------------------------------业务逻辑4.1-------------------------------------------------------------业务分解4.2------------------------------------------------------------业务描述5---------------------------------------------------------------数据分析5.1------------------------------------------------------------数据单据5.2------------------------------------------------------------数据分析5.2.1---------------------------------------------------------数据分类5.2.2---------------------------------------------------------数据描述6-------------------------------------------------------------------附件

博客系统需求分析报告

博 客 系 统 需 求 分 析 报 告 院系:信息电子工程学院 班级:软件08-1 设计小组人员:29号 日期:2010年5月24日

一、系统概述 “博客”一词是从英文单词Blog音译(不是翻译)而来。Blog是Weblog 的简称,而Weblog则是由Web和Log两个英文单词组合而成。 Weblog就是在网络上发布和阅读的流水记录,通常称为“网络日志”,简称为“网志”。博客(BLOGGER)概念解释为网络出版(Web Publishing)、发表和张贴(Post-这个字当名词用时就是指张贴的文章)文章,是个急速成长的网络活动,现在甚至出现了一个用来指称这种网络出版和发表文章的专有名词——Weblog,或Blog。 在网络上发表Blog的构想始于1998年,但到了2000年才开始真正流行。而2000年博客开始进入中国,并迅速发展,但都业绩平平。直到2004年木子美事件,才让中国民众了解到了博客,并运用博客。2005年,国内各门户网站,如新浪、搜狐,原不看好博客业务,也加入博客阵营,开始进入博客春秋战国时代。起初,Bloggers将其每天浏览网站的心得和意见记录下来,并予以公开,来给其他人参考和遵循。但随着Blogging快速扩张,它的目的与最初已相去甚远。目前网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)。目前,国内优秀的中文博客网有:新浪博客,搜狐博客,中国博客网,腾讯博客,博客中国等。 二、需求分析 博客系统是一个多用户、多界面的系统,主要包括以下几个模块组成。 1.匿名用户模块 本模块主要由注册、登录、浏览博客、评论4个部分组成。匿名用户可以对其他用户的博客内容时行浏览、评论。也可以通过注册后登录博客系统,申请一个属于自己的博客。 2.注册用户模块 本模块主要由个人信息管理、评论管理、好友管理、相册管理、文章管理5

五子棋需求分析说明书

五子棋需求分析说明书 1. 引言 1.1 编写目的 (1)为了更好的了解软件的需求。该文档可供用户浏览,了解开发内容和各部分模块所列功能。 (2)为了使开发更具有目的性。开发人员需要对需求进行深度了解,该文档可供代码编写人员浏览,使开发过程不离主线,更完整地看到各模块间的数据流通。 (3)为了方便整体维护;开发管理者需要整体把握软件各模块功能的实现与测试,该文档可供开发管理人员浏览,对其内容进行动态调整。 1.2 背景 1) 软件系统名称:五子棋。 任务开发者:DTO小组。

用户:玩家。 1.3 参考资料 《五子棋》软件设计报告杭州电子科技大学胡峰令1. 4 关于五子棋的资料 五子棋是起源于中国古代的传统黑白棋种之一。亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格” 等多种称谓。 玩家根据自身等级和习惯,可以自由选择不同的游戏房间。其游戏规则也有所不同。详细分为三种棋室:普通棋室、国标棋室、职业棋室。其中普通棋室不受任何规则限制;国标棋室有禁手规则限制;而职业棋室则在国标棋室的基础上增加“三手交换”和“五手两打”两项规则。(三手交换:是指黑棋下盘面第3着棋后,白方在应白④之前,如感觉黑方棋形不利于己方,可提出交换,即执白棋一方变为执黑棋一方,而黑方不可以不换。五手两打:是指黑棋在下盘面上关键的第5手棋时,必须下两步棋,让白棋在这两步棋中任选一步,然后再继续对弈。 国际比赛规则规定:对局中如黑方出现禁手,白方应立即

指出禁手点,黑方即负。如白方在黑方出现禁手后,又落一步白子,黑棋禁手则不成立了。所以在"有禁手"的房间里,如果黑方出现禁手,白方应立即按下"禁手"按钮。 程序会判黑方负。如果这时白方又在棋盘上落一子,黑棋禁手则不成立了。为了简化用户对"禁手"按钮的使用,也有"走禁手就输"和"禁手不能落子"规则的房间,顾名思义不多介绍。虽然采取了禁手的限制,黑棋先行仍有优势,黑棋仍可以必胜。所以如果用户是高段位的棋手,或者想成为高手一定要选择国际上比赛选用的比赛标准,即“三手交换,五手两打”。 2任务概述 2.1目标 该软件是根据五子棋而开发的小游戏。可以提供玩家和玩家,玩家和电脑下五子棋。 2.2用户的特点 本软件的最终用户是会下五子棋的玩家。不需要特别的技术要求,只要能操作简单的界面。

学生信息管理系统需求分析报告模板

学生信息管理系统需求分析报告

目录 1.序言 (3) 2.项目简介 (3) 2.1.系统标识 (3) 2.2.系统功能 (3) 2.3.用户选择 (3) 2.4.系统功能 (3) 2.4.1 (4) 2.4.2 (4) 2.4.3. (4) 2.4.4. (4) 2.4.5 (4) 2.4.6 (4) 2.4.7 (4) 2.4.8 (4) 3.模块划分 (4) 3.1.登入模块 (4) 3.2.学生信息管理 (4) 3.3.课程管理 (4) 3.4.成绩管理 (4) 3.5.管理员管理 (5) 3.6.退出 (5) 4.模块图 (5) 5.流程图 (8) 6.性能要求 (8)

1.序言 随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增加。面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。 本系统主要应用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是计算学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到了学生选课、针对这些要求设计了学生信息管理系统。 2.项目简介 2.1.系统标识 系统名称:学生信息管理系统 2.2.系统功能 本系统主要功能是实现学校学生的信息管理、课程管理、成绩管理、学籍管理以及使用该系统的用户管理。 2.3.用户选择 本系统面向的用户有:学校的系统人员、管理人员、教师、学生。所以对计算机的人性化和易用性比较高,应用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是计算学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到了学生选课,做到看界面简单易懂,容易操作,提高了学校管理效率以及提升了学生信息的安全性和完整性。 2.4.系统功能 本系统主要应用于学生学籍管理、信息查询、教务信息维护和学生选课、学生奖惩安排几部分,又因为用户的不同,例如学生、教师、系统管理员的身份不

系统需求分析报告

系统需求分析报告

目录 目录............................................................................................................. I 1、项目描述.. (1) 1.1 背景 (1) 1.2研究意义 (1) 2、需求分析 (1) 2.1功能需求分析 (2) 2.1.1 系统管理功能 (2) 2.1.2 流量劫持功能 (2) 2.2性能需求分析 (3)

1、项目描述 1.1 背景 随着网络的普及,网络业务应用向深度和广度不断发展,方便用户的同时,也因用户终端存在网络安全漏洞或用户网络安全意识的疏忽,使得网络上涉及如:电子商务、在线游戏、DNS授权服务、网银支付系统、社交网站、论坛、博客、门户网站等在线业务受到黑客及网络犯罪份子的攻击,对个人用户信息(网银、支付钱包账号密码等)的保密和对国家互联网信息管理与审计构成严重威胁。 1.2研究意义 本项目针对以上问题,主要利用了以下两种技术:僵尸网络反制技术及HTTP/HTTPS协议通信的监控技术。 网络攻击已严重威胁着网络的安全,及时的发现网络攻击并在必要的时候劫持与反制网络攻击,成为保障互联网正常运行、保障在线业务系统正常访问的重要方法。 2、需求分析 经过与项目委托方多次讨论,设计系统的目的是为实现对特定

非法用户Web(HTTP/HTTPS协议)通信进行监控及反制,具体要求实现的功能有:监控系统远程控制、针对特定非法用户上网流量劫持、针对特定非法用户Web通信进行JS脚本注入、获取非法用户账号和密码、获取非法用户访问某些网站的Cookie。 2.1功能需求分析 根据监控系统的要求对系统的功能进行分析,明确了系统需要实现的功能。系统的功能结构模块:系统管理功能、流量劫持功能、监控与反制功能。 2.1.1 系统管理功能 系统管理模块主要负责系统登录、系统远程控制、黑名单库配置、数据存储和展示。数据展示包含数据存储和数据展示,数据存储负责接收后端和前端JS探针采集的数据并存储到数据库,数据展示负责提取数据库数据并显示。 2.1.2 流量劫持功能 本文流量劫持指DNS协议劫持,主要由四个部分组成:报文捕获、协议解析、IP及域名查找匹配、DNS协议欺骗。

(完整版)博客系统需求分析

校园博客系统需求分析评审日期:2010年04月01日

校园博客系统需求分析 目录 1导言 (1) 1.1 目的 (1) 1.2 范围 (1) 1.3 缩写说明 (1) 1.4 术语定义 (1) 1.5 引用标准 (1) 1.6 参考资料 (2) 2系统定义 (2) 2.1 项目来源及背景 (2) 2.2 系统整体结构 (2) 3应用环境 (3) 3.1 系统运行网络环境 (3) 3.2 系统运行硬件环境 (4) 3.3 系统运行软件环境 (4) 4功能规格 (4) 4.1 角色(A CTOR)定义 (5) 4.1.1博客访问者 (5) 4.1.2管理用户 (5) 4.1.3数据库 (6) 4.2 系统主U SE C ASE图 (6) 4.3 客户端子系统 (6) 4.4 管理端子系统 (8) 4.4.1登录管理 (10) 4.4.2类型管理 (11) 4.4.3评论管理 (12) 4.4.4留言管理 (12) 4.4.5图片管理 (12) 4.4.6用户管理 (13) 5性能需求 (13) 5.1 界面需求 (13) 5.2 响应时间需求 (13) 5.3 可靠性需求 (13) 5.4 开放性需求 (14) 5.5 可扩展性需求 (14) 5.6 系统安全性需求 (14) 6产品提交 (14) 7实现约束 (14)

1导言 1.1目的 该文档是关于用户对于校园博客系统的功能和性能的要求,重点描述了校园博客系统的设计需求,将作为对该工具在概要设计阶段的设计输入。 本文档的预期读者是: ●设计人员 ●开发人员 ●项目管理人员 ●测试人员 ●用户 1.2范围 该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决整个项目系统的“做什么”的问题。在这里,对于开发技术并没有涉及,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的渠道。 1.3缩写说明 BM Blog Manager(博客管理员)的缩写。 JSP Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。 1.4术语定义 无 1.5引用标准 [1] 《企业文档格式标准》 V1.1 北京长江软件有限公司 [2] 《需求规格报告格式标准》 V1.1 北京长江软件有限公司软件工程过程化组织

五子棋--需求分析

网络休闲益智类游戏——五子棋 需求分析 【目标要求】 本毕设内容是开发一款网络休闲益智类游戏——五子棋。本系统需要达到以下目标:制定合法规则,能够判断出非法操作,以便博弈公正地进行并分出胜负;支持人机对弈,能够让计算机按照游戏规则通过人工智能自行选择游走法;支持网络对弈,能够支持两个用户通过网络连接进行对弈;具有精美的操作界面,方便用户的操作和使用。 【基本规则】 1、五子棋是两个人之间进行的竞技活动,由五子棋的游戏规则,黑棋必须先行。 2、五子棋专用盘为 15×15 ,五连子的方向为横、竖、斜。率先将五颗棋子连成一条线的一 方获胜,另一方判为输。 3、本游戏针对初级玩家,因此不设有专业的规则,如禁手等,所以只要游戏双方有一方将 五颗棋子连成一条直线即获胜。 4、游戏不限时间,只显示游戏过程使用了多少时间,如果玩家觉得玩了太久还是分不出胜

负,可以随时选择退出。 5、双方在下完最后一颗棋子都不能形成五子相连,则判定为和棋。 【主要功能】 本系统分成两个部分:人机对弈和网络对弈。 人机对弈:能够让用户在只有一个人的情况下也能完成游戏,所以要使用人工智能的方法,按照游戏规则,计算机能够自行选择游走方法,与用户进行对弈,计算机扮演者另一个用户的角色。并且,能够正确判断胜负。 网络对弈:通过网络实现两个用户之间的对弈,能够判断何时该黑棋下子,何时该白棋下子,并能正确计算哪方胜出。 【功能模块图】

【功能说明】 为了使这个游戏整齐、美观,我们将设置人机对弈和网络对弈相同的功能,使其成为一个整体,功能如下: 1.游戏说明:以文字形式,指导和帮助用户使用这个软件,以及了解此款五子棋游戏的规则。 2.计时:显示每局所使用的时间,以便用户了解时间使用情况。 3.设置音乐:为了使用户在一个优雅的环境玩这款游戏,我们特意设置了背景音乐,用户可以根据自己的喜好,游戏过程中可以选择播放、停止音乐。 4.设置界面:为了让用户使用自己喜欢的界面玩游戏,我们添加了设置界面功能。 5.判输赢:在每局五颗棋子率先连成直线的一方,系统自动判定为赢,另一方为输。如果整个棋盘上最后一颗棋子落定,双方都不能形成五子连成一线,则判定为和棋。 6.退出1:为对局过程中强制退出,主动退出方判为输。 7.退出2:为游戏结束、分出胜负后,可以选择退出,结束游戏,退出程序。 8.重新开始:为对局过程中选择重新开始。人机对弈模式,对局过程选择了重新开始即可重 新开始新一局游戏;网络对弈模式,对局过程选择了重新开始,要获得对方同意 才能重新开始。 9.再来一局:一局游戏判出胜负后可以选择再玩一局。 【游戏流程图】

相关文档
最新文档