系统架构设计师—软件工程基础篇—系统分析与设计

文章目录

  • 需求工程
    • 需求层次
    • 需求工程活动
    • 需求获取方法
    • 需求变更管理
  • 系统分析与设计
    • 系统分析
    • 系统设计
    • 结构化方法
    • 面向对象方法

需求工程

需求层次

  • 业务需求:反映组织机构或客户对系统、产品的高层次目标要求。
  • 用户需求:描述用户使用产品必须完成的任务,是用户对软件产品的期望。
  • 功能需求:定义开发人员必须实现的软件功能,以满足业务需求和用户需求。包括非功能需求,如性能、安全性、可靠性等。

需求工程活动

  • 需求获取:通过与用户沟通、观察、原型化等方法获取需求。
  • 需求分析:分析需求的可行性、一致性和完整性。
  • 需求文档化:将需求以文档形式记录下来,形成需求规格说明书。
  • 需求管理:包括需求变更管理、版本控制、需求跟踪等。
  • 需求验证:验证需求的正确性和可行性。

需求获取方法

  • 用户面谈:与用户直接交流,获取需求。
  • 需求专题讨论会:组织用户和开发人员共同讨论需求。
  • 问卷调查:通过问卷收集用户需求。
  • 现场观察:观察用户实际工作流程,获取需求。
  • 原型化方法:通过快速原型与用户交流,逐步完善需求。
  • 头脑风暴法:通过集体讨论,激发创意,获取需求。

需求变更管理

  • 识别问题:发现需求变更的必要性。
  • 问题分析和变更描述:分析变更的影响,描述变更内容。
  • 变更分析和成本计算:评估变更的可行性和成本。
  • 修改后的需求:根据分析结果,修改需求文档。
  • 变更实现:实施需求变更,并进行验证。

系统分析与设计

系统分析

  • 目标:了解用户需求,绘制系统的蓝图,产生系统需求规格说明书。
  • 方法
    • 结构化分析:通过数据流图、数据字典等工具进行需求分析。
    • 面向对象分析:使用用例图、类图、状态图等UML图进行需求分析。

系统设计

  • 目标:构建系统设计模型,包括概要设计和详细设计。
  • 方法
    • 结构化设计:通过系统结构图、数据流图等工具进行设计。
    • 面向对象设计:使用类图、对象图、交互图等UML图进行设计。

结构化方法

  • 系统分析
    • 数据流图(DFD):描述系统中数据的流动和处理过程。
    • 数据字典(DD):记录系统中数据的定义和属性。
    • 状态转换图(STD):描述系统状态的变化和触发条件。
    • 实体关系图(ER图):描述系统中实体及其关系。
  • 系统设计
    • 系统结构图(SC):描述系统的模块结构和层次关系。
    • 模块化设计:将系统划分为功能独立的模块,强调高内聚和低耦合。
    • 详细设计:包括算法设计、数据结构设计、接口设计等。

面向对象方法

  • 系统分析
    • 用例图:描述系统功能和用户交互。
    • 类图:描述系统中的类及其关系。
    • 状态图:描述对象的状态变化。
    • 活动图:描述系统的业务流程。
  • 系统设计
    • 设计用例实现方案:使用交互图(顺序图、协作图)表示用例的实现。
    • 设计技术支撑方案:设计数据持久存储、安全控制、事务管理等技术方案。
    • 设计用户界面:设计用户交互界面。
    • 精化设计模型:对设计模型进行详细设计,确保模型的完整性和准确性。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux网络 NAT、代理服务、内网穿透

NAT 技术 IPv4 协议中存在 IP 地址数量不充足的问题,而 NAT 技术是当前解决 IP 地址不够用的主要手段 , 是路由器的一个重要功能。NAT 能够将私有 IP 对外通信时转为全局 IP,也就是就是一种将私有 IP 和全局 IP 相互转化的技术方法。 这可以让很多学…

广义线性模型下的数据分析(R语言)

一、实验目的: 通过上机试验,掌握利用R实现线性回归分析、逻辑回归、列联分析及方差分析,并能对分析结果进行解读。 数据: 链接: https://pan.baidu.com/s/1JqZ_KbZJEk-pqSUWKwOFEw 提取码: hxts 二、实验内容: 1、2…

Windows环境下Maven的配置

Windows环境下Maven的配置 一、Maven下载 Maven官网地址 apache-maven-3.8.8-bin.zip 二、安装和配置 解压到本地目录,例如:D:\software\apache-maven-3.8.8 新建变量MAVEN_HOMED:\software\apache-maven-3.8.8(以自己的安装路径为准&…

Spring MVC 处理请求

目录 1、SpringMVC 处理请求1.1、HTTP 请求报文1.2、获取 URL 中参数 PathVariable1.3、获取请求头数据1.3.1、传统获取 Header/Cookie1.3.2、获取 Header—RequestHeader1.3.3、获取 Cookie—CookieValue1.3.4、Session 的存储和获取—SessionAttribute 1.4、获取请求数据1.4.…

OpenAI 最后一代非推理模型:OpenAI 发布 GPT-4.5预览版

最后一代非推理大模型 在人工智能领域,OpenAI 一直以其创新的技术和卓越的产品引领着行业的发展。近期,OpenAI 正式发布了 GPT-4.5 研究预览版。不仅如此,官方还宣称 GPT-4.5 被定位为 “最后一代非推理模型”,这一消息再次引起了…

什么是JTAG、SWD?

一、什么是JTAG? JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,常用于芯片内部测试及对系统进行调试、编程等操作。以下从其起源、工作原理、接口标准、应用场景等方面详细介绍&#xff1a…

知识周汇|SAP脚本自动化-淋过雨的人更懂得伞的价值

目录 摘要 1 知识概览 1.1SAP GUI脚本 1.2Tracker工具 2 实践案例 2.1步骤1:SAP启动并进入系统(文本关键) 2.1.1手动操作:鼠标双击SAP,并点击所需要系统 2.1.2代码实现 2.2步骤2:通过tracker完善后…

【GPU使用】如何在物理机和Docker中指定GPU进行推理和训练

我的机器上有4张H100卡,我现在只想用某一张卡跑程序,该如何设置。 代码里面设置 import os # 记住要写在impot torch前 os.environ[CUDA_VISIBLE_DEVICES] "0, 1"命令行设置 export CUDA_VISIBLE_DEVICES0,2 # Linux 环境 python test.py …

【无标题】ABP更换MySql数据库

原因:ABP默认使用的数据库是sqlServer,本地没有安装sqlServer,安装的是mysql,需要更换数据库 ABP版本:9.0 此处以官网TodoApp项目为例 打开EntityFrameworkCore程序集,可以看到默认使用的是sqlServer&…

【网络编程】之TCP实现客户端远程控制服务器端及断线重连

【网络编程】之TCP实现客户端远程控制服务器端及断线重连 TCP网络通信实现客户端简单远程控制主机基本功能演示通信过程代码实现服务器模块执行命令模块popen系列函数 客户端模块服务器主程序 windows作为客户端与服务器通信#pragma comment介绍 客户端使用状态机断线重连代码实…

Git快速入门

文章目录 Git简介准备工作常用的Linux命令git配置 git工作原理git项目创建和克隆git基本操作命令git忽略文件配置ssh远程连接 IDEA集成Gitgit分支(多人开发)公司中用到的(很清楚) Git 简介 Git就是版本控制的工具 下面这个叫手动…

Redis 的几个热点知识

前言 Redis 是一款内存级的数据库,凭借其卓越的性能,几乎成为每位开发者的标配工具。 虽然 Redis 包含大量需要掌握的知识,但其中的热点知识并不多。今天,『知行』就和大家分享一些 Redis 中的热点知识。 Redis 数据结构 Redis…

深入解析Java虚拟机(JVM)的核心组成

深入解析Java虚拟机(JVM)的核心组成 Java虚拟机(JVM)作为Java语言跨平台的核心实现,其架构设计精妙而复杂。理解JVM的组成部分,是掌握Java内存管理、性能调优和问题排查的关键。本文将从四大核心模块剖析J…

GIT工具学习【2】:分支

1.什么是分支 新建一个分支,可以认为把当前项目copy了一份,不太严谨,没毛病,里面虽然文件内容和名字相同,其实互相没有关系。 2.什么是合并分支 就是把两个分支(项目文件夹)合并在一起 git m…

40岁开始学Java:Java中单例模式(Singleton Pattern),适用场景有哪些?

在Java中,单例模式(Singleton Pattern)用于确保一个类只有一个实例,并提供全局访问点。以下是详细的实现方式、适用场景及注意事项: 一、单例模式的实现方式 1. 饿汉式(Eager Initialization) …

Linux常见基本指令(一)

目录 前言 1、ls指令 2、用户相关指令 3、pwd指令 4、cd指令 相对路径与绝对路径 5、创建、删除文件和目录相关的指令 创建相关的指令 删除相关的指令 6、拷贝、移动和重命名 cp指令 mv指令 前言 学习Linux的过程中一定要多自己动手,Linux的指令繁多&a…

测试金蝶云的OpenAPI

如何使用Postman测试K3Cloud的OpenAPI 1. 引言 在本篇博客中,我将带你逐步了解如何使用Postman测试和使用K3Cloud的OpenAPI。内容包括下载所需的SDK文件、配置文件、API调用及测试等步骤。让我们开始吧! 2. 下载所需的SDK文件 2.1 获取SDK 首先&…

Tomcat

1.Tomcat是什么? Tomcat 是一个开源的、轻量级的 Servlet 容器,也被称为 Web 服务器,由 Apache 软件基金会的 Jakarta 项目开发,在 Java Web 开发领域应用广泛。 1)Servlet 容器:Servlet 是 Java 语言编写…

【windows driver】 开发环境简明安装教程

一、下载路径 https://learn.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads 二、安装步骤: 1、安装Visual Studio IDE 笔者建议安装最新版本,可以向下兼容。发文截止到目前,VS2022是首选,当前笔者由于项…

长时间目标跟踪算法(3)-GlobalTrack:A Simple and Strong Baseline for Long-termTracking

GlobalTrack的原始论文和源码均已开源,下载地址。 目录 背景与概述 1.1 长期视觉跟踪的挑战 1.2 现有方法的局限性 1.3 GlobalTrack的核心思想 算法原理与架构 2.1 全局实例搜索框架 2.2 Query-Guided RPN(QG-RPN) 2.3 Query-Guided RCNN&a…