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