SlideShare a Scribd company logo
1 of 32
Download to read offline
Fundamentals of Software
Development
 Name :-
 Enrollment No. :-
 Class :-
 Batch :-
Contents in this Project…
 What is SOFTWARE ?
 Characteristics of Software.
 Software Engineering
 Layer Approach
 Need of Software engineering
 Software Development Models / Life Cycle Models
 Classical Waterfall model
 Iterative Waterfall model
 Prototyping model
 Spiral model
 RAD model
Software
 What is software ?
 Software is “ Collection of computer programs
,procedures ,rules ,associated documents and
concerned data with the operation of data processing
system.
 Software is Divided into :
 1. System Software
 Ex : Operating System
 2.Application Software
 Microsoft Word ,VLC , AutoCAD
CharacteristicOf Software
 Understandability:-software should be easy to
understand.
 Cost:-software should be cost effective as per its usage.
 Maintainability:-software should be easily maintainable
and modifiable in future.
 Modularity:-software should have modular approach so
it can be handled easily for testing.
 Reliability:-it should have the capability to provide
failure free services.
 Portability:-software should have the capability to be adapted
for different environments.
 Documentation:-software should be properly documented so that
we can re-refer it in future.
 Reusability:-it should be reusable, or its code or logic should be
reusable in future.
 Interoperability:- software should be able to communicate with
various devices using standard bus structure and protocol.
SoftwareEngineering
 Software Engineering is the application of a systematic,
disciplined and quantifiable approach to the
development, operation and
maintenance of software.
 Software Engineering provide framework that guides the
software
engineers to develop the software.
 Software Engineering tells how software will work with
machines.
Softwareengineering - A Layered Approach
 As We can see there are
Main four Layers in this
Layered approach.
 1. A quality focus
 2. Process
 3. Methods
 4. Tools A Quality
Focus
Process
Method
Tools
1. A QualityFocus Layer
 Software engineering mainly focuses on quality product.
 It checks whether the output meets with its
requirement specifications
or not.
 Every organization should maintain its total quality
management.
 This layer supports software-engineering.
2. Process Layer
 It is the heart of software engineering.
 It is also working as foundation layer.
 Software process is a set of activities together if
ordered and performed
properly, the desired result would be produced.
 It defines framework activities.
 Main objective of this layer is to deliver software in
time.
3. Methods 4. Tools
 It describes 'how-to‘
build software product.
 It creates software
engineering environment
to software product
using
CASE tools.
 (CASE tools combines
software, hardware and
software engineering
database).
O It provides
supports to below
layers.
O Due to this layer ,
process is
executed in proper
manner.
Need of software engineering
 To help developers to obtains high quality product.
 To develop the product in appropriate manner using life
cycle models.
 To acquire skills to be a better programmer.
 To provide a software product in a timely manner.
 To provide a quality software product.
 To provide a software product at an agreed cost.
 To develop ability to solve complex programming
problems.
SoftwareLife cycle models
 Different software life cycle models are given below.
1. Classical waterfall model
2. Iterative waterfall model
3. Prototyping model
4. Spiral model
5. RAD model
1. Classical waterfall model
Feasibility study
Requirement analysis &
specification
Design
Coding & testing Unit
Integration & system
testing
Maintenances
Development Phase
 This model was originally proposed by royce(1970).
 It is also called ‘traditional waterfall model’ or
‘conventional waterfall model’
 This model breakdown the life cycle into set of phases like:
 *)feasibility study
 *)requirements analysis and specification
 *)design
 *)Coding and unit testing
 *)integration and system testing
 *)maintenance
1.feasibility study
 Aim of this phase is to determine whether the system
would be financially and
technically feasible to develop the product.
 This is an abstract definition of the system.
 It includes the analysis of the problem definition and
collectionn of relevant info
of input, processing and output data.
 · Collected data are analysed for :
 An abstract definition
 Formulation of different solutions.
 Analysis of alternative solutions.
 and acceptance within the organization.
2. Requirements analysis andspecification
 Aim of this phase is to understand the exact requirements
of the
customer and to document them properly.
 Also reduces communication gap between developers and
customers.
 Two different activities are performed during this phase
1. Requirements gathering and analysis
2. Requirements specification
 Requirement gathering: The goal of this activity is to
collect all
relevant information from the customer regarding the
product to be
developed.
· This is done to clearly understand the customer
requirements so that
incompleteness and inconsistencies are removed
3. Design
 The goal of the design phase is to transform the
requirements specified
in the SRS document into a structure that is suitable for
implementation
in some programming language.
 This phase affecting the quality of the product.
 Two main approaches are concerned with this phase.
 (1) Traditional Design Approach
 Structural Analysis
 Stuctural Design
 (2) Object Oriented Design Approach
4. Coding & Testing
 The goal of the design phase is to transform the
requirements specified
in the SRS document into a structure that is suitable for
implementation
in some programming language.
 This phase affecting the quality of the product.
 Two main approaches are concerned with this phase.
 (1) Traditional Design Approach
 Structural Analysis
 Stuctural Design
 (2) Object Oriented Design Approach
5. Integration and system testing
 Goal of this phase is :- to ensure that the developed system works
well
to its requirements described in the SRS document.
 Basic function of testing is to detect errors. Ss it is also called
quality
control measure.
 Testing procedure is carried out using test data: Program test and
System test. Program is done on test data and system test is done
actual
data.
 It consists of three different kinds of testing activities.
 α Testing
 ß Testing
 Acceptance testing
6. Maintenance
 It requires max efforts to develop s/w product.
 This phase is needed to keep system operational.
 Generally maintenance is needed due to change in the environment
or
the requirement of the system.
 Maintenance involves performing following three kinds of
activities .
 Corrective maintenance - Correcting errors that were not
discovered
during the product development phase.
 Perfective maintenance - Improving and enhancing the
functionalities
of the system according to the customer's requirements.
 Adaptive maintenance - Porting the software to work in a new
environment and ensure working.
2. Iterative waterfall model
Feasibility study
Requirement
analysis &
specification
Design
Coding & testing
Unit
Integration &
system testing
Maintenances
Iterative waterfallmodel
 Iterative waterfall model is by far the most widely used
model. Almost
every other model is derived from the waterfall model.
 The principle of detecting errors as close to its point of
introduction as
Possible-is known as phase containment of errors.
 Phase containment of errors can be achieved by
reviewing after every
milestone.
Incremental model
C
B
A
B
A A
Incremental model
 It is also referred as the successive version of waterfall
model using
incremental approach and evolutionary model.
 In this model, the system is broken down into sseveral
modules which
can be incremented implemented and delivered.
 First develop the core product of the system. The core
product is used
by customers to evaluate the system.
 The initial product skeleton is refined into increasing levels
of
capability by adding new functionalities in successive
versions
RAD Model
Testing &
Turnover
Applicatio
n
modelAing
Process
Amodeling
Data
Amodeling
Business
modelAing
RAD Model
 Business modelling: The information flow is identified
between various business functions.
 Data modelling: Information gathered from business
modeling is used to define data objects that are needed
for the business.
 Process modelling: Data objects defined in data
modelling are converted to achieve the business
information flow to achieve some specific business
objective. Description are identified and created for
CRUD of data objects.
 Application generation: Automated tools are used to
convert process models into code and the actual system.
 Testing and turnover: Test new components and all the
interfaces
Prototyping Model
Quick
Design
Build
Prototype
Customer
Evaluation
of
prototype
Refine
Requirem
ents Design
Implement
Test
Maintenance
Requirement
gathering
Prototyping Model
 Prototype is a working physical system or sub system.
Prototype is nothing but
a toy implementation of a system.
 In this model, before starting actual development, a
working prototype of the
system should first be built.
 A prototype is actually a partial developed product.
 Compared to the actual software, a prototype usually
have
· limited functional capabilities
· low reliability
· inefficient performance
When to use RAD model:
 Prototype model should be used when the desired
system needs to have a lot of interaction with the end
users.
 Typically, online systems, web interfaces have a very
high amount of interaction with end users, are best
suited for Prototype model. It might take a while for a
system to be built that allows ease of use and needs
minimal training for the end user.
 Prototyping ensures that the end users constantly work
with the system and provide a feedback which is
incorporated in the prototype to result in a useable
system. They are excellent for designing good human
computer interface systems.
Spiral Model
Spiral Model
 1. To determine the objectives, alternatives and
constraints. We try to understand the product objectives,
alternatives in design and constraints imposed because of
cost, technology, schedule, etc.
2. Risk analysis and evaluation of alternatives. Here we try
to find which other approaches can be implemented in order
to fulfill the identified constraints. Operational and
technical issues are addressed here. Risk mitigation is in
focus in this phase. And evaluation of all these factors
determines future action.
3. Execution of that phase of development. In this phase
we develop the planned product. Testing is also done. In
order to do development, waterfall or incremental approach
can be implemented.
4. Planning the next phase. Here we review the progress
and judge it considering all parameters. Issues which need
to be resolved are identified in this phase and necessary
steps are taken.
Fundamentals of software development

More Related Content

What's hot

2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specificationDeepak Sharma
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptDrTThendralCompSci
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principlessaurabhshertukde
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factorsNancyBeaulah_R
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineeringkirupasuchi1996
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...Ashok Mohanty
 
Unit I Software Testing and Quality Assurance
Unit I Software Testing and Quality AssuranceUnit I Software Testing and Quality Assurance
Unit I Software Testing and Quality AssuranceVinothkumaR Ramu
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 

What's hot (20)

2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Software process
Software processSoftware process
Software process
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Unit I Software Testing and Quality Assurance
Unit I Software Testing and Quality AssuranceUnit I Software Testing and Quality Assurance
Unit I Software Testing and Quality Assurance
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 

Similar to Fundamentals of software development

ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptHumzaWaris1
 
1. object oriented concepts & principles
1. object oriented concepts & principles 1. object oriented concepts & principles
1. object oriented concepts & principles poonam bora
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Managementswatisinghal
 
Software Development : Jeremy Gleason Iscope Digital
Software Development : Jeremy Gleason Iscope DigitalSoftware Development : Jeremy Gleason Iscope Digital
Software Development : Jeremy Gleason Iscope DigitalIscope Digital
 
agile with scrum methodology
agile with scrum methodology agile with scrum methodology
agile with scrum methodology rahul reddy
 
Software engineering
Software engineeringSoftware engineering
Software engineeringnidhi5388
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-pptatish90
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 
A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...Kiogyf
 
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC Neetu Marwah
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering Huda Alameen
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptxjack952975
 

Similar to Fundamentals of software development (20)

software engineering
software engineering software engineering
software engineering
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 
1. object oriented concepts & principles
1. object oriented concepts & principles 1. object oriented concepts & principles
1. object oriented concepts & principles
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
Software Development : Jeremy Gleason Iscope Digital
Software Development : Jeremy Gleason Iscope DigitalSoftware Development : Jeremy Gleason Iscope Digital
Software Development : Jeremy Gleason Iscope Digital
 
agile with scrum methodology
agile with scrum methodology agile with scrum methodology
agile with scrum methodology
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...A New Model for Study of Quality Attributes to Components Based Development A...
A New Model for Study of Quality Attributes to Components Based Development A...
 
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
Report on SOFTWARE DEVELOPMENT LIFE CYCLE SDLC
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
 

Recently uploaded

What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdfSteve Caron
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxSasikiranMarri
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 

Recently uploaded (20)

What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 

Fundamentals of software development

  • 1. Fundamentals of Software Development  Name :-  Enrollment No. :-  Class :-  Batch :-
  • 2. Contents in this Project…  What is SOFTWARE ?  Characteristics of Software.  Software Engineering  Layer Approach  Need of Software engineering  Software Development Models / Life Cycle Models  Classical Waterfall model  Iterative Waterfall model  Prototyping model  Spiral model  RAD model
  • 3. Software  What is software ?  Software is “ Collection of computer programs ,procedures ,rules ,associated documents and concerned data with the operation of data processing system.  Software is Divided into :  1. System Software  Ex : Operating System  2.Application Software  Microsoft Word ,VLC , AutoCAD
  • 4. CharacteristicOf Software  Understandability:-software should be easy to understand.  Cost:-software should be cost effective as per its usage.  Maintainability:-software should be easily maintainable and modifiable in future.  Modularity:-software should have modular approach so it can be handled easily for testing.  Reliability:-it should have the capability to provide failure free services.
  • 5.  Portability:-software should have the capability to be adapted for different environments.  Documentation:-software should be properly documented so that we can re-refer it in future.  Reusability:-it should be reusable, or its code or logic should be reusable in future.  Interoperability:- software should be able to communicate with various devices using standard bus structure and protocol.
  • 6. SoftwareEngineering  Software Engineering is the application of a systematic, disciplined and quantifiable approach to the development, operation and maintenance of software.  Software Engineering provide framework that guides the software engineers to develop the software.  Software Engineering tells how software will work with machines.
  • 7. Softwareengineering - A Layered Approach  As We can see there are Main four Layers in this Layered approach.  1. A quality focus  2. Process  3. Methods  4. Tools A Quality Focus Process Method Tools
  • 8. 1. A QualityFocus Layer  Software engineering mainly focuses on quality product.  It checks whether the output meets with its requirement specifications or not.  Every organization should maintain its total quality management.  This layer supports software-engineering.
  • 9. 2. Process Layer  It is the heart of software engineering.  It is also working as foundation layer.  Software process is a set of activities together if ordered and performed properly, the desired result would be produced.  It defines framework activities.  Main objective of this layer is to deliver software in time.
  • 10. 3. Methods 4. Tools  It describes 'how-to‘ build software product.  It creates software engineering environment to software product using CASE tools.  (CASE tools combines software, hardware and software engineering database). O It provides supports to below layers. O Due to this layer , process is executed in proper manner.
  • 11. Need of software engineering  To help developers to obtains high quality product.  To develop the product in appropriate manner using life cycle models.  To acquire skills to be a better programmer.  To provide a software product in a timely manner.  To provide a quality software product.  To provide a software product at an agreed cost.  To develop ability to solve complex programming problems.
  • 12. SoftwareLife cycle models  Different software life cycle models are given below. 1. Classical waterfall model 2. Iterative waterfall model 3. Prototyping model 4. Spiral model 5. RAD model
  • 13. 1. Classical waterfall model Feasibility study Requirement analysis & specification Design Coding & testing Unit Integration & system testing Maintenances Development Phase
  • 14.  This model was originally proposed by royce(1970).  It is also called ‘traditional waterfall model’ or ‘conventional waterfall model’  This model breakdown the life cycle into set of phases like:  *)feasibility study  *)requirements analysis and specification  *)design  *)Coding and unit testing  *)integration and system testing  *)maintenance
  • 15. 1.feasibility study  Aim of this phase is to determine whether the system would be financially and technically feasible to develop the product.  This is an abstract definition of the system.  It includes the analysis of the problem definition and collectionn of relevant info of input, processing and output data.  · Collected data are analysed for :  An abstract definition  Formulation of different solutions.  Analysis of alternative solutions.  and acceptance within the organization.
  • 16. 2. Requirements analysis andspecification  Aim of this phase is to understand the exact requirements of the customer and to document them properly.  Also reduces communication gap between developers and customers.  Two different activities are performed during this phase 1. Requirements gathering and analysis 2. Requirements specification  Requirement gathering: The goal of this activity is to collect all relevant information from the customer regarding the product to be developed. · This is done to clearly understand the customer requirements so that incompleteness and inconsistencies are removed
  • 17. 3. Design  The goal of the design phase is to transform the requirements specified in the SRS document into a structure that is suitable for implementation in some programming language.  This phase affecting the quality of the product.  Two main approaches are concerned with this phase.  (1) Traditional Design Approach  Structural Analysis  Stuctural Design  (2) Object Oriented Design Approach
  • 18. 4. Coding & Testing  The goal of the design phase is to transform the requirements specified in the SRS document into a structure that is suitable for implementation in some programming language.  This phase affecting the quality of the product.  Two main approaches are concerned with this phase.  (1) Traditional Design Approach  Structural Analysis  Stuctural Design  (2) Object Oriented Design Approach
  • 19. 5. Integration and system testing  Goal of this phase is :- to ensure that the developed system works well to its requirements described in the SRS document.  Basic function of testing is to detect errors. Ss it is also called quality control measure.  Testing procedure is carried out using test data: Program test and System test. Program is done on test data and system test is done actual data.  It consists of three different kinds of testing activities.  α Testing  ß Testing  Acceptance testing
  • 20. 6. Maintenance  It requires max efforts to develop s/w product.  This phase is needed to keep system operational.  Generally maintenance is needed due to change in the environment or the requirement of the system.  Maintenance involves performing following three kinds of activities .  Corrective maintenance - Correcting errors that were not discovered during the product development phase.  Perfective maintenance - Improving and enhancing the functionalities of the system according to the customer's requirements.  Adaptive maintenance - Porting the software to work in a new environment and ensure working.
  • 21. 2. Iterative waterfall model Feasibility study Requirement analysis & specification Design Coding & testing Unit Integration & system testing Maintenances
  • 22. Iterative waterfallmodel  Iterative waterfall model is by far the most widely used model. Almost every other model is derived from the waterfall model.  The principle of detecting errors as close to its point of introduction as Possible-is known as phase containment of errors.  Phase containment of errors can be achieved by reviewing after every milestone.
  • 24. Incremental model  It is also referred as the successive version of waterfall model using incremental approach and evolutionary model.  In this model, the system is broken down into sseveral modules which can be incremented implemented and delivered.  First develop the core product of the system. The core product is used by customers to evaluate the system.  The initial product skeleton is refined into increasing levels of capability by adding new functionalities in successive versions
  • 26. RAD Model  Business modelling: The information flow is identified between various business functions.  Data modelling: Information gathered from business modeling is used to define data objects that are needed for the business.  Process modelling: Data objects defined in data modelling are converted to achieve the business information flow to achieve some specific business objective. Description are identified and created for CRUD of data objects.  Application generation: Automated tools are used to convert process models into code and the actual system.  Testing and turnover: Test new components and all the interfaces
  • 28. Prototyping Model  Prototype is a working physical system or sub system. Prototype is nothing but a toy implementation of a system.  In this model, before starting actual development, a working prototype of the system should first be built.  A prototype is actually a partial developed product.  Compared to the actual software, a prototype usually have · limited functional capabilities · low reliability · inefficient performance
  • 29. When to use RAD model:  Prototype model should be used when the desired system needs to have a lot of interaction with the end users.  Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model. It might take a while for a system to be built that allows ease of use and needs minimal training for the end user.  Prototyping ensures that the end users constantly work with the system and provide a feedback which is incorporated in the prototype to result in a useable system. They are excellent for designing good human computer interface systems.
  • 31. Spiral Model  1. To determine the objectives, alternatives and constraints. We try to understand the product objectives, alternatives in design and constraints imposed because of cost, technology, schedule, etc. 2. Risk analysis and evaluation of alternatives. Here we try to find which other approaches can be implemented in order to fulfill the identified constraints. Operational and technical issues are addressed here. Risk mitigation is in focus in this phase. And evaluation of all these factors determines future action. 3. Execution of that phase of development. In this phase we develop the planned product. Testing is also done. In order to do development, waterfall or incremental approach can be implemented. 4. Planning the next phase. Here we review the progress and judge it considering all parameters. Issues which need to be resolved are identified in this phase and necessary steps are taken.