~~

第一次笔记

一、绪论
软件体系结构的是逐步发展的:由六十年代的高级语言到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. 【Codeforces】Round #375 (Div. 2)
  2. linux图形图像三剑客,就linux三剑客简单归纳
  3. throws关键字_异常处理的第一种方式,交给别人处理
  4. python将列表的第一列删除_python列表基本操作:索引(访问),切片,扩展,删除,追加,统计,长度,获取下标等...
  5. linux nginx安装php5.5,linux下搭建LNMP(linux+nginx+mysql+php)环境之mysql5.5安装
  6. VC++的Unicode编程(经典之作,交流传薪)
  7. PostgreSQL是否区分大小写
  8. [翻译] FBLikeLayout
  9. Excel Access 新建空白文档/打开已有文档 提示内存或磁盘空间不足的解决方法--验证...
  10. openwrt增加内核模块的方法
  11. 免费的中医处方系统软件
  12. 指数分布的期望与方差
  13. 结构化、半结构化和非结构化数据
  14. 软件测试面试智商题,程序员面试时遇智商测试题:15分钟内答对这3题,你的IQ可以碾压大多数人!...
  15. 一个成都程序猿眼中的成都和天府软件园,先从蚂蚁金服说起…
  16. 转:查理·芒格:让打击和麻烦成为成长的契机
  17. 推荐一款制作H5页面的可视化工具
  18. python处理excel多重筛选
  19. [Java8新特性]Collectors源码阅读-1 toCollections和joining等
  20. python计算器gui设计_Python 计算器界面设计

热门文章

  1. B. Catching Cheaters(cf)dp
  2. 软考信息安全工程师+2021-01-30 1.网络信息安全概述+重点
  3. pd.read_csv()中文乱码,解决方法
  4. python判断矩阵是否对称_矩阵的特征分解(推导+手算+python计算+对称矩阵的特征分解性质)...
  5. 计算机毕设(附源码)JAVA-SSM基于Internet快递柜管理系统
  6. 花了两天时间用html+css+js做了一个网页版坦克大战游戏
  7. WIFI驱动开发——WIFI支持WPA3连接
  8. 如何盘活新零售5大线上线下交互模式?拥抱用户与收益增长
  9. 计算机认识新朋友教案,认识新朋友教案
  10. 中国地热能产业需求预测与投资规划建议报告2022-2028年版