案例分析技巧-软件工程

一、考试情况

  • 需求分析(※※※※)
  • 面向对象设计(※※)

二、结构化需求分析

数据流图

数据流图的平衡原则

数据流图的答题技巧

  • 利用数据平衡原则,比如顶层图的输入输出应与0层图一致
  • 补充实体
    • 人物角色:客户、管理员、学生、老师
    • 组织机构:银行、供应商
    • 外部系统:银行系统、工资系统
  • 补充存储:例如**文件,**表,**库,**清单,**档案
  • 补充加工:找"动词+名词"的结构,分析是否可作为加工的,如生成报告、发出通知等

三、UML图

静态图(结构图):类图、对象图、构件图、部署图、制品图、包图、组合结构图

动态图(行为图):用例图、顺序图、通信图、状态图、活动图、定时图、交互概览图

(1)用例图:描述一组用例、参与者以及它们之间的关系;用户角度描述系统功能;参与者是外部触发因素(用户、组织、外部系统、时间);用例是功能单位

(2)用例关系

  • 包含关系:将两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们,包含关系必然
  • 扩展关系:如果一个用例明显地混合了两种或两种以上的不同环境,即根据情况可能发生多种分支,则可以将这个用例分为基本用例和一个或多个扩展用例。扩展关系可选
  • 泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象为父用例,其他的用例作为泛化关系中的子用例。泛化关系是一个父子关系

用例规约包括用例名称、用例ID、角色、用例说明、前置条件、基本事件流、其他事件流、异常事件流和后置条件。

类图:类图描述一组类、接口、协作和它们之间的关系。

对象图:对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。

该图的解释:一本书籍对应0或1条借阅记录

多重度

  • 1:表示一个集合中的一个对象对应另一个集合中一个对象
  • 0..*:表示一个集合中的一个对象对应另一个集合中的0个或多个对象
  • 1..*:表示一个集合中的一个对象对应另一个集合中的一个或多个对象
  • *:表示一个集合中的一个对象对应另一个集合中的多个的对象

关系

顺序图(序列图)

顺序图是一个交互图,它强调了对象之间消息发送的顺序,同时显示对象之间的交互

通信图(协作图)

通信图是交互图,它强调对象之间存在的消息收发关系,而不专门突出这些消息发送的时间消息

状态图:是对类描述的补充。用于展现此类对象所具有的可能状态,以及某些事件发生时其状态转移情况。

活动图

活动图里的节点表示是活动,状态图的节点表示的是状态

活动图的黑线表示两条路径可以并行执行的

泳道代表角色

定时图(交互图):也是交互图,用于展示交互过程中的真实时间信息,具体描述对象状态变化的时间点以及维持特定状态的时间段。

相关推荐
roman_日积跬步-终至千里2 天前
AI 能让一个人成为团队吗?从数据中台到 OPC,重新理解软件工程能力
大数据·人工智能·软件工程
陈工大模型5 天前
2026年11月最新免费解压软件横评:7-Zip 、 Win解压缩名列前茅
windows·软件工程·7-zip·压缩软件
深圳行云创新6 天前
智能体架构之争:单Agent加Skills,还是多加几个Agent
人工智能·架构·软件工程
长不大的杨瑞杰6 天前
OpenCode v2 配置工程实战:Config 优先级、JSONC、变量替换与多环境治理
人工智能·安全·云计算·软件工程·devops
国际学术会议-杨老师6 天前
2027年软件工程、机电一体化与智能控制国际会议(SEMIC 2027)
软件工程·机电一体化·智能控制
樱花落木兰8 天前
Redis 消息队列的可靠性演进:从 List、Pub/Sub 到 Stream 消费者组,以及 8.x 版本改变了什么
java·开发语言·经验分享·redis·分布式·python·软件工程
lifallen8 天前
ub-mode skill:软件工程原则
人工智能·学习·ai·软件工程·ai编程
rolt8 天前
[鉴赏]02 DHH-摇身一变鼓吹软件工程
人工智能·软件工程·uml
天马行空_10 天前
浅谈技术面试
软件工程
海海不掉头发10 天前
CSDN博客_时序预测9模型复现对比
人工智能·学习·软件工程