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

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

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

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

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


相关推荐
星蓝_starblue5 小时前
零服务器、零数据库!开源growth-board,利用GitHub自动管理刷题/学习/求职全流程
服务器·数据库·程序人生·系统架构·node.js·github·改行学it
画中有画8 小时前
RAG 大模型应用系统架构设计
系统架构
微三云 - 廖会灵 (私域系统开发)11 小时前
消费返物业费系统架构设计与技术实现:智慧社区消费返利平台全链路方案
系统架构
Sam_Deep_Thinking17 小时前
用Java 17从0到1写一个mini版RPC,理解远程调用的本质
java·面试·rpc·程序员·系统架构
Sam_Deep_Thinking17 小时前
如何维持缓存的一致性?
java·缓存·面试·程序员·系统架构
youngerwang2 天前
【系统架构案例分析每日深耕 Day 5】解释器/规则引擎架构在风控系统中的应用
系统架构·解释器模式·案例分析·风控系统
BerrySen1782 天前
基于Python的高性能多智能体协同RAG(检索增强生成)系统架构与生产级实现指南
人工智能·python·系统架构
粟悟饭&龟波功2 天前
【一】软件工程核心概念层级地图与项目落地全流程
系统架构·软件工程
Alex Gram3 天前
双机热备软件哪个好
java·系统架构·c#·keepalived·高可用·双机热备·双机热备软件
rolt3 天前
PlantUML+EA描述《分析模式》第6章存货和会计(8)
软件工程·架构师·uml