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

发布于:2025-03-17 ⋅ 阅读:(17) ⋅ 点赞:(0)

需求工程

需求层次

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

需求工程活动

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

需求获取方法

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

需求变更管理

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

系统分析与设计

系统分析

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

系统设计

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

结构化方法

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

面向对象方法

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