SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Object-Oriented Analysis and Design Using UML
Objectives


                In this session, you will learn to:
                   Identify the various software development approaches
                   Identify the role of OOAD in SDLC




     Ver. 1.0                                                             Slide 1 of 26
Object-Oriented Analysis and Design Using UML
Understanding Software Development Life Cycle (SDLC)


                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.




     Ver. 1.0                                                       Slide 2 of 26
Object-Oriented Analysis and Design Using UML
Overview of SDLC Phases


                There are six phases of SDLC:
                   Feasibility analysis
                   Requirement analysis and specification
                   Design
                   Coding
                   Testing
                   Maintenance




     Ver. 1.0                                               Slide 3 of 26
Object-Oriented Analysis and Design Using UML
Software Development Approaches


               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




    Ver. 1.0                                                         Slide 4 of 26
Object-Oriented Analysis and Design Using UML
Waterfall Approach


                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




     Ver. 1.0                                                       Slide 5 of 26
Object-Oriented Analysis and Design Using UML
Waterfall Approach (Contd.)


                The following figure shows various phases of the waterfall
                approach:




     Ver. 1.0                                                        Slide 6 of 26
Object-Oriented Analysis and Design Using UML
Prototyping Approach


                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.




     Ver. 1.0                                                       Slide 7 of 26
Object-Oriented Analysis and Design Using UML
Prototyping Approach (Contd.)


                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.




     Ver. 1.0                                                             Slide 8 of 26
Object-Oriented Analysis and Design Using UML
Spiral Approach


                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




     Ver. 1.0                                                         Slide 9 of 26
Object-Oriented Analysis and Design Using UML
Spiral Approach (Contd.)


                The following figure shows the various phases of the spiral
                approach:




     Ver. 1.0                                                        Slide 10 of 26
Object-Oriented Analysis and Design Using UML
Win-Win Spiral Approach


                • 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.




     Ver. 1.0                                                       Slide 11 of 26
Object-Oriented Analysis and Design Using UML
Incremental Approach


               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




    Ver. 1.0                                                       Slide 12 of 26
Object-Oriented Analysis and Design Using UML
Incremental Approach (Contd.)


                The following figure shows the Incremental approach with
                various phases:




     Ver. 1.0                                                      Slide 13 of 26
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




     Ver. 1.0                                                        Slide 14 of 26
Object-Oriented Analysis and Design Using UML
Understanding Object-Oriented Concepts


                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.




     Ver. 1.0                                                                  Slide 15 of 26
Object-Oriented Analysis and Design Using UML
Overview of Object-Oriented Concepts


                A class is an abstract data type that contains a set of
                attributes and functions.
                An object is an instance of a class.




     Ver. 1.0                                                         Slide 16 of 26
Object-Oriented Analysis and Design Using UML
Overview of Object-Oriented Concepts (Contd.)


                Inheritance refers to sharing of attributes and behaviors
                among classes based upon hierarchical relationship.




     Ver. 1.0                                                         Slide 17 of 26
Object-Oriented Analysis and Design Using UML
Overview of Object-Oriented Concepts (Contd.)


                Abstraction focuses on essential, inherent aspects of an
                entity ignoring its implementation details.




     Ver. 1.0                                                       Slide 18 of 26
Object-Oriented Analysis and Design Using UML
Overview of Object-Oriented Concepts (Contd.)


                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.




     Ver. 1.0                                                      Slide 19 of 26
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.




     Ver. 1.0                                                           Slide 20 of 26
Object-Oriented Analysis and Design Using UML
Overview of Object-Oriented Concepts (Contd.)


                Countryside Markets class hierarchy:




                         Class Hierarchy




     Ver. 1.0                                          Slide 21 of 26
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




     Ver. 1.0                                                        Slide 22 of 26
Object-Oriented Analysis and Design Using UML
Role of Object-Oriented Analysis and Design (OOAD) in SDLC


                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.



     Ver. 1.0                                                           Slide 23 of 26
Object-Oriented Analysis and Design Using UML
Summary


               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




    Ver. 1.0                                                          Slide 24 of 26
Object-Oriented Analysis and Design Using UML
Summary (Contd.)


                 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.




    Ver. 1.0                                                              Slide 25 of 26
Object-Oriented Analysis and Design Using UML
Summary (Contd.)


               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.




    Ver. 1.0                                                          Slide 26 of 26

Weitere ähnliche Inhalte

Was ist angesagt?

13 ooad uml-17
13 ooad uml-1713 ooad uml-17
13 ooad uml-17Niit Care
 
14 ooad uml-19
14 ooad uml-1914 ooad uml-19
14 ooad uml-19Niit Care
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...Aman Mishra
 
Devnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology
 
Function oriented design
Function oriented designFunction oriented design
Function oriented designVidhun T
 
Software Engineering course
Software Engineering courseSoftware Engineering course
Software Engineering courseJeremy Rose
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and designnaveed428
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTleela rani
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD pptPRIANKA R
 
Structured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignMotaz Saad
 
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUPDang Tuan
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecturedrewz lin
 

Was ist angesagt? (20)

13 ooad uml-17
13 ooad uml-1713 ooad uml-17
13 ooad uml-17
 
14 ooad uml-19
14 ooad uml-1914 ooad uml-19
14 ooad uml-19
 
Round - Trip Software Engineering using UML: From Architecture to Design and...
Round - Trip Software Engineering using UML:  From Architecture to Design and...Round - Trip Software Engineering using UML:  From Architecture to Design and...
Round - Trip Software Engineering using UML: From Architecture to Design and...
 
Devnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software Development
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Software Engineering course
Software Engineering courseSoftware Engineering course
Software Engineering course
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 
Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
 
Chapter1
Chapter1Chapter1
Chapter1
 
4+1
4+14+1
4+1
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
 
Structured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and DesignStructured Vs, Object Oriented Analysis and Design
Structured Vs, Object Oriented Analysis and Design
 
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 Information Systems Analysis and Design Overview of OOAD, UML, and RUP Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
Oomd unit1
Oomd unit1Oomd unit1
Oomd unit1
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
Ooad
OoadOoad
Ooad
 

Andere mochten auch

Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Ooad 2marks
Ooad 2marksOoad 2marks
Ooad 2marksAsh Wini
 
Unit i-ooad-notes-revised
Unit i-ooad-notes-revisedUnit i-ooad-notes-revised
Unit i-ooad-notes-revisedPrabhu D
 
US in the Middle East Part 2
US in the Middle East Part 2US in the Middle East Part 2
US in the Middle East Part 2skallens
 
Similarities
SimilaritiesSimilarities
Similaritiesippnw
 
Poverty and Hunger Reduction – a new mix of growth and social protection poli...
Poverty and Hunger Reduction – a new mix of growth and social protection poli...Poverty and Hunger Reduction – a new mix of growth and social protection poli...
Poverty and Hunger Reduction – a new mix of growth and social protection poli...Joachim von Braun
 
Red Star Over China (Speaker: Vincent Lee Kwun-leung) [Part 2]
Red Star Over China (Speaker: Vincent Lee Kwun-leung) [Part 2]Red Star Over China (Speaker: Vincent Lee Kwun-leung) [Part 2]
Red Star Over China (Speaker: Vincent Lee Kwun-leung) [Part 2]VincentKwunLeungLee
 
Heroines And Heroes Of Sindh Long March
Heroines And Heroes Of Sindh Long MarchHeroines And Heroes Of Sindh Long March
Heroines And Heroes Of Sindh Long Marchguestf7ae21
 
Nuclear power
Nuclear powerNuclear power
Nuclear powerAparna
 
1948 Arab–Israeli
1948 Arab–Israeli1948 Arab–Israeli
1948 Arab–Israelijakblack
 
The Arab Spring: A simple compartmental model for the dynamics of a revolution
The Arab Spring: A simple compartmental model for the dynamics of a revolutionThe Arab Spring: A simple compartmental model for the dynamics of a revolution
The Arab Spring: A simple compartmental model for the dynamics of a revolutionHans De Sterck
 
Technical Properties of A Nuclear Power Plant
Technical Properties of A Nuclear Power PlantTechnical Properties of A Nuclear Power Plant
Technical Properties of A Nuclear Power PlantCan Görkem Ünal
 

Andere mochten auch (20)

Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Ooad 2marks
Ooad 2marksOoad 2marks
Ooad 2marks
 
Unit i-ooad-notes-revised
Unit i-ooad-notes-revisedUnit i-ooad-notes-revised
Unit i-ooad-notes-revised
 
Object modeling
Object modelingObject modeling
Object modeling
 
A global picture of drought occurrence, magnitude, and preparedness
A global picture of drought occurrence, magnitude, and preparednessA global picture of drought occurrence, magnitude, and preparedness
A global picture of drought occurrence, magnitude, and preparedness
 
WWI 5 Weapons
WWI 5 WeaponsWWI 5 Weapons
WWI 5 Weapons
 
US in the Middle East Part 2
US in the Middle East Part 2US in the Middle East Part 2
US in the Middle East Part 2
 
27 NP Completness
27 NP Completness27 NP Completness
27 NP Completness
 
Similarities
SimilaritiesSimilarities
Similarities
 
Poverty and Hunger Reduction – a new mix of growth and social protection poli...
Poverty and Hunger Reduction – a new mix of growth and social protection poli...Poverty and Hunger Reduction – a new mix of growth and social protection poli...
Poverty and Hunger Reduction – a new mix of growth and social protection poli...
 
Chapter9
Chapter9Chapter9
Chapter9
 
Hemp History China
Hemp History ChinaHemp History China
Hemp History China
 
Red Star Over China (Speaker: Vincent Lee Kwun-leung) [Part 2]
Red Star Over China (Speaker: Vincent Lee Kwun-leung) [Part 2]Red Star Over China (Speaker: Vincent Lee Kwun-leung) [Part 2]
Red Star Over China (Speaker: Vincent Lee Kwun-leung) [Part 2]
 
Conflicts in Egypt-2
Conflicts in Egypt-2Conflicts in Egypt-2
Conflicts in Egypt-2
 
Heroines And Heroes Of Sindh Long March
Heroines And Heroes Of Sindh Long MarchHeroines And Heroes Of Sindh Long March
Heroines And Heroes Of Sindh Long March
 
Nuclear power
Nuclear powerNuclear power
Nuclear power
 
1948 Arab–Israeli
1948 Arab–Israeli1948 Arab–Israeli
1948 Arab–Israeli
 
The Arab Spring: A simple compartmental model for the dynamics of a revolution
The Arab Spring: A simple compartmental model for the dynamics of a revolutionThe Arab Spring: A simple compartmental model for the dynamics of a revolution
The Arab Spring: A simple compartmental model for the dynamics of a revolution
 
Technical Properties of A Nuclear Power Plant
Technical Properties of A Nuclear Power PlantTechnical Properties of A Nuclear Power Plant
Technical Properties of A Nuclear Power Plant
 
Presentation1-2
Presentation1-2Presentation1-2
Presentation1-2
 

Ähnlich wie 01 ooad uml-01

Power point presentation 1
Power point presentation 1Power point presentation 1
Power point presentation 1Student
 
12 ooad uml-16
12 ooad uml-1612 ooad uml-16
12 ooad uml-16Niit Care
 
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
 
Software development models_rendi_saputra_infosys_USR
Software development models_rendi_saputra_infosys_USRSoftware development models_rendi_saputra_infosys_USR
Software development models_rendi_saputra_infosys_USRRendi Saputra
 
Unit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfUnit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfganeshkarthy
 
_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
 
_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
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfdo_2013
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
se02_SW_Process.ppt
se02_SW_Process.pptse02_SW_Process.ppt
se02_SW_Process.pptNhân Công
 
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
 
Agbaje7survey of softwar process
Agbaje7survey of softwar processAgbaje7survey of softwar process
Agbaje7survey of softwar processDr. Michael Agbaje
 
System designing approaches
System designing approachesSystem designing approaches
System designing approachesJaipal Dhobale
 
20CB304 - SE - UNIT V - Digital Notes.pptx
20CB304 - SE - UNIT V - Digital Notes.pptx20CB304 - SE - UNIT V - Digital Notes.pptx
20CB304 - SE - UNIT V - Digital Notes.pptxJayaramB11
 

Ähnlich wie 01 ooad uml-01 (20)

Power point presentation 1
Power point presentation 1Power point presentation 1
Power point presentation 1
 
12 ooad uml-16
12 ooad uml-1612 ooad uml-16
12 ooad uml-16
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
View Alignment Techniques
View Alignment TechniquesView Alignment Techniques
View Alignment Techniques
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Software development models_rendi_saputra_infosys_USR
Software development models_rendi_saputra_infosys_USRSoftware development models_rendi_saputra_infosys_USR
Software development models_rendi_saputra_infosys_USR
 
Unit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfUnit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdf
 
Ch01
Ch01Ch01
Ch01
 
Jar chapter 1
Jar chapter 1Jar chapter 1
Jar chapter 1
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdf
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
se02_SW_Process.ppt
se02_SW_Process.pptse02_SW_Process.ppt
se02_SW_Process.ppt
 
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
 
Agbaje7survey of softwar process
Agbaje7survey of softwar processAgbaje7survey of softwar process
Agbaje7survey of softwar process
 
UNIT 01 SMD.pptx
UNIT 01 SMD.pptxUNIT 01 SMD.pptx
UNIT 01 SMD.pptx
 
System designing approaches
System designing approachesSystem designing approaches
System designing approaches
 
20CB304 - SE - UNIT V - Digital Notes.pptx
20CB304 - SE - UNIT V - Digital Notes.pptx20CB304 - SE - UNIT V - Digital Notes.pptx
20CB304 - SE - UNIT V - Digital Notes.pptx
 

Mehr von Niit Care (20)

Ajs 1 b
Ajs 1 bAjs 1 b
Ajs 1 b
 
Ajs 4 b
Ajs 4 bAjs 4 b
Ajs 4 b
 
Ajs 4 a
Ajs 4 aAjs 4 a
Ajs 4 a
 
Ajs 4 c
Ajs 4 cAjs 4 c
Ajs 4 c
 
Ajs 3 b
Ajs 3 bAjs 3 b
Ajs 3 b
 
Ajs 3 a
Ajs 3 aAjs 3 a
Ajs 3 a
 
Ajs 3 c
Ajs 3 cAjs 3 c
Ajs 3 c
 
Ajs 2 b
Ajs 2 bAjs 2 b
Ajs 2 b
 
Ajs 2 a
Ajs 2 aAjs 2 a
Ajs 2 a
 
Ajs 2 c
Ajs 2 cAjs 2 c
Ajs 2 c
 
Ajs 1 a
Ajs 1 aAjs 1 a
Ajs 1 a
 
Ajs 1 c
Ajs 1 cAjs 1 c
Ajs 1 c
 
Dacj 4 2-c
Dacj 4 2-cDacj 4 2-c
Dacj 4 2-c
 
Dacj 4 2-b
Dacj 4 2-bDacj 4 2-b
Dacj 4 2-b
 
Dacj 4 2-a
Dacj 4 2-aDacj 4 2-a
Dacj 4 2-a
 
Dacj 4 1-c
Dacj 4 1-cDacj 4 1-c
Dacj 4 1-c
 
Dacj 4 1-b
Dacj 4 1-bDacj 4 1-b
Dacj 4 1-b
 
Dacj 4 1-a
Dacj 4 1-aDacj 4 1-a
Dacj 4 1-a
 
Dacj 1-2 b
Dacj 1-2 bDacj 1-2 b
Dacj 1-2 b
 
Dacj 1-3 c
Dacj 1-3 cDacj 1-3 c
Dacj 1-3 c
 

Kürzlich hochgeladen

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Kürzlich hochgeladen (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

01 ooad uml-01

  • 1. Object-Oriented Analysis and Design Using UML Objectives In this session, you will learn to: Identify the various software development approaches Identify the role of OOAD in SDLC Ver. 1.0 Slide 1 of 26
  • 2. Object-Oriented Analysis and Design Using UML Understanding Software Development Life Cycle (SDLC) 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. Ver. 1.0 Slide 2 of 26
  • 3. Object-Oriented Analysis and Design Using UML Overview of SDLC Phases There are six phases of SDLC: Feasibility analysis Requirement analysis and specification Design Coding Testing Maintenance Ver. 1.0 Slide 3 of 26
  • 4. Object-Oriented Analysis and Design Using UML Software Development Approaches 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 Ver. 1.0 Slide 4 of 26
  • 5. Object-Oriented Analysis and Design Using UML Waterfall Approach 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 Ver. 1.0 Slide 5 of 26
  • 6. Object-Oriented Analysis and Design Using UML Waterfall Approach (Contd.) The following figure shows various phases of the waterfall approach: Ver. 1.0 Slide 6 of 26
  • 7. Object-Oriented Analysis and Design Using UML Prototyping Approach 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. Ver. 1.0 Slide 7 of 26
  • 8. Object-Oriented Analysis and Design Using UML Prototyping Approach (Contd.) 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. Ver. 1.0 Slide 8 of 26
  • 9. Object-Oriented Analysis and Design Using UML Spiral Approach 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 Ver. 1.0 Slide 9 of 26
  • 10. Object-Oriented Analysis and Design Using UML Spiral Approach (Contd.) The following figure shows the various phases of the spiral approach: Ver. 1.0 Slide 10 of 26
  • 11. Object-Oriented Analysis and Design Using UML Win-Win Spiral Approach • 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. Ver. 1.0 Slide 11 of 26
  • 12. Object-Oriented Analysis and Design Using UML Incremental Approach 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 Ver. 1.0 Slide 12 of 26
  • 13. Object-Oriented Analysis and Design Using UML Incremental Approach (Contd.) The following figure shows the Incremental approach with various phases: Ver. 1.0 Slide 13 of 26
  • 14. 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 Ver. 1.0 Slide 14 of 26
  • 15. Object-Oriented Analysis and Design Using UML Understanding Object-Oriented Concepts 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. Ver. 1.0 Slide 15 of 26
  • 16. Object-Oriented Analysis and Design Using UML Overview of Object-Oriented Concepts A class is an abstract data type that contains a set of attributes and functions. An object is an instance of a class. Ver. 1.0 Slide 16 of 26
  • 17. Object-Oriented Analysis and Design Using UML Overview of Object-Oriented Concepts (Contd.) Inheritance refers to sharing of attributes and behaviors among classes based upon hierarchical relationship. Ver. 1.0 Slide 17 of 26
  • 18. Object-Oriented Analysis and Design Using UML Overview of Object-Oriented Concepts (Contd.) Abstraction focuses on essential, inherent aspects of an entity ignoring its implementation details. Ver. 1.0 Slide 18 of 26
  • 19. Object-Oriented Analysis and Design Using UML Overview of Object-Oriented Concepts (Contd.) 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. Ver. 1.0 Slide 19 of 26
  • 20. 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. Ver. 1.0 Slide 20 of 26
  • 21. Object-Oriented Analysis and Design Using UML Overview of Object-Oriented Concepts (Contd.) Countryside Markets class hierarchy: Class Hierarchy Ver. 1.0 Slide 21 of 26
  • 22. 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 Ver. 1.0 Slide 22 of 26
  • 23. Object-Oriented Analysis and Design Using UML Role of Object-Oriented Analysis and Design (OOAD) in SDLC 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. Ver. 1.0 Slide 23 of 26
  • 24. Object-Oriented Analysis and Design Using UML Summary 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 Ver. 1.0 Slide 24 of 26
  • 25. Object-Oriented Analysis and Design Using UML Summary (Contd.) 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. Ver. 1.0 Slide 25 of 26
  • 26. Object-Oriented Analysis and Design Using UML Summary (Contd.) 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. Ver. 1.0 Slide 26 of 26

Hinweis der Redaktion

  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.