一:基本概念        --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值.        --->所谓用例,就是一件事情,要完成这件事情,需要一系列活动,而做一件事情可以有很多不同的办法和步骤,也可能遇到各种各样意外情况.因此这件事情是由很多不同情况的集合构成的.在UML中称之为用例场景.一个场景就是一个用例的实例.       …
一:基本概念        ---->在那大数项目中,分析类是被忽视的一种非常有用的元素.        ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处理的主要抽象概念的“第一个关口”.如果期望获得系统的“高级”概念性简述,则可对分析类本身进行维护,分析类还可产生系统设计的主要抽象——系统的设计类和子系统.二:分析类的性质        ----->分析类代表系中主要的“职责簇”,这以为着分析类是从功能性需求向计算机实现转化过程中的“第一个关口”   …
关系        --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构.        一,关联关系(association)…
一:版型        --->在UML里有一个概念叫版型.有些书里也称类型,构造型.        --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别的含义,使得这个元素适用于特定的场合.        --->例如(1)用例:的版型有:“业务用例”,“业务用例实现”                      (2)类:的版型有:“接口”,“边界类”,“实体类”,“控制类”        --->除了UML已经定义的版型外,为了在某种场合下让元…
1.0.0 Summary Tittle:[UML]NO.54.EBook.6.UML.2.002-[Thinking In UML 大象 第二版]- UML 核心元素 Style:DesignPattern Series:DesignPattern Since:2017-11-13 End:.... Total Hours:... Degree Of Diffculty:2 Degree Of Mastery:2 Practical Level:2 Desired Goal:2 Archiev…
一:建模        --->建模,是指通过对[客观事物]建立一种抽象的方法用以表征事物并获得对事物本身的理解.同时把这种理解概念化,将这些逻辑概念组织起来,构成一种对所观察对象的内部结构和工作原理的便于理解的表达.        --->建模怎么建?首先要决定的是抽象角度,即建立这个模型的目的是什么?一旦抽象角度确定,剩下的事情就变得顺理成章,而不是杂乱无章.                例如“请在30秒说出尽可能多的勺子,筷子,盘子的相同点和不同点?                (1…
分析类共有三个:边界类(boundary).控制类(control)和实体类(entity),这些分析类都是类的版型.分析类是跨越需求到设计实现的桥梁. 边界类:从需求向现实的转换过程中,任何两个有交互的关键对象之间都应该考虑建立边界类. 对现实世界来说,边界类的实例可以是窗口.通信协议.打印机接口.传感器.终端等. 在计算机世界里,当我们打算对A对象和B对象之间的交互进行建模时,边界类可以充当这一载体. 控制类:用于对一个或几个用例所特有的控制行为进行建模.控制对象通常控制其他对象,因此他们的…
定义:边界是无形的,是可大可小的,同时参与者.用例和边界又有着相生相克的性质.与其说边界是UML元素,还不如说它是一种分析方法. 1.需求是动态的过程:系统边界是无形的,看不到的,不好理解,倒不如说需求的集合来的准确.但是不能先有需求再反过来推定边界,需求总是晚于系统边界出现的. 然而,需求是靠参与者和用例确定的,但是参与者和用例得以明确的前提条件又是边界确定:需求就是在不断调整这个矛盾的过程中逐步明确进而更加确定边界的.这个过程不可避免的会导致参与者和用例的变化,所以需求是一个动态的过程,统一…
包是一种容器,如同文件夹一样,将某些信息分类,形成逻辑单元.包可以容纳任何UML元素,例如用例.业务实体.类图等,也包括子包. 一.分包原则: (1)高内聚:被分入同一个包的元素相互联系紧密,伸至不可分割.同时这些元素具有某些相同的性质,使得包可以抽象出一些接口来代表包事物与包外进行交互. (2)低耦合:包的最理想状态是修改A.B.C任意一个包的元素,其他的任何一个包中的内容不受影响,即ABC之间无依赖关系或松耦合. (3)依赖关系不传递:如果实际情况难以做到完全解除依赖关系,那么至少应该保证包…
定义:参与者是在系统之外与系统交互的某人或某事物.参与者在建模过程中处于核心地位. 1.系统之外:系统之外的定义说明在参与者和系统之间存在明确的边界,参与者只能存在于边界之外,边界之内的所有人和事务都不是参与者. 2.参与者可以非人:不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例.没有人参与的需求一定有别的事务在发出启动操作,这个事务就是参与者,可能是另一个计算机系统.一个计时器.一个传感器等. 3.特点:参与者对系统有着明确的目标和要求并且主动发出动作: 系统是为参与者…
1.参与者 定义:在系统之外与系统交互的某人或某物. 特点:1.可以非人:2.与系统直接交互:3.主动发出动作并获得反馈:4.涉众(stakerholder)的代表 具有两个版型: 1.业务主角(business actor): 在需求阶段中用于业务建模 特点:针对业务人员而非计算机用户 2.业务工人(business worker) 特点:在业务过程中,扮演某一环节不可或缺的部分,但是该业务并非其主动提出,并获得最后的反馈: 2.用例 定义:定义了一组用例实例,其中每个实例都是系统所执行的一些…
定义:用例定义了一组用例实例,其中每个实例都是系统所执行的一些列操作,这些操作生成特定主角可以观测的值.一个完整的用例定义由参与者.前置条件.场景.后置条件构成. 1.理解用例:用例就是参与者希望通过系统达到的愿望.一个系统的功能性是由一些对系统有愿望的参与者要做的一些事构成的,事情完成后就达成了参与者的一个愿望,当全部参与者的所有愿望都能够通过用例来达到,那么这个系统就被确定下来了.捕捉功能性需求就是用例的作用. 2.特征: (1)用例是相对独立的: (2)用例的执行结果对参与者来说是可观测的…
内部类的访问规则 内部类可以直接访问外部类中的成员,包括私有成员. 因为内部类中持有了一个外部类的引用,格式为:外部类名.this 外部类要访问内部类,必须要建立内部对象. class Outer { //外部类 private int x = 1; class Inner{ //内部类 int x = 2; void function() { int x = 3; System.out.println(x); System.out.println(this.x); System.out.pri…
Worker通过worker-data方法定义了一个包含很多共享数据的映射集合,Worker中很多方法都依赖它 mk-worker 功能: 创建对应的计时器.Executor.接收线程接收消息   方法原型: 1   (conf TASK_HEARBEAT-FREQUENCY-SECS) #(do-executor-hearbeats worker :executors @executors))…
于谈论高并发(十一)几个自旋锁的实现(五岁以下儿童)中使用了java.util.concurrent.atomic.AtomicStampedReference原子变量指向工作队列的队尾,为何使用AtomicStampedReference原子变量而不是使用AtomicReference是由于这个实现中等待队列的同一个节点具备不同的状态,而同一个节点会多次进出工作队列,这就有可能出现出现ABA问题. 熟悉并发编程的同学应该知道CAS操作存在ABA问题.我们先看下CAS操作. CAS(Compar…
参考:访问限制 NOTE 1.eg. #!/usr/bin/env python3 class Student(object): """docstring for Student""" def __init__(self, name, age, city): self.__name = name self.__age = age self.__city = city def print_info(self): print(self.__name,…
方法一:双指针法定义两个指针A.B,A先走k-1步后再一起走,直到A.next==null注意: 1.链表为空 2.链表长度小于k 3.k<=0 当题目是求链表的中间节点时,可以两个指针从开头开始,一个一次走一步,一个一次走两步,当走的快的指针到达尾部时候,走得慢的指的就是中间…
Heroku 是业内知名的云应用平台,从对外提供服务以来,他们已经有上百万应用的托管和运营经验.其创始人 Adam Wiggins 根据这些经验,发布了一个“十二要素应用宣言(The Twelve-Factor App)”,这个设计原则对SaaS平台非常具有指导意义. 十二要素应用宣言 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS).12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入…
一.UML是什么?UML有什么用? 二.UML的历史 三.UML的上层结构(Superstructure) 四.UML建模工具 五.UML的图(重点) 1.用例图(use case diagram) 2.活动图(activity diagram) 3.静态结构图 4.顺序图(Sequence Diagram) 5.交互纵览图(Interaction Overview Diagram) 6.通信图(Communication Diagram) 7.时间图(Timing Diagram) 8.状态机…
一.面向对象概念 1. "面向对象(OOP)"是什么? 简单点说,“面向对象”是一种编程范式,而编程范式是按照不同的编程特点总结出来的编程方式.俗话说,条条大路通罗马,也就说我们使用不同的方法都可以达到最终的目的,但是有些办法比较快速.安全且效果好,有些方法则效率低下且效果不尽人意.同样,编程也是为了解决问题,而解决问题可以有多种不同的视角和思路,前人把其中一些普遍适用且行之有效的编程模式归结为“范式”.常见的编程范式有: 面向过程编程:OPP(Procedure Oriented P…
201871010106-丁宣元 <面向对象程序设计(java)>第十二周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11867214.html 作业学习目标 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: (2) 掌握ArrayList.LinkList两个类的用途及常用AP…
201871010134-周英杰 <面向对象程序设计(java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业要求在哪里 https://www.cnblogs.com/lily-2018/p/11441372.html 作业学习目标 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: (2) 掌握ArrayList.LinkList两个类的用途及常用API. (3) 掌握Ja…
实验十二  图形程序设计 实验时间 2018-11-14 1.理论知识 (1) 基本AWT库采用将处理用户界面元素的任务委派给每个目标平台的本地GUI工具箱的方式,由本地GUI工具箱负责用户界面元素的创建和动作. 选择Swing的几个原因:Swing拥有一个丰富.便捷的用户界面元素集合:Swing对底层平台依赖的很少,因此与平台相关的bug很少:Swing给予不同平台的用户一致的感觉. Swing没有完全的替代AWT,而是基于AWT架构之上. (2) 在Java中,顶层窗口(就是没有包含在其它窗…
一.初识面向对象 面向过程的核心是过程,流水线思维,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点:极大地降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点:一套流水线或流程就是用来解决一个问题,代码牵一发而动全身. 面向对象的程序设计的核心是对象,上帝式思维,要理解何为对象. 优点:解决了程序的扩展性,使程序的扩展和维护变得简单,并且大大提高程序开发效率,基于面向对象的程序可以使他人更加容易理解你的代码逻辑. 缺点:可控性差…