软件项目实训及课程设计指导——软件系统概要设计中的组件设计示例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件项目实训及课程设计指导——软件系统概要设计中的组件设计示例
1、UML技术规范中的UML组件及UML组件图
UML技术规范中的组件是软件应用系统的一个物理单元,它代表软件应用系统中的一个物理实现的功能模块——在Java技术平台中一般为一个*.jar包文件。

从模型视图控制器(MVC)系统架构模式的角度来看,在一个软件应用系统中应该包括有边界组件、控制组件和实体组件三大部分。

如下示图为Rose UML开发工具软件中创建UML组件的功能菜单的局部截图:
UML技术规范中的组件图是由组件、接口和组件之间的关系所构成的,组件图一方面能够帮助软件应用系统的开发人员理解软件应用系统的最终结构——因为组件图可以描述出软件应用系统的构成组件以及各个组件之间的相互关系;另一方面也使得开发实现工作有一个明确的开展目标和有利于项目开发小组中的其他人员(如帮助文档的编写人员)也能够更好地理解软件应用系统中的各个功能模块。

2、UML技术规范中的UML组件之间可以存在有依赖关系
组件之间的依赖关系主要出现在下面的场合:一个组件中的模型元素使用了另一个组件中的模型元素;通过接口实现而产生出依赖联系——也就是一个组件对另一个组件的接口进行了具体的实现。

UML技术规范中的组件图中的各个组件之间的依赖关系是采用虚线
箭头表示的,如下示图所示为某个信息管理系统中的UML组件图局部截图,各个组件之间的关系在示图中也标注完毕。

3、在UML技术规范中所支持的各种主要类型的组件
(1)配置组件(Configurable Component)
配置组件是可执行系统的基础、并描述了其他组件之间的关系和工作参数,它是一个可执行系统必须的组件。

如在J2EE系统平台中的各种*.xml的配置文件等。

如下示图为某个Web应用系统项目中的部署描述文件web.xml内容的局部截图:
(2)工作产品组件(Work Product Components)
工作产品组件是在软件开发阶段使用的组件,是配置组件的来源——如数据文件和数据库表、源程序文件等。

它们并不直接构成可执行系统,而是软件系统开发过程中的产品。

(3)可执行组件(Executive Program Components)
可执行组件构成可运行系统的最终组成结果,如Windows平台中的动态链接库DLL文件(COM+、DLL、ActiveX等形式)、可执行的EXE程序文件、Java平台中的JAR包文件(各种形式的JavaBeans)等等都是执行组件。

如下示图为某个Web应用项目部署到应用服务器Tomcat中的部署过程的局部截图:
4、利用UML组件图可以进一步细化软件应用系统的系统架构设计结果
(1)明确软件应用系统分层设计中的各个主要的组件
为了能够细化软件应用系统的架构设计结果,软件应用系统的设计人员需要进一步对软件应用系统中的架构设计结果进行横向分块——设计出体现软件应用系统分层中的各个组件,并画出最终的UML组件图。

而对于一个软件应用系统来说,在纵向方向从下至上一般可以分为如下不同的组件模块:
1)持久层中的数据连接组件:负责连接软件应用系统中的数据库系统;
2)持久层中的持久实体组件:这些实体组件负责系统中的各种需要持久化的数据封装;3)持久层中的数据访问接口组件:定义和规范系统中的各个数据库表的数据访问操作的方法(增、删、改、查)和要求;
4)持久层中的数据访问实现组件:具体完成数据访问接口中所定义的各个数据访问操作的功能实现--也就是具体地完成对数据库表的增、删、改、查的功能;
5)业务逻辑层中的业务实体组件:这些实体组件负责对系统中与业务处理有关的各种业务数据的封装;
6)业务逻辑层中的业务处理接口组件:定义和规范系统中的各个业务逻辑处理的规则和要求;
7)业务逻辑层中的业务功能处理组件:具体完成业务处理接口中所定义的各个业务逻辑的功能实现;
8)表示层中的控制调度组件:响应表示层中视图组件的请求、并对业务处理功能组件进
行访问和获得处理后的结果,最后转发到特定的视图组件中显示输出;
9)表示层中的实体组件:这些实体组件负责对用户的各种请求数据的封装;
10)表示层中的视图组件:它们是系统中的各种界面可视元素的集合,负责系统的界面显示和请求数据的收集、校验等功能;
11)其他辅助或者工具类型的组件:完成系统中的各种全局和通用的辅助性功能。

(2)采用UML组件图表现出对软件应用系统中的横向分块的设计结果
UML组件的图示表示形式定义为一个大矩形左嵌两个小矩形,并在大矩形框内标注出该组件的名字。

在UML技术规范的组件视图中一般包含有组件、接口和组件之间的依赖关系。

下图所示为体现银行账户信息管理系统中的各个组件及关系的组件图,它充分体现出该软件应用系统分层设计中的横向分块设计结果——各个组件是依据它们在该软件应用系统中的职责划分的、并遵守面向对象封装和隔离的基本原则完成对各个组件模块的设计。

当然,软件应用系统中的各个组件之间的关系不应该出现“多对多”形式的依赖关系。

因为,如果组件彼此之间的依赖关系比较复杂时,则意味着该软件应用系统的分层设计结果不是太良好,软件应用系统的设计人员此时需要对软件应用系统再进一步地“纵向分离”和“横向分块”。

相关文档
最新文档