【系统架构】第五章-软件工程基础知识(需求工程和系统分析与设计)

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版)

需求工程

软件需求3个层次:

  • 业务需求:反映了组织机构或客户对系统、产品高层次的目标要求
  • 用户需求:描述了用户使用产品必须要完成的任务,是用户对该软件产品的期望,
  • 功能需求:定义了开发人员必须实现的软件功能

需求工程是指应用已证实有效的原理、方法,通过合适的工具和记号,系统地描述待开发系统及其特征和相关约束。需求工程覆盖了体系结构设计之前的各项开发活动,主要包括分析客户要求、对未来系统的各项功能性及非功能性需求进行规格说明,目标是:确定客户需求,定义设想中系统的所有外部特征。

需求活动的阶段:需求获取、需求分析、形成需求规格(需求文档化)、需求确认与验证、需求管理。
需求管理活动在形成需求文档初稿时就开始。
强调内容如下:
1、控制对需求基线的变动
2、保持项目计划与需求一致
3、控制单个需求和需求文档的版本情况
4、管理需求和联系链,或管理单个需求和其他项目可交付产品之间的依赖关系
5、跟踪基线中的需求状态
在这里插入图片描述
一、需求获取
需求获取参考步骤:
1、开发高层的业务模型
2、定义项目范围和高层需求
3、识别用户角色和用户代表
4、确定目标系统的业务工作流
5、需求整理与总结(功能需求、性能需求、可靠性需求、安全保密需求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求等)

需求获取方法:
1、用户面谈
2、需求专题讨论会(优点:协助建立一支高效的团队,围绕项目成功的目标、所有的风险承担人都畅所欲言、促进风险承担人和开发团队之间达成共识、揭露和解决那些妨碍项目成功的行政问题、能够很快地产生初步的系统定义、可以有效地解决不同涉众之间的需求冲突)
3、问卷调查
4、现场观察
5、原型化方法
6、头脑风暴法

二、需求变更
需求变更管理过程:
1、问题分析和变更描述
2、变更分析和成本计算
3、变更实现

常见的需求变更策略:
1、所有需求变更必须遵循变更控制过程
2、对于获得批准的变更,不应该做设计和实现工作
3、变更应该由项目变更控制委员会决定实现哪些变更
4、项目风险承担者应该能够了解变更的内容
5、绝不能充项目配置库中删除或者修改变更请求的原始文档
6、每一个集成的需求变更必须能跟踪到一个经核准的变更请求,以保持水平可追踪性

变更控制委员会做出决策的过程及操作步骤:
1、制定决策
2、交流情况
3、重新协商约定

三、需求追踪
需求跟踪提供了由需求到产品实现整个过程范围的明确查阅能力,目的是建立与维护“需求-设计-编程-测试”之间的一致性,确保所有的工作成果符合用户需求。

需求跟踪的两个方式:
1、正向跟踪(产品需求规格说明书)
2、逆向跟踪

系统分析与设计

一、结构化方法
结构化分析:给我一组帮助系统分析人员产生功能规约的原理与技术
步骤:
1、分析业务情况,做出反映当前物理模型的数据流图(DFD)
2、推导出等价的逻辑模型DFD
3、设计新的逻辑系统,生成数据字典和基元描述
4、建立人机接口,提出可供选择的目标系统物理模型的DFD
5、确定各种方案的成本和风险等级,据此对各种方案进行分析
6、选择一种方案
7、建立完整的需求规约
在这里插入图片描述
在这里插入图片描述

结构化设计:面向数据流的设计方法

结构化编程:采用自顶向下、逐步求精的设计方法,各个模块通过“顺序、选择、循环”的控制结构进行连接,并且只有一个入口和一个出口

数据库设计:内容包括,需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护

二、面向对象方法
以用例驱动的、以体系结构为中心的、迭代的和渐增式的开发过程,主要包括需求分析、系统分析、系统设计和系统实现

面向对象分析方法(OOA)
面向对象分析:
OOA原则:抽象、封装、继承、分类、聚合、关联、消息通信、粒度控制、行为分析
基本步骤:确定对象和类、确定结构、确定主题、确定属性、确定方法

面向对象设计(OOD):
OOD中,类可以分为:实体类、控制类、边界类

面向对象编程(OOP):
基本特点:封装、继承、多态

数据持久化和数据库:
一般会引入持久层,专注于实现数据持久化,将数据使用者和数据实体相关联,实现了数据处理层内部的业务逻辑和数据逻辑的解耦


作者其他要推荐的文章,欢迎来学习:
基于Spring Boot 3.1.0 系列文章

  1. Spring Boot 源码阅读初始化环境搭建
  2. Spring Boot 框架整体启动流程详解
  3. Spring Boot 系统初始化器详解
  4. Spring Boot 监听器详解
  5. Spring Boot banner详解
  6. Spring Boot 属性配置解析
  7. Spring Boot 属性加载原理解析
  8. Spring Boot 异常报告器解析
  9. 使用GraalVM 构建 Spring Boot 3.0 原生可执行文件
  10. Spring Boot 3.x微服务升级经历

Prometheus 系列文章

  1. Prometheus 的介绍和安装
  2. 直观感受PromQL及其数据类型
  3. PromQL之选择器和运算符
  4. PromQL之函数
  5. Prometheus 告警机制介绍及命令解读
  6. Prometheus 告警模块配置深度解析
  7. Prometheus 配置身份认证
  8. Prometheus 动态拉取监控服务
  9. Prometheus 监控云Mysql和自建Mysql

Grafana 系列文章,版本:OOS v9.3.1

  1. Grafana 的介绍和安装
  2. Grafana监控大屏配置参数介绍(一)
  3. Grafana监控大屏配置参数介绍(二)
  4. Grafana监控大屏可视化图表
  5. Grafana 查询数据和转换数据
  6. Grafana 告警模块介绍
  7. Grafana 告警接入飞书通知

Spring Boot Admin 系列

  1. Spring Boot Admin 参考指南
  2. SpringBoot Admin服务离线、不显示健康信息的问题
  3. Spring Boot Admin2 @EnableAdminServer的加载
  4. Spring Boot Admin2 AdminServerAutoConfiguration详解
  5. Spring Boot Admin2 实例状态监控详解
  6. Spring Boot Admin2 自定义JVM监控通知
  7. Spring Boot Admin2 自定义异常监控
  8. Spring Boot Admin 监控指标接入Grafana可视化

猜你喜欢

转载自blog.csdn.net/weixin_40972073/article/details/131359827