构件化软件设计与实现(软件复用与软件构件技术丛书)
分類: 图书,计算机/网络,软件工程/开发项目管理,
作者: 杨芙清,梅宏主编,黄罡等编著
出 版 社: 清华大学出版社
出版时间: 2008-11-1字数: 520000版次: 1页数: 367印刷时间: 2008/11/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787302173229包装: 平装内容简介
本书以软件复用为宗旨,以软件体系结构为中心,以中间件为构件框架,系统介绍了构件化软件设计与实现的概念、方法和技术,提供了工程应用范例。在构件化软件设计方面,突出了软件体系结构的核心地位,重点介绍了如何设计出满足功能与非功能需求、作为构件组装蓝图的软件体系结构。在构件化软件实现方面,突出了构件框架的主要支撑作用,重点介绍了如何按照软件体系结构、利用构件框架,将可复用构件组装、部署、运营起来。本书通过理论与实践的结合,使读者不仅学习构件化软件设计与实现的系统化知识,也能有效地掌握实施过程中所需的方法和技术。
作者简介
扬芙清,计算机软件科学家,中国科学院院士,IEEE FELLOW。现任北京大学信息学部主任、软件工程国家工程研究中心主任、软件与微电子学院理事长。国务院学位委员会学科评议组召集人,中国软件行业协会副理事长。《中国科学》、《科学通报》和《电子学报》副主编。
从事系统软件、软件工程、软件工业化生产技术和系统等方面的教学和研究工作。主持研制成功我国第一台百万次集成电路计算机多道运行操作系统和第一个全部用高级语言书写的操作系统;在国内率先倡导软件工程研究,创办了国内第一个软件工程学科;开创了软件技术的基础研究领域;主持了历经四个五年计划的国家重点科技攻关项目——青鸟工程和国家863计划若干重点课题的研究。多次获得各种荣誉称号和奖励,如:全国科学大会奖、国家科技进步二等奖、电子工业部科技进步特等奖、国家级教学成果奖一等奖、国家“七五”、“八五”、“九五”国家重点科技攻关计划先进个人等十七项国家及部委级的奖励。发表论文150余篇,著作8部,培养了百余名硕士、博士和博士后。
目录
第1部分概览
第1章什么是构件化软件设计与实现
1.1从编程语言的发展看构件化软件
1.2从软件工程学看构件化软件设计与实现
1.3本书的构件化软件设计与实现方法概貌
1.4小结
第2章构件化软件设计与实现的主要概念
2.1软件构件
2.2软件体系结构
2.3软件构件框架
2.4小结
第2部分软件体系结构设计
第3章软件体系结构风格
3.1基本概念
3.2典型风格简介
3.3风格的验证
3.4不同风格的集成
3.5小结
第4章软件体系结构设计
4.1体系结构设计方法概述
4.2体系结构设计的主要问题和一般途径
4.3几种体系结构设计方法介绍
4.4面向利用的体系结构设计
4.5小结
第5章软件体系结构评估
5.1评估方法的选择
5.2软件体系结构评估方法的要素
5.3常见的软件体系结构评估方法
……
第6章软件体系的结构描述语言
第7章ABC/ADL与ABCTool
第3部分可复用构件开发
第8章可复用构件开发基本原则
第9章面向对象的可复用构件开发
第10章基于模式的构件开发
第11章面向EJB/J2EE的构件开发
第12章面向CORBA/CCM的构件开发
第13章面向COM/.NET的构件开发
第14章构件测试
第4部分构件组装、部署与运行
第15章构件组装
第16章构件部署
第17章构件运行维护和管理
第5部分实例研究
第18章构件运行支撑平台示例——PKUAS
第19章奥运信息系统体系结构建模案例
第20章信贷管理系统体系结构建模案例
参考文献
书摘插图
第1章 什么是构件化软件设计与实现
要点浏览
构件化软件设计与实现与其他软件开发方法有着较明显的差异,为什么会有这些差异以及这些差异的具体内涵,是开始构件化软件设计与实现之前必须了解的。通过阅读本章,读者可以了解到以下几点。
构件化软件与其他软件模型的本质差异。
构件化软件设计与实现与其他软件开发方法的差异。
本书构件化软件设计与实现的内容概览。
1.1 从编程语言的发展看构件化软件
软件是对客观世界中问题空间与解空间的具体描述,是客观事物的一种反映,是知识的提炼和“固化”。软件开发可以归结为两项主要活动,即对所要解决的问题及其相关事物的认识和基于这种认识所进行的描述。人类的认识都需借助他们所熟悉的某种自然语言,将认识的结果描述为计算机所能够理解的软件则依赖于编程语言,自然语言和编程语言之间存在较大的“语言鸿沟”,这种鸿沟直接决定了软件开发的难度和复杂度。因此,提高编程语言的抽象层次,使其蕴含的软件模型具有更强的表达能力、更符合人类的思维模式,成为软件开发方法发展的主线。
在高级语言出现以前,汇编语言(机器语言)是编程的工具,表达软件模型的基本概念(或语言构造)是指令,表达模型处理逻辑的主要概念(机制)是顺序和转移。这一抽象层次很低,基本等同于计算机的实际计算模型,程序员需要考虑大量的机器细节,与人类思维模式差距极大。
高级语言的出现,例如FORTRAN语言、Pascal语言、C语言等,使用了变量、标识符、表达式等概念作为语言的基本构造,并使用3种基本控制结构(顺序、分支、循环)来表达软件模型的计算逻辑,因此,软件开发人员可以在一个更高的抽象层次上进行程序设计。随后出现了一系列开发范型和结构化程序设计技术,实现了模块化的数据抽象和过程抽象,提高了人们表达客观世界的抽象层次。
……