0% found this document useful (0 votes)
65 views20 pages

Unit 2 SE

The document discusses the system development life cycle (SDLC), including its importance and different approaches and models. It describes the typical phases of SDLC like requirements, design, implementation, testing, deployment, and maintenance. It also explains the waterfall model and its sequential phases from requirements to design to implementation.

Uploaded by

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

Unit 2 SE

The document discusses the system development life cycle (SDLC), including its importance and different approaches and models. It describes the typical phases of SDLC like requirements, design, implementation, testing, deployment, and maintenance. It also explains the waterfall model and its sequential phases from requirements to design to implementation.

Uploaded by

yashthakare9267
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

G H Raisoni Institute of

Business Management, Jalgaon


Department of Computer Application

Master of Computer Application (MCA)


Academic Year: 2023-24
Third Semester

Course Code: BCA-CC-10

Course Name: Software Engineering

Prepared By: Prof. Manisha Rajput


Unit 2: Software Development Life Cycle

Basic System Development Life Cycle :

An effective System Development Life Cycle (SDLC) should result in a


high-quality system that meets customer expectations, reaches
completion within time and cost evaluations, and works effectively and
efficiently in the current and planned Information Technology
infrastructure.
System Development Life Cycle (SDLC) is a conceptual model which
includes policies and procedures for developing or altering systems
throughout their life cycles.
SDLC is used by analysts to develop an information system. SDLC
includes the following activities -
 requirements
 design
 implementation
 testing
 deployment
 operations
 maintenance

Feasibility Study or Planning


 Define the problem and scope of existing system.
 Overview the new system and determine its objectives.
 Confirm project feasibility and produce the project Schedule.
 During this phase, threats, constraints, integration and security of
system are also considered.
 A feasibility report for the entire project is created at the end of this
phase.
Analysis and Specification
 Gather, analyze, and validate the information.
 Define the requirements and prototypes for new system.
 Evaluate the alternatives and prioritize the requirements.

G H Raisoni Institute of Business Management Page 2


Unit 2: Software Development Life Cycle

 Examine the information needs of end-user and enhances the


system goal.
 A Software Requirement Specification (SRS) document, which
specifies the software, hardware, functional, and network
requirements of the system is prepared at the end of this phase.
System Design
 Includes the design of application, network, databases, user
interfaces, and system interfaces.
 Transform the SRS document into logical structure, which contains
detailed and complete set of specifications that can be implemented
in a programming language.
 Create a contingency, training, maintenance, and operation plan.
 Review the proposed design. Ensure that the final design must meet
the requirements stated in SRS document.
 Finally, prepare a design document which will be used during next
phases.
Implementation
 Implement the design into source code through coding.
 Combine all the modules together into training environment that
detects errors and defects.
 A test report which contains errors is prepared through test plan
that includes test related tasks such as test case generation, testing
criteria, and resource allocation for testing.
 Integrate the information system into its environment and install
the new system.
Maintenance/Support
 Include all the activities such as phone support or physical on-site
support for users that is required once the system is installing.
 Implement the changes that software might undergo over a period
of time, or implement any new requirements after the software is
deployed at the customer location.
 It also includes handling the residual errors and resolve any issues
that may exist in the system even after the testing phase.

G H Raisoni Institute of Business Management Page 3


Unit 2: Software Development Life Cycle

 Maintenance and support may be needed for a longer time for large
systems and for a short time for smaller systems.

Why is the SDLC important?


1. Understanding your requirements and the goal of the software
2. Identify risks at an early stage
3. Plan how you will deliver your solution in stages, such as building prototypes
or writing functional specifications
4. Measure your progress relative to your goals and ensure everything is on

G H Raisoni Institute of Business Management Page 4


Unit 2: Software Development Life Cycle

Different Approaches and Models :


There are so many different SDLC models in software engineering, and
choosing the best one for your project is half the battle on the way to creating
a successful product. People have already developed frameworks for efficient
project management called software development methodologies. In the
article, we’ll look at the most common ones, see what steps they include, and
discuss how to choose the most suitable option according to the requirements.
In order to develop a system successfully, it is managed by breaking the total
development process into smaller basic activities or phases. Any system development
process, in general, is understood to have the following phases.
Investigation,
• Analysis,
• Design,
• Construction and testing,
• Implementation, and
• Maintenance.
A brief description of the above-mentioned stages is discussed as
follows.
System Investigation
Some problems may be bothering a business organization. The managers in the
organization (user) may not be very clear about the problem. A preliminary
investigation is the first step in the system development project. The preliminary
investigation is a way of handling the user’s request to change, improve or
enhance an existing system. System investigation includes the following two sub-
stages.
1. Problem definition, and
2. Feasibility study.
3. System Analysis
Analysis is a detailed study of the various operations of a business activity (system),
along with its boundaries. The objective of this phase is to determine exactly what
must
G H Raisoni Institute of Business Management Page 5
Unit 2: Software Development Life Cycle

be done to solve the problem. Many system analysts have a technical background. The
temptation of many technically trained people is to move too quickly to program
design, to become pre-maturely physical. System analysis involves a detailed study of:
• The information needs of the organization and its end users.
• Existing information systems (their activities, resources and products).
• The expected information system (in terms of capabilities of IS required to meet
the information needs of users).
System Design
System analysis describes WHAT a system should do to meet the information needs
of users. System design specifies HOW the system will accomplish this objective.
The designing of the system refers to the technical specification that will be implied
in constructing the system. The output of the system analysis phase is the input to the
system design phase.
The System design should stress on the following three activities.
• User interface
• Data design, and
• Process design

Construction and Testing


Once the system specifications are understood, the system is physically created.
The required programs are coded, debugged, and documented. The system should
be tested with some test data to ensure its accuracy and reliability. In fact, the
construction of the system takes place on the basis of the system design
specifications.

Implementation
The system implementation stage involves hardware and software acquisition, site
preparation, user training and installation of the system. Then testing of the
system, involving all components and procedures should be done. It must be
realized that implementation may be the most crucial phase of system.

G H Raisoni Institute of Business Management Page 6


Unit 2: Software Development Life Cycle

Maintenance
System maintenance involves the monitoring, evaluating and modifying of a
system to make desirable or necessary improvements. In other words,
maintenance includes enhancements, modifications or any change from the
original specifications.

G H Raisoni Institute of Business Management Page 7


Unit 2: Software Development Life Cycle

Waterfall model :

The Waterfall Model was the first Process Model to be introduced. It is


also referred to as a linear-sequential life cycle model. It is very simple
to understand and use. In a waterfall model, each phase must be
completed before the next phase can begin and there is no overlapping in
the phases.The Waterfall model is the earliest SDLC approach that was
used for software development.
The waterfall Model illustrates the software development process in a
linear sequential flow. This means that any phase in the development
process begins only if the previous phase is complete. In this waterfall
model, the phases do not overlap.

The sequential phases in Waterfall model are −


 Requirement Gathering and analysis − All possible requirements
of the system to be developed are captured in this phase and
documented in a requirement specification document.
 System Design − The requirement specifications from first phase
are studied in this phase and the system design is prepared. This

G H Raisoni Institute of Business Management Page 8


Unit 2: Software Development Life Cycle

system design helps in specifying hardware and system


requirements and helps in defining the overall system architecture.
 Implementation − With inputs from the system design, the system
is first developed in small programs called units, which are
integrated in the next phase. Each unit is developed and tested for
its functionality, which is referred to as Unit Testing.
 Integration and Testing − All the units developed in the
implementation phase are integrated into a system after testing of
each unit. Post integration the entire system is tested for any faults
and failures.
 Deployment of system − Once the functional and non-functional
testing is done; the product is deployed in the customer
environment or released into the market.
 Maintenance − There are some issues that come up in the client
environment. To fix those issues, patches are released. Also to
enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer
environment.
All these phases are cascaded to each other in which progress is seen as
flowing steadily downwards (like a waterfall) through the phases. The
next phase is started only after the defined set of goals are achieved for
the previous phase and it is signed off, so the name "Waterfall Model".
In this model, phases do not overlap.

Waterfall Model - Application


Every software developed is different and requires a suitable SDLC
approach to be followed based on internal and external factors. Some
situations where the use of Waterfall model is most appropriate are −
 Requirements are very well documented, clear, and fixed.
 Product definition is stable.
 Technology is understood and is not dynamic.
 There are no ambiguous requirements.

G H Raisoni Institute of Business Management Page 9


Unit 2: Software Development Life Cycle

 Ample resources with t h e required expertise are available to


supportthe product.
 The project is short.

Waterfall Model - Advantages


The advantages of waterfall development are that it allows for
departmentalization and control. A schedule can be set with deadlines
for each stage of development and a product can proceed through the
development process model phases one by one.
Development moves from concept, through design, implementation,
testing, installation, troubleshooting, and ends up at operation and
maintenance. Each phase of development proceeds in strict order.
Some of the major advantages of the Waterfall Model are as follows −
 Simple and easy to understand and use
 Easy to manage due to the rigidity of the model. Each phase has
specific deliverables and a review process.
 Phases are processed and completed one at a time.
 Works well for smaller projects where requirements are very well
understood.
 Clearly defined stages.
 Well-understood milestones.
 Easy to arrange tasks.
 Process and results are well documented.

Waterfall Model - Disadvantages


The disadvantage of waterfall development is that it does not allow
much reflection or revision. Once an application is in the testing stage, it
is very difficult to go back and change something that was not well-
documented or thought upon in the concept stage.
The major disadvantages of the Waterfall Model are as follows −

G H Raisoni Institute of Business Management Page 10


Unit 2: Software Development Life Cycle

 No working software is produced until late during the life cycle.


 High amounts of risk and uncertainty.
 Not a good model for complex and object-oriented projects.
 Poor model for long and ongoing projects.
 Not suitable for the projects where requirements are at a moderate
to high risk of changing. So, risk and uncertainty is high with this
process model.
 It is difficult to measure progress within stages.
 Cannot accommodate changing requirements.
 Adjusting scope during the life cycle can end a project.
 Integration is done as a "big-bang. at the very end, which doesn't
allow identifying any technological or business bottleneck or
challenges early.

Spiral Model:

The spiral model is one of the most important Software Development


Life Cycle 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. 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 the spiral model.
The Radius of the spiral at any point represents the expenses(cost) of
the project so far, and the angular dimension represents the progress
made so far in the current phase.
The below diagram shows the different phases of the Spiral Model: –

G H Raisoni Institute of Business Management Page 11


Unit 2: Software Development Life Cycle

Each phase of the Spiral Model is divided into four quadrants as shown
in the above figure. 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.

G H Raisoni Institute of Business Management Page 12


Unit 2: Software Development Life Cycle

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 are identified and the
risks are resolved using the best possible strategy. At the end of this
quadrant, the Prototype is built for the best possible solution.
3. Develop the 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.

Risk Handling in Spiral Model


A risk is any adverse situation that might affect the successful
completion of a software project. The most important feature of the
spiral model is handling these unknown risks after the project has
started. Such risk resolutions are easier done by developing a prototype.
The spiral model supports coping up with risks by providing the scope
to build a prototype at every phase of the software development.
The Prototyping Model also supports risk handling, but the risks must
be identified completely before the start of the development work of the
project. But in real life project risk may occur after the development
work starts, in that case, we cannot use the Prototyping Model. In each
phase of the Spiral Model, the features of the product dated and
analyzed, and the risks at that point in time are identified and are
resolved through prototyping. Thus, this model is much more flexible
compared to other SDLC models.
Advantages of the Spiral Model:
Below are some advantages of the 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.

G H Raisoni Institute of Business Management Page 13


Unit 2: Software Development Life Cycle

2. Good for large projects: It is recommended to use the Spiral Model


in large and complex projects.
3. Flexibility in Requirements: Change requests in the Requirements
at later phase can be incorporated accurately by using this model.
4. Customer Satisfaction: Customers 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 the completion of
the total product.
Disadvantages of the Spiral Model:

Below are some main disadvantages of the 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 dependability on Risk Analysis: The successful
completion of the project is very much dependent on Risk Analysis.
Without very highly experienced experts, 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.

RAD Model( Rapid Application Development)

RAD is a linear sequential software development process model that


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.

RAD (Rapid Application Development) is a concept that products can


be developed faster and of higher quality through:

G H Raisoni Institute of Business Management Page 14


Unit 2: Software Development Life Cycle

o Gathering requirements using workshops or focus groups


o Prototyping and early, reiterative user testing of designs
o The re-use of software components
o A rigidly paced schedule that refers design improvements to the
next product version
o Less formality in reviews and other team communication

The various phases of RAD are as follows:

o 1.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.
o 2. 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

G H Raisoni Institute of Business Management Page 15


Unit 2: Software Development Life Cycle

identified, and the relation between these data objects (entities) is


defined.
o 3. 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.
o 4. Application Generation: Automated tools are used to facilitate
construction of the software; even they use the 4th GL techniques.
o 5. 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.

When to use RAD Model?

o When the system should need to create the project that modularizes
in a short span time (2-3 months).
o When the requirements are well-known.
o When the technical risk is limited.
o When there's a necessity to make a system, which modularized in
2-3 months of period.
o It should be used only if the budget allows the use of automatic
code generating tools.

Advantage of RAD Model

o This model is flexible for change.


o In this model, changes are adoptable.
o Each phase in RAD brings highest priority functionality to the
customer.
o It reduced development time.
o It increases the reusability of features.

Disadvantage of RAD Model

G H Raisoni Institute of Business Management Page 16


Unit 2: Software Development Life Cycle

o It required highly skilled designers.


o All application is not compatible with RAD.
o For smaller projects, we cannot use the RAD model.
o On the high technical risk, it's not suitable.
o Required user involvement.

Rational Unified Process (RUP)


Rational Unified Process (RUP) is a software development
process for object-oriented models. It is also known as the Unified
Process Model. It is created by Rational corporation and is
designed and documented using UML (Unified Modeling
Language). This process is included in IBM Rational Method
Composer (RMC) product. IBM (International Business Machine
Corporation) allows us to customize, design, and personalize the
unified process.Some characteristics of RUP include use-case
driven, Iterative (repetition of the process), and Incremental
(increase in value) by nature, delivered online using web
technology, can be customized or tailored in modular and
electronic form, etc. RUP reduces unexpected development costs
and prevents wastage of resources.

G H Raisoni Institute of Business Management Page 17


Unit 2: Software Development Life Cycle

1. Inception –
 Communication and planning are the main ones.
 Identifies the scope of the project using a use-case model
allowing managers to estimate costs and time required.
 Customers’ requirements are identified and then it becomes easy
to make a plan for the project.
 The project plan, Project goal, risks, use-case model, and Project
description, are made.
 The project is checked against the milestone criteria and if it
couldn’t pass these criteria then the project can be either canceled
or redesigned.
2. Elaboration –
 Planning and modeling are the main ones.

G H Raisoni Institute of Business Management Page 18


Unit 2: Software Development Life Cycle

 A detailed evaluation and development plan is carried out and


diminishes the risks.
 Revise or redefine the use-case model (approx. 80%), business
case, and risks.
 Again, checked against milestone criteria and if it couldn’t pass
these criteria then again project can be canceled or redesigned.
 Executable architecture baseline.
3. Construction –
 The project is developed and completed.
 System or source code is created and then testing is done.
 Coding takes place.
4. Transition –
 The final project is released to the public.
 Transit the project from development into production.
 Update project documentation.
 Beta testing is conducted.
 Defects are removed from the project based on feedback from the
public.
5. Production –
 The final phase of the model.
 The project is maintained and updated accordingly.
Advantages:
1. It provides good documentation, it completes the process in itself.
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:
1. Team of expert professionals is required, as the process is complex.
2. Complex and not properly organized process.
3. More dependency on risk management.
4. Hard to integrate again and again.

G H Raisoni Institute of Business Management Page 19


Unit 2: Software Development Life Cycle

G H Raisoni Institute of Business Management Page 20

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy