SlideShare a Scribd company logo
1 of 43
Software Engineering
Development Methodologies
Lecture 02
Asst. Prof. Sayed Elham Sadat
sayed.elham@kuk.ac.in
Software Process | Development Methodologies
2
◎ A software development methodologies also known as
○ System development methodology
○ Software development life cycle
○ Software development process
○ Software process
◎ When you work to build a product or system, it’s important to go through a series
of predictable steps a road map that helps you create a timely, high-quality result.
◎ A software Process is a framework of the activities, actions and tasks that are
required to build high quality software.
◎ In software engineering, a software development methodology is a division
of software development work into distinct phases (or stages) containing
activities with the intent of better planning and management
Software Development Methodologies cont.
3
Software development methodologies are a key concept of SE
To overcome s/w crisis
SE
To develop a s/w product
The development team must identify suitable methodology for particular project.
Software Development Life Cycle (SDLC)
4
◎ SDLC stands for Software Development Life Cycle. SDLC is a
process that consists of a series of planned activities to
develop or alter the Software Products.
◎ SDLC process is used by the software industry to design,
develop and test high quality software.
◎ It aims to produce the quality software that meets or exceeds
customer expectations, reaches completion within time and
budget.
◎ A “life-cycle” or a software process is the organizational
framework for a project.
Software Development Life Cycle Models
5
◎ There are various software development life cycle models defined and
designed which are followed during the software development process.
◎ Following are the most important and popular SDLC models followed in
the industry;
○ Waterfall Model
○ Incremental Model
○ Spiral Model
○ V-Model
○ Prototyping Model
◎ Other related methodologies are Agile Model, RAD Model, Big Bang Model,
Iterative Model and Prototyping Models.
SDLC Phases
6
1. Planning and Requirements Analysis
2. Defining Requirements
3. Designing the Software
4. Building or Developing the Software
5. Testing the Software
6. Deployment and Maintenance
SDLC Phases Cont.
7
◎ 1. Planning & Requirement Analysis
◎ Requirement analysis is the most important and fundamental stage in
SDLC.
◎ It is performed by the senior members of the team with inputs from all the
stakeholders and domain experts or SMEs in the industry.
◎ Planning for the quality assurance requirements and identification of the
risks associated with the project is also done at this stage.
SDLC Phases Cont.
8
◎ Requirement Analysis
◎ Business Requirements
◎ Stakeholder Requirements
◎ Solution Requirements
○ Functional Requirements
○ Non-functional Requirements
◎ Transition Requirements
SDLC Phases Cont.
9
◎ 2. Defining Requirements
◎ Once the requirement analysis is done the next step is to clearly define
and document the software requirements and get them approved from the
project stakeholders.
◎ This is done through ‘SRS’ — Software Requirement Specification
document which consists of all the product requirements to be designed
and developed during the project life cycle.
SDLC Phases Cont.
10
◎ Feasibility Study
◎ Economic: Can we complete the project within the budget or not?
◎ Legal: Can we handle this project as cyber law and other regulatory
framework/compliances.
◎ Operation feasibility: Can we create operations which is expected by the
client?
◎ Technical: Need to check whether the current computer system can
support the software.
◎ Schedule: Decide that the project can be completed with in the given
schedule or not.
SDLC Phases Cont.
11
◎ 3. Designing the Software
◎ Based on the requirements specified in SRS, usually more than one design
approach for the product architecture is proposed.
◎ Modules
◎ Use Case Diagram
◎ ERD
SDLC Phases Cont.
12
◎ 4. Developing the Software
◎ In this stage of SDLC the actual development starts and the product is
built.
◎ The programming code is generated as per DDS during this stage.
◎ Developers have to follow the coding guidelines defined by their
organization and programming tools like compilers, interpreters,
debuggers etc. are used to generate and implement the code.
SDLC Phases Cont.
13
◎ 5. Testing the Software
◎ This stage is usually a subset of all the stages as in the modern SDLC
models, the testing activities are mostly involved in all the stages of SDLC.
◎ However this stage refers to the testing only that stage of the software
where defects are reported, tracked, fixed and retested, until the software
reaches the quality standards defined in the SRS.
SDLC Phases Cont.
14
◎ 5. Deployment and Maintenance
◎ Once the software is tested and no bugs or errors are reported then it is
deployed.
◎ Then based on the feedback, the software may be released as it is or with
suggested enhancements in the target segment.
◎ After the software is deployed then its maintenance starts.
◎ Maintenance
○ Bug fixing - bugs are reported because of some scenarios which are
not tested at all
○ Upgrade - Upgrading the application to the newer versions of the
Software
○ Enhancement - Adding some new features into the existing software
SDLC Models
15
◎ To help understand and implement the
SDLC phases various SDLC models have
been created by software development
experts, universities, and standards
organizations.
Reasons for Using SDLC Models
16
◎ Provides the base for project planning, estimating & scheduling.
◎ Provides framework for standard set of terminologies, activities &
deliverables.
◎ Provides mechanism for project tracking & control.
◎ Increases visibility of project progress to all stakeholders.
Advantages of Choosing an appropriate SDLC Models
17
◎ Increased development speed
◎ Increased product quality
◎ Improved tracking & control
◎ Improved client relations
◎ Decreased project risk
◎ Decreased project management overhead
Classic Waterfall Model
18
◎ Oldest and most well-known SDLC model.
◎ Follows a sequential step-by-step process from requirements analysis to
maintenance.
◎ The waterfall Model shows the software development process in a linear
sequential flow. This means that any phase in the development process
begins only if the previous phase is complete. - no turning back.
◎ Invented in 1970. The waterfall model, sometimes called the classic life
cycle
◎ Systems that have well-defined and understood requirements are a good
fit for the Waterfall Model.
Classic Waterfall Model cont.
19
Classic Waterfall Model cont.
20
◎ Advantages:
◎ Easy to understand, easy to use
◎ Provides structure to inexperienced staff
◎ Milestones are well understood
◎ Sets requirements stability
◎ Good for management control (plan, staff, track)
◎ Process and results are well documented.
◎ Works well when quality is more important than cost or schedule
Classic Waterfall Model cont.
21
◎ Disadvantages:
◎ No feedback
◎ No parallelism
◎ High Risk
◎ Poor model for long and ongoing projects.
◎ 60% efforts in Maintenance
Classic Waterfall Model cont.
22
◎ When to use :
◎ Requirements are very well known
◎ Product definition is stable
◎ Technology is understood
◎ There are no ambiguous requirements
◎ New version of an existing product
Iterative Waterfall Model
23
◎ Iterative waterfall allows you to return to the previous phase and adjust
requirements and, if necessary, some modifications.
◎ In the iterative waterfall model, the next phase can only begin when the
previous phase is completed as the waterfall model.
Iterative Waterfall Model cont.
24
Iterative Waterfall Model cont.
25
◎ Advantages:
◎ Feedback Path: Iterative waterfall allows the mechanism of error
connection because there is a feedback path from one phase to its
preceding phase which it lacks in the Waterfall Model.
◎ Simple: Iterative waterfall model is simple to understand and use. It is the
most widely used software development model evolved so far.
◎ Parallel development: In the iterative waterfall model, parallel
development can be done.
V-Shaped Model
26
◎ A variation in the representation of the waterfall model is called the V-
model.
◎ Also known as Verification and Validation Model.
◎ Testing is associated with every phase of lifecycle.
◎ Verification Phase (Requirement analysis, System Design, Architecture
Design, Module Design).
◎ Validation phase (Unit testing, Integration, System, Acceptance Testing).
V-Shaped Model Cont.
27
V-Shaped Model Cont.
28
◎ Advantages:
◎ Time Saving
◎ Good understanding of project in the beginning
◎ Every component must be testable
◎ Progress can be tracked easily
V-Shaped Model Cont.
29
◎ Disadvantages:
◎ No feedback so less scope of changes
◎ Risk analysis is not done.
◎ Not good for big projects
Incremental Model
30
◎ Module by Module development
◎ In incremental model the whole requirement is divided into various
builds. Multiple development cycles take place here, making the life cycle
a “multi-waterfall” cycle.
◎ Cycles are divided up into smaller, more easily managed modules.
◎ Each subsequent release of the system adds function to the previous
release, until all designed functionality has been implemented.
◎ Maximum customer intraction
Incremental Model Cont.
31
Incremental Model Cont.
32
◎ Advantages:
◎ Generates working software quickly and early during the software life
cycle.
◎ This model is more flexible – less costly to change scope and
requirements.
◎ It is easier to test and debug during a smaller iteration.
◎ In this model customer can respond to each built.
◎ Lowers initial delivery cost.
◎ Easier to manage risk because risky pieces are identified and handled
during it’d iteration.
Incremental Model Cont.
33
◎ Disadvantages:
◎ Needs good planning and design.
◎ Needs a clear and complete definition of the whole system before it can be
broken down and built incrementally.
◎ Total cost is higher than waterfall.
Incremental Model Cont.
34
◎ When to use the Incremental model:
◎ This model can be used when the requirements of the complete system
are clearly defined and understood.
◎ Major requirements must be defined; however, some details can evolve
with time.
◎ There is a need to get a product to the market early.
◎ A new technology is being used
◎ Resources with needed skill set are not available
◎ There are some high risk features and goals.
Prototype Model
35
◎ The Software Prototyping refers to building software application prototypes which
displays the functionality of the product under development, but may not actually
hold the exact logic of the original software.
◎ Customer is not clear with idea.
◎ Throwing away model
◎ Developers build a prototype during the requirements phase
◎ Prototype is evaluated by end users
◎ Users give corrective feedback
◎ Developers further refine the prototype
◎ When the user is satisfied, the prototype code is brought up to the standards needed
for a final product.
◎ Good for technical and requirement risks
Prototype Model
36
Prototype Model cont.
37
◎ Advantages:
◎ Customers can “see” the system requirements as they are being gathered
◎ Developers learn from customers
◎ A more accurate end product
◎ Allows for flexible design and development
◎ Unexpected requirements accommodated
Prototype Model cont.
38
◎ Disadvantages:
◎ Time-consuming
◎ Increase in cost of development
◎ Customer can confuse between the actual product and prototype.
◎ Change in the requirement usually expand the scope of the product
beyond its original plan and thus increase the complexity.
Spiral Model
39
◎ The spiral model is similar to the incremental model, with more emphasis placed
on risk analysis (Risk Handling).
◎ Informally, risk simply means something that can go wrong.
◎ This model is best used for large projects which involves continuous
enhancements.
◎ There are specific activities which are done in one iteration (spiral) where the
output is a small prototype of the large software.
◎ The same activities are then repeated for all the spirals till the entire software is
build.
◎ Radius of spiral = more cost.
◎ Angular dimension = show the progress.
Spiral Model cont.
40
Spiral Model cont.
41
◎ Advantages:
◎ Risk Handling
◎ Large Projects
◎ Flexible – new changes can occur.
◎ Customer satisfaction
Spiral Model cont.
42
◎ Disadvantages:
◎ Complex
◎ Expensive
◎ Too much risk analysis
◎ Budget and time can not be define in start
◎ Time
◎ Knowledgeable and experienced staff is required.
43
Thank You!

More Related Content

Similar to Lecture 02 - Development Methodologies.pptx

Lecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptxLecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptxYaseenNazir3
 
SDLC (Software development life Cycle)
SDLC (Software development life Cycle)SDLC (Software development life Cycle)
SDLC (Software development life Cycle)PrithvirajChauhan61
 
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKunit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKAvijitChaudhuri3
 
Waterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelWaterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelSandesh Jonchhe
 
REPORT IN SYSTEM INTEGRATION AND ARCHITECTURE.pptx
REPORT IN SYSTEM INTEGRATION AND ARCHITECTURE.pptxREPORT IN SYSTEM INTEGRATION AND ARCHITECTURE.pptx
REPORT IN SYSTEM INTEGRATION AND ARCHITECTURE.pptxESAChannel
 
Sdlc overview
Sdlc overviewSdlc overview
Sdlc overviewheripra
 
SDLC Models and Their Implementation
SDLC Models and Their ImplementationSDLC Models and Their Implementation
SDLC Models and Their ImplementationSonal Tiwari
 
Lesson 2 introduction in computing
Lesson 2 introduction in computingLesson 2 introduction in computing
Lesson 2 introduction in computingProfessor Thor
 
Types of software life cycle model
Types of software life cycle model Types of software life cycle model
Types of software life cycle model Santhia RK
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsAOmaAli
 
Software development life cycle.
Software development life cycle.Software development life cycle.
Software development life cycle.RishavChandel1
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle modelsWasif Khan
 
Software development lifecycle part2
Software development lifecycle part2Software development lifecycle part2
Software development lifecycle part2Ramandeep Singh
 
SDLC Software Development Life Cycle - Iterative Model and Spiral Model
SDLC Software Development Life Cycle - Iterative Model and Spiral ModelSDLC Software Development Life Cycle - Iterative Model and Spiral Model
SDLC Software Development Life Cycle - Iterative Model and Spiral ModelKMDSabeel
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)sanoop s
 

Similar to Lecture 02 - Development Methodologies.pptx (20)

Lecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptxLecture-3-SDLC Models-part1.pptx
Lecture-3-SDLC Models-part1.pptx
 
SDLC (Software development life Cycle)
SDLC (Software development life Cycle)SDLC (Software development life Cycle)
SDLC (Software development life Cycle)
 
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKunit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
 
Waterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelWaterfall, Spiral and iterative model
Waterfall, Spiral and iterative model
 
REPORT IN SYSTEM INTEGRATION AND ARCHITECTURE.pptx
REPORT IN SYSTEM INTEGRATION AND ARCHITECTURE.pptxREPORT IN SYSTEM INTEGRATION AND ARCHITECTURE.pptx
REPORT IN SYSTEM INTEGRATION AND ARCHITECTURE.pptx
 
Sdlc overview
Sdlc overviewSdlc overview
Sdlc overview
 
SDLC Models and Their Implementation
SDLC Models and Their ImplementationSDLC Models and Their Implementation
SDLC Models and Their Implementation
 
Process Models
Process ModelsProcess Models
Process Models
 
Process Models
Process ModelsProcess Models
Process Models
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Lesson 2 introduction in computing
Lesson 2 introduction in computingLesson 2 introduction in computing
Lesson 2 introduction in computing
 
Types of software life cycle model
Types of software life cycle model Types of software life cycle model
Types of software life cycle model
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) Models
 
Lecture 1 OOSE.pdf
Lecture 1 OOSE.pdfLecture 1 OOSE.pdf
Lecture 1 OOSE.pdf
 
SDLC Models.pdf
SDLC Models.pdfSDLC Models.pdf
SDLC Models.pdf
 
Software development life cycle.
Software development life cycle.Software development life cycle.
Software development life cycle.
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle models
 
Software development lifecycle part2
Software development lifecycle part2Software development lifecycle part2
Software development lifecycle part2
 
SDLC Software Development Life Cycle - Iterative Model and Spiral Model
SDLC Software Development Life Cycle - Iterative Model and Spiral ModelSDLC Software Development Life Cycle - Iterative Model and Spiral Model
SDLC Software Development Life Cycle - Iterative Model and Spiral Model
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 

Recently uploaded

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

Lecture 02 - Development Methodologies.pptx

  • 1. Software Engineering Development Methodologies Lecture 02 Asst. Prof. Sayed Elham Sadat sayed.elham@kuk.ac.in
  • 2. Software Process | Development Methodologies 2 ◎ A software development methodologies also known as ○ System development methodology ○ Software development life cycle ○ Software development process ○ Software process ◎ When you work to build a product or system, it’s important to go through a series of predictable steps a road map that helps you create a timely, high-quality result. ◎ A software Process is a framework of the activities, actions and tasks that are required to build high quality software. ◎ In software engineering, a software development methodology is a division of software development work into distinct phases (or stages) containing activities with the intent of better planning and management
  • 3. Software Development Methodologies cont. 3 Software development methodologies are a key concept of SE To overcome s/w crisis SE To develop a s/w product The development team must identify suitable methodology for particular project.
  • 4. Software Development Life Cycle (SDLC) 4 ◎ SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. ◎ SDLC process is used by the software industry to design, develop and test high quality software. ◎ It aims to produce the quality software that meets or exceeds customer expectations, reaches completion within time and budget. ◎ A “life-cycle” or a software process is the organizational framework for a project.
  • 5. Software Development Life Cycle Models 5 ◎ There are various software development life cycle models defined and designed which are followed during the software development process. ◎ Following are the most important and popular SDLC models followed in the industry; ○ Waterfall Model ○ Incremental Model ○ Spiral Model ○ V-Model ○ Prototyping Model ◎ Other related methodologies are Agile Model, RAD Model, Big Bang Model, Iterative Model and Prototyping Models.
  • 6. SDLC Phases 6 1. Planning and Requirements Analysis 2. Defining Requirements 3. Designing the Software 4. Building or Developing the Software 5. Testing the Software 6. Deployment and Maintenance
  • 7. SDLC Phases Cont. 7 ◎ 1. Planning & Requirement Analysis ◎ Requirement analysis is the most important and fundamental stage in SDLC. ◎ It is performed by the senior members of the team with inputs from all the stakeholders and domain experts or SMEs in the industry. ◎ Planning for the quality assurance requirements and identification of the risks associated with the project is also done at this stage.
  • 8. SDLC Phases Cont. 8 ◎ Requirement Analysis ◎ Business Requirements ◎ Stakeholder Requirements ◎ Solution Requirements ○ Functional Requirements ○ Non-functional Requirements ◎ Transition Requirements
  • 9. SDLC Phases Cont. 9 ◎ 2. Defining Requirements ◎ Once the requirement analysis is done the next step is to clearly define and document the software requirements and get them approved from the project stakeholders. ◎ This is done through ‘SRS’ — Software Requirement Specification document which consists of all the product requirements to be designed and developed during the project life cycle.
  • 10. SDLC Phases Cont. 10 ◎ Feasibility Study ◎ Economic: Can we complete the project within the budget or not? ◎ Legal: Can we handle this project as cyber law and other regulatory framework/compliances. ◎ Operation feasibility: Can we create operations which is expected by the client? ◎ Technical: Need to check whether the current computer system can support the software. ◎ Schedule: Decide that the project can be completed with in the given schedule or not.
  • 11. SDLC Phases Cont. 11 ◎ 3. Designing the Software ◎ Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed. ◎ Modules ◎ Use Case Diagram ◎ ERD
  • 12. SDLC Phases Cont. 12 ◎ 4. Developing the Software ◎ In this stage of SDLC the actual development starts and the product is built. ◎ The programming code is generated as per DDS during this stage. ◎ Developers have to follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers etc. are used to generate and implement the code.
  • 13. SDLC Phases Cont. 13 ◎ 5. Testing the Software ◎ This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. ◎ However this stage refers to the testing only that stage of the software where defects are reported, tracked, fixed and retested, until the software reaches the quality standards defined in the SRS.
  • 14. SDLC Phases Cont. 14 ◎ 5. Deployment and Maintenance ◎ Once the software is tested and no bugs or errors are reported then it is deployed. ◎ Then based on the feedback, the software may be released as it is or with suggested enhancements in the target segment. ◎ After the software is deployed then its maintenance starts. ◎ Maintenance ○ Bug fixing - bugs are reported because of some scenarios which are not tested at all ○ Upgrade - Upgrading the application to the newer versions of the Software ○ Enhancement - Adding some new features into the existing software
  • 15. SDLC Models 15 ◎ To help understand and implement the SDLC phases various SDLC models have been created by software development experts, universities, and standards organizations.
  • 16. Reasons for Using SDLC Models 16 ◎ Provides the base for project planning, estimating & scheduling. ◎ Provides framework for standard set of terminologies, activities & deliverables. ◎ Provides mechanism for project tracking & control. ◎ Increases visibility of project progress to all stakeholders.
  • 17. Advantages of Choosing an appropriate SDLC Models 17 ◎ Increased development speed ◎ Increased product quality ◎ Improved tracking & control ◎ Improved client relations ◎ Decreased project risk ◎ Decreased project management overhead
  • 18. Classic Waterfall Model 18 ◎ Oldest and most well-known SDLC model. ◎ Follows a sequential step-by-step process from requirements analysis to maintenance. ◎ The waterfall Model shows the software development process in a linear sequential flow. This means that any phase in the development process begins only if the previous phase is complete. - no turning back. ◎ Invented in 1970. The waterfall model, sometimes called the classic life cycle ◎ Systems that have well-defined and understood requirements are a good fit for the Waterfall Model.
  • 20. Classic Waterfall Model cont. 20 ◎ Advantages: ◎ Easy to understand, easy to use ◎ Provides structure to inexperienced staff ◎ Milestones are well understood ◎ Sets requirements stability ◎ Good for management control (plan, staff, track) ◎ Process and results are well documented. ◎ Works well when quality is more important than cost or schedule
  • 21. Classic Waterfall Model cont. 21 ◎ Disadvantages: ◎ No feedback ◎ No parallelism ◎ High Risk ◎ Poor model for long and ongoing projects. ◎ 60% efforts in Maintenance
  • 22. Classic Waterfall Model cont. 22 ◎ When to use : ◎ Requirements are very well known ◎ Product definition is stable ◎ Technology is understood ◎ There are no ambiguous requirements ◎ New version of an existing product
  • 23. Iterative Waterfall Model 23 ◎ Iterative waterfall allows you to return to the previous phase and adjust requirements and, if necessary, some modifications. ◎ In the iterative waterfall model, the next phase can only begin when the previous phase is completed as the waterfall model.
  • 25. Iterative Waterfall Model cont. 25 ◎ Advantages: ◎ Feedback Path: Iterative waterfall allows the mechanism of error connection because there is a feedback path from one phase to its preceding phase which it lacks in the Waterfall Model. ◎ Simple: Iterative waterfall model is simple to understand and use. It is the most widely used software development model evolved so far. ◎ Parallel development: In the iterative waterfall model, parallel development can be done.
  • 26. V-Shaped Model 26 ◎ A variation in the representation of the waterfall model is called the V- model. ◎ Also known as Verification and Validation Model. ◎ Testing is associated with every phase of lifecycle. ◎ Verification Phase (Requirement analysis, System Design, Architecture Design, Module Design). ◎ Validation phase (Unit testing, Integration, System, Acceptance Testing).
  • 28. V-Shaped Model Cont. 28 ◎ Advantages: ◎ Time Saving ◎ Good understanding of project in the beginning ◎ Every component must be testable ◎ Progress can be tracked easily
  • 29. V-Shaped Model Cont. 29 ◎ Disadvantages: ◎ No feedback so less scope of changes ◎ Risk analysis is not done. ◎ Not good for big projects
  • 30. Incremental Model 30 ◎ Module by Module development ◎ In incremental model the whole requirement is divided into various builds. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle. ◎ Cycles are divided up into smaller, more easily managed modules. ◎ Each subsequent release of the system adds function to the previous release, until all designed functionality has been implemented. ◎ Maximum customer intraction
  • 32. Incremental Model Cont. 32 ◎ Advantages: ◎ Generates working software quickly and early during the software life cycle. ◎ This model is more flexible – less costly to change scope and requirements. ◎ It is easier to test and debug during a smaller iteration. ◎ In this model customer can respond to each built. ◎ Lowers initial delivery cost. ◎ Easier to manage risk because risky pieces are identified and handled during it’d iteration.
  • 33. Incremental Model Cont. 33 ◎ Disadvantages: ◎ Needs good planning and design. ◎ Needs a clear and complete definition of the whole system before it can be broken down and built incrementally. ◎ Total cost is higher than waterfall.
  • 34. Incremental Model Cont. 34 ◎ When to use the Incremental model: ◎ This model can be used when the requirements of the complete system are clearly defined and understood. ◎ Major requirements must be defined; however, some details can evolve with time. ◎ There is a need to get a product to the market early. ◎ A new technology is being used ◎ Resources with needed skill set are not available ◎ There are some high risk features and goals.
  • 35. Prototype Model 35 ◎ The Software Prototyping refers to building software application prototypes which displays the functionality of the product under development, but may not actually hold the exact logic of the original software. ◎ Customer is not clear with idea. ◎ Throwing away model ◎ Developers build a prototype during the requirements phase ◎ Prototype is evaluated by end users ◎ Users give corrective feedback ◎ Developers further refine the prototype ◎ When the user is satisfied, the prototype code is brought up to the standards needed for a final product. ◎ Good for technical and requirement risks
  • 37. Prototype Model cont. 37 ◎ Advantages: ◎ Customers can “see” the system requirements as they are being gathered ◎ Developers learn from customers ◎ A more accurate end product ◎ Allows for flexible design and development ◎ Unexpected requirements accommodated
  • 38. Prototype Model cont. 38 ◎ Disadvantages: ◎ Time-consuming ◎ Increase in cost of development ◎ Customer can confuse between the actual product and prototype. ◎ Change in the requirement usually expand the scope of the product beyond its original plan and thus increase the complexity.
  • 39. Spiral Model 39 ◎ The spiral model is similar to the incremental model, with more emphasis placed on risk analysis (Risk Handling). ◎ Informally, risk simply means something that can go wrong. ◎ This model is best used for large projects which involves continuous enhancements. ◎ There are specific activities which are done in one iteration (spiral) where the output is a small prototype of the large software. ◎ The same activities are then repeated for all the spirals till the entire software is build. ◎ Radius of spiral = more cost. ◎ Angular dimension = show the progress.
  • 41. Spiral Model cont. 41 ◎ Advantages: ◎ Risk Handling ◎ Large Projects ◎ Flexible – new changes can occur. ◎ Customer satisfaction
  • 42. Spiral Model cont. 42 ◎ Disadvantages: ◎ Complex ◎ Expensive ◎ Too much risk analysis ◎ Budget and time can not be define in start ◎ Time ◎ Knowledgeable and experienced staff is required.

Editor's Notes

  1. Details design specification (DDS).
  2. Verification and validation is done in testing phase. Verification step by step verifying Whether the product is created well or not. Validation – when the whole system is develop we check that the system is good or not. System Design – means full system design like whole house design Architecture design – means design of system modules like floors in house Module Design – Means sub modules like rooms in first floor.