SlideShare a Scribd company logo
1 of 44
Business Analysis
Training
Introduction to OOA and UML
Page 2Classification: Restricted
Agenda
• Introduction to OOA and UML
• Stated vs Un-stated
• Software Analysis and Design
• Modeling
• UML
• Why UML
• Overview
• Types
• Use Case Diagram
• Types of Actor
• Class Diagram
• What is Class Diagram
• Class Representation
• Types of Class
• Sequence Diagram
• Interaction Diagram
Page 3Classification: Restricted
Introduction
• Object Oriented Analysis and Design is an important skill for Business
Analysts as well as Technical Architects
• The design is dependent on a good analysis
Page 4Classification: Restricted
Why Do We Need Object Oriented
Analysis or a Structured Analysis?
Page 5Classification: Restricted
Software Analysis and Design
Page 6Classification: Restricted
Modeling
• Describing a system at a high level of abstraction
– A model of the system
– Used for requirements and specifications
• Is it necessary to model software systems?
Page 7Classification: Restricted
What is UML?
• UML stands for “Unified Modeling Language”
• It is a industry-standard graphical language for specifying, visualizing,
constructing, and documenting the artifacts of software systems
• The UML uses mostly graphical notations to express the OO analysis and
design of software projects.
• Simplifies the complex process of software design
Page 8Classification: Restricted
Why UML for Modeling
• Use graphical notation to communicate more clearly than natural
language (imprecise) and code(too detailed).
• Help acquire an overall view of a system.
• UML is not dependent on any one language or technology.
• UML moves us from fragmentation to standardization.
Page 9Classification: Restricted
Types of UML Diagrams
• Use Case Diagram
• Class Diagram
• Sequence Diagram
• Collaboration Diagram
• State Diagram
This is only a subset of diagrams … but are most widely used
Page 10Classification: Restricted
Use Case Diagram
• Used for describing a set of user scenarios
• Mainly used for capturing user requirements
• Work like a contract between end user and software developers
Page 11Classification: Restricted
Use Case Diagram (core components)
Actors: A role that a user plays with respect to the system, including human
users and other systems. e.g., inanimate physical objects (e.g. robot); an
external system that needs some information from the current system.
Use case: A set of scenarios that describing an interaction between a user
and a system, including alternatives.
System boundary: rectangle diagram representing the boundary between
the actors and the system.
Page 12Classification: Restricted
Use Case Diagram (core relationship)
Association: communication between an actor and a use case;
Represented by a solid line.
Generalization: relationship between one general use case and a
special use case (used for defining special alternatives)
Represented by a line with a triangular arrow head toward the parent
use case.
Page 13Classification: Restricted
Generalization
Page 14Classification: Restricted
Use Case Diagram (core relationship)
Include: a dotted line labeled <<include>> beginning at base use case and
ending with an arrows pointing to the include use case. The include
relationship occurs when a chunk of behavior is similar across more than one
use case. Use “include” in stead of copying the description of that behavior.
<<include>>
Extend: a dotted line labeled <<extend>> with an arrow toward the base case.
The extending use case may add behavior to the base use case. The base class
declares “extension points”.
<<extend>>
Page 15Classification: Restricted
Use Case Diagram (core relationship)
Page 16Classification: Restricted
Use Case Diagram (core relationship)
Page 17Classification: Restricted
Use Case Diagrams
Library System
Borrow
Order Title
Fine Remittance
Client
Employee
Supervisor
Boundary
Actor
Use Case
Page 18Classification: Restricted
Use Case Diagrams
Page 19Classification: Restricted
Types of Actor
Actors
Primary Actor Secondary Actor
Page 20Classification: Restricted
Types of Actor
Page 21Classification: Restricted
Exercise
Page 22Classification: Restricted
Use Case Specification
Page 23Classification: Restricted
Exercise
Page 24Classification: Restricted
Use Cases for the Exercise
Page 25Classification: Restricted
Actors for the Exercise
Page 26Classification: Restricted
Relationship between the actors
Page 27Classification: Restricted
27
• Object-oriented analysis and design (OOAD) is a technical approach used in
the analysis and design of an application or system through the application
of the object-oriented paradigm and concepts including visual modeling.
• This is applied throughout the development life cycle of the application or
system, fostering better product quality and even encouraging stakeholder
participation and communication
Page 28Classification: Restricted
• Used for describing structure and behavior in the use cases
• Provide a conceptual model of the system in terms of entities and their
relationships
• Used for requirement capture, end-user interaction
• Detailed class diagrams are used for developers
Class diagram
Page 29Classification: Restricted
A collection of similar objects is a class. And an object is an instance of a class.
What is a Class?
Page 30Classification: Restricted
Class representation
• Each class is represented by a rectangle subdivided into three
compartments
• Name
• Attributes
• Operations
• Modifiers are used to indicate visibility of attributes and operations.
• ‘+’ is used to denote Public visibility (everyone)
• ‘#’ is used to denote Protected visibility (friends and derived)
• ‘-’ is used to denote Private visibility (no one)
• By default, attributes are hidden and operations are visible.
Page 31Classification: Restricted
An example of Class
Account_Name
- Customer_Name
- Balance
+addFunds( )
+withDraw( )
+transfer( )
Name
Attributes
Operations
Page 32Classification: Restricted
• Super Class
• Parent Class
• Generalized Class
• Specialized Class
• Sub Class
• Child Class
Types of Classes
Page 33Classification: Restricted
Animal
Amphibian Mammal Reptile
Horse
Example
Child Class
of Animal
Child Class
of Animal
Child Class
of Mammal
Super Class
of horse
Parent Class
of Mammal
Sub Class of
Animal
Page 34Classification: Restricted
OO Relationships
• There are two kinds of Relationships
• Generalization (parent-child relationship)
• Association (one object to another object relationship)
• Associations can be further classified as
• Aggregation
• Composition
Page 35Classification: Restricted
OO Relationships : Generalization
Subtype2
Supertype
Subtype1
• Generalization expresses a
parent/child relationship
among related classes.
• Used for abstracting details in
several layers
Regular
Customer
Loyalty
Customer
Customer
Example
:
Regular
Customer
Loyalty
Customer
Customeror:
Page 36Classification: Restricted
OO Relationships : Association
• Represent relationship between instances of classes
• Student enrolls in a course
• Courses have students
• Courses have exams
• Etc.
• Association has two ends
• Role names (e.g. enrolls)
• Multiplicity (e.g. One course can have many students)
• Navigability (unidirectional, bidirectional)
Page 37Classification: Restricted
University Person
1
0..1
*
*
Multiplicity
Symbol Meaning
1 One and only one
0..1 Zero or one
M..N From M to N (natural language)
* From zero to any positive integer
0..* From zero to any positive integer
1..* From one to any positive integer
teacheremployee
Role
“A given university groups many people;
some act as students, others as teachers.
A given student belongs to a single
university; a given teacher may or may not
be working for the university at a particular
time.”
student
Association: Multiplicity and Roles
Page 38Classification: Restricted
Class Diagram
Page 39Classification: Restricted
OO Relationships : Composition
Class W
Class P1 Class P2
Whole Class
Part Classes
Automobile
Engine Transmission
Example
Composition: expresses a relationship among instances of
related classes. It is a specific kind of Whole-Part
relationship.
It expresses a relationship where an instance of the
Whole-class has the responsibility to create and initialize
instances of each Part-class.
It may also be used to express a relationship where instances
of the Part-classes have privileged access or visibility to
certain attributes and/or behaviors defined by the Whole-
class.
Composition should also be used to express relationship
where instances of the Whole-class have exclusive access to
and control of instances of the Part-classes.
Composition should be used to express a relationship where
the behavior of Part instances is undefined without being
related to an instance of the Whole. And, conversely, the
behavior of the Whole is ill-defined or incomplete if one or
more of the Part instances are undefined.
[From Dr.David A. Workman]
Page 40Classification: Restricted
OO Relationships : Composition
[From Dr.David A. orkman]
Class C
Class E1 Class E2
AGGREGATION
Container Class
Containee Classes
Bag
Apples Milk
Example
Aggregation: expresses a relationship among
instances of related classes. It is a specific kind of
Container-Containee relationship.
It expresses a relationship where an instance of
the Container-class has the responsibility to hold
and maintain instances of each Containee-class
that have been created outside the auspices of the
Container class.
Aggregation should be used to express a more
informal relationship than composition expresses.
That is, it is an appropriate relationship where the
Container and its Containees can be manipulated
independently.
Aggregation is appropriate when Container and
Containees have no special access privileges to
each other.
Page 41Classification: Restricted
Aggregations vs. Composition
• Composition is really a strong form of aggregation
• components have only one owner
• components cannot exist independent of their
owner
• components live or die with their owner
e.g. Each car has an engine that can not be
shared with other cars.
•Aggregations may form "part of" the aggregate, but may not be
essential to it. They may also exist independent of the aggregate.
e.g. Apples may exist independent of the bag.
Page 42Classification: Restricted
Interaction Diagrams
A Sequence diagram is an interaction diagram that shows how objects
operate with one another and in what order.
• They're also called event diagrams.
• A sequence diagram is a good way to visualize and validate various
runtime scenarios.
• These can help to predict how a system will behave and to discover
responsibilities a class may need to have in the process of
modeling a new system
Page 43Classification: Restricted
• Sequence Diagram (Cont…)
• Interaction Diagram
• State Diagram
• Activity Diagram
Topics to be covered in next session
Page 44Classification: Restricted
Thank you

More Related Content

What's hot (18)

Ch 5 O O Data Modeling
Ch 5  O O  Data ModelingCh 5  O O  Data Modeling
Ch 5 O O Data Modeling
 
Ch 6 Logical D B Design
Ch 6  Logical D B  DesignCh 6  Logical D B  Design
Ch 6 Logical D B Design
 
The Database Environment Chapter 4
The Database Environment Chapter 4The Database Environment Chapter 4
The Database Environment Chapter 4
 
Ch 5 O O Data Modeling Class
Ch 5  O O  Data Modeling ClassCh 5  O O  Data Modeling Class
Ch 5 O O Data Modeling Class
 
The Database Environment Chapter 14
The Database Environment Chapter 14The Database Environment Chapter 14
The Database Environment Chapter 14
 
Ch 3 E R Model
Ch 3  E R  ModelCh 3  E R  Model
Ch 3 E R Model
 
S6 advanced issues in erd pdf
S6 advanced issues in erd pdfS6 advanced issues in erd pdf
S6 advanced issues in erd pdf
 
EER Model
EER ModelEER Model
EER Model
 
Basic database analysis(database)
Basic database analysis(database)Basic database analysis(database)
Basic database analysis(database)
 
Data modeling
Data modelingData modeling
Data modeling
 
Module 5 oodb systems semantic db systems
Module 5 oodb systems  semantic db systemsModule 5 oodb systems  semantic db systems
Module 5 oodb systems semantic db systems
 
The Relational Model
The Relational ModelThe Relational Model
The Relational Model
 
ERD - Entity Relationship Diagram
ERD - Entity Relationship DiagramERD - Entity Relationship Diagram
ERD - Entity Relationship Diagram
 
Eer case study
Eer case studyEer case study
Eer case study
 
D I T211 Chapter 3
D I T211    Chapter 3D I T211    Chapter 3
D I T211 Chapter 3
 
Fundamentals of Data Modeling and Database Design by Dr. Kamal Gulati
Fundamentals of Data Modeling and Database Design by Dr. Kamal GulatiFundamentals of Data Modeling and Database Design by Dr. Kamal Gulati
Fundamentals of Data Modeling and Database Design by Dr. Kamal Gulati
 
Ch 4 E E R Biz Rules
Ch 4  E E R  Biz RulesCh 4  E E R  Biz Rules
Ch 4 E E R Biz Rules
 
Erd chapter 3
Erd chapter 3Erd chapter 3
Erd chapter 3
 

Similar to Introduction to OOA and UML - Part 1

Similar to Introduction to OOA and UML - Part 1 (20)

Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Introduction to OOA and UML - Part 2
Introduction to OOA and UML - Part 2 Introduction to OOA and UML - Part 2
Introduction to OOA and UML - Part 2
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 
Uml report
Uml reportUml report
Uml report
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Mca 504 dotnet_unit4
Mca 504 dotnet_unit4Mca 504 dotnet_unit4
Mca 504 dotnet_unit4
 
2 class use case
2 class use case2 class use case
2 class use case
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
Uml
UmlUml
Uml
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
 
TEST PPT
TEST PPTTEST PPT
TEST PPT
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Sda 7
Sda   7Sda   7
Sda 7
 
UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptx
 

More from Shwetha-BA

Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation TechniquesShwetha-BA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingShwetha-BA
 
Requirements Management
Requirements ManagementRequirements Management
Requirements ManagementShwetha-BA
 
Enterprise Analysis
Enterprise AnalysisEnterprise Analysis
Enterprise AnalysisShwetha-BA
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLCShwetha-BA
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business AnalysisShwetha-BA
 
Business Aanalysis Resume/Interview preparation
Business Aanalysis Resume/Interview preparation Business Aanalysis Resume/Interview preparation
Business Aanalysis Resume/Interview preparation Shwetha-BA
 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role) Shwetha-BA
 
Requirements Management
Requirements Management Requirements Management
Requirements Management Shwetha-BA
 
Requirement Elicitation Techniques
Requirement Elicitation Techniques Requirement Elicitation Techniques
Requirement Elicitation Techniques Shwetha-BA
 
Enterprise Analysis
Enterprise Analysis Enterprise Analysis
Enterprise Analysis Shwetha-BA
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLCShwetha-BA
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business AnalysisShwetha-BA
 

More from Shwetha-BA (13)

Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation Techniques
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Requirements Management
Requirements ManagementRequirements Management
Requirements Management
 
Enterprise Analysis
Enterprise AnalysisEnterprise Analysis
Enterprise Analysis
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLC
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business Analysis
 
Business Aanalysis Resume/Interview preparation
Business Aanalysis Resume/Interview preparation Business Aanalysis Resume/Interview preparation
Business Aanalysis Resume/Interview preparation
 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role)
 
Requirements Management
Requirements Management Requirements Management
Requirements Management
 
Requirement Elicitation Techniques
Requirement Elicitation Techniques Requirement Elicitation Techniques
Requirement Elicitation Techniques
 
Enterprise Analysis
Enterprise Analysis Enterprise Analysis
Enterprise Analysis
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLC
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business Analysis
 

Recently uploaded

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Introduction to OOA and UML - Part 1

  • 2. Page 2Classification: Restricted Agenda • Introduction to OOA and UML • Stated vs Un-stated • Software Analysis and Design • Modeling • UML • Why UML • Overview • Types • Use Case Diagram • Types of Actor • Class Diagram • What is Class Diagram • Class Representation • Types of Class • Sequence Diagram • Interaction Diagram
  • 3. Page 3Classification: Restricted Introduction • Object Oriented Analysis and Design is an important skill for Business Analysts as well as Technical Architects • The design is dependent on a good analysis
  • 4. Page 4Classification: Restricted Why Do We Need Object Oriented Analysis or a Structured Analysis?
  • 6. Page 6Classification: Restricted Modeling • Describing a system at a high level of abstraction – A model of the system – Used for requirements and specifications • Is it necessary to model software systems?
  • 7. Page 7Classification: Restricted What is UML? • UML stands for “Unified Modeling Language” • It is a industry-standard graphical language for specifying, visualizing, constructing, and documenting the artifacts of software systems • The UML uses mostly graphical notations to express the OO analysis and design of software projects. • Simplifies the complex process of software design
  • 8. Page 8Classification: Restricted Why UML for Modeling • Use graphical notation to communicate more clearly than natural language (imprecise) and code(too detailed). • Help acquire an overall view of a system. • UML is not dependent on any one language or technology. • UML moves us from fragmentation to standardization.
  • 9. Page 9Classification: Restricted Types of UML Diagrams • Use Case Diagram • Class Diagram • Sequence Diagram • Collaboration Diagram • State Diagram This is only a subset of diagrams … but are most widely used
  • 10. Page 10Classification: Restricted Use Case Diagram • Used for describing a set of user scenarios • Mainly used for capturing user requirements • Work like a contract between end user and software developers
  • 11. Page 11Classification: Restricted Use Case Diagram (core components) Actors: A role that a user plays with respect to the system, including human users and other systems. e.g., inanimate physical objects (e.g. robot); an external system that needs some information from the current system. Use case: A set of scenarios that describing an interaction between a user and a system, including alternatives. System boundary: rectangle diagram representing the boundary between the actors and the system.
  • 12. Page 12Classification: Restricted Use Case Diagram (core relationship) Association: communication between an actor and a use case; Represented by a solid line. Generalization: relationship between one general use case and a special use case (used for defining special alternatives) Represented by a line with a triangular arrow head toward the parent use case.
  • 14. Page 14Classification: Restricted Use Case Diagram (core relationship) Include: a dotted line labeled <<include>> beginning at base use case and ending with an arrows pointing to the include use case. The include relationship occurs when a chunk of behavior is similar across more than one use case. Use “include” in stead of copying the description of that behavior. <<include>> Extend: a dotted line labeled <<extend>> with an arrow toward the base case. The extending use case may add behavior to the base use case. The base class declares “extension points”. <<extend>>
  • 15. Page 15Classification: Restricted Use Case Diagram (core relationship)
  • 16. Page 16Classification: Restricted Use Case Diagram (core relationship)
  • 17. Page 17Classification: Restricted Use Case Diagrams Library System Borrow Order Title Fine Remittance Client Employee Supervisor Boundary Actor Use Case
  • 19. Page 19Classification: Restricted Types of Actor Actors Primary Actor Secondary Actor
  • 24. Page 24Classification: Restricted Use Cases for the Exercise
  • 27. Page 27Classification: Restricted 27 • Object-oriented analysis and design (OOAD) is a technical approach used in the analysis and design of an application or system through the application of the object-oriented paradigm and concepts including visual modeling. • This is applied throughout the development life cycle of the application or system, fostering better product quality and even encouraging stakeholder participation and communication
  • 28. Page 28Classification: Restricted • Used for describing structure and behavior in the use cases • Provide a conceptual model of the system in terms of entities and their relationships • Used for requirement capture, end-user interaction • Detailed class diagrams are used for developers Class diagram
  • 29. Page 29Classification: Restricted A collection of similar objects is a class. And an object is an instance of a class. What is a Class?
  • 30. Page 30Classification: Restricted Class representation • Each class is represented by a rectangle subdivided into three compartments • Name • Attributes • Operations • Modifiers are used to indicate visibility of attributes and operations. • ‘+’ is used to denote Public visibility (everyone) • ‘#’ is used to denote Protected visibility (friends and derived) • ‘-’ is used to denote Private visibility (no one) • By default, attributes are hidden and operations are visible.
  • 31. Page 31Classification: Restricted An example of Class Account_Name - Customer_Name - Balance +addFunds( ) +withDraw( ) +transfer( ) Name Attributes Operations
  • 32. Page 32Classification: Restricted • Super Class • Parent Class • Generalized Class • Specialized Class • Sub Class • Child Class Types of Classes
  • 33. Page 33Classification: Restricted Animal Amphibian Mammal Reptile Horse Example Child Class of Animal Child Class of Animal Child Class of Mammal Super Class of horse Parent Class of Mammal Sub Class of Animal
  • 34. Page 34Classification: Restricted OO Relationships • There are two kinds of Relationships • Generalization (parent-child relationship) • Association (one object to another object relationship) • Associations can be further classified as • Aggregation • Composition
  • 35. Page 35Classification: Restricted OO Relationships : Generalization Subtype2 Supertype Subtype1 • Generalization expresses a parent/child relationship among related classes. • Used for abstracting details in several layers Regular Customer Loyalty Customer Customer Example : Regular Customer Loyalty Customer Customeror:
  • 36. Page 36Classification: Restricted OO Relationships : Association • Represent relationship between instances of classes • Student enrolls in a course • Courses have students • Courses have exams • Etc. • Association has two ends • Role names (e.g. enrolls) • Multiplicity (e.g. One course can have many students) • Navigability (unidirectional, bidirectional)
  • 37. Page 37Classification: Restricted University Person 1 0..1 * * Multiplicity Symbol Meaning 1 One and only one 0..1 Zero or one M..N From M to N (natural language) * From zero to any positive integer 0..* From zero to any positive integer 1..* From one to any positive integer teacheremployee Role “A given university groups many people; some act as students, others as teachers. A given student belongs to a single university; a given teacher may or may not be working for the university at a particular time.” student Association: Multiplicity and Roles
  • 39. Page 39Classification: Restricted OO Relationships : Composition Class W Class P1 Class P2 Whole Class Part Classes Automobile Engine Transmission Example Composition: expresses a relationship among instances of related classes. It is a specific kind of Whole-Part relationship. It expresses a relationship where an instance of the Whole-class has the responsibility to create and initialize instances of each Part-class. It may also be used to express a relationship where instances of the Part-classes have privileged access or visibility to certain attributes and/or behaviors defined by the Whole- class. Composition should also be used to express relationship where instances of the Whole-class have exclusive access to and control of instances of the Part-classes. Composition should be used to express a relationship where the behavior of Part instances is undefined without being related to an instance of the Whole. And, conversely, the behavior of the Whole is ill-defined or incomplete if one or more of the Part instances are undefined. [From Dr.David A. Workman]
  • 40. Page 40Classification: Restricted OO Relationships : Composition [From Dr.David A. orkman] Class C Class E1 Class E2 AGGREGATION Container Class Containee Classes Bag Apples Milk Example Aggregation: expresses a relationship among instances of related classes. It is a specific kind of Container-Containee relationship. It expresses a relationship where an instance of the Container-class has the responsibility to hold and maintain instances of each Containee-class that have been created outside the auspices of the Container class. Aggregation should be used to express a more informal relationship than composition expresses. That is, it is an appropriate relationship where the Container and its Containees can be manipulated independently. Aggregation is appropriate when Container and Containees have no special access privileges to each other.
  • 41. Page 41Classification: Restricted Aggregations vs. Composition • Composition is really a strong form of aggregation • components have only one owner • components cannot exist independent of their owner • components live or die with their owner e.g. Each car has an engine that can not be shared with other cars. •Aggregations may form "part of" the aggregate, but may not be essential to it. They may also exist independent of the aggregate. e.g. Apples may exist independent of the bag.
  • 42. Page 42Classification: Restricted Interaction Diagrams A Sequence diagram is an interaction diagram that shows how objects operate with one another and in what order. • They're also called event diagrams. • A sequence diagram is a good way to visualize and validate various runtime scenarios. • These can help to predict how a system will behave and to discover responsibilities a class may need to have in the process of modeling a new system
  • 43. Page 43Classification: Restricted • Sequence Diagram (Cont…) • Interaction Diagram • State Diagram • Activity Diagram Topics to be covered in next session