- 博客(49)
- 收藏
- 关注
原创 UML大战需求分析复习6——描述系统的框架(部署图,构建图)
目录1 为何使用部署图、构建图2 什么是部署图(Deployment Diagram)3 什么是构件图/组件图(Component Diagram)4 如何获取和描述非功能需求1 为何使用部署图、构建图满足系统的非功能需求做法:用部署图、构建图描述客户当前IT架构列出客户技术框架方面的要求针对2,用部署图、构建图设计新的技术框架和客户沟通:客户IT架构环境需要怎样改造,如何部署...
2020-04-11 11:35:18
685
原创 UML大战需求分析复习5——用例图 use case Diagram(描述系统的行为)
目录1 为什么用用例图2 基本语法3 用例图进阶3.1 角色的继承——简化用例图3.2 用例的Include3.3 用例的Extend3.4 用例的继承3.5 粒度控制3.6 用例的组织3.7 用例表——进一步细化4 综合运用类图、流程三剑客、用例图描述需求4.1 用类图描述业务概念4.2 流程三剑客威力1 为什么用用例图描述系统需求的一红方法2 基本语法执行者(Actor):可以是...
2020-04-10 17:27:19
1093
2
原创 UML大战需求分析复习4——顺序图(流程分析利器之三)
目录1 顺序图基本语法2 粒度控制3 顺序图循环分支结构4 流程分析三剑客1 顺序图基本语法顺序图的每一“竖”表示一个角色自上而下,由左到右读,表示按时间顺序发生的事另外除了上述动宾结构的描述,还可以用“虚箭头”+反馈简化,如下图:角色: 类的一个实例化描述生命线(Life line):角色下的虚线激活框(Activation Box):也叫会话,细高矩形,每次会话也是一次交...
2020-04-10 16:48:22
1591
原创 UML大战需求分析复习3——状态机图(流程分析利器之二)
目录1 认识状态机图——请假审批流程1.1 基本语法1.2 状态数量的思考2 状态机图进阶——请假的多级审批流程2.1 多级审批问题2.2 状态机图的分支结构2.3 应用状态机图常见的问题1 认识状态机图——请假审批流程现明确请假审批流程围绕什么状态展开。三种状态:提出、批准、拒绝1.1 基本语法与活动图的区别活动图状态机图文字主动宾/动宾(泳道)形容词/名...
2020-04-10 16:28:00
596
原创 UML大战需求分析复习2——活动图 Activity Diagram(流程分析利器)
目录1 简介2 工时审批流程——活动图基础2.1 基础语法2.2 判断的三种处理方式2.3 泳道/分区 Swimlane/Partition3 会签评审流程——活动图进阶3.1 “并行”的活动3.2 工作产品如何表示——对象流3.3 活动图的组织——链接件(Connector)4 活动的粒度问题5 活动粒度问题1 简介类图——结构建模:事务内容及事务之间的关系,对业务或系统的某一时刻或某时段内...
2020-04-09 17:21:47
530
原创 UML大战需求分析复习1——类图Class Diagram(分析业务模型)
目录1. 类图解决的问题2. 类图的基础知识2.1 基础概念和图解2.2 类之间的关系2.2.1 直线关系:关联(Association)2.2.2 包含关系2.2.3 继承关系(Generalization)2.2.4 依赖关系(Dependency)1. 类图解决的问题面向对象的分析(OOA)面向对象的设计(OOD)是类图的主要应用场景2. 类图的基础知识2.1 基础概念和图解类...
2020-04-09 10:00:13
513
原创 Python入门(二十九)——线程间通信复习(同步条件Event,队列queue)
目录1. 同步条件Event2. 队列queue1. 同步条件Event条件同步和条件变量同步差不多意思,只是少了锁功能,因为条件同步设计于不访问共享资源的条件环境。event=threading.Event():条件环境对象,初始值 为False;event.isSet():返回event的状态值;event.wait():如果 event.isSet()==False将阻塞线程;...
2020-03-09 17:51:38
249
原创 Python入门(二十八)——线程“锁”复习(一般锁.Lock()、死锁、递归锁.RLock()、信号量.Semaphore(n)、条件变量同步.Condition())
目录1. 为什么要有锁2. 加入Lock()3. 产生死锁:4. 递归锁RLock解决死锁5. 信号量 .Semaphore6. 条件变量同步.Condition()1. 为什么要有锁先看一个例子:# Author:AD# Date:2020/3/7import threading, timesum = 0 # 以下是对公共变量的修改class MyThread(threadin...
2020-03-09 17:42:26
269
原创 Python入门(二十七)——线程深入复习(.tart()、 .join()、.setDaemon(True))
目录1. .tart()方法2. .join()方法3. .setDaemon(True)方法守护线程(守护主线程)1. .tart()方法在threading模块中,start()方法其实跑的就是类中的run()函数,因此会见到有些类直接继承threading之后,编辑run()函数即可实现功能。import threading, timeclass MyThread(threadin...
2020-03-09 15:36:32
241
原创 Python入门(二十六)——线程、进程概念复习
目录1. 简介2. 创建线程实例3. Cpython 只能调用单核举例(GIL)3.1 GIL全局解释器锁3.2 解释串行比并发时间快一倍4. 进程1. 简介操作系统能够运算调度的最小单位。基本的执行流程如下:一个.py文件就是一个主线程它交给CPython解释器(Python3.5或2.7)进行解释解释器交给OS进行物力资源调度让程序运行2. 创建线程实例import th...
2020-03-09 15:03:27
134
原创 Python入门(二十五)——socketserver模块复习
目录1. socketserver模块简介2. 基本语法3. 运行机制理解:1. socketserver模块简介socketserver是将socket和threading模块封装起来实现并发服务的模块,此节只复习基本的使用方法,以及基于基本的使用方法,并结合类的基本知识理解整个过程时如何运行的。2. 基本语法主要变化是server端,用对象建立了n个服务器# Author:AD# ...
2020-03-09 14:04:18
187
原创 Python入门(二十四)——编码(str和bytes之间的转换规则)
编码暂且这样理解:Python中的 str——bytes之间的转换规则# Author:AD# Date:2020/3/5s = 'hello, 赵''''utf8 编码解码演示'''# # 1.两种编码方式按照utf8编码# by_utf8_s1 = bytes(s, 'utf8') # b'hello, \xe8\xb5\xb5'# by_utf8_s2 = s.enco...
2020-03-08 21:31:31
235
原创 Python入门(二十三)——网络通信之socket复习
目录1. 网络通信三要素:2. 利用sock模块进行通信流程3. socket下的方法简介4. 循环聊天机制实现5. 实现强制关闭客户端不报错功能6. 客户端输入为空问题解决7. client主动关闭客户端解决方法(基于强制关闭,并加了远程关闭服务器)8. 练习一:远程执行命令9. 练习二: 上传文件1. 网络通信三要素:A:IP地址:(1)用来标识网络上的一台独立主机(2)IP地址 ...
2020-03-08 21:25:38
301
原创 Python入门(二十二)——异常处理
目录1. 一般异常处理方式(报错)2. 异常分类:3. 主动触发异常4. 自定义异常类5. 断言asser1. 一般异常处理方式(报错)try: commandexcept Exception as e: pass print(e)上述为标准语法,在执行try里面的代码的时候如果报错会将错误赋给e对象。2. 异常分类:Exception:能捕捉到所有异常IOErro: IO错...
2020-03-08 17:16:27
173
原创 Python入门(二十一)——复习面向对象编程进阶知识——单例模式、反射
1. 单例模式类创建对象,也叫类的实例。一个对象可以创建多个实例, 单例模式就是一个类不论谁使用,只能有一个实例。可以使用类方法创建单例模式应用:class MyClass: __obj = None @classmethod def get_instance(cls): if cls.__obj: return cls....
2020-03-08 17:04:01
265
原创 Python入门(二十)——复习面向对象编程进阶知识——类特殊成员
目录1. 构造方法(\_\_init\_\_)和析构方法(\_\_del\_\_)2. \_\_call\_\_ 方法:对象加括号调用3. \_\_str\_\_ 方法:str()或print()会调用4. 加减乘除(用__add __举例)5. 字典方法(__dict __)6. 列表方法 [ ](__getitem __、__setitem __、__delitem __)7. 列表切片[a:...
2020-03-08 15:53:50
156
原创 Python入门(十九)——复习面向对象编程进阶知识——成员(字段、方法、属性)、成员修饰符(公有、私有)
目录1. 字段2. 方法3. 属性3.1 属性的建立方式1——@property装饰3.2 属性的建立方式2——property构造方法4. 成员修饰符4.1 私有字段4.2 私有方法类成员包括字段:普通字段(有self,属于对象)、静态字段(无self,属于类)方法:普通方法(无装饰,形参必须包含self)、静态方法(@staticmethod装饰,不需要self形参)、类方法(@cla...
2020-03-08 14:34:12
192
原创 Python入门(十八)——复习面向对象编程基本知识和三大特性
目录1.面向对象的理解2.建立类3. 面向对象的三大特性3.1 特性一:封装构造方法:\_\_init\_\_(self)3.2 特性二:继承3.2.1 基本格式3.2.2 继承的特点3.2.3 多继承3.3 特性三:多态4 总结:5 类和对象在内存中是如何保存1.面向对象的理解在学习编程的过程中经历以下阶段:面向过程——函数式编程——面向对象编程随着观念的转变,编程的思想越来越抽象化,唯...
2020-03-08 13:45:25
137
原创 Python入门(十七)——json pickle 复习
目录1 json模块2 .dump() .load()方法:方便3 pickle模块1 json模块序列化:把对象从内存中变为可存储或可执行的内容的过程叫做序列化先回顾eval()用法:'''回顾eval'''dic = {'name': 'zhao', 'age': 27}lst = [1, 2, 'zhao']# # 字典-字符转换s_dic = str(dic...
2020-03-02 13:35:11
120
原创 Python入门(十六)——模块、包复习
目录1 模块1.2 模块调用方式 import ...1.3 模块的调用方式二 from...import...1.4 把模块所有内容调用 from...import *1.5 改名2 包:组织模块2.1 调用同一级包中的模块2.2 示例说明如何进行包间调用模块3. 正确的适用于任何系统的包间调用方式4 模块内部测试入口规范5 目录组织结构规范:便于维护5.1 关于README的内容5.2 关于r...
2020-03-02 12:54:08
163
原创 Python入门(十五)——正则表达式(RE)复习
目录1 用处2 格式3 元字符 . 通配符(可代表\n外所有)4 元字符 ^ 尖角符(从开头匹配,取反)5 元字符 $ (从结尾匹配)6 元字符 * 重复匹配符[0, +∞)都可 只重复其前面的7 元字符 + 重复匹配符[1, +∞)都可 只重复其前面的8 元字符 ? 重复匹配符[0,1] 都可 只重复其前面的(其他重复匹配符后面加?实现惰性匹配)9 元字符 {} 重复匹配符,重复次数由内部...
2020-03-01 22:28:17
123
原创 Python入门(十四)——重要模块复习(logging、logger、configparser)
目录1 logging 日志模块1.1 日志级别1.2 默认配置设置2 logger对象,可实现同步输出3 configparser 配置文件模块1 logging 日志模块1.1 日志级别DEBUG——INFO——WARNING——ERROR——CRITICAL逐级升高其中默认只从WARNING级别进行输出1.2 默认配置设置加file的话一定会输入到文件中,不加在终端输出,不能两...
2020-03-01 21:32:47
252
原创 Python入门(十三)——重要模块复习(time、random、os、sys、hashlib)
目录1 time 模块2 random 随机3 os模块4 sys模块5 hashlib 加密模块1 time 模块常用时间种类时间戳结构时间字符串时间import time'''时间戳'''#当前时间(从1970-1-1 00:00:00)s = time.time()print(s) # 1583031457.492758print(type(s)) #<cl...
2020-03-01 12:19:43
199
原创 Python入门(十二)——生成器
目录1 创建生成器1.1 列表生成式1.2 用小括号()生成生成器1.3 yield创建生成器函数1.4 理解两次调用生成器函数2 .send() 方法理解和应用3 生成器函数实现协程应用需要明确,生成器是迭代器,具备可迭代功能,但是反之不成立。1 创建生成器1.1 列表生成式可以用[ ] 里面加入表达式和函数的形式生成一个列表a = [x for x in range(9)]prin...
2020-02-29 20:46:56
150
原创 Python入门(十一)——迭代器
目录1 迭代器简介2 迭代器判断标准3 iter() 方法4. for i in (iterable)的内部实现1 迭代器简介需要明白几个概念容器(container):一种把多个元素组织在一起的数据结构,可迭代,可用 in, not in进行判断。可迭代是因为它是可迭代对象,并不是容器本身的特性。可迭代对象(iterable):可迭代对象描述的是对象的一种状态为可迭代 iteratio...
2020-02-29 19:25:30
178
原创 Python入门(十)——装饰器
目录1 装饰器1.1 闭包1.2 基本装饰器1.3 带参数的被装饰函数1.3.1 形参保持一致案例1.3.2 返回值保持一致案例1.4 装饰函数加参数1.5 多层装饰器2 装饰器应用之登陆1 装饰器理解装饰器需要理解:作用域、高阶函数、闭包1.1 闭包定义:内部函数对外部函数的环境进行引用,内部函数叫做闭包(closer)。一般应用的时候外部函数的返回值为内部函数名。闭包可以保存函数的...
2020-02-29 18:29:25
160
原创 Python入门(九)——深浅拷贝、set (集合)、函数、递归函数、常用内置函数
目录1 深浅拷贝1 深浅拷贝若执行a = [[1, 2], 3, 4]则得到下面的代码
2020-02-29 16:16:15
226
原创 Python入门(八)——计算器作业:初级版,正则表达式(RE)初级应用
终于调了半天bug完成一版,但是与win10自带的计算器有差值,明天在搞# Author:AD# Date:2020/2/27'''开发一个简单的python计算器实现加减乘除及拓号优先级解析用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )...
2020-02-27 21:50:23
177
原创 自动化翻译脚本(墙外使用某个免费翻译网站)
目录1. 环境搭建1.1 Python31. 环境搭建1.1 Python3下载Python3.6进行默认安装即可,后续需要配置环境变量[Python下载链接](付按揭俺
2020-02-25 16:06:12
1575
原创 Python入门(七)——文件操作作业:多级菜单高级版,可以修改字典
with open('三级菜单', 'r', encoding='utf-8') as f_read: date = f_read.read()#print(date.replace(' ', '').replace('\n', ''))#print(type(date))menu = eval(date)current_layer = menuparent_layer = ...
2020-02-22 15:22:37
302
原创 Python入门(六)——文件操作(a+ w+ r+ 光标位置 读写相互独立)
目录1. open()2、文件操作方式:r、w、a、r+、w+、a+2.1 r 读模式,不可写2.2 w 写模式,执行打开命令清空文件,不可读2.3 a 追加模式,不清空文件,文档末尾追加,可写不可读2.4 w+ 写读,光标规则恶心2.5 r+ 读写,光标又比较佛系哦2.6 a+ 追加读模式,最有意思的光标操作3. 文件的具体操作3.1 .read()3.2 .readline()3.3 .rea...
2020-02-22 15:15:46
524
原创 Python入门(五)——字符串操作
目录1.字符串1.1 乘法1.2 切片1.3 格式化 %1.4 格式化 .format() .format_map()1.5 判断元素是否在内1.6 拼接 + 和 .join()1.7 编码解码1.8 字母大小写操作1.9 内容格式操作1.10 数字、字母、开头结尾、非法字符判断1.11 统计、查找、替换、分隔、拼接1.字符串可将字符串对象和列表对象进行类比:切片、复制、更改等1....
2020-02-21 16:26:36
131
原创 Python入门(四)——(字典、id)
目录1. 字典(无序,唯一的映射类型)1.1 增 .setdefault()1.2 删1.3 改1.4 查1.5 .fromkeys() 操作创建2. id() 查看变量地址1. 字典(无序,唯一的映射类型)采取键值对存储(key-value)哈希函数运算key必须不可变(整型,字符串,元组)字典采取以键值对为标准进行存储键是唯一的1.1 增 .setdefault()若有该键...
2020-02-21 14:07:59
780
原创 Python入门(三)——(基本运算符、逻辑运算符(与C++不同)、循环语句、print函数、三引号可打印多行、格式化输出、数据类型初识、列表和元组(与C++不同)、enumerate、赋值新解读)
目录1.基本运算符2.逻辑运算符(与C++不同)3.循环语句3.1 for...else3.2 while...else4. print函数5. 三引号可打印多行6. 格式化输出7.数据类型初识7.1 数字7.2 布尔值7.3 字符串8.列表和元组(与C++在本质不同)8.1 列表[List ]8.2 元组(tuple ):只读列表,不可修改9. enumerate给列表或元组前面加编号10. 赋...
2020-02-21 12:51:47
257
原创 Python入门(二)——(变量命名、注释、交互、类型转换、字符串拼接、条件语句、缩进)
目录1.变量命名规则2.Python注释3.用户交互4.强制类型转换5.字符串拼接1.变量命名规则具有描述性,最好英文好一些不可以用特殊字符、空格和数字开头不能用中文保留字符勿用不能以大写字母开头(全大写留给逻辑 常量)驼峰命名法了解一下2.Python注释#注释一行‘’‘三个单引号之间注释多行“”"当内部有单引号占用的时候可以用三个双引号3.用户交互name =...
2020-02-20 21:06:39
342
原创 Python入门学习——零散知识积累(内部机制、)
目录1、内部机制1.1 内存回收机制1.2 字典存储机制1、内部机制1.1 内存回收机制自动内存回收(与C++不同)Python在命令变量的时候,内存为值分配内存,但是变量知识指向这个值。当变量重新赋值(指向改变)的时候,原先存储值得内存还未立即消失,Python内部机制会在某一刻清掉内存。或者执行del命令删掉变量指向的内存1.2 字典存储机制在做多级菜单的时候发现:在父级列表...
2020-02-20 17:54:13
113
原创 Linux学习笔记(10)——操作命令复习vim(较完整,下一篇常用)
目录1. vim三种模式2.进入vi的命令3.移动光标类命令4.屏幕翻滚类命令5.插入文本类命令6.删除命令7.最后行方式命令8.寄存器操作9.保存退出1. vim三种模式2.进入vi的命令命令作用vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :...
2020-02-19 12:39:24
149
原创 Linux学习笔记(11)——操作命令复习vim(常用)
目录1. 行内快速跳转2.命令功能3.进入输入模式4.输入模式的编辑键操作5.删除操作6.替换操作7.撤消操作8.复制与粘贴操作9.字符串查找操作10.快捷键1. 行内快速跳转命令作用^将光标快速跳转到本行的行首字符$将光标快速跳转到本行的行尾字符w将光标快速跳转到当前光标所在位置的后一个单词的首字母b将光标快速跳转到当前光标所在位置的前一个单词的...
2020-02-19 12:32:19
158
原创 Linux学习笔记(9)——操作命令复习(crontab、tar、grep、sed、awk、BEGIN{} END{})
目录1. crontab 计划任务2. tar 压缩解压3. grep 文件中查找4.5.6.7.8.9.10.11.12.1. crontab 计划任务格式: crontab -e编辑计划任务,在vim中按照以下格式输入分 时 日 月 周 年 命令如果想表达每分,则在数字前增加*或者 */ 即可格式: crontab -l列出已经计划的任务格式: crontab -r删除已经计...
2020-02-18 21:54:12
305
原创 linux使用经验累积(修改目录颜色、修改用户名颜色、发送邮件
目录1.修改用户民颜色2.修改ll之后目录的颜色1.修改用户民颜色将家目录下的 vim .bashrc(没有的话从root文件夹下面考过来)用 /PS1 找到这个位置添加下面代码改成如图比较好看的颜色一定要执行source2.修改ll之后目录的颜色Ubuntu下没有DIR_COLORS文件,因此执行cd ~ #到家目录dircolors -p > .dircolors...
2020-02-18 21:53:30
313
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人