文档库 最新最全的文档下载
当前位置:文档库 › controller设计说明文档

controller设计说明文档

controller设计说明文档
controller设计说明文档

Controller设计说明书

Controller设计说明文档

修订表

审批记录

目录

Controller功能简介 (4)

模块说明 (4)

Controller流程图 (4)

函数与结构体说明 (4)

模块一 (4)

模块二 (5)

模块三 (7)

模块四 (7)

模块五 (8)

模块六 (8)

调试信息的说明 (8)

Controller功能简介

Controller是作为服务器程序,它的功能有:

(1)对PC(Panel UI/TV UI)发出的控制命令运用网络通信的方式进行接收并对其解析处理,将指令结合硬件协议转化之后写入串口来控制相关设备;

(2)对WEB UI进过CGI发送过来的控制命令运用共享内存的方式进行接收,并结合硬件协议转化之后写入串口来控制相关设备;

(3)通过读取设备发过来的串口信息,对数据库进行更新设备状态;

(4)从数据库读取设备信息。

这里可以看到IGREEN软件系统架构图:

IGREEN软件系统架

构图.xlsx

上面对Controller的功能用图形表现出来,更能够加深理解。

模块说明

根据以上的功能说明以及架构图,可以把Controller分为以下六个模块:

(1)从数据库读取设备信息;

(2)运用网络通信的方式对接收到的控制命令进行解析处理,来唤醒相应的线程;

(3)运用共享内存的方式接收控制指令,并根据它来唤醒相应的线程;

(4)通过读取设备发过来的串口信息,对数据库进行更新设备状态;

(5)将得到的控制指令结合硬件协议转化之后写入串口来控制相关设备;

(6)通过发射红外码控制电视、DVD、空调等电器。

Controller流程图

以下是Controller设计的流程图,主要是对Controller整个设计过程的纵览,可以对Controller整个设计的思想更好的把握。

点击图标打开Controller设计流程图:

Microsoft Office

Word 文档

函数与结构体说明

模块一、从数据库读取设备信息

(1)init_module_map()函数

函数被调用的位置:该函数是在controller_ main()中调用的。

函数意义:读取数据库system表,对device_info[MOD_MAX]这个结构体数组进行初始化,在该函数中,运用了数据库查询语句"select module_name, type from system",得到表的两个属性module_name和type,并将其分别赋值给device_info[i].name和

device_info[i].type。

(2)device_info[MOD_MAX]结构体数组

struct _module_map

{

char name[64]; //Device Name

int type; //Device Type

}device_info[MOD_MAX];

用于存放从数据库读取的Device Name与Device Type。

(3)_reset()函数

返回值:返回的是一个int类型的,调用成功时返回0;

函数被调用的位置:该函数是在igreen.c的igreen_main()中调用的。

函数意义:对灯信息以及窗帘信息进行初始化设定。首先,对灯具信息的初始化,运用数据库查询语句"select lighting.id, netid, deviceid, node, level, type from lighting,

lighting_igreen where lighting.id = lighting_igreen.id order by deviceid,node",查询lighting及lighting_igreen两个表,将其属性值分别赋值给结构体数组

lighting_units[MAX_LIGHTING_NODE]的各成员变量;其次,对窗帘信息的初始化,运用数据库查询语句"select curtain.id, netid, deviceid, node from curtain, curtain_igreen where curtain.id = curtain_igreen.id order by deviceid",查询curtain及curtain_igreen两个表,将其属性值分别赋值给结构体数组curtain_units[MAX_LIGHTING_NODE]的各成员变量;

(4)lighting_units[MAX_LIGHTING_NODE]和curtain_units[MAX_LIGHTING_NODE] static struct _igreen_lighting

{

char id[CE_ID_LEN];// Lighting ID

int net_id; // Net ID

int device_id; // Device ID

int node_id; // Channel ID

int level; // Lighting Level

int type; // Lighting Type

}lighting_units[MAX_LIGHTING_NODE];

用于存放从数据库读取的灯具信息;

static struct _igreen_curtain

{

char id[CE_ID_LEN];// Curtain ID

int type; // 3 Lines:0, 2 Lines:1

int net_id; // Net ID

int device_id; // Device ID

int node; // Node ID

}curtain_units[MAX_CURTAIN_NODE];

用于存放从数据库读取的窗帘信息。

模块二、运用网络通信的方式对接收到的控制命令进行解析处理,来唤醒相应的线程

(1)controller_main()函数

函数的位置:该函数是在monitor.c中的main函数

函数的意义:该函数主要就是运用网络通信的方式接收控制命令,然后对该命令进行解析,获得device type以期唤醒相应的设备线程。

(2)socket(AF_INET, SOCK_DGRAM, 0)

返回值:非负的描述字

函数的位置:该函数是在monitor.c中的controller_main()函数中出现的

函数意义:创建一个UDP套接口,AF_INET表示的是IPv4协议,SOCK_DGRAM表示的是UDP套接口,0表示参数protocol。具体的介绍参考《Linux环境下的C编程指南》P327。该函数在这里的实际作用是分别创建server套接口和hbt套接口。

bind(s, (struct sockaddr*)&servaddr, sizeof(struct sockaddr_in))

返回值:返回值0表示成功

函数意义:绑定套接口函数bind,它的功能是为套接口分配一个本地协议地址,也就是本地IP地址与本地套接口的组合。具体的介绍参考《Linux环境下的C编程指南》P328。

sendto(hs, &hbt, sizeof(struct _ce_epack), 0, (struct sockaddr *)&hbtaddr, hlen);

返回值:函数返回实际写的字节数,如果出错则返回-1

函数意义:发送数据包,在这里的实际意义是发送心跳包到所有的用户。具体的介绍参考《Linux环境下的C编程指南》P355。

recvfrom(s, hdr, sizeof(CEHEADER), MSG_PEEK, (struct sockaddr*)&clntaddr,

&socklen)

返回值:函数返回实际读的字节数,如果出错则返回-1

函数意义:接收数据包,在这里的实际意义是接收控制命令包,具体的介绍参考《Linux环境下的C编程指南》P355。

(3)pack_handle(s, hdr, &clntaddr)

函数位置:该函数是在monitor.c中的controller_main()函数中调用的

函数意义:对接收到的命令包进行解析并唤醒相应的线程。将接受的指令包赋值给结构体ce_msg_t msg。

(4)_update_client(ip)

函数位置:该函数是在monitor.c中的pack_handle(s, hdr, &clntaddr)函数中调用的

函数意义:更新客户的IP记录

_chk_client(ip)

函数意义:检查客户的IP是否在记录当中

_add_client(ip, h->seq)

函数意义:将客户的IP保存记录

(5)ce_msg_t msg

typedef struct _ce_msg

{

unsigned int session; /* Especially, session = 0 when this message comes

from scenario thread. */ unsigned char seq; /* Iddo. */

char dev_id[CE_ID_LEN];

char cmd[CE_CMD_LEN];

}ce_msg_t;

该结构体用于存放解析完成后的命令以及运用共享内存接收到的CGI的命令。

(6)get_queue(msg->dev_id)

函数位置:该函数是在monitor.c中的pack_handle(s, hdr, &clntaddr)函数中调用的以及在gateway.c中的gateway_main()中被调用。

函数意义:根据msg->dev_id获得device type,在这里将msg->dev_id与

device_info[i].name进行比较,然后将device_info[i].type赋值给deviceType作为返回值返回。

(7)ce_put_msg(msg, q)

函数位置:该函数是在monitor.c中的pack_handle(s, hdr, &clntaddr)函数中调用的以及在gateway.c中的gateway_main()中被调用。

函数意义:根据获得的deviceType来唤醒相应的线程。

模块三、运用共享内存的方式接收控制指令,并根据它来唤醒相应的线程

(1)void *gateway_main(void *arg)

函数位置:该函数是gateway.c的main函数

函数意义:运用共、共享内存与CGI进行通信,接收命令指令存放在结构体ce_msg_t msg中。

(2)semid=semget(key,3,IPC_CREA T|0666)创建信号量

semctl(semid,SERVER,SETV AL,sunion)设置信号量的初始值

shmid=shmget(key,SHMDA TASIZE,IPC_CREA T|0666)创建共享内存

data=shmat(shmid,0,0)将该共享内存附加到进程的地址空间

以上函数都是Linux的系统函数,具体的介绍参考《Linux环境下的C编程指南》第11章进程间通信。

(3)get_queue(msg->dev_id)与ce_put_msg(msg, q)参见之前的介绍

模块四、通过读取设备发过来的串口信息,对数据库进行更新设备状态

(1)void* _update(void *args)

函数位置:该函数是在igreen.c中的igreen_main()中被调用

函数意义:读取串口信息并将其存放在结构体arg *threadArg中,然后对数据库进行设备状态的更新。

(2)readlen=tread(fd_igreen,buf,sizeof(buf),101,IGREEN)

函数位置:该函数是在igreen.c中的_update()中被调用

函数意义:从串口中读取数据存放在buf中。在这里调用了read(fd, buf, nbytes)是Linux 中用来读取文件的系统函数,具体的介绍参考《Linux环境下的C编程指南》P196。

(3)arg *threadArg

typedef struct{

char *buf;

int len;

}arg;

该结构体用于存放从串口读取数据内容和它的长度。

(4)void *parse(void * args)

传入参数:(void *)threadArg,即从串口中读取的数据。

函数位置:该函数是在igreen.c中的_update()中被调用

函数意义:对得到的串口数据更新数据库,在该函数中,运用了数据库的更新语句

sprintf(sql,"update lighting set level=%d where id =(select id from lighting_igreen where"

"netid=%d and deviceid=%d and node=%d )", (buf[i+12]==0x01)?(int)(((buf[i+13]<<8 |

buf[i+14]))/(MAX_LEVEL-BASE_LEVEL)*100:0,buf[i+5],buf[i+6],buf[i+11])对dimmer的情况下的lighting表进行更新;运用了数据库的更新语句sprintf(sql,"update lighting set level=%d "where id =(select id from lighting_igreen where netid=%d and deviceid=%d and node=%d )", 100*buf[i+12],buf[i+5],buf[i+6],buf[i+11]) 对relay的情况下的lighting表进行更新

模块五、将得到的控制指令结合硬件协议转化之后写入串口来控制相关设备。

(1)void _msg_handle(ce_msg_t *msg)

传入参数:msg解析完成后的命令

函数位置:该函数是在igreen.c中的igreen_main()中被调用

函数意义:将得到的控制指令结合硬件协议转化打包成control_cmd[17]之后写入串口来控制相关设备。

(2)twrite(fd_igreen, control_cmd, 17,IGREEN)

函数位置:该函数是在igreen.c中的_msg_handle(ce_msg_t *msg)中被调用

函数意义:将结合硬件协议转化打包好的control_cmd[17]指令写到串口当中去。在这里调用了write(fd,buf,count)是Linux用来对文件进行写操作的系统函数,具体的介绍参考《Linux环境下的C编程指南》P194。

模块六、红外模块。(在这里讲述控制电视的过程运用到的函数,DVD、空调类似)(1)_msg_handle(msg)

函数位置:该函数是在tv.c中的tv_main()中被调用的

函数意义:当web等客户端发送控制电视命令的时候,命令的格式

msg->dev_id=CE-TV-0;msg->cmd=channelup,然后通过ce_put_msg(msg,q)函数唤醒tv线程,这时候在_msg_handle(msg)中对该命令进行处理,运用SQL语句sprintf(sql, "select controllerid, %s from tv_ir where id = '%s'", msg->cmd, msg->dev_id);查询tv_ir表,得到相应的ir的id以及红外编码,将其写成命令格式为msg->dev_id=CE-TV-0;msg->cmd=send 12,然后通过ce_put_msg(msg,q)函数唤醒ir线程。

(2)ir_igreen_main()

函数位置:该函数是在ir_igreen.c中的main函数

函数意义:当ir线程被唤醒时,就会进入该函数,处理与ir的整个模块。

(3)_msg_handle(msg)

函数位置:该函数是在ir_igreen.c中的ir_igreen_main()中被调用的

函数意义:处理ir编码的学习与发送。对于ir编码的发送,根据传输过来的命令与设备ID来查询相应的数据库得到对于的ir编码,然后调用send函数将编码发送给相应的设备;对与ir编码的学习,负责将接收到的红外编码更新到数据库当中去。

调试信息的说明

1、controller启动的DEBUG

DEBUG, IQI: Initing IQI Ligthing module...

解释:正在初始化灯具模块;

DEBUG,IQI: Cannot load IQI lighting module.

解释:不能载入灯具模块

DEBUG, IQI: Load IQI Lighting module success.

解释:成功载入灯具模块

DEBUG, IQI: Initing IQI Curtain module...

解释:正在初始化窗帘模块

DEBUG,IQI: Cannot load IQI Curtain module.

解释:不能载入窗帘模块

DEBUG,IQI: Load IQI Curtain module success.

解释:成功载入窗帘模块

DEBUG,IQI:Look up haitrans is work?

解释:查询第三方软件是否在运作

DEBUG, IQI:haitrans doesn't work

解释:第三方软件没有在运作

DEBUG,IQI:haitrans does work

解释:第三方软件在运作

2、Panel控制过程产生的调试信息

DEBUG,Out of memory: can't alloc memory for protocol header!

解释:内存溢出,不能为协议header分配内存

2011-06-24 15:21:59 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:1

2011-06-24 15:21:59 | DEBUG, LNK_REQ

2011-06-24 15:21:59 | DEBUG, _add_client 222222 seq:1

2011-06-24 15:21:59 | DEBUG, client 192.168.1.111 connected, session = 0x4E0A342F 解释:如果出现以上的信息,就说明Panel已经连接上了,红色字体是连接的机子IP,在这里对于不同的PC会不一样的,需要注意。

2011-06-24 15:22:20 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:2

2011-06-24 15:22:20 | DEBUG, LNK_ALV

2011-06-24 15:22:23 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:2

2011-06-24 15:22:23 | DEBUG, LNK_ALV

解释:如果Panel开始运行,就会每隔3s发出一个对心跳包反馈的请求,证明一直处于连接上的状态。

DEBUG,Client session 0x4E0A342F lost connection.

解释:如果在30s之内没有收到用户LNK_ALV 的反馈就会打印出该信息说明该PC 断开连接了。

控灯调试信息:

1、对relay开

2011-06-24 15:25:41 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:3

2011-06-24 15:25:41 | DEBUG, OPE_REQ

2011-06-24 15:25:41 | DEBUG, CMD:level=100, DEV:CE-LIGHTING-69 SEQ:3 //对

//指令进行解析2011-06-24 15:25:41 | DEBUG, 1111>>>>q: 22

2011-06-24 15:25:41 | DEBUG, msg session 1309291567,seq 3,id CE-LIGHTING-69,cmd l

evel=100

2011-06-24 15:25:41 | DEBUG, IQI: _msg_handle //开始将指令写入串口2011-06-24 15:25:41 | DEBUG, IQI: _msg_handle----------------LIGHTING

2011-06-24 15:25:41 | DEBUG, id = CE-LIGHTING-69, cmd = 'level=100', netid = 1,

deviceid = 5, node = 6, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 06 01 00 00 00 00 //串口信息

***************************

********** _update Ack Data ************ //对数据进行更新

ff 55 00 00 00 01 05 08 20 05 05 06 01 00 00 00 00 00

***************************

2、对relay关

>>>>>>>>>>>>>>>>SeqNumber:4

2011-06-24 15:34:41 | DEBUG, OPE_REQ

2011-06-24 15:34:41 | DEBUG, CMD:level=0, DEV:CE-LIGHTING-69 SEQ:4

2011-06-24 15:34:41 | DEBUG, 1111>>>>q: 22 //对指令进行解析controller_main() 2011-06-24 15:34:41 | DEBUG, msg session 1309291567,seq 4,id CE-LIGHTING-69,cmd level=0

2011-06-24 15:34:41 | DEBUG, IQI: _msg_handle

2011-06-24 15:34:41 | DEBUG, IQI: _msg_handle----------------LIGHTING

2011-06-24 15:34:41 | DEBUG, id = CE-LIGHTING-69, cmd = 'level=0', netid = 1, deviceid = 5, node = 6, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 06 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 06 00 00 00 00 00 00

***************************

3、对demmer调亮光

>>>>>>>>>>>>>>>>SeqNumber:5

2011-06-24 15:35:47 | DEBUG, OPE_REQ

2011-06-24 15:35:47 | DEBUG, CMD:level=57, DEV:CE-LIGHTING-68 SEQ:5

2011-06-24 15:35:47 | DEBUG, 1111>>>>q: 22

2011-06-24 15:35:47 | DEBUG, msg session 1309291567,seq 5,id CE-LIGHTING-68,cmd level=57

2011-06-24 15:35:47 | DEBUG, IQI: _msg_handle

2011-06-24 15:35:47 | DEBUG, IQI: _msg_handle----------------LIGHTING

2011-06-24 15:35:47 | DEBUG, ------------------set_level:456

2011-06-24 15:35:47 | DEBUG, id = CE-LIGHTING-68, cmd = 'level=57', netid = 1, deviceid = 15, node = 2, level = 57

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 0f 00 00 08 01 04 00 02 01 01 c8 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 0f 08 20 04 01 02 01 01 c8 00 0c 00

***************************

4、对demmer调暗

>>>>>>>>>>>>>>>>SeqNumber:6

2011-06-24 15:36:45 | DEBUG, OPE_REQ

2011-06-24 15:36:45 | DEBUG, CMD:level=23, DEV:CE-LIGHTING-68 SEQ:6

2011-06-24 15:36:45 | DEBUG, 1111>>>>q: 22

2011-06-24 15:36:45 | DEBUG, msg session 1309291567,seq 6,id CE-LIGHTING-68,cmd level=23

2011-06-24 15:36:45 | DEBUG, IQI: _msg_handle

2011-06-24 15:36:45 | DEBUG, IQI: _msg_handle----------------LIGHTING

2011-06-24 15:36:45 | DEBUG, ------------------set_level:184

2011-06-24 15:36:45 | DEBUG, id = CE-LIGHTING-68, cmd = 'level=23', netid = 1, deviceid = 15, node = 2, level = 23

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 0f 00 00 08 01 04 00 02 01 00 b8 00 00

***************************

********** _update Ack Data ************

ff 55 00 01 05 01 3c 08 01 05 05 04 01 00 05 00 00 00

ff 55 00 00 00 01 05 08 20 05 05 04 01 00 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 0f 08 20 04 01 02 01 00 b8 00 0c 00

5、对窗帘开

2011-06-24 15:38:06 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:7

2011-06-24 15:38:06 | DEBUG, OPE_REQ

2011-06-24 15:38:06 | DEBUG, CMD:open, DEV:CE-CURTAIN-1 SEQ:7

2011-06-24 15:38:06 | DEBUG, 1111>>>>q: 22

2011-06-24 15:38:06 | DEBUG, msg session 1309291567,seq 7,id CE-CURTAIN-1,cmd open

2011-06-24 15:38:06 | DEBUG, IQI: _msg_handle

2011-06-24 15:38:06 | DEBUG, IQI: _msg_handle----------------Curtain

********** >>>>>>>>>>>>Open Curtain ************

ff 55 00 01 40 00 00 08 01 07 00 01 01 00 00 00 00

***************************

6、对窗帘停

2011-06-24 15:39:27 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:8

2011-06-24 15:39:27 | DEBUG, OPE_REQ

2011-06-24 15:39:27 | DEBUG, CMD:stop, DEV:CE-CURTAIN-1 SEQ:8

2011-06-24 15:39:27 | DEBUG, 1111>>>>q: 22

2011-06-24 15:39:27 | DEBUG, msg session 1309291567,seq 8,id CE-CURTAIN-1,cmd stop 2011-06-24 15:39:27 | DEBUG, IQI: _msg_handle

2011-06-24 15:39:27 | DEBUG, IQI: _msg_handle----------------Curtain

********** >>>>>>>>>>>>Stop Curtain ************

ff 55 00 01 40 00 00 08 01 07 00 01 07 00 00 00 00

***************************

7、对窗帘关

2011-06-24 15:40:22 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:9

2011-06-24 15:40:22 | DEBUG, OPE_REQ

2011-06-24 15:40:22 | DEBUG, CMD:close, DEV:CE-CURTAIN-1 SEQ:9

2011-06-24 15:40:22 | DEBUG, 1111>>>>q: 22

2011-06-24 15:40:22 | DEBUG, msg session 1309291567,seq 9,id CE-CURTAIN-1,cmd close

2011-06-24 15:40:22 | DEBUG, IQI: _msg_handle

2011-06-24 15:40:22 | DEBUG, IQI: _msg_handle----------------Curtain

********** >>>>>>>>>>>>Close Curtain ************

ff 55 00 01 40 00 00 08 01 07 00 01 02 00 00 00 00

***************************

8、对音源操作

2011-06-24 15:40:56 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:10

2011-06-24 15:40:56 | DEBUG, OPE_REQ

2011-06-24 15:40:56 | DEBUG, CMD:power on, DEV:CE-AUDIO-1 SEQ:10

2011-06-24 15:40:56 | DEBUG, 1111>>>>q: 24

2011-06-24 15:40:56 | DEBUG, -------->>>>>>>>>>>>>>HAI HIFI: _msg_handle

2011-06-24 15:40:56 | DEBUG, -------->>>>>>>>>>>>>>HAI HIFI: set_power, node:2, status:1

2011-06-24 15:40:56 | DEBUG, *Z02ON

2011-06-24 15:40:56 | DEBUG, HAI HIFI set power SQL: update

audio_zone_hifi,audio_zone set power=1 where audio_zone.id=audio_zone_hifi.id and

audio_zone_hifi.node=2;

2011-06-24 15:40:56 | DEBUG, -------->>>>>>>>>>>>>>HAI HIFI: set_volume, node:2, volume:50

2011-06-24 15:40:56 | DEBUG, *Z02VOL50

2011-06-24 15:40:56 | DEBUG, HAI HIFI set volume SQL:update audio_zone set level= 50 where id=(select id from audio_zone_hifi where node=2)

2011-06-24 15:40:57 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:11

9、对音源调音量的操作

2011-06-24 15:44:21 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:11

2011-06-24 15:44:21 | DEBUG, OPE_REQ

2011-06-24 15:44:21 | DEBUG, CMD:level=28, DEV:CE-AUDIO-1 SEQ:11

2011-06-24 15:44:21 | DEBUG, 1111>>>>q: 24

2011-06-24 15:44:21 | DEBUG, -------->>>>>>>>>>>>>>HAI HIFI: _msg_handle

2011-06-24 15:44:21 | DEBUG, -------->>>>>>>>>>>>>>HAI HIFI: set_power, node:2, status:1

2011-06-24 15:44:21 | DEBUG, *Z02ON

2011-06-24 15:44:21 | DEBUG, HAI HIFI set power SQL: update

audio_zone_hifi,audio_zone set power=1 where audio_zone.id=audio_zone_hifi.id and

audio_zone_hifi.node=2;

2011-06-24 15:44:21 | DEBUG, -------->>>>>>>>>>>>>>HAI HIFI: set_volume, node:2, volume:28

2011-06-24 15:44:21 | DEBUG, *Z02VOL28

2011-06-24 15:44:21 | DEBUG, HAI HIFI set volume SQL:update audio_zone set level= 28 where id=(select id from audio_zone_hifi where node=2)

10、所有灯全关,情境操作

2011-06-24 15:47:11 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:16

2011-06-24 15:47:11 | DEBUG, OPE_REQ

2011-06-24 15:47:11 | DEBUG, CMD:active, DEV:CE-SCENARIO-110 SEQ:16

2011-06-24 15:47:11 | DEBUG, 1111>>>>q: 0

2011-06-24 15:47:11 | DEBUG, SCENARIO: CE-LIGHTING-71, all_lighting_off

2011-06-24 15:47:11 | DEBUG, msg session 0,seq 0,id CE-LIGHTING-71,cmd

all_lighting_off

2011-06-24 15:47:11 | DEBUG, IQI: _msg_handle

2011-06-24 15:47:11 | DEBUG, IQI: _msg_handle----------------LIGHTING

2011-06-24 15:47:11 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 1, node = 1, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 01 00 00 08 01 04 00 01 02 00 00 00 00

***************************

2011-06-24 15:47:11 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 3, node = 1, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 03 00 00 08 01 05 00 01 02 00 00 00 00

***************************

2011-06-24 15:47:12 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:17

2011-06-24 15:47:12 | DEBUG, LNK_ALV

********** _update Ack Data ************

ff 55 00 00 00 01 03 08 20 05 03 01 00 00 00 00 00 00

***************************

2011-06-24 15:47:12 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 3, node = 2, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 03 00 00 08 01 05 00 02 02 00 00 00 00

***************************

2011-06-24 15:47:12 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 3, node = 3, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 03 00 00 08 01 05 00 03 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 03 08 20 05 03 02 00 00 00 00 00 00

***************************

2011-06-24 15:47:12 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 3, node = 4, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 03 00 00 08 01 05 00 04 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 03 08 20 05 03 03 00 00 00 00 00 00

***************************

2011-06-24 15:47:13 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 5, node = 1, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 01 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 03 08 20 05 03 04 00 00 00 00 00 00

***************************

2011-06-24 15:47:13 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 5, node = 2, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 02 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 01 00 00 00 00 00 00

***************************

2011-06-24 15:47:13 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 5, node = 3, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 03 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 02 00 00 00 00 00 00

***************************

2011-06-24 15:47:13 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 5, node = 5, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 05 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 03 00 00 00 00 00 00

***************************

2011-06-24 15:47:14 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 5, node = 6, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 06 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 05 00 00 00 00 00 00

***************************

2011-06-24 15:47:14 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 15, node = 1, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 0f 00 00 08 01 04 00 01 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 06 00 00 00 00 00 00

***************************

2011-06-24 15:47:14 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 15, node = 2, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 0f 00 00 08 01 04 00 02 02 00 00 00 00

***************************

2011-06-24 15:47:15 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:17

2011-06-24 15:47:15 | DEBUG, LNK_ALV

2011-06-24 15:47:15 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 15, node = 3, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 0f 00 00 08 01 04 00 03 02 00 00 00 00

***************************

2011-06-24 15:47:15 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 15, node = 4, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 0f 00 00 08 01 04 00 04 02 00 00 00 00

***************************

2011-06-24 15:47:15 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 16, node = 1, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 10 00 00 08 01 04 00 01 02 00 00 00 00

***************************

2011-06-24 15:47:16 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 16, node = 2, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 10 00 00 08 01 04 00 02 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 0f 08 20 04 01 01 00 00 00 00 0c 00

***************************

2011-06-24 15:47:16 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 16, node = 3, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 10 00 00 08 01 04 00 03 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 0f 08 20 04 01 02 00 00 00 00 0c 00

***************************

2011-06-24 15:47:16 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_off', netid = 1, deviceid = 16, node = 4, level = 0

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 10 00 00 08 01 04 00 04 02 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 0f 08 20 04 01 03 00 00 00 00 0c 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 0f 08 20 04 01 04 00 00 00 00 0c 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 10 08 20 04 01 01 00 00 00 00 0c 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 10 08 20 04 01 02 00 00 00 00 0c 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 10 08 20 04 01 03 00 00 00 00 0c 00

***************************

2011-06-24 15:47:18 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:17

2011-06-24 15:47:18 | DEBUG, LNK_ALV

********** _update Ack Data ************

ff 55 00 00 00 01 10 08 20 04 01 04 00 00 00 00 0c 00

***************************

11、所有灯全开

2011-06-24 15:48:34 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:17

2011-06-24 15:48:34 | DEBUG, OPE_REQ

2011-06-24 15:48:34 | DEBUG, CMD:active, DEV:CE-SCENARIO-5 SEQ:17

2011-06-24 15:48:34 | DEBUG, 1111>>>>q: 0

2011-06-24 15:48:34 | DEBUG, SCENARIO: CE-LIGHTING-71, all_lighting_on

2011-06-24 15:48:34 | DEBUG, msg session 0,seq 0,id CE-LIGHTING-71,cmd

all_lighting_on

2011-06-24 15:48:34 | DEBUG, IQI: _msg_handle

2011-06-24 15:48:34 | DEBUG, IQI: _msg_handle----------------LIGHTING

2011-06-24 15:48:34 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 1, node = 1, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 01 00 00 08 01 04 00 01 01 03 20 00 00

***************************

2011-06-24 15:48:34 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 3, node = 1, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 03 00 00 08 01 05 00 01 01 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 03 08 20 05 03 01 01 00 00 00 00 00

***************************

2011-06-24 15:48:35 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 3, node = 2, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 03 00 00 08 01 05 00 02 01 00 00 00 00

***************************

2011-06-24 15:48:35 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 3, node = 3, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 03 00 00 08 01 05 00 03 01 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 03 08 20 05 03 02 01 00 00 00 00 00

***************************

2011-06-24 15:48:35 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 3, node = 4, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 03 00 00 08 01 05 00 04 01 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 03 08 20 05 03 03 01 00 00 00 00 00

***************************

2011-06-24 15:48:36 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 5, node = 1, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 01 01 00 00 00 00

***************************

2011-06-24 15:48:36 | DEBUG, >>>>>>>>>>>>>>>>SeqNumber:18

2011-06-24 15:48:36 | DEBUG, LNK_ALV

********** _update Ack Data ************

ff 55 00 00 00 01 03 08 20 05 03 04 01 00 00 00 00 00

***************************

2011-06-24 15:48:36 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 5, node = 2, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 02 01 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 01 01 00 00 00 00 00

***************************

2011-06-24 15:48:36 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 5, node = 3, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 03 01 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 02 01 00 00 00 00 00

***************************

2011-06-24 15:48:36 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 5, node = 5, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 05 01 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 03 01 00 00 00 00 00

***************************

2011-06-24 15:48:37 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 5, node = 6, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 05 00 00 08 01 05 00 06 01 00 00 00 00

***************************

********** _update Ack Data ************

ff 55 00 00 00 01 05 08 20 05 05 05 01 00 00 00 00 00

***************************

2011-06-24 15:48:37 | DEBUG, id = CE-LIGHTING-71, cmd = 'all_lighting_on', netid = 1, deviceid = 15, node = 1, level = 100

********** >>>>>>>>>>>>Control Data ************

ff 55 00 01 0f 00 00 08 01 04 00 01 01 03 20 00 00

软件项目详细设计文档示例模版

XXX软件/项目/系统 详细设计说明书 拟制日期 评审人日期 批准日期 编写单位或个人

修订历史

目录 XXX软件详细设计说明书 (1) Revision Record 修订记录 (2) 1引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3参考资料 (1) 1.4术语定义及说明 (1) 2设计概述 (1) 2.1任务和目标 (1) 2.1.1需求概述 (1) 2.1.2运行环境概述 (1) 2.1.3条件与限制 (1) 2.1.4详细设计方法和工具 (1) 3系统详细需求分析 (1) 3.1详细需求分析 (2) 3.2详细系统运行环境及限制条件分析接口需求分析 (2) 4总体方案确认 (2) 4.1系统总体结构确认 (2) 4.2系统详细界面划分 (2) 4.2.1应用系统与支撑系统的详细界面划分 (2) 4.2.2系统内部详细界面划分 (2) 5系统详细设计 (2) 5.1系统结构设计及子系统划分 (3) 5.2系统功能模块详细设计 (3) 5.3系统界面详细设计 (3) 5.3.1外部界面设计 (3) 5.3.2内部界面设计 (3) 5.3.3用户界面设计 (3) 6、数据库系统设计 (4) 6.1设计要求 (4) 6.2 信息模型设计 (4) 6.3数据库设计 (4) 6.3.1设计依据 (4) 6.3.2数据库种类及特点 (4) 6.3.3数据库逻辑结构 (4) 6.3.4物理结构设计 (4) 6.3.5数据库安全 (4) 6.3.6数据字典 (4) 7非功能性设计 (4) 8 (5) 9环境配置 (5)

1引言 1.1编写目的 说明编制的目的是,大体上介绍一下软件系统中各层次中模块或子程序、以及数据库系统的设计考虑,表明此文档是主要是为编码人员提供服务,并且其他类型的项目参与人员也可以通过此文档对软件/项目有更深入了解。 1.2背景 说明此软件或系统的项目背景、需求背景、开发目的等,还可以列出参与人员等相关信息。 1.3参考资料 列出本文档中引用的文献、资料、标准等相关信息(一般是具有出版或版权性质的文件)。 1.4术语定义及说明 列出文档中用到的和开发有关,或与行业、业务、需求有关的专业术语,并进行解释。 2设计概述 2.1任务和目标 说明详细设计的任务及详细设计所要达到的目标。 2.1.1需求概述 对所开发软件的概要描述, 包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。 2.1.2运行环境概述 对本系统所依赖于运行的硬件,包括操作系统、数据库系统、运行库、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。 2.1.3条件与限制 详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。 2.1.4详细设计方法和工具 简要说明详细设计所采用的方法和使用的工具,如数据库设计工具、界面设计工具、原型设计工具等。 3系统详细需求分析 主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。

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

《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 处理流程 下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分

软件著作权设计说明书范本资料

软件著作权-说明书范本(二) 设计说明书 中国版权保护中心接收登记的文档包含两种:操作说明书或设计说明书。 设计说明书适合没有界面的嵌入式软件,插件软件,后台运行软件以及游戏软件。一般包含结构图,软件流程图,函数说明,模块说明,数据接口,出错设计等。 操作说明书适合管理类软件,有操作界面,一般应包含登录界面,主界面,功能界面截图,截图之间有相应的文字说明,能全面展示软件的主要功能。 格式要求:一、说明书应提交前、后各连续30页,不足60页的,应当全部提交。 二、说明书页眉应标注软件的名称和版本号,应当与申请表中名称完 全一致,页眉右上应标注页码,说明书每页不少于30行,有图除 外,另外截图应该清晰完整。 范例如下: 设计说明书

一、引言 目的 编写详细设计说明书是软件开发过程必不可少的部分,其目的是为了使开发人员在完成概要设计说明书的基础上完成概要设计规定的各项模块的具体实现的设计工作。 二、软件总体设计 2.1软件需求概括 本软件采用传统的软件开发生命周期的方法,采用自顶向下,逐步求精的结构化的软件设计方法。 本软件主要有以下几方面的功能 (1)连接设备 (2)提取数据 (3)保存数据 (4)删除仪器数据 (5)查看历史数据 定义 本项目定义为一个典型的多点互动探伤软件。它将实现多点设备和系统程序的无缝对接,以实现多点互动功能。 2.2需求概述 1.要求利用PQLib硬件商提供的SDK开发出对应的触摸屏系统。 2.系统要显示图片,并实现图片相关所有的多点操作,包括放大,缩小,旋转,平移的功能。 3.要提供美观的图片菜单,在菜单中要提供必要的图片简介信息。 4.系统图片的维护更新要方便。 2.3条件与限制 系统开发的条件是普通PC以及相对应的系统,本次开发所用的系统是WINDOW SERVER2003以及ADOBE FlashCS4。由于硬件开发商提供的开发文档不是很详尽,这对系统开发产生了一定限制影响。 总体设计 2.4总体结构和模块接口设计 系统整体结构框架如图

软件设计文档国家标准-概要设计说明书

概要设计说明书 1引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料 2总体设计 2.1需求规定 2.2运行环境 2.3基本设计概念和处理流程 2.4结构 2.5功能器求与程序的关系 2.6人工处理过程 2.7尚未问决的问题 3接口设计 3.1用户接口 3.2外部接口 3.3内部接口 4运行设计 4.1运行模块组合 4.2运行控制 4.3运行时间 5系统数据结构设计 5.1逻辑结构设计要点 5.2物理结构设计要点 5.3数据结构与程序的关系 6.1出错信息 6.2补救措施 6.3系统维护设计 1引言 1.1编写目的 说明编写这份概要设计说明书的目的,指出预期的读者。

1.2背景 说明: a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。 1.3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出有关的参考文件,如: a.本项目的经核准的计划任务书或合同,上级机关的批文; b.属于本项目的其他已发表文件; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标 题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2总体设计 2.1需求规定 说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。2.2运行环境 简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。 2.3基本设计概念和处理流程 说明本系统的基本设计概念和处理流程,尽量使用图表的形式。 2.4结构 用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系. 2.5功能器求与程序的关系

概要设计说明书实例

1 引言 (3) 1.1 编写目的 (3) 1.2 背景 (3) 1.3 定义 (3) 1.4 参考资料 (3) 2 总体设计 (3) 2.1 简述 (3) 2.2 架构设计 (4) 2.2.1 系统逻辑架构图 (4) 2.2.2 系统物理架构图 (4) 2.2.3 顶层系统包图 (5) 2.2.4 业务类包图 (6) 2.2.5 子系统关系图 (6) 2.3 接口设计 (6) 2.3.1 界面框架设计 (6) 2.3.2 外部接口设计 (7) 3 子系统设计 (7) 3.1 基础信息子系统 (7) 3.1.1 子系统说明 (7) 3.1.2 类图 (8) 3.1.3 类说明 (12) 3.1.4 界面设计 (19) 3.2 我的工作台子系统 (21) 3.2.1 子系统说明 (21) 3.2.2 类图 (22) 3.2.3 类说明 (26) 3.2.4 界面设计 (32) 3.3 工作进展子系统 (33) 3.3.1 子系统说明 (33) 3.3.2 类图 (34) 3.3.3 类说明 (34) 3.3.4 界面设计 (34) 3.4 信息发布子系统 (36) 3.4.1 子系统说明 (36) 3.4.2 类图 (36) 3.4.3 类说明 (37) 3.4.4 界面设计 (38) 3.5 系统管理子系统 (38) 3.5.1 子系统说明 (38) 3.5.2 类图 (39) 3.5.3 类说明 (39) 3.5.4 界面设计 (40) 3.6 个人设置子系统 (41)

3.6.1 子系统说明 (41) 3.6.2 类图 (42) 3.6.3 类说明 (43) 3.6.4 界面设计 (44) 4 约束和假定 (45) 5 系统数据结构设计 (45) 5.1 逻辑结构设计 (45) 5.1.1 角色表(PUBLIC_ROLE) (46) 5.1.2 权限表(PUBLIC_PRIVILEGE) (46) 5.1.3 角色权限表(PUBLIC_ROLEPRIVILEGE) (46) 5.1.4 部门表(PUBLIC_ DEPT) (46) 5.1.5 岗位表(PUBLIC_POST) (47) 5.1.6 员工表(PUBLIC_MEMBER) (47) 5.1.7 工作任务表(WORKPLAN_ TASK) (48) 5.1.8 任务分派表(WORKPLAN_ ALLOTTASK) (48) 5.1.9 工作计划表(WORKPLAN_ PLAN) (48) 5.1.10 计划任务表(WORKPLAN_ PLANTASK) (49) 5.1.11 工作日志表(WORKPLAN_ WORKLOG) (49) 5.1.12 工作汇报表(WORKPLAN_ WORKREPORT) (50) 5.1.13 信息发布表(PUBLIC_ PUBLISHINFO) (50) 5.1.14 收件箱表(PUBLIC_INBOX) (50) 5.1.15 系统操作日志表(PUBLIC_OPERA TELOG) (51) 5.1.16 个人提醒设置表(PUBLIC_EVENTS) (51) 5.1.17 系统表(PUBLIC_SYSTEM) (52) 5.1.18 系统功能模块表(PUBLIC_SYSTEMMODULE) (52) 5.2 物理结构设计 (52) 5.3 数据结构与程序的关系 (52) 6 系统出错处理设计 (52) 6.1 出错信息 (52) 6.2 补救措施 (53) 6.3 系统维护设计 (53)

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

《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) 1.2系统概述 (1) 1.3文档概述 (1) 2引用文档 (1) 3CSCI 级设计决策 (1) 4CSCI 体系结构设计 (2) 4.1CSCI部件 (2) 4.2执行方案 (3) 4.3接口设计 (3) 4.3.1接口标识和接口图 (3) 4.3.x (接口的项目唯一标识符) (4) 5CSCI 详细设计 (6) 5.X (软件单元的项目唯一标识符,或者一组软件单元的标志符) (6) 6需求可追踪性 (9) 7注解 (11) 附录A (11)

软件设计说明 1范围 1.1标识 要求:本节应包含这个文档所适用的系统和软件的完全标识,(若适用)应包括标识号、名称、缩略名、版本号及发布号。 1.2系统概述 要求: 1)本节主要描述本文档适用的系统和软件的用途; 2)概述系统开发、运行和维护的历史; 3)标识项目的投资方、需方、用户、开发方和保障机构; 4)标识当前和计划的运行现场; 5)列出其它有关文档。 1.3文档概述 本节应概述本文档的用途和内容,描述与它的使用有关的保密性或私密性考虑。 2引用文档 列出引用的所有文档,包括文档的编号、标题、修订版本和日期。 3CSCI 级设计决策 要求:本章应根据需要分节给出CSCI 级设计决策,即CSCI 行为设计的决策(忽略其内部实现,从用户角度出发描述系统将怎样运转以满足需求)和其它影响组成该CSCI 的软件单元的选择与设计的决策。如果在需求中所有这些决策是明确的,或者这些决策要推迟到CSCI 的软件单元的设计时指出,则本章应如实陈述。 针对关键性需求(例如对安全性、保密性、私密性等需求)作出的设计决策,应在专门的章节中加以叙述。 CSCI 级设计决策的例子如下: 1)关于CSCI 将接收的输入和将产生的输出的设计决策,包括与其它系统、HWCI、CSCI 和用户的接口(本文档的4.3.x 节指出本说明要考虑的主题); 2)有关响应每个输入或条件的CSCI 行为的设计决策,包括CSCI 要执行的动作、响应时间和其它性能特性,模型化的物理系统的说明,选定的方程式/算法/规则,以及对不允许的输入或条件进行的处理; 3)有关数据库/数据文件如何呈现给用户的设计决策(本文档的4.3.x 节标识了本说明

软件设计说明书范本

编号∶______ 版本∶______ 软件详细设计说明书 项目名称:xxxxxxxxxxxx子系统 委托单位: 承办单位: 编写: xxxxxx 2002 年05 月01 日 校对: xxxxxx 2002 年05 月10 日 审核: xxxxxx 2002 年05 月15 日 批准: xxxxxx 2002 年05 月25 日

目录 1.引言 (3) 1.1目的 (3) 1.2背景 (3) 1.3参考资料 (3) 2.总体设计 (4) 2.1软件描述 (4) 2.2设计方法 (4) 2.3软件结构 (4) 2.4模块设计说明 (10) 2.4.1总控模块 (10) 2.4.2所长室模块 (10) 2.4.3综合室模块 (18) 2.4.5 机械一室模块 (27) 2.4.6 机械二室模块 (31) 2.4.7 化工一室模块 (36) 2.4.7化工二室模块 (40) 2.4.8电器室模块 (40) 2.4.9轻工室模块 (40) 2.4.10统计汇总模块 (41) 2.4.11领导查询模块 (41) 2.4.12公共查询模块 (42)

1.引言 1.1目的 编写详细设计说明书是软件开发过程必不可少的部分,其目的是为了使开发人员在完成概要设计说明书的基础上完成概要设计规定的各项模块的具体实现的设计工作。 1.2背景 一、软件名称 检测信息系统质量监督检验子模块 二、相关单位 委托单位∶技术检测中心 承办单位∶石油大学(华东) 主管部门∶技术检测中心信息中心 1.3参考资料 1、<<石油工业应用软件工程规范>> SY/T 5232-1999 2、实用软件工程郑人杰清华大学出版社

软件开发功能模块详细设计文档

功能模块详细设计说明书 编写目的................................................... 项目背景................................................... 定义....................................................... 参考资料................................................... 2.总体设计.................................................... 需求概述................................................... 软件结构................................................... 3.程序描述.................................................... 功能....................................................... 性能....................................................... 输入项目................................................... 输出项目................................................... 算法....................................................... 程序逻辑................................................... 接口....................................................... 存储分配................................................... 限制条件................................................... 测试要点...................................................

概要设计说明书(GB8567)

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2总体设计 (2) 2.1需求规定 (2) 2.2运行环境 (2) 2.3基本设计概念和处理流程 (3) 2.4结构 (3) 2.5功能器求与程序的关系 (3) 2.6人工处理过程 (3) 2.7尚未问决的问题 (3) 3接口设计 (3) 3.1用户接口 (3) 3.2外部接口 (3) 3.3内部接口 (4) 4运行设计 (4) 4.1运行模块组合 (4) 4.2运行控制 (4) 4.3运行时间 (4) 5系统数据结构设计 (4) 5.1逻辑结构设计要点 (4) 5.2物理结构设计要点 (4) 5.3数据结构与程序的关系 (4) 6系统出错处理设计 (5) 6.1出错信息 (5) 6.2补救措施 (5) 6.3系统维护设计 (5)

概要设计说明书 1引言 1.1编写目的 说明编写这份概要设计说明书的目的,指出预期的读者。 1.2背景 说明: a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。 1.3定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 1.4参考资料 列出有关的参考文件,如: a.本项目的经核准的计划任务书或合同,上级机关的批文; b.属于本项目的其他已发表文件; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的 标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2总体设计 2.1需求规定 说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。 2.2运行环境 简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。

设计说明文档

电子密码锁的设计 一、任务要求 (1)设计任务与要求 ①基本要求 当输入一个正确密码时就能开锁,输入错误次数到达预设定次数时就会自动报警。 ②主要性能指标 ※能够从键盘中输入密码 ※能够判断密码是否正确 ※能够实现密码的修改 ※在操作错误达到一定次数后能够报警 ③扩展功能 ※断电或者单片机复位后能够保存之前的操作 ※能够实现密码的修改 综上所述 电子密码锁的设计,应该包含以下功能: (1)电源供电电路。 (2)微控制器主控电路。 (3)数字显示电路及参数设定按键。 (4)错误报警电路。 根据以上分析,本次电子密码锁设计的主要重点是以下几个部分:4x4矩阵键盘设计、LCD信息显示、密码的掉电存储和密码的比较和处理。当然,除了这几个部分外还有定时器/计数器计时中断和报警等功能模块。 二、功能模块分析 (1)单片机接口分配 AT89C51单片机在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件,具有一台微型计算机的基本结构,按功能可以将其分成八个组成部分:微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、特殊功能寄存器(SFR)、I/O口、串行口、定时器/计数器及中断系统。 在本设计中,单片机的各个接口我是这样分配的:P0口接一个上拉电阻后与LCD1602的8位双向数据端D0~D7相接,P1口用作矩阵键盘接口,P2口的P2.0~P2.2和LCD1602的4~6引脚相接,P2.5和P2.6接串行存储器AT24C02,P3口用作开锁电路和报警电路的接口。

(2)单片机最小系统设计 单片机最小系统就是指能使单片机工作的最少的器件构成的系统。因为单片机已经包含了数据存储器和程序存储器,所以只要在其外部加上时钟电路和复位电路就可以构成单片机最小系统。 (3)时钟电路 单片机工作需要晶振给CPU提供频率,时钟电路就是给单片机提供晶振频率的电路。 图1时钟电路 单片机允许的振荡晶体可在1.2~24MHz之间选择,一般为11.0592MHz,电容C2,C3的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一定的影响,可在20~100pF之间选择,典型值位30pF。 (4)复位电路 计算机每次开始工作,CPU和系统中的其他部件都必须要有一个确定的初值,即复位状态。 图2复位电路 单片机RST引脚是高电平有效。单片机在上电瞬间C1充电,RST引脚端出现正脉冲,只要RST断保持两个机械周期(大约10ms)以上的高电平,单片机就能复位。在单片机工作后,如果还想再次复位,只需按下开关,单片机就能重新变成复位状态。 (5)最小系统 单片机加上时钟电路和复位电路就构成了能使其正常工作的最小系统。 单片机最小系统是单片机正常工作的基础,任何一个单片机系统设计都是基于单片机最小系统的基础上来完成的,而在单片机系统实物设计中,最应该首先解决的也应该是单片机最小系统问题,只有保证了单片机最小系统的正确性,才能保证接下来的其他模块的正确设计。

设计说明书范文 室内设计说明

内设计说明书范文 1 室内设计说明一、设计范围1、本装饰工程为2、本装饰工程包括室内地面、墙面、吊顶及后期家具配饰二、平面布置1、一层布置主要由起居室、餐厅、卧室、书房、厨房、卫生间等部分构成;2、二层布置主要由卧室、书房、储物间、露天花园等部分构成三、防火要求 1、根据建设部颁发的《建筑设计防火规范》要求,在本装饰工程设计中主要采用阻燃性材料和难燃性材料; 2、所有隐蔽木结构部分表面(包括木龙骨,基层板双面)必须涂刷防火漆二遍四、防潮防水1、墙、顶面造型部分为防止潮气侵入引起木结构变形,腐蚀,所有隐蔽木结构部分表面(包括木龙骨,基层板双面)涂刷防腐油一遍;2、厨房、卫生间墙地面采用SBS防水涂料,墙面防水距地高度为500mm,淋浴间为1800mm 五、防腐防锈1、所有与墙体连接的隐蔽木结构部分表面(包括木龙骨,基层板双面)必须涂刷防腐油一遍;2、为防止钢构件腐蚀,所有钢结构表面涂刷红丹防锈漆二遍;六、吊顶装饰工程1、客、餐厅及其他采用木龙骨纸面石膏板吊顶,面罩“立邦永得丽”白色乳胶漆;2、厨房采用木龙骨纸面石膏板吊顶,面贴银灰色铝塑板分缝;3、卫生间采用木龙骨框架,耐变黄塑钢条形扣板吊顶(米、灰色相间)4、石膏板吊顶采用木龙骨框架,12mm厚纸面吊顶,特殊造型需采用大芯板、5mm夹板放样;5、石膏板规格采用为12×1200×3000mm 纸面石膏板,石膏板接缝处,切45O角,用配套穿孔纸带及腻子布缝;6、吊顶板与墙壁面、窗帘盒、灯具等交接处应接缝严密,不得有漏缝现象。七、地面装饰工程 1、客、餐厅地面采用白色600*600玻化砖满铺; 2、厨房、卫生间地面采用300*300防滑砖满铺(颜色待定);3、卧室、书房及二层走道地面采用900*125*18紫檀实木地板满铺;4、楼梯为钢结构木楼梯:采用拉丝不锈钢护拦,紫檀实木楼梯板、扶手5、露天花园地面采用100*200*40广场砖斜铺设,局部绿色草皮点缀;6、花园地台采用型钢龙骨防腐处理,后铺1200*120*32mm油木板@140MM 阵列八、墙面装饰工程1、电视背景墙采用木龙骨框架,大芯板基层,面封纸面石膏板,面贴深灰色网状亚麻布装饰; 2、沙发背景墙采用浅紫色网状亚麻布装饰; 3、主人房床背景采用木龙骨框架,大芯板基层,面封纸面石膏板,面罩驼色乳胶漆 4、楼梯休息平台墙面采用艺术文化石装饰(整体色系为暗红色,图案待定) 5、原墙面采用“立邦永得丽”浅灰色乳胶漆九、灯具、五金配件1、筒灯、定位射灯、艺术吊灯等灯具建议采用节能型;2、门五金及其它五金配件尽量采用耐腐蚀的不锈钢件、铜件或镀洛产品。十、乳胶漆施工工艺要求1、抹灰面、板材面做乳胶漆部分全部清油封底; 2、抹灰面、板材面做乳胶漆部分全部满批腻子两遍;3、抹灰面、板材面做乳胶漆部分全部涂刷乳胶漆三遍。十一、其它说明未尽事宜,参照国家现行有关规范规定执行

设计说明书模板

1.引言 1.1.编写目的 编写本说明书的目的是为开发过程提供软件处理过程的详细说明,使软 件开发技术人员对整个软件所需实现的功能以及软件的功能模块的划分、实现清楚的认识,为整个系统的开发、测试、评定提供基础,并为以后 的编程工作提供依据。 1.2.术语介绍 PCIE卡:采用新一代的总线接口,传输数据或者控制信号的板卡 UV灯:紫外光灯,用于固化紫外光类墨水 2.软件概述 2.1.软件用途 本软件实现对公司研制的打印控制,它主要包含对X,Y,Z轴运动电机 的精准控制,各类控制功能,喷绘大数据的传输等。 为上层软件提供各类硬件控制接口而进行开发。接口分为控制命令接口 和数据传输接口。

2.2.软件总体结构 软件总体结构图 3.模块设计说明 3.1.控制命令模块 控制命令模块是本软件对外提供的操作窗口,用于各类功能控制。主要分为喷头控制板通讯模块,外设控制板通讯模块,运动控制模块。 3.1.1.喷头控制板通讯模块: 一.模块描述: 京瓷喷头控制板通讯模块,实现向京瓷喷头控制板发送打印配置命令,读取打印状态参数;读取喷头系列号,读取或写入喷头温度,喷头电压,喷头波形文件等信息。 二.模块结构: 1)京瓷喷头控制板通讯模块结构

京瓷喷头控制板通讯模块结构图 2)头板读信息模块结构 头板读信息模块结构图 a.系统信息 通过喷头控制板,可读取当前喷头控制板的系统信息,如版本号等。 b.喷头点火次数 通过此接口,可以读取当前各个喷头点火次数信息,由此信息,可 知喷头使用情况。 c.喷头系列号 通过此接口,可读取当前各个喷头对应的系列号,系列号用来标识 区分各个喷头。 d.喷头工作状态

软件概要设计说明书范例

XX概要设计说明书

文档修改记录

填写说明 1. 系统结构的定义 本体系对整个软件系统按如下结构方式进行划分:系统子系统模块子模块 其中: (1)“系统子系统”划分属于“系统设计”,在系统设计说明书中予以描述。 (2)“子系统模块”划分属于“概要设计”,在本说明书中予以描述。 (3)“模块子模块”划分属于“详细设计”,在详细设计说明书中予以描述。如果系统相对简单,可以省略“子模块”这一层次。 2. 如果填写了系统设计说明书,则在本说明书中略过“系统子系统”划分的相关内容(即第2章)。 3. 如果系统相对简单,不需要做“系统子系统”划分,这种情况下,取消填写系统设计说明书,只须填写本说明书,直接套用“子系统模块”划分(即第3章)进行“系统模块”划分(把其中“子系统”一词替换为“系统”),并删除本说明书中“系统子系统”划分的相关内容(第2章)。

目录 1. 简介 ................................................................ 错误!未定义书签。 . 背景和目的.................................................... 错误!未定义书签。 . 范围.......................................................... 错误!未定义书签。 . 术语和缩略语.................................................. 错误!未定义书签。 2. 系统总体设计 ........................................................ 错误!未定义书签。 . 任务概述...................................................... 错误!未定义书签。 目标 .................................................... 错误!未定义书签。 需求概述 ................................................ 错误!未定义书签。 . 设计概述...................................................... 错误!未定义书签。 总体约束 ................................................ 错误!未定义书签。 系统外部接口 ............................................ 错误!未定义书签。 设计方案概述 ............................................ 错误!未定义书签。 . 系统架构设计.................................................. 错误!未定义书签。 系统的逻辑架构设计 ...................................... 错误!未定义书签。 系统的物理架构设计 ...................................... 错误!未定义书签。 . 子系统定义.................................................... 错误!未定义书签。 子系统列表 .............................................. 错误!未定义书签。 子系统间关系 ............................................ 错误!未定义书签。 3. 子系统1设计 ........................................................ 错误!未定义书签。 . 任务概述...................................................... 错误!未定义书签。 目标 .................................................... 错误!未定义书签。 需求概述 ................................................ 错误!未定义书签。 . 设计概述...................................................... 错误!未定义书签。 总体约束 ................................................ 错误!未定义书签。 子系统外部接口 .......................................... 错误!未定义书签。 设计方案概述 ............................................ 错误!未定义书签。 . 子系统架构设计................................................ 错误!未定义书签。 . 模块定义...................................................... 错误!未定义书签。

课程设计说明书范例

综合测评系统的分析与设计 目录 第一章需求分析 (2) 一、需求调查 (2) 二、建立用例图 (2) 三、描述用例 (3) 第二章系统分析 (5) 一、寻找系统中的实体类 (5) 二、建立实体类的类图 (7) 三、建立用户界面类的类图 (7) 三、建立交互图 (8) 第三章系统设计 (10) 一、类图的调整与修改 (10) 二、人机界面设计 (10) 三、数据库设计 (14) 第四章系统实现 (15) 一、开发环境 (15) 二、建立数据库 (15)

第一章需求分析 一、需求调查 为贯彻党的教育方针,加强对学生的教育管理,鼓励学生在校期间刻苦学习、奋发向上、德智体全面发展,培养具有较高综合素质的优秀人才,河南科技大学制定了《河南科技大学学生德智体综合测评试行办法》、《河南科技大学优秀学生奖学金评定办法》。根据这两个文件的有关精神,我校每个学期都要对学生进行综合测评,并根据综合测评的结果,评选综合奖学金。由于在校学生较多,传统的手工计算方式难以满足学校日常工作的要求,因此,我校急需开发一个综合测评系统,以提高该项工作的效果和效果。 通过调查,我校综合测评工作的运行过程如下:由学习委员录入本班学生上一学期的各门课程的成绩,计算各个学生的课程成绩的平均分。由团支书录入本班学生上一学期的德育成绩。由体育委员录入本班学生上一学期的体育成绩。德智体三个方面的成绩录入完成后,由班长计算各个学生的综合分,计算公式为:综合分=智育分×70%+德育分×20%+体育分×10%。最后,由辅导员根据综合分评选综合奖学金。 二、建立用例图 从以上需求描述中,我们发现系统中的参与者有:学习委员、团支书、体育委员、班长、辅导员。识别出参与者后,从参与者的角度就可以发现系统的用例,并绘制出系统的用例图,如图1-1所示。

登录模块设计说明书1

详细设计说明书 1.1参考资料 【1】《概要设计说明书》 【2】《需求分析说明书》 2需求规定 2.1前台管理 1、用户注册 测试和维护及升级。 (登陆管理)设计说明 6.1功能 登录入口 取得用户名和密码 将UserID 存入session 中 查询用户是否存在 核对密码是否正确 登录成功 是 是 否 否

6.2性能 灵活性:窗口响应绝大部分的快捷菜单和控制面板操作 时间特性:响应鼠标单击的时间在2—3秒之间 6.3输人项 输入用户名和密码。 6.4输出项 输出是从数据库中读取的数据,或错误警告信息。 6.5算法 本部分没有采用自定义的算法。 6.6接口 .硬件接口:主要就是TCP/IP层中的网络接口层 软件接口:具体来说开发中可能使用到的ADO的常用对象有以下几个: (1)连接对象(Connection):用来连接数据库。 (2)记录集对象(RecordSet):用来保存查询语句的返回结果。 (3)命令对象(Command):用来执行SQL语句或者SQL Server的存储过程。 (4)参数对象(Parameter):用来为存储过程或查询提供参数。 6.7存储分配 本程序在高级语言JA V A进行编码,直接的内存分配由JA V A运行时分配。 6.8注释设计 说明准备在本程序中安排的注释,如: a.在代码部分的适当位置会有中文代码注释。 6.9限制条件 (1)由于本系统的开发将是基于浏览器的B/S 结构,所以浏览器端的语言使用HTML/CSS/JavaScript,服务器端的语言使用ASP(.NET),开发人员将不能用其他的开发

语言(编写组件除外)。而数据库也将随之采用SQL Server2005。 (2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试和维护及升级。

相关文档