软件设计师: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图总结

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

十、图展示

类图

在这里插入图片描述

对象图

在这里插入图片描述

用例图

在这里插入图片描述

序列图

在这里插入图片描述

通信图

在这里插入图片描述

状态图

在这里插入图片描述

活动图

在这里插入图片描述

构件图

在这里插入图片描述

部署图

在这里插入图片描述

包图

在这里插入图片描述

十一、杂题

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/300845.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python | NCL风格 | EOF | 相关 | 回归

这里在linux系统上使用geocat实现NCL风格的图片绘制 Linux上安装 geocat conda update conda conda create -n geocat -c conda-forge geocat-viz conda activate geocat conda update geocat-vizDataset - NOAA Optimum Interpolation (OI) SST V2 # 海温月平均数据 - lsmas…

内容创作策略:打造影响力强大的技术博客

CSDN的朋友你们好&#xff0c;我是未来&#xff0c;今天给大家带来专栏【程序员博主教程&#xff08;完全指南&#xff09;】的第6篇文章——“博客内容创作策略”。本文为技术博主提供了一个精简的内容创作策略指南&#xff0c;涵盖了设定目标、分析竞争、关键词研究、内容规划…

24 个Intellij IDEA好用插件

24 个Intellij IDEA好用插件 一. 安装插件 Codota 代码智能提示插件 只要打出首字母就能联想出一整条语句&#xff0c;这也太智能了&#xff0c;还显示了每条语句使用频率。 原因是它学习了我的项目代码&#xff0c;总结出了我的代码偏好。 Key Promoter X 快捷键提示插件 …

vscode 安装vim插件配置ctrl + c/v功能

搜索Vim插件 插件介绍部分有提示操作 首先安装该插件&#xff0c;然后按照下述步骤设置ctrl相关的快捷键&#xff0c;以便于脱离im快捷键而愉快的敲代码。 1.在“设置”搜索框内搜索vim.handleKeys&#xff0c;选择 Edit in settings.json 2. 设置ctrl-c,ctrl-v等快捷键置为fa…

室友打团太吵?一条命令让它卡死

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;更多干货&#xff0c;请关注专栏《网络安全自学教程》 SYN Flood 1、hping3实现SYN Flood1.1、主机探测1.2、扫描端…

Unity类银河恶魔城学习记录12-7-1 p129 Craft UI - part 1源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_CraftList.cs using System.Collections; using System.Collections.Gen…

zdpdjango_argonadmin使用Django开发一个美观的后台管理系统

初始代码 安装依赖 pip install -r requirements.txt生成管理员账户 迁移模型&#xff1a; python manage.py makemigrations python manage.py migrate创建超级用户&#xff1a; python manage.py createsuperuser启动服务 python manage.py runserver浏览器访问&#xf…

2024新版PHP在线客服系统多商户AI智能在线客服系统源码机器人自动回复即时通讯聊天系统源码PC+H5

搭建环境&#xff1a; 服务器 CPU 2核心 ↑ 运存 2G ↑ 宽带 5M ↑ 服务器操作系统 Linux Centos7.6-7.9 ↑ 运行环境&#xff1a; 宝塔面板 Nginx1.18- 1.22 PHP 7.1-7.3 MYSQL 5.6 -5.7 朵米客服系统是一款全功能的客户服务解决方案&#xff0c;提供多渠道支持…

计算机组成原理(超详解!!) 第四节 存储系统和结构

1.存储器概述 1.存储器分类 存储器&#xff1a;用来存储程序和数据的记忆设备。 存储介质&#xff1a;具有两种明显区别且稳定的物理状态&#xff0c;在外界的作用下&#xff0c;能够相互转化&#xff1b;一种稳定状态表示“0”&#xff0c;则另一种状态表示“1”。目前主要…

es6新增set、map两种数据结构(超级详细-附加代码)

文章目录 一、Set增删改查add()delete()has()clear()遍历 二、Map增删改查sizeset()get()has()delete()clear()遍历 三、WeakSet 和 WeakMapWeakSetWeakMap 参考文献 如果要用一句来描述&#xff0c;我们可以说 Set是一种叫做集合的数据结构&#xff0c;Map是一种叫做字典的数…

数据结构——链表

目录 一、链表 1、单向链表 单向链表的遍历方式&#xff1a; 2、循环链表 3、双向链表 二、自行车停放&#xff08;双向链表&#xff09; 一、链表 链表是由许多相同数据类型的数据项按特定顺序排列而成的线性表特性&#xff1a;存放的位置是不连续且随机的&#xff0c;动…

全坚固笔记本丨工业笔记本丨三防笔记本相较于普通笔记本有哪些优势?

三防笔记本和普通笔记本在设计和性能方面存在显著差异&#xff0c;三防笔记本相较于普通笔记本具备以下优势&#xff1a; 三防笔记本通常采用耐磨、耐摔的材料&#xff0c;并具有坚固的外壳设计&#xff0c;能够承受恶劣环境和意外碰撞&#xff0c;有效保护内部组件不受损坏。相…

armlinux裸机-uart

uart是一对一的串行异步全双工通信通信协议&#xff0c;串行速度较慢&#xff08;usart支持同步通信&#xff09; 传输原理 多个参数可以设置 为满足使用需求&#xff0c;我们一般都用带fifo缓冲中断。 我们使用S3C2440芯片&#xff0c;具体寄存器操作可以查看用户手册

NOI - OpenJudge - 2.5基本算法之搜索 - 1490:A Knight‘s Journey - 超详解析(含AC代码)

点赞关注吧~ 1490:A Knights Journey 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 Background The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey around the world. When…

【WEEK6】 【DAY7】MD5 Encryption Transactions【English Version】

2024.4.7 Sunday Following the previous article 【WEEK6】 【DAY3】MySQL Functions【English Version】 Contents 5.3. MD5 Encryption5.3.1. Introduction5.3.2. Testing MD5 Encryption5.3.2.1. Plain Text Passwords5.3.2.2. Implementing Data Encryption5.3.2.3. Encry…

实景三维在文化旅游领域的应用

实景三维技术&#xff0c;作为一种前沿的科技手段&#xff0c;近年来在文化旅游领域的应用逐渐崭露头角。它能够将真实世界的场景以三维的形式精确呈现&#xff0c;为游客带来身临其境的体验&#xff0c;为文化旅游注入新的活力。本文将探讨实景三维在文化旅游领域的应用及其所…

npm版本切换工具nvm

有了nvm&#xff0c;可以在一台机器上同时安装多个版本的nodejs&#xff0c;然后指定使用某个版本。 前端开发的时候&#xff0c;安装依赖一直是个令我头痛的问题。总是报错&#xff0c;或者不是少了这样就是少了那样&#xff0c;鸡飞狗走。以往&#xff0c;一般要装个enpm&am…

【java的本地锁到分布式锁介绍】

文章目录 1.java本地自带锁介绍及应用synchronized&#xff08;1&#xff09;synchronized原理和优化&#xff08;2&#xff09;synchronized作用&#xff08;3&#xff09;synchronized的使用 CAS(1) CAS原理&#xff08;2&#xff09;CAS和synchronized优缺点 lock 2.分布式锁…

基于Spring Boot的网上书城系统(带文档)

主要功能 本次设计任务是要设计一个网上书城管理系统&#xff0c;通过这个系统能够满足网上书城的管理及用户的图书信息管理及购物功能。系统的主要功能包括&#xff1a;首页、个人中心、用户管理、图书类型管理、图书分类管理、图书信息管理、我的收藏管理、系统管理、订单管…

c++的学习之路:14、list(1)

本章讲一下如何使用list&#xff0c;代码在文章末 目录 一、list介绍 二、增 三、删 四、查和改 五、交换 六、代码 一、list介绍 首先还是看一看官方文档的介绍如下图&#xff0c;如下方五点&#xff1a; 1. list是可以在常数范围内在任意位置进行插入和删除的序列式…