软工_05第五章软件体系结构设计
时间:2025-04-24
时间:2025-04-24
学习软件工程的资料
北京邮电大学信息安全中心
软件设计
--软件体系结构设计
学习软件工程的资料
内容回顾低
模块之间关联程度
耦合性高低
非直接耦合强数据耦合标志耦合控制耦合外部耦合公共耦合(共用)弱内容耦合巧合内聚逻辑内聚时间内聚过程内聚通信内聚信息内聚功能内聚
模块独立性
弱(功能分散)模块独立性
模块内部关联程度
内聚性高
强(功能单一)
软件工程
2010年春季
学习软件工程的资料
内容提要
软件体系结构的概念软件体系结构的风格软件体系结构中的技术结构化设计方法
<<<<
软件工程
2010年春季
学习软件工程的资料
5.1软件体系结构软件体系结构的概念 M.Shaw:软件体系结构定义为程序/系软件体系结构统各构件的结构以及它们之间的内部关构件系和指导它们的设计并随时间而演变的原理和方针。
构件:是软件的组成单元,例如:一个计算单元,或存储单元;
软件体系结构设计的主要任务是从信息需求中综合出数据结构、程序结构、接口特征。数据结构、程序结构、接口特征2010年春季
软件工程
学习软件工程的资料
5.2数据体系结构设计Wasserman提出了如下一组数据规约原则: 用于功能和行为的系统分析原则,也可以用于数据分析。 所有的数据结构及其操作都应该被标识。 建立数据字典并用于数据设计和程序设计。 底层的数据设计决策应该被推迟到设计过程的后期。 只有那些需要直接使用数据结构内部的数据模块才能看到该数据结构的表示。 应该开发一个由有用数据结构和应用于其上的操作组成的库。 软件设计和程序设计语言应该支持抽象数据类型的规约和实现。
软件工程
2010年春季
学习软件工程的资料
内容提要
软件体系结构的概念软件体系结构的风格<<<<软件体系结构中的技术过程设计方法
软件工程
2010年春季
学习软件工程的资料
5.3软件体系结构风格
软件体系结构风格(style)又称软件体系结构习惯模式(idiomatic paradigm)体系结构风格最关键的四要素内容:
提供一个词汇表定义一套配置规则定义一套语义解释原则定义对基于这种风格的系统所进行的分析促进了设计和代码的复用便于设计者之间的交流支持了互操作性2010年春季
有原则的使用体系结构的意义:
软件工程
学习软件工程的资料
1.主程序与子程序风格M M扇出数:2 bb dd hh nn宽度 ii ee jj ff kk oo ll m m a深度 gg cc a
基本结构和词汇表
构件=主程序或子程序;连接件=条件连接或循环连接或查询方式或中断事件方式或共享信息方式主程序是独立的实体,之间不共享状态主程序与其连接的下游子程序之间存在调用与被调用的关系2010年春季
扇
入数: 4
特征
软件工程
学习软件工程的资料
1.主程序与子程序风格
优点:
该模式是软件系统中最基本的模式,几乎说有的程序设计语言均支持该方式;提供基于过程和函数的复用机制,提高了代码的使用率。该结构在描述复杂连接关系时,难以理解;当软件规模增加时没,可维护性和可理解性变差;复用层次低,难以在高层设计层次上形成复用;
缺点:
软件工程
2010年春季
学习软件工程的资料
2.管道与过滤器(Pipes and Filters)
基本结构与词汇表
在此软件体系结构中,每一模块都有一组输入和输出。每一模块从其输入端接收输入数据流,在经过其内部处理后,按标准的顺序,将结果数据流送到输出端,以达到传递一组完整计算结果的目的。词汇表是[构件=过滤器;连接器=管道]过滤器
管道软件工程
2010年春季
学习软件工程的资料
2.管道与过滤器(Pipes and Filters)
特征
过滤器一定是独立的实体,即各个过滤器之间不能共享状态。过滤器与其连接的上下游过滤器相互独立,即不知道,更不能假定,分别与其输入和输出相连接的其他过滤器的信息。本类型的规格说明都包括线性管道、受约束的管道和有名管道三类。
种类
软件工程
2010年春季
学习软件工程的资料
2.管道与过滤器(Pipes and Filters)
优点
它允许设计者将一个系统的整体输入/输出行为理解为各个独立过滤器行为的一个简单的合成。该体系结构支持重用。维护系统和增强功能容易。容易导致批处理方式。在维护或者响应两个分离但相关的数据流时容易受阻。增加了分析与编码的工作量,增加了复杂性,降低了性能。
缺点
软件工程
2010年春季
学习软件工程的资料
3.数据抽象和面向对象组织
基本结构与词汇表
在该结构中,数据表示和与之相连的最基本操作都被封装在一个抽象数据类型或者对象中。词汇表是[构件=对象;连接器=方法调用]对象负责维持其本身的完整性;信息隐藏。
特征
对象对象
对象过程调用对象对象