第1章 画图板系统 1
1.1 赢在起点 2
1.1.1 赢在起点——程序员的职业规划 2
1.1.2 赢在起点——做好项目分析 2
1.2 系统概述与预览 4
1.2.1 软件概述 4
1.2.2 项目预览 4
1.3 准备工作 8
1.3.1 搜集素材 8
1.3.2 获得Java API手册 8
1.4 具体实现 9
1.4.1 创建一个类 9
1.4.2 菜单栏和标题栏的实现 10
1.4.3 保存文档的实现 12
1.4.4 界面的实现 13
1.4.5 调色板的实现 18
1.4.6 中央画布的实现 23
1.4.7 输入字体的实现 25
1.4.8 打开旧文档的实现 27
1.4.9 其他功能的实现 31
第2章 航空订票管理系统 37
2.1 修炼自身 38
2.1.1 “码农”和“高大上” 38
2.1.2 赢在自身——快速提升自身修为 38
2.2 新的项目 39
2.3 系统概述和总体设计 41
2.3.1 系统需求分析 41
2.3.2 系统demo流程 41
2.4 数据库设计 42
2.4.1 选择数据库 42
2.4.2 数据库结构的设计 43
2.5 系统框架设计 45
2.5.1 创建工程及设计主界面 46
2.5.2 配置Hibernate访问类 53
2.5.3 系统登录模块设计 56
2.6 航班管理模块 58
2.6.1 添加飞机信息 59
2.6.2 添加航班 60
2.6.3 添加航班计划 61
2.7 网点管理模块 63
2.7.1 添加网点 63
2.7.2 删除网点 65
2.8 订票管理模块 66
2.8.1 登录管理 66
2.8.2 添加订票 68
2.9 系统测试 69
第3章 酒店管理系统 71
3.1 程序员职场生存秘籍 72
3.1.1 程序员的生存现状 72
3.1.2 赢在职场——修炼程序员职场秘籍 72
3.2 新的项目 73
3.3 系统概述和总体设计 74
3.3.1 系统需求分析 74
3.3.2 实现流程分析 75
3.3.3 系统demo流程 75
3.4 数据库设计 76
3.4.1 选择数据库 77
3.4.2 数据库结构的设计 77
3.5 系统框架设计 79
3.5.1 创建工程及设计主界面 80
3.5.2 为数据库建立连接类 83
3.5.3 系统登录模块设计 85
3.6 基本信息管理模块 87
3.6.1 房间项目设置 87
3.6.2 客户类型设置 90
3.6.3 计费设置 93
3.7 订房/查询管理模块 94
3.7.1 个人订房 95
3.7.2 多人订房 97
3.7.3 营业查询 99
3.8 旅客信息管理模块 103
3.8.1 旅客信息查询 103
3.8.2 会员信息管理 104
第4章 物业管理系统 107
4.1 部门沟通之“钥” 108
4.1.1 开发公司部门现状 108
4.1.2 赢在公司——探讨部门沟通之道 109
4.2 新的项目 110
4.3 系统概述和总体设计 111
4.3.1 系统需求分析 111
4.3.2 系统demo流程 112
4.4 数据库设计 112
4.4.1 选择数据库 112
4.4.2 数据库结构的设计 112
4.5 系统框架设计 115
4.5.1 创建工程及设计主界面 115
4.5.2 数据库ADO访问类 119
4.5.3 系统登录模块设计 120
4.6 基本信息管理模块 122
4.6.1 小区信息维护 122
4.6.2 楼宇信息维护 126
4.6.3 业主信息维护 128
4.6.4 收费信息维护 129
4.6.5 收费单价清单 131
4.7 消费指数管理模块 132
4.7.1 业主消费录入 132
4.7.2 物业消费录入 135
4.8 各项费用管理模块 136
4.8.1 业主费用查询 136
4.8.2 物业费用查询 138
第5章 众望书城网上系统 143
5.1 体验代码之美 144
5.1.1 程序员经常忽视的问题 144
5.1.2 赢在代码本身——体现程序之美 144
5.2 需求分析 145
5.2.1 系统分析 145
5.2.2 系统目标 146
5.3 数据库设计 147
5.4 SQL Server 2000 JDBC驱动 151
5.4.1 下载JDBC驱动 152
5.4.2 安装JDBC驱动 152
5.4.3 配置JDBC驱动 154
5.4.4 将JDBC驱动加载到项目中 155
5.5 系统设计 156
5.5.1 登录窗口 156
5.5.2 主窗口 158
5.5.3 商品信息的基本管理 164
5.5.4 进货信息管理 173
5.5.5 销售信息管理 180
5.5.6 库存管理 186
5.5.7 查询与统计 192
5.6 数据库模块的编程 195
5.7 项目调试 203
第6章 学校图书馆管理系统 205
6.1 软件项目的可扩展性 206
6.1.1 成熟软件的完善是一个不断更新的过程 206
6.1.2 赢在灵活——让程序具有更好的可扩展性 206
6.2 新的项目 207
6.3 系统概述和总体设计 207
6.3.1 系统需求分析 208
6.3.2 系统demo流程 208
6.4 数据库设计 209
6.4.1 选择数据库 209
6.4.2 数据库结构的设计 210
6.5 系统框架设计 213
6.5.1 创建工程及设计主界面 213
6.5.2 为数据库表添加对应的类 220
6.5.3 系统登录模块设计 227
6.6 基本信息管理模块 229
6.6.1 读者信息管理 229
6.6.2 图书类别管理 232
6.6.3 图书信息管理 234
6.6.4 新书订购管理 235
6.7 用户管理模块 237
6.7.1 用户信息添加 237
6.7.2 用户信息修改与删除 237
6.7.3 用户密码修改 238
第7章 OA办公系统 241
7.1 模块化编程思想 242
7.1.1 现实中的模块化编程 242
7.1.2 赢在面向对象——实现高内聚和低耦合代码 242
7.2 新的项目 243
7.3 系统概述和总体设计 244
7.3.1 系统需求分析 244
7.3.2 系统demo流程 245
7.4 数据库设计 246
7.4.1 设计物理结构 246
7.4.2 数据库结构的设计 246
7.5 系统框架设计 249
7.5.1 创建工程及设计主界面 250
7.5.2 为数据库表配置Hibernate 254
7.5.3 为数据库表建立对应类 255
7.5.4 系统登录模块设计 259
7.6 基本信息管理模块 260
7.6.1 权限信息管理 260
7.6.2 日程信息管理 263
7.7 员工和部门信息管理模块 265
7.7.1 员工信息管理 265
7.7.2 部门信息管理 268
7.8 通讯录和信息发布管理模块 270
7.8.1 通讯录管理 270
7.8.2 信息发布管理 272
第8章 网吧管理系统 273
8.1 程序的可移植性 274
8.1.1 什么是可移植性 274
8.1.2 赢在技术——Java本身具备跨平台功能 274
8.2 新的项目 275
8.3 系统概述和总体设计 275
8.3.1 系统需求分析 276
8.3.2 系统demo流程 276
8.4 数据库设计 277
8.4.1 选择数据库 277
8.4.2 数据库结构的设计 278
8.5 系统框架设计 280
8.5.1 创建工程及设计主界面 280
8.5.2 建立数据库连接类 284
8.5.3 系统登录模块设计 286
8.5.4 普通用户登录设计 290
8.6 用户信息管理模块 292
8.6.1 用户信息类 292
8.6.2 “用户管理”窗体 293
8.6.3 添加用户信息 294
8.6.4 删除用户信息 295
8.6.5 修改用户信息 296
8.6.6 查询用户信息 297
8.7 基本信息管理模块 298
8.7.1 计算机信息管理 298
8.7.2 上网卡信息管理 300
8.8 高级功能管理模块 302
8.8.1 会员信息管理 302
8.8.2 消费信息管理 303
第9章 典型企业快信系统 307
9.1 提高程序的健壮性 308
9.1.1 一段房贷代码引发的深思 308
9.1.2 赢在高质量——提高程序的健壮性 308
9.2 新的项目 309
9.3 项目分析 309
9.3.1 背景分析 309
9.3.2 需求分析 310
9.3.3 核心技术分析 310
9.4 系统设计 310
9.4.1 系统目标 310
9.4.2 系统功能结构 310
9.5 搭建开发环境 311
9.5.1 建立短信猫和JavaMail开发环境 311
9.5.2 设计数据库 313
9.5.3 设计表 315
9.6 编写项目计划书 317
9.7 具体编码 318
9.7.1 编写公用模块代码 318
9.7.2 设计主页 323
9.7.3 名片夹管理模块 325
9.7.4 收发短信模块 330
9.7.5 邮件群发模块 335
9.8 分析JavaMail组件 336
9.8.1 JavaMail简介 337
9.8.2 发送邮件 337
9.8.3 收取邮件 339
9.9 项目调试 340
第10章 Android地图系统 343
10.1 做好项目管理者 344
10.1.1 软件工程师到项目经理到管理者之路 344
10.1.2 赢在管理——运转一个健步如飞的团队 344
10.2 新的项目 346
10.3 系统分析 347
10.3.1 背景 347
10.3.2 Android技术分析 347
10.3.3 编写可行性研究报告 347
10.3.4 编写项目计划书 348
10.4 系统设计 349
10.4.1 流程分析 349
10.4.2 规划UI界面 350
10.5 数据库设计 350
10.6 具体编码 351
10.6.1 新建工程 351
10.6.2 主界面 352
10.6.3 新建界面 354
10.6.4 设置界面 356
10.6.5 帮助界面 360
10.6.6 地图界面 362
10.6.7 数据存取 372
10.6.8 实现Service服务 376
10.7 项目调试 378
第11章 任务管理系统 379
11.1 算法是程序的灵魂 380
11.1.1 何谓算法 380
11.1.2 赢在技术沉淀——计算机中的算法 380
11.1.3 赢在技术沉淀——表示算法的方法 381
11.2 新的项目 383
11.3 系统概述和总体设计 383
11.3.1 系统需求分析 384
11.3.2 系统demo流程 385
11.4 数据库设计 385
11.4.1 选择数据库 385
11.4.2 数据库结构的设计 385
11.5 系统框架设计 389
11.5.1 创建工程及设计主界面 389
11.5.2 建立数据库连接类 392
11.5.3 系统登录模块设计 393
11.5.4 数据获取基类 395
11.5.5 系统框架设计 395
11.6 用户管理模块 397
11.6.1 添加用户信息类 397
11.6.2 实现用户管理窗体 401
11.7 个人任务管理模块 403
11.7.1 添加个人任务信息类 404
11.7.2 实现个人任务管理窗体 407
11.8 公司任务管理模块 408
11.8.1 添加公司任务信息类 408
11.8.2 实现公司任务管理窗体 411
第12章 音像公司管家婆系统 415
12.1 走向架构师之路 416
12.1.1 什么是架构师 416
12.1.2 赢在架构——如何成为一名架构师 416
12.1.3 赢在架构——何种架构才算是一个“美丽”的架构 417
12.1.4 赢在架构——如何打造一个美丽的架构 417
12.2 组建团队 418
12.3 搭建数据库 420
12.3.1 数据库结构的设计 420
12.3.2 下载并安装SQL Server JDBC驱动 422
12.4 具体编码 423
12.4.1 登录窗口 424
12.4.2 主窗口 425
12.4.3 连接数据库 429
12.4.4 读取数据库信息 430
12.4.5 修改数据库信息 431
12.4.6 退货管理 435
12.4.7 商品信息管理 439
12.4.8 进货管理 445
12.4.9 将组件添加到容器中 449
12.4.10 销售管理 451
12.5 调试运行 460