软件系统架构视图是从特定的视角出发,专注于该视角系统的结构,模块划分,基本组件职责和主要的控制流(协作接口)。

Kruchten(克鲁奇顿)在1995年提出了一个“4+1”的视图模型。它从5个不同的视角包括逻辑视图、进程视图(处理视图)、物理视图、开发视图和场景视图来描述软件架构。每个视图只关心系统的一个侧面,5个视图结合在一起才能反应系统的软件架构的全部内容。

一个描述软件系统的子系统和组件,以及它们之间相互关系的学科。架构试图定义软件的内部结构。通过视图可以从不同角度描述软件结构,主要包括:

  • 逻辑视图(满足功能需求)
  • 过程视图(并发问题)
  • 组件视图(实现问题)
  • 部署视图(分布问题)
  1. 逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
  2. 进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
  3. 实现视图对组成基于系统的物理代码的文件和构件进行建模。
  4. 用例视图是最基本的需求分析模型。

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

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

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

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

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

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

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

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

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

  5. 笔记-信息系统开发基础-架构设计-软件架构风格

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

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

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

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

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

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

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

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

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

最新文章

  1. web压力测试工具ab安装及使用
  2. linux关机_Linux系统管理:开机启动流程(一)
  3. 丢失日志文件的风险与对策
  4. 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)
  5. 实时计算 Flink 版 最佳实践
  6. linux nginx F配置,linux下nginx的安装及配置
  7. php+windows+信号,php 处理信号简单演示
  8. 后缀自动机(学习笔记)
  9. python爬虫实例项目大全-GitHub 上有哪些优秀的 Python 爬虫项目?
  10. AM调制时域代码matlab,AM调制的FPGA实现
  11. 浏览器地址栏中文乱码问题
  12. nginx负载均衡 tomcat报异常: parseHost The host [*] is not valid
  13. python获取年末,月末,季末的日期和距指定时间的天数
  14. ConvMixer:Patches Are All You Need
  15. 程序员进阶攻略-笔记-041~050
  16. 网络安全应急响应:网络窃听安全事件检测
  17. 网络视频直播系统的发展历程
  18. android 5寸屏分辨率是多少钱,索尼Z5尊享版的屏幕尺寸是多少?分辨率是多少?...
  19. 图书馆借阅管理系统 springboot开发的java项目源码
  20. [呱一题] 警惕国奖爷打牌

热门文章

  1. Intel Realsense Depth Quality Tool 相关参数
  2. tensorflow常见函数——clip_by_value、numpy.random.RandomState、argmax
  3. JSDOM模型的样例
  4. DreamWeaver下如何应用CSS样式
  5. IText实现url转pdf, 解决中文字体问题
  6. java中的后台线程、前台线程、守护线程区别
  7. linux samba代码,Linux下Samba服务器源码安装及配置
  8. bat查看java进程 过滤_通过查找.BAT中使用的端口来终止进程
  9. 怎么添加本地音乐_网易云音乐:60G免费云盘+隐藏彩蛋、技巧
  10. dataloader 源码_带你从零掌握迭代器及构建最简DataLoader