0% found this document useful (0 votes)
5 views

Unit3 System Approaches f2

The document covers various software development methodologies including the Software Development Life Cycle (SDLC), Waterfall Model, Prototyping Model, and Spiral Model. Each methodology outlines its phases, advantages, disadvantages, and when to use them, emphasizing the importance of structured processes in software development. Key phases include requirement analysis, design, coding, testing, deployment, and maintenance, with specific focus on user involvement and risk management in the Prototyping and Spiral Models.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Unit3 System Approaches f2

The document covers various software development methodologies including the Software Development Life Cycle (SDLC), Waterfall Model, Prototyping Model, and Spiral Model. Each methodology outlines its phases, advantages, disadvantages, and when to use them, emphasizing the importance of structured processes in software development. Key phases include requirement analysis, design, coding, testing, deployment, and maintenance, with specific focus on user involvement and risk management in the Prototyping and Spiral Models.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Unit 3 : Topics Covered

System Approaches- System Development Life Cycle (SDLC), Prototyping, End User
Development, Waterfall and Spiral method

1. SDLC

1.1 Introduction:

SOFTWARE DEVELOPMENT LIFECYCLE (SDLC) is a systematic process


for building software that ensures the quality and correctness of the software built.
SDLC process aims to produce high-quality software that meets customer
expectations. The system development should be complete in the pre-defined time
frame and cost. SDLC consists of a detailed plan which explains how to plan,
build, and maintain specific software. Every phase of the SDLC life cycle has its
own process and deliverables that feed into the next phase. SDLC stands for
Software Development Lifecycle.

1.2 Why SDLC


1.2.1 It offers a basis for project planning, scheduling, and estimating
1.2.2 Provides a framework for a standard set of activities and deliverables
1.2.3 It is a mechanism for project tracking and control
1.2.4 Increases visibility of project planning to all involved stakeholders of the
development process
1.2.5 Increased and enhance development speed
1.2.6 Improved client relations
1.2.7 Helps you to decrease project risk and project management plan overhead

1.3. SDLC Phases

 Phase 1: Requirement collection and analysis


 Phase 2: Feasibility study:
 Phase 3: Design:
 Phase 4: Coding:
 Phase 5: Testing:
 Phase 6: Installation/Deployment:
 Phase 7: Maintenance:

Phase 1: Requirement collection and analysis:

The requirement is the first stage in the SDLC process. It is conducted by the
senior team members with inputs from all the stakeholders and domain experts in
the industry. Planning for the quality assurance requirements and recognition of
the risks involved is also done at this stage.
This stage gives a clearer picture of the scope of the entire project and the
anticipated issues, opportunities, and directives which triggered the project.

Requirements Gathering stage need teams to get detailed and precise


requirements. This helps companies to finalize the necessary timeline to finish the
work of that system.

Phase 2: Feasibility study:

Once the requirement analysis phase is completed the next step is to define and
document software needs. This process conducted with the help of 'Software
Requirement Specification' document also known as 'SRS' document. It includes
everything which should be designed and developed during the project life cycle.

There are mainly five types of feasibilities checks:

 Economic: Can we complete the project within the budget or not?


 Legal: Can we handle this project as cyber law and other regulatory
framework/compliances.
 Operation feasibility: Can we create operations which is expected by the
client?
 Technical: Need to check whether the current computer system can
support the software
 Schedule: Decide that the project can be completed within the given
schedule or not.

Phase 3: Design:

In this third phase, the system and software design documents are prepared as
per the requirement specification document. This helps define overall system
architecture.

This design phase serves as input for the next phase of the model.

There are two kinds of design documents developed in this phase:

High-Level Design (HLD)

 Brief description and name of each module


 An outline about the functionality of every module
 Interface relationship and dependencies between modules
 Database tables identified along with their key elements
 Complete architecture diagrams along with technology details

Low-Level Design(LLD)

 Functional logic of the modules


 Database tables, which include type and size
 Complete detail of the interface
 Addresses all types of dependency issues
 Listing of error messages
 Complete input and outputs for every module

Phase 4: Coding:

Once the system design phase is over, the next phase is coding. In this phase,
developers start build the entire system by writing code using the chosen
programming language. In the coding phase, tasks are divided into units or
modules and assigned to the various developers. It is the longest phase of the
Software Development Life Cycle process.

In this phase, Developer needs to follow certain predefined coding guidelines.


They also need to use programming tools like compiler, interpreters, debugger
to generate and implement the code.

Phase 5: Testing:

Once the software is complete, and it is deployed in the testing environment.


The testing team starts testing the functionality of the entire system. This is
done to verify that the entire application works according to the customer
requirement.

During this phase, Quality Assurance and testing team may find some
bugs/defects which they communicate to developers. The development team
fixes the bug and send back to QA for a re-test. This process continues until
the software is bug-free, stable, and working according to the business needs
of that system.

Phase 6: Installation/Deployment:

Once the software testing phase is over and no bugs or errors left in the system
then the final deployment process starts. Based on the feedback given by the
project manager, the final software is released and checked for deployment
issues if any.

Phase 7: Maintenance:

Once the system is deployed, and customers start using the developed system,
following 3 activities occur

 Bug fixing - bugs are reported because of some scenarios which are not
tested at all
 Upgrade - Upgrading the application to the newer versions of the
Software
 Enhancement - Adding some new features into the existing software
2. Waterfall Model: Its is one of the popular SDLC Model

2.1 Introduction
Waterfall Model is a sequential model that divides software development into
different phases. Each phase is designed for performing specific activity during SDLC
phase. It was introduced in 1970 by Winston Royce.
Waterfall model is the pioneer of the SDLC processes. In fact, it was the first model
which was widely used in the software industry. It is divided into phases and output of
one phase becomes the input of the next phase. It is mandatory for a phase to be
completed before the next phase starts. In short, there is no overlapping in the
Waterfall model.
In “The Waterfall” approach, the whole process of software development is divided
into separate phases. The outcome of one phase acts as the input for the next phase
sequentially. This means that any phase in the development process begins only if the
previous phase is complete. The waterfall model is a sequential design process in
which progress is seen as flowing steadily downwards (like a waterfall) through the
phases of Conception, Initiation, Analysis, Design, Construction, Testing,
Production/Implementation, and Maintenance.

As the Waterfall Model illustrates the software development process in a linear


sequential flow; hence it is also referred to as a Linear-Sequential Life Cycle Model.
2.2 The activities involved in different phases are as follows:

S.N
Phase Activities Performed Deliverables
o

1 Requirement 1. Capture all the requirements. RUD ( Requirements


Analysis 2. Do brainstorming and walkthrough to Understanding
understand the requirements. Document)
3. Do the requirements feasibility test to ensure
that the requirements are testable or not.

2 System Design 1. As per the requirements, create the design HLD ( High Level
2. Capture the hardware / software requirements. Design document)
3. Document the designs
LLD (Low level
design document)

3 Implementation 1. As per the design create the programes / code Programs


2. Integrate the codes for the next phase. Unit test cases and
3. Unit testing of the code results

4 System Testing 1. Integrate the unit tested code and test it to make Test cases
sure if it works as expected. 2. Perform all the Test reports
testing activities (Functional and non functional) Defect reports
to make sure that the system meets the Updated matrices.
requirements.
3. In case of any anomaly, report it.
4. Track your progress on testing through tools
like traceability metrics, ALM
5. Report your testing activities.

5 System 1. Make sure that the environment is up User Manual


Deployment 2. Make sure that there are no sev 1 defects open.
3. Make sure that the test exit criteria are met. Environment
4. Deploy the application in the respective definition /
environment. specification
5. Perform a sanity check in the environment after
the application is deployed to ensure the
application does not break.

6 System 1. Make sure that the application is up and User Manual


maintenance running in the respective environment.
2. In case user encounters and defect, make sure List of production
to note and fix the issues faced. tickets
3. In case any issue is fixed; the updated code is
deployed in the environment. List of new features
4.The application is always enhanced to implemented.
incorporate more features, update the environment
with the latest features
2.3 When to use SDLC Waterfall Model

Waterfall model can be used when

 Requirements are not changing frequently


 Application is not complicated and big
 Project is short
 Requirement is clear
 Environment is stable
 Technology and tools used are not dynamic and is stable
 Resources are available and trained

2.4 Advantages and Disadvantages of Waterfall-Model

Advantages Dis-Advantages

 Before the next phase of  Error can be fixed only during the
development, each phase must be phase
completed

 Suited for smaller projects where  It is not desirable for complex


requirements are well defined project where requirement changes
frequently

 They should perform quality  Testing period comes quite late in


assurance test (Verification and the developmental process
Validation) The distinction
between the two terms is largely to
do with the role of
specifications. Validation is the
process of checking whether the
specification captures the
customer's needs. ... Verification is
the process of checking that the
software meets the
specificationbefore completing each
stage

 Elaborate documentation is done at  Documentation occupies a lot of


every phase of the software's time of developers and testers
development cycle
 Project is completely dependent on  Clients valuable feedback cannot be
project team with minimum client included with ongoing development
intervention phase

 Any changes in software is made  Small changes or errors that arise in


during the process of the the completed software may cause a
development lot of problems

3. Prototyping Model

3.1 Introduction

Prototype methodology is defined as a Software Development model in which a


prototype is built, test, and then reworked when needed until an acceptable prototype
is achieved. It also creates a base to produce the final system.
Software prototyping model works best in scenarios where the project's requirement
are not known. It is an iterative, trial, and error method which take place between the
developer and the client.

3.2 Prototyping Model Phases

Prototyping Model has following six SDLC phases as follow:

Step 1: Requirements gathering and analysis

A prototyping model starts with requirement analysis. In this phase, the requirements
of the system are defined in detail. During the process, the users of the system are
interviewed to know what their expectation from the system is.

Step 2: Quick design

The second phase is a preliminary design or a quick design. In this stage, a simple
design of the system is created. However, it is not a complete design. It gives a brief
idea of the system to the user. The quick design helps in developing the prototype.

Step 3: Build a Prototype

In this phase, an actual prototype is designed based on the information gathered from
quick design. It is a small working model of the required system.

Step 4: Initial user evaluation

In this stage, the proposed system is presented to the client for an initial evaluation. It
helps to find out the strength and weakness of the working model. Comment and
suggestion are collected from the customer and provided to the developer.
Step 5: Refining prototype

If the user is not happy with the current prototype, you need to refine the prototype
according to the user's feedback and suggestions.

This phase will not over until all the requirements specified by the user are met. Once
the user is satisfied with the developed prototype, a final system is developed based
on the approved final prototype.

Step 6: Implement Product and Maintain

Once the final system is developed based on the final prototype, it is thoroughly tested
and deployed to production. The system undergoes routine maintenance for
minimizing downtime and prevent large-scale failures.

3.3 Types of Prototyping Models

Four types of Prototyping models are:

1. Rapid Throwaway prototypes


2. Evolutionary prototype
3. Incremental prototype
4. Extreme prototype

3.4 Advantages of Prototyping Model


3.4.1 Increased user involvement in the product even before its
implementation.
3.4.2 Since a working model of the system is displayed, the users get a
better understanding of the system being developed.
3.4.3 Reduces time and cost as the defects can be detected much earlier.
3.4.4 Quicker user feedback is available leading to better solutions.
3.4.5 Missing functionality can be identified easily.
3.4.6 Confusing or difficult functions can be identified.
3.5 Disadvantages of Prototyping Model
3.5.1 Risk of insufficient requirement analysis owing to too much
dependency on the prototype.
3.5.2 Users may get confused in the prototypes and actual systems.
3.5.3 Practically, this methodology may increase the complexity of the
system as scope of the system may expand beyond original plans.
3.5.4 Developers may try to reuse the existing prototypes to build the
actual system, even when it is not technically feasible.
3.5.5 The effort invested in building prototypes may be too much if it is not
monitored properly.
3.6 When to use Prototyping Model.
3.6.1 We should use Prototyping when the requirements are unclear
3.6.2 When it is important to perform planned and controlled
Prototyping.
3.6.3 When regular meetings are vital to keep the project on time and
avoid costly delays.
3.6.4 The users and the designers should be aware of the prototyping
issues and pitfalls.

4. Spiral Model
4.1. Introduction

Spiral Model is a combination of a waterfall model and iterative model. Each phase in spiral
model begins with a design goal and ends with the client reviewing the progress. The spiral
model was first mentioned by Barry Boehm in his 1986 paper.

The development team in Spiral-SDLC model starts with a small set of requirement and goes
through each development phase for those set of requirements. The software engineering
team adds functionality for the additional requirement in every-increasing spirals until the
application is ready for the production phase.

4.2 Phases of Spiral Model


A spiral model has 4 phases described below:
1. Planning phase
2. Risk analysis phase
3. Engineering phase
4. Evaluation phase.

Activities which are performed in the spiral model phases are shown below:

Phase
Activities performed Deliverables / Output
Name

Planning -Requirements are studied and gathered. Requirements understanding


- Feasibility study document
- Reviews and walkthroughs to streamline
the requirements Finalized list of requirements.

Risk Requirements are studied and brain storming Document which highlights all
Analysis sessions are done to identify the potential the risks and its mitigation plans.
risks

Once the risks are identified , risk mitigation


strategy is planned and finalized

Engineering Actual development and testing if the Code


software takes place in this phase Test cases and test results
Test summary report and defect
report.
Phase
Activities performed Deliverables / Output
Name

Evaluation Customers evaluate the software and provide Features implemented document
their feedback and approval

4.3 Representation of Spiral Model

Different colours represent different spiral or iteration. For first iteration, represented in
brown colour, all the 4 activities (Planning, risk analysis, engineering and evaluation) are
performed. After the evaluation phase is over for the first iteration (spiral), second iteration
(spiral) starts.The second iteration, which is represented in orange colour, here again all the 4
activities (Planning, risk analysis, engineering and evaluation) are performed. In a similar
way, third iteration is done shown in blue colour and so on the process continues.
4.4 Advantages and Disadvantages of Spiral Model

Advantages and Disadvantages of Spiral Model

Advantages Disadvantages

 Additional functionality or changes  Risk of not meeting the schedule or


can be done at a later stage budget

 Cost estimation becomes easy as the  It works best for large projects only
prototype building is done in small also demands risk assessment
fragments expertise

 Continuous or repeated development  For its smooth operation spiral


helps in risk management model protocol needs to be followed
strictly

 Development is fast and features are  Documentation is more as it has


added in a systematic way intermediate phases

 There is always a space for customer  It is not advisable for smaller


feedback project, it might cost them a lot

When Spiral Model is used?

 When project is large


 When releases are required to be frequent
 When creation of a prototype is applicable
 When risk and costs evaluation is important
 For medium to high-risk projects
 When requirements are unclear and complex
 When changes may require at any time
 When long term project commitment is not feasible due to changes in economic
priorities

5. End User Development


End-user development refers to the development of information systems by end
users with minimal or no assistance from professional systems analysts or
programmers. This is accomplished through sophisticated user-friendly software tools
and gives end users direct control over their own computing.

End-user development (EUD) helps to solve this problem. EUD is "a set of methods,
techniques and tools that allow users of software systems, who are acting as non-
professional software developers, at some point to create, modify, or extend a
software artifact" (Lieberman et al 2006). In particular, EUD enables end users to
design or customize the user interface and functionality of software. This is valuable
because end users know their own context and needs better than anybody else, and
they often have real-time awareness of shifts in their respective domains. Through
EUD, end users can tune software to fit their requirements more closely than would
be possible without EUD.

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