SlideShare a Scribd company logo
1 of 100
CASE0029
BASIC SOFTWARE ENGINEERING
BCA 4th SEM
Assam Don Bosco University
---
Dr. Jonti Deuri
ADBU, Azara, Assam,
Guwahati
Dr. Jonti Deuri, ADBU, Azara
SOFTWARE ENGINEERING
Books:
1. Rajib Mall , Fundamentals of software engineering, Prentice- hall of
India, Fifth Edition.
2. Ugrasen Suman, software engineering concept and practices, cengage
learning pvt. Ltd., 2013,
Website:
1. https://www.tutorialspoint.com/
2. https://www.geeksforgeeks.org/software-engineering
3. https://www.tutorialride.com/software-engineering/software-engineering-
tutorial.htm
Dr. Jonti Deuri, ADBU, Azara
Module-I
Problems and solutions:
Why software is developed. Problem and vision statements. Goals and
objectives. Definitions and paradigms, A generic view of software
engineering. Software development life cycle, Role of quality, metrics and
measurement.
Dr. Jonti Deuri, ADBU, Azara
What is Software Engineering?
• The term is made of two words, software and
engineering.
• Software is more than just a program code.
• Software is considered to be collection of
executable programming code, associated libraries
and documentations.
• Software, when made for a specific requirement is
called software product.
Dr. Jonti Deuri, ADBU, Azara
What is Software Engineering?
• Engineering :
 Engineering is all about developing products,
using well-defined, scientific principles and
methods. or,
 Force us to focus on systematic, scientific and
well defined processes to produce a good quality
product.
Dr. Jonti Deuri, ADBU, Azara
What is Software Engineering?
• Engineering Approach to Develop Software.
 Building Construction Analogy
• Collection of past experience
 techniques
 methodologies
 guidelines and tools
Dr. Jonti Deuri, ADBU, Azara
What is Software Engineering?
• IEEE defines software engineering as:
 The application of a systematic, disciplined, quantifiable
approach to the development, operation and
maintenance of software; that is, the application of
engineering to software.
Dr. Jonti Deuri, ADBU, Azara
Software Engineering is a systematic,
disciplined, quantifiable study and approach
to the design, development, operation, and
maintenance of a software system.
What is Software Engineering?
Dr. Jonti Deuri, ADBU, Azara
Introduction to Software Engineering
Dr. Jonti Deuri, ADBU, Azara
Status of Software Engineering
The requirements
specification was
defined like this
The developers
understood it in
that way
This is how the
problem was
solved before.
This is how the
problem is solved now
That is the program after
debugging
This is how the program is
described by marketing
department
This, in fact, is what the
customer wanted …
Dr. Jonti Deuri, ADBU, Azara
Why is Software Engineering required?
Software Engineering is required due to the following
reasons:
• To manage Large software
• For more Scalability
• Cost Management
• To manage the dynamic nature of software
• For better quality Management
Dr. Jonti Deuri, ADBU, Azara
Need of Software Engineering
The need of software engineering arises because of higher rate of change
in user requirements and environment :
• Large software -
 It is easier to build a wall than to a house or building, likewise, as
the size of software become large engineering has to step to give it
a scientific process.
• Scalability-
 If the software process were not based on scientific and
engineering concepts, it would be easier to re-create new software
than to scale an existing one.
• Cost-
 As hardware industry has shown its skills and huge manufacturing
has lower down the price of computer and electronic hardware.
 But the cost of software remains high if proper process is not
adapted. Dr. Jonti Deuri, ADBU, Azara
Need of Software Engineering
The need of software engineering arises because of higher rate of
change in user requirements and environment on which the software
is working.
• Dynamic Nature-
 The always growing and adapting nature of software hugely
depends upon the environment in which user works.
 If the nature of software is always changing, new
enhancements need to be done in the existing one.
 This is where software engineering plays a good role.
• Quality Management-
 Better process of software development provides better and
quality software product.
Dr. Jonti Deuri, ADBU, Azara
Characteristics of good
software
A software product can be judged by what it offers and how well it
can be used. This software must satisfy on the following grounds:
1.Operational
2.Transitional
3.Maintenance
Dr. Jonti Deuri, ADBU, Azara
Characteristics of good
software
Operational
This tells us how well software works in operations. It can be
measured on:
• Budget
• Usability
• Efficiency
• Correctness
• Functionality
• Dependability
• Security
• Safety Dr. Jonti Deuri, ADBU, Azara
Characteristics of good
software
Transitional:
This aspect is important when the software is moved
from one platform to another:
• Portability
• Interoperability
• Reusability
Dr. Jonti Deuri, ADBU, Azara
Characteristics of good
software
Maintenance
This aspect briefs about how well a software has the
capabilities to maintain itself in the ever-changing
environment:
• Modularity
• Maintainability
• Flexibility
• Scalability
Dr. Jonti Deuri, ADBU, Azara
Software Paradigms
• Software paradigms refer to the methods and steps, which are taken
while designing the software.
• These can be combined into various categories, though each of them
is contained in one another:
• Programming paradigm is a subset of
Software design paradigm which is
further a subset of Software
development paradigm.
Dr. Jonti Deuri, ADBU, Azara
Software Paradigms
Software Development Paradigm:
• Also known as software engineering paradigms where all
the engineering concepts pertaining to the development of
software are applied.
• It includes various researches and requirement gathering
which helps the software product to build. It consists of –
 Requirement gathering
 Software design
 Programming
Dr. Jonti Deuri, ADBU, Azara
Software Paradigms
Software Design Paradigm
This paradigm is a part of Software Development and
includes –
• Design
• Programming
• Maintenance
Dr. Jonti Deuri, ADBU, Azara
Software Paradigms
Programming Paradigm:
This paradigm is related closely to programming
aspect of software development. This includes –
• Coding
• Testing
• Integration
Dr. Jonti Deuri, ADBU, Azara
Importance of Software Engineering
Dr. Jonti Deuri, ADBU, Azara
Software Classification
There are various categories of software products:
1. Generic software: are developed for general purpose,
regardless of the type of business.
2. Customized software: are developed to satisfy the
need of a particular customer in a organization.
Generic and customized software products can again be
divided in several categories.
Dr. Jonti Deuri, ADBU, Azara
Software Classification
It can be categorized into different types:
On the basis of application:
1. System Software –
2. Networking and Web Applications Software
3. Embedded Software –
4. Reservation Software
5. Business Software
6. Entertainment Software
7. Artificial Intelligence Software
8. Scientific Software
9. Utilities Software
10. Document Management Software –
Dr. Jonti Deuri, ADBU, Azara
Software Classification
It can be categorized into different types:…..
On the basis of copyright:
1. Commercial –
2. Shareware –
3. Freeware –
4. Open Source-
Dr. Jonti Deuri, ADBU, Azara
Software Crisis
Size:
• Software is becoming more expensive and more complex with the
growing complexity and expectation out of software.
• For example, the code in the consumer product is doubling every
couple of years.
Quality:
• Many software products have poor quality, i.e., the software
products defects after putting into use due to ineffective testing
technique.
• For example, Software testing typically finds 25 errors per 1000
lines of code. Dr. Jonti Deuri, ADBU, Azara
Software Crisis
Cost:
• Software development is costly i.e. in terms of time taken to develop
and the money involved.
• For example, Development of the FAA's Advanced Automation
System cost over $700 per lines of code.
Delayed Delivery:
• Serious schedule overruns are common.
• Very often the software takes longer than the estimated time to
develop, which in turn leads to cost shooting up.
• For example, one in four large-scale development projects is never
completed. Dr. Jonti Deuri, ADBU, Azara
Software Processes
• A software process is the set of activities and associated
outcome that produce a software product.
• Software engineers mostly carry out these activities.
• There are four key process activities, which are common to all
software processes.
These activities are:
• Software specifications:
• Software development:
• Software validation:
• Software evolution:
Dr. Jonti Deuri, ADBU, Azara
Software Processes
Software specifications:
• The functionality of the software and constraints on its
operation must be defined.
Software development:
• The software to meet the requirement must be produced.
Software validation:
• The software must be validated to ensure that it does what the
customer wants.
Software evolution:
• The software must evolve to meet changing client needs.
Dr. Jonti Deuri, ADBU, Azara
Elements of a Software
Processes
A software process comprises various essential elements.
1. Artifacts:
2. Activity
3. Constraint
4. People
5. Tools and Technology
6. Methods or Technique
7. Relationship
8. Organizational Structure
Dr. Jonti Deuri, ADBU, Azara
Elements of a Software
Processes
A software process comprises various essential elements.
1. Artifacts:
• Tangible work products produces during the
development of software.
• E.g. Software architecture, project plan etc.
2. Activity:
• Specifies the tasks to be carried out implicitly or
explicitly.
• Each activity uses some procedures, rules, policies and
guidelines to produce the required artifacts.
• E.g. Analysis, design, tracking, monitoring etc.
Dr. Jonti Deuri, ADBU, Azara
Elements of a Software
Processes
A software process comprises various essential elements.
3. Constraint:
• Refers to the criteria or condition that must be met or
possessed by a software product.
• Allows the process to progress for achieving maximum
outcome with defined conditions.
Dr. Jonti Deuri, ADBU, Azara
Elements of a Software
Processes
A software process comprises various essential elements.
4. People:
• Person or stakeholders who directly or indirectly involved
in the process.
• For example software tester, quality checker etc.
Dr. Jonti Deuri, ADBU, Azara
Elements of a Software
Processes
A software process comprises various essential elements.
5. Tools and Technology:
• Tools and technology provide technical support to the
methods
• Eg. Fortran, CASE TOOLS.
Dr. Jonti Deuri, ADBU, Azara
Elements of a Software
Processes
A software process comprises various essential elements.
6. Methods or Technique:
• Methods or techniques specify the way to perform an
activity using tools & technology to accomplish the
activity.
• It provides detailed mechanism to carry out an activity.
Dr. Jonti Deuri, ADBU, Azara
Elements of a Software
Processes
A software process comprises various essential elements.
7. Relationship:
• Specifies the link among various activities or entities.
• E.g. maintenance followed by implementation, debugging
is required after error detection, etc.
Dr. Jonti Deuri, ADBU, Azara
Elements of a Software
Processes
A software process comprises various essential elements.
8. Organizational Structure:
• Specifies the team of people that should be coordinated and
managed during software development.
Dr. Jonti Deuri, ADBU, Azara
Software Development Life
Cycle (SDLC)
• SDLC is a process used by the software industry to design, develop and test
high quality software.
• The SDLC aims to produce a high-quality software that meets or exceeds
customer expectations, reaches completion within times and cost estimates.
• SDLC is the acronym of Software Development Life Cycle.
• It is also called as Software Development Process.
• SDLC is a framework defining tasks performed at each step in the software
development process.
• ISO/IEC 12207 is an international standard for software life-cycle processes.
It aims to be the standard that defines all the tasks required for developing
and maintaining software.
Dr. Jonti Deuri, ADBU, Azara
Software Development Life
Cycle (SDLC)
SDLC Cycle
• SDLC Cycle represents
the process of developing
software.
• SDLC framework includes
the following steps:
Dr. Jonti Deuri, ADBU, Azara
Software Development Life
Cycle (SDLC)
The stages of SDLC are as follows:
Stage1: Planning and requirement analysis
• Requirement Analysis is the most important and necessary stage in
SDLC.
• Planning for the quality assurance requirements and identifications
of the risks associated with the projects is also done at this stage.
• Business analyst and Project organizer set up a meeting with the
client to gather all the data like what the customer wants to build,
who will be the end user, what is the objective of the product.
• Before creating a product, a core understanding or knowledge of the
product is very necessary.
Dr. Jonti Deuri, ADBU, Azara
Software Development Life
Cycle (SDLC)
Stage2: Defining Requirements
• Once the requirement analysis is done, the next stage is to certainly
represent and document the software requirements and get them
accepted from the project stakeholders.
• This is accomplished through "SRS"- Software Requirement
Specification document which contains all the product requirements to
be constructed and developed during the project life cycle.
Dr. Jonti Deuri, ADBU, Azara
Software Development Life
Cycle (SDLC)
Stage3: Designing the Software
• The next phase is about to bring down all the
knowledge of requirements, analysis, and
design of the software project.
• This phase is the product of the last two, like
inputs from the customer and requirement
gathering.
Dr. Jonti Deuri, ADBU, Azara
Software Development Life
Cycle (SDLC)
Stage4: Developing the project
• In this phase of SDLC, the actual development begins,
and the programming is built.
• The implementation of design begins concerning
writing code.
• Developers have to follow the coding guidelines
described by their management and programming
tools like compilers, interpreters, debuggers, etc. are
used to develop and implement the code.
Dr. Jonti Deuri, ADBU, Azara
Software Development Life
Cycle (SDLC)
Stage5: Testing
• After the code is generated, it is tested against the
requirements to make sure that the products are
solving the needs addressed and gathered during the
requirements stage.
• During this stage, unit testing, integration testing,
system testing, acceptance testing are done.
Dr. Jonti Deuri, ADBU, Azara
Software Development Life
Cycle (SDLC)
Stage6: Deployment
• Once the software is certified, and no bugs or
errors are stated, then it is deployed.
• Then based on the assessment, the software
may be released as it is or with suggested
enhancement in the object segment.
• After the software is deployed, then its
maintenance begins.
Dr. Jonti Deuri, ADBU, Azara
Software Development Life
Cycle (SDLC)
Stage7: Maintenance
• The software is maintained timely by
updating the code according to the changes
taking place in user end environment or
technology.
• This phase may face challenges from hidden
bugs and real-world unidentified problems.
Dr. Jonti Deuri, ADBU, Azara
Software Development
Life Cycle Models
A few of software development paradigms or process models are defined
as follows:
• Waterfall Model
• Spiral Model
• Rapid Application Development Model
• Agile Model
• Prototype Model
• Iterative Model
• V-Model
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
1. Waterfall Model:
• Winston Royce introduced the Waterfall Model in 1970.
• The steps always follow in this order and do not overlap.
• The developer must complete every phase before the next
phase begins.
• This model is named "Waterfall Model", because its
diagrammatic representation resembles a cascade of
waterfalls. Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
1. Requirements:
• This phase is also known as Requirements analysis and
specification phase.
• The aim of this phase is to understand the exact
requirements of the customer and to document them
properly.
• Both the customer and the software developer work together
so as to document all the functions, performance, and
interfacing requirement of the software.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
1. Requirements: …
• It describes the "what" of the system to be produced and not
"how”.
• In this phase, a large document called Software
Requirement Specification (SRS) document is created
which contained a detailed description of what the system
will do in the common language.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
2. Design Phase:
• This phase aims to transform the requirements gathered in the
SRS into a suitable form which permits further coding in a
programming language.
• It defines the overall software architecture together with high
level and detailed design.
• All this work is documented as a Software Design Document
(SDD).
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
3. Development or implementation:
• During this phase, design is implemented.
• If the SDD is complete, the implementation or
coding phase proceeds smoothly, because all the
information needed by software developers is
contained in the SDD.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
4. Testing:
• Also called Integration and System Testing Phase.
• This phase is highly crucial as the quality of the end
product is determined by the effectiveness of the testing
carried out.
• The better output will lead to satisfied customers, lower
maintenance costs, and accurate results.
• However, in this phase, the modules are tested for their
interactions with each other and with the system.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
5. Deployment:
• In the Deployment phase, the developed code is
moved into production after the sign off is given
by the customer.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
6. Operation and maintenance:
• Maintenance is the task performed by every user
once the software has been delivered to the
customer, installed, and operational.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
Advantages of Waterfall Model:
 This model is very simple and is easy to understand.
 Phases in this model are processed one at a time.
 Each stage in the model is clearly defined.
 Process, actions and results are very well
documented.
 Reinforces good habits: define-before- design,
design-before-code.
 This model works well for smaller projects and
projects where requirements are well understood.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Waterfall Model
Drawbacks of Waterfall Model:
 No feedback path: In classical waterfall model
evolution of a software from one phase to another
phase is like a waterfall.
 Difficult to accommodate change requests: It is
difficult to accommodate any change requests after the
requirements specification phase is complete.
 No overlapping of phases: This model recommends
that new phase can start only after the completion of
the previous phase.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
• Proposed by Boehm.
• Spiral model is one of the most important SDLC
models, which provides support for Risk Handling.
• In its diagrammatic representation, it looks like a
spiral with many loops.
• The exact number of loops of the spiral is unknown
and can vary from project to project.
• Each loop of the spiral is called a Phase of the
software development process.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
• The exact number of phases needed to develop
the product can be varied by the project manager
depending upon the project risks.
• As the project manager dynamically determines
the number of phases, so the project manager
has an important role to develop a product using
spiral model.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
The functions of these four quadrants are discussed below-
1.Objectives determination and identify alternative solutions:
• Requirements are gathered from the customers and the objectives
are identified, elaborated and analyzed at the start of every phase.
• Then alternative solutions possible for the phase are proposed in
this quadrant.
2. Identify and resolve Risks:
• During the second quadrant all the possible solutions are
evaluated to select the best possible solution.
• Then the risks associated with that solution is identified and the
risks are resolved using the best possible strategy.
• At the end of this quadrant, Prototype is built for the best possible
solution. Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
The functions of these four quadrants are discussed below-
3. Develop next version of the Product:
• During the third quadrant, the identified features are developed and
verified through testing.
• At the end of the third quadrant, the next version of the software is
available.
4. Review and plan for the next Phase:
• In the fourth quadrant, the Customers evaluate the so far
developed version of the software.
• In the end, planning for the next phase is started.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
Advantages of Spiral Model:
1. Risk Handling:
• The projects with many unknown risks that occur as the
development proceeds, in that case, Spiral Model is the best
development model to follow due to the risk analysis and
risk handling at every phase.
2. Good for large projects:
• It is recommended to use the Spiral Model in large and
complex projects.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
Advantages of Spiral Model:
3. Flexibility in Requirements:
• Change requests in the Requirements at later phase
can be incorporated accurately by using this model.
4. Customer Satisfaction:
• Customer can see the development of the product at
the early phase of the software development and
thus, they habituated with the system by using it
before completion of the total product.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
Disadvantages of Spiral Model:
1. Complex:
• The Spiral Model is much more complex than other SDLC
models.
2. Expensive:
• Spiral Model is not suitable for small projects as it is expensive.
3. Too much dependable on Risk Analysis:
• The successful completion of the project is very much dependent
on Risk Analysis. Without very highly experienced expertise, it is
going to be a failure to develop a project using this model.
4. Difficulty in time management:
• As the number of phases is unknown at the start of the project,
so time estimation is very difficult.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
Spiral Model
When to use Spiral Model?
• When deliverance is required to be frequent.
• When the project is large
• When requirements are unclear and complex
• When changes may require at any time
• Large and high budget projects
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
• The meaning of Agile is swift or versatile.
• "Agile process model" refers to a software development
approach based on iterative development.
• Agile methods break tasks into smaller iterations, or parts do
not directly involve long term planning.
• The project scope and requirements are laid down at the
beginning of the development process.
• Plans regarding the number of iterations, the duration
and the scope of each iteration are clearly defined in
advance. Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
• Each iteration is considered as a short time "frame" , which
typically lasts from one to four weeks.
• The division of the entire project into smaller parts helps to
minimize the project risk and to reduce the overall project
delivery time requirements.
• Each iteration involves a team working through a full software
development life cycle
• it includes planning, requirements analysis, design, coding,
and testing before a working product is demonstrated to the
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
Following are the phases in the Agile model:
• Requirements gathering
• Design the requirements
• Construction/ iteration
• Testing/ Quality assurance
• Deployment
• Feedback
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
 In this phase, you must define the requirements.
 You should explain business opportunities and plan the time
and effort needed to build the project.
 Based on this information, you can evaluate technical and
economic feasibility.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
 When you have identified the project, work with stakeholders
to define requirements.
 You can use the user flow diagram or the high-level UML
diagram to show the work of new features and show how it
will apply to your existing system.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
• When the team defines the requirements, the work begins.
• Designers and developers start working on their project, which aims
to deploy a working product.
• The product will undergo various stages of improvement, so it
includes simple, minimal functionality.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
• In this phase, the Quality Assurance team examines the product's
performance and looks for the bug.
• In this phase, the team issues a product for the user's work environment.
• After releasing the product, the last step is feedback.
• In this, the team receives feedback about the product and works through
the feedback.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
• When frequent changes are required.
• When a highly qualified and experienced team is available.
• When a customer is ready to have a meeting with a software team all the
time.
• When project size is small.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
• Frequent Delivery
• Face-to-Face Communication with clients.
• Efficient design and fulfils the business requirement.
• Anytime changes are acceptable.
• It reduces total development time.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models: Agile Model
• Due to the shortage of formal documents, it creates confusion and
crucial decisions taken throughout various phases can be misinterpreted
at any time by different team members.
• Due to the lack of proper documentation, once the project completes and
the developers allotted to another project, maintenance of the finished
project can become a difficulty.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
RAD (Rapid Application Development)
• Proposed by IBM in 1980’s
• RAD is a linear sequential software development process model
• Emphasizes a concise development cycle using an element
based construction approach.
• If the requirements are well understood and described, and the
project scope is a constraint, the RAD process enables a
development team to create a fully functional system within a
concise time period.
Dr. Jonti Deuri, ADBU, Azara
SDLC Models:
RAD (Rapid Application Development)
• RAD (Rapid Application Development) is a concept that
products can be developed faster and of higher quality through:
 Gathering requirements using workshops or focus groups
 Prototyping and early, reiterative user testing of designs
 The re-use of software components
 A rigidly paced schedule that refers design improvements to the next
product version
 Less formality in reviews and other team communication
Dr. Jonti Deuri, ADBU, Azara
RAD (Rapid Application Development)
Dr. Jonti Deuri, ADBU, Azara
RAD: (Rapid Application Development)
• Business Modelling:
 The information flow among business functions is defined by
answering questions like-
 what data drives the business process,
 what data is generated,
 who generates it,
 where does the information go,
 who process it and so on.
Phases of RAD:
Dr. Jonti Deuri, ADBU, Azara
RAD: (Rapid Application Development)
• Data Modelling:
 The data collected from business modeling is refined into a
set of data objects (entities) that are needed to support the
business.
 The attributes (character of each entity) are identified, and
the relation between these data objects (entities) is defined.
Phases of RAD:
Dr. Jonti Deuri, ADBU, Azara
RAD: (Rapid Application Development)
• Process Modelling:
 The information object defined in the data modeling phase
are transformed to achieve the data flow necessary to
implement a business function.
 Processing descriptions are created for adding, modifying,
deleting, or retrieving a data object.
Phases of RAD:
Dr. Jonti Deuri, ADBU, Azara
RAD: (Rapid Application Development)
• Application Generation:
 Automated tools are used to facilitate construction of the
software; even they use the 4th GL techniques.
Phases of RAD:
Dr. Jonti Deuri, ADBU, Azara
RAD: (Rapid Application Development)
• Testing & Turnover:
 Many of the programming components have already been
tested since RAD emphasis reuse.
 This reduces the overall testing time.
 But the new part must be tested, and all interfaces must be
fully exercised.
Phases of RAD:
Dr. Jonti Deuri, ADBU, Azara
RAD: (Rapid Application Development)
The following pointers describe the typical scenarios where RAD can be
used −
• When a system can be modularized to be delivered in an incremental
manner.
• If there is a high availability of designers for Modelling.
• If the budget permits use of automated code generating tools.
• If domain experts are available with relevant business knowledge.
• Where the requirements change during the project and working prototypes
RAD Model - Application
Dr. Jonti Deuri, ADBU, Azara
RAD: (Rapid Application Development)
• Changing requirements can be accommodated.
• Progress can be measured.
• Iteration time can be short with use of powerful RAD tools.
• Productivity with fewer people in a short time.
• Reduced development time.
• Increases reusability of components.
• Quick initial reviews occur.
• Encourages customer feedback.
• Integration from very beginning solves a lot of integration issues.
The advantages of the RAD Model are as follows −
Dr. Jonti Deuri, ADBU, Azara
RAD: (Rapid Application Development)
• Dependency on technically strong team members for identifying business
requirements.
• Only system that can be modularized can be built using RAD.
• Requires highly skilled developers/designers.
• High dependency on Modelling skills.
• Inapplicable to cheaper projects as cost of Modelling and automated code
generation is very high.
• Management complexity is more.
• Suitable for systems that are component based and scalable.
• Requires user involvement throughout the life cycle.
The disadvantages of the RAD Model are as follows −
Dr. Jonti Deuri, ADBU, Azara
V-Model
• V-Model also referred to as the Verification and Validation
Model.
• In this, each phase of SDLC must complete before the next
phase starts.
• It follows a sequential design process same as the waterfall
model.
• Testing of the device is planned in parallel with a
corresponding stage of development.
Dr. Jonti Deuri, ADBU, Azara
V-Model
Dr. Jonti Deuri, ADBU, Azara
V-Model
• V-Model contains Verification phases on one side of the Validation phases
on the other side.
• Verification and Validation process is joined by coding phase in V-shape.
• Thus it is known as V-Model.
Verification:
• It involves a static analysis method (review) done without executing code.
• It is the process of evaluation of the product development process to find whether specified
requirements meet.
Validation:
• It involves dynamic analysis method (functional, non-functional),
• testing is done by executing code.
• Validation is the process to classify the software after the completion of the development
process to determine whether the software meets the customer expectations and
requirements.
Dr. Jonti Deuri, ADBU, Azara
V-Model
• This is the first step where product requirements understood from the
customer's side.
• This phase contains detailed communication to understand customer's
expectations and exact requirements.
• In this stage system engineers analyze and interpret the business of the
proposed system by studying the user requirements document.
There are the various phases of Verification Phase of V-model:
Dr. Jonti Deuri, ADBU, Azara
V-Model
• The baseline in selecting the architecture is that it should understand all
which typically consists of the list of modules
• brief functionality of -
 each module, their interface relationships, dependencies,
 database tables,
 architecture diagrams,
 technology detail, etc.
• The integration testing model is carried out in a particular phase.
There are the various phases of Verification Phase of V-model:
Dr. Jonti Deuri, ADBU, Azara
V-Model
• In the module design phase, the system breaks down into small modules.
• The detailed design of the modules is specified, which is known as Low-
Level Design
• After designing, the coding phase is started.
• Based on the requirements, a suitable programming language is decided.
• There are some guidelines and standards for coding.
• Before checking in the repository, the final build is optimized for better
performance, and the code goes through many code reviews to check the
performance
There are the various phases of Verification Phase of V-model:
Dr. Jonti Deuri, ADBU, Azara
V-Model
• In the V-Model, Unit Test Plans (UTPs) are developed during the module
design phase.
• These UTPs are executed to eliminate errors at code level or unit level.
• A unit is the smallest entity which can independently exist, e.g., a
program module.
• Unit testing verifies that the smallest entity can function correctly when
isolated from the rest of the codes/ units.
There are the various phases of Validation Phase of V-model:
Dr. Jonti Deuri, ADBU, Azara
V-Model
• Integration Test Plans are developed during the Architectural Design
Phase.
• These tests verify that groups created and tested independently can coexist
and communicate among themselves.
• System Tests Plans are developed during System Design Phase.
• Unlike Unit and Integration Test Plans, System Tests Plans are composed
by the client’s business team.
• System Test ensures that expectations from an application developer are
met.
There are the various phases of Validation Phase of V-model:
Dr. Jonti Deuri, ADBU, Azara
V-Model
• Acceptance testing is related to the business requirement analysis part.
• It includes testing the software product in user atmosphere.
• Acceptance tests reveal the compatibility problems with the different
systems, which is available within the user atmosphere.
• It conjointly discovers the non-functional problems like load and
performance defects within the real user atmosphere.
There are the various phases of Validation Phase of V-model:
Dr. Jonti Deuri, ADBU, Azara
THANK YOU
Dr. Jonti Deuri, ADBU, Azara

More Related Content

Similar to unit I-Introduction to sft eng.pptx

Software Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptxSoftware Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptxomgadekar25
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Raj vardhan
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVYamunaP6
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
Software Engineering
Software EngineeringSoftware Engineering
Software EngineeringMohamed Essam
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineeringghayour abbas
 
LEC 2asasasasasasasasasasasasasasasasa.pptx
LEC 2asasasasasasasasasasasasasasasasa.pptxLEC 2asasasasasasasasasasasasasasasasa.pptx
LEC 2asasasasasasasasasasasasasasasasa.pptxGodFather51
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNANDINI SHARMA
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfProf. Dr. K. Adisesha
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptxpriyaaresearch
 
Introduction to Software Development Life Cycle.pptx
Introduction to Software Development Life Cycle.pptxIntroduction to Software Development Life Cycle.pptx
Introduction to Software Development Life Cycle.pptxGodwin Monserate
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii yearPreeti Mishra
 

Similar to unit I-Introduction to sft eng.pptx (20)

Software Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptxSoftware Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptx
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IV
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Unit1
Unit1Unit1
Unit1
 
SWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineering
 
LEC 2asasasasasasasasasasasasasasasasa.pptx
LEC 2asasasasasasasasasasasasasasasasa.pptxLEC 2asasasasasasasasasasasasasasasasa.pptx
LEC 2asasasasasasasasasasasasasasasasa.pptx
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project Management
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdf
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
Introduction to Software Development Life Cycle.pptx
Introduction to Software Development Life Cycle.pptxIntroduction to Software Development Life Cycle.pptx
Introduction to Software Development Life Cycle.pptx
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 

Recently uploaded

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 

Recently uploaded (20)

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 

unit I-Introduction to sft eng.pptx

  • 1. CASE0029 BASIC SOFTWARE ENGINEERING BCA 4th SEM Assam Don Bosco University --- Dr. Jonti Deuri ADBU, Azara, Assam, Guwahati Dr. Jonti Deuri, ADBU, Azara
  • 2. SOFTWARE ENGINEERING Books: 1. Rajib Mall , Fundamentals of software engineering, Prentice- hall of India, Fifth Edition. 2. Ugrasen Suman, software engineering concept and practices, cengage learning pvt. Ltd., 2013, Website: 1. https://www.tutorialspoint.com/ 2. https://www.geeksforgeeks.org/software-engineering 3. https://www.tutorialride.com/software-engineering/software-engineering- tutorial.htm Dr. Jonti Deuri, ADBU, Azara
  • 3. Module-I Problems and solutions: Why software is developed. Problem and vision statements. Goals and objectives. Definitions and paradigms, A generic view of software engineering. Software development life cycle, Role of quality, metrics and measurement. Dr. Jonti Deuri, ADBU, Azara
  • 4. What is Software Engineering? • The term is made of two words, software and engineering. • Software is more than just a program code. • Software is considered to be collection of executable programming code, associated libraries and documentations. • Software, when made for a specific requirement is called software product. Dr. Jonti Deuri, ADBU, Azara
  • 5. What is Software Engineering? • Engineering :  Engineering is all about developing products, using well-defined, scientific principles and methods. or,  Force us to focus on systematic, scientific and well defined processes to produce a good quality product. Dr. Jonti Deuri, ADBU, Azara
  • 6. What is Software Engineering? • Engineering Approach to Develop Software.  Building Construction Analogy • Collection of past experience  techniques  methodologies  guidelines and tools Dr. Jonti Deuri, ADBU, Azara
  • 7. What is Software Engineering? • IEEE defines software engineering as:  The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software. Dr. Jonti Deuri, ADBU, Azara
  • 8. Software Engineering is a systematic, disciplined, quantifiable study and approach to the design, development, operation, and maintenance of a software system. What is Software Engineering? Dr. Jonti Deuri, ADBU, Azara
  • 9. Introduction to Software Engineering Dr. Jonti Deuri, ADBU, Azara
  • 10. Status of Software Engineering The requirements specification was defined like this The developers understood it in that way This is how the problem was solved before. This is how the problem is solved now That is the program after debugging This is how the program is described by marketing department This, in fact, is what the customer wanted … Dr. Jonti Deuri, ADBU, Azara
  • 11. Why is Software Engineering required? Software Engineering is required due to the following reasons: • To manage Large software • For more Scalability • Cost Management • To manage the dynamic nature of software • For better quality Management Dr. Jonti Deuri, ADBU, Azara
  • 12. Need of Software Engineering The need of software engineering arises because of higher rate of change in user requirements and environment : • Large software -  It is easier to build a wall than to a house or building, likewise, as the size of software become large engineering has to step to give it a scientific process. • Scalability-  If the software process were not based on scientific and engineering concepts, it would be easier to re-create new software than to scale an existing one. • Cost-  As hardware industry has shown its skills and huge manufacturing has lower down the price of computer and electronic hardware.  But the cost of software remains high if proper process is not adapted. Dr. Jonti Deuri, ADBU, Azara
  • 13. Need of Software Engineering The need of software engineering arises because of higher rate of change in user requirements and environment on which the software is working. • Dynamic Nature-  The always growing and adapting nature of software hugely depends upon the environment in which user works.  If the nature of software is always changing, new enhancements need to be done in the existing one.  This is where software engineering plays a good role. • Quality Management-  Better process of software development provides better and quality software product. Dr. Jonti Deuri, ADBU, Azara
  • 14. Characteristics of good software A software product can be judged by what it offers and how well it can be used. This software must satisfy on the following grounds: 1.Operational 2.Transitional 3.Maintenance Dr. Jonti Deuri, ADBU, Azara
  • 15. Characteristics of good software Operational This tells us how well software works in operations. It can be measured on: • Budget • Usability • Efficiency • Correctness • Functionality • Dependability • Security • Safety Dr. Jonti Deuri, ADBU, Azara
  • 16. Characteristics of good software Transitional: This aspect is important when the software is moved from one platform to another: • Portability • Interoperability • Reusability Dr. Jonti Deuri, ADBU, Azara
  • 17. Characteristics of good software Maintenance This aspect briefs about how well a software has the capabilities to maintain itself in the ever-changing environment: • Modularity • Maintainability • Flexibility • Scalability Dr. Jonti Deuri, ADBU, Azara
  • 18. Software Paradigms • Software paradigms refer to the methods and steps, which are taken while designing the software. • These can be combined into various categories, though each of them is contained in one another: • Programming paradigm is a subset of Software design paradigm which is further a subset of Software development paradigm. Dr. Jonti Deuri, ADBU, Azara
  • 19. Software Paradigms Software Development Paradigm: • Also known as software engineering paradigms where all the engineering concepts pertaining to the development of software are applied. • It includes various researches and requirement gathering which helps the software product to build. It consists of –  Requirement gathering  Software design  Programming Dr. Jonti Deuri, ADBU, Azara
  • 20. Software Paradigms Software Design Paradigm This paradigm is a part of Software Development and includes – • Design • Programming • Maintenance Dr. Jonti Deuri, ADBU, Azara
  • 21. Software Paradigms Programming Paradigm: This paradigm is related closely to programming aspect of software development. This includes – • Coding • Testing • Integration Dr. Jonti Deuri, ADBU, Azara
  • 22. Importance of Software Engineering Dr. Jonti Deuri, ADBU, Azara
  • 23. Software Classification There are various categories of software products: 1. Generic software: are developed for general purpose, regardless of the type of business. 2. Customized software: are developed to satisfy the need of a particular customer in a organization. Generic and customized software products can again be divided in several categories. Dr. Jonti Deuri, ADBU, Azara
  • 24. Software Classification It can be categorized into different types: On the basis of application: 1. System Software – 2. Networking and Web Applications Software 3. Embedded Software – 4. Reservation Software 5. Business Software 6. Entertainment Software 7. Artificial Intelligence Software 8. Scientific Software 9. Utilities Software 10. Document Management Software – Dr. Jonti Deuri, ADBU, Azara
  • 25. Software Classification It can be categorized into different types:….. On the basis of copyright: 1. Commercial – 2. Shareware – 3. Freeware – 4. Open Source- Dr. Jonti Deuri, ADBU, Azara
  • 26. Software Crisis Size: • Software is becoming more expensive and more complex with the growing complexity and expectation out of software. • For example, the code in the consumer product is doubling every couple of years. Quality: • Many software products have poor quality, i.e., the software products defects after putting into use due to ineffective testing technique. • For example, Software testing typically finds 25 errors per 1000 lines of code. Dr. Jonti Deuri, ADBU, Azara
  • 27. Software Crisis Cost: • Software development is costly i.e. in terms of time taken to develop and the money involved. • For example, Development of the FAA's Advanced Automation System cost over $700 per lines of code. Delayed Delivery: • Serious schedule overruns are common. • Very often the software takes longer than the estimated time to develop, which in turn leads to cost shooting up. • For example, one in four large-scale development projects is never completed. Dr. Jonti Deuri, ADBU, Azara
  • 28. Software Processes • A software process is the set of activities and associated outcome that produce a software product. • Software engineers mostly carry out these activities. • There are four key process activities, which are common to all software processes. These activities are: • Software specifications: • Software development: • Software validation: • Software evolution: Dr. Jonti Deuri, ADBU, Azara
  • 29. Software Processes Software specifications: • The functionality of the software and constraints on its operation must be defined. Software development: • The software to meet the requirement must be produced. Software validation: • The software must be validated to ensure that it does what the customer wants. Software evolution: • The software must evolve to meet changing client needs. Dr. Jonti Deuri, ADBU, Azara
  • 30. Elements of a Software Processes A software process comprises various essential elements. 1. Artifacts: 2. Activity 3. Constraint 4. People 5. Tools and Technology 6. Methods or Technique 7. Relationship 8. Organizational Structure Dr. Jonti Deuri, ADBU, Azara
  • 31. Elements of a Software Processes A software process comprises various essential elements. 1. Artifacts: • Tangible work products produces during the development of software. • E.g. Software architecture, project plan etc. 2. Activity: • Specifies the tasks to be carried out implicitly or explicitly. • Each activity uses some procedures, rules, policies and guidelines to produce the required artifacts. • E.g. Analysis, design, tracking, monitoring etc. Dr. Jonti Deuri, ADBU, Azara
  • 32. Elements of a Software Processes A software process comprises various essential elements. 3. Constraint: • Refers to the criteria or condition that must be met or possessed by a software product. • Allows the process to progress for achieving maximum outcome with defined conditions. Dr. Jonti Deuri, ADBU, Azara
  • 33. Elements of a Software Processes A software process comprises various essential elements. 4. People: • Person or stakeholders who directly or indirectly involved in the process. • For example software tester, quality checker etc. Dr. Jonti Deuri, ADBU, Azara
  • 34. Elements of a Software Processes A software process comprises various essential elements. 5. Tools and Technology: • Tools and technology provide technical support to the methods • Eg. Fortran, CASE TOOLS. Dr. Jonti Deuri, ADBU, Azara
  • 35. Elements of a Software Processes A software process comprises various essential elements. 6. Methods or Technique: • Methods or techniques specify the way to perform an activity using tools & technology to accomplish the activity. • It provides detailed mechanism to carry out an activity. Dr. Jonti Deuri, ADBU, Azara
  • 36. Elements of a Software Processes A software process comprises various essential elements. 7. Relationship: • Specifies the link among various activities or entities. • E.g. maintenance followed by implementation, debugging is required after error detection, etc. Dr. Jonti Deuri, ADBU, Azara
  • 37. Elements of a Software Processes A software process comprises various essential elements. 8. Organizational Structure: • Specifies the team of people that should be coordinated and managed during software development. Dr. Jonti Deuri, ADBU, Azara
  • 38. Software Development Life Cycle (SDLC) • SDLC is a process used by the software industry to design, develop and test high quality software. • The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates. • SDLC is the acronym of Software Development Life Cycle. • It is also called as Software Development Process. • SDLC is a framework defining tasks performed at each step in the software development process. • ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software. Dr. Jonti Deuri, ADBU, Azara
  • 39. Software Development Life Cycle (SDLC) SDLC Cycle • SDLC Cycle represents the process of developing software. • SDLC framework includes the following steps: Dr. Jonti Deuri, ADBU, Azara
  • 40. Software Development Life Cycle (SDLC) The stages of SDLC are as follows: Stage1: Planning and requirement analysis • Requirement Analysis is the most important and necessary stage in SDLC. • Planning for the quality assurance requirements and identifications of the risks associated with the projects is also done at this stage. • Business analyst and Project organizer set up a meeting with the client to gather all the data like what the customer wants to build, who will be the end user, what is the objective of the product. • Before creating a product, a core understanding or knowledge of the product is very necessary. Dr. Jonti Deuri, ADBU, Azara
  • 41. Software Development Life Cycle (SDLC) Stage2: Defining Requirements • Once the requirement analysis is done, the next stage is to certainly represent and document the software requirements and get them accepted from the project stakeholders. • This is accomplished through "SRS"- Software Requirement Specification document which contains all the product requirements to be constructed and developed during the project life cycle. Dr. Jonti Deuri, ADBU, Azara
  • 42. Software Development Life Cycle (SDLC) Stage3: Designing the Software • The next phase is about to bring down all the knowledge of requirements, analysis, and design of the software project. • This phase is the product of the last two, like inputs from the customer and requirement gathering. Dr. Jonti Deuri, ADBU, Azara
  • 43. Software Development Life Cycle (SDLC) Stage4: Developing the project • In this phase of SDLC, the actual development begins, and the programming is built. • The implementation of design begins concerning writing code. • Developers have to follow the coding guidelines described by their management and programming tools like compilers, interpreters, debuggers, etc. are used to develop and implement the code. Dr. Jonti Deuri, ADBU, Azara
  • 44. Software Development Life Cycle (SDLC) Stage5: Testing • After the code is generated, it is tested against the requirements to make sure that the products are solving the needs addressed and gathered during the requirements stage. • During this stage, unit testing, integration testing, system testing, acceptance testing are done. Dr. Jonti Deuri, ADBU, Azara
  • 45. Software Development Life Cycle (SDLC) Stage6: Deployment • Once the software is certified, and no bugs or errors are stated, then it is deployed. • Then based on the assessment, the software may be released as it is or with suggested enhancement in the object segment. • After the software is deployed, then its maintenance begins. Dr. Jonti Deuri, ADBU, Azara
  • 46. Software Development Life Cycle (SDLC) Stage7: Maintenance • The software is maintained timely by updating the code according to the changes taking place in user end environment or technology. • This phase may face challenges from hidden bugs and real-world unidentified problems. Dr. Jonti Deuri, ADBU, Azara
  • 47. Software Development Life Cycle Models A few of software development paradigms or process models are defined as follows: • Waterfall Model • Spiral Model • Rapid Application Development Model • Agile Model • Prototype Model • Iterative Model • V-Model Dr. Jonti Deuri, ADBU, Azara
  • 48. SDLC Models: Waterfall Model 1. Waterfall Model: • Winston Royce introduced the Waterfall Model in 1970. • The steps always follow in this order and do not overlap. • The developer must complete every phase before the next phase begins. • This model is named "Waterfall Model", because its diagrammatic representation resembles a cascade of waterfalls. Dr. Jonti Deuri, ADBU, Azara
  • 49. SDLC Models: Waterfall Model Dr. Jonti Deuri, ADBU, Azara
  • 50. SDLC Models: Waterfall Model 1. Requirements: • This phase is also known as Requirements analysis and specification phase. • The aim of this phase is to understand the exact requirements of the customer and to document them properly. • Both the customer and the software developer work together so as to document all the functions, performance, and interfacing requirement of the software. Dr. Jonti Deuri, ADBU, Azara
  • 51. SDLC Models: Waterfall Model 1. Requirements: … • It describes the "what" of the system to be produced and not "how”. • In this phase, a large document called Software Requirement Specification (SRS) document is created which contained a detailed description of what the system will do in the common language. Dr. Jonti Deuri, ADBU, Azara
  • 52. SDLC Models: Waterfall Model 2. Design Phase: • This phase aims to transform the requirements gathered in the SRS into a suitable form which permits further coding in a programming language. • It defines the overall software architecture together with high level and detailed design. • All this work is documented as a Software Design Document (SDD). Dr. Jonti Deuri, ADBU, Azara
  • 53. SDLC Models: Waterfall Model 3. Development or implementation: • During this phase, design is implemented. • If the SDD is complete, the implementation or coding phase proceeds smoothly, because all the information needed by software developers is contained in the SDD. Dr. Jonti Deuri, ADBU, Azara
  • 54. SDLC Models: Waterfall Model 4. Testing: • Also called Integration and System Testing Phase. • This phase is highly crucial as the quality of the end product is determined by the effectiveness of the testing carried out. • The better output will lead to satisfied customers, lower maintenance costs, and accurate results. • However, in this phase, the modules are tested for their interactions with each other and with the system. Dr. Jonti Deuri, ADBU, Azara
  • 55. SDLC Models: Waterfall Model 5. Deployment: • In the Deployment phase, the developed code is moved into production after the sign off is given by the customer. Dr. Jonti Deuri, ADBU, Azara
  • 56. SDLC Models: Waterfall Model 6. Operation and maintenance: • Maintenance is the task performed by every user once the software has been delivered to the customer, installed, and operational. Dr. Jonti Deuri, ADBU, Azara
  • 57. SDLC Models: Waterfall Model Advantages of Waterfall Model:  This model is very simple and is easy to understand.  Phases in this model are processed one at a time.  Each stage in the model is clearly defined.  Process, actions and results are very well documented.  Reinforces good habits: define-before- design, design-before-code.  This model works well for smaller projects and projects where requirements are well understood. Dr. Jonti Deuri, ADBU, Azara
  • 58. SDLC Models: Waterfall Model Drawbacks of Waterfall Model:  No feedback path: In classical waterfall model evolution of a software from one phase to another phase is like a waterfall.  Difficult to accommodate change requests: It is difficult to accommodate any change requests after the requirements specification phase is complete.  No overlapping of phases: This model recommends that new phase can start only after the completion of the previous phase. Dr. Jonti Deuri, ADBU, Azara
  • 59. SDLC Models: Spiral Model • Proposed by Boehm. • Spiral model is one of the most important SDLC models, which provides support for Risk Handling. • In its diagrammatic representation, it looks like a spiral with many loops. • The exact number of loops of the spiral is unknown and can vary from project to project. • Each loop of the spiral is called a Phase of the software development process. Dr. Jonti Deuri, ADBU, Azara
  • 60. SDLC Models: Spiral Model • The exact number of phases needed to develop the product can be varied by the project manager depending upon the project risks. • As the project manager dynamically determines the number of phases, so the project manager has an important role to develop a product using spiral model. Dr. Jonti Deuri, ADBU, Azara
  • 61. SDLC Models: Spiral Model Dr. Jonti Deuri, ADBU, Azara
  • 62. SDLC Models: Spiral Model Dr. Jonti Deuri, ADBU, Azara
  • 63. SDLC Models: Spiral Model The functions of these four quadrants are discussed below- 1.Objectives determination and identify alternative solutions: • Requirements are gathered from the customers and the objectives are identified, elaborated and analyzed at the start of every phase. • Then alternative solutions possible for the phase are proposed in this quadrant. 2. Identify and resolve Risks: • During the second quadrant all the possible solutions are evaluated to select the best possible solution. • Then the risks associated with that solution is identified and the risks are resolved using the best possible strategy. • At the end of this quadrant, Prototype is built for the best possible solution. Dr. Jonti Deuri, ADBU, Azara
  • 64. SDLC Models: Spiral Model The functions of these four quadrants are discussed below- 3. Develop next version of the Product: • During the third quadrant, the identified features are developed and verified through testing. • At the end of the third quadrant, the next version of the software is available. 4. Review and plan for the next Phase: • In the fourth quadrant, the Customers evaluate the so far developed version of the software. • In the end, planning for the next phase is started. Dr. Jonti Deuri, ADBU, Azara
  • 65. SDLC Models: Spiral Model Advantages of Spiral Model: 1. Risk Handling: • The projects with many unknown risks that occur as the development proceeds, in that case, Spiral Model is the best development model to follow due to the risk analysis and risk handling at every phase. 2. Good for large projects: • It is recommended to use the Spiral Model in large and complex projects. Dr. Jonti Deuri, ADBU, Azara
  • 66. SDLC Models: Spiral Model Advantages of Spiral Model: 3. Flexibility in Requirements: • Change requests in the Requirements at later phase can be incorporated accurately by using this model. 4. Customer Satisfaction: • Customer can see the development of the product at the early phase of the software development and thus, they habituated with the system by using it before completion of the total product. Dr. Jonti Deuri, ADBU, Azara
  • 67. SDLC Models: Spiral Model Disadvantages of Spiral Model: 1. Complex: • The Spiral Model is much more complex than other SDLC models. 2. Expensive: • Spiral Model is not suitable for small projects as it is expensive. 3. Too much dependable on Risk Analysis: • The successful completion of the project is very much dependent on Risk Analysis. Without very highly experienced expertise, it is going to be a failure to develop a project using this model. 4. Difficulty in time management: • As the number of phases is unknown at the start of the project, so time estimation is very difficult. Dr. Jonti Deuri, ADBU, Azara
  • 68. SDLC Models: Spiral Model When to use Spiral Model? • When deliverance is required to be frequent. • When the project is large • When requirements are unclear and complex • When changes may require at any time • Large and high budget projects Dr. Jonti Deuri, ADBU, Azara
  • 69. SDLC Models: Agile Model • The meaning of Agile is swift or versatile. • "Agile process model" refers to a software development approach based on iterative development. • Agile methods break tasks into smaller iterations, or parts do not directly involve long term planning. • The project scope and requirements are laid down at the beginning of the development process. • Plans regarding the number of iterations, the duration and the scope of each iteration are clearly defined in advance. Dr. Jonti Deuri, ADBU, Azara
  • 70. SDLC Models: Agile Model • Each iteration is considered as a short time "frame" , which typically lasts from one to four weeks. • The division of the entire project into smaller parts helps to minimize the project risk and to reduce the overall project delivery time requirements. • Each iteration involves a team working through a full software development life cycle • it includes planning, requirements analysis, design, coding, and testing before a working product is demonstrated to the Dr. Jonti Deuri, ADBU, Azara
  • 71. SDLC Models: Agile Model Dr. Jonti Deuri, ADBU, Azara
  • 72. SDLC Models: Agile Model Following are the phases in the Agile model: • Requirements gathering • Design the requirements • Construction/ iteration • Testing/ Quality assurance • Deployment • Feedback Dr. Jonti Deuri, ADBU, Azara
  • 73. SDLC Models: Agile Model  In this phase, you must define the requirements.  You should explain business opportunities and plan the time and effort needed to build the project.  Based on this information, you can evaluate technical and economic feasibility. Dr. Jonti Deuri, ADBU, Azara
  • 74. SDLC Models: Agile Model  When you have identified the project, work with stakeholders to define requirements.  You can use the user flow diagram or the high-level UML diagram to show the work of new features and show how it will apply to your existing system. Dr. Jonti Deuri, ADBU, Azara
  • 75. SDLC Models: Agile Model • When the team defines the requirements, the work begins. • Designers and developers start working on their project, which aims to deploy a working product. • The product will undergo various stages of improvement, so it includes simple, minimal functionality. Dr. Jonti Deuri, ADBU, Azara
  • 76. SDLC Models: Agile Model • In this phase, the Quality Assurance team examines the product's performance and looks for the bug. • In this phase, the team issues a product for the user's work environment. • After releasing the product, the last step is feedback. • In this, the team receives feedback about the product and works through the feedback. Dr. Jonti Deuri, ADBU, Azara
  • 77. SDLC Models: Agile Model • When frequent changes are required. • When a highly qualified and experienced team is available. • When a customer is ready to have a meeting with a software team all the time. • When project size is small. Dr. Jonti Deuri, ADBU, Azara
  • 78. SDLC Models: Agile Model • Frequent Delivery • Face-to-Face Communication with clients. • Efficient design and fulfils the business requirement. • Anytime changes are acceptable. • It reduces total development time. Dr. Jonti Deuri, ADBU, Azara
  • 79. SDLC Models: Agile Model • Due to the shortage of formal documents, it creates confusion and crucial decisions taken throughout various phases can be misinterpreted at any time by different team members. • Due to the lack of proper documentation, once the project completes and the developers allotted to another project, maintenance of the finished project can become a difficulty. Dr. Jonti Deuri, ADBU, Azara
  • 80. SDLC Models: RAD (Rapid Application Development) • Proposed by IBM in 1980’s • RAD is a linear sequential software development process model • Emphasizes a concise development cycle using an element based construction approach. • If the requirements are well understood and described, and the project scope is a constraint, the RAD process enables a development team to create a fully functional system within a concise time period. Dr. Jonti Deuri, ADBU, Azara
  • 81. SDLC Models: RAD (Rapid Application Development) • RAD (Rapid Application Development) is a concept that products can be developed faster and of higher quality through:  Gathering requirements using workshops or focus groups  Prototyping and early, reiterative user testing of designs  The re-use of software components  A rigidly paced schedule that refers design improvements to the next product version  Less formality in reviews and other team communication Dr. Jonti Deuri, ADBU, Azara
  • 82. RAD (Rapid Application Development) Dr. Jonti Deuri, ADBU, Azara
  • 83. RAD: (Rapid Application Development) • Business Modelling:  The information flow among business functions is defined by answering questions like-  what data drives the business process,  what data is generated,  who generates it,  where does the information go,  who process it and so on. Phases of RAD: Dr. Jonti Deuri, ADBU, Azara
  • 84. RAD: (Rapid Application Development) • Data Modelling:  The data collected from business modeling is refined into a set of data objects (entities) that are needed to support the business.  The attributes (character of each entity) are identified, and the relation between these data objects (entities) is defined. Phases of RAD: Dr. Jonti Deuri, ADBU, Azara
  • 85. RAD: (Rapid Application Development) • Process Modelling:  The information object defined in the data modeling phase are transformed to achieve the data flow necessary to implement a business function.  Processing descriptions are created for adding, modifying, deleting, or retrieving a data object. Phases of RAD: Dr. Jonti Deuri, ADBU, Azara
  • 86. RAD: (Rapid Application Development) • Application Generation:  Automated tools are used to facilitate construction of the software; even they use the 4th GL techniques. Phases of RAD: Dr. Jonti Deuri, ADBU, Azara
  • 87. RAD: (Rapid Application Development) • Testing & Turnover:  Many of the programming components have already been tested since RAD emphasis reuse.  This reduces the overall testing time.  But the new part must be tested, and all interfaces must be fully exercised. Phases of RAD: Dr. Jonti Deuri, ADBU, Azara
  • 88. RAD: (Rapid Application Development) The following pointers describe the typical scenarios where RAD can be used − • When a system can be modularized to be delivered in an incremental manner. • If there is a high availability of designers for Modelling. • If the budget permits use of automated code generating tools. • If domain experts are available with relevant business knowledge. • Where the requirements change during the project and working prototypes RAD Model - Application Dr. Jonti Deuri, ADBU, Azara
  • 89. RAD: (Rapid Application Development) • Changing requirements can be accommodated. • Progress can be measured. • Iteration time can be short with use of powerful RAD tools. • Productivity with fewer people in a short time. • Reduced development time. • Increases reusability of components. • Quick initial reviews occur. • Encourages customer feedback. • Integration from very beginning solves a lot of integration issues. The advantages of the RAD Model are as follows − Dr. Jonti Deuri, ADBU, Azara
  • 90. RAD: (Rapid Application Development) • Dependency on technically strong team members for identifying business requirements. • Only system that can be modularized can be built using RAD. • Requires highly skilled developers/designers. • High dependency on Modelling skills. • Inapplicable to cheaper projects as cost of Modelling and automated code generation is very high. • Management complexity is more. • Suitable for systems that are component based and scalable. • Requires user involvement throughout the life cycle. The disadvantages of the RAD Model are as follows − Dr. Jonti Deuri, ADBU, Azara
  • 91. V-Model • V-Model also referred to as the Verification and Validation Model. • In this, each phase of SDLC must complete before the next phase starts. • It follows a sequential design process same as the waterfall model. • Testing of the device is planned in parallel with a corresponding stage of development. Dr. Jonti Deuri, ADBU, Azara
  • 93. V-Model • V-Model contains Verification phases on one side of the Validation phases on the other side. • Verification and Validation process is joined by coding phase in V-shape. • Thus it is known as V-Model. Verification: • It involves a static analysis method (review) done without executing code. • It is the process of evaluation of the product development process to find whether specified requirements meet. Validation: • It involves dynamic analysis method (functional, non-functional), • testing is done by executing code. • Validation is the process to classify the software after the completion of the development process to determine whether the software meets the customer expectations and requirements. Dr. Jonti Deuri, ADBU, Azara
  • 94. V-Model • This is the first step where product requirements understood from the customer's side. • This phase contains detailed communication to understand customer's expectations and exact requirements. • In this stage system engineers analyze and interpret the business of the proposed system by studying the user requirements document. There are the various phases of Verification Phase of V-model: Dr. Jonti Deuri, ADBU, Azara
  • 95. V-Model • The baseline in selecting the architecture is that it should understand all which typically consists of the list of modules • brief functionality of -  each module, their interface relationships, dependencies,  database tables,  architecture diagrams,  technology detail, etc. • The integration testing model is carried out in a particular phase. There are the various phases of Verification Phase of V-model: Dr. Jonti Deuri, ADBU, Azara
  • 96. V-Model • In the module design phase, the system breaks down into small modules. • The detailed design of the modules is specified, which is known as Low- Level Design • After designing, the coding phase is started. • Based on the requirements, a suitable programming language is decided. • There are some guidelines and standards for coding. • Before checking in the repository, the final build is optimized for better performance, and the code goes through many code reviews to check the performance There are the various phases of Verification Phase of V-model: Dr. Jonti Deuri, ADBU, Azara
  • 97. V-Model • In the V-Model, Unit Test Plans (UTPs) are developed during the module design phase. • These UTPs are executed to eliminate errors at code level or unit level. • A unit is the smallest entity which can independently exist, e.g., a program module. • Unit testing verifies that the smallest entity can function correctly when isolated from the rest of the codes/ units. There are the various phases of Validation Phase of V-model: Dr. Jonti Deuri, ADBU, Azara
  • 98. V-Model • Integration Test Plans are developed during the Architectural Design Phase. • These tests verify that groups created and tested independently can coexist and communicate among themselves. • System Tests Plans are developed during System Design Phase. • Unlike Unit and Integration Test Plans, System Tests Plans are composed by the client’s business team. • System Test ensures that expectations from an application developer are met. There are the various phases of Validation Phase of V-model: Dr. Jonti Deuri, ADBU, Azara
  • 99. V-Model • Acceptance testing is related to the business requirement analysis part. • It includes testing the software product in user atmosphere. • Acceptance tests reveal the compatibility problems with the different systems, which is available within the user atmosphere. • It conjointly discovers the non-functional problems like load and performance defects within the real user atmosphere. There are the various phases of Validation Phase of V-model: Dr. Jonti Deuri, ADBU, Azara
  • 100. THANK YOU Dr. Jonti Deuri, ADBU, Azara