首页>参考读物>计算机科学与技术>软件工程及软件方法学

软件系统架构与开发环境
作者 : 郑建德 编著
出版日期 : 2013-10-28
ISBN : 978-7-111-44002-4
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 310
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书讲解软件工程流程(也称为过程)、软件工具、软件开发最佳实践/关键实践、软件架构、框架、组件、对象、切面以及软件开发模式等基本概念,并以这些概念所蕴含的软件工程原理为出发点,介绍Java与VC++/.NET开发平台及其背后的方法论、包括LDAP在内的分布式架构中的常用协议、包括ASN.1在内的中立化信息交换语言,以及CORBA和Web Services等典型的中间件技术。本书对Java的三个平台进行了比较详尽的讨论,并对比Java ME提供了Android平台的入门知识,关于VC++/.NET的讨论主要集中在MFC技术、CLR概念以及Windows Forms/Web Forms框架上。本书还针对各技术点提供了50多个精炼的演示程序例子,这些示例经过作者精心挑选和调试,它们都可以直接编译并运行。
本书是作者多年实践经验与教学经验的结晶,可供计算机及相关专业高校学生作为教材使用,也可供计算机软件相关领域的管理和技术人员参考。

图书特色

资深专家倾情之作,揭秘软件系统架构设计真谛
内容包罗万象 叙述言简意赅
分析全面透彻 层次清晰合理

软件架构的好坏直接决定了软件系统的成败,而软件架构设计最关键的就是要解决软件主体模块之间的逻辑关系。尽管新技术、新工具不断涌现,技术本身千变万化,但一些基本的设计原理、设计思想却万变不离其宗。本书作者把软件架构知识、软件工程方法论、软件技术开发平台等相关知识有机地组织起来,清晰地地阐明了它们的关系,拨开软件架构设计的迷雾,为读者指出了一条学习软件系统架构知识的佳径。本书对软件架构工程技术和管理人员极具参考价值,同时也非常适合计算机及相关专业高年级本科生和研究生阅读。
本书特点:
层次清晰,结构合理。从抽象到具体分三个层次介绍相关知识,第一层次为体系结构及其相关概念,第二层次为流行的体系结构(模型)及其构件(协议),第三层次为具体的中间件技术以及基于上述技术的系统开发方法。
内容丰富,详略得当。从软件工程流程、软件工具模型、软件开发最佳实践到软件架构、框架、组件、对象、切面以及软件开发模式,再到开发语言、开发平台以及跨平台中间件,以软件架构为主线串联相关知识。
分析透彻,技术全面。从不同的角度观察不同的知识点,并利用短小精练的演示程序辅助解释关键技术。另外,本书附赠光盘,其中包含了经精心调试和编译的演示程序的完整源代码。

郑建德 1988年浙江大学工控研究所工业大系统专业博士研究生毕业,获博士学位。毕业后在IT行业工作15年,先后担任高级工程师、教授级高级工程师,研究和技术中心副主任、主任。曾当选中国互联网协会第一届理事会常务理事,亚太经合组织电子商务企业界论坛2001年大会主席。2003年被厦门大学聘为教授,主讲课程内容包括软件工程、软件开发方法论、软件体系结构、J2EE开发环境、密码学、信息安全技术及其应用。主要研究领域为电子商务、电子政务、分布式应用平台、信息安全与计算机网络等。

图书前言

本书根据作者在厦门大学计算机系讲授八年的同名课程讲义编纂而成, 其中系统架构方面的内容与2011年版《高等学校软件工程专业规范》中的相关内容不谋而合,涵盖了其核心课程“大型软件系统设计与体系结构”的教学大纲;软件开发环境方面的内容涉及一系列软件开发原理、技术和工具。作者1988年博士研究生毕业后一直在IT行业工作,2003年起担任厦门大学计算机系教授。本书实践性较强,除了用于教材之外,也非常适合作为软件工程师以及其他涉及软件技术的管理和技术人员的参考书。
  本书共分五章,其中:
  第1章介绍软件架构、框架、组件、对象、切面以及软件开发模式的知识,还介绍了软件工程流程、软件工具模型、CMM概要,以及软件配置管理系统和UML工具。
  第2章介绍Java开发平台(含SE、EE、ME及Android)和.NET开发平台(含VC++) 的关键技术,侧重介绍了Java的反射、序列化、线程、集合类、异常处理技术、VC++/MFC的对象反射特性、对象序列化、消息映射、文档–视图应用框架、动态链接库、.NET的CLR概念、Windows Forms/Web Forms框架以及Silverlight技术概要等,并从面向对象技术的角度对VC++/.NET与Java开发平台进行了比较。
  第3章比较严谨地介绍了HTTP/WebDAV、JDBC以及LDAP协议,以它们为例分析标准协议在分布式架构中的作用,并以LDAP协议的应用为基础,介绍在Java EE平台上扮演重要角色的JNDI技术及其应用。
  第4章从中立化信息交换语言的角度介绍ASN.1、HTML、XML(包括DTD与Schema),以及处理XML文档所用的SAX和DOM解析器模型,并传授基于JAXP的编程技术。
  第5章介绍中间件技术,主要是Java EE中间件、CORBA中间件和Web Services中间件技术。本章关于Java EE的内容包括RMI、EJB、JMS、JDBC(数据源)、JTA/JTS等技术以及它们所依据的传统中间件模型;关于CORBA的内容包括ORB、IDL、IOR、COS、OMA;关于Web Services的内容包括WSDL和SOAP协议以及XFire、CFX和Axis框架。
  本书的主要指导思想是第1章中介绍的一个软件工程工具模型。按照这个模型所表达的理念,对软件工具仅仅知其然是不够的,还应该知其所以然,即要了解这些工具背后的方法论,以及它们所遵循的基本准则。一个完整的软件专业教学体系可以通过数门课程帮助学生积累相关知识,但在普通计算机专业教学体系中很难做到这一点。作者八年前开设“软件系统架构与开发环境”课程,以及这次编写本书的目的都是想尝试解决上述问题。为了把多方面的知识汇集到一本教材中,剖析、简化与剪裁是必不可少的,并要花费不少心血才能把它们有机地组织在一起,形成一个“知识架构”。了解以上知识架构可以避免在浩瀚的软件技术文档中摸索时陷入“见木不见林”的困境。近年来,新的软件技术层出不穷,几乎让人应接不暇。但是,除了少数创新点之外,它们大多是传统技术在新的硬件、软件环境中的重组或翻新。熟悉以上知识架构也有助于我们吸收和消化这些“新技术”。
  为了构建一个简明扼要的知识架构,本书采用了多个方法。其中之一是从不同的角度来观察不同的知识点。学习没有捷径,却有“佳径”,循着正确的途径去学习往往可以收到事半功倍的效果。本书采用的第二个方法是利用一系列短小精练的演示程序来解释关键的知识点。这些演示程序都是作者创作或改编的,其清单列在正文后面,是本书的重要组成部分。这些程序的完整源代码包含在本书附赠的光盘中,作者对这些程序逐一进行过调试,它们都可以直接编译并运行。
  本书或多或少得益于作者的实践经验与教学经验。尽管如此,作为一种尝试,本书难免有不成熟或不准确之处,敬请读者指正。

郑建德

上架指导

计算机\软件工程

封底文字

资深专家倾情之作,揭秘软件系统架构设计真谛
内容包罗万象 叙述言简意赅 分析全面透彻 层次清晰合理
软件架构的好坏直接决定了软件系统的成败,而软件架构设计最关键的就是要解决软件主体模块之间的逻辑关系。尽管新技术、新工具不断涌现,技术本身千变万化,但一些基本的设计原理、设计思想却万变不离其宗。本书作者把软件架构知识、软件工程方法论、软件技术开发平台等相关知识有机地组织起来,清晰地地阐明了它们的关系,拨开软件架构设计的迷雾,为读者指出了一条学习软件系统架构知识的佳径。本书对软件架构工程技术和管理人员极具参考价值,同时也非常适合计算机及相关专业高年级本科生和研究生阅读。
本书特点:
● 层次清晰,结构合理。从抽象到具体分三个层次介绍相关知识,第一层次为体系结构及其相关概念,第二层次为流行的体系结构(模型)及其构件(协议),第三层次为具体的中间件技术以及基于上述技术的系统开发方法。
● 内容丰富,详略得当。从软件工程流程、软件工具模型、软件开发最佳实践到软件架构、框架、组件、对象、切面以及软件开发模式,再到开发语言、开发平台以及跨平台中间件,以软件架构为主线串联相关知识。
● 分析透彻,技术全面。从不同的角度观察不同的知识点,并利用短小精练的演示程序辅助解释关键技术。另外,本书附赠光盘,其中包含了经精心调试和编译的演示程序的完整源代码。
作者简介:
郑建德 1988年浙江大学工控研究所工业大系统专业博士研究生毕业,获博士学位。毕业后在IT行业工作15年,先后担任高级工程师、教授级高级工程师,研究和技术中心副主任、主任。曾当选中国互联网协会第一届理事会常务理事,亚太经合组织电子商务企业界论坛2001年大会主席。2003年被厦门大学聘为教授,主讲课程内容包括软件工程、软件开发方法论、软件体系结构、J2EE开发环境、密码学、信息安全技术及其应用。主要研究领域为电子商务、电子政务、分布式应用平台、信息安全与计算机网络等。

作者简介

郑建德 编著:暂无简介

图书目录

前言
致谢
第1章  软件系统架构与软件工程 1
1.1  计算机及其软件系统 1
1.1.1  系统及其基本特性 1
1.1.2  分布式计算机系统 2
1.1.3  RM-ODP及其视点模型 4
1.1.4  软件系统及其质量属性 5
1.2  软件系统的流程要素 7
1.2.1  系统工程概要 7
1.2.2  软件工程概要 9
1.2.3  CMM及其关键实践 13
1.2.4  软件配置管理工具 18
1.3  软件系统的架构要素 22
1.3.1  软件设计的模块化、形式化与层次化 22
1.3.2  软件架构与软件框架 24
1.3.3  面向对象软件开发vs.软件架构 29
1.3.4  基于组件的软件开发vs.软件架构 32
1.3.5  面向切面编程vs.软件架构 34
1.4  UML语言与UML工具 36
1.4.1  UML vs.软件架构视图模型 36
1.4.2  基于UML的软件架构设计 37
1.4.3  UML与4+1视图 41
1.4.4  UML工具与软件架构设计 48
1.5  软件设计风格与软件设计模式 49
1.5.1  概述 49
1.5.2  软件设计风格 49
1.5.3  面向对象的软件设计模式 53
第2章  软件开发平台与软件系统架构 58
2.1  软件系统开发语言 58
2.2  C++与Java的对比综述 60
2.3  C++与Java的开发工具与开发过程 67
2.3.1  C++的基本开发工具与开发过程 67
2.3.2  Visual C++的开发平台与开发过程 70
2.3.3  Java的基本开发工具与开发过程 72
2.3.4  Java的三个开发平台 74
2.3.5  Java集成开发工具 92
2.4  Java SE的架构相关技术 92
2.4.1  Java的反射技术 93
2.4.2  Java的对象序列化技术 98
2.4.3  Java的异常处理技术 101
2.4.4  Java线程的并发控制 104
2.4.5  Java的集合类 105
2.5  Visual C++的架构相关技术 107
2.5.1  Windows API的窗口技术与消息处理技术 107
2.5.2  MFC的架构相关技术 112
2.5.3  Visual C++的动态链接库 132
2.6  Visual Studio与.NET框架 136
2.6.1  CLR及其相关概念 136
2.6.2  关于C# 137
2.6.3  桌面应用框架 137
2.6.4  扩展的B-S架构 141
2.7  Android平台 149
2.7.1  Android操作系统 149
2.7.2  Dalvik虚拟机 150
2.7.3  Android应用软件框架及其Activity构件 150
2.7.4  Android应用开发例子 152
第3章  C-S架构的常用协议 154
3.1  概述 154
3.2  HTTP及其扩展协议 155
3.2.1  HTTP协议概要 155
3.2.2  URL与URI 156
3.2.3  HTTP协议的PDU 159
3.2.4  B-S架构与HTTP协议封装 162
3.2.5  HTTP的扩展协议WebDAV 164
3.3  JDBC/ODBC协议 167
3.3.1  数据库应用系统及其C-S架构 167
3.3.2  数据库系统 168
3.3.3  JDBC客户端架构 171
3.3.4  ODBC客户端架构 174
3.4  LDAP协议与JNDI 176
3.4.1  名字服务与目录服务 176
3.4.2  LDAP协议及其模型 178
3.4.3  JNDI 185
第4章  中立化信息交换语言 191
4.1  概述 191
4.2  ASN.1 192
4.2.1  ASN.1概述 192
4.2.2  ASN.1的抽象语法 193
4.2.3  BER编码 199
4.2.4  DER编码 202
4.3  HTML 203
4.3.1  HTML概述 203
4.3.2  HTML的高层元素 204
4.3.3  HTML的中层元素 205
4.3.4  HTML的基层元素 209
4.3.5  HTML的层叠样式表 214
4.3.6  HTML中的JavaScript程序 216
4.4  XML 218
4.4.1  XML概述 218
4.4.2  XML元素及其属性 220
4.4.3  基于DTD的元素与属性声明 221
4.4.4  基于DTD的XML文档的逻辑和物理结构 223
4.4.5  XML Schema 228
4.4.6  XML解析器 238
第5章  中间件与分布式软件架构 245
5.1  概述 245
5.2  传统中间件 245
5.3  Java EE中间件 253
5.3.1  Java的RMI技术 253
5.3.2  EJB技术 257
5.3.3  JMS技术 265
5.3.4  JDBC数据源与JTA/JTS 271
5.4  CORBA与Web Services 275
5.4.1  跨平台中间件概述 276
5.4.2  CORBA中间件 277
5.4.3  Web Services中间件 284
附录  演示程序清单 299
参考文献 302

教学资源推荐
作者: [美]约翰 W. 萨茨辛格(John W. Satzinger) 罗伯特 B. 杰克逊(Robert B. Jackson) 史蒂芬 D. 伯德(Stephen D. Burd) 著
作者: [美]理查德 F. 施密特(Richard F. Schmidt)著
作者: 黄松 洪宇 郑长友 朱卫星 编著
参考读物推荐
作者: (美)Ivar Jacobson, Grady Booch, James Rumbaugh
作者: Brian Chess;Jacob West
作者: Donald J.Reifer
作者: Edward Kit