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

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

数据流图(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图)

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

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


相关推荐
HRTOS13 小时前
HRTOS:一个名字背后的目标——不断逼近硬实时
经验分享·单片机·系统架构·51单片机
沫璃染墨18 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
树下困觉眯1 天前
View绘制流程学习--获取WindowManager的三种方式
android·系统架构·view design
rolt2 天前
05 医学 ISO 13940-用UML表示的行业标准,健康信息学 — 支持照护连续性的概念体系
软件工程·架构师·uml
沫璃染墨2 天前
《从零入门Linux系统篇(五十六):线程篇·九——生产者消费者模型:从条件变量到BlockingQueue实现》
linux·服务器·c++·驱动开发·设计模式·架构·系统架构
艺杯羹2 天前
Anthropic突袭发布Claude Code Mods!用TypeScript编写智能体中间件:告别AI误删与失控
人工智能·typescript·系统架构
沫璃染墨3 天前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
诚心呈意共享外卖配送系统3 天前
共享骑手与聚合配送的区别及系统架构设计:运力池与订单聚合如何落地
架构·系统架构·创业创新
风123456789~3 天前
【架构设计】第17章 通信系统架构设计 2/2
系统架构
rolt3 天前
3GPP-5G-用UML表示的行业标准-04电信移动通信
软件工程·ddd·uml·ontology