SlideShare a Scribd company logo
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
SEWI ZG512
Object Oriented Analysis and Design
Harvinder S Jabbal
CS-1: Introduction
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 1
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• It shall be the responsibility of the individual student
to be regular in maintaining the self-study schedule
as given in the course handout, attend the lectures,
and take all the prescribed evaluation components
such as Assignment/Quiz, Mid-Semester Test and
Comprehensive Exam according to the evaluation
scheme provided in the handout.
responsibility of the individual student
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 2
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
CS1.1 = Explanation of the material to be covered in this course
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 3
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
1. The teaching methodology consists of Lectures, Lab
exercises, Work integrated learning activities and / or
project work.
2. The methodology will also include Case studies to
illustrate design of real life software, key challenges in
design of software and best practices used in the industry.
Teaching Methodology
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 4
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Time Type Sequence Content
Reference
Pre CH Not Applicable
During CH CH1.1 CS1.1 = Explanation of the material to be covered in this course
Post CH SS1 SS1.1 = Read Preface from Text: T1
HW1 HW1.1 = Visit http://www.uml-diagrams.org
LE1 None
QZ1 QZ1.1 = List the main diagram types available under uml 2.0
Lab Reference
M0: Introduction
CS01:
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 5
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
OOAD
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 6
Topics and Skills
UML notation
Requirements
analysis
Principles and
guidelines
Patterns
Iterative
development with
an agile Unified
Process
OOA/D
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Modules
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 7
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
No Title of the Module
M1
Introduction
Fundamentals of Object oriented approach
Characteristics of good design
Overview of OOAD
Overview of Unified Process for software development
M2
Requirement
gathering
Use cases – Actors, goals (needs), scenarios
Different formats to write use cases
Use case diagram – Include & Extend relationship
M3
Analysis
Static analysis
Conceptual Classes & Associations
Class diagram – Sub class, Association class, Association role, Aggregation & Composition, Reflexive
associations
Dynamic analysis
Swim lanes
Activity diagram
State diagram
System sequence diagram
Operation Contracts
Modules
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 8
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
No Title of the Module
M4
Design
Identification of Software classes
Realizing use cases & assigning responsibilities to Classes using Sequence diagram or Collaboration diagram
Sequence diagram – Iteration, conditional interactions
Software class diagram
Visibility among objects
Package diagram
M5
Best
practices
GRASP (General Responsibility Assignment Software Patterns)
Information Expert, Creator, Low coupling, High cohesion, Controller, Polymorphism, Protected variation,
Indirection, Pure fabrication
Gang of Four (GoF) Patterns
Adaptor, Composite, Facade, Factory, Singleton, Strategy, Observer, Iterator
Modules
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 9
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
About the Course
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 10
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
No Objective
CO1 To enable students to design software that is easy to understand, easy to maintain, and is modular and
extensible
CO2 To enable students to evaluate the quality of software design
Course Objectives
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 11
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Ser. Text Book(s)
T1 Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and
Iterative Development, Pearson Education, 3nd Ed., 2012
T2 Erich Gamma et al., Design Patterns: Elements of Reusable Object-Oriented Software, 1994
Text Book(s)/Reference Book(s) & other resources
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 12
Ser. Reference Book(s) & other resources
R1 Michael Blaha, James Rambaugh, Object-Oriented Modelling & Design with UML, Pearson, 2nd Ed.,
2005.
R2 http://www.uml-diagrams.org
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
No Learning Outcomes
LO1 Students will know the characteristics of good design
LO2 Students will know how to gather requirements, analyse requirements and design software for them
LO3 Students will know the best practices used in industry to design software
LO4 Students will be able to document design using UML diagrams
LO5 Students will be able to design software classes for simple systems
L06 Students will be able to evaluate quality of software design
Learning Outcomes:
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 13
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Some Typical Case
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 14
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
A typical case Study
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 15
Plane
tailNumber
public class Plane
{
private String tailNumber;
public List getFlightHistory() {...}
}
domain concept
visualization of
domain concept
representation in an
object-oriented
programming language
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Player
name
DiceGame
Die
faceValue
Rolls
Plays
Includes
2
2
1
1
1
1
Domain Model
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 16
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
A Sequence Diagram Sketch
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 17
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
2
Die
faceValue : int
getFaceValue() : int
roll()
DiceGame
die1 : Die
die2 : Die
play()
1
A Class Diagram
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 18
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Conceptual Perspective
(domain model)
Raw UML class diagram
notation used to visualize
real-world concepts.
Specification or
Implementation
Perspective
(design class diagram)
Raw UML class diagram
notation used to visualize
software elements.
2
Die
faceValue : int
getFaceValue() : int
roll()
DiceGame
die1 : Die
die2 : Die
play()
DiceGame Die
faceValue
Includes 2
1
Analysis and Design
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 19
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Software Development Life Cycle
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 20
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Waterfall,
• Unified Process,
• Agile
This course emphasizes the Unified Process.
The Agile Manifesto and its implementation is stressed.
SDLC Models
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 21
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
UNIFIED PROCESS phases
inc. elaboration construction transition
iteration phase
development cycle
release
A stable executable
subset of the final
product. The end of
each iteration is a
minor release.
increment
The difference
(delta) between the
releases of 2
subsequent
iterations.
final production
release
At this point, the
system is released
for production use.
milestone
An iteration end-
point when some
significant decision
or evaluation occurs.
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 22
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Iterative Process
Requirements
Design
Implementation &
Test & Integration
& More Design
Final Integration
& System Test
Requirements
Design
3 weeks (for example)
The system grows
incrementally.
Feedback from
iteration N leads to
refinement and
adaptation of the
requirements and
design in iteration
N+1.
Iterations are fixed in
length, or timeboxed.
Time
Implementation &
Test & Integration
& More Design
Final Integration
& System Test
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 23
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
UNIFIED PROCESS disciplines
Iterations
Sample
UP Disciplines
Business Modeling
Requirements
Design
Implementation
Test
Deployment
Configuration & Change
Management
Project Management
Environment
Focus
of this
book
Note that
although an
iteration includes
work in most
disciplines, the
relative effort and
emphasis change
over time.
This example is
suggestive, not
literal.
A four-week iteration (for example).
A mini-project that includes work in most
disciplines, ending in a stable executable.
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 24
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Unified Modeling Language
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 25
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
“The Unified Modeling Language is a family of graphical notations,
backed by a single meta-model, that help in describing and designing
software systems, particularly software systems built using the
object-oriented style.”
What is UML
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 26
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
UML is standardized. Its content is controlled by the Object
Management Group (OMG), a consortium of companies.
Unified
– UML combined the best from object-oriented software modeling methodologies that were in
existence during the early 1990’s.
– Grady Booch, James Rumbaugh, and Ivor Jacobson are the primary contributors to UML.
UML
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 27
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• UML 2 supports 13 different
types of diagrams
• Each diagram may be
expressed with varying
degrees of detail
• Not all diagrams need be
used to model a SW system
• The UML does not offer an
opinion as to which diagrams
would be most helpful for a
particular type of project
UML Diagrams
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 28
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
• Things
– Structural things
• Classes, interfaces, collaborations, use cases, components, and
nodes.
– Behavioral things
• Messages and states
– Grouping things
• Packages
– Annotational things
• Notes
• Relationships: dependency, association, generalization
and realization.
• Diagrams: class, object, use case, sequence,
collaboration, state-chart, activity, component and
deployment.
A conceptual model needs to be formed by
an individual to understand UML.
UML contains three types of building blocks:
• things,
• relationships,
• diagrams.
A Conceptual Model of the UML
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 29
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Design Patterns or Principles
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 30
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
GRASP
1. Information Expert
2. Creator
3. Controller
4. Low Coupling
5. High Cohesion
6. Polymorphism
7. Pure Fabrication
8. Indirection
9. Protected Variation
SOLID
• Single responsibility
• Open/Close
• Liskov Substitution
• Interface Segregation
• Dependency Intersion
OOAD Patterns or Principles
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 31
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Structural Behavorial
Class
• Interpreter
• Template Method
Object
• Chain of Responsibility
• Command
• Iterator
• Mediator
• Memento
• Observer
• State
• Strategy
• Visitor
Patterns
Creational
Class
• Factory Method
Object
• Abstract Factory
Builder
Prototype
Singleton
Class
• Adapter
Object
• Adapter
• Bridge
• Composite
• Decorator
• Facade
• Proxy
• Flyweight
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 32
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Lab work: Detailed Plan
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 33
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
For Library outlined in the Course Portal, do the following using Star UML tool where ever possible:
Requirement gathering
– Identify the actors and their needs
– Draw Use case diagram
– Write use cases for Issue book & Return book
Analysis
– Draw the domain model for the system
– Draw activity diagram for Issue book
– Identify the states of a book and draw a state transition diagram for Book
Design
– Draw sequence diagrams to realize the use cases “Issue book” and “Return book”
– Draw Software Class diagram based the analysis and design done
Evaluate quality of design
– Given a software class diagram, evaluate the quality of the design based on the characteristics such as Coupling, cohesion, maintainability, etc.
Lab Objective (Not to be submitted)
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 34
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Work integrated activities: Detailed plan
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 35
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Choose a system developed in your organization. (Make sure the system is not chosen by any other group).
1. Understand the purpose, functions & features supported by the system. (You may have to meet & discuss with the team that has
developed the system).
Submit a 1-page write up.
Duration: 2 weeks
2. Understand the analysis & design of the system. (You may have to look at the design documents, speak to architect / designer).
Submit Domain model, System sequence diagram for 4 main use cases, Sequence diagram or Collaboration diagram for 4 main
operations and Software class diagram consisting of main classes.
Duration: 3 weeks
3. Make a presentation consisting of
– System overview
– System analysis
– Software design
– Your observations on the quality of design (characteristics of good design)
– Your recommendations to improve the design
Duration: 2 weeks
Activity description
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 36
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Project work: Detailed Plan
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 37
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Objective of the project: Apply OOAD techniques to design of software
Tasks to be performed by the students, in groups of 10/11:
1. Briefly describe a software application that you want to develop (1 week)
2. Define the requirements using Use case diagram and Use cases (1 week)
3. Analyze the requirements and create Domain model, State diagrams (2 weeks)
4. Draw the Sequence diagram for key use cases (2 weeks)
5. Draw the Software class diagram for the application (1 week)
6. Discuss: What were the key learnings from this assignment?
Duration of the project: 7 weeks
Appendix:
1. Product description document should contain:
2. Name of the product:
3. Purpose of the product:
4. Target users:
5. What pain point does the product try to alleviate:
6. Functions supported by the product:
The Project
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 38
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Case studies: Detailed Plan
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 39
BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956
Case
study
No
Case study Objective
1 Demonstrate real life Use cases
2 Demonstrate real life artifacts such as Swim lane
diagram, activity diagram and state diagrams
3 Demonstrate real life Sequence diagrams
4 Demonstrate real life Software Class diagram
Case Studies
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 40
BITS Pilani
Pilani|Dubai|Goa|Hyderabad
Thank you….
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 41

More Related Content

PPTX
Flipped class design for cad rca2 s.dharani kumar
PDF
CS6502 OOAD - Question Bank and Answer
PDF
CS8592-OOAD Question Bank
DOCX
Ooad unit 1
PPT
Object Oriented Analysis and Design Unit-1
PPT
Unit 1( modelling concepts & class modeling)
PDF
UML Diagrams- Unified Modeling Language Introduction
Flipped class design for cad rca2 s.dharani kumar
CS6502 OOAD - Question Bank and Answer
CS8592-OOAD Question Bank
Ooad unit 1
Object Oriented Analysis and Design Unit-1
Unit 1( modelling concepts & class modeling)
UML Diagrams- Unified Modeling Language Introduction

Similar to Sewizg512 ooad cs01_introduction (20)

PDF
Oose lab notes
PDF
Ooad 2marks
PPT
CEN6016-Chapter1.ppt
PPT
CEN6016-Chapter1.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
PPT
OOAD UNIT I UML DIAGRAMS
PDF
CS8592 Object Oriented Analysis & Design - UNIT I
PDF
Object oriented analysis and design unit- ii
PDF
Unit-1_Notes(OOAD).pdf
PPTX
Object oriented analysis and design
PPTX
lecture 2.pptx
PDF
Software Development
PPT
Object-Oriented Analysis and Design
PPT
Book of Uml
PPTX
Software enginering.group-no-11 (1)
PPT
421215833-UNIT-1-OOAD-ppt.ppt
PPT
421215833-UNIT-1-OOAD-ppt.ppt
PPT
5-CEN6016-Chapter1.ppt
Oose lab notes
Ooad 2marks
CEN6016-Chapter1.ppt
CEN6016-Chapter1.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
OOAD UNIT I UML DIAGRAMS
CS8592 Object Oriented Analysis & Design - UNIT I
Object oriented analysis and design unit- ii
Unit-1_Notes(OOAD).pdf
Object oriented analysis and design
lecture 2.pptx
Software Development
Object-Oriented Analysis and Design
Book of Uml
Software enginering.group-no-11 (1)
421215833-UNIT-1-OOAD-ppt.ppt
421215833-UNIT-1-OOAD-ppt.ppt
5-CEN6016-Chapter1.ppt
Ad

Recently uploaded (20)

PDF
IGGE1 Understanding the Self1234567891011
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PDF
advance database management system book.pdf
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PDF
Trump Administration's workforce development strategy
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
PDF
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
PDF
Uderstanding digital marketing and marketing stratergie for engaging the digi...
PDF
Hazard Identification & Risk Assessment .pdf
PDF
My India Quiz Book_20210205121199924.pdf
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PDF
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
IGGE1 Understanding the Self1234567891011
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
AI-driven educational solutions for real-life interventions in the Philippine...
advance database management system book.pdf
LDMMIA Reiki Yoga Finals Review Spring Summer
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
Trump Administration's workforce development strategy
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
Uderstanding digital marketing and marketing stratergie for engaging the digi...
Hazard Identification & Risk Assessment .pdf
My India Quiz Book_20210205121199924.pdf
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
Chinmaya Tiranga quiz Grand Finale.pdf
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
FORM 1 BIOLOGY MIND MAPS and their schemes
Ad

Sewizg512 ooad cs01_introduction

  • 1. BITS Pilani Pilani|Dubai|Goa|Hyderabad SEWI ZG512 Object Oriented Analysis and Design Harvinder S Jabbal CS-1: Introduction October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 1
  • 2. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 • It shall be the responsibility of the individual student to be regular in maintaining the self-study schedule as given in the course handout, attend the lectures, and take all the prescribed evaluation components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the evaluation scheme provided in the handout. responsibility of the individual student October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 2
  • 3. BITS Pilani Pilani|Dubai|Goa|Hyderabad CS1.1 = Explanation of the material to be covered in this course October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 3
  • 4. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 1. The teaching methodology consists of Lectures, Lab exercises, Work integrated learning activities and / or project work. 2. The methodology will also include Case studies to illustrate design of real life software, key challenges in design of software and best practices used in the industry. Teaching Methodology October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 4
  • 5. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 Time Type Sequence Content Reference Pre CH Not Applicable During CH CH1.1 CS1.1 = Explanation of the material to be covered in this course Post CH SS1 SS1.1 = Read Preface from Text: T1 HW1 HW1.1 = Visit http://www.uml-diagrams.org LE1 None QZ1 QZ1.1 = List the main diagram types available under uml 2.0 Lab Reference M0: Introduction CS01: October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 5
  • 6. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 OOAD October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 6 Topics and Skills UML notation Requirements analysis Principles and guidelines Patterns Iterative development with an agile Unified Process OOA/D
  • 7. BITS Pilani Pilani|Dubai|Goa|Hyderabad Modules October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 7
  • 8. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 No Title of the Module M1 Introduction Fundamentals of Object oriented approach Characteristics of good design Overview of OOAD Overview of Unified Process for software development M2 Requirement gathering Use cases – Actors, goals (needs), scenarios Different formats to write use cases Use case diagram – Include & Extend relationship M3 Analysis Static analysis Conceptual Classes & Associations Class diagram – Sub class, Association class, Association role, Aggregation & Composition, Reflexive associations Dynamic analysis Swim lanes Activity diagram State diagram System sequence diagram Operation Contracts Modules October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 8
  • 9. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 No Title of the Module M4 Design Identification of Software classes Realizing use cases & assigning responsibilities to Classes using Sequence diagram or Collaboration diagram Sequence diagram – Iteration, conditional interactions Software class diagram Visibility among objects Package diagram M5 Best practices GRASP (General Responsibility Assignment Software Patterns) Information Expert, Creator, Low coupling, High cohesion, Controller, Polymorphism, Protected variation, Indirection, Pure fabrication Gang of Four (GoF) Patterns Adaptor, Composite, Facade, Factory, Singleton, Strategy, Observer, Iterator Modules October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 9
  • 10. BITS Pilani Pilani|Dubai|Goa|Hyderabad About the Course October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 10
  • 11. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 No Objective CO1 To enable students to design software that is easy to understand, easy to maintain, and is modular and extensible CO2 To enable students to evaluate the quality of software design Course Objectives October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 11
  • 12. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 Ser. Text Book(s) T1 Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Pearson Education, 3nd Ed., 2012 T2 Erich Gamma et al., Design Patterns: Elements of Reusable Object-Oriented Software, 1994 Text Book(s)/Reference Book(s) & other resources October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 12 Ser. Reference Book(s) & other resources R1 Michael Blaha, James Rambaugh, Object-Oriented Modelling & Design with UML, Pearson, 2nd Ed., 2005. R2 http://www.uml-diagrams.org
  • 13. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 No Learning Outcomes LO1 Students will know the characteristics of good design LO2 Students will know how to gather requirements, analyse requirements and design software for them LO3 Students will know the best practices used in industry to design software LO4 Students will be able to document design using UML diagrams LO5 Students will be able to design software classes for simple systems L06 Students will be able to evaluate quality of software design Learning Outcomes: October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 13
  • 14. BITS Pilani Pilani|Dubai|Goa|Hyderabad Some Typical Case October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 14
  • 15. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 A typical case Study October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 15 Plane tailNumber public class Plane { private String tailNumber; public List getFlightHistory() {...} } domain concept visualization of domain concept representation in an object-oriented programming language
  • 16. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 Player name DiceGame Die faceValue Rolls Plays Includes 2 2 1 1 1 1 Domain Model October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 16
  • 17. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 A Sequence Diagram Sketch October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 17
  • 18. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 2 Die faceValue : int getFaceValue() : int roll() DiceGame die1 : Die die2 : Die play() 1 A Class Diagram October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 18
  • 19. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 Conceptual Perspective (domain model) Raw UML class diagram notation used to visualize real-world concepts. Specification or Implementation Perspective (design class diagram) Raw UML class diagram notation used to visualize software elements. 2 Die faceValue : int getFaceValue() : int roll() DiceGame die1 : Die die2 : Die play() DiceGame Die faceValue Includes 2 1 Analysis and Design October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 19
  • 20. BITS Pilani Pilani|Dubai|Goa|Hyderabad Software Development Life Cycle October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 20
  • 21. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 • Waterfall, • Unified Process, • Agile This course emphasizes the Unified Process. The Agile Manifesto and its implementation is stressed. SDLC Models October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 21
  • 22. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 UNIFIED PROCESS phases inc. elaboration construction transition iteration phase development cycle release A stable executable subset of the final product. The end of each iteration is a minor release. increment The difference (delta) between the releases of 2 subsequent iterations. final production release At this point, the system is released for production use. milestone An iteration end- point when some significant decision or evaluation occurs. October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 22
  • 23. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 Iterative Process Requirements Design Implementation & Test & Integration & More Design Final Integration & System Test Requirements Design 3 weeks (for example) The system grows incrementally. Feedback from iteration N leads to refinement and adaptation of the requirements and design in iteration N+1. Iterations are fixed in length, or timeboxed. Time Implementation & Test & Integration & More Design Final Integration & System Test October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 23
  • 24. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 UNIFIED PROCESS disciplines Iterations Sample UP Disciplines Business Modeling Requirements Design Implementation Test Deployment Configuration & Change Management Project Management Environment Focus of this book Note that although an iteration includes work in most disciplines, the relative effort and emphasis change over time. This example is suggestive, not literal. A four-week iteration (for example). A mini-project that includes work in most disciplines, ending in a stable executable. October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 24
  • 25. BITS Pilani Pilani|Dubai|Goa|Hyderabad Unified Modeling Language October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 25
  • 26. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 “The Unified Modeling Language is a family of graphical notations, backed by a single meta-model, that help in describing and designing software systems, particularly software systems built using the object-oriented style.” What is UML October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 26
  • 27. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 UML is standardized. Its content is controlled by the Object Management Group (OMG), a consortium of companies. Unified – UML combined the best from object-oriented software modeling methodologies that were in existence during the early 1990’s. – Grady Booch, James Rumbaugh, and Ivor Jacobson are the primary contributors to UML. UML October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 27
  • 28. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 • UML 2 supports 13 different types of diagrams • Each diagram may be expressed with varying degrees of detail • Not all diagrams need be used to model a SW system • The UML does not offer an opinion as to which diagrams would be most helpful for a particular type of project UML Diagrams October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 28
  • 29. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 • Things – Structural things • Classes, interfaces, collaborations, use cases, components, and nodes. – Behavioral things • Messages and states – Grouping things • Packages – Annotational things • Notes • Relationships: dependency, association, generalization and realization. • Diagrams: class, object, use case, sequence, collaboration, state-chart, activity, component and deployment. A conceptual model needs to be formed by an individual to understand UML. UML contains three types of building blocks: • things, • relationships, • diagrams. A Conceptual Model of the UML October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 29
  • 30. BITS Pilani Pilani|Dubai|Goa|Hyderabad Design Patterns or Principles October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 30
  • 31. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 GRASP 1. Information Expert 2. Creator 3. Controller 4. Low Coupling 5. High Cohesion 6. Polymorphism 7. Pure Fabrication 8. Indirection 9. Protected Variation SOLID • Single responsibility • Open/Close • Liskov Substitution • Interface Segregation • Dependency Intersion OOAD Patterns or Principles October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 31
  • 32. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 Structural Behavorial Class • Interpreter • Template Method Object • Chain of Responsibility • Command • Iterator • Mediator • Memento • Observer • State • Strategy • Visitor Patterns Creational Class • Factory Method Object • Abstract Factory Builder Prototype Singleton Class • Adapter Object • Adapter • Bridge • Composite • Decorator • Facade • Proxy • Flyweight October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 32
  • 33. BITS Pilani Pilani|Dubai|Goa|Hyderabad Lab work: Detailed Plan October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 33
  • 34. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 For Library outlined in the Course Portal, do the following using Star UML tool where ever possible: Requirement gathering – Identify the actors and their needs – Draw Use case diagram – Write use cases for Issue book & Return book Analysis – Draw the domain model for the system – Draw activity diagram for Issue book – Identify the states of a book and draw a state transition diagram for Book Design – Draw sequence diagrams to realize the use cases “Issue book” and “Return book” – Draw Software Class diagram based the analysis and design done Evaluate quality of design – Given a software class diagram, evaluate the quality of the design based on the characteristics such as Coupling, cohesion, maintainability, etc. Lab Objective (Not to be submitted) October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 34
  • 35. BITS Pilani Pilani|Dubai|Goa|Hyderabad Work integrated activities: Detailed plan October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 35
  • 36. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 Choose a system developed in your organization. (Make sure the system is not chosen by any other group). 1. Understand the purpose, functions & features supported by the system. (You may have to meet & discuss with the team that has developed the system). Submit a 1-page write up. Duration: 2 weeks 2. Understand the analysis & design of the system. (You may have to look at the design documents, speak to architect / designer). Submit Domain model, System sequence diagram for 4 main use cases, Sequence diagram or Collaboration diagram for 4 main operations and Software class diagram consisting of main classes. Duration: 3 weeks 3. Make a presentation consisting of – System overview – System analysis – Software design – Your observations on the quality of design (characteristics of good design) – Your recommendations to improve the design Duration: 2 weeks Activity description October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 36
  • 37. BITS Pilani Pilani|Dubai|Goa|Hyderabad Project work: Detailed Plan October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 37
  • 38. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 Objective of the project: Apply OOAD techniques to design of software Tasks to be performed by the students, in groups of 10/11: 1. Briefly describe a software application that you want to develop (1 week) 2. Define the requirements using Use case diagram and Use cases (1 week) 3. Analyze the requirements and create Domain model, State diagrams (2 weeks) 4. Draw the Sequence diagram for key use cases (2 weeks) 5. Draw the Software class diagram for the application (1 week) 6. Discuss: What were the key learnings from this assignment? Duration of the project: 7 weeks Appendix: 1. Product description document should contain: 2. Name of the product: 3. Purpose of the product: 4. Target users: 5. What pain point does the product try to alleviate: 6. Functions supported by the product: The Project October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 38
  • 39. BITS Pilani Pilani|Dubai|Goa|Hyderabad Case studies: Detailed Plan October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 39
  • 40. BITS Pilani, Deemed to be University under Section 3 of UGC Act, 1956 Case study No Case study Objective 1 Demonstrate real life Use cases 2 Demonstrate real life artifacts such as Swim lane diagram, activity diagram and state diagrams 3 Demonstrate real life Sequence diagrams 4 Demonstrate real life Software Class diagram Case Studies October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 40
  • 41. BITS Pilani Pilani|Dubai|Goa|Hyderabad Thank you…. October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design 41