《大象Thinking in UML》笔记(一)
(2013-09-26 15:54:39)
标签:
it |
《大象Thinking in UML》摘要
业务用例
系统用例,用例的粒度
边界
实体:业务实体
包,常见包的版型有:
领域包
子系统
组织结构
层:展现层,业务逻辑层,数据持久层
分析类:从功能性需求向系统转化的关口
三大分析类: 边界类、控制类、实体类
控制类可以是: session bean, COM+,Server Let, Java 类,C++类等,主要位于业务逻辑层。
实体类可以是:Entity Bean, POJO,SDO, XML Bean等,甚至是一条SQL语句
设计类:版型如接口,JSP,等
类、属性、方法
可见性: 共有,保护,私有,实施(取决于实现所用的语言)
用例的关系: 关联关系,依赖关系,扩展关系(extends),包含关系(include)(例如分解出两个或更多个用例所共有的关系),实现关系(realize),精化关系(refine)(A精化了B),泛化关系(generalization)(A 继承自B),聚合关系(aggregation),组合关系(composition)
组件:UML的定义,组件之间唯一的关系就是依赖。从SOA的观点看,组件可以是服务,服务之间是松耦合关系,完全独立。
组件的粒度: 分布式组合(组件相互之间用通信协议交互)、应用集成(新系统和遗留系统可用组件划分)、第三方系统、SOA服务(服务之间采用不同组件)
UML静态图: 用例图、类图、包图
动态图: 活动图(业务流程图,可省略)、状态图、时序图、协作图
UML核心模型
业务用例模型、概念用例模型、系统用例模型、领域模型、分析模型、设计模型、软件架构和框架模型、模型、组件模型、实施模型
分析模型: 用分析类时序图实现比较快速简单
**数据库的设计,位置在哪里,如何与分析、设计模型结合?
A:关系数据库按照常规设计进行,通过ORMapping绑定和对象之间的关系。
UDD: 用例驱动方法
DDD: 领域驱动方法 (埃文斯《领域驱动设计》)
ORMapping: O/R mapping
RMI: remote method invocation
RMI对服务器的IP地址和端口依赖很紧密,但是在开发的时候不知道将来的服务器IP和端口如何,但是客户端程序依赖这个IP和端口。这也是RMI的局限性之一。这个问题有两种解决途径:一是通过DNS来解决,二是通过封装将IP暴露到程序代码之外。
SOAP: simple object access protocol,数据交换协议规范,为简化网页服务器(Web Server)从XML数据库中提取数据时,节省去格式化页面时间,以及不同应用程序之间按照HTTP通信协议,遵从XML格式执行资料互换,使其抽象于语言实现、平台和硬件。
SOAP语法规则:
POJO:相对于EJB而言,普通的Java Bean,plain old java object.
PO: persistent object 持久对象
业务用例
系统用例,用例的粒度
边界
实体:业务实体
包,常见包的版型有:
领域包
子系统
组织结构
层:展现层,业务逻辑层,数据持久层
分析类:从功能性需求向系统转化的关口
三大分析类: 边界类、控制类、实体类
控制类可以是: session bean, COM+,Server Let, Java 类,C++类等,主要位于业务逻辑层。
实体类可以是:Entity Bean, POJO,SDO, XML Bean等,甚至是一条SQL语句
设计类:版型如接口,JSP,等
类、属性、方法
可见性: 共有,保护,私有,实施(取决于实现所用的语言)
用例的关系: 关联关系,依赖关系,扩展关系(extends),包含关系(include)(例如分解出两个或更多个用例所共有的关系),实现关系(realize),精化关系(refine)(A精化了B),泛化关系(generalization)(A 继承自B),聚合关系(aggregation),组合关系(composition)
组件:UML的定义,组件之间唯一的关系就是依赖。从SOA的观点看,组件可以是服务,服务之间是松耦合关系,完全独立。
组件的粒度: 分布式组合(组件相互之间用通信协议交互)、应用集成(新系统和遗留系统可用组件划分)、第三方系统、SOA服务(服务之间采用不同组件)
UML静态图: 用例图、类图、包图
动态图: 活动图(业务流程图,可省略)、状态图、时序图、协作图
UML核心模型
业务用例模型、概念用例模型、系统用例模型、领域模型、分析模型、设计模型、软件架构和框架模型、模型、组件模型、实施模型
分析模型: 用分析类时序图实现比较快速简单
**数据库的设计,位置在哪里,如何与分析、设计模型结合?
A:关系数据库按照常规设计进行,通过ORMapping绑定和对象之间的关系。
UDD: 用例驱动方法
DDD: 领域驱动方法 (埃文斯《领域驱动设计》)
ORMapping: O/R mapping
RMI: remote method invocation
RMI对服务器的IP地址和端口依赖很紧密,但是在开发的时候不知道将来的服务器IP和端口如何,但是客户端程序依赖这个IP和端口。这也是RMI的局限性之一。这个问题有两种解决途径:一是通过DNS来解决,二是通过封装将IP暴露到程序代码之外。
RMI的局限性之二是RMI是Java语言的远程调用,两端的程序语言必须是Java实现,对于不同语言间的通讯可以考虑用Web
Service或者公用对象请求代理体系(CORBA)来实现。
SOAP: simple object access protocol,数据交换协议规范,为简化网页服务器(Web Server)从XML数据库中提取数据时,节省去格式化页面时间,以及不同应用程序之间按照HTTP通信协议,遵从XML格式执行资料互换,使其抽象于语言实现、平台和硬件。
SOAP语法规则:
- SOAP 消息必须用 XML 来编码
- SOAP 消息必须使用 SOAP Envelope 命名空间
- SOAP 消息必须使用 SOAP Encoding 命名空间
- SOAP 消息不能包含 DTD 引用
- SOAP 消息不能包含 XML 处理指令
POJO:相对于EJB而言,普通的Java Bean,plain old java object.
PO: persistent object 持久对象
后一篇:我们这神奇的一代