Chapter 14 迈向对象设计8。 ●●●●● ●●●● ●●。●●
Chapter 14 迈向对象设计
●●●●● ●●●● 大纲 ●●● ●●● ●●●● ●理解动态和静态建模 ●尝试敏捷建模,或用于绘图的∪ML工具
大纲 ⚫ 理解动态和静态建模 ⚫ 尝试敏捷建模,或用于绘图的UML工具
●●●●● ●●●● 什么是动态模型和静态模型 ●●● ●●● ●●●● ●动态模型: ●用于设计处理逻辑,代码行为或方法体 ●UML交互图用于描述动态模型 ●静态模型 ●设计包,类,方法名,属性关联 UML的类图用于描述静态模型
什么是动态模型和静态模型 ⚫ 动态模型: ⚫ 用于设计处理逻辑,代码行为或方法体 ⚫ UML交互图用于描述动态模型 ⚫ 静态模型 ⚫ 设计包,类,方法名,属性关联 ⚫ UML的类图用于描述静态模型
●●●●● ●●●● 动态对象建模 ●●● ●●● ●●●● ●UML的初学者一般都会认为静态视图的类图是 最重要的模型,但事实上,大部分具有挑战性, 有益和有效的设计工作都会在绘制动态视图的 交互图时发生 ●职责驱动的设计 职责分配的原则 设计模式
动态对象建模 ⚫ UML的初学者一般都会认为静态视图的类图是 最重要的模型,但事实上,大部分具有挑战性, 有益和有效的设计工作都会在绘制动态视图的 交互图时发生。 ⚫ 职责驱动的设计 ⚫ 职责分配的原则 ⚫ 设计模式
Domain model ●●●●● ●●●● Busines Modeling ●●● date ●●● quantity ●●●● Use-Case model Vision ♀、< arnves names Require-i Use Case Diagre Use Case Text ments the domai the post- events attributes conditions/ associations at underg make Supplementary changes system Post-conditions ( id, quantity) System Sequence Diagrams requirements that Design Mode must be satisfied Product catalog Design
Operation: enterItem(…) Post-conditions: - . . . Operation Contracts Sale date . . . Sales LineItem quantity 1 1..* . . . . . . Domain Model Use-Case Model Design Model : Register enterItem (itemID, quantity) : ProductCatalog spec = getProductSpec( itemID ) addLineItem( spec, quantity ) : Sale Requirements Business Modeling Design Sample UP Artifact Relationships : System enterItem (id, quantity) Use Case Text System Sequence Diagrams make NewSale() system events Cashier Process Sale : Cashier use case names system operations Use Case Diagram Vision Supplementary Specification Glossary starting events to design for, and more detailed requirements that must be satisfied by the software Process Sale 1. Customer arrives ... 2. ... 3. Cashier enters item identifier. the domain objects, attributes, and associations that undergo changes requirements that must be satisfied by the software ideas for the postconditions
●●●●● ●●●● 关于绘制UML图形 ●●● ●●● ●●●● ●敏捷方法 ●绘制草图 与其它人一同建模 并行创建若干模型 UML CASE工具 推荐能与源程序编辑器一起工作的工具
关于绘制UML图形 ⚫ 敏捷方法 ⚫ 绘制草图 ⚫ 与其它人一同建模 ⚫ 并行创建若干模型 ⚫ UML CASE工具 ⚫ 推荐能与源程序编辑器一起工作的工具
●●●●● ●●●● 其他对象设计技术:CRC卡 ●●● ●●● ●●●● ●人们对不同的设计方法各有偏好除了因为熟 悉该种方法外,更重要的是因为每个人有不同 的认知方式。 类职责协作(CRC)卡是流行的面向文本的建模 技术,方法是,用纸质的索引卡片记录类的职 责和协作。每张卡片代表一个类
其他对象设计技术:CRC卡 ⚫ 人们对 不同的设计方法各有偏好除了因为熟 悉该种方法外,更重要的是因为每个人有不同 的认知方式。 ⚫ 类职责协作(CRC)卡是流行的面向文本的建模 技术,方法是,用纸质的索引卡片记录类的职 责和协作。每张卡片代表一个类