WQJ-XXX XXX 软件 V1.0详细设计说明书_第1页
WQJ-XXX XXX 软件 V1.0详细设计说明书_第2页
WQJ-XXX XXX 软件 V1.0详细设计说明书_第3页
WQJ-XXX XXX 软件 V1.0详细设计说明书_第4页
WQJ-XXX XXX 软件 V1.0详细设计说明书_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TIANSU

WQJ-XXXXXX软件V1.0

详细设计说明书

TSXXXX-XX(根据配■总

文件编号生效日期2012/X/X受控编号

裹)

保密级别一级版本号V1.00修改状态A

总页数22正文16附录无

编制作者名审核签名批准签名

评审记录

对《\NQJ-XXXXXX软件VI.00详细设计说明书VI.00》的评审意见:

上述问题修改验证后,由验证后,本文件即可发布。

评审人员签字:

问题修改验证结果:

验证人签字:时间:

变更日志

编号版本修改内容修改人修改日期

10.1初稿做成XXX20XX-X-X

20.2XXXXXX20XX-X-X

31.0会议评审后修正XXX20XX-X-X

目录

一、引言......................................................................................5

1.1编写目的.............................................................................5

12背景...................................................................................5

1.3定义.................................................................................5

1.4参考资料.............................................................................5

二、系统结构..................................................................................6

三、模块设计..................................................................................7

2.1、照相站姿态识另!J模块(CameraStation.exe).............................................................................................7

2.1.1、功能实现.......................................................................7

2.1.2、类图...........................................................................7

2.1.3、类设计说明.....................................................................8

2.1.4、主要序列......................................................................22

2.1.5、单元测试用例..................................................................23

2.2、弹道复现模块(Demonstrate.exe)................................................................................................................25

2.2.1、功能实现......................................................................25

2.2.2、类图..........................................................................26

2.2.3、类设计说明....................................................................26

2.2.4、主要序列......................................................................28

2.2.5、单元测试用例..................................................................28

2.3、设备接入代理模块(DevProxy.exe).............................................................................................................29

2.3.1、功能实现......................................................................29

2.3.2、类图..........................................................................29

2.3.3、类设计说明....................................................................29

2.3.4、主要序列......................................................................30

2.3.5、单元测试用例..................................................................30

2.4、控制台主控程序(Consol.exe).................................................................................................................30

2.4.1、功能实现......................................................................30

2.4.2、类图..........................................................................31

2.4.3、类设计说明....................................................................32

2.4.4、主要序列......................................................................41

2.4.5、单元测试用例..................................................................41

2.5、数据采集和分析服务器(DataServer.exe)............................................................................................41

2.5.1、功能实现......................................................................41

2.5.2、类图..........................................................................42

2.5.3、类设计实现....................................................................43

2.5.4、主要序列......................................................................51

2.5.5、单元测试用例..................................................................51

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

一、引言

1.1编写目的

[简述本文档的编写目的及读者1

本文档旨在说明LabManager实验室管理系统中各模块的执行流程、数据结构及其之间的关系,,作

为今后编码工作的依据。本文供主要技术人员、公司内部人员阅读、讨论使用。

1.2背景

I项目的委托单位、开发单位和主管部门.1

LabManager实验室管理系统vl.0于2010年8月份开始筹备开发,由研发中心软件部承担开发任务。

1.3定义

下表列出本报告中专门术语的定义、英文缩写词的原词组和意义、项目组内达成一致意见的专用词

汇,同时继承全部的先前过程中定义过的词汇.

词汇名称词汇含义备注

实验室南京理工大学国家弹道重点实验室

1.4参考资料

编号资料名称说明

1WQJ-XXXXXX软件VI.00可行性分析报告V1.00.doc

2WQJ-XXXXXX软件VI.00项目立项书VI.00.doc

3WQJ-XXXXXX软件VI.00需求规格说明书VI.00.doc

4WQJ-XXXXXX软件VI.00概要设计说明书VI.00.doc

第5页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

二、系统结构

Q□

-----------发射检测是否就绪

实验主授子系统

照相站分布式弹丸姿态分析子系统及其他设备设备接入代理

检测门禁状态

实验人员

门禁子系统

设备数据、弹丸信息

设备数据

数据采啾服务器

原始实验数据

数据维护、权限审核

管理终端

最终实验数据

服务器

弹道复现子系统数据分析服务器web

最终实验数据、数据评价

最终实验数据及数据评价查询终端

科研人员优化程序

第6页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

三、模块设计

2.1、照相站姿态识别模块(CameraStation.exe)

2.1.1、功能实现

I简述模块的功能以及运行特点。]

本模块运行在照相站工控机上,随系统启动,为常驻内存程序。由于需要对控制卡进行读写以及监

控相机照片生成目录,若同时启动多个实例则会影响照片分析结果,为不可重入模块。左右相机新生成

照片的监控和分析,在程序中采用并行处理。

2.1.2、类图

第7页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

2.13、类设计说明

I模块中各个类的定义。1

类名称CMainCtrl

描述主控类,业务层接口类

类型定义typedefstruct

(

intx;〃横坐标

inty;〃纵坐标

JCOORDINATE;

typedefstruct

(

COORDINATEpos;〃质心坐标

COORDINATEAxis[10];〃中轴线坐标集

std::stringstrPath;〃照片全路径

}RAW_INFO;〃原始信息

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

m_State否CStateprivate状态类

m_Cfg否CCfgprivate配置对象

m_LeftMonit否CMonitprivate左侧相机监控

对象

m_RightMonit否CMonitprivate右侧相机监控

对象

方法型构voidOnPhoto(constRAWJNFO&info);

描述检测到相机照片生成并解析出像素坐标时执行该函数

可见性public

参数info:从照片分析得到的质心像素坐标、中心轴像素坐标集和照

片全路径

第8页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

返回值无

异常无

方法型构voidStandard();

描述标定坐标轴

可见性public

参数尢

返回值无

异常无

方法型构boolGetCtrlCardParam(CONTROLER_PARAM¶m);

描述获取控制卡参数

可见性public

参数无

返回值获取成功则返回true,否则返回false

异常无

方法型构boolGetCameraParam(CAMERA_PARAM¶m);

描述获取相机参数

可见性public

参数无

返回值获取成功则返回true,否则返回false

异常无

方法型构conststd::string&GetLeftMonitPath();

描述获取左侧相机照片生成的目录

可见性public

参数无

返回值左侧相机照片生成的目录

异常无

方法型构conststd::string&GetRightMonitPath();

描述获取右侧相机照片生成的目录

可见性public

参数无

第9页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

返回值右侧相机照片生成的目录

异常无

方法型构boolSetCtrlCardParam(constCONTROLER_PARAM¶m);

描述设置控制卡参数

可见性public

参数无

返回值设置成功则返回true,否则返回false

异常无

方法型构boolSetCameraParam(constCAMERA_PARAM¶m);

描述设置相机参数

可见性public

参数

返回值设置成功则返回true,否则返回false

异常无

方法型构boolSetLeftMonitPath(conststd::string&strPath);

描述设置左侧相机照片生成的目录

可见性public

参数strPath:左侧相机照片生成的目录

返回值设置成功则返回true,否则返回false

异常无

方法型构boolSetRightMonitPath(conststd::string&strPath);

描述设置右侧相机照片生成的目录

可见性public

参数strPath:右侧相机照片生成的目录

返回值设置成功则返回true,否则返回false

异常无

方法型构voidSetState(intnState);

描述设置当前运行状态

可见性public

参数nState:要设置的运行状态

第10页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

返回值无

异常无

方法型构intGetState();

描述获取当前运行状态

可见性public

参数尢

返回值当前运行状态

异常无

类名称CMonit

描述照片监控和分析类

类型定义无

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

m_strMonitPath否std-stringprivate监控目录

m_pMainCtrl否CMainCtrl*private主控对象指针

方法型构voidRegMainCtrl(CMainCtrl*pMainCtrl);

描述注册主控对象,以便在检测到新生成了照片并对其进行分析后将

结果发送给主控对象,由后者对结果进行进一步分析。

可见性public

参数pMainCtrl:主控对象指针

返回值无

异常无

方法型构CMonit(conststd::string&strMonitPath);

描述构造函数

可见性public

参数stdMonitPath:该对象监控的路径

返回值无

异常无

第11页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

类名称CCfg

描述配置文件读写类S

类型定义typedefstruct

(

charmode;〃工作模式

charflashNum;〃闪光次数

charstationlD;〃站点编号

}SYS_PARAM;

typedefstruct

(

intnGSL;〃光幕靶间距

intnCBL;〃光幕靶2至摄像头中心距

intnSL;〃视场范围

}LEN_PAAM;

typedefstruct

{

intnSET;〃成像边缘余量

intnCST;〃摄像头固有延时

intnSOT;〃快门打开间隔

intnLGT;〃激光器固有延时

intnMINL;〃激光触发最小间距

intnV_S;〃估计弹速m/s

intnCCT_S;〃光幕2至摄像头触发延时,不含固延

intnCLT_S;〃光幕2至激光触发延时,不含固延

intnCLT_S_2;〃光幕2至激光触发延时2,不含固

intnCLT_S_3;〃光幕2至激光触发延时3,不含固

intnPCT;〃参数计算时间参考

第12页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

}TIME_PARAM;

typedefstruct

(

SYS_PARAMsysParam;〃系统参数

LEN_PARAMlenParam;〃长度参数

TIME_PARAMtimeParam;〃时间参数

}CONTROLER_PARAM;

typedefstruct

{

charszPath[MAX_PATH];〃照片路径

chareFormat;〃格式,0:BMP;1:二

进制

intnExposureTime;〃曝光时间

}CAMERA_PARAM;

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

方法型构boolGetCtrlCardParam(CONTROLER_PARAM¶m);

描述获取控制卡参数

可见性public

参数Param:返回的控制卡的参数

返回值获取成功则返回true,否则返回false

异常无

方法型构boolGetCameraParam(CAMERA_PARAM¶m);

描述获取相机参数

可见性public

参数Param:返回的相机参数

返回值获取成功则返回true,否则返回false

异常无

第13页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

方法型构conststd::string&GetLeftMonitPath();

描述获取左侧相机照片生成的目录

可见性public

参数无

返回值左侧相机照片生成的目录

异常尢

方法型构conststd::string&GetRightMonitPath();

描述获取右侧相机照片生成的目录

可见性public

参数无

返回值右侧相机照片生成的目录

异常无

方法型构boolSetCtrlCardParam(constCONTROLER_PARAM¶m);

描述设置控制卡参数

可见性public

参数param:要设置的控制卡参数

返回值设置成功则返回true,否则返回false

异常无

方法型构boolSetCameraParam(constCAMERA_PARAM¶m);

描述设置相机参数

可见性public

参数param:要设置的相机参数

返回值设置成功则返回true,否则返回false

异常无

方法型构boolSetLeftMonitPath(conststd::string&strPath);

描述设置左侧相机照片生成的目录

可见性public

参数strPath:左侧相机照片生成的目录

返回值设置成功则返回true,否则返回false

异常无

第14页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

方法型构boolSetRightMonitPath(conststd::string&strPath);

描述设置右侧相机照片生成的目录

可见性public

参数strPath:右侧相机照片生成的目录

返回值设置成功则返回true,否则返回false

异常尢

类名称estate

描述运行状态类

类型定义无

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

m_nState否intprivate运行状态

方法型构voidSetState(intnState);

描述设置当前运行状态

可见性public

参数nState:要设置的运行状态

返回值无

异常无

方法型构intGetState();

描述获取当前运行状态

可见性public

参数无

返回值当前运行状态

异常无

类名称CLog

描述日志类

类型定义无

第15页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

方法型构voidLog(intnLevel,conststd::string&strLog);

描述写日志

可见性public

参数nLevel:告警级别

strLog:日志内容

返回值无

异常无

类名称CCmd

描述命令类基类

类型定义无

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

m_pMainCtrl仆CMainCtrl*protected主控对象指针

m_pData否void*protected数据区

mJBuffLen否unsignedlongprotected数据区大小

m_nCmd否intprotected命令号

方法型构unsignedlongGetDataLen();

描述获取数据区大小

可见性public

参数无

返回值数据区大小

异常无

方法型构unsignedlongGetData(void**pBuff,longIBuffLen);

描述拷贝数据

第16页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

可见性public

参数pBuff:存放数据的缓冲区

IBuffLen:存放数据的缓冲区的大小

返回值拷贝数据的实际大小

异常无

方法型构voidSetMainCtrl(CMainCtrl*pMainCtrl);

描述设置主控对象指针,以便调用其方法

可见性public

参数pMainCtrl:主控对象指针

返回值无

异常无

方法型构CCmd(intnCmd,void*pData,unsignedlongIDataLen);

描述构造函数

可见性public

参数nCmd:命令号

pData:数据

IDataLen:数据大小

返回值无

异常无

方法型构voidExecute();

描述执行命令

可见性public

参数无

返回值无

异常无

类名称CCmdFactory

描述命令类厂

类型定义无

常量定义无

第17页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

友元类无

属性名称是否静态属性类型属性可见性属性描述

方法型构staticCCmd*CreateCmd(intnCmd,void*pData,unsignedlong

IDataLen);

描述创建命令对象

可见性public

参数nCmd:命令号

pData:数据

IDataLen:数据大小

返回值创建的命令对象指针

异常无

类名称CCommLayer

描述通信层接口对象

类型定义无

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

m_pMainCtrl否CMainCtrl*private主控对象指针

m_pPack否CPacketBase*private封解包对象指

m_pCommBase否CCommBase*private通信对象指针

方法型构boolSend(CCmd*pCmd);

描述发送指令

可见性public

参数pCmd:命令对象指针

返回值发送成功则返回true,否则返回false

异常无

方法型构voidOnData(void*pData,unsignedlongIDataLen);

第18页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

描述数据到达时的处理函数

可见性public

参数pData:收到的数据

IDataLen:收到的数据的大小

返回值无

异常无

方法型构voidRegMainCtrl(CMainCtrl*pMainCtrl);

描述设置主控对象指针

可见性public

参数pMainCtrl:主控对象指针

返回值无

异常无

类名称CDataNotify

描述数据到达通知对象

类型定义无

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

方法型构virtualintOnData(constvoid*pBuff,unsignedlongIBuffLen)=0;

描述数据到达通知

可见性public

参数pBuff:存放已接收到的所有数据的缓冲区指针

strLog:已接收到的数据的大小

返回值若数据中包括完整的数据包则返回完整数据包的大小,否则返回

0

异常无

类名称CCommBase

第19页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

描述通信对象基类

类型定义无

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

m_pRecver否CDataNotify*protected数据到达通知

对象指针

方法型构boolSend(void*pBuff,unsignedlongILen);

描述发送数据

可见性public

参数pBuff:数据缓冲区指针

ILen:数据缓冲区大小

返回值发送成功则返回true,否则返回false

异常无

方法型构voidRegNotify(CDataNotify*pRecver);

描述注册数据到达通知对象

可见性public

参数pRecver:数据到达要通知的对象

返回值无

异常无

类名称CThread

描述线程类基类

类型定义THREAD_STATE

常量定义无

友元类无

属性名称是否静态属性类型属性可见性属性描述

m_hThread否HANDLEprotected线程句柄

m_hStopEvent否HANDLEprotected停止事件

m_cs行CCriticalSectionprotected临界区

第20页共51页

WQJ-XXXXXX软件VI.0详细设计说明书VI.00

m_State行THREAD_STATEprotected运行状态

m_dwThreadlD否DWORDprotected线程编号

方法型构staticDWORDWINAPIThreadFun(LPVOIDIpParam);

描述线程执行函数

可见性public

参数参数

返回值线程返回值

异常无

方法型构virtualvoidDolt()=0;

描述真正执行体,派生类覆盖该函数

可见性public

参数无

返回值无

异常无

方法型构BOOLlsStop();

描述线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论