系统架构师备考记忆不太清楚的点-信息系统-需求分析

news2024/10/10 8:36:35

霍尔三维结构

逻辑维:解决问题的逻辑过程

过程有明确问题、确立目标、系统综合、系统分析、优化、系统决策、实施计划

时间维:工作进度

这个纬度则是做工作计划的输出

有 规划阶段、拟定方案、研制阶段、生产阶段、安装阶段、运行阶段、更新阶段

知识维

需要使用的专业科学知识

比如 工程、医药、建筑等。。

逆向工程

逆向工程是设计恢复的过程

逆向工程也是属于软件维护工具

逆向工程有四个恢复级

实现级---包含程序的抽象语法树,符号表,过程的设计

结构级--包含程序分量之间相互依赖的关系,例如调用图、结构图、程序和数据结构

功能级---程序段功能及程序段之间的信息,例如数据和控制流模型

领域级--程序分量或程序诸实体与应用领域概念之间对应关系的信息。

四个级别分别从具体实现到业务越来越重要的抽象级别

分别为函数过程(具体操作)---->程序过程(函数调用)--->程序段过程-->(功能实现)-->业务功能实现(领域级)(个人理解)

相关概念

  1. 重构\重组----同一抽象级别
  2. 设计恢复--- 从已有程序抽象出数据设计、总体结构设计和过程设计等信息
  3. 逆向工程--分析程序力图在比源代码更高抽象层次上建立程序的表示过程
  4. 正向工程--使用现有系统恢复的设计信息,去改变或者重构现有系统,以改善整体质量
  5. 在工程\重构工程 ---对现有系统重新开发的工程,包括逆向工程、新需求的考虑过程和正向工程三个步骤。

需求工程阶段划分

需求工程活动阶段

需求获取        

需求分析
形成需求规格(形成SRS--软件需求规范 )
需求确认与验证(形成需求基线)
需求管理【变更控制、版本控制、需求跟踪、需求状态跟踪】

        需求管理师对需求基线进行管理

需求分析

结构化需求分析

功能模型 用数据流图描述

行为模型用 状态转换图描述

数据模型用 ER图描述

数据字典记录 数据元素、数据结构、数据流、数据存储、加工逻辑、外部实体

面向对象需求分析

分为静态图和动态图

通过名字能很好的确认是动态图还是静态图,对象图稍微特殊,它是类实例化的一个快照,所以也作为静态图。

类图:描述一组类、接口、协作和它们之间的关系

类总共有三种关系

        实体类:映射需求中的每个实体,保存需要存储在永久存储体中的信息。

        控制类:用于控制用例工作的类。

        边界类:封住在用例内、外流动信息或者数据流。

对象图:描述一组对象以及他们之间的关系、是类实例化的静态快照。

部署图:运行时处理节点及在其中生存的构建配置,给出了架构的静态部署视图, 软硬件之间的映射

包图:由模型本身分解而成的组织单元,以及他们之间的依赖关系,类似将共同工作的元素放在一个文件夹中

循序图:是一种交互图强调对象之间消息发送的循序,同时显示对象之间的交互。强调按时间循序

对于对应位置挖空要知道可以填什么 上面只能填对象,简单消息上智能填消息发送,返回消息上则是填返回消息,或者返回状态。

通信图:强调对象之间的存在的消息收发关系,和循序图的区别是不强调时间循序

定时图:用于展示交互过程中的真实时间信息

状态图:描述一个状态机,强调事件调至的对象行为

 活动图 是一种特殊的状态图,活动图描述一个操作中要进行的各项活动那个的执行流程,同时也常用来描述一个操作中要进行的各项活动的执行流程。强调对象之间的控制流程,并且可以用用掉的方式描述多个参与者的状态(多线程)

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

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

相关文章

TiDB 优化器丨执行计划和 SQL 算子解读最佳实践

导读 在数据库系统中,查询优化器是数据库管理系统的核心组成部分,负责将用户的 SQL 查询转化为高效的执行计划,因而会直接影响用户体感的性能与稳定性。优化器的设计与实现过程充满挑战,有人比喻称这是数据库技术要持续攀登的珠穆…

Android SELinux——基础介绍(一)

Android 系统的安全策略是保护用户的隐私和数据不受侵害的重要保证,一个相对安全的计算环境对于确保移动设备的安全至关重要。随着新的威胁不断出现,Android 的安全策略也在不断发展和完善,以应对新的挑战。 一、概念介绍 1、SELinux SELin…

图像处理(一)——CMC特刊推荐

特刊征稿 01 期刊名称: Data and Image Processing in Intelligent Information Systems 截止时间: 提交截止日期:2024年11月15日 目标及范围: 感兴趣的主题包括但不限于: 先进的数据处理技术; 智能数据分析; 智能系统…

【论文阅读】DeepAC:实时六自由度目标跟踪的深度主动轮廓

Deep Active Contour for Real-time 6-DoF Object Tracking ICCV 2023 Project Page 【Question&Thinking】 解决的问题? RGB 视频的实时六自由度目标跟踪 现有的问题?提出的方法?达到的效果?存在的问题? Abst…

pnpm设置镜像源

# 查询当前使用的镜像源 pnpm get registry# 设置为淘宝镜像源 pnpm config set registry https://registry.npmmirror.com/# 还原为官方镜像源 pnpm config set registry https://registry.npmjs.org/参考链接 https://blog.csdn.net/weixin_45046532/article/details/139681…

谷歌地图服务地址汇总

写在前面&#xff1a; 1.参考自谷歌地图TMS地图服务地址收集&#xff0c;测试可用_谷歌地图url订阅订阅地址-CSDN博客&#xff0c;在这里备份一下&#xff0c;防止遗忘 2.需要翻墙 3.下面通过openlayers加载各风格地图 <!Doctype html> <html> <head><met…

MyBatis之ResultMap的association和collection

association例子演示 实体类演示 Data //书籍 public class Book {private String id;private String name;private String author;private Double price;private Integer del;private Date publishdate;private String info;//把出版社对象当作属性private Publisher pub;//-…

通过Express + Vue3从零构建一个用户认证与授权系统(二)数据库与后端项目搭建与实现

前言 上一篇完成了系统的相关设计文档的编写&#xff0c;本文将详细介绍如何一步步使用 TypeScript 和 Express 搭建一个模块化、类型安全的用户认证与授权系统&#xff0c;包括数据库设计、后端项目搭建、用户认证、角色与权限管理、错误处理以及 Swagger 文档集成。 项目准…

Solidity优质例子(二)物流的增删改查智能合约(附truffle测试)

本合约非常适合新手学习&#xff0c;其包含了基本的增删改查功能以及各个方式的不同之处的总结&#xff0c;本套合约我也编写了truffle测试&#xff0c;学习truffle测试的小伙伴也有福了~ 该合约的主要作用是通过区块链技术实现物流追踪系统的透明化、自动化与防篡改特性&#…

windows C++-移除界面工作线程(一)

本文档演示了如何使用并发运行时将 Microsoft 基础类 (MFC) 应用程序中由用户界面 (UI) 线程执行的工作移动到工作线程。 本文档还演示了如何提高冗长绘制操作的性能。 通过将阻塞性操作&#xff08;例如&#xff0c;绘制&#xff09;卸载到工作线程来从 UI 线程中移除工作&am…

Python爬虫使用示例-古诗词摘录

一、分析需求 目标地址&#xff1a; https://www.sou-yun.cn/Query.aspx?typepoem&id二、提取诗句 import os import re import requests import parsel#url https://www.sou-yun.cn/PoemIndex.aspx?dynastyTang&author14976&typeJie urlhttps://www.sou-yun.…

移动app的UI和接口自动化测试怎么进行?

标题&#xff1a;从0到1&#xff1a;移动App的UI和接口自动化测试 导语&#xff1a;移动App的快速发展使得UI和接口自动化测试成为了确保应用质量的重要环节。本文将从零开始介绍移动App的UI和接口自动化测试的基本概念以及如何进行测试。 第一部分&#xff1a;了解移动App自动…

【React】如何在MacBook的vscode中配置React环境

作者&#xff1a;CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境&#xff1a;Vscode 安装Node.js和npm 首先我们需要完成Node和npm的配置。 官网下载 下载安装包 首先最安全稳定的方法就是从官网下载。我们首先进入node.js的官网https://nodejs.org下载长期…

如何让你的Mac右键菜单栏更加的丰富多样

Mac电脑的右键菜单栏不如Windows的丰富&#xff0c;虽然可以在系统设置一些常用功能&#xff0c;但是种类不够丰富&#xff0c;这对于一些用惯了Windows的人来说可以说是非常的不习惯&#xff0c;不管是工作使用还是日常使用来说都有一些影响&#xff0c;如何才能让Mac的右键菜…

日常场景图像分割系统源码&数据集分享

日常场景图像分割系统源码&#xff06;数据集分享 [yolov8-seg-LSKNet&#xff06;yolov8-seg-LAWDS等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Global Al lnnov…

如何解决与kernel32.dll相关的常见错误:详细指南解析kernel32.dll文件缺失、损坏或错误加载问题

当你的电脑中出现错误kernel32.dll丢失的问题&#xff0c;会导致电脑不能出现正常运行&#xff0c;希望能够有效的帮助你有效的将丢失的kernel32.dll文件进行修复同时也给大家介绍一些关于kernel32.dll文件的相关介绍&#xff0c;希望能够有效的帮助你快速修复错误。 kernel32.…

Golang | Leetcode Golang题解之第464题我能赢吗

题目&#xff1a; 题解&#xff1a; func canIWin(maxChoosableInteger, desiredTotal int) bool {if (1maxChoosableInteger)*maxChoosableInteger/2 < desiredTotal {return false}dp : make([]int8, 1<<maxChoosableInteger)for i : range dp {dp[i] -1}var dfs …

实战OpenCV之视频处理

基础入门 视频是由一系列连续的图像帧组成的&#xff0c;这些帧按照一定的速率连续播放&#xff0c;从而形成动态画面。与视频相关的主要参数有&#xff1a;分辨率、帧率、码率、编解码器、帧类型、文件格式等&#xff0c;下面分别进行介绍。 1、帧率。表示每秒显示的图像帧数&…

(01)python-opencv基础知识入门(图片的读取与视频打开)

前言 一、图像入门 1.1 读取图像cv.imread() 1.2 数组数据转换cv.cvtColor() 1.3数据窗口展示 1.4图像保存 1.5图像的截取 1.6 图像的比例缩放 二、视频入门 参考文献 前言 OpenCV 于 1999 年由 Gary Bradsky 在英特尔创立&#xff0c;第一个版本于 2000 年问世。Vad…

Golang | Leetcode Golang题解之第468题验证IP地址

题目&#xff1a; 题解&#xff1a; func validIPAddress(queryIP string) string {if sp : strings.Split(queryIP, "."); len(sp) 4 {for _, s : range sp {if len(s) > 1 && s[0] 0 {return "Neither"}if v, err : strconv.Atoi(s); err …