Unit 3
Unit 3
• Design and implementation – defining the organization of the system and implementing the
system;
• Validation – checking that it does what the customer wants;
• One of the basic notions of the software development process is SDLC models
which stands for Software Development Life Cycle models.
• There are many development life cycle models that have been developed in
order to achieve different required objectives.
1|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
• The models specify the various stages of the process and the order in which
they are carried out.
The most used, popular and important SDLC models are given below:
• Waterfall model
• V model
• Incremental model
• RAD model
• Agile model
• Iterative model
• Spiral model
• Prototype model
The goal of SDLC is to minimize project risks through forward planning so that software
meets customer expectations during production and beyond.
SDLC, or software development life cycle, is a methodology that defines the entire
procedure of software development step-by-step.
As a result, all stakeholders agree on software development goals and requirements upfront
and also have a plan to achieve those goals.
2|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
How does SDLC work?
The software development lifecycle (SDLC) outlines several tasks required to build a
software application.
The development process goes through several stages as developers add new features
and fix bugs in the software.
The details of the SDLC process vary for different teams. However, we outline some
common SDLC phases below.
1) Planning Phase
The document sets expectations and defines common goals that aid in project planning.
The team estimates costs, creates a schedule, and has a detailed plan to achieve their
goals.
3|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
2) Designing Phase
3) Coding/Implementation Phase
• In the implementation phase, the development team codes the product.
• They analyze the requirements to identify smaller coding tasks they can do
daily to achieve the final result.
4) Testing Phase
• The development team combines automation and manual testing to check the
software for bugs.
• Quality analysis includes testing the software for errors and checking if it
meets customer requirements.
• Because many teams immediately test the code they write, the testing phase
often runs parallel to the development phase.
5) Deploying Phase
• When teams develop software, they code and test on a different copy of the
software than the one that the users have access to.
• The software that customers use is called production, while other copies are
said to be in the build environment, or testing environment.
• Having separate build and production environments ensures that
customers can continue to use the software even while it is being
changed or upgraded.
The deployment phase includes several tasks to move the latest build copy to the
production environment, such as packaging, environment configuration, and installation.
6) Maintenance Phase
• In the maintenance phase, among other tasks, the team fixes bugs, resolves
customer issues, and manages software changes.
• In addition, the team monitors overall system performance, security,
and user experience to identify new ways to improve the existing
software.
4|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
Different models arrange the SDLC phases in varying chronological order to optimize
the development cycle.
The following illustration is a representation of the different phases of the Waterfall Model.
Advantages
Disadvantages
Prototype Model:
• The prototype model requires that before carrying out the development of actual
software, a working prototype of the system should be built.
• A prototype is a toy implementation of the system.
• A prototype usually turns out to be a very crude version of the actual system,
possible exhibiting limited functional capabilities, low reliability, and inefficient
performance as compared to actual software.
• In many instances, the client only has a general view of what is expected from the
software product. In such a scenario where there is an absence of detailed
information regarding the input to the system, the processing needs, and the output
requirement, the prototyping model may be employed.
7|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
8|Page
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
7. It is a time-consuming process.
Spiral Model
Objective Identification:
• This phase starts with gathering the business requirements in the baseline
spiral. In the subsequent spirals as the product matures, identification of system
requirements, subsystem requirements and unit requirements are all done in
this phase.
• This phase also includes understanding the system requirements by
continuous communication between the customer and the system
analyst.
• At the end of the spiral, the product is deployed in the identified market.
Design:
• The Design phase starts with the conceptual design in the baseline spiral and
involves architectural design, logical design of modules, physical product design
and the final design in the subsequent spirals.
Construct or Build
• The Construct phase refers to production of the actual software product at every
spiral. In the baseline spiral, when the product is just thought of and the design is
being developed a POC (Proof of Concept) is developed in this phase to get
customer feedback.
• Then in the subsequent spirals with higher clarity on requirements and design
details a working model of the software called build is produced with a version
number. These builds are sent to the customer for feedback.
10 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
The following illustration is a representation of the Spiral Model, listing the activities in
each phase.
Based on the customer evaluation, the software development process enters the next
iteration and subsequently follows the linear approach to implement the feedback
suggested by the customer. The process of iterations along the spiral continues
throughout the life of the software.
• The spiral model works for development as well as enhancement projects.
Advantages:
Disadvantages:
Incremental Model
In the Incremental model, your team clearly understands the project goals and final
product. The project is in increments or sections that complement each other. Your
team adds one after the other until they get the whole puzzle completed.
•
12 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
1. Requirement analysis: In the first phase of the incremental model, the product
analysis expertise identifies the requirements. And the system functional requirements
are understood
by the requirement analysis team. To develop the software under the incremental
model, this phase performs a crucial role.
2. Design & Development: In this phase of the Incremental model of SDLC, the
design of the system functionality and the development method are finished with
success. When software develops new practicality, the incremental model uses style
and development phase.
3. Testing: In the incremental model, the testing phase checks the performance of
each existing function as well as additional functionality. In the testing phase, the
various methods are used to test the behavior of each task.
o More flexible.
13 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
o The Client gets important functionality early.
Each major functions handle by separate team and then integrated to form a
whole. RAD is design for large project that must be delivered in tight time
frames.
RAD model distributes the analysis, design, build and test phases into a series of short,
iterative development cycles.
14 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
Business Modelling
The business model for the product under development is designed in terms of flow of
information and the distribution of information between various business channels.
The information flow among business functions is defined by answering questions like
Data Modelling
The information gathered in the Business Modelling phase is reviewed and analyzed to
form sets of data objects vital for the business.
• 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.
15 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
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.
Application Generation
Automated tools are used to facilitate construction of the software; even they use the
4th GL techniques.
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.
16 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
Advantages:
Disadvantages:
17 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
19 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
• The benefit of this model is that project managers know each phase is what state
and why.
• Main Point – Maintain information about each phase at the activity level.
Advantages of the concurrent development model
• This model is applicable to all types of software development processes.
• It is easy for understanding and use.
• It gives immediate feedback from testing.
• It provides an accurate picture of the current state of a project.
Disadvantages of the concurrent development model
• It needs better communication between the team members. This may not be
achieved all the time.
• It requires to remember the status of the different activities.
20 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
The Unified Process was developed by Ivar Jacobson, Grady Booch, and James Rumbaugh.
A unified process (UP) is a software development process that uses the UML language
to represent models of the software system to be developed.
21 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
It reduces unexpected development cost and prevent wastage of resources.
22 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
Goal: To ensure the production of high-quality software that meets the needs of its end-
users, within a predictable schedule and budget.
The framework is also known as Rational Unified Process (RUP) and the Open Unified
Process (Open UP).
Use a case-driven approach that follows a set of actions performed by one or more
entities.
A use case refers to the process of the team performing the development work from the
functional requirements.
23 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
The functional requirements are made from the list of requirements that were specified
by the client. For example, an online learning management system can be specified in
terms of use cases such as "add a course," "delete a course," "pay fees," and so on.
The architecture-centric approach defines the form of the system and how it should be
structured to provide a specific functionality whereas the use case defines the
functionality.
An iterative and incremental approach means that the product will be developed in
multiple phases. During these phases, the developers evaluate and test.
Phases
The unified process occurs over four phases which include, Inception, Elaboration,
Construction, and Transition. Each of these phases consists of several iterations.
We can represent a unified process model as a series of cycles. Each cycle ends with
the release of a new system version for the customers. We have four phases in every
cycle:
• Inception
• Elaboration
• Construction
• Transition
24 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
1. Inception
The main goal of this phase involves delimiting the project scope. This is where we
define why we are making this product in the first place. It should have the following:
2. Elaboration
We build the system given the requirements, cost, and time constraints and all the risks
involved. It should include the following:
3. Construction
This phase is where the development, integration, and testing take place. We build the
complete architecture in this phase and hand the final documentation to the client.
4. Transition
This phase involves the deployment, multiple iterations, beta releases, and
improvements of the software. The users will test the software, which may raise
potential issues. The development team will then fix those errors.
Production
Conclusion
This method allows us to deal with the changing requirements throughout the
development period.
The unified process model has various applications which also makes it complex in
nature. Therefore, it's most suitable for smaller projects and should be implemented
by a team of professionals.
25 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
Advantages:
1. It provides good documentation, it completes the process in itself.
26 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
2. It provides risk-management support.
3. It reuses the components, and hence total time duration is less.
4. Good online support is available in the form of tutorials and training.
Disadvantages:
• Team of expert professional is required, as the process is complex.
• Complex and not properly organized process.
• More dependency on risk management.
• Hard to integrate again and again
Extra Questions :
27 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
28 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
1. It is very useful in a large project where you can easily find a module for step
by step implementation. The evolutionary model is used when the users need to
start using the many features instead of waiting for the complete software.
2. The evolutionary model is also very useful in object-oriented
software development because all the development is divided
into different units.
The following are the evolutionary models.
29 | P a g e
UNIT 3- SOFTWARE PROCESS MODELS (SY IT SEM 4- BMCCA)
Comparison
30 | P a g e