~~

第一次笔记

一、绪论
软件体系结构的是逐步发展的:由六十年代的高级语言到70~80年代的面向过程开发,90年代的面向对象开发,以及2000年代的面向服务开发,2010年代的云与服务开发,直至现在的智能化软件开发。
从无体系结构到概念与理论体系的形成再到理论完善及普及应用。
1968年,软件体系结构出现,由NATO首次提出“Software Architecture"
1999年, IEEE 1471-2000标准发布,为软件架构的普及应用制定了标准化规范。


软件体系结构的定义驳杂多端,主要分类两大类:组成派与决策派。
组成派关注于软件本身将软件体系结构看作是构件与交互的集合
决策派关注于软件架构中的实体(人),将软件体系结构视为一系列重要设计决策的集合
根据组成派定义,我们可将软件体系结构的定义理解为:软件体系结构=组件+连接件+约束,
组件:具有某种功能的可重用的软件模块单元,表示了系统中主要是的计算单元和数据存储。
连接件:表示了组件之间的交互,简单连接件如:pipe, procedure-call, event broadcast。复杂的有:client-server通信协议,数据库与应用间的SQL连接。
约束:表示了组件与连接件的拓扑逻辑与约束


软件体系结构的作用:“……the larger the project,the more essential the structing(1968)"----Edsger Dijkstra

二、数据流体系结构风格
1、基本构件(数据处理):构件接口,计算模型
2、连接件(数据流)


典型数据流风格:
Pipe and Filter
Process Control
Batch Sequential


批处理示例图如上
每个个处理步骤是一个独立的程序
每一步必须在前一步结束后由才能开始
数据必须是完整的,以整体的方式传递
批处理实例:基于Eclipse的代码重复检测工具。



管道过滤体系风格如上:
构件:Filters(过滤器)——处理数据流
将数据流变换成目标数据,增加/丰富,删减/浓缩,转换,分解,合并,是一个独立的实体。

连接件:Pipe(管道)——连接一个源和一个目的过滤器
单向流,可能具有缓冲区,管道形成传输图。
数据源源不断的产生,系统需要对这些数据进行若干处理(分析、计算、转换等)。
实例:Compiler,Unix pipes,Image Processing,Signal Processing,Voice and video streaming
优点:使构件具有良好的隐蔽性,高内聚,低耦合;支持软件复用,系统维护和增强系统性能简单,支持并行执行。
缺点:不适合交互处理的应用,系统性能不高。


两者区别:

软件体系结构网课第一次笔记相关推荐

  1. 尚硅谷李立超老师讲解web前端网课的笔记

    初学 web 前端笔记一 刚刚看完网课,趁着脑子里还有点东西,小彭赶紧来做个笔记~接下来看吧: 一.软件的分类 1.系统软件:(我们买电脑或手机第一件事就是先激活或者安装一个"灵魂" ...

  2. 王道论坛《计算机网络》网课学习笔记

    写在前面:本文为笔者学习<计算机网络>时的部分笔记,其余记录在本子上,日后有时间补全. 1 计算机网络体系结构 分层模型及协议 层 协议 网络层 ICMP 数据链路层 HDLC,PPP,S ...

  3. Java网课基础笔记(9)19-07-21

    1.Struts2 是目前较为普及和成熟的基于MVC设计模式的web应用程序框架,它不仅仅是Struts1 的升级版本,更是一个全新的Struts架构.最初,是以WebWork框架和Struts框架为 ...

  4. Java网课基础笔记(7)19-07-19

    1.jsp获取当前系统时间:使用Date对象的toString()方法. <body> <% Date date=new Date(); %> 当前时间为 <%=date ...

  5. 黑马Python数据分析网课个人笔记01

    Python中的注释 单行注释: # 注释的内容 可以在语句末尾注释 快捷键:ctrl + / (mac的话command + /) 多行注释:三条单引号,或者三对双引号 可以在注释内部换行 例如: ...

  6. 软件体系结构结课报告

    浅谈微服务架构的优劣势及影响 微服务架构是一种从SOA架构演化过来的新型架构.微服务架构具有许多优点.例如在微服务架构中每个服务都有其自己单独的数据库,能够单独部署,并在其自己的进程中运行而互不影响等 ...

  7. mysql李玉婷网课配套笔记(三) 分组查询、连接查询bilibili

    sql92语法: 等值连接,非等值连接,自连接等 基础函数汇总: 一.单行函数 1.字符函数 concat    拼接 substr    截取子串 upper    变大写 lower    变小写 ...

  8. python自学网课-python网课学习笔记--4

    对象 python中,一切皆对象.每个对象由:标识(identity).类型(type).value(值)组成. 1.标识用于唯一标识对象,通常对应于对象在计算机中的位置.使用函数id(obj)可返回 ...

  9. 金融综合(网课+读书笔记)

    一  会计学原理 会计作用:提供信息. 提供什么信息:记账.算账.报账. 信息载体:会计报表. 二  货币金融学 1.货币的本质是工具,是达到目的的手段而已,而不是目的本身.(所以不应该无休止的追求钱 ...

最新文章

  1. Entity Framework Unit Testing problem and solution(转)
  2. 有趣的网页注释代码,保护我方源码
  3. Lua 文件 I/O
  4. node.js https 模块设置请求头等信息
  5. STM32 DSP库的使用方法
  6. Python二级笔记(14)
  7. linux中printf命令,Linux中printf命令使用实例
  8. leetcode题解104- 二叉树的最大深度
  9. Jquery页面跳转
  10. DPDK学习1 -- DPDK环境搭建和测试helloword
  11. win10自带录屏工具
  12. unity + leapMotion 手势识别入门教程
  13. 关于 PCB 多层板制程能力不得不说的那些事儿
  14. python msproject_MS Project(*.mpp文件)到PowerBi
  15. 老款Mac装win10黑屏或灰屏
  16. 测试之全流程质量保证
  17. PR常见问题「六」pr去水印的几种方法
  18. 软件测试基础知识汇总(问答篇)
  19. Real-Time Rendering 第五章 光照模型
  20. JAVA图形界面中的事件处理

热门文章

  1. 抖音:资本、梦想与躁动荷尔蒙裹挟的世界
  2. SSRF在有无回显方面的利用及其思考与总结
  3. numpy 函数里面的axis参数的含义
  4. Macbook双系统多分区的解决方案
  5. GlusterFS探究(一): dht,afr,fuse, mgmt 层 几个问题总结
  6. 肝肠轴——看不见的Crosstalk
  7. Python dict字典基本操作
  8. 基于科大讯飞语音识别demo(离线)
  9. 漫画:什么是MapReduce?
  10. 奇闻 为什么Xenophon DAO 社区人人都想戴 绿帽子