当前位置:文档之家› 软件工程课程设计俄罗斯方块

软件工程课程设计俄罗斯方块

软件工程课程设计俄罗斯方块
软件工程课程设计俄罗斯方块

成绩

徐州工程学院

综合训练报告

课程名称软件工程导论课程设计

专业计算机科学与技术(单)

班级 09计单

学生姓名王静

学号 20090502106

设计题目俄罗斯方块单机游戏

指导教师周宏生

目录

一、绪论 (2)

二、可行性研究报告

1、设计背景 (2)

2、设计目的 (2)

3、设计要求 (3)

4、设计目标 (3)

三、需求分析

1、游戏需求 (3)

2、接口控制 (3)

3、方案论证 (3)

四、总体设计

1、运行环境 (4)

2、基本设计概念 (4)

3、处理流程图 (5)

五、详细设计

1、关键模块的功能 (6)

2、算法说明 (8)

3、使用的对象说明 (9)

六、测试 (10)

七、心得体会 (12)

八、参考文献 (12)

一、绪论

在现今电子信息高速发展的时代,电子游戏已经深入人们的日常生活,成为老少皆宜的娱乐方式。但是游戏设计结合了日新月异的技术,在一个产品中整合了复杂的设计、艺术、声音和软件,所以并不是人人皆知。直到今天,在中国从事游戏设计的人仍然很少,但是游戏行业的发展之快,远超如家电、汽车等传统行业,也正因为如此,游戏人才的教育、培养远落后于产业的发展。

俄罗斯方块是个老少皆宜的小游戏,它实现由四块正方形的色块组成,计算机随机产生不同七种类型的方块,根据计算机时钟控制它在一定的时间不停的产生,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,然后程序根据这七种方块堆叠成各种不同的模型。

论文描述了游戏的历史,开发此游戏的环境,游戏开发的意义。遵循软件工程的知识,从软件问题定义开始,接着进行可行性研究、需求分析、总体设计、详细设计,最后对软件进行了测试。此次设计在Microsoft Windows 7系统下,以JAVA为开发语言,在JDK6.0开发平台上进行游戏设计与实践。

二、可行性研究报告

1、设计背景

游戏是人们活动中一项非常重要的内容,有人认为如果哪一天人类对所有的游戏都失去兴趣,恐怕世界的末日就要到了。电脑对游戏的贡献有目共睹,现在摸索电脑的人很少没玩过电脑游戏的,喜欢游戏的人也很少不玩电脑的。

俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。随着计算机的发展而发展,俄罗斯方块不断推陈出新,深爱广大玩家喜爱。这个游戏有的简单,有的复杂,但其根本原理是一样的都是对运动的方块进行组合,来训练玩家的反应能力。因此开发此游戏软件可满足人们的一些娱乐的需求。

此俄罗斯方块游戏可以为用户提供一个可在普通个人电脑上运行的,界面美观的,易于控制的俄罗斯方块游戏。

2、设计目的

通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发俄罗斯广场游戏,使自己熟应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件

工程的系统理论,进一步巩固和加强自身对J2SE基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。

3、设计要求

本游戏开发的总体任务是实现游戏的可操作性,以及界面的美观性。整个开发过程遵循软件工程规范,采用JAVA GUI编程实现界面以及事件的控制。用户根据键盘的四个方向键控制翻转、向左、向右、和向下操作,通过菜单栏中的相应菜单选项实现游戏的开始、结束、变换方向、积分以及等级的功能。

4、设计目标

通过本游戏的开发,主要实现游戏的可操作性及美观性,同时使自己对JAVA语言的了解更进一层,为将来的实际工作打下坚实的基础。

三、需求分析

1、游戏需求

28种状态的方块随机产生,自由下落,落下时可由玩家用上、下、左、右控制键控制翻转和移动,以便玩家所需要的形态和位置落下。

游戏界面需求:设计良好的游戏界面可以让玩家充分感受到游戏带来的娱乐性,游戏的背景是灰色,方块为绿色,在一定区域内运动和变形

游戏形状需求:长条形、Z字形、反Z字形、田字形、7字形、反7字形、T字型

显示需求:当不同的方块填满一行时可以消行,剩余方块向下移动并统计分数。当达到一定分数的时候,会增加相应的分数。

2、接口控制

本游戏通过键盘进行操作,在Windows系统下,利用键盘的上、下、左、右键对方块进行移动变形,要使用键盘的接口事件。

3、方案论证

学校现已开设的课程有C语言、C#、JAVA,自已本身自学了JAVA,通过网上以及图书馆的资料,知道可以通过C、C#、VB、Delphi、JAVA实现俄罗斯方块游戏设计。我之所以用JAVA实现设计是因为它具有以下的优点:

(1)安全性、(2)可移植性、(3)多线程机制、(4)跨平台

所有面向对象的程序设计语言一般都包含三个概念:封装、多态性和继承性。这种方法要求语言必须具备抽象、封装、继承和多态性这几个关键要素。而JAVA则具有这所有的特点。

四、总体设计

1、运行环境

操作系统:Microsoft Windows XP 以上、内存:512M 以上 硬盘:80G 以上、CPU :不限(最好Intel 系列) 显示器:VGA 、JDK 版本:JDK6.0

2、基本设计概念

(1)游戏区:玩家可以在游戏区中堆积方块,并能够在游戏过程中随时了解得分情况。 (2)游戏控制:玩家可以通过游戏控制功能来选择开始新的一局游戏,暂停或退出游戏。

(3)级别设置:玩家可以根据自己的需要自行设定游戏的开始级别,级别越高,游戏的速度越快,难度越大。

基本设计概念图

游戏区

游戏控制

显示玩家操作

显示操作结果 开始 暂停/继续 提高等级 退出

降低等级 俄罗斯方块游戏

3、处理流程图

系统流程图

游戏区模块

游戏区模块 创建游戏区

处理玩家游戏操作

显示游戏结果

开始

设置初始级别

创建游戏区

游戏开局

随机选择方块类

是否到顶部

方块下落一行

游戏结束

处理玩家操作

是否到顶部

开始游戏

暂停游戏

游戏控制模块

初始级别设置

退出游戏

控制区模块

五、详细设计

1、关键模块的功能

(1)界面的初始化

public ErsBlocksGame(String title)

{

super(title);

setSize(315, 392);

Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();

setLocation((scrSize.width - getSize().width) / 2,

(scrSize.height - getSize().height) / 2);

createMenu();

Container container = getContentPane();

container.setLayout(new BorderLayout(6, 0));

canvas = new GameCanvas(20, 12);

ctrlPanel = new ControlPanel(this);

container.add(canvas, BorderLayout.CENTER);

container.add(ctrlPanel, BorderLayout.EAST);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent we) {

stopGame();

System.exit(0);

}

});

addComponentListener(new ComponentAdapter() {

public void componentResized(ComponentEvent ce) {

canvas.fanning();

}

});

(2)监听操作

setJMenuBar(bar);

miNewGame.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae)

{

stopGame();

reset();

setLevel(initlevel);

}

});

(3)选择信息显示

plInfo.add(new JLabel("等级"));

plInfo.add(tfLevel);

plInfo.add(new JLabel("得分"));

plInfo.add(tfScore);

tfLevel.setEditable(false);

tfScore.setEditable(false);

2、算法说明

(1)用户得分算法

timer = new Timer(500, new ActionListener() {

public void actionPerformed(ActionEvent ae)

{

tfScore.setText("" + game.getScore());

int scoreForLevelUpdate =

game.getScoreForLevelUpdate();

if (scoreForLevelUpdate >= ErsBlocksGame.everylevelscore

&& scoreForLevelUpdate > 0)

game.levelUpdate();

}

});

(2)游戏监听部分算法

public void playGame()

{

play();

ctrlPanel.setPlayButtonEnable(false);

miPlay.setEnabled(false);

ctrlPanel.requestFocus();

}

public void pauseGame()

{

if (block != null)

block.pauseMove();

ctrlPanel.setPauseButtonLabel(false);

miPause.setEnabled(false);

miResume.setEnabled(true);

}

(3)修改等级算法

btTurnLevelUp.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

try {

int level = Integer.parseInt(tfLevel.getText());

if (level < ErsBlocksGame.maxlevel)

tfLevel.setText("" + (level + 1));

} catch (NumberFormatException e) {}

requestFocus();

}

});

btTurnLevelDown.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae)

{

try {

int level = Integer.parseInt(tfLevel.getText());

if (level > 1)

tfLevel.setText("" + (level - 1));

} catch (NumberFormatException e) {}

requestFocus();

}

});

3、使用对象说明

JPanel:容器,JMenu:菜单,Thread:线程,JButton:按钮。BorderLayout:

边界布局,JTextField:文本框,JLabel:标签

六、测试

编译和运行软件

开始游戏暂停游戏

提高等级菜单选择

用户得分

七、心得体会

经过一个星期的不断努力,课程设计内容基本上完成了。

首先,在这里要感谢我班上的同学,他们都在身边督促我,我们也互相鼓励,共同进步。

另外,我还要谢谢我的室友,是她们对我的课题提出了许多富有启发性和建设性的意见和建议。

在做课程设计中碰到了许多的问题,从一开始的代码错误到实现课程设计报告的格式,特别是在代码中的错误,大大小小的问题很多,但是经过自已的反复查阅和同学的帮助,都一一克服了。以后再大的事,有自己的努力和朋友的帮助,我相信没有什么事情是可以难倒我的。

八、参考文献

[1]朱福喜著,JAVA程序设计技巧与开发实例[M] 北京:人民邮电出版社,2004.2

[2] 张海藩软件工程(第五版) 北京:清华大学出版社,2008

[3] 贾振华 Java语言程序设计(第二版)北京:中国水利水电出版社,2009

[4]王宇,战学刚,高国伟著,计算机算法解决俄罗斯方块中的数学与计算问题[M] 计算机应用与软件,第二十四卷第三期,2007.3

俄罗斯方块游戏的开发需求分析

俄罗斯方块游戏的开发 组长:XXX 组员:XXX XXX XXX XXX 05软件工程一班 一、课程设计的目的和意义 俄罗斯方块游戏是一个经典的小游戏,由于它简单有趣,因而得到了广泛的流行,男女老幼都适合。而俄罗斯方块游戏的设计工作复杂且富有挑战性,它包含的内容多,涉及的知识广泛,与图形界面联系较大,包括界面的显示与更新、数据收集等,在设计的过程中,必将运用到各方面的知识,这对于visualbasi语言设 计者而言,是个很好的锻炼机会。 二、系统功能设计 本系统主要设计以下几种功能 1、游戏难度选择功能 游戏难度选择界面设置在程序运行开始时,一共有九种难度供玩家选择,每选一级难度,都会相应地显示出代表该难度的图片。开始时不设置任何默认的难度,如果玩家不选难度直接按“Enter”进入,将会弹出提示框,提示其先选难度再 进入。 2、方块下落、变形功能 在整个俄罗斯方块游戏中,方块的设计是核心。这里设计了一个方块类:Square(),用来生成方块以及实现块的左移、右移、向下、变形、重画、同步显 示、初始化新块等。 3、自动升级功能 当分数累积到一定大小时,系统将自动为玩家提高难度。这里设置了每消除10行方块,就增加一级难度。当难度增加的时候,方块会相应地改变颜色,以作为 对玩家的提示。 4、游戏音乐功能 游戏开始音乐就自动播放,游戏暂停与结束时音乐相应消除。 5、获取帮助功能 这里设置了一个类,用来显示帮助,按F1键就能弹出窗口,显示游戏规则。

三、系统功能设计分析 俄罗斯方块游戏根据功能的不同,设置了如下12个类:Square,Command, GameArea,GameSetting,GameOver,Help,ImagePanel,JieMian,MyPanel, MyTimer,PlayMidi,WinListener,每个类的描述如下: 1、Square,方块类。这个类中定义了生成方块的方法,用二维数组int[][]pattern,存放7种方块的四种状态。在构造方法中以随机的形式生成方块,同时提供了以下几种方法:reset(),leftTurn(),leftMove(),rightMove(),fallDown(),assertValid(int t,int s,int row,int col),dispBlock(int s)。分别实现方块的重画、翻转、 左移、右移、下落、同步显示等功能。 2、Command,处理控制类。这是一个实现ActionListener接口的类,主要处理点击按钮事件。类中定义了三个int型变量:button_play,button_quit,button_pause,和一个boolean型的变量:pause_resume,并赋值。在GameArea类中通过事件响应,在按钮执行方法中调用其值,使用switch语句,根据不同按钮不同的值, 来响应不同的事件。 3、GameArea,游戏界面类。GameArea继承了JFrame,是俄罗斯方块的主要游 戏界面。这个类定义了GameSetting类的gameScr对象和ImagePanel类的imagepanel对象作为游戏区域面板和控制区域面板。在游戏区域,主要是根据相应格子的设置标志来显示相应的图形图片,这样就实现了俄罗斯方块的实时显 示。 4、GameSetting,游戏画布类。这个类生成的对象将作为游戏界面的方块下落区域,画布的设置为15行10列,当中的方格边长为30,类中还定义了一个二维数组int[][]scrArr作为屏幕数组,表示每一个方格。游戏区域中每一个方格是否存在游戏方块是由该方格的值来决定的,如果该方格的值为1,则表示该方格中存在游戏方块;如果该方格中的值为0,则表示该方格中不存在游戏方块,因此二维数组用于记录游戏区域中每个小方格的值。此外,类中还定义了画方块的方法,根据不同的难度画出不同颜色的方块。单击Play按钮时,系统调用initScr()方法,初始化屏幕,将屏幕数组清零。当满足满行删除的条件时,系统调用deleteFullLine()方法,进行删行加分,而且每删除十行,难度自动增加一级,方块颜色改变,并在难度显示框中相应显示。 5、GameOver,游戏结束弹出提示框类。当游戏结束时,系统弹出提示,包括玩 家分数以及询问玩家要继续游戏还是退出。 6、Help,帮助类。在游戏界面,按F1键,弹出提示窗口,获取帮助。 7、ImagePanel,背景图片类。这个类继承了JPanel类,用来作为游戏界面中控 制区域的容器,并添加图片。 8、JieMian,主界面类。这个类继承了JPanel类,作为游戏的第一个界面,也是难度选择界面。定义了9个单选按钮,当玩家未选任何难度就按Enter时,系统会弹出一个提示框,提示玩家先选难度再进入。 9、MyPanel,重写MyPanel类,使Panel的四周留空间。

软件工程课程设计任务书(模板及参考)

编号: 大连理工大学本科生课程设计任务书 课程名称:软件工程课程设计 指导教师: 项目名称:粒子群主题网站 小组名称: 组长姓名: 上课时间:2009年7月13 日- 7月25 日 大连理工大学软件学院 20 年月日

1 设计目的 软件工程课程设计是在学生系统的学习了《软件工程》课程后,综合运用所学的知识,设计开发一个小型的实际系统。 要求学生运用软件工程的思想,严格按照软件生命周期各个阶段的目的和任务,完成对系统的定义、设计、编码、运行以及后期的维护。通过对具体系统的设计和开发,使得学生掌握软件工程的基本原理和基本方法,学会用软件工程学的概念、原理、方法开发和维护软件。 2 设计要求 (1)选用迭代式开发的过程模型,运用软件工程的方法,规范地完成规模小、功能较为简单 的软件开发,包括需求分析、设计、编码和测试。 (2)学生5人组成一个项目小组,一人为组长,其他人为组员,组内成员分工明确、团结协 作、相互配合,共同完成选题的设计。 (3)课程设计时间为2周。 (4)开发平台.NET3.5,语言(C# \ ASP),数据库设计工具Powerdesigner;数据库系统MS SQL Server 2005 (5)具体指标: 1)可以选择结构化分析/设计(SA/SD)或面向对象方法(OOA/D) 2) 结构化分析/设计(SA/SD) a)需求分析:分析系统的静态功能和动态行为 每一位小组成员能够描绘分配的子功能需求 每一位小组成员完成分配子功能的数据流图DFD,要求绘制到3级DFD3 小组负责人组织完成系统的DFD3 b)设计:完成系统的功能模块设计 每一位小组成员根据需求的DFD3图,完成分配的子功能模块设计,用HIPO 图表征。 每一位小组成员设计分配的子功能模块的接口 每一位小组成员能够完成分配的子功能程序流程的逻辑设计 小组负责人组织完成系统的总体结构集成 c)软件实现: 每一位小组成员完成分配的子功能界面的设计 每一位小组成员完成分配的子功能代码编写 小组负责人在.NET框架下,组织完成系统的实施 d)软件测试: 每一位小组成员完成分配的子功能的单元测试 小组负责人负责组织系统的测试用例,不少于20个,完成测试工作 3)面向对象方法(OOA/D):以UML为主 a)需求分析:分析系统的静态功能和动态行为

俄罗斯方块游戏设计报告

C语言课程设计 报告 设计题目:俄罗斯方块游戏设计 院系: 班级: 学号: 姓名: 指导教师: 设计地点: 开课时间:

学生姓名成绩 评语: 指导教师(签名) 年月日

目录 1.设计目的和任务....................................................................................................................................... - 1 - 1.1目的: .............................................................................................................................................. - 1 - 1.2任务: .............................................................................................................................................. - 1 - 2.开发环境.................................................................................................................................................... - 1 - 2.1硬件环境:.................................................................................................................................... - 1 - 2.2软件环境:.................................................................................................................................... - 1 - 3.设计题目...................................................................................................................................................... - 2 - 3.1题目名称:.................................................................................................................................... - 2 - 3.2题目详细描述: ........................................................................................................................... - 2 - 3.3功能要求: ............................................................................................................................................ - 2 - 4.相关技术以及知识点.......................................................................................................................... - 3 - 4.1编写BLOCK类:............................................................................................................................... - 3 - 4.2 PATHGRADIENTBRUSH 类: ........................................................................................................ - 3 - 4.3 RANDOM类:.................................................................................................................................. - 3 - 4.4 GDI图形处理: ........................................................................................................................... - 3 - 5. 设计与实现 .............................................................................................................................................. - 4 - 5.1 设计流程图................................................................................................................................... - 4 - 5.2 游戏主体界面 .............................................................................................................................. - 4 - 5.3 游戏图形界面 ............................................................................................................................ - 11 - 5.4 图形的移动与消行 ................................................................................................................... - 13 - 5.5 得分的实现................................................................................................................................. - 15 -6.总结 ........................................................................................................................................................ - 16 -7.参考资料................................................................................................................................................ - 16 -

软件工程课程设计

软件工程课程设计 题目:网上购物系统 专业:计算机科学与技术 班级:04计算机(4)班 组员:孔兵兵:0412002426 冷晓林:0412002419 郭伟:0412002425 谌小仲:0412002422 李佩:0412002429

目录 需求分析……………………………………………………….孔兵兵 1.1编写目的 1.2开发背景 1.3项目提出原因 1.4系统设计目标 1.5项目构想 1.6 系统功能 1.7项目名称 1.8需求分析 1.9所运用的知识点 概要设计…………………………………………………………冷晓林 2.1:购物系统的功能 2.2:功能图 2.2.1:购物车流程图 2.2.2:定单处理流程图 2.2.3/:商品分类管理流程图 2.3:管理员实现的功能 2.4:顾客实现的功能 2.5:实现中的问题与难点 详细设计…………………………………………………………郭伟 3.1:商品的信息 3.2:商品的类别 3.3:订单 3.5:订单明细 3.6:对概要设计中问题的解决方法 编码………………………………………………………..谌小仲测试………………………………………………………..李佩

网上购物系统 1网上购物系统需求分析说明 1.1编写目的 本文档是针对网上购物系统从总体设计、设备配置、设备配置等方面所做的说明。 本文档的编写目的是:对网上购物系统的总体架构设计进行描述。 对该系统的整个流程作详细、准确的描述,为系统的概要设计及编码提供指导。 1.2开发背景 随着计算机和网络的日趋普及,越来越多的商家在网上升起商店,向消费者展示出一片新鲜的购物大地。在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储等纷纷脐身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。 在我国,网上购物从无到有也不过短短几年时间。网上购物还不完善,结算方式的原始落后是网上购物致命的弱点。大部分商家结算只能采取“送货上门、到货付款”或“邮寄上门、贷款邮资先付”的方式。这样不但浪费了时间和人力,而且限制了网络的覆盖范围和商品的结构种类。因此,安全、快捷、方便的电子支付手段将是今后网上商店健康发展的主要要素。 1.3 项目提出原因 为了对所学知识(软件工程)做一个全面的考查,加深对软件工程思想的理解和提高个人的实践能力,赵岚老师要求我们用所学的知识完成一个实际的项目(系统)。 1.4系统设计目标 网上购物系统以解决客户在网上进行电子交易的需求为出发点构思。因此在建立与消费者之间交流信息和进行电子交易方面在行业中具有示范作用,在系统总体规划中,应把握先进性、安全性、可扩展性和集成性四项基本原则。 (1)先进性原则 设计方案立足先进技术。在服务器和网络方面以优化通信流量,提高系统的管理性和安全性为重点,尽量采用领先成熟的技术。 (2)安全性原则 网上购物系统要解决的安全问题包括非授权使用、非法入侵、服务失效、不可否认和交易信息泄漏。系统采用防火墙技术,隔离Internet,一方面可以防范公用网上非法用户的访问,另一方面可以防止中心的一些重要数据被不合法用户

C语言课程设计报告 俄罗斯方块改进版

课程设计 俄罗斯方块改进 2016年4月20 日 设计题目 学号 专业班级 学生姓名 指导教师

目录 1. 课程设计目的错误!未定义书签。 2. 功能分析错误!未定义书签。 3. 程序设计实现过程错误!未定义书签。 程序总体设计结构错误!未定义书签。 界面设计错误!未定义书签。 重要数据的数据结构设计错误!未定义书签。函数设计错误!未定义书签。 4. 运行效果错误!未定义书签。 5. 源代码详解错误!未定义书签。 6. 参考文献错误!未定义书签。

俄罗斯方块改进 1. 课程设计问题 据百度百科,俄罗斯方块(Tetris)是一款由俄罗斯人阿列克谢·帕基特诺夫于1984年6月发明的休闲游戏。游戏的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。 要求支持键盘操作和7种不同类型方块的旋转变换,并且界面上显示下一个方块的提示以及当前的玩家的得分,随着游戏的进行,等级越高,游戏难度越大,即方块的下落速度越快,相应的等级,等级越高,消去一行所得到的分数越高,为玩家提供了不同的选择。 2. 功能分析 俄罗斯方块游戏需要解决的问题包括: ⑴按任意键开始游戏,随机产生方块并自动下移 ⑵用Esc键退出游戏。 ⑶用键变换方块 ⑷用键和键左右移动方块 ⑸用键使方块加速下移 ⑹用空格键使方块暂停 ⑺能正确判断满行并消行、计分、定级别 ⑻设定游戏方块为不同形状重点: *游戏面包的数据结构:二维数组 *7种形状方块的数据结构:结构体保存每种形状方块的坐标 3. 程序设计实现过程 程序总体设计结构 首先初始化进入图形模式,进入欢迎界面,玩家按任意进入主菜单界面,按键进入游戏界面,键然后设置新的时钟中断。开始游戏后,进入该程序最核心的部分——处理和实现进行过程中的各种事件和函数。在处理中判断游戏是否结束,如果没有结束,则重新开始游戏,否则结束游戏。 详解如下: (1)游戏方块预览功能。在游戏过程中,当在游戏底板中出现一个游戏方块时,必须在游戏方块预览区域中出现下一个游戏方块,这样有利于游戏玩家控制游戏的策略。由于在此游戏中存在19种不同的游戏方块,所以在游戏方块预览区域中需要显示随机生成的游戏方块。

软件工程课程设计报告范例

西安科技大学 软件工程课程设计报告 题目:图书馆管理系统 班级:软件工程** 学号: ********** 姓名: ******* 2013年1月

目录 1绪论 (1) 2 可行性研究报告 (1) 3 需求规格说明书 (4) 4 总体设计说明书 (7) 5 数据库设计说明书 (8) 6 详细设计说明书 (9) 7 系统实现 (11) 8测试分析报告 (23) 参考文献

1.绪论 1.1 选题目的及意义 随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。 对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习Java程序设计和Oracle数据库课程,我觉得这个题目虽然没有那么难(涉及算法的内容很少),但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用Java程序设计语言编写界面,访问Oracle数据库中的数据,完成本系统。 1.2 系统概述 本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。 2.可行性研究报告 2.1 编写目的 本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。 本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱好者。 2.2 相关背景 工程名称:图书馆管理应用软件 工程产品名称:高校图书馆管理系统应用软件 工程的组织者:西安科技大学计算机学院软件工程系 产品用户:高校图书馆、中小学图书馆; 产品的生产者:西安科技大学计算机学院软件工程062班袁震; 产品设计者:西安科技大学计算机学院软件工程062班袁震; 2.3 可行性研究的前提 本图书管理系统在功能上要求完成以下基本功能: a).读者、管理员登陆;

俄罗斯方块设计思想

南京邮电大学 通达学院 算法与数据结构设计报告( 2016/ 2017学年第二学期) 专业软件工程嵌入式 学号姓名 学号姓名 学号姓名 学号姓名 指导教师陈兴国 指导单位计算机学院计算机科学与技术系 日期2017-5-26

俄罗斯方块 一、课题内容 实现俄罗斯方块游戏。主要功能为游戏界面显示、上下左右键响应以及当前得分统计。通过该课题全面熟悉数组、字符串等的使用。掌握设计的基本方法及友好界面的设计。 课题要求: 1、游戏界面显示:下落方块和方块堆、左右移动、旋转、删除行等特效以及得分。 2、动作选择:上下左右键对应于旋转、加速、左右移动的功能。 3、得分统计判断:判定能否消除行、并统计得分总数等。 扩展要求: 1、用户数据管理。 二、算法设计与分析 I、俄罗斯方块游戏需要解决的问题包括 (1)、随机产生方块并自动下移 (2)键变体 (3)Q退出,按space暂停 II (1)、声明俄罗斯方块的结构体 (2)、函数原型声明 (3)、制作游戏窗口 (4)、制作俄罗斯方块 (5)、判断是否可动 (6)、随机产生俄罗斯方块类型序号 (7)、判断是否满行并删除满行的俄罗斯方块 (8)暂停,继续功能 (9)新游戏创建 (10)用户的创建,分数用户名的保存,查看分数

Tetris类(主要类) 该类包含m a i n方法,应为应用程序的主类。该类用来创建游戏的用户界面,事件处理功能和menu餐单,用户信息的存储。整个程序从该类的m a i n方法开始执行。 成员变量:String userName; 构造方法:Tetris 内部类:Members,Tetrisblock Tetrisblok类: 用来设计游戏界面。游戏界面显示在由Tetrisblok类创建的整个用户界面的中(Center)区,游戏的即时分数、方块的效果图及方的预览功能都在整个类里面实现。用来封装俄罗斯小方块。一个方块的属性是由方块1位置即x和y的坐标、颜色决定的。 成员变量 private int blockType; Timer timer=null; private int turnState; private int x; private int y; private int i = 0; int j = 0; static int score = 0; int flag = 0; int delay=1000; // 定义已经放下的方块x=0-12,y=0-22; int[][] map = new int[14][24]; // 方块的形状第一组代表方块类型有S、Z、L、J、I、O、T 7种第二组代表旋转几次第三四组为方块矩阵 private final int shapes[][][] 成员方法:public void newblock() public void drawwall() public void newmap() public void newgame()

软件工程课程设计选题

软件工程课程设计选题 1、俄罗斯方块 设计俄罗斯方块游戏程序,用户可以通过平移和转动自动落下的不同形状物体,填满一行来得分。开发智力和反应能力。 要求 (1)界面的左侧是游戏区域。新的图形会在顶部刷新,并且自动下落,可以通过方向左右键平移和方向上键顺时针旋转来控制图形落下的位置。 (2)界面的右侧是选项和显示区,显示现在的得分,以及开始游戏、暂停游戏、结束游戏按钮。 2、商品销售统计 编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。 要求 (1)第一部分用于输入商品的信息并允许修改和删除; (2)第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码表示本次购物结束。此时。程序计算出应付钱款数并显示。 3、校园卡管理系统 针对校内通用的校园卡需要统一管理这一需求而推出。通过这个程序,可以较为方便地实现用户的登陆以及个人信息的查询更改等服务,同时管理员将以特定的帐号登陆,实现对所有用户信息及账户信息的管理。 要求 (1)以用户身份登陆可查询个人信息,并对相关信息作出修改,提交后新信息将写入数据库,取代原有信息。可查询个人的帐户信息,包括帐户余额、今日消费、末次充值情况等。可实现网上充值,通过与银行卡的连接,只要用户输入正确密码,即可从银行卡往校园卡转帐,同时帐户信息中末次充值情况将自动更新。可修改个人的登陆信息,对登陆密码作出修改。 (2)以管理员身份登陆,可查阅所有用户的信息,以及他们对应的帐户信息。可对用户信息作出相应的增删改操作,并自动将修改写入数据库,实现更新。通过输入任意确定条件,即可查询该用户的所有信息,包括个人信息及账户信息,同时在此基础上,实现增删改。 4、中国象棋打谱软件 中国象棋打谱软件提供给用户的一个能将对弈过程保存成文件并可以重对弈过程即复盘。主要功能有: 1. 制作棋谱, 2. 保存棋谱, 3. 演示棋谱。 要求

C课程设计-俄罗斯方块

C#程序设计实训报告 题目:俄罗斯方块 专业____计算机科学与技术 _ 年级班别___ 计算机09-2班__ 学号 学生姓名_____ _______ 指导教师_ 成绩 2012 年 1 月

目录 一系统设计要求 (3) 课题分析............................................................................. 错误!未定义书签。 设计环境 (3) 设计思路 (3) 二课题总体框架设计 (3) 程序流程图 (4) 类的结构图 (5) 三课题实现 (6) 程序主界面 (6) 开始游戏界面 (6) 游戏结束界面 (7) 暂停游戏界面 (7) 使用说明界面 (8) 关键程序代码 (8) 四总结 (21) 设计总结 (21) 设计体会 (22)

一、系统设计要求 1.1课题分析 本游戏系统是利用C#实现的,是制作为我们所熟悉的非常简单的俄罗斯方块游戏,该系统能实现的具体功能如下: 1).能简便的开始游戏,游戏中的方块的功能与日常我们所熟悉的游戏的功能一致,各种块的设置也一致,包括方块的旋转,加速下降,左右移动,满行消去,满行消去自动加分,以及到顶游戏结束等功能; 2).能够通过对话框窗体说明各个功能的使用说明,以及一些其他功能。 3).界面简洁美观,简单易用。跟其他一般的游戏相差不大。 1.2设计环境 本程序选择Visual Studio 2010作为实验环境。 设计思路 用面向对象的方法分析系统 对于俄罗斯方块的程序制作,我们可以定义一个或者几个类,专门来描述俄罗斯方块,在这个类中,包含与之相关的方法、属性和字段,通过封装,实现其业务逻辑。其中,每一个俄罗斯方块都有相同的特征,由4个小正方形构成,有旋转,左右移动,下落的动作,整行被填满除去并计算分数而构成行的小正方体块。基中块的形状类型有7种:田、一、L、倒L、Z、倒Z、上。 在窗口中通过调用主窗体Form1当中的菜单栏来设置游戏的开始、暂停、结束、重新开始以及推出程序。还可以通过其菜单中游戏说明选项来查看游戏各个键的使用说明,还可调用帮助菜单来查看版权说明。 二、课题总体框架设计

《软件工程》课程设计说明书

《软件工程》课程设计说明书设计题目:学生信息管理系统 专业:计算机科学与技术 班级:计科14-4班 学号: 姓名:李雪瑞 指导教师:赵俊峰 二○一六年12月15日 目录

【摘要】 在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 【关键词】学生信息管理系统 C语言 一、系统概述 1.1设计目的 由于Excel的操作复杂,需要一定的软件知识,所以导致学生信息管理随着社会信息化的脚步加快,个人的信息也呈现出多样性,这便给信息管理者造成了巨大的压力和难度,也给传统的文件信息管理模式提出了挑战。现有的学生信息 (1)学生信息管理缺乏安全、便捷性。 (2)工作效率低。 (3)无法实现不同学院数据的复合使用。 为了提高学校学生信息管理的效率和准确性,我们团队决定开发一个学生信息管理系统,希望通过信息化手段管理学生信息,实现提高效率和准确性的目的。 学生成绩管理系统在提高学生成绩信息处理的效率的同时,又能为广大师生提供及时准备的学生成绩信息。可使教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理。同时,可以减少劳动力的使用,加快查询速度以及国家各部门关于信息化的步伐,使各项管理更加规范化,提高了传统教师的工作任务量。 1.2系统功能 可用来查询,插入,更新,删除学生信息。 1.3运行环境 Windows 10 Visual C++ SQL Server 2008 eclipse1.8.0 二、可行性研究 2.1可行性分析的目的 该系统的目标是在学生信息管理中,使用计算机的网络技术、通讯技术和信息处理技术,是学生信息得以加工,依次传达及保存。系统要对使用要求不相同的用户群体设置不同的功能。管理员能有效地管理学生的信息,同事,学生可以随时大量的检索查询多种信息。本系统为管理者提供了完整的管理平台,其主要功能有:(1)通过已有的学生信息库,管理学生的信息,还可以管理教师的信息,管理课程的信息,管理班级的信息;(2)可以修改学生的信息,选择课程,检索成绩等;(3)修改教师的信息,检索学生的成绩,登记授课的学生情况。 可行性分析就是为了确定该系统从各个方面确定该系统在经济上、技术上、法律上的可否实现。

软件工程课程设计任务书

《软件工程》课程设计 任务书 一、目的、要求 通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件。切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。 二、主要内容 要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。每个学生选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华大学出版社出版),按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。具体的方法可以选用传统的软件工程方法或者面向对象的方法,开发环境和工具不限。 三、进度计划 四、设计成果要求 1.至少提交4个文档,包括软件计划、软件需求规格说明书、软件设计说明书、软件测试计划,要求文档格式规范、逻辑性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范; 2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。 五、考核方式 (1)提交的文档规范,工作量大,文档逻辑性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》实验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15% 学生姓名:(此处为签名)

指导教师: 2011年6 月17 日《软件工程课程设计》实验报告评分表

(注:素材和资料部分来自网络,供参考。请预览后才下载,期待你的好评与关注!)

基于单片机的俄罗斯方块设计与实现毕设论文

基于单片机的俄罗斯方块设计与实现 摘要 随着单片机在手持娱乐设备上应用的发展,越来越多的应用在电子领域中,如:电子宠物,俄罗斯方块,智能IC卡等。俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。 本文选用STC89C52RC单片机作为系统的芯片,实现人机交互、娱乐等功能。选用LCD12864实现俄罗斯方块游戏界面、图形显示;选用独立按键实现游戏控制。本设计实现的基本功能是:用按键控制目标方块的变换与移动;消除一行并计分,方块堆满时结束游戏等俄罗斯方块的基本功能。 此次设计初期是在keil和proteus联合仿真中进行,编程语言为c语言,后期是进行实物焊接。 关键词:俄罗斯方块;单片机;控制;仿真

Abstract With the development of the single chip microcomputer application on handheld entertainment equipment, more and more application in the field of electronics.Such as: electronic pet, tetris, smart IC card, etc.Tetris is a popular global TV game and PSP games, it consists of the Russian alexei palmer jeter's invention, therefore the name. This article chooses STC89C52RC single-chip microcomputer as the system of chip, realize human-machine interaction, entertainment, etc.Selection of tetris game interface, graphical display LCD12864 implementation;Choose independent control game buttons.This design is to realize the basic function of: key control target square transformation and movement;Remove a row and scoring, square pile end game tetris, such as the basic functions. The early stage of design is done in keil and proteus simulation, programming language is the c language, is late for real welding. Keywords:Russian square;Microprocessor;Control;Simulation

软件工程课程设计题目

软件工程设计题目 1.学生学籍管理系统 要求: 1)包括基本需求: 主要对学生的学籍进行管理。学籍管理包括各种信息的录入、修改、删除等操作;此外还有对各种信息的查询,便于老师和学生查看。(其中,教师具备对学籍的录入、修改、删除等操作,学生只具备查询的权限) 2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。 2.学生成绩管理系统 要求: 1)包括基本需求: 对学生成绩进行综合管理,学生信息要素:学期、学号、、课程名称、课程成绩。因此学生成绩管理系统的主要功能为: ●学生信息管理 ●课程信息管理 ●成绩信息管理 2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。 3.个人通讯录管理系统 要求: 1)包括基本需求: 增加记录、删除记录、显示所有记录、查询记录、退出。通讯录记录信息包括:,,email等。(其中,用户输入正确的用户名和密码才能看到自己的通讯录信息)2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。 4.网上书店 要求:

1)包括基本需求: 购书者可以通过访问Web站点,得到图书信息。系统可以: ●显示每本书的详细信息 ●显示购物车和顾客选购的图书信息 ●增加新购买的新书 ●对定单的修改、确认、提交等 ●图书销售数量的排行 (注意管理员和客户分别具备的权限) 2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。 5.企业办公自动化管理系统(企业客户管理) 要求: 1)包括基本需求: 针对企业常用的功能设计一个普遍适用的企业办公自动化管理系统,包括考勤管理,客户管理,每天的工作管理,个人信息修改,权限管理,注销等功能。2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。 6.小型商业管理系统 要求: 1)包括基本需求: 主要是宣传性质的,包括产品展示,公司简介,销售查询,销售排行,商品管理,公告管理等。(注意分配普通消费者,会员消费者和公司管理人员对该的权限)2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。 7.ATM柜员机模拟程序 要求: 1)包括基本需求: 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求):

java课程设计报告材料-俄罗斯方块

JAVA程序设计课程设计 之 俄罗斯方块 年级:13级 班级:T412 网络工程 指导老师:朱林 小组成员: 20138346021 许浩洋

时间:2015年11月11日 目录 摘要................................................................. 第一章课程设计要求.................................................. 第二章设计概要...................................................... 2.1 功能设计...................................................... 2.2 功能分析...................................................... 2.2.1 系统操作界面............................................... 2.2.2 程序主要功能说明........................................... 第三章调试分析与测试结果............................................ 3.1 游戏运行界面.................................................. 3.2 测试项目...................................................... 3.2.1 功能区按键测试............................................ 3.2.2 键盘功能测试.............................................. 3.2.3 游戏结束测试.............................................. 第四章设计总结...................................................... 4.1 改进意见...................................................... 4.2 《Java课程设计》心得体会 ......................................

相关主题
文本预览
相关文档 最新文档