好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件体系结构chaper07-领域.ppt

58页
  • 卖家[上传人]:宝路
  • 文档编号:48184951
  • 上传时间:2018-07-11
  • 文档格式:PPT
  • 文档大小:5.30MB
  • / 58 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第七章 特定领域的软件体系结构§ 7.1 特定领域的软件体系结概述§ 7.2 DSSA组成§ 7.3 基于DSSA的软件开发§ 7.4 基于DSSA的DRICSM系统 建模§ 7.5 流行的软件体系结构7.1.1 特定领域的软件体系结构的定义特定领域的软件体系结构(Domain Specific Software Architecture,简写为DSSA)是从一个领域中所有应用系统的体系结构抽象出来的更高层次的体系结构,这个共有的体系结构是针对领域模型中的领域需求给出的解决方案DSSA是体现了领域中各系统的结构共性的软件体系结构,它通用于领域中的各个系统§ 7.1 特定领域的软件体系结概述7.1.2 特定领域体系结构的意义• 在特定领域中存在着相类似的知识,这些知识信息可以在解决方案中复用其总体结构、计算构件、连接件以及其数据件都是可重的• 一旦以上构件设计出来后,开发应用软件的工作就简化了,90%以上的工作量是可重用,留下的仅是处理同一领域中属个性化的部件,开发一个应用系统人员素质可以降低、质量反而提高、开发周期大大缩短,从而提高了生产率在特定领域中提供一个共同均适用的软件体系结构模型。

      为多个应用建立好开发基础和环境,这就是Panas的程序族概念,我们称为群体软件需求工程与领域工程7.1.3 特定领域体系结构的目标需求工程以往需求获取中存在问题1. 由系统分析员去向用户调查,然后写出需求报告,系统分析员是不了解用户业务的,因此只能做到一知半解地写“需求分析报告”这个需求报告自身就隐藏着大量的错误,现在的做法是仿真现实系统,让用户老老实实地将自己如何工作的情况写下来,用户是能够写好的2. 需求和分析这二件事是二个不同范畴中的事,需求获取是描述客观系统,属用户范畴,分析工作应由软件人员通过抽象和分析,为下一步设计作准备,是属分析员的范围内的事,因此其知识要求,目标和工作方式是截然不同的现在的做法是需求获取和领域分析分开成不同阶段,不能将它们混在一起进行获取需求过程• 首先了解系统的主要特征,确定该领域中那个模型,如商业系统中那种业态(商场、超市、批发,连锁等) 、几级管理和核算、商品数、经营面积、几级仓库等,由此确定采用那个模式,称为参考模式• 第二步根据模式通过填表、或与电脑交互获得进一步信息,形成初步的需求信息需求生成工具该工具有以下功能: 1. 一致性完备性检查,如用的名字是否有定义且统一,有些文档无人接受,有些文档不知从哪里获得,每个事务或功能的触发条件,有些功能责职无人承担等,需进一步反覆完善。

      2. 生成各种文档:需求报告、费用估算、实施计划、合同草稿、词典、编码表、亚当图等生成文档的作用• 需求报告、费用估算、实施计划、合同等文档,是提供给用户,给以确认• 其它文档供集成商、领域分析员、系统开发员或集成员之用• 所有文档都是根据参考模式从可重用文档库中取出样版填写而成的,为此必需规范化获取需求过程的框架产生参考模式参考模式交 互 或 填 表用 户 需求生存工具合同和估算表和图需求报告规格说明库分 析 员需求建模需求工程是面向用户的,其建模的目标是为了与有关承担者交流,明确用户对系统的需求,并进一步为开发建立需求说明文档,即提出问题域的解决方案,或称概念模型为此需求文档必需是:•面向用户的:用户能易理解的•是严格、一致和完善的•模型能易於不断扩充和完善Ariss建模和UML中的同例场景模型这二种模型,都是完整的需求模型,将其业务过程的过程流程细节省略,就是一种描述用户需求的模型,即用例视图、结构视图或场景视图关键技术• 所有文档都应规范化,才能实现生存工具,实现文档的转换文档应遵循受限自然语言的语法和语义• 受限自然语言的语法和语义可用BNF方式定义• 提供CASE平台,包括文档库及工具库。

      • 要有实际工程基础,才能提供出参考模式其它需求信息• 各岗位角色的权限定义,是设计系统安全性的依据• 用户界面的风格,是用户直接与机器打交通的部分,应有演示,让用户能挑选• 了解与外部的联系以及进一步发展规划,为系统发展留有余地• 现有计算机使用情况 • .....等等小结• 客观系统的建立是基于用户观念,仿真现实人工系统而获得,用户只要写出本人的承担任务,及其具体工作步骤因此可以由用户自己编写• 客观系统的模型是采用角色法模型仿照IPO 图的方式,是面向现实系统的模型,因此需求说明易于用户接受也易于验证• 客观系统中关键部分是功能描述将每个角色承担的活动,分解成动作序列每个动作是最小单位,包括用何文档,如何处理,产生何文档• 在实际中也证明角色法是一种很好的有效的方法,这是汉京公司提出的• 还需严格的规范化,要设计分析员专家系统以及原型演示实用化等工作领域工程• 基本假设:在特定领域中存在着相类似的知识,这些知识信息可以在解决方案中复用• 领域工程是针对同领域的应用工程建立基本能力和必要基础设施• 领域工程是针对特定领域分析、设计和实现软件系统领域工程• 设计出该领域的体系结构模型;• 对此模型进一步细化,形成领域体结构框架多个模型,它还包括:• ①提炼出可重用的构件;• ②设计出可重用数据(称主题数据),即完成数据结构和逻辑数据库的设计,通常在同一领域中数据结构是最稳定的。

      • 领域工程要求有足够的领域信息才能开展,即要求有完整的领域需求报告,或已开发过多个同领域的应用软件• 领域工程的核心是通过领域分析和设计形成领域的逻辑系统当每次开发一个同一领域时,仅需要作少量修改加以组装集成,就大大缩短开发周期、降低开发成本,也便干维护领域分析和设计• 领域分析的任务是:通过分析领域需求,提取出系统的共性,区分出可变和不变的部分• 领域设计的任务是: 1.设计领域构架; 2.设计主题数据库; 3.提炼领域构件领域分析和设计,简称领域分析领域工程模型领域应用 应用应用应用领域 工程DA1B1C1A2B2领域可复用构件输入 输出领域工程师最终用户 领域专家应用系 统开发需求分析员、 软件设计者......数据件连接件领域工程领域构架模型领城建模的信息来源(图示)需求报告专家系统原型演示己有系统用户工具客观世界模型: 主题文档 领域个性和知识 需求模型参加人员: 领域专家 分析员领域信息• 主题文档: 即从己有的文档中提炼出与领域相关的、稳定的业务过程和数据结构。

      • 领域个性知识: 与主题文档相对,客观系统所具有的独特个性而变化的可变部分信息• 需求模型: 除上述内容外,对客观系统的全面的客观描述领域设计的任务• 设计数据环境,如主题数据库• 设计逻辑系统的体系结构• 设计各构件及相互连接关系四种数据环境(一) 文件系统(Data File)每一项应用都设计有各自的文件,这常常是结构化分析的直接结果,数据包含于功能中在这类数据环境中,没有使用数据库管理系统,文件是在应用开发时由分析员或程序员设计的它的特点:简单和相对比较容易实现;但数据冗余量大,不灵活,修改的代价很高四种数据环境(二)应用数据库(Application Data Bases)使用了数据库管理系统,分散的数据为分散的应用而设计没有发挥使用数据库的优越性其特点:不同的应用系统拥有自己的数据库,各个应用之间的综合数据管理,比下面第三类数据环境之较容易实现;但数据的共享程度不好,维护费用高,随着应用的扩充,数据库数目的大量增加会象文件系统那样导致大量冗余如报表数据库四种数据环境(三)主题数据库(Subject Data Bases)是独立于具体应用数据而相关于领域的数据资源,数据结构和存储方式独立于使用数据的各种职能。

      使用数据的各种职能会随者时间的推移不断发生变化,但数据类型本身的变化却不经常发生四种数据环境(四)信息检索系统(Information Retrieval Systems)目前,采用数据仓库技术来实现是一种被设计的便于一般信息检索和灵活数据搜索的系统来源于多个数据源的事先收集、整理、存放在敉据仑库中,通常可供决策处理用主题数据库设计• 詹姆斯.马丁(James Martin)在《信息工程》中提出了基于主题数据库的总体数据规划方法以解决“数据处理危机”• 主题数据库(Subject Data Bases)是独立于具体应用数据而相关于领域的数据资源,数据结构和存储方式;它独立于使用数据的各种职能主题数据库作用和意义• 当一些互不相联的系统分析员在分散独立的开发应用软件系统时,相同的数据被不同的开发小组开发多次,而且具有不同的结构,这样,应该互相协调的数据就不能协调,不同部门之间的数据传输也很难进行• 数据在主题数据库中的存放方式,使得它们独立于使用数据的程序主题数据库作用和意义主题数据库的重要性: 1.它有助于保证数据的完整性和一致性;2.它有助于提高应用开发效率,一旦某一 领域的主题数据库建立,可在以后的同领域开发项目中重用3.由主题数据的重用可得到相应的业务职 能的重用。

      主题数据库设计原则• 主题数据库中的数据应该是在领域中稳定的,综合用户数据视图,尽可能消除冗余的数据和联系• 这个综合过程应遵循一套规则的规范化步骤(如第三和第四范式),因此应该能由计算机完成• 应使最终用户尽可能的参与设计主题数据库规划的基本步骤第一步,进行业务分析,建立企业模型,这部分属于需求获取阶段按照企业内部的理解关系,将它们划分若干职能区域,然后,弄清各职能区域中所包含的全部业务过程,再把业务过程细分为一些活动(Activity)按逻辑划分出的职能区域,业务过程和活动的层次关系描述就是企业模型第二步,进行实体分析,建立主题数据库模型• 清查所有业务活动所涉及的数据实体(Entity)及其属性(Attribute),作好保证标准化的定义与说明,取得著方面一致的理解• 然后重点分析这些实体之间的联系,将联系密切的实体组划分到一起,形成一些实体大组(Supergroup)• 这些实体大组内部的实体之联系密切而与外界实体联系很少,作为划分主题数据库的依据第三步,进行数据的分布分析结合数据存储地点,进一步调整确定主题数据库的内容和机构,制定数据库的开发策略分布分析要充分考虑:业务数据的发生和处理地点,权衡集中式数据存储和分布式数据存储的利弊;还要考虑数据的安全性、保密性,系统的运行效率和用户的特殊要求等。

      根据这些调整实体大组的机构,制定最终的主题数据库 第四步,体系结构设计利用企业模型和主题数据库建立业务过程与主题数据库的对应表从表中划分出逻辑子系统,划分的原则是尽量使数据交换最频繁的一组业务过程和一组主题数据库出现在同一子系统中使得各个子系统之间低耦合高内聚,适于作为重用构件• 如下图所示:领域构件类的提取的几种途径• 智能性很强,无统一方法,必需要与领域专家共同完成• 从企业模型中的业务过程来划分成子系统构件• 从数据模型优化中分析与主题数据密切相关的业务活动组成构件• 从已有的各种模式中寻找相似的结构建立构件,或购买构件产品,经过包装• 通过抽象技术分析出系统中各抽象模型§7.2 DSSA的组成DSSA由领域模型、参考模型、参考体系结构3个主要信息元素以 及框架/环境支持工具、抽取和评估组成7.2.1 研究DSSA及其开发方法的意义DSSA是一门以软件重用为核心,研究软件应用框架的获取、表示和应用等问题的软件方法学特定领域的软件体系结构强调应用领域内的重复出现的大粒度问题及其解的抽象提取1) 基于DSSA的软件开发具有更好的可操作性与可行性(2) 基于DSSA的开。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.