1、产品线
核心资源、产品集合
1、过程驱动
2、特定领域
3、技术支持
4、以架构为中心
双生命周期模型:
建立产品线的方式:演化、革命
成功因素:
对该领域具备长期和深厚的经验
一个用于构建产品的好的核心资源库
好的产品线架构
好的管理(软件资源、人员组织、过程)支持
2、构件
软件构件是一种组装单元,它具有规范的接口规约和显式的语境依赖。可以被独立地部署并由第三方任意地组装。
构件是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能。
构件是一个独立发布的功能部分,可以通过其接口访问它的服务。
复用的发展
构件的复用过程
1、检索与提取构件
基于关键词、刻面检索、超文本检索
2、 理解与评价构件
必须要求构件的开发过程遵循公共标准
构件的功能与行为、相关的领域知识、可适应性约束条件与例外情形、可以预见的修改部分及修改方法。
3、修改构件
4、组装构件
组装的三种方式:
1)基于功能:采用子程序调用和参数传递的方式将构件组装起来
2)基于数据:面向数据的设计方法,例如,Jackson系统开发方法
3)面向对象的组装:如果从类库中检索出来的基类能够完全满足新系统的需求,则可以直接应用。否则,必须以基类为父类,生成相应的子类,以满足新系统的需求
构件组装失配问题
1、由构件引起的失配,包括由于系统对构件基础设施、构件控制模型和构件数据模型的假设存在冲突引起的失配;
2、由连接子引起的失配,包括由于系统对构件交互协议、连接子数据模型的假设存在冲突引起的失配;
3、由于系统成分对全局体系结构的假设存在冲突引起的失配等。要解决失配问题,首先需要检测出失配问题,并在此基础上通过适当的手段消除检测出的失配问题。
三大构件标准
1、EJB
1)会话Bean:业务逻辑实现,负责完成服务端与客户端的交互
2)实体Bean:实现O/R映射,简化数据库开发工作
3)消息驱动Bean:处理并发与异常访问
2、COBRA
1)伺服对象(Servant):CORBA对象的真正实现,负责完成客户端请求。
2)对象适配器(ObiectAdapter):用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB内部的某些功能。
3)对象请求代理(ORB):解释调用并负责查找实现该请求的对象,将参数传给找到的对象,并调用方法返回结果。收发请求和响应
4)对象服务:为使用和实现对象而提供的基本对象集合,这些服务应独立于应用领域。
5)公共设施:向终端用户提供一组共享服务接口,例如系统管理、组合文档和电子邮件等。
6)应用接口:由销售商提供的可控制其接口的产品,相应于传统的应用层表示,处于参考模型最高层
7)领域接口:为应用领域服务而提供的接口,如OMG组织为PDM系统制定的规范。
3、COM
3、中间件
中间件是一类构建、是一类系统软件
特点:
面向需求
业务的分割和包容性
设计与实现隔离
隔离复杂的系统资源
符合标准的交互模型
软件复用
提供对应用构建的管理
主要中间件:
远程过程调用
对象请求代理
远程方法调用
面向消息的中间件
事务处理监控器