软件设计师:11-结构化开发与UML

结构化开发(3-4分)

一、模块化

在这里插入图片描述
在这里插入图片描述

二、耦合(背)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、内聚(背)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、设计原则(背)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、系统文档

在这里插入图片描述
在这里插入图片描述

六、数据流图

数据流的起点或终点必须有一个是加工
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
判断依据:
1、数据流的两端必须有一个是加工
2、加工最少要有一个输入数据流和一个输出数据流
3、数据流名称在上午题中不能重名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、数据字典(外部实体不在数据字典中)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、杂题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UML(3-4分)

一、UML概念

在这里插入图片描述

二、UML事物

在这里插入图片描述
在这里插入图片描述

三、关系(依关泛实)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1、依赖关系

在这里插入图片描述

3.2、实现关系

实现可以理解为实现接口
在这里插入图片描述

3.3、泛化关系

父类泛化子类 泛化可以理解为继承类
例如:动物 泛化出猫和狗 人可以泛化出学生和教师等
在这里插入图片描述

3.4、关联关系(侧重“拥有”关系,依赖侧重于“使用”关系)

在这里插入图片描述
一条直线指向一个实心的菱形,那就是组合关系,整体消失了,部分也不存在

聚集:聚合、组合组成
聚合:部分和整体的生命周期不一致,整体消失了,部分仍然存在,部分可以脱离整体存在
(例如1:学生(部分)班级(整体) 班级为202班,如果这个班的学生毕业了,学生是不会消失的,但是这个班级不会消失
例如2:员工和公司,公司破产了不存在了,但是员工是不会消失的,会找另外一家公司入职)
组合:部分和整体的生命周期一致,整体消失,部分也消失,部分不能脱离整体存在
(例如1:大脑(部分)人(整体)如果人不存在了,那么他的大脑也不存在 例如2:翅膀和鸟,如果鸟不存在,翅膀也不存在)

单向关联:一条有方向的实线 鱼依赖于水,但是水不依赖鱼,人依赖氧气,氧气不依赖人(一直都是强关联)
关联名:鱼“需要”(需要就是关联名)水
关联类:多对多关系无法标识唯一记录的时候,就增加一个关联类,关联起来,比如学生(借阅)图书 ,加上借阅时间就可以唯一标识一条记录(所以借阅时间就是关联类)

3.5、真题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、关联多重度

单向关联跟依赖差不多,不过单向关联的依赖性更强一点
在这里插入图片描述

类A的一个实例可以对应多少个类B的实例
在这里插入图片描述

单向关联:一条有方向的实线 鱼依赖于水,但是水不依赖鱼,人依赖氧气,氧气不依赖人(一直都是强关联)
关联名:鱼“需要”(需要就是关联名)水
关联类:多对多关系无法标识唯一记录的时候,就增加一个关联类,关联起来,比如学生(借阅)图书 ,加上借阅时间就可以唯一标识一条记录(所以借阅时间就是关联类)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UML图

在这里插入图片描述

一、类图

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、对象图

在这里插入图片描述
在这里插入图片描述

三、用例图

在这里插入图片描述
在这里插入图片描述

3.1、包含关系(用例和用例之间的关系)

一个用例包含另一个用例 虚线的一个箭头---------->

指向分解出来的用例
把一个复杂的步骤分解为较小的步骤

在这里插入图片描述

在这里插入图片描述

比如说参与者是图书管理员,用例是(删除图书)和(修改图书)的时候必须得先(查询图书)
A就是删除或修改图书 B就是查询图书 A包含B

3.2、扩展关系(指向基础用例 用例和用例之间的关系)

用一个用例(可选)扩展另一个用例(基本例)的功能,将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。表示符号:<>

一个用例执行的时候可能会发生一些特殊情况(比如:正常去食堂吃饭,饭卡余额充足的时候直接刷卡扣余额,但是当余额不足的时候就无法吃饭,得去充值后才能正常就餐),这个特殊情况就是扩展关系。或者存在可选情况(比如去买苹果,如下图)
在这里插入图片描述

在这里插入图片描述

3.3、泛化关系(指向父用例)

继承关系,子用例有特别功能
在这里插入图片描述

3.4、真题

在这里插入图片描述
在这里插入图片描述

四、交互图

在这里插入图片描述
在这里插入图片描述

4.1、序列图(顺序图)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
参考学习序列图
在这里插入图片描述
指向Account类对象的箭头才是Account的方法,而不是指出去的箭头
在这里插入图片描述
在这里插入图片描述
这里上面的小人和圆圈都是指的对象,我一开始以为圆圈是用例,序列图是对一个用例进行详细的过程分解,所以是一个用例多个对象
在这里插入图片描述
在这里插入图片描述

4.2、通信图(协作图)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、状态图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.1、状态

对象的状态是指在这个对象的生命期中的一个条件或状况,在此期间对象将满足某些条件、执行某些活动,或等待某些事件
在这里插入图片描述

5.1.1 状态图中的事务及解释

在这里插入图片描述

5.1.2 状态的可选活动表

在这里插入图片描述

5.1.3 状态图举例

对象的状态图
在这里插入图片描述
网上银行登录系统
在这里插入图片描述

5.2、事件

在这里插入图片描述

5.3、真题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
迁移由事件触发
在这里插入图片描述

六、活动图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、构件图(组件图)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、部署图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

九、UML图总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十、图展示

类图

在这里插入图片描述

对象图

在这里插入图片描述

用例图

在这里插入图片描述

序列图

在这里插入图片描述

通信图

在这里插入图片描述

状态图

在这里插入图片描述

活动图

在这里插入图片描述

构件图

在这里插入图片描述

部署图

在这里插入图片描述

包图

在这里插入图片描述

十一、杂题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 11:22:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 11:22:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 11:22:01       82 阅读
  4. Python语言-面向对象

    2024-04-08 11:22:01       91 阅读

热门阅读

  1. Harmony 正则表达式的写法

    2024-04-08 11:22:01       38 阅读
  2. Rust 练手小项目:猜数游戏

    2024-04-08 11:22:01       33 阅读
  3. cmake执行时指定参数

    2024-04-08 11:22:01       37 阅读
  4. Android 如何通过屏幕大小来适配不同大小的图片

    2024-04-08 11:22:01       38 阅读
  5. Linux 上安装 SQLite

    2024-04-08 11:22:01       39 阅读
  6. Qt、串口助手中字符串和十六进制字符串的转换

    2024-04-08 11:22:01       44 阅读
  7. springboot+websocket+微信小程序实现评论区功能

    2024-04-08 11:22:01       34 阅读