SlideShare a Scribd company logo
1 of 26
Slide 1 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
In this session, you will learn to:
Identify the various software development approaches
Identify the role of OOAD in SDLC
Objectives
Slide 2 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
SDLC is a disciplined and systematic approach that divides
the software development process into various phases,
such as requirements, design, and coding.
The phase-wise software development process helps you
track schedule, cost, and quality of the software projects.
Understanding Software Development Life Cycle (SDLC)
Slide 3 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
There are six phases of SDLC:
Feasibility analysis
Requirement analysis and specification
Design
Coding
Testing
Maintenance
Overview of SDLC Phases
Slide 4 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Different types of projects have different requirements.
It is required to tailor the SDLC phases to meet the specific
needs of the project.
The tailoring the SDLC phases, gives rise to various
software development approaches:
Waterfall approach
Prototyping approach
Spiral approach
Win-win spiral approach
Incremental approach
Software Development Approaches
Slide 5 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Describes the software development process in a linear
sequential flow.
Is the earliest approach used for software development.
Defines the software development process in seven
phases:
Conception
Initiation
Analysis
Design
Construction
Integration and testing
Implementation and maintenance
Waterfall Approach
Slide 6 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
The following figure shows various phases of the waterfall
approach:
Waterfall Approach (Contd.)
Slide 7 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Also known as evolutionary approach.
Is a sample implementation of the system that shows limited
and main functional capabilities of the proposed system.
Is used in the requirements gathering and analysis phase to
capture the exact requirement of the proposed system.
Prototyping Approach
Slide 8 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Various types of prototypes:
Throwaway prototypes
Evolutionary prototypes
Limitations of prototyping approach:
Gives clients the false impression that a few minor changes to
the prototype will give them the required system.
May compromise on the overall quality of the software in the
rush to develop the prototype.
Prototyping Approach (Contd.)
Slide 9 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Includes the iterative nature of the prototyping approach and
the linear nature of the waterfall approach.
Is ideal for developing software that are released in various
versions.
The six phases of spiral approach are:
Customer communication
Planning
Risk analysis
Engineering
Construction and release
Customer evaluation
Spiral Approach
Slide 10 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
The following figure shows the various phases of the spiral
approach:
Spiral Approach (Contd.)
Slide 11 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Is an extension of the spiral approach.
The phases in this approach are same as the phases in the
spiral approach.
In this approach, the development team and the customer
hold discussions and negotiate on the requirements that
need to be included in the current iteration.
The approach is called win-win because it is a winning
situation for the development team and also for the
customer.
The win-win spiral approach is generally used when you
have time-bound releases.
Win-Win Spiral Approach
Slide 12 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
In an incremental approach, software requirements are
broken down into various functional units.
Each functional unit is implemented in an increment and the
final product is achieved after all the functional units are
implemented in the development process.
Each increment in the incremental approach includes three
phases:
Design
Implementation
Analysis
Incremental Approach
Slide 13 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Incremental Approach (Contd.)
The following figure shows the Incremental approach with
various phases:
Slide 14 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Just a minute
Which of the following approaches includes the iterative
nature of the prototyping approach and the linear nature of
waterfall approach?
1. Incremental approach
2. Spiral approach
3. Evolutionary approach
Answer:
Spiral approach
Slide 15 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
In the design phase, there are two approaches to software
development:
Function-oriented approach:
Is module-centric and concentrates on functions of the software.
Object-oriented approach:
Portrays things as they exist in the real world.
Introduces the concept of inheritance which allows reuse of
existing code components.
Supports inheritance, reusability and encapsulation of data,
abstraction, and polymorphism.
Understanding Object-Oriented Concepts
Slide 16 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
A class is an abstract data type that contains a set of
attributes and functions.
An object is an instance of a class.
Overview of Object-Oriented Concepts
Slide 17 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Inheritance refers to sharing of attributes and behaviors
among classes based upon hierarchical relationship.
Overview of Object-Oriented Concepts (Contd.)
Slide 18 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Abstraction focuses on essential, inherent aspects of an
entity ignoring its implementation details.
Overview of Object-Oriented Concepts (Contd.)
Slide 19 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Encapsulation means preventing access to non-essential
details.
Polymorphism is the concept of using operators or functions
in different ways depending on what they are operating on.
Using operators in different ways depending on what they
are operating on is called operator overloading.
Using functions in different ways is called function
overloading.
Overview of Object-Oriented Concepts (Contd.)
Slide 20 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Overview of Object-Oriented Concepts (Contd.)
Consider an example of OO concept:
Countryside Markets has no formal system to store its
employees information. The organization now wants to store
detailed information about its employees, such as name, age,
date of birth, e-mail id, department, empolyee code, salary
drawn, and date of joining.
Slide 21 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Overview of Object-Oriented Concepts (Contd.)
Countryside Markets class hierarchy:
Class Hierarchy
Slide 22 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Just a minute
Which phase of SDLC includes translation of the
requirements specified in the SRS into a logical structure
that can be implemented in a programming language?
1. Feasibility
2. Design
3. Coding
4. Maintenance
Answer:
Design
Slide 23 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
OO approach does not replace the standard approaches,
such as Data Flow Diagrams (DFD) or Entity Relationship
(ER) diagrams. It is only an addition to the existing toolkit.
OOAD uses the OO approach to solve the real world
problems. It uses OO approach to analyze the system
requirements and break a large and complex system into
smaller and simpler components.
OOAD is analysis of requirements and design of software
system in terms of the objects, classes, encapsulation,
inheritance, polymorphism, abstraction, and dynamic
binding.
OOAD is a methodology that can be applied to linear,
iterative, or incremental approach.
Role of Object-Oriented Analysis and Design (OOAD) in
SDLC
Slide 24 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
In this session, you learned that:
SDLC is a disciplined and systematic approach towards
software development.
SDLC divides the software development process into six
phases:
Feasibility analysis
Requirement analysis and specification
Design
Coding
Testing
Maintenance
Summary
Slide 25 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
Different types of projects have different requirements.
Therefore, it may be required to tailor the SDLC phases
according to the specific needs of the project. This gives rise to
various software development approaches. Some of these
approaches are:
Waterfall approach
Prototyping approach
Spiral approach
Win-win spiral approach
Incremental approach
The function-oriented approach is module-centric and
concentrates on the functions of the software.
Summary (Contd.)
Slide 26 of 26Ver. 1.0
Object-Oriented Analysis and Design Using UML
The object-oriented (OO) approach supports reusability and
encapsulation of data and concepts such as inheritance,
abstraction, and polymorphism.
OOAD is analysis of requirements and design of software
system in terms of objects, classes, encapsulation, inheritance,
polymorphism, abstraction, and dynamic binding.
Summary (Contd.)

More Related Content

What's hot

What's hot (20)

11 system development models
11 system development models11 system development models
11 system development models
 
Sec7.3 sdlc
Sec7.3 sdlcSec7.3 sdlc
Sec7.3 sdlc
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system development
 
SDLC
SDLCSDLC
SDLC
 
system development life cycle
system development life cyclesystem development life cycle
system development life cycle
 
Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
SDLC
SDLCSDLC
SDLC
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
System development life cycle
System development life cycleSystem development life cycle
System development life cycle
 
MODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENTMODELS USED IN SOFTWARE DEVELOPMENT
MODELS USED IN SOFTWARE DEVELOPMENT
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
SDLC Models
SDLC ModelsSDLC Models
SDLC Models
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
 
System development life cycle stages and models
System development life cycle stages and models System development life cycle stages and models
System development life cycle stages and models
 
system development life cycle
system development life cyclesystem development life cycle
system development life cycle
 
1.sdlc
1.sdlc1.sdlc
1.sdlc
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
 
SDLC
SDLC SDLC
SDLC
 

Similar to Power point presentation 1

01 ooad uml-01
01 ooad uml-0101 ooad uml-01
01 ooad uml-01Niit Care
 
Book of Uml
Book of UmlBook of Uml
Book of UmlNiit
 
View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment TechniquesJIGAR MAKHIJA
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
04 ooad uml-04
04 ooad uml-0404 ooad uml-04
04 ooad uml-04Niit Care
 
Sdlc process document
Sdlc process documentSdlc process document
Sdlc process documentPesara Swamy
 
SYSTEMS PRESENTATION to help you in design
SYSTEMS PRESENTATION to help you  in designSYSTEMS PRESENTATION to help you  in design
SYSTEMS PRESENTATION to help you in designrhesusfactor848
 
Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Haitham Raik
 
Comparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyComparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyIJMER
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT Ipkaviya
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)dipenpatelpatel
 
14 ooad uml-19
14 ooad uml-1914 ooad uml-19
14 ooad uml-19Niit Care
 
Approaches To System Development
Approaches To System DevelopmentApproaches To System Development
Approaches To System DevelopmentHenhen Lukmana
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdfdo_2013
 

Similar to Power point presentation 1 (20)

01 ooad uml-01
01 ooad uml-0101 ooad uml-01
01 ooad uml-01
 
Book of Uml
Book of UmlBook of Uml
Book of Uml
 
Chapter1
Chapter1Chapter1
Chapter1
 
View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment Techniques
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
04 ooad uml-04
04 ooad uml-0404 ooad uml-04
04 ooad uml-04
 
Ch01
Ch01Ch01
Ch01
 
Jar chapter 1
Jar chapter 1Jar chapter 1
Jar chapter 1
 
Sdlc process document
Sdlc process documentSdlc process document
Sdlc process document
 
SYSTEMS PRESENTATION to help you in design
SYSTEMS PRESENTATION to help you  in designSYSTEMS PRESENTATION to help you  in design
SYSTEMS PRESENTATION to help you in design
 
Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1
 
Comparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyComparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available Methodology
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT I
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 
Software development process
Software development processSoftware development process
Software development process
 
CSC426 - SDLC Models
CSC426 - SDLC ModelsCSC426 - SDLC Models
CSC426 - SDLC Models
 
14 ooad uml-19
14 ooad uml-1914 ooad uml-19
14 ooad uml-19
 
Approaches To System Development
Approaches To System DevelopmentApproaches To System Development
Approaches To System Development
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 

Recently uploaded

Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 

Recently uploaded (20)

Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 

Power point presentation 1

  • 1. Slide 1 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML In this session, you will learn to: Identify the various software development approaches Identify the role of OOAD in SDLC Objectives
  • 2. Slide 2 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML SDLC is a disciplined and systematic approach that divides the software development process into various phases, such as requirements, design, and coding. The phase-wise software development process helps you track schedule, cost, and quality of the software projects. Understanding Software Development Life Cycle (SDLC)
  • 3. Slide 3 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML There are six phases of SDLC: Feasibility analysis Requirement analysis and specification Design Coding Testing Maintenance Overview of SDLC Phases
  • 4. Slide 4 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Different types of projects have different requirements. It is required to tailor the SDLC phases to meet the specific needs of the project. The tailoring the SDLC phases, gives rise to various software development approaches: Waterfall approach Prototyping approach Spiral approach Win-win spiral approach Incremental approach Software Development Approaches
  • 5. Slide 5 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Describes the software development process in a linear sequential flow. Is the earliest approach used for software development. Defines the software development process in seven phases: Conception Initiation Analysis Design Construction Integration and testing Implementation and maintenance Waterfall Approach
  • 6. Slide 6 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML The following figure shows various phases of the waterfall approach: Waterfall Approach (Contd.)
  • 7. Slide 7 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Also known as evolutionary approach. Is a sample implementation of the system that shows limited and main functional capabilities of the proposed system. Is used in the requirements gathering and analysis phase to capture the exact requirement of the proposed system. Prototyping Approach
  • 8. Slide 8 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Various types of prototypes: Throwaway prototypes Evolutionary prototypes Limitations of prototyping approach: Gives clients the false impression that a few minor changes to the prototype will give them the required system. May compromise on the overall quality of the software in the rush to develop the prototype. Prototyping Approach (Contd.)
  • 9. Slide 9 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Includes the iterative nature of the prototyping approach and the linear nature of the waterfall approach. Is ideal for developing software that are released in various versions. The six phases of spiral approach are: Customer communication Planning Risk analysis Engineering Construction and release Customer evaluation Spiral Approach
  • 10. Slide 10 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML The following figure shows the various phases of the spiral approach: Spiral Approach (Contd.)
  • 11. Slide 11 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Is an extension of the spiral approach. The phases in this approach are same as the phases in the spiral approach. In this approach, the development team and the customer hold discussions and negotiate on the requirements that need to be included in the current iteration. The approach is called win-win because it is a winning situation for the development team and also for the customer. The win-win spiral approach is generally used when you have time-bound releases. Win-Win Spiral Approach
  • 12. Slide 12 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML In an incremental approach, software requirements are broken down into various functional units. Each functional unit is implemented in an increment and the final product is achieved after all the functional units are implemented in the development process. Each increment in the incremental approach includes three phases: Design Implementation Analysis Incremental Approach
  • 13. Slide 13 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Incremental Approach (Contd.) The following figure shows the Incremental approach with various phases:
  • 14. Slide 14 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Just a minute Which of the following approaches includes the iterative nature of the prototyping approach and the linear nature of waterfall approach? 1. Incremental approach 2. Spiral approach 3. Evolutionary approach Answer: Spiral approach
  • 15. Slide 15 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML In the design phase, there are two approaches to software development: Function-oriented approach: Is module-centric and concentrates on functions of the software. Object-oriented approach: Portrays things as they exist in the real world. Introduces the concept of inheritance which allows reuse of existing code components. Supports inheritance, reusability and encapsulation of data, abstraction, and polymorphism. Understanding Object-Oriented Concepts
  • 16. Slide 16 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML A class is an abstract data type that contains a set of attributes and functions. An object is an instance of a class. Overview of Object-Oriented Concepts
  • 17. Slide 17 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Inheritance refers to sharing of attributes and behaviors among classes based upon hierarchical relationship. Overview of Object-Oriented Concepts (Contd.)
  • 18. Slide 18 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Abstraction focuses on essential, inherent aspects of an entity ignoring its implementation details. Overview of Object-Oriented Concepts (Contd.)
  • 19. Slide 19 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Encapsulation means preventing access to non-essential details. Polymorphism is the concept of using operators or functions in different ways depending on what they are operating on. Using operators in different ways depending on what they are operating on is called operator overloading. Using functions in different ways is called function overloading. Overview of Object-Oriented Concepts (Contd.)
  • 20. Slide 20 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Overview of Object-Oriented Concepts (Contd.) Consider an example of OO concept: Countryside Markets has no formal system to store its employees information. The organization now wants to store detailed information about its employees, such as name, age, date of birth, e-mail id, department, empolyee code, salary drawn, and date of joining.
  • 21. Slide 21 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Overview of Object-Oriented Concepts (Contd.) Countryside Markets class hierarchy: Class Hierarchy
  • 22. Slide 22 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Just a minute Which phase of SDLC includes translation of the requirements specified in the SRS into a logical structure that can be implemented in a programming language? 1. Feasibility 2. Design 3. Coding 4. Maintenance Answer: Design
  • 23. Slide 23 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML OO approach does not replace the standard approaches, such as Data Flow Diagrams (DFD) or Entity Relationship (ER) diagrams. It is only an addition to the existing toolkit. OOAD uses the OO approach to solve the real world problems. It uses OO approach to analyze the system requirements and break a large and complex system into smaller and simpler components. OOAD is analysis of requirements and design of software system in terms of the objects, classes, encapsulation, inheritance, polymorphism, abstraction, and dynamic binding. OOAD is a methodology that can be applied to linear, iterative, or incremental approach. Role of Object-Oriented Analysis and Design (OOAD) in SDLC
  • 24. Slide 24 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML In this session, you learned that: SDLC is a disciplined and systematic approach towards software development. SDLC divides the software development process into six phases: Feasibility analysis Requirement analysis and specification Design Coding Testing Maintenance Summary
  • 25. Slide 25 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML Different types of projects have different requirements. Therefore, it may be required to tailor the SDLC phases according to the specific needs of the project. This gives rise to various software development approaches. Some of these approaches are: Waterfall approach Prototyping approach Spiral approach Win-win spiral approach Incremental approach The function-oriented approach is module-centric and concentrates on the functions of the software. Summary (Contd.)
  • 26. Slide 26 of 26Ver. 1.0 Object-Oriented Analysis and Design Using UML The object-oriented (OO) approach supports reusability and encapsulation of data and concepts such as inheritance, abstraction, and polymorphism. OOAD is analysis of requirements and design of software system in terms of objects, classes, encapsulation, inheritance, polymorphism, abstraction, and dynamic binding. Summary (Contd.)

Editor's Notes

  1. Initiate the session by explaining the session objectives to the students. This lesson will familiarize the students with Software Development Life Cycle (SDLC) and object-oriented concepts. The first section, Understanding Software Development Life Cycle (SDLC), discusses the need for SDLC and the various SDLC models. For the first section, the discussion in the class should revolve around the advantages of iterative/incremental model over the waterfall or prototyping models. The second section, Understanding Object-Oriented Concepts, should be taught in a discussion mode with the help of the case study. The purpose of introducing this section is to give the students a refresher session on object-oriented concepts.
  2. Tell the students that earlier, software development was not accepted as an engineering stream. At that time, the development of software was an ad-hoc activity. No rules and standards were used for software development. This resulted in a lot of problems because of which project teams were not able to meet their quality, productivity, and deadline targets. Therefore, inferior quality software was produced with schedule and budget overshoots. To address these problems, the Software Development Life Cycle (SDLC) was introduced. Explain the definition of SDLC given on the slide. Also explain that dividing the process of software development into various phases helps in tracking the schedule, cost, and quality of the software projects in a better manner. The time and budget allocated for the entire project can be distributed among the various phases of the SDLC. This distribution can be done according to the data related to similar projects undertaken in the past. Allocating time and budget separately for each phase helps track the schedule and cost in a better manner. If time and budget is exceeded in one phase, an effort can be made to reduce it in the other phases.
  3. The students need to have a broad view of a software design before you start with the discussion of software development process. Therefore, you should address the following issues before discussing the various phases of SDLC: * What is to be developed: Emphasize on feasibility analysis of the software system that needs to be developed within the given environment, requirements, and characteristics from the perspective of end users. * How it will be developed: Emphasize on the analysis of the design methodology and the operating system and programming language that needs to be used to develop the software. * What changes will be incorporated during the enhancement of software: Emphasize on the changes that might be suggested due to error correction, enhancement of software, and changes in the requirements of the client. You need to analyze the impact of every suggested change and then apply them on a priority basis keeping in view the cost, schedule, and quality of software. Explain that the standard SDLC consists of six phases. Explain the six phases given in the slide. Tell the students that the activities in each phases can be tailored if needed according to the specific needs of the project.
  4. Tell the students that development projects have different types of requirements and therefore, it may be required to tailor the SDLC phases according to the specific needs of the project. Explain that the tailored form of SDLC phases are known as SDLC models. Explain the three types of SDLC models, linear, iterative, and incremental.
  5. Explain the seven phases in the waterfall model.
  6. Explain that waterfall model follows a linear flow, where any phase in the development process begins only if the previous phase is complete. In addition, once the project progresses to the next phase, you cannot go back to the previous phase of the model. Explain that the waterfall model is used in small project, where requirements are frozen in the beginning of the project.
  7. Tell the students that when requirements are not clearly defined and are expected to change during the development process, the waterfall model cannot be used. In this case, it is better to use the prototyping model. Explain that a prototype is a sample implementation of the proposed system that demonstrates the main functional capabilities of the system. The prototype can be quickly developed and delivered to the customer for evaluation. This helps obtain early feedback on the requirements of the proposed system. Use the example of the e-commerce Web application given in the student guide to explain how the prototyping model can be implemented.
  8. Explain that because a prototype appears like the actual software system, it may give the false impression to the clients that a few minor changes will give them the required system. Moreover, developers may compromise on the quality of the software in the rush to develop the prototype. For example, the developer may use inefficient algorithms or inappropriate programming languages for developing the prototype quickly.
  9. Explain the concept of spiral model by using the example of Windows operating system that was released in multiple iterations after obtaining feedback from the customers on each iteration. Explain the six phases of the spiral model.
  10. Explain how the software goes through the six phases of the spiral model in multiple iterations.
  11. Explain the win-win spiral model as an extension of the spiral model. Explain how it results in a winning situation for both the client and the development team.
  12. Explain the concept of incremental models by using the example where a bank wants to develop software to automate the process for insurance services, personal banking, and home and automobile loans. The bank wants the automation of personal banking system immediately because it will enhance the customer services. You can develop the software by using the incremental model. In the first increment, you can implement the personal banking feature and deliver it to the customer. In the later increments, you can implement the insurance services, home loans, and automobile loans features of the bank.
  13. Explain that when the incremental model is used, a project activity list is created that lists all the activities to be performed for the completion of the project. The activities are then prioritized based on how urgently they are required to be implemented. In the first increment, the top most activity from the project activity list is selected and its design is prepared. In the implementation phase, the design is implemented and tested. In the analysis phase, the functional capability of the partially developed product is analyzed. After this, the first increment of the product can be released. The development process can be then repeated until all the activities of the project activity list are implemented. Explain that an incremental model can be used to develop large systems only. This is because it is difficult to break small systems in to smaller functional increments.
  14. Check the learning of the students by asking the question given in the slide.
  15. Explain the two approaches to software development. Explain that the function-oriented approach is the erstwhile approach that evolved before the object-oriented approach. Explain the features of function-oriented approach and its limitations. Explain how object-oriented approach overcomes the limitations of function-oriented approach.
  16. Explain the definition of class and object with an example.
  17. Explain the definition of inheritance by using an example. Explain that inheritance of classes allows you to reuse code.
  18. Explain the definition of abstraction by using an example.
  19. Explain the concept of encapsulation and polymorphism by using the examples given in the student guide. Explain the concepts of function overloading and operator overloading.
  20. Explain the inheritance relationship between the classes at different levels by using the figure given on the slide. Explain that the operations defined in the Employee class are abstract operations that are implemented in the Full Time and Part Time classes. Tell the students that the Developer class inherits from both the Full Time class and the Part Time class. This is called multiple inheritance. Also tell the students that the attributes defined in the Employee class have public access and can therefore be modified by the Full Time class and the Part Time class. However, the attributes defined in the Full Time class and the Part Time class have private access and therefore cannot be modified by their derived classes. Finally, tell the students that the display(int) function defined in the Manager and Engineer classes overrides the display(int) function defined in the Full Time class.
  21. Check the learning of the students by asking the question given in the slide.
  22. Share the following additional information regarding object-oriented modular design with the students. The various modules of a software system are interdependent. You need to tell the students that they can use object-oriented modular design to depict interdependency among various modules of a system. An object-oriented modular design has two characteristics: * Coupling: Indicates the measure of interdependence among modules. Strongly interconnected modules are called tightly coupled and modules with weak interconnections are called loosely coupled. For example, if module B is strongly connected to module A, you need to have complete knowledge of module A to understand module B. In contrast, weakly connected modules do not share high interdependence. Modules with no interconnections are called independent modules. The types of coupling are: **Content coupling: Means a module directly references the content of another module. A change in one module requires a change in the other module. For example, if variable x is defined in two modules, A and B, and the value of x is changed in module A, the change must be reflected in module B. **Common coupling: Means both modules have access to the same global data. An example of common coupling is modules x and y having read and write access to the same database element. **Control coupling: Means the transfer of control elements takes place between modules. For example, module x, in addition to passing information to module y, also informs y about what action to take. **Stamp coupling: Means the two modules can simultaneously modify or access data defined in a shared class. If the shared class changes, the modules accessing the attributes of shared class also change. **Data coupling: Means every argument is either a data structure or a simple argument. *Cohesion: Represents the interaction of components within a module, which is the measure of how well components fit in a module. A cohesive module performs a single task within a procedure and requires little interaction with other procedures in the program. The types of cohesion are: **Coincidental cohesion: Exists if there is no relationship between its components. In other words, multiple unrelated actions are performed. **Logical cohesion: Contains components that are logically related. For example, a module that performs input or output operations. **Temporal cohesion: Contains components related logically in time and executed together. Initialisation, clean up, and termination are examples of temporally bound modules. **Procedural cohesion: Contains components that belong to a common procedural unit. The procedural unit contains actions that are related and executed in a certain order. For example, a sequence of decision statements may be combined to form a separate module. **Communicational cohesion: Contains actions performed in series and on the same data. A module to print and punch record is an example of communicational cohesion. **Functional cohesion: Contains components that perform a single function.
  23. Summarize the session by using the summary points listed in the slide.
  24. Summarize the session by using the summary points listed in the slide.
  25. Summarize the session by using the summary points listed in the slide.