SlideShare a Scribd company logo
1 of 36
Fundamentals of Software Engineering
SDLC, Development Methodologies and Models
Lecture 03 & 04
Osamah A. I. Abduljalil
Osamah.Abduljalil@gmail.com
Taiz University
Faculty of Engineering & IT
Software Engineering Dept.
Fundamentals of SE - Osamah Abduljalil 2
Fundamentals of SE - Osamah Abduljalil
Software Process | Development Methodologies
3
◎ A software development methodologies also known as
○ Software development life cycle
○ 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.
Fundamentals of SE - Osamah Abduljalil
Software Processes Cont.
4
◎ A process: a series of steps involving activities, constrains, and
resources that produce an output
◎ A process involves a set of tools and techniques
◎ Many different software processes but all involve:
○ Specification –what the system should do;
○ Design and implementation –the organization of the system and
implementing the system;
○ Validation – checking that it does what the customer wants;
○ Evolution – changing the system in response to changing
customer needs.
Fundamentals of SE - Osamah Abduljalil
Software Development Methodologies cont.
5
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.
Fundamentals of SE - Osamah Abduljalil
Software Development Life Cycle (SDLC)
6
◎ 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.
Fundamentals of SE - Osamah Abduljalil
SDLC Phases
7
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
Fundamentals of SE - Osamah Abduljalil
SDLC Phases Cont.
8
◎ 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.
Fundamentals of SE - Osamah Abduljalil
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.
Fundamentals of SE - Osamah Abduljalil
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.
Fundamentals of SE - Osamah Abduljalil
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
◎ UML Diagram
◎ ERD
Fundamentals of SE - Osamah Abduljalil
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.
Fundamentals of SE - Osamah Abduljalil
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.
Fundamentals of SE - Osamah Abduljalil
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
Fundamentals of SE - Osamah Abduljalil
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.
Fundamentals of SE - Osamah Abduljalil
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.
Fundamentals of SE - Osamah Abduljalil
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
Fundamentals of SE - Osamah Abduljalil
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.
Fundamentals of SE - Osamah Abduljalil
Classic Waterfall Model cont.
19
Fundamentals of SE - Osamah Abduljalil
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
Fundamentals of SE - Osamah Abduljalil
Classic Waterfall Model cont.
21
◎ Disadvantages:
◎ No feedback
◎ No parallelism
◎ High Risk
◎ Poor model for long and ongoing projects.
◎ 60% efforts in Maintenance
Fundamentals of SE - Osamah Abduljalil
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
Fundamentals of SE - Osamah Abduljalil
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.
Fundamentals of SE - Osamah Abduljalil
Iterative Waterfall Model cont.
24
Fundamentals of SE - Osamah Abduljalil
Incremental Model
25
◎ 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
Fundamentals of SE - Osamah Abduljalil
Incremental Model Cont.
26
Fundamentals of SE - Osamah Abduljalil
Incremental Model Cont.
27
◎ 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.
Fundamentals of SE - Osamah Abduljalil
Incremental Model Cont.
28
◎ 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.
Fundamentals of SE - Osamah Abduljalil
Incremental Model Cont.
29
◎ 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.
Fundamentals of SE - Osamah Abduljalil
Prototype Model
30
◎ 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
Fundamentals of SE - Osamah Abduljalil
Prototype Model cont.
31
◎ 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
Fundamentals of SE - Osamah Abduljalil
Prototype Model cont.
32
◎ 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.
Fundamentals of SE - Osamah Abduljalil
Reuse–based Model
33
◎ Software reuse is the use of existing software or software knowledge
to build new software for an individual or an organization.
◎ Software reuse is also called as “Code Reuse”.
◎ Systematic software reuse is still the most promising strategy for
increasing productivity and improving quality in the software
industry.
◎ Example of software reuse is software library.
Fundamentals of SE - Osamah Abduljalil
Reuse–based Model cont.
34
◎ Advantages:
○ It can reduce total cost of software development.
○ The risk factor is very low.
○ It can save lots of time and effort.
○ It is very efficient in nature.
Fundamentals of SE - Osamah Abduljalil
Reuse–based Model cont.
35
◎ Disadvantages:
○ It doesn't always work as intended in real-world situations.
○ Lack of tool support and knowledge.
○ Sometimes using old system component, that is not compatible with
new version of component, this may lead to an impact on system
evolution.
○ Compromises in requirements may lead to a system that does not
fulfill requirement of user.
The End!

More Related Content

Similar to Lecture 3 & 4 | SDLC, Development Methodologies and Models

SDLC Models and Their Implementation
SDLC Models and Their ImplementationSDLC Models and Their Implementation
SDLC Models and Their ImplementationSonal Tiwari
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSaravanan Manoharan
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Mohamed Sami El-Tahawy
 
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
 
Software development life cycle by chitta
Software development life cycle by chittaSoftware development life cycle by chitta
Software development life cycle by chittaChittaranjan Das
 
SDLC (Software development life Cycle)
SDLC (Software development life Cycle)SDLC (Software development life Cycle)
SDLC (Software development life Cycle)PrithvirajChauhan61
 
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
 
Session 03 - SDLC
Session 03 - SDLCSession 03 - SDLC
Session 03 - SDLCPoojaLQA
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLCANKUR-BA
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsAOmaAli
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering) MuhammadTalha436
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfallMuthu Natarajan
 
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
 

Similar to Lecture 3 & 4 | SDLC, Development Methodologies and Models (20)

SDLC Models and Their Implementation
SDLC Models and Their ImplementationSDLC Models and Their Implementation
SDLC Models and Their Implementation
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
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 Models.pdf
SDLC Models.pdfSDLC Models.pdf
SDLC Models.pdf
 
Software development life cycle by chitta
Software development life cycle by chittaSoftware development life cycle by chitta
Software development life cycle by chitta
 
SDLC (Software development life Cycle)
SDLC (Software development life Cycle)SDLC (Software development life Cycle)
SDLC (Software development life Cycle)
 
Types of software life cycle model
Types of software life cycle model Types of software life cycle model
Types of software life cycle model
 
SDLC
SDLCSDLC
SDLC
 
Session 03 - SDLC
Session 03 - SDLCSession 03 - SDLC
Session 03 - SDLC
 
SDLC
SDLCSDLC
SDLC
 
SDLC
SDLCSDLC
SDLC
 
SDLC
SDLCSDLC
SDLC
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLC
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) Models
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfall
 
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
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 

Recently uploaded

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
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
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 

Recently uploaded (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
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...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 

Lecture 3 & 4 | SDLC, Development Methodologies and Models

  • 1. Fundamentals of Software Engineering SDLC, Development Methodologies and Models Lecture 03 & 04 Osamah A. I. Abduljalil Osamah.Abduljalil@gmail.com Taiz University Faculty of Engineering & IT Software Engineering Dept.
  • 2. Fundamentals of SE - Osamah Abduljalil 2
  • 3. Fundamentals of SE - Osamah Abduljalil Software Process | Development Methodologies 3 ◎ A software development methodologies also known as ○ Software development life cycle ○ 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.
  • 4. Fundamentals of SE - Osamah Abduljalil Software Processes Cont. 4 ◎ A process: a series of steps involving activities, constrains, and resources that produce an output ◎ A process involves a set of tools and techniques ◎ Many different software processes but all involve: ○ Specification –what the system should do; ○ Design and implementation –the organization of the system and implementing the system; ○ Validation – checking that it does what the customer wants; ○ Evolution – changing the system in response to changing customer needs.
  • 5. Fundamentals of SE - Osamah Abduljalil Software Development Methodologies cont. 5 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.
  • 6. Fundamentals of SE - Osamah Abduljalil Software Development Life Cycle (SDLC) 6 ◎ 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.
  • 7. Fundamentals of SE - Osamah Abduljalil SDLC Phases 7 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
  • 8. Fundamentals of SE - Osamah Abduljalil SDLC Phases Cont. 8 ◎ 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.
  • 9. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil 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 ◎ UML Diagram ◎ ERD
  • 12. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil 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.
  • 19. Fundamentals of SE - Osamah Abduljalil Classic Waterfall Model cont. 19
  • 20. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil Classic Waterfall Model cont. 21 ◎ Disadvantages: ◎ No feedback ◎ No parallelism ◎ High Risk ◎ Poor model for long and ongoing projects. ◎ 60% efforts in Maintenance
  • 22. Fundamentals of SE - Osamah Abduljalil 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. Fundamentals of SE - Osamah Abduljalil 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.
  • 24. Fundamentals of SE - Osamah Abduljalil Iterative Waterfall Model cont. 24
  • 25. Fundamentals of SE - Osamah Abduljalil Incremental Model 25 ◎ 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
  • 26. Fundamentals of SE - Osamah Abduljalil Incremental Model Cont. 26
  • 27. Fundamentals of SE - Osamah Abduljalil Incremental Model Cont. 27 ◎ 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.
  • 28. Fundamentals of SE - Osamah Abduljalil Incremental Model Cont. 28 ◎ 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.
  • 29. Fundamentals of SE - Osamah Abduljalil Incremental Model Cont. 29 ◎ 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.
  • 30. Fundamentals of SE - Osamah Abduljalil Prototype Model 30 ◎ 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
  • 31. Fundamentals of SE - Osamah Abduljalil Prototype Model cont. 31 ◎ 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
  • 32. Fundamentals of SE - Osamah Abduljalil Prototype Model cont. 32 ◎ 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.
  • 33. Fundamentals of SE - Osamah Abduljalil Reuse–based Model 33 ◎ Software reuse is the use of existing software or software knowledge to build new software for an individual or an organization. ◎ Software reuse is also called as “Code Reuse”. ◎ Systematic software reuse is still the most promising strategy for increasing productivity and improving quality in the software industry. ◎ Example of software reuse is software library.
  • 34. Fundamentals of SE - Osamah Abduljalil Reuse–based Model cont. 34 ◎ Advantages: ○ It can reduce total cost of software development. ○ The risk factor is very low. ○ It can save lots of time and effort. ○ It is very efficient in nature.
  • 35. Fundamentals of SE - Osamah Abduljalil Reuse–based Model cont. 35 ◎ Disadvantages: ○ It doesn't always work as intended in real-world situations. ○ Lack of tool support and knowledge. ○ Sometimes using old system component, that is not compatible with new version of component, this may lead to an impact on system evolution. ○ Compromises in requirements may lead to a system that does not fulfill requirement of user.

Editor's Notes

  1. Details design specification (DDS).