Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 4 Object-Oriented Paradigm - Coggle Diagram
Chapter 4 Object-Oriented Paradigm
4.1 Overview
A very popular design approach, applies to many of the software architecture styles. Popular since 1980's
OO programming language: C++, Java, C#
OO Software Engineering
OO Design
OO Programming
OO Analysis
Three principles
Inheritance
Polymorphism
Encapsulation
4.2 Introducing the Object-Oriented Paradigm
4.2.1 Classes and Objects
An object is an
instance of a class
A class defines the attributes and behaviors shared by all
of its objects
4.2.2 Relationships
The dynamic (behavioral) specification describes the
relationships among objects
The static (logical) level are described the relationships among classes
4.2.2.2 Aggregation
Aggregation is represented using a hollow diamond arrowhead.
4.2.2.3 Association
Association represents the logical relationship among classes
4.2.2.1 Composition
Composition represents the whole/part relationship between classes
4.2.2.4 Inheritance
The inheritance relationship is represented using a line with a closed arrowhead
4.3 OO Analysis
Outcome
Requirement specification
Initial logic structure of the system
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
4.4 OO Design
Goal: develop overall structure of system
4.4.3 Step 3: Build a State Machine Diagram
4.4.2 Step 2: Construct an Interaction Diagram
4.4.4 Step 4: Class Specification
4.4.1 Step 1: Identify Classes—CRC Card
4.5 Design Principles
4.5.2 Ensuring Cohesion
4.5.3 Open-Closed Principle
Open to extension
Closed to modification
4.5.1 Principle of Decoupling