软件的接口设计相当于一组房屋的门、窗和外部设施的详细绘图门、窗、外部设施的详细图纸作为平面图的一部分,大体上告诉我们:事件和信息如何流人和流出住宅以及如何在平面图的房间内流动。软件接口设计元素描述了信息如何流人和流出系统,以及被定义为体系结构一部分的构件之间是如何通信的。接口设计有三个重要的元素:
(1)用户界面(User Interface, UI);
(2)和其他系统、设备、网络、信息生成者或使用者的外部接口;
(3)各种设计构件之间的内部接口。这些接口设计元素能够使软件进行外部通信,还能使软件体系结构中的构件之间进行内部通信和协作。
UI 设计(越来越多地被称作可用性设计)是软件工程中的主要活动。可用性设计包含美学元素(例如,布局、颜色、图形、交互机制)、人机工程元素(例如,信息布局、隐喻、UI 导航)和技术元素(例如,UI 模式、可复用构件)。通常,UI 是整个应用体系结构内独一无二的子系统。
外部接口设计需要发送和接收信息实体的确定信息。在所有情况下,这些信息都要在需求工程过程中进行收集,并且在接口设计开始时进行校验。外部接口设计应包括错误检查和适当的安全特征检查。
内部接口设计和构件级设计紧密相关。分析类的设计实现呈现了所有需要的操作和消息传递模式,使得不同类的操作之间能够进行通信和协作。每个消息的设计必须提供必不可少的信息传递以及所请求操作的特定功能需求。
在有些情况下,接口建模的方式和类所用的方式几乎一样。在 UML中,接口如下定[OMG03a]:“接口是类、构件或其他分类符(包括子系统)的外部可见的(公共的)操作说明,而没有内部结构的规格说明。”更简单地说,接口是一组描述类的部分行为的操作,并提供了这些操作的访问方法。