SlideShare a Scribd company logo
SOFTWARE ENGINEERING-
PART 1
Software
Engineering
provides a standard
procedure to design
and develop a
software.
By
Dr.Shrija Madhu,Head L&D ,GIET ,Rajahmundry
SDLC Activities: Software Development Life Cycle
SDLC provides a series of steps to be followed to design and develop a software product
efficiently. SDLC framework includes the following steps:
WATERFALL MODEL WATERFALL MODEL IS THE
SIMPLEST MODEL OF SOFTWARE DEVELOPMENT PARADIGM. IT SAYS THE ALL THE
PHASES OF SDLC WILL FUNCTION ONE AFTER ANOTHER IN LINEAR MANNER. THAT
IS, WHEN THE FIRST PHASE IS FINISHED THEN ONLY THE SECOND PHASE WILL
START AND SO ON.
ITERATIVE MODEL THIS MODEL LEADS THE SOFTWARE
DEVELOPMENT PROCESS IN ITERATIONS. IT PROJECTS THE PROCESS OF
DEVELOPMENT IN CYCLIC MANNER REPEATING EVERY STEP AFTER EVERY
CYCLE OF SDLC PROCESS.
SPIRAL MODEL: SPIRAL MODEL IS A COMBINATION OF BOTH,
ITERATIVE MODEL AND ONE OF THE SDLC MODEL. IT CAN BE SEEN AS IF YOU
CHOOSE ONE SDLC MODEL AND COMBINE IT WITH CYCLIC PROCESS (ITERATIVE
MODEL).
V-MODEL:THE MAJOR DRAWBACK OF WATERFALL MODEL IS WE MOVE TO
THE NEXT STAGE ONLY WHEN THE PREVIOUS ONE IS FINISHED AND THERE WAS
NO CHANCE TO GO BACK IF SOMETHING IS FOUND WRONG IN LATER STAGES. V-
MODEL PROVIDES MEANS OF TESTING OF SOFTWARE AT EACH STAGE IN REVERSE
MANNER.
PROTOTYPE MODEL:PROTOTYPING IS DEFINED AS
THE PROCESS OF DEVELOPING A WORKING REPLICATION OF A PRODUCT OR
SYSTEM THAT HAS TO BE ENGINEERED.
CURRENT TRENDS
RAD MODEL: RAPID APPLICATION DEVELOPMENT
AGILE MODEL :TYPE OF ITERATIVE MODEL
The Agile model does not recommend developing prototypes but emphasises
the systematic development of each incremental feature at the end of each
iteration.
The central theme of RAD is based on designing quick and dirty prototypes,
which are then refined into production quality code
RAD
AGILE MODEL
S/W VERIFICATION AND VALIDATION
Software Validation
Validation is process of examining whether or not the software
satisfies the user requirements. It is carried out at the end of the
SDLC. If the software matches requirements for which it was made, it
is validated.
Validation ensures the product under development is as per the user
requirements.
Validation answers the question – "Are we developing the product
which attempts all that user needs from this software ?".
Validation emphasizes on user requirements.
S/W VERIFICATION AND VALIDATION
Software Verification
Verification is the process of confirming if the software is meeting the
business requirements, and is developed adhering to the proper
specifications and methodologies.
Verification ensures the product being developed is according to
design specifications.
Verification answers the question– "Are we developing this product by
firmly following all design specifications ?"
Verifications concentrates on the design and system specifications.
SOFTWARE TESTING
Software testing involves the execution of a software component or system
component to evaluate one or more properties of interest. In general, these
properties indicate the extent to which the component or system under test:
meets the requirements that guided its design and development,
responds correctly to all kinds of inputs,
performs its functions within an acceptable time,
it is sufficiently usable,
can be installed and run in its intended environments, and
achieves the general result its stakeholders desire.
TESTING APPROACHES
Tests can be conducted based on two approaches –
1. Functionality testing
2. Implementation testing
When functionality is being tested without taking the actual
implementation in concern it is known as black-box testing. The other
side is known as white-box testing where not only functionality is
tested but the way it is implemented is also analyzed.
Black-box testing
It is carried out to test functionality of the program. It is also called ‘Behavioral’ testing. The tester in this case, has a
set of input values and respective desired results. On providing input, if the output matches with the desired results,
the program is tested ‘ok’, and problematic otherwise.
WHITEBOX TESTING:IT IS CONDUCTED TO TEST PROGRAM
AND ITS IMPLEMENTATION, IN ORDER TO IMPROVE CODE EFFICIENCY OR
STRUCTURE. IT IS ALSO KNOWN AS ‘STRUCTURAL’ TESTING.
TESTING LEVELS
Testing itself may be defined at various levels of SDLC. The testing process
runs parallel to software development. Before jumping on the next stage, a
stage is tested, validated and verified.
Testing separately is done just to make sure that there are no hidden bugs
or issues left in the software. Software is tested on various levels -
Unit Testing
While coding, the programmer performs some tests on that unit of program
to know if it is error free. Testing is performed under white-box testing
approach. Unit testing helps developers decide that individual units of the
program are working as per requirement and are error free.
Integration Testing
Even if the units of software are working fine individually, there is a need to
find out if the units if integrated together would also work without errors.
For example, argument passing and data updation etc.
TESTING LEVELS-CONTD.
System Testing
The software is compiled as product and then it is tested as a whole. This
can be accomplished using one or more of the following tests:
1. Functionality testing - Tests all functionalities of the software against the
requirement.
2. Performance testing - This test proves how efficient the software is. It
tests the effectiveness and average time taken by the software to do
desired task. Performance testing is done by means of load testing and
stress testing where the software is put under high user and data load
under various environment conditions.
3. Security & Portability - These tests are done when the software is meant
to work on various platforms and accessed by number of persons.
Acceptance Testing
When the software is ready to hand over to the customer it has to go through
last phase of testing where it is tested for user-interaction and response.
This is important because even if the software matches all user requirements
and if user does not like the way it appears or works, it may be rejected.
TESTING LEVELS CONTD.
Alpha testing - The team of developer themselves perform alpha
testing by using the system as if it is being used in work
environment. They try to find out how user would react to some
action in software and how the system should respond to inputs.
Beta testing - After the software is tested internally, it is handed over
to the users to use it under their production environment only for
testing purpose. This is not as yet the delivered product. Developers
expect that users at this stage will bring minute problems, which
were skipped to attend.
Regression Testing
Whenever a software product is updated with new code, feature or
functionality, it is tested thoroughly to detect if there is any negative
impact of the added code. This is known as regression testing.
SOME IMPORTANT CONCEPTS
SRS: Software Requirements Specification ,a document written at the
end of System Analysis phase.
Software Walkthrough: It is a form of software peer review "in which
a designer or programmer leads members of the development team
and other interested parties go through a software product, and the
participants ask questions and make comments
Coupling and Cohesion: Coupling is the measure of the degree of
interdependence between the modules. A good software will have low
coupling. Cohesion is a measure of the degree to which the elements
of the module are functionally related. A good software design will
have high cohesion.
REFERENCES
1. https://www.tutorialspoint.com/software_engineering/software_de
velopment_life_cycle.htm
2. https://www.geeksforgeeks.org/software-engineering-
comparison-between-agile-model-and-other-models/
3. https://www.javatpoint.com/software-engineering-rapid-
application-development-model
4. https://imgbin.com/png/BsJaecTB/agile-software-development-
agile-modeling-software-development-process-scrum-systems-
development-life-cycle-png
5. https://www.guru99.com/software-engineering-prototyping-
model.html

More Related Content

What's hot (20)

PPTX
Software testing
Sengu Msc
 
PDF
Manual Testing
Zeeshan Khan
 
PPTX
Software testing
MrsRBoomadeviIT
 
PDF
What Is Functional Testing?
QA InfoTech
 
PPT
Chapter 14
Benjamin Yu
 
PPTX
Software evolution and Verification,validation
ArchanaMani2
 
PPT
Software Process Models
Jesse Manalansan
 
PPSX
Manual testing
vigneshasromio
 
PPTX
Manual Testing Material by Durgasoft
Durga Prasad
 
PPT
Verification & Validation
Dhanasekaran Nagarajan
 
DOCX
Sqa unit1
kannaki
 
PPTX
Software Testing
Vignesh Suresh
 
PPTX
STLC– software testing life cycle
subash kumar
 
PPTX
Intro to Manual Testing
Ayah Soufan
 
PPTX
Four schools of testing context driven school
Holasz Kati
 
PPT
Software testing basic concepts
Hưng Hoàng
 
PPTX
SDLC vs STLC
David Tzemach
 
PPSX
Introduction to Software Testing
ANKUR-BA
 
PPT
Sdlc
Mahfuz1061
 
PDF
Software testing ppt
Savyasachi14
 
Software testing
Sengu Msc
 
Manual Testing
Zeeshan Khan
 
Software testing
MrsRBoomadeviIT
 
What Is Functional Testing?
QA InfoTech
 
Chapter 14
Benjamin Yu
 
Software evolution and Verification,validation
ArchanaMani2
 
Software Process Models
Jesse Manalansan
 
Manual testing
vigneshasromio
 
Manual Testing Material by Durgasoft
Durga Prasad
 
Verification & Validation
Dhanasekaran Nagarajan
 
Sqa unit1
kannaki
 
Software Testing
Vignesh Suresh
 
STLC– software testing life cycle
subash kumar
 
Intro to Manual Testing
Ayah Soufan
 
Four schools of testing context driven school
Holasz Kati
 
Software testing basic concepts
Hưng Hoàng
 
SDLC vs STLC
David Tzemach
 
Introduction to Software Testing
ANKUR-BA
 
Software testing ppt
Savyasachi14
 

Similar to Software Engineering-Part 1 (20)

PPTX
Software testing sengu
Sengu Msc
 
PPTX
CCS366 Softwares Testing Automation.pptx
ssuser1137dd
 
PDF
10. Software testing overview
ghayour abbas
 
PDF
SWE-401 - 10. Software Testing Overview
ghayour abbas
 
DOCX
International Journal of Soft Computing and Engineering (IJS
hildredzr1di
 
PPS
Software Development Life Cycle Testingtypes
vladimir zaremba
 
PPT
16103271 software-testing-ppt
atish90
 
PPSX
Introduction to software testing
Venkat Alagarsamy
 
PPTX
sdlc.pptx
XylemSolutions
 
PDF
Software For Software Development Life Cycle
Christina Padilla
 
PPTX
SQT-UNIT TESTING SOFTWARE DEVELOPMENT LIFECYCLE
khsbharadwaj123
 
PPT
Software testing concepts
satyatwrmca
 
PPTX
Software_Testing.pptx
VinodhSivaraman2
 
PPTX
Introduction to software testing Presentation
RahulGITAM
 
PPTX
SDLC ITS MODEL AND SOFTWARE TESTING
Abhinav Shukla
 
PPT
Manualtestingppt
balaji naidu
 
PPTX
Software Testing
CHANDAN CHATURVEDI
 
PPTX
SDLCTesting
Gavin Thys
 
PPTX
Types of testing
Sonam Agarwal
 
PDF
Real Time software Training in Nagercoil
jclick2
 
Software testing sengu
Sengu Msc
 
CCS366 Softwares Testing Automation.pptx
ssuser1137dd
 
10. Software testing overview
ghayour abbas
 
SWE-401 - 10. Software Testing Overview
ghayour abbas
 
International Journal of Soft Computing and Engineering (IJS
hildredzr1di
 
Software Development Life Cycle Testingtypes
vladimir zaremba
 
16103271 software-testing-ppt
atish90
 
Introduction to software testing
Venkat Alagarsamy
 
sdlc.pptx
XylemSolutions
 
Software For Software Development Life Cycle
Christina Padilla
 
SQT-UNIT TESTING SOFTWARE DEVELOPMENT LIFECYCLE
khsbharadwaj123
 
Software testing concepts
satyatwrmca
 
Software_Testing.pptx
VinodhSivaraman2
 
Introduction to software testing Presentation
RahulGITAM
 
SDLC ITS MODEL AND SOFTWARE TESTING
Abhinav Shukla
 
Manualtestingppt
balaji naidu
 
Software Testing
CHANDAN CHATURVEDI
 
SDLCTesting
Gavin Thys
 
Types of testing
Sonam Agarwal
 
Real Time software Training in Nagercoil
jclick2
 
Ad

Recently uploaded (20)

PPTX
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PPTX
Top 10 AI Tools, Like ChatGPT. You Must Learn In 2025
Digilearnings
 
PPTX
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
PDF
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
PPTX
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
DOCX
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
PDF
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
PPTX
Unlock the Power of Cursor AI: MuleSoft Integrations
Veera Pallapu
 
PPTX
Digital Professionalism and Interpersonal Competence
rutvikgediya1
 
PPTX
Cybersecurity: How to Protect your Digital World from Hackers
vaidikpanda4
 
PPTX
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
PDF
Tips for Writing the Research Title with Examples
Thelma Villaflores
 
PPTX
Virus sequence retrieval from NCBI database
yamunaK13
 
PPTX
ENGLISH 8 WEEK 3 Q1 - Analyzing the linguistic, historical, andor biographica...
OliverOllet
 
PPTX
Rules and Regulations of Madhya Pradesh Library Part-I
SantoshKumarKori2
 
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
Top 10 AI Tools, Like ChatGPT. You Must Learn In 2025
Digilearnings
 
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
Antianginal agents, Definition, Classification, MOA.pdf
Prerana Jadhav
 
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
Unlock the Power of Cursor AI: MuleSoft Integrations
Veera Pallapu
 
Digital Professionalism and Interpersonal Competence
rutvikgediya1
 
Cybersecurity: How to Protect your Digital World from Hackers
vaidikpanda4
 
TOP 10 AI TOOLS YOU MUST LEARN TO SURVIVE IN 2025 AND ABOVE
digilearnings.com
 
Tips for Writing the Research Title with Examples
Thelma Villaflores
 
Virus sequence retrieval from NCBI database
yamunaK13
 
ENGLISH 8 WEEK 3 Q1 - Analyzing the linguistic, historical, andor biographica...
OliverOllet
 
Rules and Regulations of Madhya Pradesh Library Part-I
SantoshKumarKori2
 
Ad

Software Engineering-Part 1

  • 1. SOFTWARE ENGINEERING- PART 1 Software Engineering provides a standard procedure to design and develop a software. By Dr.Shrija Madhu,Head L&D ,GIET ,Rajahmundry
  • 2. SDLC Activities: Software Development Life Cycle SDLC provides a series of steps to be followed to design and develop a software product efficiently. SDLC framework includes the following steps:
  • 3. WATERFALL MODEL WATERFALL MODEL IS THE SIMPLEST MODEL OF SOFTWARE DEVELOPMENT PARADIGM. IT SAYS THE ALL THE PHASES OF SDLC WILL FUNCTION ONE AFTER ANOTHER IN LINEAR MANNER. THAT IS, WHEN THE FIRST PHASE IS FINISHED THEN ONLY THE SECOND PHASE WILL START AND SO ON.
  • 4. ITERATIVE MODEL THIS MODEL LEADS THE SOFTWARE DEVELOPMENT PROCESS IN ITERATIONS. IT PROJECTS THE PROCESS OF DEVELOPMENT IN CYCLIC MANNER REPEATING EVERY STEP AFTER EVERY CYCLE OF SDLC PROCESS.
  • 5. SPIRAL MODEL: SPIRAL MODEL IS A COMBINATION OF BOTH, ITERATIVE MODEL AND ONE OF THE SDLC MODEL. IT CAN BE SEEN AS IF YOU CHOOSE ONE SDLC MODEL AND COMBINE IT WITH CYCLIC PROCESS (ITERATIVE MODEL).
  • 6. V-MODEL:THE MAJOR DRAWBACK OF WATERFALL MODEL IS WE MOVE TO THE NEXT STAGE ONLY WHEN THE PREVIOUS ONE IS FINISHED AND THERE WAS NO CHANCE TO GO BACK IF SOMETHING IS FOUND WRONG IN LATER STAGES. V- MODEL PROVIDES MEANS OF TESTING OF SOFTWARE AT EACH STAGE IN REVERSE MANNER.
  • 7. PROTOTYPE MODEL:PROTOTYPING IS DEFINED AS THE PROCESS OF DEVELOPING A WORKING REPLICATION OF A PRODUCT OR SYSTEM THAT HAS TO BE ENGINEERED.
  • 8. CURRENT TRENDS RAD MODEL: RAPID APPLICATION DEVELOPMENT AGILE MODEL :TYPE OF ITERATIVE MODEL The Agile model does not recommend developing prototypes but emphasises the systematic development of each incremental feature at the end of each iteration. The central theme of RAD is based on designing quick and dirty prototypes, which are then refined into production quality code
  • 9. RAD
  • 11. S/W VERIFICATION AND VALIDATION Software Validation Validation is process of examining whether or not the software satisfies the user requirements. It is carried out at the end of the SDLC. If the software matches requirements for which it was made, it is validated. Validation ensures the product under development is as per the user requirements. Validation answers the question – "Are we developing the product which attempts all that user needs from this software ?". Validation emphasizes on user requirements.
  • 12. S/W VERIFICATION AND VALIDATION Software Verification Verification is the process of confirming if the software is meeting the business requirements, and is developed adhering to the proper specifications and methodologies. Verification ensures the product being developed is according to design specifications. Verification answers the question– "Are we developing this product by firmly following all design specifications ?" Verifications concentrates on the design and system specifications.
  • 13. SOFTWARE TESTING Software testing involves the execution of a software component or system component to evaluate one or more properties of interest. In general, these properties indicate the extent to which the component or system under test: meets the requirements that guided its design and development, responds correctly to all kinds of inputs, performs its functions within an acceptable time, it is sufficiently usable, can be installed and run in its intended environments, and achieves the general result its stakeholders desire.
  • 14. TESTING APPROACHES Tests can be conducted based on two approaches – 1. Functionality testing 2. Implementation testing When functionality is being tested without taking the actual implementation in concern it is known as black-box testing. The other side is known as white-box testing where not only functionality is tested but the way it is implemented is also analyzed.
  • 15. Black-box testing It is carried out to test functionality of the program. It is also called ‘Behavioral’ testing. The tester in this case, has a set of input values and respective desired results. On providing input, if the output matches with the desired results, the program is tested ‘ok’, and problematic otherwise.
  • 16. WHITEBOX TESTING:IT IS CONDUCTED TO TEST PROGRAM AND ITS IMPLEMENTATION, IN ORDER TO IMPROVE CODE EFFICIENCY OR STRUCTURE. IT IS ALSO KNOWN AS ‘STRUCTURAL’ TESTING.
  • 17. TESTING LEVELS Testing itself may be defined at various levels of SDLC. The testing process runs parallel to software development. Before jumping on the next stage, a stage is tested, validated and verified. Testing separately is done just to make sure that there are no hidden bugs or issues left in the software. Software is tested on various levels - Unit Testing While coding, the programmer performs some tests on that unit of program to know if it is error free. Testing is performed under white-box testing approach. Unit testing helps developers decide that individual units of the program are working as per requirement and are error free. Integration Testing Even if the units of software are working fine individually, there is a need to find out if the units if integrated together would also work without errors. For example, argument passing and data updation etc.
  • 18. TESTING LEVELS-CONTD. System Testing The software is compiled as product and then it is tested as a whole. This can be accomplished using one or more of the following tests: 1. Functionality testing - Tests all functionalities of the software against the requirement. 2. Performance testing - This test proves how efficient the software is. It tests the effectiveness and average time taken by the software to do desired task. Performance testing is done by means of load testing and stress testing where the software is put under high user and data load under various environment conditions. 3. Security & Portability - These tests are done when the software is meant to work on various platforms and accessed by number of persons. Acceptance Testing When the software is ready to hand over to the customer it has to go through last phase of testing where it is tested for user-interaction and response. This is important because even if the software matches all user requirements and if user does not like the way it appears or works, it may be rejected.
  • 19. TESTING LEVELS CONTD. Alpha testing - The team of developer themselves perform alpha testing by using the system as if it is being used in work environment. They try to find out how user would react to some action in software and how the system should respond to inputs. Beta testing - After the software is tested internally, it is handed over to the users to use it under their production environment only for testing purpose. This is not as yet the delivered product. Developers expect that users at this stage will bring minute problems, which were skipped to attend. Regression Testing Whenever a software product is updated with new code, feature or functionality, it is tested thoroughly to detect if there is any negative impact of the added code. This is known as regression testing.
  • 20. SOME IMPORTANT CONCEPTS SRS: Software Requirements Specification ,a document written at the end of System Analysis phase. Software Walkthrough: It is a form of software peer review "in which a designer or programmer leads members of the development team and other interested parties go through a software product, and the participants ask questions and make comments Coupling and Cohesion: Coupling is the measure of the degree of interdependence between the modules. A good software will have low coupling. Cohesion is a measure of the degree to which the elements of the module are functionally related. A good software design will have high cohesion.
  • 21. REFERENCES 1. https://www.tutorialspoint.com/software_engineering/software_de velopment_life_cycle.htm 2. https://www.geeksforgeeks.org/software-engineering- comparison-between-agile-model-and-other-models/ 3. https://www.javatpoint.com/software-engineering-rapid- application-development-model 4. https://imgbin.com/png/BsJaecTB/agile-software-development- agile-modeling-software-development-process-scrum-systems- development-life-cycle-png 5. https://www.guru99.com/software-engineering-prototyping- model.html