系统设计过程

来源:互联网 发布:plist编辑器 for mac 编辑:程序博客网 时间:2024/05/01 11:53

需求分析前: 理清楚目标是什么

理解项目背景与目的, 这个一定要理解清楚这个上下文

后来的需求都是为了完成背景设置的目的而努力的

PM找你聊需求,不要忘记这个初心

需求分析:理清楚职责是什么, 边界在哪里

职责与边界, 推荐阅读 DDD 

需求分析后: 理清楚系统非功能性需求

非功能性需求是指性能,可用性,监控等等

针对已经分析好的需求场景中, 会碰到哪些我们不愿意碰到的问题, 怎么处理?

正常的通过需求推演出系统详细设计的顺序

一、背景

做这个系统能带来什么样的效益?

二、需求分析

功能需求:

  • 按照功能点列出来(通过 业务用例图描述)

非功能需求(对于每个功能点都要考虑以下问题):

  • 响应时间
  • 可用性(哪些功能需要降级,降级成什么形式)
  • 实时性(每个功能点级别:1.绝对实时;2.准实时;3.天基本延迟)
  • 准确性(对个别数据丢失或异常是否可以容忍)

正确性需求

  • 安全性
  • 功能异常监控
  • 业务数据异常监控(要监控哪些业务数据)

三、功能分析

业务调研:

  1. 是否有系统可以实现该功能?是否可以直接用?
  2. 是否有系统可以作为该系统模块?是否可以直接用?该系统具有哪些功能?不具有哪些功能?该系统的实现方式是怎样的?
  3. 是否有系统实现了类似的功能?该系统实现方式是怎样的?有什么可以借鉴的?

模块划分(用系统架构图描述):

  1. 有哪些模块?
  2. 每个模块要做哪些功能?
  3. 每个模块的上下游都有哪些?

四、具体设计

模块概要设计:

  1. 提供哪些接口?需要哪些接口?
  2. 每个功能点需要用到哪些第三方依赖(基础组件、外部服务)?
  3.  每个模块有哪些实体,实体的定义是怎样的,实体之间的关系是怎样的?

模块详细设计:

  1. 提供哪些接口(具体格式)?需要哪些接口(具体格式)?
  2. 表结构
  3. 重要功能实现流程图
  4. 非功能性需求、正确性需求要做哪些、怎么做?
0 0
原创粉丝点击