0% found this document useful (0 votes)
24 views136 pages

Software Development Process Overview

The document outlines the software development process, detailing the characteristics of software and how it differs from hardware. It categorizes software into various types, including system software, application software, and embedded software, while also discussing software engineering principles, objectives, and challenges. Additionally, it describes the software process framework, including activities like communication, planning, modeling, construction, and deployment, along with different process models such as the waterfall model.

Uploaded by

yp5083362
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views136 pages

Software Development Process Overview

The document outlines the software development process, detailing the characteristics of software and how it differs from hardware. It categorizes software into various types, including system software, application software, and embedded software, while also discussing software engineering principles, objectives, and challenges. Additionally, it describes the software process framework, including activities like communication, planning, modeling, construction, and deployment, along with different process models such as the waterfall model.

Uploaded by

yp5083362
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Unit 1

Software Development Process


Total Marks=12

10/15/2025 [Link] 1
Software
• Software is a set of instructions to obtain inputs and to process them
to produce the desired output in terms of functions and performance
as determined by the user of the software.
• lt is developed to handle an Input-Process-Output system to achieve
predetermined

10/15/2025 [Link] 2
Characteristics of software &
how it differs from hardware
software hardware
• It is developed or engineered. • It is manufactured.
• It doesn't wear out as it is not • It wears out as the time passes
prone to It wears out as the time due to the affects of dust,
passes due to the affects such vibration, temperature
environmental problems extremes and many
• There are no software spare environmental problems.
parts which can be used to • When hardware fails, it can be
replace the software replaced by spare parts.

10/15/2025 [Link] 3
software hardware
• Software is untouchable. It is • Hardware is physical device
code something that you are able to
• Software is invaluable as it can touch.
be installed in any hardware • Hardware has no value without
• Example: Microsoft, software in it.
window ,internet browsers, • Example: disks, disk drive,
video games. display screen, keyboard, printer

10/15/2025 [Link] 4
Types of software.

10/15/2025 [Link] 5
[Link] software

• It directly interacts with computer hardware. It is generic software.


• System software is classified into three categories:
 Operating system
 System support software
 System development software

10/15/2025 [Link] 6
• Operating system: Operating system acts as an interface between
user and the hardware, and provides different services to users.
• Examples: DOS, Windows-XP, LINUX etc.
• System support software: System support software manages
hardware more efficiently.
• Examples: Drivers of the IO devices or Antivirus software.
• System development software : System development software
supports programming development environment to user.
• Examples: Editor, Pre-Processors, Compiler, Interpreter, Loader etc.

10/15/2025 [Link] 7
[Link] software
• Application software is only designed to solve user problems as per
user's requirement.
• Application software can generic or customized.
• Application software is classified into two categories:
• Classification of Application software
(1) General purpose software
(2) Special purpose software

10/15/2025 [Link] 8
• General purpose software: It used for much number of tasks, and
provides many features. It is generic software.
• Examples: Word Processor, Oracle, Excel etc.

• Special purpose software: It designed for specific purposes only. User


programs come under special purpose software. It is customized
software.
• Examples: Pay Roll system for specific company, Tax Calculation
Software etc.

10/15/2025 [Link] 9
[Link]/Scientific
software
• This type of software deals with processing requirements in specific
applications. These are specially used for drawing, drafting, modelling,
load calculations and analyzing of engineering and statistical data for
interpretation and decision making.
• Examples: CAD, CAM, CAE software's. Computer-Aided Design (CAD)
software, Computer-Aided Manufacturing (CAM) software and
Computer-Aided Engineering (CAE) software is used in mechanical,
electrical or electronic design; simulation, drafting, and engineering;
and analysis and manufacturing

10/15/2025 [Link] 10
4. Embedded software
• This type of software is embedded into hardware as a part of larger
systems to control its various functions. This type of software is
embedded in Read-Only-Memory(ROM) of the systems/products.
• Examples: Keypad control software embedded in a microwave oven or
washing machine where there is a need to input, identify the status,
decide and take action. These are also called as Intelligent Software.

10/15/2025 [Link] 11
[Link]-line software
• A product line software is a set of software products that share
common features but are each different in some way e.g. they may be
developed for specific customers or markets (e.g. inventory contro
products), or, for embedded software (word processors,
spreadsheets, computer graphics personal and business financial
applications).

10/15/2025 [Link] 12
[Link] applications
• A web application is accessed via web browser over a network such as the Internet
or an intranet. It is coded in browser-supported languages such as HTML, JavaScript,
JSP ASP, PHP.
• The first-generation web applications allowed the business to post information
publicly. Thus, this information is seen to anyone with a Web browser and Internet
access. The problem with the first-generation web application is that the
information is static.
• The second-generation web applications allowed the users to do interactive queries
against existing databases from the Web application. "Web 2.0" refers to the second
generation of web development and web design. It allows communication,
information sharing, interoperability, user-centered design and collaboration on
www.
• Third-generation web application is a powerful business tool for organizations in
their Electronic Commerce (EC) efforts.
10/15/2025 [Link] 13
7. Artificial Intelligence
Software
• This software makes use of non numerical algorithms which use data
generated in the system to solve complex problems that are not
amenable to problem solving procedures and require specific analysis
and interpretation of the problem to solve it.
• Examples: Robotics, expert systems, artificial

10/15/2025 [Link] 14
Software Engineering
• Software Engineering is a systematic, scientific and disciplined
approach towards the development, functioning and maintenance of
the software.
• As described in the above definition, the systematic and scientific
approach in software engineering can be defined as:
1. Understanding of customer requirements both by customer and
developer.
2. Use of structured methodology t gather customer requirements and
its analysis to arrive at the Software Requirements
Specification(SRS).
10/15/2025 [Link] 15
3. Right estimation of resource, efforts and costs.
4. Use of developmental and testing methodology to ensure the quality
of software.
5. Ease of installation , demonstration and implementation of software
by the customer and users.

10/15/2025 [Link] 16
• Primary goal of software engineering is to provide quality software at
low cost on planned delivery date.
• Software engineering involves various phases such as project
planning, systematic analysis and design, testing and maintenance,

10/15/2025 [Link] 17
Objectives of Software
Engineering
• Define software development plan.
• Manage software development activities
• Design the proposed product
• Code/develop the product. Test the product modules.
• Integrate the modules and test the system as a whole.
• Maintain the product.

10/15/2025 [Link] 18
Key Challenges Of Software
Egineering
1. Heterogeneity: to use the development techniques that can cope
with diverse platforms and execution environment.
2. Delivery : to use development techniques that lead to faster
software delivery,
3. Trust : o use development techniques hat can build trust in users‘
opinion.

10/15/2025 [Link] 19
Software Engineering: A
Layered approach

10/15/2025 [Link] 20
1. A quality focus
• It defines the continuous process improvement principles of
software.
• It provides integrity that means providing security to the software so
that data can be accessed by only an authorized person, no outsider
can access the data. It also focuses on maintainability and usability.

10/15/2025 [Link] 21
2. Software Process
• When building a product, it's important to go through some predictable steps
i.e. called process that helps you to create a timely and high quality product.
• A process is the foundation of software engineering. It defines a framework
that must be established to ensure effective delivery of Software Engineering
technology.
The key use of a process is:
• Producing models, documents, data, forms and reports.
• Establishing milestones
• Software Quality Assurance (SQA).
• Software Configuration (Change) Management (SCM).

10/15/2025 [Link] 22
3. Software Engineering
Methods
• Method is an ordered way of developing a software.
• This includes the suggestions for the process to be followed, the notations to be
used, the rules governing the system descriptions and the design guidelines
• It provides the technical "how to's for building a software. It includes how to
implement the following generic processes:
 Communication
 Requirements Analysis
 Design
 Program Construction
 Testing
 Maintenance
 Methods are organized ways of producing software.
10/15/2025 [Link] 23
4. Case Tools

• They provide automated or semi-automated support for the process


and the methods. For example; CASE tool.
• Examples of Case Tools are: Code generation case tools - Visual
[Link] ,Code analysis case tools -Borland Audits

10/15/2025 [Link] 24
Software development
framework.
• A software development framework provides a standard way to build
and deploy applications.
• it is a universal, reusable software environment that provides
particular functionality as part of a larger software platform so as to
facilitate development of software applications, products and
solutions.
• Once the development team learns the framework, the future
projects can be developed comparatively faster and easier.
• The framework allows us to make a one-size-fits-all solution set, and
with familiarity, code production should logically rise.
10/15/2025 [Link] 25
Software Process Framework
• Software process framework includes all set of umbrella activities and
number of framework activities and number of framework activities
which are a must for any software engineering process

10/15/2025 [Link] 26
10/15/2025 [Link] 27
FRAMEWORK ACTIVITIES
• Communication
• Planning
• Modelling
• Construction
• Deployment

10/15/2025 [Link] 28
Communication
• The main objective of communication is requirement gathering.
• This activity establishes sufficient interaction or collaboration between the developer
and the customer for gathering the requirements and knowing the expectations of the
customer.
• Example :
• We can explain the work task regarding he communication activity of a simple project
as listed below :
1. Making the list of the end-users, software engineers and support people for the
project.
2. Inviting all of them for an informal meeting.
3. Ask each end-user to make a list of features and functions required.
4. Discuss these requirements and prepare a final list.
5. Arrange the requirements according to their priority.
6. Note the areas of uncertainty.
10/15/2025 [Link] 29
Planning
• This activity defines the software development process to be
conducted.
• It describes all the needed technical tasks, possible risks, the
resources that are required, the work product to be produced and the
schedule to workout the whole process.
• This activity plans the work, identifies the resources, tasks and sets
the schedule.

10/15/2025 [Link] 30
Modelling
• This activity creates a model (blueprint) which clearly describes the
software requirements and the design that will achieve these
requirements.
• This is helpful to both customer and the developer respectively, to
understand what he wants from the software and how he can
develop it.
• Modelling is composed of two main activities- analysis (requirements
gathering, elaboration, negotiation, specification and validation) and
design (data design, interface design and each module level design).

10/15/2025 [Link] 31
Construction
• This activity includes code generation either manually or using
automated tools and then testing the code to correct the errors if any.

10/15/2025 [Link] 32
Deployment

• The software (as a complete product or in a partial stage) is delivered


to the customer who then checks the product and provides feedback
on evaluation.
• The framework activities are applied on every project but the degree
of tasks depend on the:-
1. Type of the project
2. Characteristics of the project
3. Agreement of the project team on common views.

10/15/2025 [Link] 33
Process Iteration Activities
The above framework activities occur in an organized pattern with respect
to sequence and time. This work flow pattern of the activities is termed as
Process Flow.
1. Linear Process Flow: Executes the five framework starting with activities
in a sequence 'communication' and ending with 'deployment'.
2. Iterative Process Flow: Repeats one or more of the five framework
activities before proceeding to the next
3. Evolutionary Process Flow: Executes the five framework activities in a
'circular/cyclic' manner.
4. Parallel Process Flow: . At a time, executes one or more activities i.e.
one or more of the five framework activities are executed in parallel
with the other. Say, modelling of one module is executed parallel to the
construction of another [Link]
10/15/2025 34
10/15/2025 [Link] 35
10/15/2025 [Link] 36
Parallel process flow

10/15/2025 [Link] 37
Umbrella Activities
1. Software project tracking and control
2. Risk management
3. Software quality assurance
4. Formal technical review
5. measurement

10/15/2025 [Link] 38
Software process model
• A software process model identifies a set of activities that are
applicable to the development of any software project, regardless of
their size or complexity.
• A software process model is a collection of work activities, actions
and tasks that are to be performed when some software project is to
be developed.
• A well-managed process will produce high quality products on time
within budget.

10/15/2025 [Link] 39
Prescriptive process mode
1. Waterfall model
2. Incremental model
3. RAD model
4. Evolutionary process model
5. Prototyping and spiral model
6. Concurrent development model

10/15/2025 [Link] 40
• Prescriptive models define a discrete set of activities and actions to
accomplish all tasks of the software with milestones, which is used to
develop the software.
• These process models are not static and they should be adapted
based on the people, problem and project.

10/15/2025 [Link] 41
This model is important because

• It provides stability.
• It describes a unique set of framework activities and organizes them into
a process flow.
• These actions are used to create work product to accomplish to meet
development goal.
• It finds out the nature of project, whether is suitable for the people using
it, whether it is suitable for the environment, where is it implemented.
• It prescribes a set of process elements, framework activities, software
engineering actions tasks, work products quality assurance, change
control mechanism of each project.
10/15/2025 [Link] 42
Waterfall model
• This model was proposed by the Winston Royce.
• It is also called as a classic life cycle.
• It suggests systematic sequential approach for software
development.
• It is oldest paradigm for software engineering.
• It begins with software requirement and customer specification and
progress through planning and testing.

10/15/2025 [Link] 43
10/15/2025 [Link] 44
[Link] investigation
• Preliminary investigation means total inspection of the existing
system i.e. clear understanding of the system.
• Its basic task is to find out real problem of the system with causes and
complexity of the problem.
• Its secondary but very important task is to find out all possible
solutions to solve that problem and according to that which solution
is feasible for the system in terms of technology, cost, operational.
• Its last task is to mention all benefits can be expected after problem is
solved.

10/15/2025 [Link] 45
So this phase is divided into three main goals as follows:
• 1. Problem identification
• 2. Possible and feasible problem solution i.e. Feasibility study.
• 3. Expected benefits after the problems are solved.

10/15/2025 [Link] 46
[Link] analysis
• This phase of the waterfall model is nothing but complete understanding of all
important facts of the business using preliminary investigation.
• It involves following steps:
1. It is nothing but study of all components of the system as well as inter relation
between all components of the system and relation between components and
environment.
2. It determines what is to be done in the organization.
3. It finds the procedures of how to do that.
4. Which is input data ?
5. What is the procedure through which inputs are to be converted into output?
6. When transaction should occur on the data.
7. When problem arises, determine the solutions to solve it and what are the
reasons of those problems.
10/15/2025 [Link] 47
[Link] Design
• The main objective of this phase of waterfall model is to design
proposed system using all information collected from preliminary
investigation and directed by the system analyst.
• This is very challenging phase
• It includes following steps:
1. Design of all types of inputs of proposed system.
2. Design of all types of outputs of proposed system.
3. Design of the procedures which convert input to output.
4. Design of the flow of information.
5. Design of the information which is required to store within a files
and data bases volumes.
10/15/2025 [Link] 48
4:Coding
• This phase is just implementing the design in to programming language
that means it actually develops the proposed system.
• It involves the following steps:
1. It first of all, finds out the best suitable programming language that is
suitable for the design as well as also suitable in the organization.
2. It accepts design and break system modules into smaller programs.
3. It develops or writes program for each part in selected programming
language.
4. Prepares documentation that means add necessary comment lines
wherever necessary within a program.
5. Now it combines all small programs together and builds one big program.
10/15/2025 [Link] 49
• 6. If any problem occurs during the coding phase then waterfall model
tries to solve it by repeating system design phase:
a. If that problem does not get solved then waterfall model repeats
system analysis phase and system design phase.
b. If that problem does not get solved then waterfall model repeats
from first phase preliminary phase through system analysis phase and
system design phase.
• 7. If coding phase produces all expected result then it goes to next
phase,

10/15/2025 [Link] 50
[Link] Testing
• This phase includes the testing of the code or programs developed by
the coding phase.
• This includes following steps:
1. First of all, it finds out all possible expected results (i.e. output data) for
the set of input data.
2. It also checks the validity of the input data as well as checks expected
output data.
3. It finds out all wrong results and immediately tries to correct it by
repeating coding phase.
4. It finds the speed of functions using special codes.
10/15/2025 [Link] 51
5. It determines whether each program can perform the intended tasks or not?
6. It checks result by test data.
7. It checks the logic of the individual programs.
8. It checks interfaces between various programs.
9. It checks quality of code in terms of speed and space.
10 It checks whether system has produced correct and desired results which
lead to designated goals.
11. If testing does not produce expected result then waterfall model tries to
solve it by repeating system design phase and coding.
a. If that problem does not get solved then waterfall model repeats system
analysis phase through system design phase and coding.
b. If that problem does not get solved then waterfall model repeats from first
phase i.e. preliminary phase through system analysis phase, system design
phase and coding.
12. If testing phase produces all expected
10/15/2025
results then it goes to next phase. 52
[Link]
[Link] Implementation
• System Implementation is not creative process but it is somewhat
difficult task.
• This phase has two parts –
1. implementation
2. evaluation of the system.

10/15/2025 [Link] 53
Implementation
• There are two ways of implementation.
• Those are as follows:
1. Implement proposed system with existing old system and find out
performance of the both systems and slowly replace new system with
older one.
2. Totally replace old system with proposed new system.

10/15/2025 [Link] 54
Evaluation
• Evaluation is nothing but feedback for the system.
• It is very essential check point of the system which is the process of
verifying the capability of a system.
• It continuously evaluates and checks whether proposed system is
meeting the objectives or not.

10/15/2025 [Link] 55
[Link] Maintenance
• Maintenance is the process, in which it finds out essential changes
(i.e. new trends) of the market or business or to correct some errors
and tries to implement it in the existing system.
• There are usually three types of maintenance
1. Correction
2. Adaptation
3. enhancement

10/15/2025 [Link] 56
Advantages of waterfall model
1. It defines very first software development process.
2. The product of waterfall model always defines all constraints of the
organization.
3. It always produces a good quality product in terms of space and
time.

10/15/2025 [Link] 57
Disadvantages of Waterfall
Model
1. Real products rarely follow this sequential flow.
2. Because of iteration, changes can cause confusion as the project team
proceeds.
3. It is very difficult for customer to state all the requirements in one time.
4. Many projects face this uncertainty at beginning only, so it is very difficult to
design next phases.
5. Time span required for each phase could not be specified.
6. Naturally project requires more time.
7. Project becomes lengthy also.
8. Customer should have patience.
10/15/2025 [Link] 58
Incremental Process Models
Method
• As soon as customer comes to software engineer and gives requisition
of new project to software engineer he starts to collect information
from user to start preliminary investigation.
• He immediately increments towards second phase and third phase
and starts to analyse and design the system.
• He starts to convert design into coding i.e. as time or calendar grows,
some functions of software are also progressed towards completion.

10/15/2025 [Link] 59
• When testing of first requirement goes towards completion stage,
customer comes with second requirement. Immediately he starts to
collect all essential information for second increment i.e. preliminary
investigation of the second requirement in parallel.
• He starts implementing first requirement i.e. module 1 as well as
starts designing the second requirement i.e. module 2.
• Maintenance phase of first module is continuing then simultaneously
coding of second module is starting as well as customer may ask for
third requirement and he increments for the third incremental model.

10/15/2025 [Link] 60
10/15/2025 [Link] 61
Method used in Incremental
Model
• Generally in incremental model, the first increment is a core product
which includes maximum basic requirements.
• Second increments and third increments include all supplementary
features (known and unknown features) which increase additional
features with more functionality in a product.
• This process is repeated till the completion of the final product.

10/15/2025 [Link] 62
Advantages of Incremental
Model
1. Preliminary investigation time is very small or reduced.
2. It requires very less time as compare to waterfall model.
3. It requires less number of staff to develop the system.
4. Customer is satisfied because of quick development of the new
system.
5. If system has many increments its functionality also increases; thus,
the product has many features.

10/15/2025 [Link] 63
Disadvantages of incremental
model
1. All the tasks are not decided in first phase so there may be some problem with
designing phase. That means, overall design of the system is not so good.
2. It may produce software, which requires large space in memory.
3. Sometimes, speed of software is also slow.
4. Delivery date of the product could not be decided.
5. New levels of increments may require new hardware because old hardware is
involved with old increments.
6. Sometimes, it produces same code in different module because of partial
functionality.
7. Sometimes, problem is not identified properly.
8. Quality of software or product is poor
10/15/2025 [Link] 64
RAD Model
• RAD is Rapid Application Development.
• It is high speed adaptation of waterfall model. It is the example of
incremental software process model.
• The main disadvantage of incremental model is -the quality of
product is very poor as well as it also requires more time to develop.
So this model is only designed to produce a good quality product in
very short duration of time.

10/15/2025 [Link] 65
Method of RAD Model
1. It also adapts generic framework activities like waterfall model that
means five phases.
2. This allots sufficient time for study of the existing system.
3. It accepts sufficient number of staff for development of the system.
4. Staff is distributed into various teams (i.e. senior programmer junior
programmer, team leader, project leader etc).

10/15/2025 [Link] 66
RAD Model

10/15/2025 [Link] 67
1. Communication phase is used to understand business problem as well
as it tries to identify all type of problems and gather all type of
information.
2. Planning is essential because it divides work into manageable
different parts and distributed among the various teams.
3. Modeling will be accomplished by different teams simultaneously. It
includes three different phases: Business modeling, Data modeling and
process modeling.
4. construction phase, each team develops the code of our product as
well as performs testing. It reuses old software components and
develops new functions which are called as automatic code generation.
5. Deployment collects each code from different team and clubs them
into single project implement it and if required then perform iteration
among the previous phases.
10/15/2025 [Link] 68
Advantages of RAD model
1. It requires very less time to develop the product.
2. Planning and Design is performed before construction so it is not
lengthy.
3. Product may be produced before its delivery date.

10/15/2025 [Link] 69
Disadvantages of RAD model

1. Large projects require sufficient or more human resources.


2. If developers and customers do not interact with each other then
whole project may elapse.
3. If system is to be modularized properly then RAD is problematic.
4. If high performance is the Issue then RAD does not work.
5. It also doesn't work in high technical risk.

10/15/2025 [Link] 70
Evolutionary Process Models
• Prototyping model
• Spiral model

10/15/2025 [Link] 71
Evolutionary Process Models
The main drawbacks of Incremental process model are:
1. Overall design of the system is not so good.
2. It occupies large space in memory.
3. Sometime speed of software is also slow.
4. Delivery date of the product is not decide
5. Sometimes, problem is not identified properly
6. Quality of software or product is poor.
7. Lack of interaction between developers and customers.
8. Poor modularization.
9. Doesn't produce high performance.
10. It is also not work in high technical risk.
11. Not suitable for complex product
10/15/2025 [Link] 72
• These drawbacks are overcome in evolutionary process model.
• Main objectives of Evolutionary Process Model are:
1. It should be suitable for complex system.
2. As time grows business also changes and product requirement may
change during its development or construction phase.
3. It makes straight line path between customer requirement, business
requirement and unrealistic product.
4. Evolutionary products should be iterative.

10/15/2025 [Link] 73
Prototyping Model
• This is the method or model of evolutionary process model.
• When customer tells his requirements, he is not aware about the
development process, detailed input processing and also developer
may be unsure of efficiency of the algorithm and adaptability of
operating system, then prototype is the first step which is a best
approach. This is explained in Fig

10/15/2025 [Link] 74
10/15/2025 [Link] 75
Methods of Prototyping Model
1. It begins with requirement gathering phase.
• Here customer and software engineer meet and define the overall
objective of the product. It includes
• Problem identification.
• Requirement analysis.
• Outline areas where further definition is mandatory.
• According to overall objective of the product, software engineer
makes planning of the design quickly.

10/15/2025 [Link] 76
2. Quick design focuses on the representation of human interface i.e. those
aspects that are visible to the end user and customer.
It uses different tools for design. Then, the analysts estimate prototyping
cost and inform about it to the management.

3. Building prototype: Depending upon the quick design, construction of


prototype is done that includes the software programs having the following
capabilities:
• Accept input
• Validate data
• Perform calculations
• Interact with files
• Produce outputs
• Application generators
10/15/2025 [Link] 77
• [Link] evaluation : The built prototype is then evaluated by the
customers or end-users to find if any changes are required. If so, then
the requirements of the proposed software are refined.
• 5. Refining prototype: The prototype is again refined based upon the
feedback of the end-users about what they need and what they don't
expect. This process is repeated till both the end users and the
developers feel that all the requirements are fulfilled in the software
and thus there is no need of refinement
• 6. Engineered prototype: This completed product is then given to the
customer as per the specification.

10/15/2025 [Link] 78
Advantages of Prototyping
Model
• It is simple and an iterative process.
• It is revised to satisfy the needs of the customer.
• It does not require more cost to build.
• It can be prepared using pencil and paper, or computer software like screen generators,
report generators and application generators.
• It saves time of development.
• It develops the product through ongoing communication with the user.
• So easily finds user friendly services and non user friendly services.
• Readymade tools are used, to development of code.
• Product is to be delivered within proper time.
• It provides training to user
• .Prototypes are also used for testing.
10/15/2025 [Link] 79
Disadvantages of Prototyping
Model
1. It does not contain all features or perform all the necessary
functions of the final system.
2. Customer/user evaluates the module/prototype and they suggest
addition and modifications so it may become lengthy.
3. So may produce poor level quality product.
4. Developer may compromise with operating system.
5. It is not [Link] is not finding the risk of the project.

10/15/2025 [Link] 80
The Spiral Model
• The Spiral model is also an evolutionary software process model that
couples the iterative nature of prototyping. It is proposed by Boehm.
The main objectives of spiral model are:
• It provides controlled and systematic aspects of the linear sequential
model.
• It uses potential of rapid development of incremental versions of the
software.
• It finds all risks in the project.
• It finds future risks also. It is explained in Fig. 1.7.2

10/15/2025 [Link] 81
10/15/2025 [Link] 82
Method of the Spiral Model

• Requirement gathering includes:


1. Interaction with customer and user.
2. Problem identification regarding existing system.
3. Deciding product specification
4. Deciding objectives of the system

10/15/2025 [Link] 83
• Planning decides the project plan.
• It includes:
1. Cost measurement of the system.
2. Deciding schedule of the system.
3. Collecting feedback from the user.
4. Adjusted and planned number of iterations required to complete
software.

10/15/2025 [Link] 84
• Risk analysis task is involved in each of the iterations of the project.
• It includes:
1. Identification of risk areas.
2. Identification of technical managerial risks. as well as
3. Measuring cost related risk.
4. Efforts are taken to resolve the risk.

10/15/2025 [Link] 85
• Engineering phase immediately designs the prototype of the
proposed system depending upon the objectives decided in the
planning phase. It also converts design into coding and does the
needful testing.
• It then shifts to deployment phase which includes:
1. Implementing the developed system
2. Gives training to users
3. Do the Verification
4. Collect feedback

10/15/2025 [Link] 86
• Customer Evaluation : The product is then evaluated by the customers
or end-users to find if any changes are required. If so, then the above
phases are repeated again in loops.

10/15/2025 [Link] 87
Advantages of the Spiral Model

1. It develops large scale systems and software.


2. Better understanding of developers and customers.
3. It performs risk analysis from the point of view of technical aspects
as well as managerial aspects.
4. It follows systematic and stepwise approach of SDLC.
5. Wherever needed, it uses prototyping approach during
development.

10/15/2025 [Link] 88
Disadvantages of the Spiral
Model
1. It is not suitable for fixed budget development.
2. It is not panacea
3. It demands for expertise for risk assessment.
4. If major risk is not covered then problem is never solved.

10/15/2025 [Link] 89
1.7. Agile Process Model:
1. Extreme Programming,
2. Adaptive Software Development (ASD)
3. Scrum
4. Dynamic System Development Method (DSDM)
5. CRYSTAL.
6. Agile Unified Process (AUP)

10/15/2025 [Link] 90
Agility
• Agility is the unending process, which always accepts specific
requirement of the product from the customers or end user then it
checks whether the requirements are growth oriented or not ? If it is
growth oriented then it aggressively changes the existing system.

10/15/2025 [Link] 91
Principles:
1. Customer satisfaction by continuous delivery of the software.
2. Always accept changes in requirement though it is late in development.
3. Deliver working software frequently in shorter time span.
4. Business people and developers must work together during complete
development of the project.
5. Develop the project from the software project team.
It includes:
• Motivate each individual of the project.
• Provide the necessary resources and environment to build the project.
• Trust them to get the job done.
10/15/2025 [Link] 92
6. Do the face to face conversation, if essential or urgent.
7. Primary measure of the progress is the working software.
8. Agile process promotes sustainable development. (That means
somebody from agile team doing a good task to helpful for
development should get promotions).
9. Keeps Continues track to technical excellence and best design
increases agility.
10. It collects information about amount of work not done and tries to
find out reasons of that.
11. Agile team collects requirement, and fulfil them using best
architectures.

10/15/2025 [Link] 93
When to use the Agile Model?

1. When frequent changes are required.


2. When a highly qualified and experienced team is available.
3. When a customer is ready to have a meeting with a software team
all the time.
4. When project size is small.

10/15/2025 [Link] 94
Objective
1. Frequent delivery of the completed features for pilot.
2. Reflective improvement: fix what is not working and keep
improving the quality of the product.
3. Osmotic communication: Entire team is co-located and has the
option of participating or ignoring.

10/15/2025 [Link] 95
Agile Process Models:

• The main objective of agile process model is to provide best quality software in allotted time
span.
• It follows conventional approach.
• It follows philosophy and guidelines suggested in manifesto for agile software development.
• There are many Agile Process models that are:
1. XP
2. ASD
3. DSDM
4. Scrum
5. Crystal
6. FDD
7. AM.
10/15/2025 [Link] 96
Extreme programming
• Extreme programming is most widely used Agile development model;
it is also called as XP.
• It was popular in late 1980's. Idea of this extended programming is
developed by the Kent Beck, Jeffries, Beck and Fowler. Extended
programming is associated with ideas and methods.
• Extended programming (XP) uses all techniques of object oriented
paradigm during the development process.
• XP follows basic framework activities which consist of planning,
designing, coding and [Link] activity consists of set of rules and
regulation

10/15/2025 [Link] 97
• This type of methodology is used when customers are constantly
changing demands or requirements, or when they are not sure about
the system's performance.
• Extreme Programming (XP) is a methodology that emphasizes
teamwork, communication, and feedback. It focuses on constant
development and customer satisfaction.
• The extreme Programming technique is very supportive in a situation of
constant and varying demands from the customers.
• It motivates the developers to accept changes in the customers
demands, even if they pop up in an advanced phase of the development
process. In Extreme Programming, the project is tested from the initial
stages by collecting feedback that progresses the output of the system.
This also presents a spot check to implement easily any customer
requirements
10/15/2025 [Link] 98
Basic XP process model

10/15/2025 [Link] 99
Applications of XP
• Planning game
• Small releases
• Customer acceptance tests
• Simple design
• Pair-driving programming
• Test driving development
• Refactoring the program / code
• Continuous progressive integration
• Collective code ownership
• Use of coding standards
• Metaphor for modelling
• Maintaining sustainable pace of development
10/15/2025 [Link] 100
Terminologies used in XP
• Incremental planning
• Small releases
• Simple design
• Test first development
• Refactoring
• Pair programming
• Collective ownership
• Continuous integration
• Sustainable pace
• On-site customer
10/15/2025 [Link] 101
Adaptive Software Development
(ASD)
• It is proposed by Jim Highsmith.
• This technique is used to build complex software.
• ASD focuses on human collaboration and team self organization.
• Adaptive software development consists of three phases -
Speculation, Collaboration and Learning.

10/15/2025 [Link] 102


10/15/2025 [Link] 103
1. Speculation
• This phase initiates the project and conducts adaptive cycle planning
that includes information related to project initiation such as
customer's mission statement
Project constraints - e.g. release date
Basic requirements e.g. version and release cycles, software
increments.

10/15/2025 [Link] 104


[Link]:
• People work together and motivate each other to enhance their talent
and yield the output beyond their expectations.
• It is not simply communication or team work t actually means that the
people working together must trust each other that means:
Criticize without animosity.
Assist without resentment.
Work as harder and harder as they do;
Have the skill set to contribute the work at hand.
Communicates problems or concerns in a way that leads to effective
action.
10/15/2025 [Link] 105
3. Learning
• The software developer should learn the following things:
• Understanding the technology Working and handling of latest
technologies.
• Understanding the process Understand all requirements of the
project, plan and schedule the process.
• Understanding the project-How project is useful, where it is useful,
business view of the project.

10/15/2025 [Link] 106


Feature Driven Development
(FDD)
1. Domain Object modelling to understand the domain.
2. Developing by feature.
3. Class "ownership".
4. Feature teams.
5. Inspection.
6. Regular builds.
7. Configuration management.8. Visibility of reports (tracking and
reporting).

10/15/2025 [Link] 107


Dynamic System Development
Method (DSDM)
• DSDM is also called as a fitness for business purpose as it supports
incremental process model, prototyping as well as rapid software
development approach.
• It follows tight time constraints. It checks whether there is enough
work for new increment or not if so, then only it starts new increment
otherwise not.

10/15/2025 [Link] 108


Key principles of DSDM

• Business Needs/Value.
• Active User Involvement.
• Empowered Terms.
• Frequent Delivery.
• Integrated Testing.
• Stake Holder Collaboration.

10/15/2025 [Link] 109


DSDM life cycle

10/15/2025 [Link] 110


scrum
• This is agile process model developed by Jeff Sutherland and his team in year
1990. Recently scrum further developed by Schwaber and Beedle.
• Scrum focuses on delivering the highest business value in shortest time.
• It allows us to rapidly (every two weeks to one month) and repeatedly
inspect actual working software.
• The business sets the priorities. Agile teams then determine the best way to
deliver the highest priority features
• Every two weeks to a month anyone can see real working software and
decide whether to release it or continue to enhance for another iteration

10/15/2025 [Link] 111


Characteristics of Scrum

• Self-organizing teams.
• Product progresses in a series of month-long "sprints".
• Requirements are captured as items in a list of "product backlog“
• No specific engineering practices prescribed.
• Uses generative rules to create environment for delivering projects.

10/15/2025 [Link] 112


10/15/2025 [Link] 113
• Scrum team accepts changing requirements, business criticality, and
tight timelines and defines a set of activities. Those are:
• Backlog
• Sprints
• Scrum meetings
• demos

10/15/2025 [Link] 114


• Backlog consists of:
Requirement gathering.
Assigns priorities to each requirement.
Add features in each requirement from the point of view of business.
Customer can add new items or requirements in the backlog at
anytime.
Product manager can assess the backlog and updates priorities.

10/15/2025 [Link] 115


• Sprints consists of:
• Work task defined from the requirement analysis of the backlog.
• It allots some short time to each work unit (typically it is 30 days).
• During Sprints the new backlog changes are frozen.
• It provides stable environment to developer

10/15/2025 [Link] 116


• Scrum Meetings consist of three key questions that are asked and
answered by each team members:
What did the team member do since the last team meeting?
What obstacles is he coming across?
What do you plan to finish till the next team meeting?

• These question are asked by team leaders which is called as scrum


master?
• The scrum meeting helps team to find out solutions of problems
mentioned in work units. Daily scrum meetings increase knowledge
socialization.

10/15/2025 [Link] 117


• Demos: The main objectives of demos are
Deliver software increments to customer.
Accepts feedback from the customers.
Demos may not contain all planned functionality only main
functionality is shown to user.

10/15/2025 [Link] 118


10/15/2025 [Link] 119
Sprints
• Refers to an "iteration" i.e. typically 1-4 weeks long.
• Produces an enhanced version of the software
• All software engineering activities (Code, Unit Test, System,
Regression test) must be completed within the Sprint.
• Should be "near releasable quality
• A "release" or project contains multiple sprints so as to create
significant "value" to the customer.

10/15/2025 [Link] 120


10/15/2025 [Link] 121
Crystal
• Alistair Cockburn and Jim Highsmith have developed the 'Crystal model'
in mid 1990s.
• It is a type of Agile methodology.
• Crystal methodology is based on understandings:
1. Every project needs different set of policies, skills and conventions or
methodology.
2. The project development process resolves the customer issues and in
turn improves the team work.
3. Crystal methodology allows frequent and better deliverables that
reduce the need of intermediate work products.
10/15/2025 [Link] 122
Characteristics
Team size
System criticality
Project priorities

10/15/2025 [Link] 123


Methodology
Team work
Communication
Simplicity
Skills
Improving process

10/15/2025 [Link] 124


Advantages of crystal

Incremental delivery.
High user involvements.
Progress tracking.
Adaptability.
Two use viewings per release.
Removal of destruction.

10/15/2025 [Link] 125


Applications of crystal

• Game invention
• Working product

10/15/2025 [Link] 126


Agile model suggest following
modelling principles:
1. Model with purpose: Before the development of the model agile team collects
all tasks. Choose best suitable model technique according to task.
2. Use multiple models: One project may have a multiple task. Each task may be
developed in different models.
3. Travel light: Software developers keep only those models which give maximum
values during the developments, in terms of features, time span etc.
4. Content is more important than representation: If somebody could not able to
represent but have the capability of development.
5. Know the models and tools you use to create them: Developers should knows
the strengths and weaknesses of each model.
6. Adapt locally: It should adapt all needs of the agile team.
10/15/2025 [Link] 127
Advantages of Agile Model
1. It is a very realistic approach to software development.
2. Promotes teamwork and cross training.
3. Functionality can be developed rapidly and demonstrated.
4. Resource requirements are minimum.
5. Suitable for fixed or changing requirements.
6. Delivers early partial working solutions.
7. Good model for environments that change steadily.
8. Minimal rules, documentation easily employed.
9. Enables concurrent development and delivery within an overall planned
context.
10. Little or no planning required.
11. Easy to manage.
12. Gives flexibility to developers.
10/15/2025 [Link] 128
Disadvantages of Agile Model
• Not suitable for handling complex dependencies
• .More risk of sustainability, maintainability and extensibility.
• Strict delivery management.
• Depends heavily on customer interaction.

10/15/2025 [Link] 129


SR. CRITERIA WATERFALL PROTOTYPE SPIRAL RAD FORMAL
NO METHOD
1 Requirement Requirement are Requirement Requirement are Requirement are Requirement are
of project defined early in are changed changed defined early in changed
SDLC and are frequently and frequently and SDLC and are frequently and
reliable and suitable for suitable for reliable and suitable for
understandable complex system complex system understandable complex system

2 funds Stable stable Not stable Stable Stable

3 Components Not reusable Reusable Reusable Reusable Reusable

4 Project Loose Tight Tight Tight loose


schedule
5 User Requires limited User Requires limited User Requires limited
involvement user participation in user involvement participation in user involvement
involvement all phase all phase

6 Availability of Available Scarcity Scarcity Available Available


resources
10/15/2025 [Link] 130
Comparison between Classic life
cycle and Prototyping model

10/15/2025 [Link] 131


[Link] Classic Life Cycle Model Prototyping Model

1. It is not an iterative process. It is an evolutionary i.e. iterative process model.

2 during development, mostly product extension or During development, product extension may be possible.
addition of new requirements is not encouraged.

3 Testing is not conducted from the initial phases of the Building and refining of product is involved before the
SDLC therefore when errors are detected after the actual engineering process therefore, much cost is not
coding phase it costs a lot for refining the product. involved

4 Included Manual coding. Uses readymade tools such as CASE tools for coding.

5 Communication with the users is done at the start i.e. Develops the product through ongoing communication
while requirement gathering and then while testing with the user.
phasé. No ongoing communication with the users is
encouraged.

10/15/2025 [Link] 132


Comparison between Waterfall
and Spiral Model

10/15/2025 [Link] 133


1. Process flows from top to bottom like a flow of water Best suitable for projects associated with risks.
from a hill to ground. Flow of water can't be reversed
similarly any new changes cannot be incorporated in the
middle of the project development.

2 Process goes to the next phase only after the completion Each and every step goes through testing which
of the previous phase. Here, end user feedback is not makes it easy to recover any error and fix it then and
taken into consideration for any change in SRS. there itself.
This will result in restarting the work from beginning. In this model we don't have to start work from
beginning.

3 Purely a pre planned /strategic in nature. Used to build a product which doesn't have
Adequate requirement gathering.

4 Stresses more on requirement gathering. focuses more on risk analysis which is not much
considered in waterfall model.
5 Customer feedback is not considered at every step of Customer feedback is considered at every step of
project development. project development.

10/15/2025 [Link] 134


Difference between Prescriptive
Model and Agile Model

10/15/2025 [Link] 135


1 Software development process is divided into distinct Software development process is divided into
phases. sprints.

2 This is a sequential design process. This is an incremental approach.


3 is a structured approach so most times it can be quite Is known for its flexibility which allows changes to
rigid. be made in the project development requirements
even if the initial planning has been completed.
4 All the project development phases like designing, Follows an iterative development approach because
development, testing, etc. are completed once in the of this planning, development, prototyping and other
Waterfall model. software development phases may appear more than
once.
5 The method is ideal for projects which have definite The method is ideal for projects in which the
requirements and changes not at all expected. requirements are expected to change and evolve.

6 Team coordination and synchronization is very limited. Has small but dedicated teams with a high degree of
coordination and synchronization.

10/15/2025 [Link] 136

You might also like