架构相关
质量属性
- 1、性能。
指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
如响应时间,吞吐率、TPS等。
设计策略:资源调度、进程间通信、优先级队列,增加计算资源、减少开销、引入并发机制等。
2、可靠性
在应用或者错误面前,在意外错误使用的情况下,维持软件系统的功能特性的基本能力。
如MTTF,MTBF。
设计策略:冗余、ping/echo, 心跳,选举。3、可用性
系统能正常运行的时间比例,经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
如故障间隔时间。
设计策略:心跳、Ping/Echo、冗余、选举。
- 4、安全性
指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
如保密性、完整性、不可抵赖性、可控性。
设计策略:入侵检测、用户授权、追踪审计、签名、加密等。
- 5、可修改性
指能够快速的以较高的性价比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量。
设计策略:接口-实现分离、抽象、信息隐藏。
- 6、功能性
是指系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构件相互协作。
7、可变性。
指体系结构经扩充或变更而成为新体系结构的能力。这种新体系结构应该符合预先定义的规则,在某些具体方面不同于原有的体系结构。
当要将某个体系结构作为一系列相关产品的基础时,可变性是很重要的。8、互操作性。
作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。为了支持互操作性,软件体系结构必须为外部可视的功能和数据结构提供精心设计的软件入口。
程序和用其他编程语言写的软件系统的交互就是互操作性的问题,也影响应用的软件体系结构。
架构风格
ATAM相关
架构评估主要有四个阶段:
描述和介绍阶段
调查分析阶段
不同的需求方基于各自的考虑都提出了各自要求,场景(质量属性)
针对这些场景,我们分析了项目开发过程中的风险点、敏感点、权衡点。测试阶段
在测试阶段,经过评估小组集体讨论,确定了不同场景的优先级
报告阶段。
最后形成了评估报告,经过对架构的评估,确定了系统的风险点、敏感点、权衡点和非风险点,最后以文档的形式呈现。其内容包括:架构分析方法文档、架构不同场景及各自的优先级、质量效用树、风险点决策、非风险点决策及每次评估会议记录。
面向对象
类型
- 创建型
单抽元(原型模式)件(建)厂
单例模式
抽象工厂
原型模式
构建器模式
工厂模式
- 结构型
外侨(桥)组员戴(代)配饰
外观模式
桥接模式
组合模式
享元模式
代理模式
适合器模式
装饰模式
- 行为型
观摩(模)对(迭)策,责令解放(访) ,戒(介)忘台(态)
观察者
模板方法模式
迭代器模式
策略模式
职责链模式
命令模式
解释器模式
访问模式
中介者模式
备忘录模式
状态模式
设计模式:
(1)创建型:提供在创建对象的同时隐藏创建逻辑的方式。;
(2)结构型:解决类和对象的组合,从而获得更大的结构;
(3)行为型:解决对象之间的通信职责分配。
创建型模式:
工厂方法Factory Method模式:动态生产对象;
抽象工厂Abstract Factory模式:生产成系列对象;
构建器Builder模式:复杂对象构件(游戏人物、装备);
原型Prototype模式:克隆对象;
单例Singleton模式:单实例。
结构型模式:
适配器Adapter模式:转换接口;
桥接Bridge模式:继承树拆分,将抽象和实现分离,使用组合而不是继承;
组合Composite模式:树形目录结构,整体-部分,公司和分支、文件系统;
装饰Decorator模式:动态为对象附加职责;
外观Facade模式:对外统一接口,智能家居;
享元Flyweight模式:细粒度、共享、汉字编码;
代理Proxy模式:快捷方式,代理控制。
行为型模式:
职责链Chain of Responsibility模式:传递职责;
命令Command模式:日志记录,可撤销(Ctrl+Z);
解释器Interpreter模式:虚拟机;
迭代器Iterator模式:对一系列数据集进行操作,顺序访问,不暴露内部;
中介者Mediator模式:不直接引用,ESB;
备忘录Memento模式:游戏存档,快照;
观察者Observer模式:订阅、广播、联动、通知、自动更新、微信公众号;
状态State模式:状态做成类,内部状态改变时改变他的行为,会员;
策略Strategy模式:多方案切换、算法整体封装进行替换;
模板方法Template Method模式:框架;
访问者Visitor模式:数据与操作分离;
论文准备
SOA
- SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。
- 在SOA中,服务是一种为了满足某项业务需求的操作、规则等的逻辑组合,它包含一系列有序的交互,为实现用户目标提供支持。
- SOA并不仅仅是一种开发方法,还具有管理上的优点,管理员可直接管理开发人员所构建的相同服务。多个服务通过企业服务总线提出服务请求,由应用管理来进行处理。
- 发现服务
UUID:用于Web服务注册和服务查找,描述了服务的概念、定义了编程的接口,供其他企业来调用。
DISCO:发现公开服务的功能及交互协议。 - 描述服务
WSDL(WEB服务描述语言)协议:用于描述Web服务的接口和操作功能,描述网络服务。 - 消息格式层
SOAP为建立Web服务和服务请求之间的通信提供支持。
REST,是一种只使用HTTP和XML进行基于Web通信技术,可以降低开发的复杂性,提高系统的可伸缩性。 - 编码格式层
扩展标记语言(XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,
JSON 格式
其他知识
用例之间的关系
包括:包含、扩展、泛化。
“登录系统”用例与“注册课程”用例之间的关系为:包含关系。
“参加考试”用例与“参加补考”用例之间的关系为:扩展关系。
类之间的关系
包括:关联、聚合、组合、依赖、泛化、实现(可写可不写,因为实现是接口与类之间的关系,而接口是一种特殊的类)。
依赖关系:一个事物发生变化影响另一个事物。
泛化关系:特殊/一般关系。
关联关系:描述了一组链,链是对象之间的连接。
聚合关系:整体与部分生命周期不同。
组合关系:整体与部分生命周期相同。
实现关系:接口与类之间的关系。类University与类Student之间的关系是:聚合关系。
类University与类Department之间的关系是:组合关系。
类Student与类Course之间的关系是:关联关系。
企业应用集成定义和分类
企业应用集成(Enterprise Application Integration, EAI)是伴随着企业信息系统的发展而产生和演变的。EAI技术是将过程、软件、标准和硬件联合起来,在两个或更多的企业信息系统之间实现无缝集成,使它们就像一个整体一样。EAI是企业信息系统集成的科学、方法和技术,其目的就是将企业内的应用彼此连接起来,或在企业之间连接起来。
EAI主要包括两方面:企业内部应用集成和企业间应用集成。
主要分为:界面集成(表示集成),控制集成(应用集成、api集成),数据集成,业务流程集成(过程集成)。
(1)表示集成也称界面集成:通过UI将不同业务模块或系统的界面进行集成整合,使用户查看或使用系统时,不需要打开N多个系统进行操作。(门户网站)
(2)数据集成:是以数据共享的方式对不同系统中模块中的数据进行整合,使之整合成一个完整的数据信息,供不同系统时实现数据共享。(数据共享、ETL、数据仓库、联邦数据库都可以视为数据集成)
(3)控制集成也称为功能集成或应用集成,一般指功能或API集成,它可以使不同厂家开发的系统通过接口整合后,实现互联互通的目的,使得原本不相容的两个或多个系统,可以互相协同工作。
(4)业务流程集成也称为过程集成,这种集成超越了数据和系统,由一系列基于标准的、统一数据格式的工作流组成。(B2B)
最后编辑:admin 更新时间:2022-11-03 10:07