Please enable JavaScript.
Coggle requires JavaScript to display documents.
SWD - Coggle Diagram
SWD
Chapter 4: Object-Oriented Paradigm
4.1 : Overview
Inheritance
Polymorphism
Encapsulation
4.4 : OO Design
4.4.1 Step 1: Identify Classes—CRC Card
Class-Responsibility-Collaborator
Identify classes to build a system
4.4.2 Step 2: Construct an Interaction Diagram
Mostly used: sequence diagram
Process: reconstruct the flow of events using sequence diagram
4.4.3 Step 3: Build a State Machine Diagram
Describe the life-cycle of an object
Many times directly translated into implementation; sometimes not.
4.4.4 Step 4: Class Specification
Determine the set of attributes and operations
Nail down the interface of each class
4.3 : OO Analysis
4.3.1 Step 1: Design of a UML Use Case Diagram
4.3.2 Step 2: Develop an Analysis Class Diagram via Noun Extraction
Analysis Class Diagram also called “Concepts Class Diagram
The diagram does not include all classes in the real implementation
Noun Extraction
Boundary Class
Entity Class
Control Class
4.5 : Design Principles
4.5.1 Principle of Decoupling
Less interdependency
Simplicity and elegance in implementation
Easy extension
4.5.2 Ensuring Cohesion
A class only performs closely related operations
Logically good! Easy to maintain
4.5.3 Open-Closed Principle
Open to Extension :
The system can be extended to meet new requirements
Close to Modification :
The existing implementation should not be modified
4.2 : Introducing the Object-Oriented Paradigm
4.2.1 : Classes and Objects
A class defines the attributes and behaviors shared by all
of its objects
It generally consists of three elements: a class name, a list
of attributes, and a list of operations.
4.2.2 Relationships
Instance Level Relationships
Composition
Represents the whole/part relationship between classes
The parts of a class have the same lifespan as their owner
Is represented using a solid diamond arrowhead
Aggregation
Parts involved in an aggregation relationship do not have to share the same lifespan as the owner
In UML, aggregation is represented using a hollow diamond arrowhead.
Association
Association represents the logical relationship among classes
An association is a connection between classes, a semantic connection (link) between objects of the classes involved in the association.
An association is normally bidirectional
Inheritance