当前位置:文档之家› 坦克大战详细设计说明书

坦克大战详细设计说明书

坦克大战详细设计说明书
坦克大战详细设计说明书

目录

1绪论 (1)

1.1开发背景………………………………………………………………………1.2开发思路………………………………………………………………………1.3开发工具………………………………………………………………………

2程序设计……………………………………………………………………………

2.1主要设计思路……………………………………………………………………

2.2思路设计实现……………………………………………………………………3程序简介………………………………………………………………………

3.1程序一些类的介绍……………………………………………………………

4程序运行与测试……………………………………………………………………

4.1程序开始………………………………………………………………………

4.2程序界面………………………………………………………………………

4.3系统启动测试………………………………………………………………

4.4子弹发射测试………………………………………………………………

4.5玩家移动测试………………………………………………………………

4.6信息发送测试………………………………………………………………

5程序有关代码………………………………………………………………………

5.1………………………………………………………………………

5.2………………………………………………………………………

5.3………………………………………………………………………

6………………………………………………………………………

6.1………………………………………………………………………

参考文献………………………………………………………………………

1绪论

1.1开发背景

随着信息社会的迅猛发展,人们对游戏的要求也越来越高

1.2开发思路

该游戏的界面使用了JA V A awt界面显示技术实现,游戏主窗口类TankClient继承了Frame类,重写了paint方法,在该方法中绘出游戏背景,各种元件和控件等。

游戏的每个组成部分都被封装为一个Java类,例如坦克对象被封装在Tank类中,该类提供了构建坦克对象方法、坦克上下左右移动方法、fire发射炮弹方法、keyReleased按键松开事件处理方法和keyPressed按键按下事件处理方法。炮弹类Missile,提供了移动方法;坦克攻击判定,坦克中保存一个isgood成员变量,判定是否是敌人坦克,在子弹飞行轨迹中判定是否有坦克,若有则判定击毁该坦克。

1.3开发工具

该坦克大战游戏是在Eclipse 集成开发环境中开发的,它目标是实现一个单机版本的人机对战游戏程序,该程序界面比较美观,操作灵活流利。具体实现了游戏界面布局设计、坦克图片绘制、子弹绘制、坦克移动、坦克对战,障碍墙绘制等功能。

坦克游戏结束的条件是,游戏中我方坦克守护的围墙区域被敌人击破,四面围墙被攻破则判定游戏结束。本游戏中为了增加趣味性,对坦克做了人工智能处理,即随机生成坦克的下一步移动方向,随机发射炮弹等。另外,在游戏地图上还增加了墙壁,分为普通墙壁和金属墙壁,普通墙壁一发炮弹即可击破。游戏地图上还绘制了河流、森林等图片,进一步模拟真实的游戏场景,使得该游戏更富有趣味性。

本游戏程序直接在eclipse开发环境中运行,建议使用jdk1.6版本,在eclipse直接右击工程名,选择run as Java Application即可正常运行程序,使用键盘上的方向键和S按键发射炮弹。

2程序设计

2.1主要设计思路

2.2成粗设计的实现

3.1有关类的介绍

TankWar类:

TankWar继承Frame类。

1、paint( )方法

paint( ) 方法主要实现对坦克类和子弹类,障碍物类和爆炸类等画到窗口上。坦

克类又分为MyTank和EnwmyTank 两类。对这两类用不同的颜色画到窗口上。

画子弹时通过传递坦克的颜色画出相应的子弹颜色。

子弹画坦克死亡则不再对其进行重画。

2、update( )方法。

update( ) 方法主要是为了解决,重画频率太快,paint( ) 方法还没有完成,重画

坦克时出现的闪烁现象。

通过双缓冲技术将所有东西画在虚拟图片上,一次性显示出来解决闪烁现象。

3、内部类KeyMon键盘监听

KeyMon继承KeyAdapter类。通过KeyMon类的监听,用户可以通过键盘控制

自己的坦克。

4、内部类MyTankWarThread

MyTankWarThread实现Runnable接口,通过MyTankWarThread实现对坦克的

重画,实现坦克的移动。

5、showFrame( )方法

showFrame( )方法主要是设置一个窗口及其各种参数。

Tank类

Tank类是实现Runnable接口的一个抽象类

1、Tank类的主要属性有:

int x; //坦克的位置

int y; //

int oldx; //坦克上一步的坐标

int oldy; //

Dir dir; // Tank方向的成员变量

int speed = 5;

boolean isLive = true;

2、Tank类提供各种的构造方法

Tank(int x, int y)

Tank(int x, int y, Dir dir)

Tank(int x, int y, Dir dir, TankWar tw)

根据不同的需要使用不同的构造方法。

3、drawTank ()方法

drawTank()方法根据坦克的类型不同可以画出不同类型的坦克和不同方向的坦

克。敌人的坦克用BLUE画出来,自己的坦克用RED颜色画出来,以区分敌我。

4、fire()方法

fire()方法的功能是实现打出一颗子弹,fire()方法调用了画坦克的颜色变量c ,

画出与坦克一样颜色的子弹,以区别子弹是那一方发出来的。

5、isHitWall()方法

该方法是用来判断Tank是否与障碍物发生碰撞

public boolean isHitWall() {

Wall w = null;

for (int i = 0; i < tw.walls.size(); i++) {

w = tw.walls.get(i);

if (w.isHits(this.getRectangle())) {

return true;

}

}

return false;

}

6、getRectangle()方法

该方法主要是用来检测是否发生了碰撞。

public Rectangle getRectangle() {

return new Rectangle(x, y, TANK_WIDTH, TANK_HEIGHT);

}

7、add(int count, TankWar tw)方法

该方法是用来添加敌人坦克的,当敌人坦克数量减少时,而此时敌人的count 又未小于0时添加相应数量的敌人坦克来增加游戏的可玩性。

MyTank类

MyTank类继承Tank类

1、locDir(KeyEvent e)方法

通过键盘监听,对按键进行监听来实现用户可以通过W D S A四个方向键对坦克的控制

2、keyReleased(KeyEvent e)方法

该方法主要是为了防止连续发子弹的问题,只有放开SPACE按键才可以发弹,这样就增加了游戏的可玩性。

3、stay()方法

该方法主要实现暂停的功能,这个是本游戏代码中的一个的亮点,通过线程来实现的

public void stay() {

int tc = Thread.activeCount();

Thread[] threads = new Thread[tc];

Thread.enumerate(threads);

if (tw.flag) {

for (int i = 0; i < threads.length; i++) {

System.out.println(tc + ":suspend " + threads[i].getName());

if (threads[i].getName().matches("^Thread-.*")) {

threads[i].suspend();

tw.flag = false;

}

}

} else if (! tw.flag) {

for (int i = 0; i < threads.length; i++) {

System.out.println(tc + ":resume " + threads[i].getName());

if (threads[i].getName().matches("^Thread-.*")) {

threads[i].resume();

tw.flag = true;

}

}

}

}

4、move()方法

该方法是实现坦克的移动,如果遇到障碍物或出界,则返回上一次的位置,通过(oldX , oldY)坐标记录坦克每一次移动的位置。

public void move() {

if (dir == Dir.U) {

oldy = y;

y = y - speed;

if (isHitWall()) {

y = oldy;

}

} else if (dir == Dir.R) {

oldx = x;

x = x + speed;

if (isHitWall()) {

x = oldx;

}

} else if (dir == Dir.D) {

oldy = y;

y = y + speed;

if (isHitWall()) {

y = oldy;

}

} else if (dir == Dir.L) {

oldx = x;

x = x - speed;

if (isHitWall()) {

x = oldx;

}

}

//判断坦克出界

if (x > TankWar.GAME_WIDTH - TANK_WIDTH - 5) {

x = TankWar.GAME_WIDTH - TANK_WIDTH - 5;

}

if (x < 5) {

x = 5;

}

if (y > TankWar.GAME_HEIGHT - TANK_HEIGHT - 5) {

y = TankWar.GAME_HEIGHT - TANK_HEIGHT - 5;

}

if (y < TANK_HEIGHT) {

y = TANK_HEIGHT;

}

}

5、drawTank()方法

这个方法是实现坦克自动移动,玩家可以通过方向键改版方向,移动过程中可以发射子弹。

public void drawTank(Graphics g) {

super.drawTank(g);

if (isStay) {

move();

}

}

EneyTank类

EnemyTank类继承Tank类

1、moveTrace()方法

该方法实现的是敌人坦克伪智能功能,这个是本坦克大战的一个亮点。敌人坦克出来后会根据当前位置和hero的位置比较,进而对hero进行追击。

public void moveTrace(){

if(step>0){

move();

step--;

return;

}

int dx = this.x- tw.hero.x ;

int dy = this.y- tw.hero.y ;

if (tw.hero.isLive) {

int next = (int) (Math.random() * 2);

if (next == 1) {

if (dx > 0) {

this.dir = Dir.L;

} else if (dx < 0) {

this.dir = Dir.R;

}

} else {

if (dy > 0) {

this.dir = Dir.U;

} else if (dy < 0) {

this.dir = Dir.D;

}

}

} else {

move();

}

step = (int) (Math.random()*12+3);

}

1、move()方法

敌人的坦克移动时调用的方法,方向是通过随机数来确定的。

2、hitTank(Tank tank)方法

敌人的碰撞检测方法,如果和hero发生碰撞则hero发生爆炸。

3、run()方法

敌人坦克的启动线程控制。

public void run() {

while(isLive) {

try {

Thread.sleep(50);

} catch (InterruptedException e) {

e.printStackTrace();

}

moveTrace();

}

}

Shells子弹类

子弹类继承了Runnable类,基本属性有子弹的坐标(x , y),方向Dir.

1、drawShells(Graphics g)方法

这是一个画子弹的方法,子弹颜色通过调用坦克的颜色this.c来实现画出与坦克一样颜色的。

2、move()

子弹移动的方法,子弹方法通过坦克当前的方向来确定。

3、run()

子弹启动的线程。

4、public Rectangle getRectangle()

子弹的检测碰撞方法。

Bomb爆炸类

爆炸类只有一个drawBomd(Graphics g)方法,每当坦克消亡后则调用

Wall障碍物类

主要是一个public void draw(Graphics g) 方法将障碍物通过paint画出来。

4程序运行与测试

4.1程序开始

开始启动服务端并建立主机,然后启动客服端并连接端口。这便实现客户端与服务端的连接。然后呢,便可以开始游戏。这样整个游戏就开始运行了。

4.2程序界面

游戏运行的界面如下:

4.3子弹发射测试

游戏开始后,玩家可以按S键发射炮弹,

4.4玩家移动测试

玩家可以通过键盘的方向键来控制坦克的移动。

4.5信息发送测试

这是游戏的一个附加功能,可以实现玩家之间的信息交流,玩家可以通过发送信息与玩伴进行思想交流,这有利于游戏的配合和顺利过关,这使得游戏变得更加多元化、信息化、智能化……

下面是发送信息后的画面:

5程序的有关代码

5.1

5.2

5.3

6

6.1 6.2

参考文献

(完整版)软件详细设计说明书模板

软件详细设计说明书 v1.0 200X年月XX日 修订历史记录

编制 审查 审核 批准 文档评审负责人:参加评审人员:

目录 1引言 (4) 1.1编写目的 (4) 1.2背景 (4) 1.3定义 (4) 1.4设计依据 (4) 2软件系统结构 (4) 2.1功能需求 (4) 2.2子模块划分 (4) 2.3子模块间关系 (4) 3公共数据结构 (4) 4程序设计说明 (5) 4.1程序1设计说明 (5) 4.1.1程序描述 (5) 4.1.2功能 (5) 4.1.3性能 (5) 4.1.4输入 (5) 4.1.5输出 (5) 4.1.6算法 (5) 4.1.7流程 (5) 4.2程序2设计说明 (5) 5模块重用说明 (5)

1引言 1.1编写目的 〖说明编写这份软件详细设计说明书的目的〗 1.2背景 〖说明待开发软件(子)系统的名称和此软件(子)系统所属大系统的名称; 说明任务的来源(开发背景和市场背景)等;该软件(子)系统与大系统中其他子系统的关系。〗 1.3定义 〖列出本文档中所用到的专门术语的定义和缩写词的原意〗 1.4设计依据 〖列出本文档所引用的有关设计依据(标题、文件编号、版本号、作者、发布日期、出版单位),包括本项目内部已编写的有效文档、出版刊物和国家标准或规范〗2软件系统结构 2.1功能需求 2.2子模块划分 〖说明本软件系统(或模块)的实现,即其内部的子模块划分(给出程序的名称和标识符)。建议以图形说明。〗 1.XXXXXXXX 2.XXXXXXXX 3.XXXXXXXX 4.XXXXXXXX 5.XXXXXXXX 6.XXXXXXXX 2.3子模块间关系 〖说明各子模块间的控制、顺序等耦合关系。〗 3公共数据结构 〖给出本软件系统使用的每一个公共数据结构的类型定义、存储方式,公共数据结构内各元素项的类型定义、初始取值、可能取值的范围及相应的物理含义。建议以类似C语言的数据说明格式来描述。〗

完整的开发文档数据库设计说明书

变更履历

目录 第一章引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3术语定义 (2) 1.4参考资料 (2) 第二章外部设计 (3) 2.1标识符和状态 (3) 2.2使用它的程序 (3) 2.3命名约定 (3) 2.4设计约定 (3) 第三章结构设计 (4) 3.1概念结构设计 (4) 3.2逻辑结构设计 (21) 3.3物理结构设计 (33) 第四章运用设计 (34) 4.1数据字典设计 ............................................... 错误!未定义书签。 4.2安全保密设计 ............................................... 错误!未定义书签。 4.3数据库实施 (34) 4.3.1创建数据库 (34) 4.3.2创建表 (34) 4.3.3添加参照完整性约束 ..................................... 错误!未定义书签。 4.3.4添加用户完整性约束 ..................................... 错误!未定义书签。 4.3.5添加索引 ............................................... 错误!未定义书签。 4.3.6创建视图 ............................................... 错误!未定义书签。 4.3.7插入测试数据 ........................................... 错误!未定义书签。

项目开发详细设计说明书(超好用模板)完整版

详细设计说明书XX有限公司

修订记录

目录 第一章概述........................................................................... 错误!未定义书签。 1.1.应用模块的目的....................................................... 错误!未定义书签。 1.2.应用模块总体描述................................................... 错误!未定义书签。 1.3.应用模块接口描述................................................... 错误!未定义书签。 1.4.假设条件................................................................... 错误!未定义书签。第二章设计模式(Design pattern) ................................... 错误!未定义书签。第三章类设计....................................................................... 错误!未定义书签。 3.1.分块类图................................................................... 错误!未定义书签。 <类图1> ............................................................ 错误!未定义书签。 <类图n> ............................................................ 错误!未定义书签。 3.2.整体继承关系........................................................... 错误!未定义书签。 3.3.类描述....................................................................... 错误!未定义书签。 <类名1> Class Description............................. 错误!未定义书签。 <类名n> Class Description............................. 错误!未定义书签。第四章交互图....................................................................... 错误!未定义书签。 4.1.<情景编号1: 情景名称> ........................................ 错误!未定义书签。 交互图................................................................ 错误!未定义书签。 例外情况及条件................................................ 错误!未定义书签。 4.2.<情景编号n: 情景名称> ........................................ 错误!未定义书签。第五章状态图....................................................................... 错误!未定义书签。 5.1.<状态图编号1:状态图名称> .................................. 错误!未定义书签。 5.2.<状态图编号n:状态图名称> .................................. 错误!未定义书签。第六章时序流程图............................................................... 错误!未定义书签。第七章用户界面设计说明................................................... 错误!未定义书签。 7.1.用户界面关系........................................................... 错误!未定义书签。 7.2.用户界面具体描述................................................... 错误!未定义书签。 <界面编号1:界面名称〉 ................................. 错误!未定义书签。 <界面编号N:界面名称〉 ................................ 错误!未定义书签。

学校专业数据库设计说明书

××××学院 ××专业数据库设计报告 题目:数据库设计说明书

目录 一、需求分析 (2) 二、概念设计 (3) 三、逻辑结构设计................................................................ 4-12 3-1表设计 ...................................................................... 4-7 3-2建表语句................................................................. 7-12 3-3关系图 .. (13) 四、数据导入 ............................................................... 13-14 五、数据库应用 (13) 5-1登陆模块 (14) 5-2排课模块 (14) 5-3选课模块 (14) 5-4信息查询模块 (14) 5-5功能结构图 (14) 六、总结 (15)

一、需求分析 本数据库为教务管理系统,主要是针对学校教学管理方面而设计的。学校教务处因为工作需要,必须对每个班的信息,学生的信息,教师的信息,专业信息有一定的了解,并以此为基础来安排课程。安排课程必须根据学校的软硬件设施来安排,所以要考虑到每门课程的上课时间、地点、人数,避免上课地点的冲突,还要安排特定的老师上课。学期结束后,还要记录学生的分数,以此作为下个学期的教学安排依据。 根据上述的初始条件和对本学校的调研考察,设计一个教务管理的数据库:记录教师和学生的基本信息,选课,课程安排等信息,方便老师,同学等用户对数据库的查询,修改等操作。尽量使数据库高效,存储简单。 以下为所附数据流图:

数据库设计说明书-模版

XXXX项目 数据库设计说明书

变更履历

第1章引言 (1) 1.1 编写目的 (1) 1.2 背景 (1) 1.3 术语定义 (1) 1.4 参考资料 (1) 第2章外部设计 (3) 2.1 标识符和状态 (3) 2.2 使用它的程序 (3) 2.3 约定 (3) 2.3.1数据库设计的范围 (3) 2.3.2 命名的总体规则及注意事项 (3) 2.3.3 数据模型设计工具要求 (4) 2.4 支持软件 (4) 第3章结构设计 (5) 3.1 物理结构设计 (5) 3.1.1 表空间物理存储参数 (5) 3.1.2 表空间SQL规程 (6) 3.1.3 数据库用户创建 (7) 3.1.4 数据库例程创建 (7) 3.1.5 角色授权 (7) 第4章运用设计 (8) 4.1 数据字典设计 (8) 4.1.1 表名的命名规范 (8) 4.1.2 表字段命名规范 (9) 4.2 安全保密设计 (9) 第5章风险评估 (10) 5.1 表汇总列表 (10) 5.2 实体关系图 (10) 5.3 表详细设计 (11) 第6章安全检查 ....................................... 错误!未定义书签。 6.1 表汇总列表 ..........................................错误!未定义书签。 6.1 实体关系图 ..........................................错误!未定义书签。 6.2 表详细设计 ..........................................错误!未定义书签。第7章绩效管理 ....................................... 错误!未定义书签。 7.1 表汇总列表 ..........................................错误!未定义书签。 7.2 实体关系图 ..........................................错误!未定义书签。 7.3 表详细设计 ..........................................错误!未定义书签。第8章安全响应、预警和管理............................. 错误!未定义书签。 8.1 表汇总列表 ..........................................错误!未定义书签。

网上购物系统——详细设计说明书

网上购物系统 详细设计说明书 1引言 1.1编写目的 电子商务是于九十年代初,在欧美兴起的一种全新的商业交易模式,它实现了交易的无纸化,效率化,自动化表现了网络最具魅力的地方,快速的交换信息,地理界限的模糊,这所有的一切也必将推动传统商业行为在网路时代的变革。随着电子商务,尤其是网上购物的发展,商品流通基础设施和配套行业的重点将会将对中国商品流通领域和整个经济发展带来种种影响,确实值得我们认真研究。特别是在全球经济一体化的国际背景下,在我们继续扩大国内流通领域对外开放的同时,深入研究这个问题,审慎制订相应的宏观对策,尤其重要和迫切。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。 1.2.项目背景 软件名称:网上购物系统 开发者:宋金德,袁浩,王朝阳,许威 项目简介:本系统主要实现网上产品展示与在线定购及人员的管理, 一、不同身份有不同的权限功能(管理人员、注册用户、游客) 二、在线产品展示(分页显示) 三、在线定购 四、后台管理(用户管理、商品的管理) 1.3定义 Asp(active server pages)是微软公司推出的一种用以取代CGI的技术,基于目前绝大多数网站应用于windows平台,asp是一个位于windows服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式的web服务器应用程序以及EDI(电子数据交换)。 ADO:ActiveX Data Object, ActiveX 数据对象 SQL:Structured Query Language 1.4参考资料 [1] 谭浩强《动态网页制作ASP》北京电子工业出版社. 2001 [2] 彭万波《网页设计精彩实例》北京电子工业出版社.2002

项目数据库设计说明书

项目全称 数据库设计说明书 承建方全称 文件ISO版本控制 目录 ?简介.......................................................................................................................... 1.1.目的.................................................................................................................. 1.2.范围.................................................................................................................. 1.3.定义、首字母缩写词和缩略语...................................................................... 1.4.参考资料.......................................................................................................... ?数据库环境..............................................................................................................

详细设计说明书模版

(项目名称)详细设计说明书 文件版本 编写日期 发布日期

文件修改记录 修改日期版本号变化状态修改内容修改人 *变化状态:C――创建,A——增加,M——修改,D——删除 文档审批信息 版本号提交人批准人批准日期发布日期备注

目录 1引言 (1) 1.1编写目的 (1) 1.2适用范围 (1) 1.3术语和缩写 (1) 1.4参考资料 (1) 2概述 (1) 2.1系统概述 (1) 2.2系统功能定义 (1) 3总体结构说明 (1) 3.1系统结构 (1) 3.1.1系统内外部关系图 (1) 3.1.2功能模块简要说明 (1) 3.1.3依赖的外部接口 (1) 3.1.4对外提供的接口 (1) 3.2模块程序构件结构图 (1) 4数据模型(Data Model)设计 (2) 4.1逻辑实体模型 (2) 4.1.1实体模型1 (2) 4.1.2实体模型2 (3) 4.2表结构(物理设计) (3) 4.2.1表汇总 (3) 4.2.2表1 (3) 4.2.3表2 (3) 4.3视图列表 (4) 5功能实现说明 (4) 5.1数据流类模块 (4) 5.1.1数据流程图 (4) 5.1.2实现说明 (4) 5.1.3程序设计 (4) 5.2业务处理类模块 (5) 5.2.1Object Model设计 (5)

5.2.2程序设计 (5) 6界面实现说明 (5) 6.1模块1 (5) 6.1.1总体界面结构(业务操作区)说明 (5) 6.1.2功能点1界面结构说明 (5) 6.1.3功能点2界面结构说明 (5) 6.2模块2 (6) 6.2.1总体界面结构(业务操作区)说明 (6) 6.2.2功能点1界面结构说明 (6) 6.2.3功能点2界面结构说明 (6)

概要设计说明书范例及模板

《XXXXXX》 概要设计说明书 张三、李四、王五 1.引言 1.1编写目的 在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。 本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。 1.2项目背景 机票预定系统将由两部分组成:置于个旅行社定票点的前台客户程序,以及置于 1.3 1.3.1 专门术语 SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 ROLLBACK: 数据库的错误恢复机制。 1.3.2 缩写

系统:若未特别指出,统指本机票预定系统。 SQL: Structured Query Language(结构化查询语言)。 ATM: Asynchronous Transfer Mode (异步传输模式)。 1.4参考资料 以下列出在概要设计过程中所使用到的有关资料: 1.机票预定系统项目计划任务书浙江航空公司 1999/3 2.机票预定系统项目开发计划《**》软件开发小组 1999/3 3.需求规格说明书《**》软件开发小组 1999/3 4.用户操作手册(初稿)《**》软件开发小组 1999/4 5.软件工程及其应用周苏、王文等天津科学技术出版社 1992/1 6.软件工程张海藩清华大学出版社 1990/11 7.Computer Network A.S.Tanenbaun Prentice Hall 1996/01 文档所采用的标准是参照《软件工程导论》沈美明著的“计算机软件开发文档编写指南”。 2.任务概述 2.1 目标 2.2 运行环境 系统将由两部分程序组成,安装在各旅行社客户机上的客户程序及航空公司内的数据服务器程序。 根据调研得知所有旅行社的计算机配置均在Pentium 133级别以上,客户程序应能够在Pentium 133级别以上, Win NT环境下运行。 2.3 需求概述 浙江航空公司为方便旅客,需开发一个机票预定系统。为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。 要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。 2.4 条件与限制 3.总体设计 3.1 处理流程 下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。系统可分为两大部分:一、客户机上的程序,二、服务器上的程序。以下将分别对系统的这两大部分进行流程分析:

数据库设计说明书-完整版

数据库设计说明书-完整版

目录 第一章引言 (1) 1.1编写目的 1 1.2背景 1 1.3参考资料 2 第二章外部设计 (3) 2.1标识符和状态 3 2.2命名约定 3 2.3设计约定 3 第三章结构设计 (4) 3.1概念结构设计 4 3.1.1实体和属性的定义 4 3.1.2设计局部ER模式

13 3.1.3设计全局ER模式 20 3.2逻辑结构设计 21 3.2.1模式 21 3.2.2外模式 32 3.3物理结构设计 32 第四章运用设计 (34) 4.1数据字典设计 34 4.2安全保密设计 34 4.3数据库实施 34 4.3.1创建数据库 34 4.3.2创建表 34

第一章引言 1.1编写目的 1、本数据库设计说明书是关于寝室管理系统数据库设计,主要包括数据逻辑结构设计、数据字典以及运行环境、安全设计等。 2、本数据库设计说明书读者:用户、系统设计人员、系统测试人员、系统维护 人员。 3、本数据库设计说明书是根据系统需求分析设计所编写的。 4、本系统说明书为开发软件提供了一定基础。 1.2背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,然而在计算机应用普及以前我国大部分高校的学生信息管理仅靠人工进行管理和操作,这种管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。正因为如此,学生宿舍管理系统成为了学生管理不可缺少的部分,它的内容对于学校的管理者来说都至关重要,所以学生宿舍管理系统应该能

完整版详细设计说明书实例

信息发布系统 (详细设计说明书) JAVA 实践小学期第22组 1.0 2010/9/5 编写单位: 设计人员: 版 本: 编写日期:

目录 第一部分、引言 (2) 1.1编写目的 (2) 1.2背景 (3) 1.3定义 (3) 3.1程序描述 (5) 3.2整体结构 (5) 3.3性能 (5) 3.4输入输出项 (5) 3.5算法 (5) 3.6主要类的设计 (5) 3.7存储分配 (7) 3.8注释 (7) 3.9限制条件 (7) 3.10测试计划 (7) 3.11尚未解决的问题 (7) 4.1程序描述 (7) 4.2功能 (7) 4.3性能 (8) 4.4输入输出项 (8) 4.5限制条件 (8) 5设计特点 (8) 5.1通信便捷 (8) 5.2开发速度快 (8) 第六部分、项目分工 (8) 附录: (9) 第一部分、引言 1.1编写目的 本说明书在概要设计的基础上,对信息发布系统的各模块、程序分别进行了实现层面上的要 求和说明。 软件开发小组的产品实现成员应该阅读和参考本说明进行代码的编写、测试。

1.2背景 说明: A、软件系统的名称:信息发布系统 B、任务提出者:JAVA实践小学期开发者:第22组成员 C、实现完成的系统将可用在所有JAVA虚拟机的个人PC上.为使用者提供信息发布,浏 览,评论的方式,沟通各个用户? 1.3定义 服务器端API :服务器端设计者通过规范的API文档,提供给客户端,以方便客户端的开 发,使得同时进行,提高效率,节约时间。两端通过protocol (协议类)进行通信。 Gson:Google提供的一个类库。通过使用这个类库,可以把把对象转换成json格式的字符串,以方便在网络中的传输。也可反向将字符串转换成对象,这样带有方法地操作对象,可以有效,方便地保证信 息的沟通。 Json: JavaScript Object Notation,是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,JSON采用完全独立于语言的文本格式, 这些特性使得JSON成为理想的数据交换语言。 1.4参考资料,相关的文件包括: A、《项目需求说明》; B、《项目详细设计说明书》; C、《项目概要设计说明书》;参考资料: 《软件工程概论》,王华 第二部分、程序系统的结构 该系统为了两大部分:客户端与服务器端,中间通过protocol类通信。其中使用gson库来转换和逆向转换对象,实现标准包括: 1、客户端主程序 A、工程类型:JAVA项目; B、工程名称:信息发布系统 C、编译生成文件:jar形式 D、引用的组件:JDK,Gson库 注:以上提供的是工具集合,具体用到的类都包含在里面 2、服务器端主程序: 服务器端程序以及数据库操作类(DBO) 3、服务器端数据库操作 验证用户,用户注册,更改密码,更新文档,新建文档,新建记录(包括浏览记录和回复记录),查看文档,删除文档,查看记录。

数据库设计说明书.doc

四川省山桐子能源科技有限责任公司 数 据库设计说明书 2013-5-20 第六小组成员 数据库设计说明书 1 引言 1.1 目的 为了有效指导山桐子能源网站系统数据库的设计,特设计此概要设计说明该网站数据库所含有的各数据表及其机构,以作为系统开发实现的依据,本说明书主要阅读对象为业主方、承建方、监理方相关技术人员和项目责任人。 1.2 背景 说明: a.数据库名称shantz 开发软件sql2005 b.任务提出者:山桐子科技能源有限责任公司 c.目负责人:张林鹏 d.者:赵霞、杨露、陈齐瑜、冯明华、张林鹏、胡芸儿 本系统将使用sql server 2005作为数据库存储系统,sql server 2000企业版将由山桐子公司自行购买。 1.3 定义 该文档也需要将本文档中所涉及的所有术语、缩略语进行详细的定义。还有一种可简明的做法,就是维护在一个项目词汇表中,这样就可以避免在每个文档中都重复很多内容。 id编号,u_name 名称,u_pwd 密码, u_realname 确认密码,u_papert 证件,u_address 家庭住址,u_phone 电话号码,u_news 新闻, 1.4 参考资料 a.山桐子网站设计项目分析会议记录。 b.《桐子网站需求分析说明书》 c.国家标准《数据库设计说明书(gb8567----88)》 2 外部设计 2.1 标识符和状态 要求:详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。若该数据库属于尚在实验中、尚在测试中或是暂时使用的,则要说明这一特点及其有效时间范围。 1)数据库标示符:shuantongzi 用户名:admin 密码:123 权限:全部有效时间:开发阶段 说明:系统正式发布后,可能更改数据库用户/密码,请在统一位置编写数据库连接字符串,在发行前请予以改正。 2) 数据库标示符:hyzc 用户名:user 密码:456 权限:会员有效时间:开发阶段 说明:系统正式发布后,可能更改数据库用户/密码,请在统一位置编写数据库连接字符串,在发行前请予以改正。 2.2 使用它的程序 dreamweaver8、https://www.doczj.com/doc/4f11441059.html,、sql 2005、ps、 2.3 约定 (1) 字符集采用 utf-8,请注意字符的转换。 (2) 所有数据表第一个字段都是系统内部使用主键列,自增字段,不可空,名称为:id,确保不把此字段暴露给最终用户。 (3) 除特别说明外,所有字符串字段都采用varchar(50) 类型,(无论汉字还是英文,都算一个字符)。 (4) 除特别说明外,所有小数的字段都采用 decimal(13,3) 的形式表达。 (5) 除特别说明外,所有日期格式都采用 date 格式,无时间值。 (6) 除特别说明外,所有整形都采用int 格式。 (7) 除特别说明外,所有字段默认都设置为 null 。 2.4 支持软件

软件系统详细设计说明书模板

xxxxx系统详细设计说明书

版本历史

修改记录

目录 1引言 (5) 1.1编写目的 (5) 1.2背景 (5) 1.3参考资料 (5) 1.4术语定义及说明 (5) 2设计概述 (5) 2.1任务和目标 (5) 2.1.1需求概述 (5) 2.1.2运行环境概述 (5) 2.1.3条件与限制 (6) 2.1.4详细设计方法和工具 (6) 3系统详细需求分析 (6) 3.1详细需求分析 (6) 3.2详细系统运行环境及限制条件分析接口需求分析 (6) 4总体方案确认 (6) 4.1系统总体结构确认 (6) 4.2系统详细界面划分 (7) 4.2.1应用系统与支撑系统的详细界面划分 (7) 4.2.2系统内部详细界面划分 (7) 5系统详细设计 (7) 5.1系统程序代码架构设计 (7) 5.1.1UI(User Interface)用户界面表示层 (7) 5.1.2BLL(Business Logic Layer)业务逻辑层 (8) 5.1.3DAL(Data Access Layer)数据访问层 (8) 5.1.4Common类库 (8) 5.1.5Entity Class实体类 (8) 5.2系统结构设计及子系统划分 (8) 5.3系统功能模块详细设计 (9) 5.3.1XX子系统 (9) .1XX模块 (9) 列表和分页 (9) 创建XX (9) .2XX模块 (9) XX列表 (9) XX修改 (9) 5.3.2XX子系统 (9) 5.3.6.1用户管理模块 (9) 5.3.6.2角色管理模块 (14) 5.3.6.3系统设置模块 (14) 5.3.6.4系统登录注销模块 (14) 5.4系统界面详细设计 (14) 5.4.1外部界面设计 (14) 5.4.2内部界面设计 (14) 5.4.3用户界面设计 (14) 6数据库系统设计 (14) 6.1设计要求 (14) 6.2信息模型设计 (14) 6.3数据库设计 (14) 6.3.1设计依据 (14)

数据库详细设计说明书

修正&标记表 文档变更历史 日期作者版本变更描述 2011-05-28 舒睿V01 数据库说明书创建 2011-06-13 舒睿V01.1 数据库各表功能说明创建 2011-06-20 舒睿V02 数据库各项细节功能完成 审核结果 审核人通过版本审核认职位日期 文档属性 项目描述 文档名称功能说明书 作者舒睿 创建日期5/28/2011 最后更新日期 1.1目的 本文为图书馆管理课程设计SQL Server功能规范说明书。本说明书将: ●描述数据库设计的目的 ●说明数据库设计中的主要组成部分 ●说明数据库设计中各功能的实现 1.2内容 本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象直接的关系)。本文档中包含对以下数据库内容的描述: ●数据表 ●视图 ●存储过程 ●触发器

●约束 在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。 1.3与其他项目的关联 本项目的数据库设计与本项目(Web部分和Windows部分)功能密切相关。本案例项目的数据库将按照项目程序部分的功能需求而设计,数据库设计将配合设计案例的程序部分,以实现一个功能完备的真实环境内的应用。 表 1.4表设计概述 根据设计的系统功能,数据库将以图书信息为中心存储相关数据,配合SQL Server 数据库系统中提供的数据管理,实现图书的借阅、归还、续借及系统设置等业务功能。 数据库设计将以存储读者信息的读者表为基础,连接多张相关表以实现对以下关系的支持: ●读者借书记录 ●读者还书记录 ●读者续借记录 ●读者罚款记录 ●读者对图书的评价 ●读者对图书和图书馆的建议及留言 数据库系统主要的实体关系如图0-1所示。

详细设计说明书书真正例子

详细设计说明书 1.引言 1.1编写目的 本详细设计说明书是针对网络信息体系结构的课程作业而编写。目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。 2. 系统的结构 ●ui:系统界面部分,负责接受用户输入,显示系统输出,负责其他模块功能的协调调用, 并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。ui 部分调用common部分的功能读取xml文件中保存的界面元素属性信息,用户最近访问过的10个ftp信息,用户选择的下载的ftp内容列表及其他需要通过xml文件保存的信息。 ●client:实现ftp客户端的功能,ftp连接,ftp上传及下载:上传或下载用户指定的

资源,并返回相应的信息。 ●search:资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索 方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。 ●preview:资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该 资源。preview部分调用common部分读取属性文件的内容亦显示预览资源内容的显示格式。 3.模块1(ui)设计说明 3.1模块描述 实现用户界面的包,含有11个文件51个类,是本系统中最复杂的代码。 3.2功能 负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。 3.3交互的模块 client,search,preview,common。 3.4 模块设计 该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下: ●MainFrame.java:MainFrame是含有主函数的类,也是lyra客户端开始执行的类, 它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面的观感。 ●FtpFrame_AboutBox.java:显示关于窗口的类,当用户点击帮助菜单中的关于菜单 项时会弹出关于对话框。 ●Tools.java:FileTools是文件操作辅助类,可以实现文件的递归删除等。 ●XMLController.java: JDOMTes是操作xml文件的类,用JDOM来操作xml文件, 实现的功能有: (1)保存ftp服务器的文件列表(站内搜索时使用),递归的从ftp服务器读取列表,并存入一个xml文件中(文件的命名方法是:ip+用户名.xml);以目录树的形式保存。 (2)根据文件名在文件中查找文件,站内搜索时使用。 (3)保存ftp服务器的信息:ip,端口(默认端口21不保存),用户名(默认anonymous 不保存),密码,最多存10个;存在resource\settings\ serversinfor.xml文件中。 (4)读取已存储的ftp服务器信息。 (5)从type.xml读取搜索的类型。 ●Constants.java:放置系统运行时使用的一些常量,initcontent()函数对所有常量 进行初始化,这个函数在MainFrame中被调用一次。iconHashMap是hash表,用于存放文件的系统图标。 ●CustomizedController.java:包含自定义的控件类,java中的控件可能不能满足需求, 需要自己定义某些属性。这些控件会在创建界面时使用。其中含有的类有: (1)CustomizedJTable 是表格类,设置表格的某些属性,如字体等。 (2)CustomizedTableCellRenderer是表格单元格绘制器类,主要用于显示文件的系统图标,和文件名。 (3)LeftPanel类的父类是JTabbedPane,用户显示主窗口左边的面板。 (4)RightPanel类的父类是JPanel,用户显示右边的主题部分,包括右上边的搜索及服务

ISO软件工程数据库设计说明书

ISO软件工程模板(7)数据库设计说明书 1.引言 1.1编写目的 [说明编写这份数据设计说明书的目的,指出预期的读者。] 1.2背景 a.[待开发数据库的名称和使用此数据库的软件系统的名称;] b.[列出本项目的任务提出者、开发者、用户。] 1.3定义 [列出本文件中用到的专门术语的定义和外文首字母组词的原词组。] 1.4参考资料 [列出有关的参考资料。] 2.外部设计 2.1标识符的状态 [联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。如果该数据库属于尚在实验中、尚在测试中或是暂时使用的,则要说明这一特点及其有效时间范围。] 2.2使用它的程序 [列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号。] 2.3约定

[陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定。] 2.4专门指导 [向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导。] 2.5支持软件 [简单介绍同此数据库直接有关的支持软件。说明这些软件的名称、版本号的主要功能特性。列出这些支持软件的技术文件的标题、编号及来源] 3.结构设计 3.1概念结构设计 [说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图。] 3.2逻辑结构设计 [说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构。] 3物理结构设计 [建立系统程序员视图。] 4.运用设计 4.1数据字典设计 [对数据库设计中涉及到的各种项目一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。] 4.2安全保密设计 [说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。]

人事管理系统项目详细设计说明书

目录 1. 概述 1.1.目的 本文为教学案例项目SQLServer功能规范说明书。本说明书将: ●描述数据库设计的目的 ●说明数据库设计中的主要组成部分 ●说明数据库设计中涵盖的教学知识要点 1.2.内容 本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象的直接关系)。本文档中包含对以下数据库内容的描述: ●数据表 ●视图 ●存储过程 ●用户自定义函数 ●触发器 ●约束 在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。

1.3.与其他项目的关联 教学案例项目的数据库设计与教学项目(Web部分和Windows部分)功能密切相关。教学案例项目的数据库将按照教学项目程序部分的功能需求而设计,数据库设计将配合教学案例的程序部分,以实现一个功能完备的企业环境内的应用。 2. 数据库 2.1.数据库名称 数据库的名称一定要设为RGB,否则本案例设计的Web部分的应用程序和Windows 部分的应用程序将无法使用该数据库。 答案:USE[master] GO /******Object:Database[RGB]ScriptDate:06/18/201108:55:58******/ CREATEDATABASE[RGB]ONPRIMARY (NAME=N'RGB',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLSERVE R\MSSQL\DATA\RGB.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH=1024KB) LOG ON (NAME=N'RGB_log',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10.MSSQLS ERVER\MSSQL\DATA\RGB_log.ldf',SIZE=1024KB,MAXSIZE=2048GB,FILEGROWTH=10%) GO ALTERDATABASE[RGB]SETCOMPATIBILITY_LEVEL=100 GO IF(1=FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC[RGB].[dbo].[sp_fulltext_database]@action='enable' end GO ALTERDATABASE[RGB]SETANSI_NULL_DEFAULTOFF GO ALTERDATABASE[RGB]SETANSI_NULLSOFF GO ALTERDATABASE[RGB]SETANSI_PADDINGOFF GO ALTERDATABASE[RGB]SETANSI_WARNINGSOFF

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