俄罗斯方块系统设计文档.doc
- 文档编号:146899
- 上传时间:2022-10-04
- 格式:DOC
- 页数:21
- 大小:261KB
俄罗斯方块系统设计文档.doc
《俄罗斯方块系统设计文档.doc》由会员分享,可在线阅读,更多相关《俄罗斯方块系统设计文档.doc(21页珍藏版)》请在冰豆网上搜索。
俄罗斯方块
系统设计说明书
版本号:
V1.0
班级:
项目组长:
小组成员:
任课教师:
职称:
日期:
黑龙江科技大学--俄罗斯方块系统设计说明书TetrisV1.0
更改控制页
编目号:
序号
版本号
更改时间
文件更改申请表(DCR)编号
填写人
目录
第一章前言 1
1.1编写目的 1
1.2项目概述 1
1.3组织结构与人员职责 1
1.4理解面向对象分析与设计 2
第二章面向对象分析 3
2.1需求描述 3
2.2建立功能模型 3
2.3建立动态模型 5
2.4建立对象模型 7
2.5界面设计 8
第三章面向对象设计 10
3.1系统架构设计 10
3.2模型层设计 11
3.2.1方块类(Brick) 12
3.2.2墙类(Wall) 13
3.2.3提示信息类(Prompt) 14
3.2.4业务类及其关系设计 14
3.3视图层设计 15
3.4控制层设计 16
第四章面向对象实现 18
4.1模型层实现(cn.usth.tetris.model) 18
4.2视图层实现(cn.usth.tetris.view) 18
4.3控制层实现(cn.usth.tetris.model) 18
第一章前言
1.1编写目的
详细说明用户需求,并将其作为系统分析、设计和测试的依据。
预期读者:
分析人员、设计人员、测试人员。
1.2项目概述
该项目使用面向对象软件工程方法设计并实现一个俄罗斯方块游戏。
项目进程包括面向对象软件工程的三个阶段,即:
面向对象分析、面向对象设计和面向对象实现。
系统框架易于扩展,可以在此基础上增添各种功能、扩展游戏用户数,并方便集成其它项目中。
该项目用于面向对象软件工程案例教学,达到以下教学目的:
(1)如何使用面向对象软件工程方法进行软件开发;
(2)如何使用面向对象的思想降低问题的复杂性;
(3)如何使用MVC框架的思想进行程序开发;
(4)如何使用java语言具体地实现一个俄罗斯方块游戏。
1.3组织结构与人员职责
组长:
班级
学号
姓名
分工
1.4理解面向对象分析与设计
面向对象分析与设计方法要求在设计中要映射现实世界中指定问题域中的对象和实体,例如:
顾客、汽车和销售人员等。
这就需要设计要尽可能地接近现实世界,即以最自然的方式表述实体。
所以面向对象技术的优点即为能够构建与现实世界相对应的问题模型,并保持他们的结构、关系和行为模式。
大师说:
"没有不变的需求,世上的软件都改动过3次以上,唯一一个只改动过两次的软件的拥有者已经死了,死在去修改需求的路上。
"
需求是不稳定的,那么需求之中是不是没有稳定的东西呢?
有的,就是对象。
世界都是由对象组成的,而对象都是持久的,例如动物、植物已经有相当长的时间。
虽然对象也在变化,动物,植物也在不断的进化。
但对象在一个相当长的时期内都存在,动植物的存在时间肯定比任何一家企业长久。
面向对象的开发方法的精髓就是从企业的不稳定需求中分析出企业的稳定对象,以企业对象为基础来组织需求、构架系统。
这样得出的系统就会比传统的系统要稳定得多,因为企业的模式一旦变化,只需要将稳定的企业对象重新组织就行了。
这种开发的方法就被称为OOAD(ObjectOrientAnalysis&Design面向对象的分析和设计),而分析出的企业对象就被称为公共商务对象(CommonBusinessObject)。
本段摘自:
第二章面向对象分析
2.1需求描述
(1)随机产生经典俄罗斯方块图形,每种方块颜色不同;
(2)可以设置游戏难度级别,级别越高方块下落速度越快;
(3)可以暂停游戏或继续游戏;
(4)方向键实现下落方块的左移、右移、加带下落、变形等基本操作;
(5)方块下落后,下方如果有满行,则将满行消除
(6)对游戏成绩进行记分并显示。
2.2建立功能模型
1.系统用例图
使用UML进行系统分析,就是使用面向对象方法来分析系统,以此建立面向对象的系统模型。
此处主要采用UML的例图、活动图对俄罗斯方块游戏的需求进行分析,并建立功能模型。
识别参与者:
构造系统的用例模型首先要确定参与者,参与者是与系统、子系统或类发生交互的外部用户、进程或其他系统理想化概念。
通过上面的用户分析,可以确定该系统的参与者为游戏玩家。
识别用例:
用例是规定系统或部分系统的行为,它描述系统所执行的动作序列集,并为执行者产生一个可供观察的结果。
根据需求描述,可以得到以下用例图,系统顶级用例如图2.1所示。
图2.1系统顶级用例
开始游戏用例如图2.2所示。
图2.2开始游戏用例
2.典型用例描述
(1)开始游戏
表2-1开始游戏用例描述
用例名称
开始游戏
功能简述
用户通过方向键控制方块的旋转、左移、右移、加速下移
前置条件
启动游戏程序
主要成功场景
1.用户开始一个新游戏
2.用户将方块旋转到一个适当的方向
3.用户左移方块
4.用户右移方块
6.用户加速下移方块
7.方块落到最下方
扩展路径
1a.用户暂停游戏
1b.用户继续游戏
7a.系统将满行消除
7b.游戏结束
后置条件
无
备注
(2)提示信息
表2-2提示信息用例描述
用例名称
提示信息
功能简述
根据用户操作实时显示相关游戏信息
前置条件
启动游戏程序
主要成功场景
1.用户设置游戏初始级别
2.用户开始一个游戏
3.显示用户下一个将要出现的方块
4.显示用户消除的总行数和总得分
扩展路径
2a.游戏结束
2a.1显示游戏结束对话框
后置条件
无
备注
2.3建立动态模型
在需求描述的基础上,我们使用用例图对需求进行了进一步的刻画,并对主要用例进行了详细说明。
为了更深入的理解用户需求,我们还可以使用活动图对用户与系统的交互过程作更具体的分析。
活动图主要用于业务建模阶段,是描述系统在执行某一用例时的具体步骤的,它主要表现的是系统的动作。
从活动图中可以看出,系统是如何一步一步的完成用例描述的。
活动图描述的是整个系统的事情。
可以说活动图是对用例图的一种细化,帮助开发者理解业务领域。
下面我们用活动图进一步描述用户与系统之间的交互过程,游戏过程活动图如图2.3所示。
图2.3游戏过程活动图
状态图是描述某一对象的状态转化的,它主要表现的是该对象的状态。
从状态图中可以看出,该对象在接受了外界的某种刺激之后,会做出什么样的反应。
描述的是一个对象的事情。
下面我们将俄罗斯方块游戏作为一个系统对象,用状态图分析它的所有可有的状态以及引发状态转换的事件,如图2.4所示。
图2.4俄罗斯方块游戏系统状态图
2.4建立对象模型
“万物皆对象”,面向对象程序设计的核心思想是使用现实世界中人类分析和处理问题的方式进行程序设计。
因此,结合以上需求分析和描述,我们可以形象地把俄罗斯方块的游戏过程比作是在一个房子里使用各种不同形状的砖块砌墙。
我们每次拿起一个砖块,适当地对它进行旋转、左右移动,找到恰当的位置后把它固定住。
砖块固定后就成为了下面的墙的一部分。
然后再拿起一个砖块,重复以上过程,直到把墙砌满时游戏结束。
建立对象模型的目的就是要找出完成业务功能的所有对象,这些对象就像公司里一个部门的所有员工,每一个人都有自己特定的职责,完成指定的任务。
我们在这一步就要找出业务模型中所有的对象,并分析这些对象类之间的关系。
如果系统需要使用数据库的话,这步分析包括了传统软件工程学中的E-R图所要完成的功能。
对象模型将会在下一个阶段,即设计阶段进一步细化。
这样,我们将问题域中主要的对象及它们之间的关系描述如图2.5所示。
图2.5核心业务对象类之间的关系
在俄罗斯方块游戏中,方块的状态是最具有代表性的,我们下面用状态图来对方块类对象的状态进一步描述,如图2.6所示。
图2.6方块对象Brick的状态图
2.5界面设计
人机界面设计是接口设计的重要组成部分。
对于交互式系统来说,人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,必须对人机界面设计给予足够重视。
在面向对象分析阶段,我们要对人机界面进行初步设计。
界面设计的结果一方面有助于提前找出需求分析人员与用户对系统需求理解中的潜在的不一致;另一方面有助于分析人员对系统更深入更全面的理解。
俄罗斯方块界面模型设计如下图所示;
当前得分:
0
消除行数:
0
游戏级别:
1
下一个:
选项
文件
当前得分:
0
消除行数:
0
游戏级别:
1
下一个:
选项
文件
图2.7游戏主界面设计
开始
暂停
退出
速度级别
☉1
☉2
☉3
☉4
☉5
☉6
☉7
☉8
☉9
☉10
第三章面向对象设计
面向对象设计解决的是“类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式几个方面。
面向对象设计模式是“好的面向对象设计”,所谓“好的面向对象设计”是那些可以满足“应对变化,提高复用”的设计。
面向对象设计模式描述的是软件设计,因此它是独立于编程语言的,但是面向对象设计模式的最终实现仍然要使用面向对象编程语言来表达,本项目最终使用java语言实现。
3.1系统架构设计
通过图形化界面与用户交互的系统的特点是:
用户通过操作图形界面与系统交互;系统响应用户引发的事件,向对象传递消息;对象之间仅通过消息相互通信,协作完成一个具体的业务功能。
俄罗斯方块游戏的设计中,我们可以把问题域的业务逻辑与图形界面展示分离开,这样做的好处是整个系统结构清晰,分工明确;并且问题域的对象类相对独立,有利于扩展功能以及软件复用。
这里我们借助目前流行的MVC(模型(model)-视图(view)-控制器(controller))的思想把完成系统不同功能的类和接口划分到三个包中。
1.模型实体包(cn.usth.tetris.model)
模型实体包封装了实现俄罗斯方块业务功能的所有基础对象类。
这个包就像公司里的一个部门,所有对象类就相当于部门中的每一个职位,每个职位都有具体的岗位职责。
每个职位对应的员工就是一个具体的对象,是对象类的一个实例。
2.用户接口包(cn.usth.tetris.view)
用户接口包封装了实现俄罗斯方块游戏的用户界面类,它们就像公司对外业务的窗口。
公司的客户通过这个窗口向公司的员工提出服务请求,若干个公司员工相互协作完成对顾客的服务,并最终通过窗口将产品交给顾客。
3.业务逻辑包(cn.usth.tetri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 俄罗斯方块 系统 设计 文档