软考高级:需求工程- 4+1 视图 AI 解读

news2024/9/25 8:35:52

这几个术语常见于软件架构的描述中,它们分别代表软件系统的不同角度或视角。为了更好理解它们,我们可以把软件系统想象成一个公司,每个视图就像从不同角度观察这个公司的运作方式。
在这里插入图片描述
========== 生活化例子 ==========

想象你在经营一家餐馆:

  • 逻辑视图:相当于餐馆的菜单,展示了餐馆提供的所有菜品,以及菜品之间的关联。比如,意大利面和披萨都属于意大利菜,这就类似于软件中不同功能模块之间的逻辑关系。

  • 实现视图:就像餐馆厨房的布局,说明后厨如何操作才能做出这些菜。每个厨师负责不同的工序,比如炒菜师负责炒菜,烤箱师负责烤披萨。这就类似软件代码如何组织、如何分配任务给不同的模块。

  • 进程视图:像餐馆的日常运作,描述不同工作人员如何协同工作、分配任务。比如,服务员把顾客点的菜传给厨房,厨师准备菜品。这类似于软件在运行时,程序内部各个模块如何通信、协同工作。

  • 部署视图:就像餐馆的店面和设备布局,说明餐馆需要哪些设备(烤箱、炉子、冰箱)以及它们怎么放置,才能保证顺利运作。软件中的服务器、数据库、网络连接的分布就是部署视图。

  • 用例视图:相当于顾客在餐馆的体验。顾客进来点菜、等待、吃饭、结账,每个流程都涉及到不同的人和环节。这类似于软件中的用户操作流程,展示系统从用户角度的功能和交互。

========== 概念讲解 ==========

  • 逻辑视图:展示软件系统中不同模块或组件之间的逻辑关系,通常用来表达功能的结构和模块之间的依赖关系。它关注“系统做了什么”。

  • 实现视图:描述系统内部如何实现逻辑视图的功能,关注代码如何组织、开发人员如何分配工作。它更多关注“代码是怎么写的”。

  • 进程视图:展示系统在运行时,不同进程之间如何协作、通信和并发执行,关注系统的动态行为。它回答了“系统是如何运行的”。

  • 部署视图:描述系统在物理环境中的布置方式,展示软件如何部署在硬件设备上,比如服务器、数据库等资源的分布。它关注“系统运行在什么设备上”。

  • 用例视图:从用户角度展示软件的功能,描述用户与系统的交互过程,帮助设计系统的用户体验。它关注“用户怎么用这个系统”。

========== 简单记法 ==========

  • 逻辑视图:系统“是什么”,功能和模块结构。
  • 实现视图:代码“怎么写”,模块组织和分配。
  • 进程视图:运行时“怎么做”,动态行为和协同。
  • 部署视图:系统“在哪跑”,设备和资源分布。
  • 用例视图:用户“怎么用”,功能体验。

通过这五个视角,可以全面理解和描述一个复杂的软件系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2163050.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSM+Vue共享单车管理系统

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 spring-mybatis.xml3.5 spring-mvc.xml3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作…

C++网络编程之网络模型

概述 所谓网络模型,是指一组定义了网络通信功能和行为的规则和标准。这些模型通过将网络通信功能分解成不同的层次,使得网络通信更加模块化,也更易于理解和实施。每一层都有其特定的功能,通过层与层之间的交互,确保数据…

await命令的用法

正常情况下,await 命令后面是一个 Promise 对象,返回值是该 Promise 对象的结果。如果不是 Promise 对象,就会进行自动转换,使用 Promise.resolve(),就直接返回对应的值 await 命令后面的 Promise 对象如果变为 reject…

方法部分 学习

方法是程序中最小的执行单元 方法的定义调用 public static void 方法名(){ 方法体 } 写在main方法外面,在main函数里面直接调用带参数:public static void 方法名(int num1 , int num2&am…

计算机的错误计算(一百零三)

摘要 探讨 的计算精度问题。 从计算机的错误计算(九十九)知, 在IEEE 754-2019的列表中,并且定义域是实数域。但是,截止撰写本节内容时,本文作者仍未找到内置了该函数的语言或编译器。 例1. 已知 计算…

Vue3:shallowRef与shallowReactive

目录 一.shallowRef 和 shallowReactive 1.shallowRef 2.shallowReactive 二.ref 和 reactive 1. ref 2. reactive 三.各自使用场景 1.shallowRef 2.shallowReactive 3.ref 4.reactive 四.shallowRef 使用 五.shallowReactive使用 六.效果 一.shallowRef 和 shal…

Redis 分布式缓存服务(集群)

作者:程序那点事儿 日期:2023/11/17 13:05 准备6台虚拟机,ip分别是 192.168.10.101 192.168.10.102 192.168.10.103 192.168.10.104 192.168.10.105 192.168.10.106 创建6个节点 mkdir -p /usr/local/cluster/redis-node1 #对应192.168.10.…

【html网页制作】旅游风景主题网页制作含css动画及js特效(8页面附效果源码)

HTMLCSS旅游风景主题旅游网页制作 🍔涉及知识🥤写在前面🍧一、网页主题🌳二、网页效果菜单切换效果PageA、整体页Page1、首页Page2、旅行趣事页Page3、旅行美景页Page4、旅行指南页Page5、旅行视频页Page6、留言页Page7、西湖简介…

玩手机数据集 8201张玩手机的照片,有对应的xml和txt文件,可以用于yolo训练

玩手机数据集 8201张玩手机的照片,有对应的xml和txt文件,可以用于yolo训练 玩手机数据集(Phone Usage Detection Dataset) 数据集概述 该数据集专为检测人们使用手机的行为设计,旨在帮助研究人员和工程师开发高效的…

openai最新o1上线(2024年09月12日)

gpt-4o-2024-08-06输出文本价格 10美元/M o1-preview输出价格 60美元/M https://lmarena.ai/?leaderboard 数字9.11和9.8谁大些 人工智能学习网站 https://chat.xutongbao.top/

240924-Windows映射网络驱动器的方法

在Windows上加载网络盘(映射网络驱动器)可以通过以下步骤完成: 方法一:通过文件资源管理器 打开文件资源管理器: 可以按 Win E 打开,或者直接点击任务栏上的文件资源管理器图标。 点击“此电脑”&#x…

macOS与Ubuntu虚拟机使用SSH文件互传

1.ubuntu配置: 安装openssh服务: sudo apt-get install openssh-server -y 查看服务启动状态: systemctl status ssh 2.macOS使用scp连接ubuntu并发送文件 查看ubuntu IP : ifconfigmacOS终端连接ubuntu : sc

Linux入门学习:进程概念

文章目录 1. 什么是进程?1.1 基本概念1.2 task_struct 2. 组织进程3. 查看进程3.1 父进程与子进程3.2 fork创建子进程3.3 kill3.4 /proc 1. 什么是进程? 1.1 基本概念 在课本的概念中,进程程序的一个执行实例,正在执行的程序。其…

『功能项目』3D模型动态UI显示【76】

本章项目成果展示 我们打开上一篇75主角属性值显示的项目, 本章要做的事情是将3D模型动态显示在主角属性展示界面 首先创建RawImage 调整尺寸 创建文件夹:RenderTexture 创建 Render Texture 创建Camera 在场景中放置一个主角预制体删除所有组件 清空标…

LVGL第一篇-了解lvgl显示原理以及使用C++移植

一、引言 在当今嵌入式系统与图形界面开发的广阔领域中,轻量级图形库 LVGL(Light and Versatile Graphics Library)恰似一颗璀璨耀眼的明星,正日益受到开发者们的热烈推崇与追逐。它以小巧精致之姿、高效卓越之能以及丰富多元之功…

计算机毕业设计之:宠物互助平台的微信小程序系统(源码+文档+讲解)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

读构建可扩展分布式系统:方法与实践14流处理系统

1. 流处理系统 1.1. 时间就是金钱 1.1.1. 从数据中提取有价值的知识和获得洞见的速度越快,就能越快地响应系统所观察的世界的变化 1.1.2. 信用卡欺诈检测 1.1.3. 网络安全中异常网络流量的捕获 1.1.4. 在支持GPS的驾驶应用程序中进行的实时路线规划 1.1.5. 社交…

函数计算 FC:首发 GPU 极速模式,更弹性、更降本

函数计算 FC 作为轻量灵活、事件驱动的全托管计算服务,一直以来以弹得更快、粒度更细、成本更低为广大开发者与企业客户所青睐。 2024 云栖大会上,函数计算 FC 为 AI 加码,首发 GPU 极速模式, 让 GPU 可以更弹性、更便宜。 阿里云…

【车联网安全】车端知识调研

一、CAN总线: 1、定义: CAN 总线相当于汽车的神经网络,连接车内各控制系统,其通信采用广播机制,各连接部件均可收发控制消息,通信效率高,可确保通信实时性。当前市场上的汽车至少拥有一个CAN网络&#xff0…

Java集合(下)

Map(重要) HashMap和Hashtable的区别 线程是否安全: HashMap 是非线程安全的,Hashtable 是线程安全的,因为 Hashtable 内部的方法基本都经过synchronized 修饰。(如果你要保证线程安全的话就使用 ConcurrentHashMap …