版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向21世纪的软件方法论教材 软 件 体 系 结 构 可重构软件设计方法学 万 麟 瑞 南京航空航天大学信息科学与技术学院,课程简介 第一章 概论 第二章 基本体系结构风格 主程序子过程结构,事件触发结构,解释器结构, 层次结构,管道过滤器结构,黑板结构,面向对象结构 第三章 分布计算体系结构 CS;CORBA,RMI;SOA,ESB,OGSA 第四章 软件设计模式 Template Method,Strategy;Composite,MVC;Builder 第五章 体系结构的形式描述方法 第六章 软件构架与构件设计方法 第七章 应用案例分析,参考文献 1 万建成等软件体系结构的原理、组成与应
2、用 科学出版社,2002 2 张友生软件体系结构清华大学出版社,2004 3 李英军等译设计模式机械工业出版社,2000 4 B.P.Douglass著,麦中凡等译实时设计模式. 北京航空航天大学出版社,2004 5 王志坚等软件构件技术及其应用科学出版社,2005 6 万麟瑞面向构件的软件开发方法学研究 小型微型计算机系统,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. 程序结构抽象:机器指令汇编语言子程序控制
4、流程 高级语言过程函数数据结构类型模块程序 2. 软件结构抽象 面向过程模型(功能模型,数据流模型) 面向数据模型(信息模型,语义数据模型) 面向对象模型(对象模型,组件模型),3. 软件体系结构抽象 内涵:体系结构风格,设计模式;构件,形式描述;MDA (1) 体系结构风格:具有相同风范或族集特性的特定结构类型 调用返回结构:静态结构的基础描述方法 主程序子过程结构,层次结构,客户服务器结构 请求响应结构:运行结构的基础描述方法 中断事件结构,进程线程结构,消息结构 虚拟机系统:编译器,解释器,规则基产生式系统 数据流系统:顺序批处理结构,编译器,状态转换器, 管道过滤器结构,工作流结构 数
5、据中心系统:黑板系统,数据仓库,超文本系统 面向对象系统:对象结构,Agent结构,(2) 设计模式:结构行为上具有参照价值的可预制设计样板 可形成面向模式的软件体系结构 三种类型:构造型,结构型,行为型 构造型模式:生成器,抽象工厂,工厂方法,原型,单例; 整体部分,视图句柄;指针计数器 结构型模式:组合器;代理结构;享元,外观; 模型视图控制(MVC), 表示抽象控制(PAC); 适配器,桥接器 行为型模式:模板方法,策略,观察器; 迭代器,命令结构,责任链; 发送接收,客户分发服务,出版订购,1.1.2 体系结构描述语言 ADL:为软件系统的概念框架建模和形式规约描述 提供具体的概念元、
6、语法和语义的说明语言 (1) 数学描述语言MDL:Z语言,类属理论,Petri网 (2) 软件说明语言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. 软件的结构要素 程序:一组数据与处理方法(操作指令)的集合
7、 早期:Pascal语言的发明者NWirth提出的程序理念 程序 = 算法 + 数据结构 发展:非交互交互性数据处理与计算方法 程序 界面 算法 数据结构三层构架 软件:一组程序、相关信息及其文档的集合 程序 按预定功能和性能要求设计的可执行指令序列 信息 包括驱动数据结构正常工作的数据和设计知识 文档 与程序开发、维护和使用有关的图文资料,(1) 结构元素:关于软件的基本组成原理及软件分块机制 部件:程序片段(指令序列),数据(数据项集); 过程,函数,变量;模块;对象;表,库,仓 关系:顺序,分支,循环;并行,嵌套,选择;回环 中断,参数,消息;主程序子过程;程序覆盖 (2) 控制流程:语
8、句结构程序结构模块结构CHE 顺序结构:sequence i 分支结构: if else switch case i else 循环结构: while do repeat until 转移语句: 过程调用:过程名 (参数1,参数n) 中断事件设置:set 事件 to 过程名;,2. 模块结构:体现程序语句序列的基本功能分块CHE 与连接控制流之间的构造关系 外部表示:具有顺序、选择、循环及其转移连接 控制方式的程序结构抽象 内部表示:具有IO、处理逻辑、内部数据 及其运行特性的一组算法的集合,3. 基本连接机制 (1) 过程调用:部件间通过对方的过程或方法来实现显式连接 调用时必须知道对方的部
9、件标识、操作标识及参数设置 形式:(参数表) 扩充模式:本地过程调用(LPC),远程过程调用(RPC) (2) 事件触发:用特定事件名来标识中断号所形成的隐式连接 事件:对象状态转换的控制信息方法调用的消息 事件设置:set 事件 to 过程名; 事件脚本定义:事件名监护条件动作表达式 (3) 服务接口:部件间通过互连接口进行功能交互和数据交换, 以实现请求方和接收方之间的连接服务 接口(接口名,类型,事件,操作,上下文),4. 软件结构设计的总体理念 设计思想概念元素表示方法通用划分策略 层次抽象:体现问题复杂度分割与组块分层的结构化观点 表示方法:程序模块功能结构(控制结构,控制关系) 数
10、据结构(类型,值) 抽象数据类型(对象,关系,操作方法,语义) 对象结构(对象,分类,关系,消息方法) 通用划分:接口实现;程序数据;型实例;实体规约,1.2.2 软件体系结构及其设计理念 1. 软件体系结构定义 软件体系结构:是具有整体化抽象层次的骨架体结构, 是可模式化模型化模板化的问题解决框架; 是可预制、可替换、可组合和可演化的软件模型, 是由一组构件、连接子关系以及相关约束组成的软件系统 2. 体系结构设计的概念模型 要素:components,connectors,constraints;Configuration 构架 构件名(类型,端口,计算方法) 连接件名(类型,角色,交互方
11、法) 约束(实体约束,连接约束) 配置(构件名,连接件名,粘连特性),3. 软件体系结构的特性 整体性:侧重体系化结构的描述与设计, 包括全局结构与局部结构的演化关系和宏观特性; 比基本软件结构具有更高层次的设计抽象, 一般针对复杂和大型的软件系统 层次性:侧重软件抽象的粒度级划分, 一般定义为构架级、构件级和对象级 可预制性:单元结构成熟,可预先设计、实现和提供选择 可替换性:不是可修改和可覆盖,而是可插拔和可重载 可组合性:结构可重组,部件可重用,应用接口可扩充 可演化性:框架规则实例;泛化特化; 通过模板方法和创建机制动态生成一个特定应用,4. 体系结构的设计层次 体现问题分割与抽象形式的规范化和结构化观点; 体现软件分块的粒度级划分思想与设计通则; 体现功能分割、软件分层、基于协议的层间交互和 语义规则描述等设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购管理内部制度汇编
- 原材料采用规范采购制度
- 材料采购计划审批制度
- 机关绿色采购及领用制度
- 药品规避集中采购制度
- 公司内部采购相关制度
- 中医饮片采购管理制度
- 政府采购违规风险告知制度
- 产品采购质量保障制度
- 书馆书籍采购财务制度
- 硅酸镁铝增稠触变性及其农药中的应用探讨-陈杰
- 开平事业单位笔试真题
- 水电水泵表面涂覆要求
- 共青团光辉历史简洁版
- 事业单位统考-综合应用能力C类 梳理精华
- GB/T 14536.1-2022电自动控制器第1部分:通用要求
- GB/T 14689-2008技术制图图纸幅面和格式
- FZ/T 07008-2020定形机热平衡测试与计算方法
- 安全文明施工措施费专款专用的方案
- 教师考试 思政资料
- 复方氨基酸注射液
评论
0/150
提交评论