论文部分内容阅读
随着软件需求的不断增加,软件规模不断扩大、功能日趋复杂,传统的软件开发难以满足用户的需求,目前,基于构件的开发方法已经成为一个研究热点。通过构件的复用和组合来构建软件系统,可以显著缩短开发周期、提高软件生成效率、确保软件产品的质量。在基于构件的软件开发中,构件库中的单个构件功能弱于用户需求,不能有效地实现用户的业务功能,需要通过构件交互组合来获得粒度更大,功能更强的系统构件。对此,本文首先对构件的形式化语义进行研究,然后在此基础上研究多个构件的交互组合技术。
首先,采用范畴论,给出了一个构件的形式语义描述,定义了构件之间的态射关系,提出了一个构件的范畴模型。把构件定义为由构件规约和构件实现组成的二元组集合,通过对构件中的接口、属性、功能及其结构特征的描述来定义构件规约,利用接口及属性间的映射关系来建立构件规约之间的态射,进而刻画出构件之间的关系。在此基础上,利用构件及其态射关系建立构件的范畴模型。
其次,利用范畴运算,给出了构件之间的组合关系,利用范畴函子,构造出系统的体系结构。针对两个相互独立的构件,采用范畴论中的和运算,组合成一个新的复合构件;针对带交互的两个构件组合方式,利用推出运算构造出复合构件。利用函子刻画了体系结构中表示层、业务逻辑层和数据访问层之间的逻辑关系,最终构造出软件系统的体系结构。
最后,通过勘察设计项目管理信息系统的开发实例研究,表明基于范畴论语义的构件建模和组合的开发方法是的可行的。采用三层体系结构为软件开发框架,通过在不同抽象层上对基本功能构件进行组合,给出了包括合同管理员、项目管理员等五大角色功能模块的构件模型,最后利用构件范畴函子来映射体系结构上不同抽象层间的关系,最终实现了整个软件系统的构建。