当前位置: 首页 > article >正文

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

文章目录

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

需求工程

需求层次

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

需求工程活动

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

需求获取方法

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

需求变更管理

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

系统分析与设计

系统分析

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

系统设计

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

结构化方法

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

面向对象方法

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

http://www.kler.cn/a/573367.html

相关文章:

  • FastGPT 源码:utils.ts 中的 RRF 实现
  • C++学习之路,从0到精通的征途:入门基础
  • yum修改阿里云
  • C#—csv文件格式操作实例【在winform表格中操作csv】
  • 【文献阅读】Efficient Prompting Methods for Large Language Models: A Survey
  • 设计模式(7)——SOLID原则之接口隔离原则
  • Kotlin中的数字
  • React - Hooks - useRef
  • 物联网感应层设备的通信协议及数据上传路径详解
  • html+js 轮播图
  • [项目]基于FreeRTOS的STM32四轴飞行器: 二.项目搭建及移植FreeRTOS
  • 在 Apache Tomcat 中,部署和删除项目
  • 物联网感知层常用感应设备
  • Milvus安装linux操作步骤
  • 初识Qt · Qt的基本认识和基本项目代码解释
  • 【含文档+PPT+源码】基于SpringBoot+Vue的个性化健身助手系统
  • 【极客时间】浏览器工作原理与实践-2 宏观视角下的浏览器- 2.1 Chrome架构:仅仅打开了1个页面,为什么有4个进程?
  • MySQL数据迁移——实战锻炼
  • 高频 SQL 50 题(基础版)_1667. 修复表中的名字
  • QT-绘画事件