系统架构设计师-案例分析-软件系统设计

系统架构设计师-案例分析-软件系统设计

数据流图(DFD)

数据流图中的基本图形元素包括数据流、加工、数据存储和外部实体。

  • 数据流必须与加工有关
  • 一个加工可以有多个输入输出数据流,但至少有一个输入数据流和一个输出数据流。
  • "黑洞":加工有输入但没输出
  • "奇迹":加工没输入但有输出
  • "灰洞":加工输入不足以产生输出

数据流图的设计原则

  1. 数据平衡原则
    • 父图与子图平衡
      是指任何一张DFD子图边界上的输入/输出数据流必须与其父图中应加工的输入/输出数据流保持一致。
    • 每张图的图内平衡
      对于图内的每一个加工,要求既要有输入数据流,也要有输出数据流,避免出现黑洞、奇迹、灰洞。

数据字典(DD)

数据字典:就是为数据流图中的每个数据流、文件、加工,以及组成数据流或文件的数据项做出说明

  1. 数据字典的内容
    数据字典的4类条目:数据流、数据项、数据存储、基本加工。
  2. 加工逻辑描述(加工规格说明)
    常用的加工逻辑描述方法有:结构化语言、判定表(决策表)和判定树(决策树)三种。

E-R图

E-R模型,就是实体-联系模型,用来描述现实世界的概念模型,其中有三个主要的概念:实体、联系和属性。

E-R图中的主要构件

UML

UML中有四种关系:依赖、关联、泛化和实现。

UML中主要考查用例图、类图、顺序图、活动图和状态图

UML图形分类

用例图

描述了一组用例、参与者以及它们之间的关系。

用例之间的关系有3钟

1.包含关系:当可以从两个或两个以上的用例钟提取公共行为时,应该使用包含关系来表示它们,用《include》表示

  1. 扩展关系:如果一个用例明显混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和若干个扩展用例,用《extend》表示

  2. 泛化关系:当多个用例共同拥有一种雷瑟的结构和行为的时候,可以将它们的共性抽象成父用例,其他的用例作为泛化关系钟的子用例。

类图

描述类、类的特性以及类之间的关系。

顺序图

又称序列图,描述对象之间的交互,重点在于强调顺序,反映对象间消息的发送与接收。有同步消息、异步消息和返回消息三种。

活动图

描述过程行为和并行行为。它是一种特殊的状态图,展现了在系统内从一个活动到另一个活动的流程,对于系统的功能建模特别重要,并强调对象间的控制流程。

状态图

描述对象状态及其转换。就是一个状态机,由状态、转换、事件等组成。

状态是指对象在其生命周期的某个条件或状态。

转换可以通过事件触发,事件触发后相应的监护条件会进行检查。

系统项目管理

进度安排的常用图形描述方法有甘特图和项目计划评审技术图。

甘特图

Gannt图是一种简单的水平条形图,它以日历为基准描述项目任务。

优点:能清晰地描述每个任务从何时开始,到何时结束,任务的进展情况以及各个任务之间的并行性。

缺点:不能清晰地反映出各个任务之间的依赖关系,难以确定整个项目的关键所在,也不能反映计划中有潜力的部分。

项目活动图(PERT图)

描述一个项目中任务和任务之间的关系,顶点表示里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的事件。

  • 关键路径:从开始顶点到结束顶点之间距离最长的一条路径。关键路径上的长度就是完成整个工程项目的最短工期。
  • 松弛时间:最迟开始时间 - 最早开始时间,最迟开始时间从后往前推,最早开始时间从前往后推。


相关推荐
Keystone_Onion30 分钟前
基于多仓群路由算法的美国海外仓一件代发系统架构与降本实践
系统架构
梁辰兴5 小时前
软件工程:UML 的表示法
软件工程·uml·梁辰兴·uml的表示法·类图表示法·对象图表示法·用例图表示法
郑州光合科技余经理7 小时前
海外版外卖系统架构:订单怎么流转、权限怎么分
java·开发语言·前端·系统架构·uni-app·php·ai编程
zww894911112 小时前
AI导购线上商城搭建实战:从系统架构到部署全流程指南
人工智能·系统架构
微三云 - 廖会灵 (私域系统开发)1 天前
新零售分销系统架构思考:基于核销 + 积分闭环的渠道商业模式设计
系统架构·零售
希赛网1 天前
2026年下半年软考系统架构设计师考试案例模拟题汇总
系统架构·系统架构设计师·软考系统架构设计师·系统架构设计师考试·2026年下半年软考·系统架构设计师考试案例题
Cicada1282 天前
复杂度到底从哪来的?
系统架构
ZJU_统一阿萨姆3 天前
【算子开发】矩阵乘法(GEMM)入门与共享内存优化
人工智能·线性代数·矩阵·系统架构
ZJU_统一阿萨姆3 天前
【算子开发】扫描(Scan)与前缀和
开发语言·arm开发·架构·系统架构·硬件架构
skr爱码士4 天前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt·系统架构·客户端