版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章特定领域的软件体系结构§7.1特定领域的软件体系结概述§7.2DSSA组成§7.3基于DSSA的软件开发§7.4基于DSSA的DRICSM系统建模§7.5流行的软件体系结构17.1.1特定领域的软件体系结构的定义
特定领域的软件体系结构(DomainSpecificSoftwareArchitecture,简写为DSSA)是从一个领域中所有应用系统的体系结构抽象出来的更高层次的体系结构,这个共有的体系结构是针对领域模型中的领域需求给出的解决方案。DSSA是体现了领域中各系统的结构共性的软件体系结构,它通用于领域中的各个系统。§
7.1特定领域的软件体系结概述27.1.2特定领域体系结构的意义在特定领域中存在着相类似的知识,这些知识信息可以在解决方案中复用。其总体结构、计算构件、连接件以及其数据件都是可重的。一旦以上构件设计出来后,开发应用软件的工作就简化了,90%以上的工作量是可重用,留下的仅是处理同一领域中属个性化的部件,开发一个应用系统人员素质可以降低、质量反而提高、开发周期大大缩短,从而提高了生产率。3在特定领域中提供一个共同均适用的软件体系结构模型。为多个应用建立好开发基础和环境,这就是Panas的程序族概念,我们称为群体软件。需求工程与领域工程7.1.3特定领域体系结构的目标4需求工程5以往需求获取中存在问题1.由系统分析员去向用户调查,然后写出需求报告,系统分析员是不了解用户业务的,因此只能做到一知半解地写“需求分析报告”这个需求报告自身就隐藏着大量的错误,现在的做法是仿真现实系统,让用户老老实实地将自己如何工作的情况写下来,用户是能够写好的。62.需求和分析这二件事是二个不同范畴中的事,需求获取是描述客观系统,属用户范畴,分析工作应由软件人员通过抽象和分析,为下一步设计作准备,是属分析员的范围内的事,因此其知识要求,目标和工作方式是截然不同的。现在的做法是需求获取和领域分析分开成不同阶段,不能将它们混在一起进行。7获取需求过程首先了解系统的主要特征,确定该领域中那个模型,如商业系统中那种业态(商场、超市、批发,连锁等)、几级管理和核算、商品数、经营面积、几级仓库等,由此确定采用那个模式,称为参考模式。第二步根据模式通过填表、或与电脑交互获得进一步信息,形成初步的需求信息。8需求生成工具该工具有以下功能:1.一致性完备性检查,如用的名字是否有定义且统一,有些文档无人接受,有些文档不知从哪里获得,每个事务或功能的触发条件,有些功能责职无人承担等,需进一步反覆完善。2.生成各种文档:需求报告、费用估算、实施计划、合同草稿、词典、编码表、亚当图等。9生成文档的作用需求报告、费用估算、实施计划、合同等文档,是提供给用户,给以确认。其它文档供集成商、领域分析员、系统开发员或集成员之用。所有文档都是根据参考模式从可重用文档库中取出样版填写而成的,为此必需规范化。10获取需求过程的框架产生参考模式参考模式交互或填表用户需求生存工具合同和估算表和图需求报告规格说明库分析员11需求建模
需求工程是面向用户的,其建模的目标是为了与有关承担者交流,明确用户对系统的需求,并进一步为开发建立需求说明文档,即提出问题域的解决方案,或称概念模型。为此需求文档必需是:面向用户的:用户能易理解的。是严格、一致和完善的。模型能易於不断扩充和完善。
Ariss建模和UML中的同例场景模型。这二种模型,都是完整的需求模型,将其业务过程的过程流程细节省略,就是一种描述用户需求的模型,即用例视图、结构视图或场景视图12关键技术所有文档都应规范化,才能实现生存工具,实现文档的转换。文档应遵循受限自然语言的语法和语义。受限自然语言的语法和语义可用BNF方式定义。提供CASE平台,包括文档库及工具库。要有实际工程基础,才能提供出参考模式。13其它需求信息各岗位角色的权限定义,是设计系统安全性的依据。用户界面的风格,是用户直接与机器打交通的部分,应有演示,让用户能挑选。了解与外部的联系以及进一步发展规划,为系统发展留有余地。现有计算机使用情况。.....等等。14小结
客观系统的建立是基于用户观念,仿真现实人工系统而获得,用户只要写出本人的承担任务,及其具体工作步骤。因此可以由用户自己编写。客观系统的模型是采用角色法模型仿照IPO图的方式,是面向现实系统的模型,因此需求说明易于用户接受也易于验证。15
客观系统中关键部分是功能描述。将每个角色承担的活动,分解成动作序列。每个动作是最小单位,包括用何文档,如何处理,产生何文档。在实际中也证明角色法是一种很好的有效的方法,这是汉京公司提出的。还需严格的规范化,要设计分析员专家系统以及原型演示实用化等工作。16领域工程基本假设:在特定领域中存在着相类似的知识,这些知识信息可以在解决方案中复用。领域工程是针对同领域的应用工程建立基本能力和必要基础设施。领域工程是针对特定领域分析、设计和实现软件系统。17领域工程设计出该领域的体系结构模型;对此模型进一步细化,形成领域体结构框架多个模型,它还包括:①提炼出可重用的构件;②设计出可重用数据(称主题数据),即完成数据结构和逻辑数据库的设计,通常在同一领域中数据结构是最稳定的。18领域工程要求有足够的领域信息才能开展,即要求有完整的领域需求报告,或已开发过多个同领域的应用软件。领域工程的核心是通过领域分析和设计形成领域的逻辑系统。当每次开发一个同一领域时,仅需要作少量修改加以组装集成,就大大缩短开发周期、降低开发成本,也便干维护。19领域分析和设计领域分析的任务是:通过分析领域需求,提取出系统的共性,区分出可变和不变的部分。领域设计的任务是:1.设计领域构架;2.设计主题数据库;3.提炼领域构件。领域分析和设计,简称领域分析。20领域工程模型21领域应用应用应用应用领域工程DA1B1C1A2B2领域可复用构件输入输出领域工程师最终用户领域专家应用系统开发需求分析员、软件设计者......数据件连接件领域工程领域构架模型22领城建模的信息来源(图示)需求报告专家系统原型演示己有系统用户工具客观世界模型:主题文档领域个性和知识需求模型
参加人员:领域专家分析员23领域信息主题文档:即从己有的文档中提炼出与领域相关的、稳定的业务过程和数据结构。领域个性知识:与主题文档相对,客观系统所具有的独特个性而变化的可变部分信息。需求模型:除上述内容外,对客观系统的全面的客观描述。24领域设计的任务设计数据环境,如主题数据库。设计逻辑系统的体系结构。设计各构件及相互连接关系。25四种数据环境(一)
文件系统(DataFile)每一项应用都设计有各自的文件,这常常是结构化分析的直接结果,数据包含于功能中。在这类数据环境中,没有使用数据库管理系统,文件是在应用开发时由分析员或程序员设计的。它的特点:简单和相对比较容易实现;但数据冗余量大,不灵活,修改的代价很高。26四种数据环境(二)应用数据库(ApplicationDataBases)使用了数据库管理系统,分散的数据为分散的应用而设计。没有发挥使用数据库的优越性。其特点:不同的应用系统拥有自己的数据库,各个应用之间的综合数据管理,比下面第三类数据环境之较容易实现;但数据的共享程度不好,维护费用高,随着应用的扩充,数据库数目的大量增加会象文件系统那样导致大量冗余。如报表数据库27四种数据环境(三)主题数据库(SubjectDataBases)是独立于具体应用数据而相关于领域的数据资源,数据结构和存储方式独立于使用数据的各种职能。使用数据的各种职能会随者时间的推移不断发生变化,但数据类型本身的变化却不经常发生。28四种数据环境(四)
信息检索系统(InformationRetrievalSystems)目前,采用数据仓库技术来实现。是一种被设计的便于一般信息检索和灵活数据搜索的系统。来源于多个数据源的事先收集、整理、存放在敉据仑库中,通常可供决策处理用。29主题数据库设计詹姆斯.马丁(JamesMartin)在《信息工程》中提出了基于主题数据库的总体数据规划方法以解决“数据处理危机”。主题数据库(SubjectDataBases)是独立于具体应用数据而相关于领域的数据资源,数据结构和存储方式;它独立于使用数据的各种职能。30主题数据库作用和意义当一些互不相联的系统分析员在分散独立的开发应用软件系统时,相同的数据被不同的开发小组开发多次,而且具有不同的结构,这样,应该互相协调的数据就不能协调,不同部门之间的数据传输也很难进行。数据在主题数据库中的存放方式,使得它们独立于使用数据的程序。31主题数据库作用和意义主题数据库的重要性:1.它有助于保证数据的完整性和一致性;2.它有助于提高应用开发效率,一旦某一领域的主题数据库建立,可在以后的同领域开发项目中重用3.由主题数据的重用可得到相应的业务职能的重用。32主题数据库设计原则主题数据库中的数据应该是在领域中稳定的,综合用户数据视图,尽可能消除冗余的数据和联系。这个综合过程应遵循一套规则的规范化步骤(如第三和第四范式),因此应该能由计算机完成。应使最终用户尽可能的参与设计。33主题数据库规划的基本步骤第一步,进行业务分析,建立企业模型,这部分属于需求获取阶段。按照企业内部的理解关系,将它们划分若干职能区域,然后,弄清各职能区域中所包含的全部业务过程,再把业务过程细分为一些活动(Activity)。按逻辑划分出的职能区域,业务过程和活动的层次关系描述就是企业模型。34第二步,进行实体分析,建立主题数据库模型清查所有业务活动所涉及的数据实体(Entity)及其属性(Attribute),作好保证标准化的定义与说明,取得著方面一致的理解。然后重点分析这些实体之间的联系,将联系密切的实体组划分到一起,形成一些实体大组(Supergroup)。这些实体大组内部的实体之联系密切而与外界实体联系很少,作为划分主题数据库的依据。35第三步,进行数据的分布分析。
结合数据存储地点,进一步调整确定主题数据库的内容和机构,制定数据库的开发策略。分布分析要充分考虑:业务数据的发生和处理地点,权衡集中式数据存储和分布式数据存储的利弊;还要考虑数据的安全性、保密性,系统的运行效率和用户的特殊要求等。根据这些调整实体大组的机构,制定最终的主题数据库。36第四步,体系结构设计。利用企业模型和主题数据库建立业务过程与主题数据库的对应表。从表中划分出逻辑子系统,划分的原则是尽量使数据交换最频繁的一组业务过程和一组主题数据库出现在同一子系统中。使得各个子系统之间低耦合高内聚,适于作为重用构件。如下图所示:373839领域构件类的提取的几种途径智能性很强,无统一方法,必需要与领域专家共同完成。从企业模型中的业务过程来划分成子系统构件。从数据模型优化中分析与主题数据密切相关的业务活动组成构件。从已有的各种模式中寻找相似的结构建立构件,或购买构件产品,经过包装。通过抽象技术分析出系统中各抽象模型4041§7.2DSSA的组成
DSSA由领域模型、参考模型、参考体系结构3个主要信息元素以及框架/环境支持工具、抽取和评估组成。427.2.1研究DSSA及其开发方法的意义DSSA是一门以软件重用为核心,研究软件应用框架的获取、表示和应用等问题的软件方法学。特定领域的软件体系结构强调应用领域内的重复出现的大粒度问题及其解的抽象提取。
(1)基于DSSA的软件开发具有更好的可操作性与可行性(2)基于DSSA的开发更高效与实用
437.2.2DSSA的螺旋型演化过程为了使DSSA能够较好应用于实际领域,从创建到最终完成需要多次反复进行才能达到要求。实际应用中领域需求是变化的,那么DSSA应该紧跟需求而变,其变化过程如下图:44§7.3基于DSSA的软件开发基于DSSA的应用开发步骤及其相关的支持工具如下图(开发流程)45§7.4基于DSSA的DRICSM系统建模§7.5.1DRICSM的定义
DRICSM(DigitalResource’sIntegrationofCreation,SaleandManagement)它是数字图书馆企业将数字资源的生产加工、销售、财务核对、数字资源库存管理等一系列经营管理过程融为一个整体来实现对数字资源的业务控制。467.4.1DRICSM的构成按照数字图书馆企业对数字资源处理流程,可以分为如下几个功能模块(见下图):477.4.2DRICSMSA的体系结构模型DRICSMSA的开发流程对于一个数字图书馆企业而言,在为其开DRICSM系统集成模型时,开发分析的过程像一个三角形的层次结构,如下图:487.4.3.DRICSMSA的应用需求分析49§7.4.4DRICSMSA的应用开发50§7.5流行的软件体系结构
为适应软件日益发展的新需求,新的软件开发末世必需直尺分布式计算、浏览器/服务器结构、模块化和构件化集成,是软件类似于硬件一样,可用不同的标准构件组装而成。具体的说可是现下列几点要求:
●
提供一种手段,是应用软件可用预先编好的、功能明确的产品部件定制而成,并可用不同版本的部件实现应用的扩展和更新。
●利用模块化方法,将复杂的难以维护的系统分解为互相独立、协同工作的部件,并努力使这些部件可反复重用。●突破时间、空间及不同硬件设备的限制,利用客户和软件之间统一的接口实现跨平台的互操作。517.5.1基于CORBA的分布式构件技术
CORBA是对象管理协会(OMG)发布的异构网络分布对象的交
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省长春市2026-2027学年高三下第一次测试物理试题(含答案解析)
- 医院病房护士2026年二季度日常病房护理工作总结
- 高中美术班主任2026年二季度艺术教学班级总结
- 2026 年秋季开学:高二开学第一课夯实基础蓄力冲刺
- 2026年秋季高中语文开学第一课 学科思想方法课件
- 2026年北师大版小学三年级数学上册《立体图形的认识》课时教案
- 7 《兼爱》教学 课件 2026-2027学年统编版高二语文选择性必修上册
- 一例褥疮患者的个案护理
- 肩袖损伤的康复锻炼
- I9水泥溷凝土路面结构设计
- 成都市金牛区卫生健康局所属事业单位2026年招募医务社会工作服务岗位(5人)笔试备考题库及答案详解
- 2026济南产发集成电路有限公司招聘18人笔试参考题库及答案详解
- 安徽省芜湖市2025-2026学年高一下学期期末考试语文试卷
- 东北证券战略发展规划-第三次指导委员会汇报-20241028-vf
- 2026河南郑州临港产教融合科技有限公司第一批招聘34人考试参考题库及答案详解
- 音箱调音师资格证考试题库及答案
- 【世界经济论坛】塑造学习的未来:人工智能时代的教育准备
- GB/T 6185.2-20162型全金属六角锁紧螺母细牙
- GB/T 3452.1-2005液压气动用O形橡胶密封圈第1部分:尺寸系列及公差
- GB/T 26141.2-2010无损检测射线照相底片数字化系统的质量鉴定第2部分:最低要求
- 养兔学课件(精选优秀)
评论
0/150
提交评论