Visual C++项目开发全程实录
《Visual C++项目开发全程实录(第3版)》以社区视频监控系统、企业短信群发管理系统、企业电话语音录音管理系统、局域网监控系统、超市进销存管理系统、图书管理系统、学生管理系统、学生考试系统、人力资源管理系统和图像处理系统10个实际项目开发程序为案例,从软件工程的角度出发,按照项目的开发顺序,系统、全面地介绍了程序开发流程。从开发背景、需求分析、系统功能分析、数据库分析、数据库建模到系统开发,每一过程都作了详细的介绍。 本书及光盘特色还有:10套项目开发完整案例,项目开发案例的同步视频和其源程序。登录网站还可获取各类资源库(模块库、题库、素材库)等项目案例常用资源,网站还提供技术论坛支持等。 本书案例涉及行业广泛,实用性非常强。通过本书的学习,读者可以了解各个行业的特点,能够针对某一行业进行软件开发,也可以通过光盘中提供的案例源代码和数据库进行二次开发,以减少开发系统所需要的时间。
基本信息
- 书名
Visual C++项目开发全程实录
- 作者
郭鑫 陈英
- 类型
计算机与互联网
- 出版社
清华大学出版社
- 出版日期
2013年10月1日
内容简介
《软件项目开发全程实录》丛书是一套以展现项目开发完整过程为主,同时配备完整教学视频和源程序的软件开发“案例类”图书。该丛书第一版自2008年出版以来,受到广大读者,尤其是高校师生和求职人员的热烈欢迎,2011年进行了改版,截至目前,该丛书已经累计销售近16万册,成为近年来最畅销的编程案例类丛书之一。应读者朋友的要求,我们根据最新的市场变化并结合广大读者的建议,编写了该丛书的第3版。本书的特点有: 10套完整项目开发案例,项目开发全程展现 11个项目开发案例涵盖了常用的不同类别的应用系统,每个案例都从需Ỡܠ频讲解,初学者可以通过视频讲解实现案例中的功能。 典型案例 本书案例均从实际应用角度出发,应用了当前流行的技术,涉及的知识广泛,读者可以从每个案例中积累丰富的实战经验。 代码注释 为了便于读者阅读程序代码,书中的代码均提供了详细的注释,并且整齐地纵向排列,可使读者快速领略作者意图。 代码贴士 案例类书籍通常会包含大量的程序代码,冗长的代码往往令初学者望而生畏。为了方便读者阅读和理解代码,本书避免了连续大篇幅的代码,将其分割为多个部分,并对重要的变量、方法和知识点设计了独具特色
图书目录
第1章 社区视频监控系统 (Visual C++ 6.0+视频采集卡+Access 2003实现) 1 视频讲解:1小时26分钟 1.1 开发背景 2 1.2 系统分析 2 1.2.1 需求分析 2 1.2.2 可行性分析 2 1.2.3 编写项目计划书 3 1.3 系统设计 5 1.3.1 系统目标 5 1.3.2 系统功能结构 5 1.3.3 系统预览 6 1.3.4 业务流程 6 1.3.5 编码规则 7 1.3.6 数据库设计 8 1.4 公共模块设计 9 1.5 主窗体设计 14 1.6 用户登录模块设计 31 1.6.1 用户登录模块概述 31 1.6.2 用户登录模块技术分析 31 1.6.3 用户登录模块实现过程 32 1.7 监控管理模块设计 34 1.7.1 监控管理模块概述 34 1.7.2 监控管理模块技术分析 34 1.7.3 监控管理模块实现过程 34 1.7.4 单元测试 39 1.8 无人广角自动监控模块设计 39 1.8.1 无人广角自动监控模块概述 39 1.8.2 无人广角自动监控模块技术分析 39 1.8.3 无人广角自动监控模块实现过程 41 1.8.4 单元测试 44 1.9 视频回放模块设计 45 1.9.1 视频回放模块概述 45 1.9.2 视频回放模块技术分析 45 1.9.3 视频回放模块实现过程 46 1.10 开发技巧与难点分析 47 1.11 监控卡的选购及安装 56 1.11.1 监控卡选购分析 56 1.11.2 监控卡安装 56 1.11.3 监控卡常用函数 58 1.12 本章总结 61 第2章 企业短信群发管理系统 (Visual C++ 6.0+短信猫+Access 2003实现) 62 视频讲解:1小时24分钟 2.1 开发背景 63 2.2 系统分析 63 2.2.1 需求分析 63 2.2.2 可行性分析 63 2.2.3 编写项目计划书 64 2.3 系统设计 66 2.3.1 系统目标 66 2.3.2 系统功能结构 66 2.3.3 系统预览 66 2.3.4 业务流程 67 2.3.5 数据库设计 67 2.4 公共类设计 69 2.4.1 自定义SetHBitmap方法 69 2.4.2 处理WM_MOUSEMOVE事件 70 2.5 主窗口设计 70 2.6 短信猫设置模块设计 74 2.6.1 短信猫设置模块概述 74 2.6.2 短信猫设置模块技术分析 75 2.6.3 短信猫设置模块实现过程 75 2.7 电话簿管理模块设计 77 2.7.1 电话簿管理模块概述 77 2.7.2 电话簿管理模块技术分析 77 2.7.3 电话簿管理模块实现过程 78 2.7.4 单元测试 82 2.8 常用语管理模块设计 83 2.8.1 常用语管理模块概述 83 2.8.2 常用语管理模块技术分析 83 2.8.3 常用语管理模块实现过程 85 2.9 短信发送模块设计 88 2.9.1 短信发送模块概述 88 2.9.2 短信发送模块技术分析 89 2.9.3 短信发送模块实现过程 90 2.9.4 单元测试 96 2.10 短信接收模块设计 97 2.10.1 短信接收模块概述 97 2.10.2 短信接收模块技术分析 98 2.10.3 短信接收模块实现过程 98 2.10.4 单元测试 102 2.11 开发技巧与难点分析 102 2.11.1 显示“收到新信息”对话框 102 2.11.2 制作只允许输入数字的编辑框 104 2.12 短信猫的应用 105 2.13 本章总结 107 第3章 企业电话语音录音管理系统 (Visual C++ 6.0+语音卡+Access 2003实现) 108 视频讲解:1小时30分钟 3.1 开发背景 109 3.2 需求分析 109 3.3 系统设计 109 3.3.1 系统目标 109 3.3.2 系统功能结构 109 3.3.3 系统预览 110 3.3.4 业务流程 111 3.3.5 数据库设计 111 3.4 公共模块设计 113 3.5 主窗体设计 117 3.6 来电管理模块设计 127 3.6.1 来电管理模块概述 127 3.6.2 来电管理模块技术分析 127 3.6.3 来电管理模块实现过程 128 3.6.4 单元测试 131 3.7 电话录音管理模块设计 133 3.7.1 电话录音管理模块概述 133 3.7.2 电话录音管理模块技术分析 134 3.7.3 电话录音管理模块实现过程 136 3.7.4 单元测试 140 3.8 员工信息管理模块设计 141 3.8.1 员工信息管理模块概述 141 3.8.2 员工信息管理模块技术分析 141 3.8.3 员工信息管理模块实现过程 142 3.9 产品信息管理模块设计 146 3.9.1 产品信息管理模块概述 146 3.9.2 产品信息管理模块技术分析 147 3.9.3 产品信息管理模块实现过程 148 3.10 开发技巧与难点分析 151 3.10.1 为程序设置系统托盘 151 3.10.2 对话框的显示 154 3.11 语音卡函数介绍 156 3.12 本章总结 160 第4章 局域网监控系统 (Visual C++ 6.0+Access 2003实现) 161 视频讲解:4小时10分钟 4.1 开发背景 162 4.2 需求分析 162 4.3 系统设计 162 4.3.1 系统目标 162 4.3.2 系统功能结构 162 4.3.3 系统预览 162 4.3.4 业务流程 163 4.3.5 程序运行环境 163 4.3.6 数据库设计 164 4.4 客户端模块设计 166 4.4.1 客户端模块概述 166 4.4.2 客户端模块技术分析 166 4.4.3 客户端模块实现过程 168 4.5 公共类设计 173 4.6 系统登录模块设计 174 4.6.1 系统登录模块概述 174 4.6.2 系统登录模块技术分析 174 4.6.3 系统登录模块实现过程 175 4.6.4 单元测试 177 4.7 主窗体设计 179 4.7.1 主窗体概述 179 4.7.2 主窗体技术分析 179 4.7.3 主窗体实现过程 181 4.8 操作员管理模块设计 186 4.8.1 操作员管理模块概述 186 4.8.2 操作员管理模块技术分析 186 4.8.3 操作员管理模块实现过程 188 4.8.4 单元测试 194 4.9 系统设置模块设计 195 4.9.1 系统设置模块概述 195 4.9.2 系统设置模块技术分析 195 4.9.3 系统设置模块实现过程 197 4.10 开发技巧与难点分析 198 4.10.1 及时关闭记录集 198 4.10.2 屏幕位图数据的发送 198 4.10.3 访问带密码的Access数据库 198 4.11 自定义控件 198 4.11.1 自定义按钮控件 198 4.11.2 自定义列表控件 201 4.12 本章总结 202 第5章 超市进销存管理系统 (Visual C++ 6.0+Oracle 9i数据库实现) 203 视频讲解:54分钟 5.1 开发背景 204 5.2 需求分析 204 5.3 系统设计 204 5.3.1 系统目标 204 5.3.2 系统功能结构 205 5.3.3 系统预览 205 5.3.4 业务流程 206 5.3.5 数据库设计 206 5.4 公共模块设计 210 5.5 主窗体设计 212 5.6 商品信息模块设计 215 5.6.1 商品信息模块概述 215 5.6.2 商品信息模块技术分析 215 5.6.3 商品信息模块实现过程 216 5.6.4 单元测试 221 5.7 供应商信息模块设计 222 5.7.1 供应商信息模块概述 222 5.7.2 供应商信息模块技术分析 223 5.7.3 供应商信息模块实现过程 224 5.7.4 单元测试 229 5.8 销售查询模块设计 232 5.8.1 销售查询模块概述 232 5.8.2 销售查询模块技术分析 232 5.8.3 销售查询模块实现过程 232 5.9 日结查询模块设计 235 5.9.1 日结查询模块概述 235 5.9.2 日结查询模块技术分析 235 5.9.3 日结查询模块实现过程 236 5.10 前台销售模块设计 238 5.10.1 前台销售模块概述 238 5.10.2 前台销售模块技术分析 239 5.10.3 前台销售模块实现过程 240 5.11 开发技巧与难点分析 244 5.12 打印技术 246 5.12.1 分辨率 246 5.12.2 映射模式 246 5.12.3 基于对话框结构的打印 247 5.13 本章总结 251 第6章 图书管理系统 (Visual C++ 6.0+SQL Server 2000数据库实现) 252 视频讲解:45分钟 6.1 开发背景 253 6.2 需求分析 253 6.3 系统设计 253 6.3.1 系统目标 253 6.3.2 系统功能结构 253 6.3.3 系统预览 254 6.3.4 业务流程 255 6.3.5 数据库设计 255 6.4 公共类设计 257 6.5 主窗体设计 259 6.6 系统登录模块设计 261 6.6.1 系统登录模块概述 261 6.6.2 系统登录模块技术分析 262 6.6.3 系统登录模块实现过程 262 6.7 操作员信息模块设计 263 6.7.1 操作员信息模块概述 263 6.7.2 操作员信息模块技术分析 263 6.7.3 操作员信息模块实现过程 264 6.7.4 单元测试 266 6.8 图书信息模块设计 267 6.8.1 图书信息模块概述 267 6.8.2 图书信息模块技术分析 267 6.8.3 图书信息模块实现过程 268 6.9 图书销售模块设计 270 6.9.1 图书销售模块概述 270 6.9.2 图书销售模块技术分析 270 6.9.3 图书销售模块实现过程 272 6.10 销售查询模块设计 280 6.10.1 销售查询模块概述 280 6.10.2 销售查询模块技术分析 281 6.10.3 销售查询模块实现过程 283 6.10.4 单元测试 287 6.11 开发技巧与难点分析 288 6.12 使用VSS进行代码维护 293 6.13 本章总结 301 第7章 学生管理系统 (Visual C++ 6.0+SQL Server 2000数据库实现) 302 视频讲解:45分钟 7.1 开发背景 303 7.2 系统分析 303 7.2.1 需求分析 303 7.2.2 系统功能描述 303 7.3 系统设计 304 7.3.1 系统目标 304 7.3.2 系统功能结构 304 7.3.3 系统预览 305 7.3.4 业务流程 305 7.3.5 数据库设计 306 7.4 公共类设计 308 7.5 主窗体设计 310 7.6 科目信息管理模块设计 311 7.6.1 科目信息管理模块概述 311 7.6.2 科目信息管理模块技术分析 312 7.6.3 科目信息管理模块实现过程 313 7.7 学生信息管理模块设计 318 7.7.1 学生信息管理模块概述 318 7.7.2 学生信息管理模块技术分析 318 7.7.3 学生信息管理模块实现过程 318 7.7.4 单元测试 322 7.8 学生成绩录入模块设计 323 7.8.1 学生成绩录入模块概述 323 7.8.2 学生成绩录入模块技术分析 323 7.8.3 学生成绩录入模块实现过程 324 7.9 成绩等级设置模块设计 326 7.9.1 成绩等级设置模块概述 326 7.9.2 成绩等级设置模块技术分析 326 7.9.3 成绩等级设置模块实现过程 326 7.9.4 单元测试 334 7.10 学生违规查询模块设计 334 7.10.1 学生违规查询模块概述 334 7.10.2 学生违规查询模块技术分析 334 7.10.3 学生违规查询模块实现过程 335 7.11 开发技巧与难点分析 338 7.11.1 如何解决按Enter键关闭程序问题 338 7.11.2 在连接ODBC时不显示连接数据源对话框 339 7.12 在VC中操作Excel 339 7.13 本章总结 343 第8章 学生考试系统 (Visual C++ 6.0+Access 2003实现) 344 视频讲解:1小时18分钟 8.1 开发背景 345 8.2 需求分析 345 8.3 系统设计 345 8.3.1 系统目标 345 8.3.2 系统功能结构 345 8.3.3 系统预览 346 8.3.4 业务流程 347 8.3.5 数据库设计 347 8.4 公共模块设计 350 8.5 主窗体设计 353 8.6 注册模块设计 362 8.6.1 注册模块概述 362 8.6.2 注册模块技术分析 362 8.6.3 注册模块实现过程 364 8.7 登录模块设计 368 8.7.1 登录模块概述 368 8.7.2 登录模块技术分析 369 8.7.3 登录模块实现过程 369 8.8 密码找回模块设计 372 8.8.1 密码找回模块概述 372 8.8.2 密码找回模块技术分析 372 8.8.3 密码找回模块实现过程 372 8.8.4 单元测试 375 8.9 试题管理模块设计 375 8.9.1 试题管理模块概述 375 8.9.2 试题管理模块技术分析 376 8.9.3 试题管理模块实现过程 377 8.9.4 单元测试 383 8.10 数据库维护模块设计 384 8.10.1 数据库维护模块概述 384 8.10.2 数据库维护模块技术分析 384 8.10.3 数据库维护模块实现过程 385 8.11 使用PowerDesigner进行数据库建模 387 8.12 开发技巧与难点分析 390 8.13 本章总结 391 第9章 人力资源管理系统 (Visual C++ 6.0+SQL Server 2008数据库实现) 392 视频讲解:1小时40分钟 9.1 开发背景 393 9.2 需求分析 393 9.3 系统设计 393 9.3.1 系统目标 393 9.3.2 系统功能结构 394 9.3.3 系统预览 394 9.3.4 业务流程 396 9.3.5 数据库设计 396 9.4 公共模块设计 399 9.5 主窗体设计 412 9.6 用户登录模块设计 414 9.6.1 用户登录模块概述 414 9.6.2 用户登录模块技术分析 414 9.6.3 用户登录模块实现过程 415 9.7 员工档案录入模块设计 417 9.7.1 员工档案录入模块概述 417 9.7.2 员工档案录入模块技术分析 417 9.7.3 员工档案录入模块实现过程 418 9.7.4 单元测试 425 9.8 员工工资登记模块设计 425 9.8.1 员工工资登记模块概述 425 9.8.2 员工工资登记模块技术分析 425 9.8.3 员工工资登记模块实现过程 426 9.9 月出勤列表模块设计 430 9.9.1 月出勤列表模块概述 430 9.9.2 月出勤列表模块技术分析 430 9.9.3 月出勤列表模块实现过程 430 9.10 工资列表模块 433 9.10.1 工资列表模块概述 433 9.10.2 工资列表模块技术分析 434 9.10.3 工资列表模块实现过程 434 9.10.4 单元测试 443 9.11 开发技巧与难点分析 444 9.12 将信息以表格的形式导入到Word中 445 9.13 本章总结 449 第10章 图像处理系统 (Visual C++ 6.0+ GDI+技术实现) 450 视频讲解:3小时14分钟 10.1 开发背景 451 10.2 需求分析 451 10.3 系统设计 451 10.3.1 系统目标 451 10.3.2 系统功能结构 451 10.3.3 系统预览 452 10.3.4 业务流程 453 10.4 公共模块设计 454 10.5 主窗体设计 457 10.6 图像旋转模块设计 461 10.6.1 图像旋转模块概述 461 10.6.2 图像旋转模块技术分析 462 10.6.3 图像旋转模块实现过程 463 10.7 图像缩放模块设计 470 10.7.1 图像缩放模块概述 470 10.7.2 图像缩放模块技术分析 471 10.7.3 图像缩放模块实现过程 471 10.7.4 单元测试 476 10.8 图像水印效果模块设计 477 10.8.1 图像水印效果模块概述 477 10.8.2 图像水印效果模块技术分析 477 10.8.3 图像水印效果模块实现过程 478 10.9 PSD文件浏览模块设计 480 10.9.1 PSD文件浏览模块概述 480 10.9.2 PSD文件浏览模块技术分析 480 10.9.3 PSD文件浏览模块实现过程 482 10.10 照片版式处理模块设计 486 10.10.1 照片版式处理模块概述 486 10.10.2 照片版式处理模块技术分析 486 10.10.3 照片版式处理模块实现过程 490 10.11 开发技巧与难点分析 496 10.11.1 位图数据的存储形式 496 10.11.2 在Visual C++中使用GDI+ 498 10.12 本章总结 499
序言
编写目的与背景 众所周知,当前社会需求和高校课程设置严重脱节,一方面企业找不到可迅速上手的人才,另一方面大学生就业难。如果有一些面向工作应用的案例参考书,让大学生得以参考,并能亲手去做,势必能缓解这种矛盾。本书就是这样一本书:项目开发案例型的、面向工作应用的软件开发类图书。编写本书的首要目的就是架起让学生从学校走向社会的桥梁。 其次,本书以完成小型项目为目的,让学生切身感受到软件开发给工作带来实实在在的用处和方便,并非只是枯燥的语法和陌生的术语,从而激发学生学习软件的兴趣,让学生变被动学习为自主自发学习。 第三,本书的项目开发案例过程完整,不但适合在学习软件开发时作为小型项目开发的参考书,而且可以作为毕业设计的案例参考书。 第四,丛书第1版于2008年6月出版,于2011年1月改版,因为编写细腻,配备全程视频备受读者瞩目,丛书累计销售16万册,成为近年来最受欢迎的软件开发项目案例类丛书之一。 在以上背景下,我们根据读者朋友的反馈,与时俱进,对丛书进行了改版。 本书特点 视频讲解 对于初学者来说,视频讲解是最好的导师,它能够引导初学者快速入门,使初学者感受到编程的快乐和成就感,增强进一步学习的信心。鉴于此,本书为每一个案例都配备了视频讲解,初学者可以通过视频讲解实现案例中的功能。 典型案例 本书案例均从实际应用角度出发,应用了当前流行的技术,涉及的知识广泛,读者可以从每个案例中积累丰富的实战经验。 代码注释 为了便于读者阅读程序代码,书中的代码均提供了详细的注释,并且整齐地纵向排列,可使读者快速领略作者意图。 代码贴士 案例类书籍通常会包含大量的程序代码,冗长的代码往往令初学者望而生畏。为了方便读者阅读和理解代码,本书避免了连续大篇幅的代码,将其分割为多个部分,并对重要的变量、方法和知识点设计了独具特色的代码贴士。 知识扩展 为了增加读者的编程经验和技巧,书中每个案例都标记有注意、技巧等提示信息,并且在每章中都提供有一项专题技术。 本书约定 由于篇幅有限,本书每章并不能逐一介绍案例中的各模块。作者选择了基础和典型的模块进行介绍,对于功能重复的模块,由于技术、设计思路和实现过程基本雷同,因此没有在书中体现。读者在学习过程中若有相关疑问,请登录本书官方网站。本书中涉及的功能模块在光盘中都附带有视频录像,方便读者学习。 适合读者 本书适合作为计算机相关专业的大学生、软件开发相关求职者和爱好者的毕业设计和项目开发的参考书。 本书服务 为了给读者提供更为方便快捷的服务,读者可以登录本书官方网站:www.rjkflm.com,或者加入QQ:4006751066进行交流。 本书作者 本书由明日科技软件开发团队组织编写,主要由郭鑫、陈英执笔,如下人员也参与了本书的编写工作,他们是:隋光宇、高飞、刘志铭、王小科、王国辉、张鑫、杨丽、顾彦玲、赛奎春、高春艳、宋禹蒙、刘佳、辛洪郁、刘莉莉、陈丹丹、王雨竹、李伟、张金辉、李慧、刘欣、李继业、潘凯华、赵永发、寇长梅、赵会东、王敬洁、李浩然、苗春义、刘清怀、张世辉、张领等,在此一并感谢! 在编写本书的过程中,我们本着科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,敬请广大读者批评指正。 感谢您购买本书,希望本书能成为您的良师益友,成为您步入编程高手之路的踏脚石。 宝剑锋从磨砺出,梅花香自苦寒来。祝读书快乐! 编 者