第二次_体系结构概述与调用返回体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交流的手段
软件体系结构是一种高层次的设计复用
手段
软件体系结构是早期设计决策的体现,
决定了最终软件的质量
下午2时54分
1.4 软件体系结构与软件质量属性
软件体系结构的优劣依赖于各种因素,
这些因素通常被称为软件质量属性 (qualities)
质量属性包括:性能,可伸缩性,可用
性,可维护性,安全性,易用性,可重 复性,可测试性以及可移植性等
Mary Shaw和David Garlan的定义:软
件体系结构用于描述系统的构成要素、 构成要素之间的交互和组合模式以及在 进行组合时的约束条件
Len Bass的定义:软件体系结构是指程
序或者系统的组成关系,这种组成关系 包括软件、软件的外部可见属性以及这 些软件之间的关系
下午2时54分
1.2.1 软件体系结构的概念(续)
从一个构件到另一个构件的控制传递被
称为程序调用(call)
下午2时54分
2.2.3 调用-返回风格体系的组织
拥有整个软件入口的构件叫做主程序(Main
Program),它控制子程序的执行顺序 可以被所有构件访问的共享数据被称为全局变 量(Global varible)
Main Sub3
Sub1
Sub2
Sub4
Global Data
Sub5
下午2时54分
2.2.4 调用-返回风格体系的层次组织
调用-返回风格体系结构可以被组织成任何形
式。但层次结构的组织形式更清晰
层次结构的设计被称为共享数据的主程序-子
程序软件体系结构
Main Sub1 Sub4 Sub9
下午2时54分
Sub2 Sub5 Data Sub6 Sub10 Sub7 Data
下午2时54分
2 调用-返回风格提纲
非结构化的编程简介
调用-返回风格软件体系结构的概念 主程序-子程序软件体系结构
面向对象软件体系结构
主程序-子程序与面向对象体系结构举
例
下午2时54分
2.1非结构化的编程简介
非结构化的编程技术是历史上最早的编
程范型
非结构化语言(比如汇编语言)编写的
第二次 调用返回体系结构 Call back Software Architecture style
任课老师:黄武
下午2时54分
提纲
软件体系结构概述
调用返回体系结构
下午2时54分
软件体系结构概述提纲
背景
软件体系结构的概念 软件体系结构的意义
软件体系结构和软件质量属性
软件体系结构风格
下午2时54分
main mov AX, 045; mov BX, 012; add AX, BX; jnz 17; … jump 012; …
2.2 调用-返回风格软件体系结构
调用-返回风格体系结构(Call and
Return Architecture)采用分而治之的策 略,其主要思想是将一个复杂的大系统 分解为一些子系统,以便降低复杂度, 并且增加可修改性 这种系统的程序执行顺序通常只由一个 单线程控制
程序通常包内含一系列有序的命令,每 行有一个行号标记,便于程序跳转
下午2时54分
2.1.1 非结构化编程的特点
非结构化编程已经引入了循环,分支及
子程序的概念
非结构化编程中的子程序允许有多个入
口和多个出口
程序的执行顺序可以被任意变换
下午2时54分Βιβλιοθήκη Baidu
2.1.2 非结构化编程的举例
01 02 03 04 05 06 07 08
Sub3 Sub8 Sub11
2.3 主程序-子程序软件体系结构
主程序-子程序软件体系结构在设计上使
用层次化的划分方法,该体系结构中使 用由编程语言直接支持的单一控制线程
相比于非结构化编程,主程序-子程序软
件体系结构能够较好地支持系统的可改 变性和可伸缩性等性能,其采用分而治 之的策略
下午2时54分
下午2时54分
2.2.1 调用-返回风格体系结构示意
Main
1 3 8 9 10
2
A
4 5
B
7 6
E
C
D
程序运行的控制流示意
下午2时54分
2.2.2 调用-返回风格体系的概念
每个软件都设计为有一个唯一的程序执
行入口和一个唯一的程序执行出口; 程序执行结束后,则控制被返回给程序 的调用构件;这些程序的构件被称为子 程序(Subroutine)
2.3.2 自顶向下的设计举例
一个药品成本计算系统(Medicine Cost
Computation) 要计算一种药品的单位成本,要求输入 药品的名称(Medicine Name),然后系 统输出该药品的单位成本(Medicine Cost per Unit)
下午2时54分
1.1 背景
Edsger.Dijstra指出“软件的规模越大,
其整体构架就越重要”
20世纪90年代,软件体系结构逐渐被工
业界和学术界广泛接受,并且业内普遍 认为:对于大规模复杂软件系统而言, 构架的设计比数据结构以及算法的设计 更为重要
下午2时54分
1.2 软件体系结构的概念
下午2时54分
1.5 软件体系结构的风格
软件体系结构风格是对软件体系结构的
分类,每一种软件体系结构风格都代表 一类软件的结构组织模式
软件体系结构风格是在实践中被重复使
用的构件设计的总结
下午2时54分
1.5.1 软件体系结构的风格(续)
软件体系结构风格包括:数据流风格,
顺序批处理风格,管道-过滤器风格,调 用-返回风格,主程序-子程序风格,面向 对象风格,分层的风格,独立构件风格, 进程通讯,事件系统,虚拟机风格,解 释器,基于规则的系统,以数据为中心 的风格,数据库,超文本以及黑板风格 等。另外还有分布式的风格,比如云计 算,P2P风格等
IEEE 1471-2000中的定义:软件体系结
构是系统的基本组织结构,包括系统构 成要素,这些要素相互之间以及与运行 环境之间的关系,还包括系统设计及演 化时应遵循的原则 软件体系结构包括三个基本要素:构件、 连接件和约束
下午2时54分
1.3 软件体系结构的意义
软件体系结构是软件相关人员之间进行
2.3.1 自顶向下的设计方法
主程序-子程序软件体系结构通常采用自顶向
下的设计方法,即从系统的功能角度出发,从 高层开始,将整个功能逐步细化为子功能
Main Sub1 Sub11 Sub111 Sub2 Sub3 Sub22 Sub31
Sub12
Sub121
Sub21 Sub211
下午2时54分