特定领域软件体系结构
Food.OraclDAL
Food.SQLServerDAL
Food.SybaseDAL
应用实例2(续)
1.Food.ConfigTool:用来加密连接字符串和创建事件同志源的管理应用程序。 2.Food.Utility:起到的是数据访问辅助的作用。 3.Food.UI.Main:主要是处理表示层最后要生成的可执行文件的项目,主要是 程序主界面的处理。 4.Food.UI.Base:主要是处理表示层所要继承的窗体和调用的公共类。 5.Food.UI.Fly:主要是处理表示层航班管理的业务。 6.Food.UI.Eqp:主要是处理表示层配送管理的业务。 7.Food.UI.Std:主要是处理表示层标准管理的业务。 8.Food.UI.Sys:主要是处理表示层系统管理的业务。 9.Food.Model:主要是对数据集的处理。 10.Food.UI.Common:主要是处理对多种连接方式的处理。 11.Food.IDAI。:数据接口,主要是对外提供数据接 12.Food.DALFactory:数据工厂,主要是配置对不同数据库的访问,用来确定加载
(7)为应用框架的各个接口选择具体的实现策 略,完成该应用框架的一个实例。
(8)识别多个应用或应用框架中隐含的可变点。 (9)通过可变点的抽象化、参数化、抽象领域
软件框架雏形。
特定领域的软件开发模型------双工程模型
领域专家 RC开发
已有的系统 领域分析 领域模型 领域设计
系统 用户需求 需求分析 系统需求
DSSA的基本活动
第三阶段:领域实现 这个阶段的主要目标是依据领域模型和DSSA
开发和组织可重用信息。 这些可重用信息可能是从现有系统中提取得到, 也可能需要通过新的开发得到,它们依据领域 模型和DSSA进行组织,从而支持了系统化的 软件重用。
DSSA的建立过程
1)定义领域范围 2)定义领域特定的元素 3)定义领域特定的设计和实现需求约束 4)定义领域模型和体系结构 5)产生,搜集可重用的产品单元 以上这些过程是一个反复的、逐步求精的过程。
4
层)或是实
现新构件
(低层)
集成已有构件 5
新应用系统 6
应用实例1(续)
采用DSSA后获得的好处 (1)相对于过去的开发方法,系统开发、维护的工作量大幅
度减少,整个应用系统的构件复用程度相当大。 (2)便于系统开发的组织管理.在大型系统开发过程中,最
突出的问题是人员的组织问题。采用了DSSA之后,开发中涉 及核心技术的人员从15人左右下降到5人左右,其它的人力 进行外围产品化的工作,如:产品包装、市场销售,工具的 开发,客户化服务等。而过去这方面内容在技术部门是被忽 视的.而在应用软件工程中.它们也占重要的住置。 (3)系统有较好的环境适应性,构件的升级引发应用系统的 升级,并在构件库中合理的控制粒度,使系统的总体结构设 计与算法和模块化设计同等重要,并灵活地保证新、老应用 系统的共存。
系统
保险领域知识和 a 软件体系结构方法
新应用需求
1
应用一般抽
ቤተ መጻሕፍቲ ባይዱ
b
象和分解原
则
高层
按原则分解
2
实现分解的构
件,并根据领域
c
知识和分解原则
归并他们 低
层
d
形成构件库
并进行管理
对比已有应该
e
用系统,要求
升级(重新集
成已有应用系
统)
对比分析已
有构件库中
3
的构件
无或不同
已有构件
分析无或不
同的构件,
确定是原则
升级(高
哪一个数据库访问程序集的类。 13.Food.OracleDAL:主要是处理对Oracle数据库的处理 14.Food.SQLServerDAL:主要是处理对SQLServer数据库的处理 15.Food.BLL、Food.UI.IBLL、Food.BLLFACTORY:主要是处理业务逻辑接口和业
务逻辑工厂,即业务逻辑组件存放之处。
谢谢
特定领域软件框架的提取方法
(1)需求分析和领域分析,建立用例图。 (2)识别核心业务流程和周边业务流程。 (3)参照传统业务流程,分析核心业务流程的
细节。 (4)建立最初的核心业务流程模型。 (5)核心业务流程模型和传统业务流程的互相
适应。
特定领域软件框架的提取方法(续)
(6)核心业务流程模型的框架实现并向框架补 充周边业务流程接口。
DSSA的基本活动
第一阶段:领域分析 这个阶段的主要目标是获得领域模型。
准备性的活动包括: 1)定义领域的边界 2)识别信息源
DSSA的基本活动
第二阶段:领域设计 这个阶段的目标就是获得DSSA。
DSSA的特点: 1)DSSA不是单个系统的表示,而是一个高层次
的设计。 2)DSSA要适当的具有变化性。
DSSA DSSA维护
领域工程 领域知识
RC库
系统设计与开发 应用系统
反馈
系统维护 应用工程
用户
特定领域的软件开发模型------DSSA演化过程
领域需求
(1)确定DSSA
(2)规范描述DSSA
(3)求精验证DSSA (4)实施DSSA (5)维护DSSA DSSA终结
特定领域的软件开发模型------RC演化过程
应用实例2------航空食品配送领域软件体系结构
Food.UI.Base Food.UI.Std
Food.UI.Main Food.UI.Eqp
Food.UI.Fly Food.UI.Sys
Food.Model Food.BLLFactory
Food.BLL
Food.IDAL
Food.DALFactory
特定领域软件体系结构 (DSSA)
小组成员:赵旭海,方婧,张杰,黄志欢,郭寰,李其
大纲
DSSA简介 DSSA基本活动 DSSA的建立过程 特定领域软件框架的提取方法 特定领域开发模型 应用实例
DSSA简介------产生背景
随着软件系统规模和复杂性的增长,系统总体结 构设计和规格说明的重要性已经远远超过特定算 法和数据结构的选择,良好的系统结构对保证系 统的成功至关重要。对软件开发而言,获得许多 领域通用的可重用软件资产是很困难的事情,但 现在人们发现开发的应用系统大多和过去的软件 系统有联系或者相似之处。特别是在某一领域中, 不同的系统、不同版本之间的软件体系结构是非 常相似的。这就为基于软件体系结构的重用创造 了条件。DSSA简单地说:表示的就是某一特定领 域的体系结构,通过大规模重用可以可靠、高效 快速地实例化出一系列产品。
DSSA简介------定义
对DSSA研究的角度、问题不同导致了对DSSA产生 了不同的定义。
Hayes-Roth对DSSA的定义如下:“DSSA就是专用一 类特定类型的任务(领域)的、在整个领域中能 有效地使用的、为成功构造应用系统限定了标准 的组合结构的软件构件集合”。
Tracz的定义为:“DSSA就是一个特定的问题领域 中支持一组应用的领域模型、参考需求、参考体 系结构等组成的开发基础,其目标就是支持在一 个特定领域中多个应用的生成”。
(1)认定RC
(2)库中有否?
N
Y
(5)满足要求否?
N
Y
(6)定制RC
(3)描述RC (4)制作RC (7)测试RC (8)归类RC
(9)应用RC
RC库
应用实例1--保险行业特定领域软件体系结构
I
已有具体需求
II 应用抽象描述和 分解
III 实现分解的子系 统(构件)
集成各子系统, IV 形成具体的应用