UML规格定义了两大类的IML图:结构图和行为图
结构图:结构图从不同的抽象和实现程度上描述了一个系统和系统构建的静态结构,并且描述了一个系统的对象如何随着时间额的变化而变化。
行为图:展示了一个系统中的对象的动态行为,它描述了一个系统的对象如何随着时间的变化而变化/
UML体系结构——“4+1”视图
用例图的作用:是需求分析中的产物,主要作用就是描述参与者和用例之间的关系,邦族开放人员了解系统的功能
由参与者(Actor)、用例(Use Case) 以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。其中用例和参与者之间的对应关系又叫做通讯关联(Communication Association)。
用例图的构成元素有四个:参与者(角色)、用例、系统边界和元素
例题1
在火车票预订系统中,客户可以进行购买车票、退订车票、查询余票和查询列车时刻四个操作。不管是购买车票还是退订车票,用户都必须先进行登录系统操作。其中查询列车时刻主要包括按站站查询和按车次查询两种方式。如果在登录系统的过程中忘记密码,则还可使用找回密码功能。
例题2
在学生信息管理系统的“网上选课模块”中,学生可以进行“查看课程信息”、“选择课程”和“删除已选课程”三个操作。“查看课程信息”主要包括“按课程编号查看”和“按课程名查看”两种方式。
管理员可以进行 “维护课程信息” 操作。
学生和管理员的所有操作均需“登录系统”后方可完成。如果在“登录系统”的过程中忘记密码,则还可使用“找回密码”功能。
类图是使用最广泛的一种模型,聪慧例图的视角来看,系统外部是由一个个用例组成的,用例手机系统的面子,而类图依赖描述特性中各个对象的类型以及他们之间存在关系,现实的是系统内部的静态结构,它是系统的里子类图是一种静态模型,代表面向对象的系统
在研究了剋图之前我们需要先了解类,类是包装信息和行为的基本单位,是面向对象的组织核心结构,类由三部分组成,即类名、属性、操作,在UML中具体表示如下
在UML中可见性分为四级:
+
表示,该属性或方法对所有类可见#
表示,只对该类的子类可见-
表示,只在该类内部可见~
表示,只对同一报申明的其他类可见接口也是一个类,它定义了一组提供给外界的操作集合的名称,可以把接口看作是一个特殊的抽象类,他的特殊之处在于:接口不能含有属性,接口中之哟与抽象操作——只有操作名,没有具体的实现方法
接口的图像表达就是之间的圆圈
类之间可以建立四种关系:关联、依赖、聚合和泛化,之变只简单的说一说聚合关系,聚合就是一些系统特性的组成一个整体,如大雁与雁群的关系
顺序图是一种强调消息时间顺序的几乎图,显示的是参与交互的对象及对象之间信息交换的顺序,用来表示用例中的行为顺序
顺序图的组成
活动者,对象、生命线、控制焦点、消息,活动的发起人活着活动的承受者。
对象:活动中交互的实体,由三种表示方式
生命线:描述对象的生存周期,对象下方的虚线就是生命线
控制焦点:指活动者或对象执行状态的时间段
消息:消息用于描述对象间交互的方式和内容
信息描述对象之间的通信,它可以激发某个动作、唤起信息或导致目标对象的创建或销毁
信息可以分为以下几类:
机房示例
状态图就是开关,是描述状态变化的图形。描述了一个对象状态与状态的转变并且象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对(用例图:描述需求场景;状态图:描述业务场景)一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机,重点在与描述状态图的控制流。
一个机器的状态图如下:
一个状态图只能由一个初态,但是可以由0个或多个终态
状态:主要用来描述一个对象在生命周期内的一个时间段。状态包括:状态名、内部转移、进入/退出操作、子状态、延迟事件等状态的特征
转换:俩个状态之间的关系,当满足条件是,第一个状态中的对象执行操作变成第二个中的对象
其中,除了普通的转换,还有复杂的转换
外部转换:对事件做出响应,引起状态变化或自身转换,同时引发一个特定动作,如果离开或进入状态将引发进入转换、离开转化。
内部转换:对事件做出响应,并执行一个特定的活动,但并不引起状态变化或进入转换、离开转换。
进入转换:当进入某一状态时,执行相应活动。
退出转换:当离开某一状态时,执行相应活动。
事件可以分为几种:信号事件、调用事件、改变事件、时间事件等。
信号事件:信号是作为两个对象之间的通信媒介的实体,它是用来作为对象之间的通信的。
调用事件:是指一个对象对调用的接收,这个对象利用状态的转换而不是固定的处理过程实现操作。
改变事件:是指依赖于特定属性的布尔表达式所表示的条件满足时,事件发生改变。
时间事件:表示时间表达式被满足的事件,它代表时间的流逝。
校园卡
我同学在一个小型的软件开发公司上班,由于大家都是程序员,常常在一起交换心得。 最近,同学给了我一个ASP网页中的问题。我坐了一天 就是没有做出来,不甚感觉自己是菜鸟。 大家都知道,ASP是解释型执行语言,解释型执行语言一个其实是对代码的先后顺序要求一般是比,编译执行的语言要高,同时,在每一次请求时。服务器都会重新解释一次你的代码。速度上来讲,这也是浪费效率的问题,可能这是ASP不如...
文章目录一、环境二、下载SSD-Pytorch git项目一、环境千辛万苦走通后,发现版本真的坑死人。我的版本:python3.6 + cuda 10.2 + pytorch1.7.1 + numpy1.15.1(建议:据说将pytorch的版本降低为1.2及以下的版本。但是我的cuda是10.2,目前不支持1.2及其以下的GPU版的pytorch,重安装太麻烦了,我就只能在后边解决问题了)二、下载SSD-Pytorch git项目...
最近需要开发一个APP通过蓝牙配置esp32c3的一些参数的项目,之前也接触过移动端开发,所以这次选择uniapp来实现这个项目。参考资料: uniapp官方文档:https://uniapp.dcloud.io/README一. 新建工程我使用的是HBuilder编辑器,新建工程的话按照官方文档中的新建一个uni ui项目模板的工程。二. 替换工程的代码将工程文件下的page/index/index.vue替换为下面的代码。<template> <view>.
#导入库importxlrd,xlwtfrom xlutils.copy importcopy#打开旧工作簿old_file = r'D:/12 用Python自动办公,做职场高手(完结)/01.文件/【12.20更新课程代码】用Python自动办公做职场高手/CourseCode/Chapter1/S1-1-2/LessonCode/日统计.xls'old_book= xlrd.open_wor...
一加9R采用6.55英寸2.5D柔性屏幕设计,分辨率为2400 *1080,支持120Hz屏幕刷新率与240Hz屏幕触控采样率,支持HDR10+的同时也通过了SGS屏幕护眼认证。红米手机爆降900这活动太给力了 机会不容错过http://xiaomi.adiannao.cn/1一加9r更多使用感受和评价:http://www.adiannao.cn/12红米K40 Pro采用了6.67英寸三星E4材质屏幕,分辨率为2400*1080,支持MEMC动态画质补偿,支持120Hz刷新率和360Hz超高触控采
ORA-09925Linux-x86_64Error:2:Nosuchfileordirectory[javascript]viewplaincopyDBCA***数据库所有实例后,本想用RMANduplicate方式克隆DB,因此在$ORACLE_BASE目录下创建了相关的目录admin/dupl/adump,admin/dupl/dpum...
kubernetes集群部署
目录1. 5G商业价值及发展2035年5G将在全球驱动12万亿美元的经济活动2. 5G商业应用案例2.1 eMBB商业应用及案例2.1.1 资费演进,释放MBB流量快速增长潜力2.1.2 5G帮助运营商支撑未来10倍流量增长2.1.3 Cloud X 3个重要的eMBB业务2.1.4 5G时代的应用将基于端管云协同:Cloud X2.1.5 Cloud PC是趋势:安全、免维护、易升级2.1.6 PC/主机游戏占据半壁江山,Cloud Gaming降低用户门槛2.1.7 云游戏跨越裂谷,云基础设施和5G网络
支持按照相同的随机参数对iamge和label进行扩充1、数据扩充方法from paddle.vision import transformsimport numpy as npimport randomimport timedef setup_seed(seed): random.seed(seed) np.random.seed(seed)class Augmentation: def __init__(self,image_size): se
学网络,就在IE-LAB国内高端网络工程师培养基地许多同学在学习MPLS VPN之前都会问,MPLS 到底是做什么的?为什么需要MPLS呢?首先,什么是MPLS呢?MPLS全称是:Multi-Protocol Label Switching,缩写为MPLS,也就是多协议标签交换。是一种在开放的通信网上利用标签引导数据高速、高效传输的技术。多协议的含义是指MPLS不但可以支持多种网络层层面...
汉诺塔(Hanoi)算法,应该是每一个程序员都会学习到的递推算法之一,汉诺塔是一个很著名的智力题,但是这里就不科普它的由来了,我们直接进入正题。 如上图,假设A棒有五个原盘,依次移动,每次移动一块,小的永远只能在上面,最终移动到C棒上,如何用算法实现呢? 从这里移动的逻辑我们很容易发现,A帮不就像一个栈吗,栈顶必须先出,网上看过很多汉诺塔算法,很少涉及到用栈实现,的确
南京邮电大学计算机学院算法分析与设计密码算法实 验 报 告课程名称算法分析与设计实验名称密码算法实验时间2015年6月26日指导单位南京邮电大学指导教师XXXX学生姓名 班级学号学院(系)计算机学院专 业软件工程实 验 报 告实验名称密码算法指导教师XXX实验类型验证实验学时2实验时间2015-6-26实验目的和任务实验目的:了解现代密码学的基本原理和数论的基础知识,掌握非对称密码体制的...