欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第2章软件体系结构建模课件.ppt

    • 资源ID:1623992       资源大小:1.70MB        全文页数:49页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第2章软件体系结构建模课件.ppt

    第2 章软件体系结构建模,南京信息工程大学 计算机与软件学院,教学目的与要求,(1)了解表示软件体系结构的五种模型;(2)熟悉“4+1”视图模型;(3)掌握软件体系结构的核心模型;(4)理解软件体系结构的生命周期模型;(5)初步了解软件体系结构抽象模型。,2.1 软件体系结构建模概述2.2 “4+1”视图模型2.3 软件体系结构的核心模型2.4 软件体系结构的生命周期模型2.5 软件体系结构抽象模型,主要内容,教学重点与难点,(1)逻辑视图和开发视图(2)软件体系结构的核心模型(3)软件体系结构的生命周期模型,2.1 软件体系结构建模概述,软件体系结构建模的种类,1.结构模型2.框架模型3.动态模型4.过程模型5.功能模型,1. 结构模型,这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。 研究结构模型的核心是体系结构描述语言。,2. 框架模型,框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。 框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。,3. 动态模型,动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。例如,描述系统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。,4. 过程模型,过程模型研究构造系统的步骤和过程。 结构是遵循某些过程脚本的结果。,5. 功能模型,功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。 功能模型可以看作是一种特殊的框架模型。,2.2 “4+1”视图模型,2.2.1 “4+1”模型概述,Kruchten在1995年提出了“4+1”的视图模型。 “4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。,2.2 “4+1”视图模型,2.2.1 “4+1”模型概述(续),2.2.2 逻辑视图(1),逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。 在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。,2.2.2 逻辑视图(2),可以从Booch标记法中导出逻辑视图的标记法,只是从体系结构级的范畴来考虑这些符号,用Rational Rose进行体系结构设计。,逻辑视图中使用的标记符号,2.2.2 逻辑视图(3),逻辑视图中使用的风格为面向对象的风格,逻辑视图设计中要注意的主要问题是要保持一个单一的、内聚的对象模型贯穿整个系统。,ACS系统的逻辑视图,线路控制器:译码并把所有符号加入到线路接口卡中; 终端:保持终端的状态,代表本条线路的利益参与协商服务; 会话:代表一组参与会话的终端,使用转换服务和连接服务在终端之间建立语音路径。,2.2.2 逻辑视图(4),对于规模更大的系统来说,体系结构级中包含数十甚至数百个类。,空中交通管制系统的一级类图,2.2.3 开发视图(1),开发视图也称模块视图,主要侧重于软件模块的组织和管理。 开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。 开发视图通过系统输入输出关系的模型图和子系统图来描述。,2.2.3 开发视图(2),与逻辑视图一样,可以使用Booch标记法中某些符号来表示开发视图。,开发视图中使用的标记符号,2.2.3 开发视图(3),在开发视图中,最好采用4-6层子系统,而且每个子系统仅仅能与同层或更低层的子系统通讯,这样可以使每个层次的接口既完备又精练,避免了各个模块之间很复杂的依赖关系。 设计时要充分考虑,对于各个层次,层次越低,通用性越强,这样,可以保证应用程序的需求发生改变时,所做的改动最小。开发视图所用的风格通常是层次结构风格。,2.2.3 开发视图(4),空中交通管制系统的五层结构,2.2.4 进程视图(1),进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。 进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。 进程视图可以描述成多层抽象,每个级别分别关注不同的方面。在最高层抽象中,进程结构可以看作是构成一个执行单元的一组任务。它可看成一系列独立的,通过逻辑网络相互通信的程序。它们是分布的,通过总线或局域网、广域网等硬件资源连接起来。,2.2.4 进程视图(2),通过扩展Booch对Ada任务的表示法,来表示进程视图。,进程视图中使用的标记符号,2.2.4 进程视图(3),所有终端均由同一个终端进程进行处理,由其输入队列中的消息驱动。控制器对象在组成控制器进程的三个任务之一中执行,慢循环周期(200ms)任务扫描所有挂起终端,把任何一个活动的终端置入快循环周期(10ms)任务的扫描列表,快循环周期任务检测任何显著的状态改变,并把改变的状态传递给主控制器任务,主控制器任务解释改变,通过消息与相应的终端进行通信。,ACS系统的进程视图(局部),2.2.5 物理视图(1),物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。 当软件运行于不同的节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小。,2.2.5 物理视图(2),大型系统的物理视图可能会变得十分混乱,因此可以与进程视图的映射一道,以多种形式出现,也可单独出现。,物理视图中使用的标记符号,2.2.5 物理视图(3),ACS系统的物理视图,2.2.5 物理视图(4),具有进程分配的小型ACS系统的物理视图,2.2.5 物理视图(5),具有进程分配的大型ACS系统的物理视图,2.2.6 场景(1),场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。在开发体系结构时,它可以帮助设计者找到体系结构的构件和它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间是如何相互作用的。 场景可以用文本表示,也可以用图形表示。,2.2.6 场景(2),本地呼叫场景的一个原型,本节小结,逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。 对于不同的软件系统来说,侧重的角度也有所不同。例如,对于管理信息系统来说,比较侧重于从逻辑视图和开发视图来描述系统,而对于实时控制系统来说,则比较注重于从进程视图和物理视图来描述系统。,2.3 软件体系结构的核心模型,软件体系结构的核心模型,构件:具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。构件有两种:复合构件和原子构件。 连接件:表示构件之间的交互。 配置:表示构件和连接件的拓扑逻辑和约束。 端口:组成构件的接口 角色:组成连接件的接口,2.4 软件体系结构的生命周期模型,2.4.1 软件过程,需求分析,建立体系结构,测试,实现,设计,1. 需求分析阶段,需求分析阶段的任务是根据需求,决定系统的功能。需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望,需求分析过程主要是获取用户需求,确定系统中所要用到的构件。 体系结构需求:需求获取、生成类图、对类分组、把类打包成构件、需求评审。(注意:软件质量属性),2. 建立软件体系结构阶段,在这个阶段,体系结构设计师主要从结构的角度对整个系统进行分析,选择恰当的构件、构件间的相互作用关系以及对它们的约束,最后形成一个系统框架以满足用户需求,为设计奠定基础。,(1)选择体系结构风格 (2)映射关键构件:中间结构 (3)结构细化:体系结构说明书,3. 设计阶段,设计阶段主要是对系统进行模块化并决定描述各个构件间的详细接口、算法和数据类型的选定,对上支持建立体系结构阶段形成的框架,对下提供实现基础。 一旦设计了软件体系结构,必须邀请独立于系统开发的外部人员对体系结构进行评审。,4. 实现阶段,将设计阶段设计的算法及数据类型进行程序语言表示,满足设计体系结构和需求分析的要求,从而得到满足设计需求的目标系统。(CBSD),5. 测试阶段,包括单个构件的功能性测试和被组装应用的整体功能和性能测试。,2.4.2 软件体系结构生命周期模型,1. 非形式化描述2. 规范描述和分析3. 求精及其验证4. 实施5. 演化和扩展6. 提供、评价和度量7. 终结,1. 软件体系结构的非形式化描述,一种软件体系结构在其产生时,其思想通常是很简单的,并常常由软件设计师用非形式化的自然语言表示概念、原则。尽管对软件体系结构的描述常用自然语言,但是该阶段的工作却是创造性和开拓性的。,2. 软件体系结构的规范描述和分析,通过运用合适的形式化数学理论模型对第1阶段的体系结构的非形式化描述进行规范定义,从而得到软件体系结构的形式化规范描述,以使软件体系结构的描述精确、无歧义,并进而分析软件体系结构的性质,如无死锁性、安全性、活性等。 分析软件体系结构的性质有利于在系统设计时选择合适的软件体系结构,从而对软件体系结构的选择起指导作用,避免盲目选择。,3. 软件体系结构的求精及其验证,完成对已设计好的软件体系结构进行验证和求精。 抽象是人们在处理复杂问题和对象时必不可少的思维方式,软件体系结构也不例外。但是过高的抽象却使软件体系结构难以真正在系统设计中实施。因而,如果软件体系结构的抽象粒度过大,就需要对体系结构进行求精、细化,直至能够在系统设计中实施为止。在软件体系结构的每一步求精过程中,需要对不同抽象层次的软件体系结构进行验证,以判断较具体的软件体系结构是否与较抽象的软件体系结构的语义一致,并能实现抽象的软件体系结构。,4. 软件体系结构的实施,将求精后的软件体系结构实施于系统的设计中,并将软件体系结构的构件和连接件等有机地组织在一起,形成系统设计的框架,以便据此实施于软件设计和构造中。,5. 软件体系结构的演化和扩展,在实施软件体系结构时,根据系统的需求,常常是非功能性的需求,如性能、容错、安全性、互操作性、自适应性等非功能性质影响软件体系结构的扩展和改动,这称为软件体系结构的演化。 由于对软件体系结构的演化常常由非功能性质的非形式化需求描述引起,因而需要重复第1步,如果由于功能和非功能性质对以前的软件体系结构进行演化,就要涉及软件体系结构的理解,需要进行软件体系结构的逆向工程和再造工程。,6. 软件体系结构的提供、评价和度量,软件体系结构的提供、评价和度量阶段通过将软件体系结构实施于系统设计后,根据系统实际的运行情况,对软件体系结构进行定性的评价和定量的度量,以利于对软件体系结构的重用,并取得经验教训。,7. 软件体系结构的终结,如果一个软件系统的软件体系结构进行多次演化和修改,软件体系结构已变得难以理解,更重要的是不能达到系统设计的要求,不能适应系统的发展。这时,对该软件体系结构的再造工程就不必要,也不可行,说明该软件体系结构已经过时,应该摈弃,以全新的满足系统设计要求的软件体系结构取而代之。这个阶段被称为软件体系结构的终结阶段。,2.5 软件体系结构抽象模型,选读,本章小结,表示软件体系结构的五种模型; “4+1”视图模型; 软件体系结构的核心模型; 软件体系结构的生命周期模型; 软件体系结构抽象模型。,本章习题,1解释软件体系结构的核心模型。2简述软件体系结构的生命周期模型。,思考题,1简述表示软件体系结构的五种模型。2简述“41”视图模型。3引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?,

    注意事项

    本文(第2章软件体系结构建模课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开