收藏 分享(赏)

软件体系结构1-01.ppt

上传人:fmgc7290 文档编号:5229112 上传时间:2019-02-13 格式:PPT 页数:18 大小:210.50KB
下载 相关 举报
软件体系结构1-01.ppt_第1页
第1页 / 共18页
软件体系结构1-01.ppt_第2页
第2页 / 共18页
软件体系结构1-01.ppt_第3页
第3页 / 共18页
软件体系结构1-01.ppt_第4页
第4页 / 共18页
软件体系结构1-01.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、面向21世纪的软件方法论教材软 件 体 系 结 构 可重构软件设计方法学 万 麟 瑞南京航空航天大学信息科学与技术学院,课程简介第一章 概 论第二章 基本体系结构风格主程序子过程结构,事件触发结构,解释器结构,层次结构,管道过滤器结构,黑板结构,面向对象结构第三章 分布计算体系结构CS;CORBA,RMI;SOA,ESB,OGSA第四章 软件设计模式Template Method,Strategy;Composite,MVC;Builder第五章 体系结构的形式描述方法第六章 软件构架与构件设计方法第七章 应用案例分析,参考文献1 万建成等软件体系结构的原理、组成与应用科学出版社,20022

2、张友生软件体系结构清华大学出版社,20043 李英军等译设计模式机械工业出版社,20004 B.P.Douglass著,麦中凡等译实时设计模式.北京航空航天大学出版社,20045 王志坚等软件构件技术及其应用科学出版社,20056 万麟瑞面向构件的软件开发方法学研究小型微型计算机系统,2003,Vol.24 No.3,第 1 讲:软件体系结构的发展与应用概况第一章 概 论1.1 软件体系结构的研究概况1.1.1 体系结构的模型抽象理念1.1.2 体系结构描述语言1.2 软件体系结构的设计理念1.2.1 软件结构及其设计理念1.2.2 软件体系结构及其设计理念,第一章 概 论大系统认知理念:框架

3、 过程 设计方法 程序数据工具框架 构架 体系结构 软件框架:从总体上架构主部子部结构的可实例化系统软件构架:可重构领域化的软件体系结构软件体系结构: 系统地研究软件结构设计与构造的软件领域工程 程序设计方法学软件工程领域工程重构工程等多学科相结合的新兴边缘学科 面向21世纪的可重构软件设计方法学 工程性实用性强的应用学科与技术,1.1 软件体系结构的研究概况软件方法论的发展历程:面向过程方法 面向对象方法 面向构件方法程序结构数据结构 软件结构 软件体系结构1.1.1 体系结构的模型抽象理念1. 程序结构抽象:机器指令汇编语言子程序控制流程高级语言过程函数数据结构类型模块程序2. 软件结构抽

4、象 面向过程模型(功能模型,数据流模型) 面向数据模型(信息模型,语义数据模型) 面向对象模型(对象模型,组件模型),3. 软件体系结构抽象内涵:体系结构风格,设计模式;构件,形式描述;MDA(1) 体系结构风格:具有相同风范或族集特性的特定结构类型 调用返回结构:静态结构的基础描述方法主程序子过程结构,层次结构,客户服务器结构 请求响应结构:运行结构的基础描述方法中断事件结构,进程线程结构,消息结构 虚拟机系统:编译器,解释器,规则基产生式系统 数据流系统:顺序批处理结构,编译器,状态转换器,管道过滤器结构,工作流结构 数据中心系统:黑板系统,数据仓库,超文本系统 面向对象系统:对象结构,A

5、gent结构,(2) 设计模式:结构行为上具有参照价值的可预制设计样板可形成面向模式的软件体系结构三种类型:构造型,结构型,行为型 构造型模式:生成器,抽象工厂,工厂方法,原型,单例;整体部分,视图句柄;指针计数器 结构型模式:组合器;代理结构;享元,外观;模型视图控制(MVC),表示抽象控制(PAC);适配器,桥接器 行为型模式:模板方法,策略,观察器;迭代器,命令结构,责任链;发送接收,客户分发服务,出版订购,1.1.2 体系结构描述语言ADL:为软件系统的概念框架建模和形式规约描述提供具体的概念元、语法和语义的说明语言(1) 数学描述语言MDL:Z语言,类属理论,Petri网(2) 软件

6、说明语言SDL:UML,XML,IDL;WPDL,XPDL(3) 体系结构语言ADL: 结构风格类: Aesop,C2,Wright结构实例类:Adage,MetaH,Rapide,Unicon约束配置类:Darwin,CHAM 可交换体系结构描述语言ACME(中介表达通用工具)非ADL语言:编程语言,模块接口语言MIL,需求描述语言;数学描述语言;软件说明语言,1.2 软件体系结构的设计理念1.2.1 软件结构及其设计理念1. 软件的结构要素程序:一组数据与处理方法(操作指令)的集合早期:Pascal语言的发明者NWirth提出的程序理念程序 = 算法 + 数据结构发展:非交互 交互性数据处

7、理与计算方法程序 界面 算法 数据结构 三层构架软件:一组程序、相关信息及其文档的集合程序 按预定功能和性能要求设计的可执行指令序列信息 包括驱动数据结构正常工作的数据和设计知识文档 与程序开发、维护和使用有关的图文资料,(1) 结构元素:关于软件的基本组成原理及软件分块机制部件:程序片段(指令序列),数据(数据项集);过程,函数,变量;模块;对象;表,库,仓关系:顺序,分支,循环;并行,嵌套,选择;回环中断,参数,消息;主程序子过程;程序覆盖(2) 控制流程:语句结构 程序结构 模块结构 CHE 顺序结构:sequence i 分支结构: if else switch case i else

8、 循环结构: while do repeat until 转移语句: 过程调用:过程名 (参数1,参数n)中断事件设置:set 事件 to 过程名;,2. 模块结构:体现程序语句序列的基本功能分块 CHE与连接控制流之间的构造关系外部表示:具有顺序、选择、循环及其转移连接控制方式的程序结构抽象内部表示:具有IO、处理逻辑、内部数据及其运行特性的一组算法的集合,3. 基本连接机制(1) 过程调用:部件间通过对方的过程或方法来实现显式连接调用时必须知道对方的部件标识、操作标识及参数设置形式: (参数表)扩充模式:本地过程调用(LPC),远程过程调用(RPC)(2) 事件触发:用特定事件名来标识中断

9、号所形成的隐式连接事件:对象状态转换的控制信息方法调用的消息事件设置: set 事件 to 过程名;事件脚本定义:事件名监护条件动作表达式(3) 服务接口:部件间通过互连接口进行功能交互和数据交换,以实现请求方和接收方之间的连接服务接口(接口名,类型,事件,操作,上下文),4. 软件结构设计的总体理念设计思想概念元素表示方法通用划分策略层次抽象:体现问题复杂度分割与组块分层的结构化观点表示方法:程序模块功能结构(控制结构,控制关系)数据结构(类型,值)抽象数据类型(对象,关系,操作方法,语义)对象结构(对象,分类,关系,消息方法)通用划分:接口实现;程序数据;型实例;实体规约,1.2.2 软件

10、体系结构及其设计理念1. 软件体系结构定义软件体系结构:是具有整体化抽象层次的骨架体结构,是可模式化模型化模板化的问题解决框架;是可预制、可替换、可组合和可演化的软件模型,是由一组构件、连接子关系以及相关约束组成的软件系统2. 体系结构设计的概念模型要素:components,connectors,constraints;Configuration构架 构件名(类型,端口,计算方法) 连接件名(类型,角色,交互方法) 约束(实体约束,连接约束) 配置(构件名,连接件名,粘连特性),3. 软件体系结构的特性 整体性:侧重体系化结构的描述与设计,包括全局结构与局部结构的演化关系和宏观特性;比基本软

11、件结构具有更高层次的设计抽象,一般针对复杂和大型的软件系统 层次性:侧重软件抽象的粒度级划分,一般定义为构架级、构件级和对象级 可预制性:单元结构成熟,可预先设计、实现和提供选择 可替换性:不是可修改和可覆盖,而是可插拔和可重载 可组合性:结构可重组,部件可重用,应用接口可扩充可演化性:框架规则实例;泛化特化;通过模板方法和创建机制动态生成一个特定应用,4. 体系结构的设计层次体现问题分割与抽象形式的规范化和结构化观点;体现软件分块的粒度级划分思想与设计通则;体现功能分割、软件分层、基于协议的层间交互和语义规则描述等设计思想(1) 层次构成特征高层:接近应用描述与领域性模型,形成概念结构中层:接近软件设计与原理性模型,形成逻辑结构低层:接近硬件程序与可用性模型,形成物理结构(2) 层次划分方法纵向:依据问题复杂度重要性形成层间关系抽象横向:依据问题分块大小结构独立性形成层内功能抽象,(3) 体系结构的层次模型按软件抽象粒度级和构成关系划分(层次粒度),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 行业软件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报