尚学堂 李腾飞 UML814上午笔记课件 视频.docx

上传人:b****3 文档编号:4469762 上传时间:2022-12-01 格式:DOCX 页数:14 大小:813.39KB
下载 相关 举报
尚学堂 李腾飞 UML814上午笔记课件 视频.docx_第1页
第1页 / 共14页
尚学堂 李腾飞 UML814上午笔记课件 视频.docx_第2页
第2页 / 共14页
尚学堂 李腾飞 UML814上午笔记课件 视频.docx_第3页
第3页 / 共14页
尚学堂 李腾飞 UML814上午笔记课件 视频.docx_第4页
第4页 / 共14页
尚学堂 李腾飞 UML814上午笔记课件 视频.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

尚学堂 李腾飞 UML814上午笔记课件 视频.docx

《尚学堂 李腾飞 UML814上午笔记课件 视频.docx》由会员分享,可在线阅读,更多相关《尚学堂 李腾飞 UML814上午笔记课件 视频.docx(14页珍藏版)》请在冰豆网上搜索。

尚学堂 李腾飞 UML814上午笔记课件 视频.docx

尚学堂李腾飞UML814上午笔记课件视频

用例的主路径不会超过10句话。

【粒度】

主路径中不要包含“如果”

用力的名称:

动词+名词

客观角度看问题,不要有自己感情。

最终目的是文本描述。

用例图只是辅助。

UML类图:

【抽象类】

属性

Attribute没有getset方法。

Property有setget方法。

操作

Public

protect

private

泛化、抽象类、抽象操作

 

类中最重要的是关系:

【1】依赖一对象之间的依赖:

箭头的指向表示被依赖的一方。

UserManager的变化会影响到UserAction,通常是在controller层依赖于Model层。

从代码上讲:

有两个类UserManager.Java和UserAction.java。

在UserAction.java中的代码为

 

PublicclassUserAction.()

{

privateUserManageruserManager=newUserManager();

publicvoidexecute()

{

userManager.addUser();

}

}

或者:

PublicclassUserAction.()

{

publicvoidexecute(UserManageruserManager)

{

userManager.addUser();

}

}

或者:

PublicclassUserAction.()

{

publicUserManagerexecute()

{

UserManageruserManager=newUserManager();

ReturnuserManager;

}

}

依赖二包之间的依赖:

包与包之间的依赖指的是包中所包含的类之间有依赖关系,从而导致包之间的依赖关系。

这个就体现了各个层次之间如何相互依赖。

 

关联:

两个事物之间的一种结构性的关系。

就是实线加一个箭头。

做完需求,从需求中抽象出一些概念来。

两个对象之间的一种引用关系【1对多,一对一,多对一】。

而不是类之间的关系。

箭头表示导航型。

代码表示:

publicclassUser{

privateGroupgroup;

publicvoidsetGroup(Groupgroup)

{}

publicvoidgetGroup()

{}

 

publicclassGroup{

privateStringname;

}

在user中能访问【导航】到group中但是在group无法访问【导航】到User中。

有箭头比表示单项关联,没有箭头表示双向关联或者没有关联。

【导航性:

】表示一个对象是否用有对另外一个对象的引用。

箭头表示导航。

【多重性:

】一对一、一对多、多对一、多对多。

一或多这些就表示多重性。

一对多指的是:

在内存中定义好几个User对象。

而不是一个或者就是在Group中定义了多个User对象。

表示引用了多少个对象

如果设置多重性为1,n表示这个关联是非空的

【角色名称:

】实际上代码中引用的名称,特别要注意:

在Element:

Group中的role添加Group会在Group端增加+group表示User中引用group,对应的java代码是在User中有个属性叫group。

其实这样写是有意义的好比User类在横关联中扮演的角色是user,在竖关联中扮演的角色是Creater。

在斜关联中扮演的角色是sender,就是User在不同的关联中,扮演的角色不同。

两种特殊的关联:

聚合与组合:

表示整体与部分的关系【从整体向部分划线】

Aggregate表示一种聚合。

空心【聚合】的或则实心【组合,组合是一种强聚合,组合表示整体与部分之间的生命周期是一致的。

】的菱形。

ByValue是实心的,表示组合ByReference表示虚心的,表示聚合。

聚合:

部分与整体

组合:

是一种强聚合,表示整体与部分之间的生命周期是一致的。

重要的是理解一种概念。

泛化与实现:

泛化就是在在java中的extends

实现就是java中的implement【接口一般用圈表示】连接使用虚线加三角。

豁出来以后就变成直线了。

【这是Icon表示法】

另外一种表示方法:

【就表示Label就是标准表示法】

两种表示都表示的是一种实现的表现方式。

29

领域模型就是从客户那里得到第一层模型,对专业术语的理解,转化为逻辑模型在转化为代码。

领域模型包括:

概念【类名】、关联【类与类之间的关系】、属性【就是属性】[不包括方法]。

1、对该领域不熟悉,用文字说明词汇用图表来表达之间的关系,为今后的设计比较简单。

2、为设计阶段提供一些启示。

就是建一些相关的类。

名称,属性,关联

3、现实世界与计算机世界的一个过渡。

 

31

在建立领域模型时,作为一种关联存在group与user关联起来了,建立模型时,对付复杂类型【就是自己定义的类,好比是group类】的属性作为一种关联不在类图中表示出来,但是在代码中要写出来。

普通的数据类型是intstringdate。

就是系统自带的

例如:

在User中没有group属性,但是在代码中要将其作为属性写上去,这就是属性与关联之间差别。

【普通类型,复杂类型】

属性中的类型的表达:

直接在属性名后面加:

String就可以了

注意这里:

老师里面应该有两个属性【有一个关联】

这里不把Address与User看做一个关联,只是一个属性。

Address确实是一个类,但是在User中的引用为:

PublicclassUser

{

rrivateAddressaddress;

rublicvoidgetAddress(Addressaddress)

{

returnaddress;

}

}

在这个User中,并没有全部实现Address的get和set方法。

因此,作为一个属性存在就行了。

User中会有三个属性。

也可以在类中定义方法的返回值,参数,参数默认值什么的,需要option中show一下才会显示。

 

31

顺序图:

又叫时序图。

按照时间来画的。

用顺序图来描述主路径。

可以看作是用例文本的图形表示。

【用例的实现】

返回用虚线。

不会在顺序图中表示IFELSE

顺序图用于:

1、对用力的实现。

2、系统的控制流建模。

就是系统控制在不同类之间的转换。

就是对象之间是如何来交互的。

【系统控制流】

说明:

竖线框表示生命周期。

X表示周期明显结束

User比其他的矮一截,表示创建

分配职责,就是箭头指向谁。

竖线框表示职责所在。

就是实现箭头指向谁,谁就实现这个方法。

能画出这个顺序图表示在我脑子里面已经有mvc的框架了。

类图,顺序图很重要。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1