第1章 概述 1
1.1 软件开发技术现状与趋势 1
1.1.1 软件的定义及其分类 1
1.1.2 软件开发的特点 2
1.1.3 软件开发技术的现状与发展 3
1.1.4 软件开发的网络化、服务化、全球化趋势 4
1.1.5 软件开发的一般过程及相关文档 4
1.1.6 应用软件的开发 5
1.2 科研工作的需求 6
1.2.1 科学研究对软件开发的需求 6
1.2.2 非计算机专业软件开发知识体系及其不足 6
1.3 本书的内容 7
1.3.1 与软件工程的关系 7
1.3.2 容介绍 8
1.4 本章参考文献 8
第2章 系统分析、设计与建模 9
2.1 系统设计的基本过程和原理 9
2.1.1 应用软件系统开发过程 9
2.1.2 软件设计的基本原理 10
2.1.3 软件设计的逐步求精策略 11
2.1.4 系统结构优化总则 12
2.2 结构化方法 13
2.2.1 结构化方法的基本原理 14
2.2.2 结构化方法的主要方法和工具 14
2.2.3 数据流程图法(DFD) 16
2.2.4 IDEFo方法 18
2.2.5 Jackson方法 22
2.2.6 结构化方法的特点与不足 23
2.3 面向对象的方法 25
2.3.1 面向对象技术及其基本概念 26
2.3.2 系统分析 31
2.3.3 系统设计 41
2.3.4 面向对象的设计工具 50
2.4 本章参考文献 52
第3章 Windows操作系统及应用程序设计 53
3.1 操作系统简述 53
3.1.1 操作系统基本功能 53
3.1.2 Windows操作系统 54
3.1.3 Windows程序工作原理 58
3.1.4 消息机制 58
3.2 Windows编程 60
3.2.1 Microsoft操作系统API历史 60
3.2.2 Win32 API的概念 63
3.2.3 Windows应用程序的基础知识 63
3.2.4 一个简单的Win32程序 64
3.2.5 消息处理 64
3.2.6 Windows界面 67
3.2.7 图形基础 70
3.3 MFC程序设计 73
3.3.1 MFC简介 73
3.3.2 VC的组成和工作台的创建 73
3.3.3 应用程序框架 74
3.3.4 视图类 75
3.4 .NET Windows程序设计简介 77
3.4.1 统一的简单开发方式 77
3.4.2 Windows窗体的设计与实现 78
3.5 本章参考文献 79
第4章 界面设计 80
4.1 界面设计概述 80
4.2 什么是界面 80
4.2.1 界面的发展 81
4.2.2 界面设计的影响因素 82
4.2.3 界面主要类型 83
4.3 人类因素的影响 84
4.3.1 系统工程的目标 84
4.3.2 心理学因素 85
4.3.3 可度量的人类因素目标 86
4.4 界面设计的基本准则 86
4.4.1 界面设计一般性法则(对话设计的八个黄金法则) 86
4.4.2 数据输入和显示的准则 87
4.4.3 响应时间与显示速率 88
4.4.4 系统出错信息的处理 88
4.4.5 显示的设计 89
4.5 界面元素的设计 89
4.5.1 菜单设计 89
4.5.2 命令 91
4.5.3 直接操作 92
4.5.4 窗口设计(单视窗、多视窗) 92
4.6 网页界面设计简介 93
4.7 本章参考文献 96
第5章 复杂应用系统的开发平台(一)CORBA 97
5.1 概述 97
5.1.1 分布式系统的演进 98
5.1.2 复杂应用系统开发所面临的异构问题 100
5.1.3 异构问题的解决方案——中间件技术 101
5.2 CORBA 108
5.2.1 什么是CORBA? 108
5.2.2 CORBA的技术特点 108
5.2.3 CORBA的对象模型 108
5.2.4 CORBA的基本构件 109
5.2.5 CORBA的组成要素 111
5.3 CORBA工作方式 116
5.3.1 客户的结构 116
5.3.2 对象实现的结构 117
5.3.3 对象适配器结构 118
5.3.4 静态和动态方法调用 118
5.3.5 元数据的定义——IDL 121
5 3.6 ORB的核心作用 122
5.3.7 远程调用 123
5.4 CORBA技术的应用 124
5.4.1 CORBA的应用 124
5.4.2 CORBA应用的构建 125
5.5 CORBA编程实例 125
5.5.1 C++Builder以及visiBroker简介 125
5.5.2 CORBA应用程序的体系结构 127
5.5.3 静态调用方式编程示例 127
5.6 参考文献/CORBA 128
第6章 复杂应用系统的开发平台(二)COM 129
6.1 组件(Component) 129
6.1.1 组件的要素 129
6.1.2 基于组件的开发 129
6.1.3 组件模型 130
6.2 COM的概念 131
6.3 COM概念的发展 131
6.3.1 动态连接库(DLL) 132
6.3.2 对象链接与嵌入(OLE) 132
6.3.3 自动化与ActiveX 132
6.3.4 DCOM&COM+ 133
6.3.5 .NET 133
6.4 COM接口 133
6.4.1 接口 133
6.4.2 接口与实现的分离 134
6.4.3 接口的描述——MS IDL(Interface Definition Language) 134
6.4.4 VTBL接口和IDispatch接口 135
6.4.5 COM接口的源头——IUnkown 136
6.4.6 GUID和UUID 136
6.5 COM类(CoClass) 137
6.5.1 类工厂(Class factory)/类对象(class object) 137
6.5.2 激活对象实例的方式 137
6.5.3 组件服务器的类型 138
6.6 COM对象(COM Object) 139
6.6.1 COM对象的概念 139
6.6.2 对象的重用 139
6.7 自动化 140
6.7.1 IDispatch接口 141
6.7.2 类型库 141
6.8 ATL 141
6.8.1 ATLCOM应用向导 142
6.8.2 加入ATLCOM对象 145
6.8.3 ATL对象方法和属性 149
6.9 COM的开发 150
6.9.1 常用COM开发工具的介绍 150
6.9.2 COM中的字符串数据类型及其转换 150
6.9.3 VC6.0中采用ATL的组件编程 152
6.10 参考文献 156
第7章 网络环境的开发平台与工具 157
7.1 网络计算模式的发展 157
7.1.1 主机模式(mainframe computing) 157
7.1.2 客户/服务器模式(client/server computing,C/S) 157
7.1.3 Web模式(Browser/Server,B/S) 158
7.1.4 动态web技术的发展 159
7.2 客户/服务器应用技术 161
7.2.1 命名管道(Named Pipes) 161
7.2.2 套接字(socket) 163
7.3 iava平台 165
7.3.1 iava简介 166
7.3.2 JSP 167
7.3.3 Java Servlet 169
7.3.4 JSP环境的设置 169
7.4 ASP(Active Server Pages) 169
7.4.1 ASP简介 169
7.4.2 ASP语法 172
7.5 .NET平台 173
7.5.1 .NET平台概述 173
7.5.2 .NET Framework 174
7.5.3 XMLWeb Service 184
7.6 参考文献 192
第8章 数据库访问技术 193
8.1 数据库系统导论 193
8.1.1 数据库定义 193
8.1.2 数据库系统组成及其发展 193
8.1.3 为什么要使用数据库 194
8.1.4 数据库的逻辑结构 195
8.1.5 数据模型 196
8.1.6 关系(relational)模型 198
8.2 数据库结构设计方法和工具 199
8.2.1 数据库设计的三个阶段 199
8.2.2 数据库逻辑建模与物理建模 199
8.2.3 数据建模的工具 201
8.3 数据库应用程序开发 201
8.3.1 数据库访问技术简介 201
8.3.2 MFC ODBC 205
8.3.3 ADO 209
8.3.4 ADO.NET 212
8.3.5 使用数据访问应用程序块 223
8.4 XML 223
8.4.1 XML简述 224
8.4.2 XML文档 226
8.4.3 XML数据存储与访问 228
8.5 参考文献 230
第9章 图形处理软件技术 231
9.1 图形处理软件技术概述 231
9.1.1 三维图形的显示 231
9.1.2 图形技术的发展 232
9.1.3 图形软件标准GKS PHIGS OpenGL 233
9.1.4 多媒体开发的COM接口——DirectX 234
9.2 OpenGL 234
9.2.1 OpenGL简介 234
9.2.2 OpenGL程序基本结构 239
9.2.3 OpenGL程序语法结构 239
9.2.4 Open GL基本绘图技术 245
9.2.5 DirectX简介 247
9.3 参考文献 251
第10章 C#语言以及.NET应用程序的开发 252
10.1 C#基础 252
10.1.1 语言特点 252
10.1.2 C#程序 252
10.1.3 类型 253
10.1.4 变量和参数 260
10.1.5 自动内存管理 264
10.1.6 语句 266
10.1.7 类 270
10.1.8 委托 272
10.1.9 异常处理 273
10.2 Windows窗体应用程序 275
10.2.1 创建简单的Windows窗体 276
10.2.2 创建主控与明细Windows窗体 276
10.2.3 用Windows窗体创建多窗格用户界面 280
10.3 Web应用程序( ASP.NET) 283
10.3.1 创建简单的Web窗体 283
10.3.2 在Web窗体中使用数据库更新查询更新数据 286
10.4 Web Service 292
10.4.1 创建XML Web services 292
10.4.2 使用托管代码访问Web服务 294
10.4.3 使用非托管代码访问Web服务 297
10.5 参考文献 300