软考高级:结构化需求分析概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。

热门文章推荐

  • (1)《为什么很多人工作 3 年 却只有 1 年经验?》
  • (2)《一文掌握大模型提示词技巧:从战略到战术巧》
  • (3)《AI 时代,程序员的出路在何方?》
  • (4)《如何写出高质量的文章:从战略到战术》
  • (5)《我的技术学习方法论》
  • (6)《我的性能方法论》
  • (7)《AI 时代的学习方式: 和文档对话》

一、AI 讲解

结构化需求分析是软件工程中一种常用的需求分析方法,主要目的是对系统的需求进行详细的分析和明确的描述。它包括行为模型、功能模型和数据模型三个方面,每个模型都从不同的角度描述系统需求。以下是对这三种模型的简要介绍:

行为模型(状态转换图)

状态转换图是描述系统行为的模型,通过展示系统可能的状态以及在某些事件发生时状态如何转换来描绘系统的动态行为。

状态转换图元素描述
状态系统在某一特定时间点的情况或属性
事件引起状态转换的外部或内部发生的事情
转换状态之间的过渡,通常由事件触发

例子:考虑一个简单的登录系统,它的状态转换图可能包含“未登录”和“已登录”两个状态。事件“用户登录成功”将系统从“未登录”状态转换到“已登录”状态。

功能模型(数据流图)

数据流图(DFG)是描述系统中数据流动和数据处理过程的图形化工具,用来展示系统中各个功能组件如何相互作用。

数据流图元素描述
处理表示数据处理的活动,如计算或决策
数据流表示数据在系统中的流动方向
数据存储系统中存储数据的地方
外部实体与系统交换数据的外部来源或目标

例子:一个订单处理系统的数据流图可能包含“客户”、“订单处理”和“库存管理”等处理,以及它们之间的数据流“订单数据”和“库存更新”。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

数据模型(ER图)

实体-关系图(ER图)是用来描述系统中数据以及数据之间关系的图形化工具,主要用于数据库设计。

ER图元素描述
实体表示系统中的一个对象或概念,如“学生”或“课程”
关系表示实体之间的逻辑联系
属性描述实体特征的信息

例子:在一个学校信息系统中,ER图可以用来描述“学生”和“课程”两个实体之间的“选修”关系,以及它们的属性如“学生姓名”和“课程名称”。

二、AI 出题

2.1 选择题

  1. 在状态转换图中,下列哪一项不是状态转换的必要元素?
    A. 状态
    B. 事件
    C. 转换
    D. 数据存储

  2. 数据流图中的“数据存储”是用来表示什么?
    A. 数据处理的活动
    B. 数据在系统中的流动方向
    C. 系统中存储数据的地方
    D. 与系统交换数据的外部来源或目标

  3. 实体-关系图中的“关系”用来表示什么?
    A. 实体之间的逻辑联系
    B. 描述实体特征的信息
    C. 数据流向
    D. 外部实体与系统的联系

  4. 下列哪项是数据流图(DFG)的主要用途?
    A. 描述系统中数据的存储方式
    B. 展示系统中各个功能组件的相互作用
    C. 描述系统的动态行为
    D. 展示实体之间的关系

  5. 在ER图中,属性通常用来描述:
    A. 数据流
    B. 实体的特征
    C. 实体之间的关系
    D. 系统的功能需求

  6. 状态转换图主要用于分析系统的:
    A. 数据处理流程
    B. 动态行为
    C. 数据模型
    D. 功能需求

  7. 下列关于状态转换图的描述中,错误的是:
    A. 每个转换由一个事件触发
    B. 状态是描述系统静态特性的
    C. 转换表示状态的变化
    D. 事件是内部或外部发生的,不需要触发条件

  8. 数据流图的数据流可以表示:
    A. 只有数据的输入流向
    B. 只有数据的输出流向
    C. 数据的输入和输出流向
    D. 数据的存储位置

  9. ER图的实体通常对应于数据库中的:
    A. 视图
    B. 存储过程
    C. 表
    D. 触发器

  10. 数据模型的主要目的是:
    A. 描述系统的功能组件
    B. 展示数据的存储和处理方式
    C. 描述系统的动态行为
    D. 描述数据及其关系的结构

2.2 答案和解析

  1. D. 数据存储。状态转换图关注的是状态的变化和转换,而数据存储是数据流图的元素。
  2. C. 系统中存储数据的地方。数据存储表示的是数据在系统内部的存储结构,如数据库、文件等。
  3. A. 实体之间的逻辑联系。关系定义了实体之间如何相互关联,是ER图描述数据结构的关键元素。
  4. B. 展示系统中各个功能组件的相互作用。数据流图通过描述数据的流向来展示系统中不同组件之间的交互。
  5. B.实体的特征。属性用于描述实体的各种特征,如姓名、地址等信息。
  6. B. 动态行为。状态转换图专注于描述系统在不同事件影响下的状态变化,用于分析系统的动态行为。
  7. D. 事件是内部或外部发生的,不需要触发条件。这个描述是错误的,因为事件通常是有触发条件的,即某些特定情况下会触发状态的转换。
  8. C. 数据的输入和输出流向。数据流表示数据在系统内部或与外部实体之间的流动方向。
  9. C. 表。ER图中的实体通常对应数据库中的表,而关系则对应表之间的链接。
  10. D. 描述数据及其关系的结构。数据模型的主要目的是详细描述系统中的数据结构以及数据之间的关系,为数据库设计提供基础。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣15. 三数之和

思路:先对数组排序,然后确定第一个数nums[i],再新建左右双指针; 寻找的3元组,a,b,c,即是 nums[i], nums[letf], nums[right] 数组1:-1,-1,-1,0,1,2; 前面3个-1,只有一个-1是有用的,需…

从键盘到屏幕:C语言中输入输出探秘

在编程中,输入和输出是我们与计算机交流的关键。无论是键盘输入还是屏幕输出,它们贯穿了我们每一行代码的编写。本文将带你深入探索C语言中输入输出的精彩世界,解锁其中的奥秘,助你轻松驾驭键盘和屏幕!(最后…

模型部署 - onnx的导出和分析 - onnx 的架构和 onnx helper 的使用 - 学习记录

onnx 的架构和 onnx helper 的使用 简介一、onnx 的架构二、onnx 实践2.1、 create - linear.onnx2.1.1、要点一:创建节点2.1.2、要点二:创建张量2.1.3、要点三:创建图 2.2、 create - onnx.convnet2.3、使用 onnx helper 导出的基本流程总结…

Docker-镜像仓库

Docker ⛅Docker-Registry🌠分类🌠镜像仓库工作机制🌠常用的镜像仓库🌠镜像仓库命令☃️docker login☃️docker pull☃️docker push☃️docker search☃️docker logout 🌠镜像命令[部分]☃️docker images☃️docke…

电源配小了,是不是容易烧?是的!

电源小的话会不会容易烧毁? 是的。 功率电压*电流。 随着功率增大,电压不变,电流增大,发热量增大,可能会烧毁。 今天给大家推荐一款650w的电脑电源,不过在推荐之前,首先要确认自己的电脑功耗…

【Internet结构和ISP,分组延时、丢失和吞吐量】

文章目录 一、Internet结构和ISP1.互联网络结构:网络的网络2.Internet 结构:network of networks 二、分组延时、丢失和吞吐量1.分组丢失和延时是怎样发生的?2.四种分组延时3.分组丢失4.吞吐量 一、Internet结构和ISP 1.互联网络结构&#x…

流畅的 Python 第二版(GPT 重译)(十二)

第五部分:元编程 第二十二章:动态属性和属性 属性的关键重要性在于,它们的存在使得将公共数据属性作为类的公共接口的一部分完全安全且确实可取。 Martelli、Ravenscroft 和 Holden,“为什么属性很重要” 在 Python 中&#xff0…

鲁棒的基于表面势的GaN HEMT集成电路紧凑模型

来源:Robust Surface-Potential-Based Compact Model forGaN HEMT IC Design(TED 13年) 摘要 我们提出了一种精确且稳健的基于表面势的紧凑模型,用于模拟采用氮化镓高电子迁移率晶体管(GaN HEMT)设计的电…

利用 Claude 3 on Amazon Bedrock 和 Streamlit 的“终极组合”,开发智能对话体验

概述 通过本文,您将学会如何利用 Streamlit 框架快速搭建前端交互界面。该界面将集成图像上传功能,让用户可以方便地提交待处理图片。在后端,我们将借助 Amazon Bedrock 的 Message API,调用 Claude 3 家族中的 Sonnet 模型对图像…

java系统部署到Linux

1、安装java 1.8JDK 卸载Open JDK 首先,我们先检查系统是否自带了 JDK。输入命令 java -verison批量删除 rpm -qa | grep java | xargs rpm -e --nodeps下载并安装JDK 我们在 user 目录下建立一个新的 java文件夹,用来存放 JDK文件。 jdk下载地址 …

上位机图像处理和嵌入式模块部署(qmacvisual拟合直线)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 测量是图像处理的一个基本技能。那么测量的前提,就是我们需要在图像中找出特定的集合图形,比如说直线。当然,发…

lsn和redo

瀚高数据库 目录 文档用途 详细信息 相关文档 记录lsn三种记录形式,以及redo对lsn的操作。 详细信息 一、lsn的三种形式 1. pg_controldata中可以看到这样的lsn表示: Latest checkpoint location: 0/1548018Latest checkpoint’s REDO location: 0/…

智慧公园:AI智能分析网关V4城市公园视频智能监管方案

一、背景分析 随着天气渐渐转暖,城市公园的花卉也逐渐盛开,春暖花开时节,前往公园赏花游玩的城市居民也渐渐多起来,因此安全问题也成为相关监管部门的重要管理任务之一。随着科技的不断进步,智能监控技术已经成为现代…

Python将字符串转换为datetime

有这样一些字符串: 1710903685 20240320110125 2024-03-20 11:01:25 要转换成Python的datetime 代码如下: import functools import re from datetime import datetime, timedelta from typing import Union# pip install python-dateutil from date…

关于Rust的项目结构的笔记

层级 PackageCrateModulePath Package cargo的特性, 构建、测试、共享Crate 组成: 一个 Cargo.toml 文件, 描述了如何构建这些 Crates至少包含一个 crate最多只能包含一个 library crate可以包含任意个 binary crate cargo new demo-pro 会产生一个名为 demo-pro 的 Packa…

Python 深度学习第二版(GPT 重译)(一)

前言 序言 如果你拿起这本书,你可能已经意识到深度学习在最近对人工智能领域所代表的非凡进步。我们从几乎无法使用的计算机视觉和自然语言处理发展到了在你每天使用的产品中大规模部署的高性能系统。这一突然进步的后果几乎影响到了每一个行业。我们已经将深度学…

MATLAB三维图形的绘制

1,三维曲线 plot3(x,y,z)通过描点连线画出曲图,这里x,y,z都是n维向量,分别表示该曲线上点集的横坐标,纵坐标,竖坐标。 t0:pi/50:10*pi; subplot(121),plot3(sin(t),cos(t),t); subplot(122),fplot3((t)sin(t),(t)cos…

Linux集群

前言: 环境准备:虚拟机,xshell,mysql,tomcat,jdk,centos 虚拟机安装centos可以参考博客:虚拟机安装centos 一,安装jdk 打开xshell 点击cftp,如果没有安装…

HarmonyOS(鸿蒙)应用开发——(一)

目录 1 创建hellopro项目 2 了解ArkTS 3 了解ArkTS的组件 4 组件介绍 4.1 常用基础组件: 4.1.1 Text 4.1.2 Button 4.1.3 TextInput 4.2 容器组件 4.2.1 Column 4.2.2 Row 5 案例——实现一个简易登录页面 5.1 在实现预览效果之前,我们…

记录开发STM32遇到的卡死问题-串口

背景:以STM32作为主控,广州大彩显示屏显示,主控实时采集数据,串口波特率115200.设置收发频率为50Hz,即单片机每秒发送50帧数据,每秒接收50帧数据,每帧数据大概14字节。 问题:系统长…