微震监测数据处理系统 软件详细设计说明书
学生姓名 王建旭 学号 0808140505 学生姓名 王智杰 学号 0808140512 学生姓名 汤玉杰 学号 0808140119 学生姓名 毕国兴 学号 0808140727 专 业 电子信息科学与技术 年级 08级 指导教师 劳彩莲 职称 副教授 学 院 信息与电气工程学院
中国农业大学教务处制 2011年 7月微震监测数据处理系统软件详细设计说明书 2 目录 1 目的.......................................................................................................................... 3 2 代码框架描述.......................................................................................................... 3 2.1 源文件说明 ................................................................................ 3 2.2 系统配置文件说明 ..................................................................... 3 3 系统结构关系图...................................................................................................... 4
4 单文档多视的创建与通讯 子模块 详细设计说明.............................................. 4 4.1 数据结构 .................................................................................... 5 4.2 处理流程详细说明 ..................................................................... 5 4.3 编码设计 .................................................................................... 6 5 OpenGL子模块 详细设计说明............................................................................. 7 5.1 数据结构 .................................................................................... 8 5.2 处理流程详细说明 ................................................................... 10 5.3 部分重要编码设计 ................................................................... 10 5.3.1函数 SetGoal(float x,float y,float z,float color)................................. 11
5.3.2函数RenderScene() ............................................................................. 12 6 微震列表 子模块 详细设计说明........................................................................ 12 6.1 数据结构 .................................................................................. 13 6.2 处理流程详细说明 ................................................................... 13 6.3 编码设计 .................................................................................. 18 7 SQL Server数据库 详细设计说明...................................................................... 19 7.1 数据结构 .................................................................................. 21 7.1.1 数据库信息模型: .............................................................................. 21
7.1.2数据库逻辑模型 ................................................................................... 21 7.1.3数据库结构的详细设计 ....................................................................... 21 7.2 数据库系统的建立 ................................................................... 22 7.2.1 数据库建立 .......................................................................................... 22
7.2.2表的建立和管理 ................................................................................... 22 8 详细微震情报表 子模块 详细设计说明.......................................................... 22 8.1 数据结构 .................................................................................. 23 8.2 处理流程详细说明 ................................................................... 23 8.3 编码设计 .................................................................................. 24 微震监测数据处理系统软件详细设计说明书 3 微震监测数据处理系统详细设计说明书 1 目的 微震监测数据处理系统详细设计说明书旨在介绍该系统的详细过程,以及技术要点等内容。
2 代码框架描述
2.1 源文件说明 源文件名称 文件描述 列表 子模块 MyListView.cpp 关联对应的窗口,响应窗口的消息
datagrid.cpp 关联数据库,显示数据库的信息
ado.cpp 关联数据库,从数据库读取信息
详细信息 子模块 MyDetialView.cpp 关联对应的窗口,响应窗口消息
波形图 子模块 MyWaveView.cpp 关联对应的窗口,响应窗口的消息
三维图 子模块 FractalTerrainView.cpp 关联对应的窗口,响应窗口的消息
FractTerrainMod.cpp 绘制三维立体图算法文件
2.2 系统配置文件说明 MainFrm.cpp weizhen.cpp weizhenDoc.cpp Stdafx.cpp 微震监测数据处理系统软件详细设计说明书
4 3 系统结构关系图
4 单文档多视的创建与通讯 子模块 详细设计说明 单文档多视图的创建,我们用的是静态切分窗口的方法。用到的主要数据结构是CSplitterWnd类,该类是用于实现对窗口的分割。将窗口切分成为四个子窗口,分别用于显示不同的内容,用到的函数是CSplitterWnd类的构造函数CreateStatic,还用到CSplitterWnd类的另一个函数CreateView为静态窗口填充视图,将窗口与视图联系起来为每一个子窗口关联一个View类用于对该窗口进行操作。 单文档多视图之间的通讯是通过文档中的变量进行实时传输的。在某一个窗口中,通过文类的指针对文档中的变量进行修改完成窗口向文档的数据传送,并发送UpdateAllView消息对所有的窗口进行刷新,在其他窗口中响应Update消息函数完成文档向窗口的数据传送。 微震监测数据处理系统软件详细设计说明书 5 4.1 数据结构 在分割窗口时,定义了CSplitterWnd类的三个对象 m_splitter1,m_splitter2,m_splitter3用于创建切分窗口。定义了CRect 类的对象r用于获取当前窗口大小,根据窗口大小为子窗口设定区域。定义了CSize类的几个对象 Size, Size1, Size2,Size3,Size4,设定子窗口的大小。 在窗口之间通讯时,在weizhenDoc文件中定义了CString类的对象m_zhenji,m_energy,m_fanwei,m_death,m_hurt,m_economy,m_work,m_jingdu,m_weidu,m_shendu,m_name,m_path用于传输从第一个窗口中向其他窗口传输信息。
4.2 处理流程详细说明 (1) 分割窗口
定义CSplitterWnd类的对象 调用CSplitterWnd类的构造函数CreateStatic进行窗口分割,分割成两行两列四个窗口 调用CSplitterWnd类的CreateView填充窗口 为每一个窗口创建一个类 CMyListView CMyWaveVieCFractalTerrainView