�� 开发代码级软件构件与通常的程序设计活动不同,其主要区别在于:软件人员必须运用各种抽象化手段,以发掘公共特征,分离构件的应用环境、功能和行为,从而提高可复用性。典型的抽象方法有如下3种。
1、功能抽象
��软件构件的功能由接口说明中的输入�D输出关系确定,实现细节对构件的使用者隐藏起来;
2、数据抽象
��在功能抽象的基础上进一步隐藏除接口参数外的所有数据。构件的功能或行为由输入参数和构件自身记忆的内部状态决定。构件的内部状态可由构件的内部操作来更新。面向对象程序设计语言中的"类"是一种典型的基于数据抽象的软件构件。
3、过程抽象
��在数据抽象的基础上进一步实现在同一软件构件上并发执行的多个线程的无关性。软件构件提供端口,以便为多个用户同时访问软件构件中的资源进行同步控制。访问请求首先进入等待队列,软件构件就绪后,从队列中取出请求逐个执行。使用构件的多个线程之间通过全局共享数据或消息传递进行信息交换。软件构件的设计必须保证构件接口元素的功能和行为在语义上的正确性,不管各线程操作序列之间的相对时序如何变化。
�� |
|