第一篇 战前准备 4
第1章 《海运管理与实时监控系统》项目简介 4
1.1 远达好运海上船舶运输公司机构 4
1.2 公司海运业务范围 4
1.3 分公司运输业务管理 5
1.4 船舶海上航行监控 7
1.5 运输业务管理自动化 9
第2章 软件生存期与项目开发过程 12
2.1 软件工程项目开发阶段划分 12
2.2 项目定义期的工作 12
2.2.1 项目定义阶段 12
2.2.2 可行性分析阶段 15
2.2.3 需求分析阶段 19
2.3 设计开发期的工作 28
2.3.1 总体设计阶段 28
2.3.2 详细设计阶段 36
2.3.3 编写代码阶段 41
2.3.4 单元调试与测试阶段 42
2.3.5 系统联试与测试阶段 44
2.3.6 编制系统文档阶段 45
2.4 系统运行与维护期 45
2.4.1 试运行阶段 46
2.4.2 交付阶段 46
2.4.3 运行和维护阶段 46
3.1.2 开发环境 50
3.1.1 特点 50
3.1 Visual C++简介 50
第3章 项目开发软件工具简介 50
3.1.3 安装要求 51
3.1.4 可视化集成开发环境界面 51
3.2 MapInfo地理信息系统 54
3.2.1 地理信息系统(GIS系统)基本概念 54
3.2.2 MapInfo地理信息系统 56
第二篇 实战演练 68
第4章 图形标绘 68
4.1 创建工程 68
4.2 滚动视图 91
4.4 创建基类 92
4.3 修改界面 92
4.4.1 AtPoint函数 94
4.4.2 AtLine函数 94
4.4.3 HotPoint函数 95
4.4.4 GetPenColor与SetPenColor函数 96
4.5 CDrawLine类 97
4.5.1 Selected函数 98
4.5.2 Draw函数 99
4.5.3 SelectAt函数 100
4.5.4 MoveAt函数 100
4.5.5 NewPoint函数 102
4.5.6 HotPoints函数 102
4.6 CDrawRect类 103
4.5.7 Serialize函数 103
4.6.1 Selected函数 104
4.6.2 Draw函数 105
4.6.3 SelectAt函数 106
4.6.4 MoveAt函数 107
4.6.5 NewPoint函数 109
4.6.6 HotPoints函数 109
4.6.7 Serialize函数 109
4.7 CDrawEllipse类 110
4.7.1 Selected函数 110
4.7.2 Draw函数 111
4.7.3 SelectAt函数 112
4.7.4 MoveAt函数 113
4.7.7 AtCurve函数 115
4.7.5 NewPoint函数 115
4.7.6 HotPoints函数 115
4.7.8 Serialize函数 116
4.8 CDrawCircle类 117
4.8.1 Selected函数 118
4.8.2 Draw函数 118
4.8.3 SelectAt函数 119
4.8.4 MoveAt函数 120
4.8.5 NewPoint函数 122
4.8.6 HotPoints函数 122
4.8.7 AtCurve函数 122
4.9 CDrawPLine类 123
4.8.8 Serialize函数 123
4.9.1 Selected函数 124
4.9.2 Draw函数 125
4.9.3 SelectAt函数 126
4.9.4 MoveAt函数 127
4.9.5 NewPoint函数 129
4.9.6 HotPoints函数 129
4.9.7 Serialize函数 130
4.10 CDrawFont类 131
4.10.1 Selected函数 131
4.10.2 Draw函数 132
4.10.4 MoveAt函数 133
4.10.3 SelectAt函数 133
4.10.5 NewPoint函数 134
4.10.6 HotPoints函数 135
4.10.7 DrawFont函数 135
4.10.8 Serialize函数 135
4.11 创建图元 136
4.11.1 限制鼠标 136
4.11.2 线段图元 137
4.12 保存图元 138
4.12.1 串行化访问文件 138
4.12.2 存取数据 140
4.13 颜色按钮组 140
4.14.1 创建光标资源 141
4.14 更换光标 141
4.14.2 加载光标资源 142
4.14.3 更换光标 142
4.15 程序清单 143
第5章 海图显示 208
5.1 程序概述 208
5.2 关于MIF文件 208
5.2.1 折线 209
5.2.2 多边形 210
5.2.3 文字 211
5.3 海图数据结构 211
5.4 海图图元处理 213
5.4.1 CMapObject类 213
5.4.2 折线 214
5.4.3 多边形 216
5.4.4 文字 219
5.5 图层处理 221
5.5.1 类定义 222
5.5.2 CMapLayer函数 222
5.5.3 ~CMapLayer函数 224
5.5.4 Draw函数 224
5.5.5 GetFirstPara函数 225
5.5.6 GetSecondPara函数 225
5.6 打开海图 226
5.7 坐标转换 228
5.8.1 内存映像 229
5.8 显示海图 229
5.8.2 显示海图 230
5.9 动态菜单 232
5.9.1 增、删菜单项 232
5.9.2 响应菜单动作 234
5.10 显示经纬度 234
5.11 修改标题 236
5.12 海图打印 236
5.13 海图的放大、缩小 238
5.14 海图漫游 239
5.15 程序清单 240
6.1 程序概述 288
第6章 航行监控 288
6.2 计算机通信 289
6.2.1 串口 289
6.2.2 调制解调器 290
6.2.3 网络通信与TCP/IP协议 291
6.2.4 WinSock对象 295
6.2.5 TCP通信 296
6.2.6 UDP通信 296
6.3 网络通信的实现 297
6.3.1 通信类 297
6.3.2 相关函数 302
6.3.3 TCP通信的实现过程 306
6.4 动态目标处理 307
6.3.4 UDP通信 307
6.4.1 CShip类 308
6.4.2 CDynaObjects类 312
6.5 图上计算 316
6.5.1 求方位、距离 316
6.5.2 求经纬度点 317
6.5.3 应用 318
6.6 模拟航迹 319
6.7 程序清单 320
第7章 海运管理 404
7.1 创建数据源 404
7.2.2 加载ADO对象 406
7.2.1 ADO对象 406
7.2 ADO概述 406
7.2.3 初始化COM接口 407
7.2.4 连接数据库 407
7.2.5 获得数据库结构 407
7.2.6 访问数据 407
7.2.7 获得记录总数 410
7.3 SQL语言 410
7.4 数据显示 411
7.4.1 创建MFCGridCtrl 411
7.4.2 设置MFCGridCtrl 412
7.4.3 响应MFCGridCtrl 413
7.5 数据结构 413
7.6.1 连接数据库 415
7.6 访问数据库 415
7.6.2 访问库结构 416
7.6.3 增加记录 417
7.6.4 删除记录 418
7.6.5 修改记录 418
7.7 程序清单 419
第三篇 检验战果 444
第8章 系统调试与测试 444
8.1 系统测试方式 444
8.2 单元调试与测试阶段 444
8.3 系统联试与测试阶段 445
8.4.1 环境模拟 446
8.4 实时监控分系统测试 446
8.4.2 制定测试计划 450
8.4.3 编制测试表 455
8.4.4 测试及测试报告 457
8.5 《海运管理与实时监控系统》测试 457
8.5.1 测试环境 458
8.5.2 制定测试计划 458
8.5.3 编制测试表 460
8.5.4 测试及测试报告 460
第9章 系统运行与维护 462
9.1 系统试运行 462
9.2 验收与交付 462
9.3 运行和维护 463