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

ops/2024/10/21 2:02:48/

霍尔三维结构

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

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

时间维:工作进度

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

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

知识维

需要使用的专业科学知识

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


逆向工程

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

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

逆向工程有四个恢复级

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

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

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

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

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

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

相关概念

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

需求工程阶段划分

需求工程活动阶段

需求获取        

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

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

需求分析

结构化需求分析

功能模型 用数据流图描述

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

数据模型用 ER图描述

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

面向对象需求分析

分为静态图和动态图

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

类图:描述一组类、接口、协作和它们之间的关系,类图和对象图的区别类图名称上只有类名对象图会写出对象名:类名

类总共有三种关系

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

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

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

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

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

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

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

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

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

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

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

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


http://www.ppmy.cn/ops/125468.html

相关文章

golang语法

参考链接&#xff1a;https://www.runoob.com/go/ 创建变量 // 3种方法 var a int a : 10 // 类型推断 a : make() // 复合类型循环 // 3种循环 for i : 0; i < 10; i {// 循环体} // 传统for循环 for index, num : range nums {// 循环体} // nums是可迭代的复合类型…

个人网络安全的几个重点与防御

1 浏览器 firefox 这是第一选择 如果你真的不明白可以找找各个浏览器漏洞 mail 的危险的 来自与代理和漏洞 浏览器溢出漏洞 实时注意更新就可以 2 防火墙 大家都用windows 只需在 gpedit.msc 设置 但有什么未知漏洞就不得而知了 因为美国的计划问题 网络端口溢出漏洞 但…

Gradio 全指南 | 轻松构建和托管机器学习界面

唠唠闲话 Gradio 是专为机器学习设计的轻量级 Python 库&#xff0c;它以简洁直观的方式将机器学习模型与用户界面相结合。利用 Gradio&#xff0c;用户可以轻松地通过图形界面输入数据并查看模型输出。此外&#xff0c;Gradio 还具备分享功能&#xff0c;极大地简化了模型在网…

串接模式对网络性能的影响

串接模式可能会对网络性能产生以下影响&#xff1a; 一、延迟增加 1. 设备处理时间 - 当网络流量经过串接设备时&#xff0c;设备需要对数据包进行检查、分析和处理。这个过程会耗费一定的时间&#xff0c;从而导致数据包在网络中的传输延迟增加。例如&#xff0c;防火墙需要…

Bug剖析

Bug剖析 • 所有的Bug报告有以下的基本要求&#xff1a; • 标题。要简略。 • 指派。谁来处理这个问题。 • 重现步骤。问题再次出现的相关步骤。 • 优先级别。问题的紧迫性与重要性。 • 严重程度。问题所产生的后果。 • 解决方案。怎么解决问题。 其他很多方面对修复问题…

前端使用rsa对密码加密,springboot使用rsa对密码进行解密

前端 <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>JSEncrypt Example</title><script src"https://cdn.rawgit.com/spark/crypto-js/master…

【华为】配置NAT访问互联网

1.AR1&#xff1a; int g0/0/0 ip ad 64.1.1.2 255.255.255.0 int g0/0/1 ip ad 110.242.68.1 255.255.255.02.AR2: (1)配置端口ip: int g0/0/1 ip ad 10.3.1.2 255.255.255.0 int g0/0/0 ip ad 64.1.1.1 255.255.255.0(2)配置默认路由&#xff1a; ip route-static 0.0.0.0 0.…

python中双引号和单引号的区别是什么

python3中的单引号‘’和双引号“”的作用一样。 3个单引号的作用&#xff1a; 1、表示注释 #3个单引号表示注释多行gf_of_archerzon "Wang" print("archerzon的女盆友是",gf_of_archerzon) print("archerzon的女盆友是%s"%gf_of_archerzon)2…