回忆(会议)记录——从文档,UML 画图,到三层

 

一、UML

1、每种图中主要关系

用例图:包含(include),扩展(extend),泛化(继承)。

类图:依赖,关联(聚合,组合),泛化。

包图,构件图:依赖,实现

部署图:依赖,关联

其它图中基本有各自特定的线型来连接。

 

综合以上几种关系:UML 中主要有四种关系:依赖,关联,泛化,实现

 

这是按照图来区分的图的关系,这些图给了我们一些框框,其实我们也可以不要这些框框。按照这些“类”的相处来分析一下:

类与类之间可以是:依赖,关联,泛化。这儿的关联有聚合和组合两种。

类与接口之间可以是:实现。

用例之间的关联关系就是:包含,扩展。

 

2、扩展和包含

包含:A用例是B用例的必要组成部分。扩展:A 用例对B 用例来说,可有可无。

好比我们说电脑的时候,无形中就包含了鼠标,键盘,因为单单只有显示器或者主机,电脑是不完整的。还记得电脑的组成吗?主机,输入设备和输出设备,所以,这些都是包含关系。而打印机,和投影仪,耳机这些东西就是扩展设备。

 

3、各种图之间的侧重点:主线图,辅助图。

UML 中的主线图:用例图——类图——时序图。

Why?

用这么几个词来说明给问题:who,What,How,When(谁,干什么,怎么做,什么时候做?)

用例图解决的是:who ,what 的问题。

类图解决:How的问题。

时序图解决的是:When的问题。

既然这样,还要其他图干嘛?存在既有它们的道理。

从两方面说:一静一动。

静态图:

一个系统中的类不是一两个,多的时候,想要清楚的表述他们之间的关系我们需要单个来对类进行分析——状态图。

宏观分析系统——包图,构件图

动态图:

了解系统流程——活动图。

表述两两类之间的合作情况——协作图。

 

系统做完了,在时间环境中的安排——部署图。

 

   补充:

包图怎么分?

1.按功能划分:每个模块都可以单独运行,模块之间的联系不是太大,但是可能会造成类的冗余

2、按层划分:结构清晰,层与层的封装性好,对外只有接口,但是必须组合起来才可以运行,So,在团队中沟通良好的环境适合,大家约定好,系统才可以运行起来。

 

二、文档

各个文档的内容如何安排

原则:让读者明白软件产品的用途及其如何使用。具体格式,视情况而定,没有统一的标准。

数据:在文档中,有专门的数据库设计文档,在数据可设计文档中,要对数据的设计进行详尽的描述,而其他文档中涉及的数据库的知识,不需要长篇大论,说明即可。

文档中的图:主要有程序流程图,数据流图。

测试文档:制定好测试计划,怎么测试,测试要求,具体负责人,达到什么样的结果。

 

三、三层

Dataset 和实体类的使用。

DataSet:在程序中的数据集,存储从数据库中取出的数据。

实体类:即Model。同样是数据库在程序中的映射。

相同:都是根据预设,从数据库中取出数据,用户程序操作。

不同:预设不同。前者是根据SQL 语句取出,后者是通过定义实体类取出。

由他们的不同也可以分析出他们之间的优缺点:

DataSet一般用户集体取数据,因为在DataSet中有跟数据库库一样完善的表,列,行结构。这就决定了它的操作复杂性。

实体类:是用户自己定义,使用灵活,一般适合少量字段的访问,操作简单。

 

逻辑:并不是有力逻辑层,所有的逻辑都可以放到逻辑层进行处理。

一些不需要访问数据库的,跟界面有关的简单逻辑,放在U 层还是比较方便的,如果是很长的判断逻辑,那么可以以一个方法的形式封装在L层。

 

总之就是一句话,这些都是都是视情况而定,具体情况,具体分析,变是永远不变的。

实践才是最好的老师。

 

 

 

你可能感兴趣的:(文档,UML,UML,三层)