参考《信息系统项目管理师教材(第3版)》P45,软件架构风格,Garlan和Shaw对通用软件架构风格进行了分类,他们将软件架构分为数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格

(1) 数据流风格:包括批处理序列架构风格(Batch Sequential)和管理/过滤器架构风格(Pipes/Filters)。

(2) 调用/返回风格:包括主程序/子程序架构风格(Main Program and Subroutine)、数据抽象和面向对象架构风格(DataAbstraction and Object-Oriented)及层次结构架构风格(Hierarchical Layers).

(3) 独立构件风格:包括进程通信架构风格(Communicating Processes)和事件驱动架构风格(EventSystems)。

(4) 虚拟机风格:包括解释器架构风格(Interpreters)和基于规则的系统(Rule-based Systems)架构风格。

(5) 仓库风格:包括数据库架构风格(Database)和黑板架构风格(BlackBoards)

其他:特定领域软件体系结构(Domain-specfic Software Architecture)、状态转移(StateTransition System)、分布式处理(Distributed Process)架构风格和REST(Representational StateTransfer)混合架构风格等。其中分布式架构风格中有客户机/服务器(C/S)架构风格、浏览器/服务器(B/S)架构风格、CORBA、DCOM和EJB架构风格等。

笔记-信息系统开发基础-架构设计-软件架构风格相关推荐

  1. 笔记-信息系统开发基础-架构设计-软件架构主要职责

    软件架构主要职责 (1)确认需求在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说明书必须得到架构师的认可.架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求. (2)系 ...

  2. 笔记-信息系统开发基础-架构设计-软件系统架构视图

    软件系统架构视图是从特定的视角出发,专注于该视角系统的结构,模块划分,基本组件职责和主要的控制流(协作接口). Kruchten(克鲁奇顿)在1995年提出了一个"4+1"的视图模 ...

  3. 笔记-信息系统开发基础-架构设计-分布式应用的架构设计问题

    针对目前广泛使用的分布式应用,其软件架构设计需要考虑如下问题. (1)数据库的选择问题:目前主流的数据库系统是关系数据库. (2)用户界面选择问题:HTML/HTTP (S)协议是实现 Interne ...

  4. 笔记-信息系统开发基础-架构设计-软件体系结构评估方式

    软件体系结构评估方式主要有以下三种: 1.基于调查问卷或检查表的评估方式 调查问卷是一系列可以应用到各种体系结构评估的相关问题,其中有些问题可能涉及到体系结构的设计决策:有些问题涉及到体系结构的文档, ...

  5. 笔记-信息系统开发基础-信息系统生命周期

    1. 生命周期阶的五阶段划分 为了有效地进行系统的开发和管理,根据系统生命周期的概念,一般可以将信息系统的开发分成5个阶段,即总体规划阶段.系统分析阶段.系统设计阶段.系统实施阶段.系统运行和评价阶段 ...

  6. 笔记-信息系统开发基础-信息系统开发方法

    信息系统开发方法知识,信息系统开发方法分为: 1.结构化开发方法 2.面向对象开发方法 3.原型化开发方法 4.面向服务的方法 1. 结构化开发方法 (Structured method) Struc ...

  7. 笔记-信息系统开发基础-信息系统开发模型

    信息系统项目的生命周期模型主要包括有瀑布模型.V模型.喷泉模型.螺旋模型.统一过程,增量.迭代模型. 1. 瀑布模型 瀑布模型是一个经典的软件生命周期模型,一般将软件开发分为可行性分析(计划).需求分 ...

  8. 笔记-信息系统开发基础-软件测试-软件测试的类型

    本题考查软件测试的类型相关知识,请参考<信息系统项目管理师教程>第3版P50 (1)单元测试 单元测试也称为模块测试,测试的对象是可独立编译或汇编的程序模块.软件构件或00软件中的类(统称 ...

  9. 笔记-信息系统开发基础-信息系统规划方法-大型新信息系统特征/企业系统规划步骤...

    一.大型信息系统特征 规模庞大 跨地域性 网络结构复杂,大型信息系统一般采用多级网络结构.跨域多个安全域.网络关系复杂.接口众多. 业务种类多 数据量大 用户多 二.企业系统规划(BSP)的步骤 企业 ...

最新文章

  1. java通用象棋游戏_在通用国际象棋界面周围模拟GraphQL包装器
  2. 胜过iPhone XS?Google Pixel的“夜视功能”是怎样炼成的
  3. [JSOI2008]最大数 线段树解法
  4. 【控制】《多智能体系统的动力学分析与设计》徐光辉老师-第5章-基于采样位置信息二阶多智能体系统的多一致
  5. a标签position为absolute时,IE无法点击(a position:absolute bug ie)
  6. ubuntu下源码安装Python
  7. 多线程python实现方式_python多线程的两种实现方式(代码教程)
  8. springbootSecurity的使用
  9. java resouce_Java 获取Resource目录下的文件解决办法
  10. 05 基本数据类型+五大数据类型
  11. 解决Windows聚焦不更新图片问题
  12. matlab如何运行程序
  13. linux下使用iptables NAT上网
  14. python登陆126邮箱记录
  15. 【CPU微架构】分支预测(二)常用分支预测算法
  16. Pytorch官方文档个人阅读总结
  17. 贪心算法经典例题3:导弹发射问题
  18. C++ 数组作为参数传入函数 int sum_arr(int arr[], int n)
  19. ERROR 1118 (42000) at line 1278: Row size too large ( 8126)
  20. CY68013 FPGA通信联调总结

热门文章

  1. numpy dot()函数(两个数组的点积)(对于二维阵列,它是矩阵乘积)
  2. tensorflow教程 学习笔记 之 Eager execution 急切执行
  3. Nvidia 安装相关文件下载地址
  4. Tensorflow实现自动编码器
  5. SQL进阶教程 | 史上最易懂SQL教程 5小时零基础成长SQL大师
  6. java实现系统多级文件夹复制
  7. 问题排查:vue项目刷新页面加载了500多个请求?
  8. Android m 自定义下拉菜单,Android实现动画效果的自定义下拉菜单功能
  9. Java设计模式——单例模式的七种写法
  10. python内置函数用来打开或创建文件_2020年《python程序设计》基础知识及程序设计598题XS[含参考答案]...