• 软件危机表现和原因:
  1. 软件成本日益增长;开发进度难以控制;软件质量差;软件维护困难;
  2. 原因:用户需求不明确;缺乏正确理论指导;软件规模越来越大;软件复杂度越来越高;
  • 构件概念、主要模型、三大分类方法:
  1. 构件是指语义完整、语法正确和有重用价值得单位软件,是软件重用过程中可以明确辨识的系统;结构上它是语义描述、通信接口和实现代码的复合体。
  2. 分别是OMG(Object Management Group,对象管理组织)的CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)、Sun的EJB(Enterprise JavaBean,企业级Java组件)和Microsoft的DCOM(Distribute Component Object Model,分布式构件对象模型)。
  3. 关键字分类法、可免分类法、超文本组织方法。
  • 软件体系结构定义、意义:
  1. 定义:软件体系结构(SoftwareArchitecture,sA)为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
  2. 意义:体系结构是风险承担着进行交流的手段。
  3. 体系结构式早期设计决策的体现。
  1. 软件体系结构明确了对系统实现的约束条件。
  2. 软件体系结构决定了开发和维护组织的组织结构。
  3. 软件体系结构制约着系统的质量属性。
  4. 通过研究软件体系结构可能预测软件的质量。
  5. 软件体系结构使推理和控制更改更简单。
  6. 软件体系结构有助于循序渐进的原型设计。
  7. 软件体系结构可以作为培训的基础。

[4].软件体系结构是可传递和可重用的模型。

  • 软件体系结构模型:
  1. 结构模型:以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。【最直观、最普遍的建模方法】
  2. 框架模型:不太侧重描述结构的细节而更侧重于整体的结构。【类似于结构模型】
  3. 动态模型:研究系统的“大颗粒”的行为性质【对结构或框架模型的补充】
  4. 过程模型:研究构造系统的步骤和过程。
  5. 功能模型:认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。【有点像计网的分层协议那种,可以看作框架模型的一种特殊的形式】
  • 4+1视图模型:

1、场景视图 :静态方面用 用例图 表现,动态方面用活动图、状态图、交互图表现。

2、逻辑视图:包含了类、接口、协作,静态方面用 类图和对象图表现,动态方面用活动图、状态图、交互图表现。

3、开发视图:(Development View),描述了在开发环境中软件的静态组织结构。静态方面用 组件图 表示。

4、进程视图:侧重系统的运行特性关注非功能性的需求性能可用性。服务于系统集成人员方便后续性能测试。强调并发性、分布性、集成性、鲁棒性容错、可扩充性、吞吐量等。和逻辑实体类似,可用类图(扩展)、活动图、交互图、状态图表现。

5、物理视图 : 主要描述硬件配置。服务于系统工程人员解决系统的拓扑结构、系统安装、通信等问题。主要考虑如何把软件映射到硬件上也要考虑系统性能、规模、可靠性等,静态方面用 部署图 表现,动态方面用活动图、状态图、交互图表现。

  • 软件体系结构核心模型的物种结构:

构件、连接件、配置、端口、角色

  • 软件体系节后的生命周期模型:

需求分析阶段、建立软件体系结构阶段、设计阶段、实现阶段

  1. 软件体系结构的非形式化描述、软件体系结构的规范描述和分析、软件体系结构的求精以及验证、软件体系结构的实施、软件体系结构的演化和扩展、软件体系结构的提供、评价和度量、软件体系结构的终结。
  • 软件体系结构风格定义和种类:
  1. 软件体系结构风格是描述某一特定应用领域中系统组织方式的管用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。
  2. 管道与过滤器、数据抽象和面向对象系统、基于事件的系统、分层系统、仓库系统及知识库、C2风格、
  • 客户/服务器风格:
  1. 服务器负责有效管理系统的资源。
  2. 数据库安全性的要求。
  3. 数据库访问并发性的控制。
  4. 数据库前端 应用程序的全局数据库完整性规则。
  5. 数据库的备份与恢复。
  1. 提供用户与数据库交互的界面。
  2. 向数据库服务器提交用户请求并接收来自数据库服务器的信息。
  3. 利用客户应用程序对存在于客户端的数据执行应用逻辑要求。
  • 三层C/S结构:
  1. 表示层、功能层、数据层
  2. 区别:在三层C/S体系结构中,增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。被称为瘦客户机。
  3. 优点: A允许合理地划分三层结构的功能、使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰、能提高系统和软件的可维护性和拓展性。B 允许更灵活有效的选用,相应的平台和硬件系统,使之在处理负荷能力上与特性上分别适用于结构清晰的三层。C  在三层CS结构中应用的过程可以,并行开发过程,也可以选择各自最合适的开发语言。D  允许充分利用功能层有效的隔离开表示层与数据层,未授权的用户难以绕过功能层从而利用数据库工具或黑客手段去非法的访问数据层。

(1)优点:

  ●能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以CS客户端响应速度快。

  ●操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。

  ●C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

  ●安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。

(2)缺点:

●需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。●兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。   ●开发、维护成本较高,需要具有一定专业水准的技术人员才能完成,发生一次升级,则所有客户端的程序都需要改变。。 ●用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户,所以适用面窄,通常用于局域网中。

(1)优点:

  ●分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。

  ●业务扩展简单方便,通过增加网页即可增加服务器功能。

  ●维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

  ●开发简单,共享性强。

(2)缺点:

  ●个性化特点明显降低,无法实现具有个性化的功能要求。

  ●在跨浏览器上,BS架构不尽如人意。

  ●客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。

  ●在速度和安全性上需要花费巨大的设计成本。

  ●功能弱化,难以实现传统模式下的特殊功能要求。

  • UML中的主要关系:
  1. 依赖:两个事物之间的语义关系,其中一个事物发生变化,会影响另一个事物的语义。
  2. 关联:描述一组对象之间连接的结构关系。例如,聚合关系描述了整体和部分间的结构关系。
  3. 泛化:一般化和特殊化的关系,描述的特殊元素的对象,可替换一般元素的对象。
  4. 实现:类之间的语义关系,其中的一个类制定了由另一个类保障执行的契约。
  • 类之间的关系:

关联、依赖、泛化、聚合、组合、流关系、实现关系。

  • XML的主要标准:
  1. XML标准、W3C批准,稳定,完全可用于Web和工具开发。
  2. XML名域标准、描述名域的句法,支持能识别名域的XML解析器。
  3. DOM标准、为给结构化的数据编写脚本提供标准。
  4. XSL标准、转换语言可用来转换XML以满足显示要求。独立用来进行多用途转换。
  5. XLL标准和XML指针语言标准。XLL提供类似于HTML的链接,但功能更强大。
  • XML编程接口:

DOM、SAX、JDOM、JAXP

  • SOA SOA是一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务都带有明确的可调用接口,能够以定义好的顺序调用这些服务来形成业务流程。
  • SOA层次、作用、关键技术:
  1. 发现服务层主要用来帮助可护短应用程序程序解析远程服务的位置。UDDI、DISCO技术。
  2. 描述服务层:描述服务层位客户端应用程序提供正确地与远程服务交互的描述信息 WSDL XML Schema技术。
  3. 消息格式层:用来保证客户端应用程序和服务器端在格式上保持一致。SOAP REST技术。
  4. 编码格式层:为客户端和服务端之间提供一个标准的独立于平台的数据交换编码格式.XML技术。
  5. 传输协议层:为客户端和服务端之间提供两者交互的网络通讯协议,HTTP,SMTP。
  • VDDI概念和作用:

VDDI是一种用于描述、发现、集成、Web服务的技术,它是Web服务协议桟的一个重要部分。有专门的接口和代理平台,包含UDDI数据模型、UDDI API,UDDI注册服务。

1、UDDI 指的是通用描述、发现与集成服务

2、UDDI 是一种用于存储有关 web services 的信息的目录。

3、UDDI 是一种由 WSDL 描述的 web services 界面的目录。

4、UDDI 经由 SOAP 进行通信

5、UDDI 被构建入了微软的 .NET 平台

作用:

1、使得在成百万当前在线的企业中发现正确的企业成为可能
2、定义一旦首选的企业被发现后如何启动商业
3、扩展新客户并增加对目前客户的访问4、扩展销售并延伸市场范围
5、满足用户驱动的需要,为在全球 Internet 经济中快速合作的促进来清除障碍。

  • SOAP

SOAP简单对象访问协议是在分散或分布式的环境中交换结构化和类型信息的机制,是一个基于XML的协议。它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。

  • 软件质量属性:

性能、可靠性(容错、健壮性)可用性、安全性、可修改性(可维护性、可拓展性、结构重组、可移植性、)、功能性、可变性、集成性。

  • 软件评估方法:
  1. 基于调查问卷或检查表的评估方式。
  2. 基于场景的评估方式。
  3. 基于度量的评估方式。
  • ATAM

ATAM是一种基于场景评估方式,英文全称ArchitectureTradeOffAnalysisMethodATAM(架构权衡分析法)。

ATAM 方法对软件架构进行评估的目的主要是 根据系统质量属性和业务需求评估决策结果,ATAM希望揭示出架构满足质量目标,架构设计者能够更清楚的认识到质量目标之间的联系。即如何权衡多个目标。

.ATAM的参与者:开发人员,领域专家,测试人员,客户代表,用户等

1.描述方法

像参与者介绍ATAM 方法,要预留一些答疑时间,以期能够达到的效果

2.描述业务动机

从业务的角度介绍系统,包括系统最重要的功能,和一些相关限制

3.描述架构

对架构进行架构进行介绍,包括技术约束,已经满足质量属性的方法,不要太长,但是要说清楚

4.确定架构方法

5.生成质量效用树

确定系统最重要的质量属性目标,对这些质量属性进行优先级排序

6.分析架构方法

可以对每一个架构分析,完成该方法相关质量属性的初步分析,得到一个方法,或者风格的列表,(风险,敏感点,权衡点)

7.讨论场景

场景在ATAM测试阶段起主导作用,

8.分析架构方法

架构设计把最高级的场景映射到描述的架构中,并对架构设计如果有助于实现该场景,做出解释

9.描述结果

把ATAM中的各种信息进行归纳。反馈给相关的人员

  • SAAM

特定目标:描述应用程序属性的文档,验证基本的体系结构假设和原则

评估技术:场景技术

质量属性:可修改性主要分析

方法活动:输入问题是问题描述,需求声明,体系结构描述

过程:场景开发,软件体系结构描述、单个场景评估,场景交互,总体评估

  • 设计模式的分类:
  1. 创建型模式:工厂方法模式、抽象工厂模式、原型模式、单例模式、建造者模式、
  2. 结构型模式:适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式
  3. 行为型模式:职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模版方法、访问者模式

产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定要求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的。

软件体系结构复习资料相关推荐

  1. 设计模式与软件体系结构复习资料——设计模式

    考试题型:选择.简答.设计 目录 软件设计模式 第一章 面向对象设计概述 1. 面向对象设计的表示方法 2. 优秀软件系统特性 3. 面向对象设计原则 3.1 ==单一职责原则== 3.2 ==开闭原 ...

  2. 专业工具软件AutoCAD复习资料

    专业工具软件AutoCAD复习资料 下载地址:http://download.csdn.net/detail/zhangrelay/9849503 这里给出了一些dwg格式的CAD资料,用于课后学习和 ...

  3. 软件体系结构复习整理

    一. 认识软件架构 本书的主旨: 阐明企业目标.产品需求.设计师的经验.构架和最终系统之间的关系--它们构成带有回路的.可由开发组织实施管理的周期 架构商业周期(ABC): 软件架构是技术.商业和社会 ...

  4. 软件项目管理--复习资料

    一.名词解释(20分,5个) 2.成本效益分析:成本效益分析就是估算不同项目方案的有形和无形的费用和效益,并利用诸如投资收益率.投资回收期等财务计划手段估计各项目方案的相对优越性. 风险管理:风险管理 ...

  5. 软件设计师の备考经验帖及复习资料

    文章目录 Laptoy祝大家逢考必过 9月1号备考-11月05号考试 复习资料 推荐up主:[zst_2001](https://space.bilibili.com/91286799) 跟着视频来基 ...

  6. 软件设计师中级复习资料

    计算机组成与体系结构 CPU的组成 Central Processing Unit[主要是运算器+控制器] 详细:[运算器.控制器.寄存器组合内部总线等组成] 运算器:负责算术和逻辑运算,如加减乘除. ...

  7. 软件体系结构期末总复习

    大纲 写在前面的话 软件体系结构基本概念汇总(18分) 软件架构风格 经典风格 (1)层次架构特点: (2)三层架构: (3)客户服务器架构: 胖客户瘦服务器 瘦客户胖服务器 (4)事件驱动架构 (5 ...

  8. 软件体系结构期末复习

    软件体系结构期末复习 标签(空格分隔): 未分类 回顾课本和TTP课件 内容总概 章节回顾 第1章.软件体系结构概论 0.软件体系结构的发展过程经历了四个阶段: (1)无体系结构阶段.(2)萌芽阶段. ...

  9. 复习资料:软件质量保证与测试

    复习资料:软件质量保证与测试 第一章 绪论 解答题 第二章 软件测试策略 解答题 第三章 黑盒测试 解答题 第四章 白盒测试 解答题 第五章 软件测试过程 第六章 面向对象测试 解答题: 第七章 自动 ...

最新文章

  1. SQLSERVER 2008 R2 事务日志已满
  2. swift 学习- 14 -- 继承
  3. wxWidgets:wxTimePickerCtrl类用法
  4. Forrester 首席分析师对话阿里云容器服务负责人:容器的未来趋势是什么?
  5. leetcode 36. Valid Sudoku | 37. Sudoku Solver(数独)
  6. 【对讲机的那点事】如何使用阿里通信云对讲平台?
  7. 字节面试官:如何实现Ajax并发请求控制
  8. GitHub 被爆开始实名制,以便于执行美国贸易制裁;特斯拉推出超大储能产品Megapack;高通宣布与腾讯游戏达成战略合作……...
  9. (组合数学笔记)Pólya计数理论_Part.6_置换群的循环指数
  10. 一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?...
  11. 第一节 MongoDB介绍及下载与安装
  12. 计算机函数填写评价,信息技术应用 用计算机画函数图象教学评价实录
  13. vivado 下载代码到flash
  14. WOL(Wake On LAN - 局域网唤醒)外网唤醒 配置教程 远程开机
  15. kali之入侵XP系统2
  16. qt linux 程序设置字体,QT 程序更换字体方法之一
  17. java计算机毕业设计网上鲜花交易平台源代码+数据库+系统+lw文档
  18. leetcode每日一题-字符串中的第一个唯一字符
  19. uniapp跳转外部链接
  20. Elasticsearch 7.1API 文档翻译

热门文章

  1. 数据结构快速盘点 - 非线性结构
  2. sql中时间以5分钟,半个小时,任意间隔分组
  3. Windows下RSA密钥生成工具openssl
  4. 马尔可夫回归包下载下来错误_有马错误的回归
  5. 大疆文档(3)-开发流程
  6. 两化融合贯标的意义 好处 要求
  7. Dreamweaver cs6合理配色设置字体大小以提高代码阅读性
  8. 软件开发:对于产品经理需要哪些日常工作吗
  9. Java编写大嘴怪游戏--原创
  10. 【R】更新R版本代码