0% found this document useful (0 votes)
50 views9 pages

SDLC Methodologies

The document outlines various software development methodologies, including System Software, Application Software, and different SDLC approaches such as Waterfall and Agile. It discusses the principles of system development, the importance of user involvement, and the structured phases of the Systems Development Life Cycle (SDLC). Additionally, it highlights the advantages and disadvantages of methodologies like Rapid Application Development (RAD) and Prototyping, emphasizing the need for flexibility and user feedback in software development.
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)
50 views9 pages

SDLC Methodologies

The document outlines various software development methodologies, including System Software, Application Software, and different SDLC approaches such as Waterfall and Agile. It discusses the principles of system development, the importance of user involvement, and the structured phases of the Systems Development Life Cycle (SDLC). Additionally, it highlights the advantages and disadvantages of methodologies like Rapid Application Development (RAD) and Prototyping, emphasizing the need for flexibility and user feedback in software development.
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/ 9

03/08/2022

Bicol University
COLLEGE OF SCIENCE – CSIT DEPARTMENT

Different Types of Software


• System Software
Software Development – OS, Utility, Device Drivers etc.
Methodologies • Application Software
– MS Word, Multimedia, Web Browsers
• Freeware
• Commercial (Shareware)
• Open-source
• In-house software

System Development Principles of System Development


the process of defining, designing, testing, and implementing a new • Get the system users involved.
software application or program. It could include the
internal development of customized systems, the creation of • Use a problem-solving approach.
database systems, or the acquisition of third party developed • Establish phases and activities.
software.
• Document through development.
System Analysis. Study of end-user information requirements that • Establish standards.
is needed before the design of a new inform system can be • Manage the process and projects
completed.
• Justify systems as capital investments.
System Design. describe what a system should do to meet the • Don’t be afraid to cancel or revise scope.
information needs of users. The strategy specifies how the system
• Divide and conquer.
will accomplish objectives
• Design systems for growth and change

Principles of System Development Systems Development Life Cycle


System Analysis of the Existing System
• Understanding the existing system
• Systems development life cycle (SDLC)
• Understanding the objectives achieved by the existing system - a structured step-by-step approach for
• Knowing whether the system is feasible in technically & developing information systems
operationally
• Evaluate the system for computerization & its • Typical activities include:
• placement in the total MIS design • Determining budgets
• Gathering business requirements
System Analysis of a new requirements
• Definition of the system & its objectives • Designing models
• Development of the system • Writing user documentation
• Installation of the system & testing
• Operations of the system
• Review & evaluation

1
03/08/2022

SDLC Methodology SDLC Methodology

The life cycle approach is used so users can see Rothi and Yen (1989) provided a brief review of traditional SDLCs. They
related how the use of traditional software development models is
and understand what activities are involved numerous and often regarded as the proper and disciplined approach to
within a given step. It is also used to let them know the analysis and design of software applications. Examples of such
that at any time, steps can be repeated or a previous models included the code and fix, waterfall, staged and phased
step can be reworked when needing to modify or development, transformational, spiral, and iterative models.
improve the system.
A related article by the U.S. Department of Justice described how the
primary goal of any SDLC is to deliver quality software systems (DOJ,
Most modern development processes can be 2000).
vaguely described as agile.
It further defined a quality system as one that: 1) meets or exceeds
customer expectations, 2) works well with current and planned
Other methodologies include waterfall, prototyping,
infrastructure, and 3) is inexpensive to maintain and enhance. These
iterative and incremental development, spiral steps typically include software concept, requirements analysis,
development, rapid application development, and architectural design, coding and debug, and system testing.
extreme programming.

SDLC Methodology SDLC Life Cycle


SDLC PHASE ACTIVITIES
Osborn (1995) discussed traditional SDLC techniques and how 1. Planning • Define the system to be developed
over time the phases of these approaches have become enshrined • Set the project scope
in a development cycle that includes: • Develop the project plan
1) defining requirements,
2. Analysis • Gather business requirements
2) designing a system to meet those requirements,
3. Design • Design the technical architecture
3) coding, and
4) testing. Each phase of the development cycle is strictly • Design system models
sequenced. 4. Development • Build technical architecture
• Build databases and programs
For example, in the waterfall model, the output of all prior effort is 5. Testing • Write test conditions
a prerequisite for subsequent steps (e.g. all details of • Perform testing
requirements definition are documented before start of design, 6. Implementation • Write user documentation
design is complete before coding, and exhaustive testing is • Provide training
performed prior to release). 7. Maintenance • Build a help desk
• Support system changes

SDLC Life Cycle SDLC Life Cycle: Phase 1: Planning

Planning phase - involves determining a solid plan for


developing your information system

Three primary planning activities:


1. Define the system to be developed
• Critical success factor (CSF) - a factor simply
critical to your organization’s success

2
03/08/2022

SDLC Life Cycle: Phase 1: Planning SDLC Life Cycle: Phase 1: Planning

2. Set the project scope 3. Develop the project plan including tasks, resources, and
• Project scope - clearly defines the high-level system timeframes
requirements • Project plan - defines the what, when, and who
• Scope creep - occurs when the scope of the project questions of system development
increases • Project manager - an individual who is an expert in
• Feature creep - occurs when developers add extra project planning and management, defines and
features that were not part of the initial requirements develops the project plan and tracks the plan to ensure
• Project scope document - a written definition of the all key project milestones are completed on time
project scope and is usually no longer than a paragraph • Project milestones - represent key dates for which you
need a certain group of activities performed

SDLC Life Cycle: Phase 1: Planning Lightweight Methodologies


In response to traditional approaches to software development
(often viewed as cumbersome and bureaucratic), new lightweight
methodologies have appeared (Fowler, 2000, December)

Light SDLC techniques are a compromise between no process and


too much process.
• Adaptive Software Development (ASD)
• Agile Software Process (ASP)
• Crystal
• Dynamic System Development Method (DSDM)
• Extreme Programming (XP)
• Feature Driven Development (FDD)
• Rational Unified Process (RUP)
• SCRUM, and
• Whitewater Interactive System Development with Object Models
(Wisdom).

Other Lightweight Methodologies Universal Systems Model/ Basic IPO


• Architected Rapid Application Development (Architected RAD)
• Joint Application Development (JAD)
• Information Engineering (IE)
• Rapid Application Development (RAD)
• Structured Analysis and Design
• Boehms Spiral Model
• FAST - (Framework for the Application of Systems Thinking )
• HyBrid Strategy / Incremental Strategy)
• Computer-Assisted Software Engineering (CASE)

3
03/08/2022

Waterfall Methodology

The SDLC methodology is sometimes referred to as the


Systems Development waterfall methodology to represent how each step is a
separate part of the process.
Methodologies
SDLC is a conceptual model, used in project management,
to describe the stages and tasks involved in each step of a
project to write and deploy software.

It is often considered the classic approach to the system


development life cycle. In order to design a good system,
traditionally, the development have used the waterfall model.
This model describes a development method that is linear
and sequential

Phases of Waterfall Model Phases of Waterfall Methodology


The waterfall model a • Requirements: The key aspect of waterfall is that all customer
sequential, activity-based requirements are gathered at the beginning of the project. It is
process in which each phase in assumed that all requirements can be gathered at this phase.
the SDLC is performed • Design: The design phase is best broken up into logical design
sequentially and physical design subphases.
• Implementation: The implementation phase is when programmers
The Waterfall approach to assimilate the requirements and specifications from the previous
systems analysis and design was phases and produce actual code.
the first established modern • Verification: This phase is when the customer reviews the product
approach to building a system. to make sure that it meets the requirements laid out at the
This method was originally beginning of the project.
defined by Winston W. Royce in • Maintenance: The customer is regularly using the product during
1970, the maintenance phase, discovering bugs, inadequate features and
other errors that occurred during production. The production team
applies these fixes as necessary until the customer is satisfied

Example: Developing Application Waterfall Strengths

Phases Activities • Easy to understand, easy to use


Requirements Existing Literatures; Identify • Provides structure to inexperienced staff
gaps/opportunities; Set the objectives;
• Milestones are well understood
Identify materials/resources
• Sets requirements stability
Design logical design (database schema, ERD,
Flowchart, other diagrams) • Good for management control (plan, staff, track)
physical design (transform logical design • Works well when quality is more important than cost or
into physical form like emp_name, schedule
emp_address, etc)
Implementation Actual coding using application languages
Verification Testing of the application
Maintenance Discovering bugs, debugging/errors and
evaluating features

4
03/08/2022

Waterfall Deficiencies When to use the Waterfall Methodology

• Requirements are very well known


• All requirements must be known upfront
• Product definition is stable
• Deliverables created for each phase are considered
frozen – inhibits flexibility • Technology is understood
• Can give a false impression of progress • New version of an existing product
• Does not reflect problem-solving nature of software • Porting an existing product to a new platform.
development – iterations of phases
• Integration is one big bang at the end
• Little opportunity for customer to preview the system
(until it may be too late)

Sequential vs Iterative Development Waterfall Methodology


This methodology has been criticized for being quite
Waterfall development rigid. For example, changes to the requirements are not
approach an approach to allowed once the process has begun. No software is
systems analysis and design that available until after the programming phase
completes each phase one after
another and only once . SDLC was developed for large, structured projects.
Projects using SDLC can sometimes take months or years
Iterative development approach to complete. Because of its inflexibility and the availability
an approach to systems analysis of new programming techniques and tools, many other
and design that completes the software-development methodologies have been
entire information system in developed.
successive iterations. Each
iterations does some analysis, FURTHER READINGS:
some design, and some Bhatnagar, M. & Singh, K. (2013, September). Research Methodology as SDLC Process in Image
construction. Synonyms include Processing. International Journal of Computer Applications, 77(2), 43-45.

incremental and spiral.

Rapid Application Development Rapid Application Development


• born out of frustration with
the waterfall software design approach
which too often resulted in products that
were out of date or inefficient by the time
they were actually release
• the term was inspired by James Martin,
who worked with colleagues to develop
a new method called Rapid Iterative
Production Prototyping (RIPP).
• In 1991, this approach became the
• Rapid application development (RAD) (also called rapid
premise of the book Rapid Application
prototyping) - emphasizes extensive user involvement in the rapid
Development.
and evolutionary construction of working prototypes of a system to
accelerate the systems development process
Rapid application development (RAD) is a software-development (or – Prototype - a smaller-scale, representation, or working model of
systems-development) methodology that focuses on quickly building the user’s requirements or a proposed design for an information
a working model of the software, getting feedback from users, and system
then using that feedback to update the working model.

5
03/08/2022

PHASES of RAD PHASES of RAD

Requirements Planning. This phase is similar to the Construction. In the construction phase, the application
preliminary-analysis, system-analysis, and design phases of the developers, working with the users, build the next version of
SDLC. In this phase, the overall requirements for the system the system. This is an interactive process, and changes can
are defined, a team is identified, and feasibility is determined. be made as developers are working on the program. This
step is executed in parallel with the User Design step in an
User Design. In this phase, representatives of the users work iterative fashion, until an acceptable version of the product
with the system analysts, designers, and programmers to is developed.
interactively create the design of the system. One technique for
working with all of these various stakeholders is the so- Cutover. In this step, which is similar to the implementation
called JAD session. JAD is an acronym for joint application step of the SDLC, the system goes live. All steps required to
development. A JAD session gets all of the stakeholders move from the previous state to the use of the new system
together to have a structured discussion about the design of the are completed here.
system. Application developers also sit in on this meeting and
observe, trying to understand the essence of the requirements.

RAD Strategy PROTOTYPING Model


Advantages Disadvantages
Prototyping - the process of building a model that
• User requirements often • May encourage "code,
implement, repair" mentality demonstrates the features of a proposed product, service,
uncertain or imprecise
• Encourages active user and • Can solve wrong problem or system
management participation since problem analysis is – Proof-of-concept prototype - used to prove the
abbreviated
• Projects get higher visibility technical feasibility of a proposed system
and support • May discourage analysts from
• Stakeholders see working
considering alternatives – Selling prototype - used to convince people of the
solutions more rapidly • Stakeholders reluctant to worth of a proposed system
throw away prototype
• Errors detected earlier
• Emphasis on speed can
• Testing and training are
adversely impact quality
natural by-products
• More natural process because
change is expected

PROTOTYPING Process PROTOTYPING Strategy


Advantages
The prototyping process • Encourages Active User Participation
involves four steps: • Helps Resolve Discrepancies Among Users
• Gives Users a Feel for the Final System
1. Identify basic • Helps Determine Technical Feasibility
requirements • Helps Sell the Idea of a Proposed System
2. Develop initial prototype
3. User review
Disadvantages
4. Revise and enhance the
• Leads People to Believe the Final System Will Follow
prototype
• Gives No Indication of Performance under Operational Conditions
• Leads the Project Team to Forgo Proper Testing and Documentation

6
03/08/2022

AGILE Methodology Principles of AGILE Methodology


Principle Description
Agile software development is based on an incremental,
Customer Customers should be closely involved throughout the
iterative approach. Instead of in-depth planning at the
involvement development process. Their role is provide and prioritize
beginning of the project, Agile methodologies are open to new system requirements and to evaluate the iterations of
changing requirements over time and encourages constant the system.
feedback from the end users
Incremental delivery The software is developed in increments with the
customer specifying the requirements to be included in
In Agile methodologies, leadership encourages teamwork, each increment.
accountability, and face-to-face communication. Business
People not process The skills of the development team should be recognized
stakeholders and developers must work together to align the and exploited. Team members should be left to develop
product with customer needs and company goals. their own ways of working without prescriptive processes.
Embrace change Expect the system requirements to change and so design
The goal of the agile methodologies is to provide the the system to accommodate these changes.
flexibility of an iterative approach while ensuring a quality Maintain simplicity Focus on simplicity in both the software being developed
product. and in the development process. Wherever possible,
actively work to eliminate complexity from the system.

AGILE Methodology AGILE Method Applicability

• Product development where a software company is


The characteristics of agile methods include:
developing a small or medium-sized product for sale.
• small cross-functional teams that include development-
team members and users; • Custom system development within an organization, where
there is a clear commitment from the customer to become
daily status meetings to discuss the current state of the
involved in the development process and where there are not
project;
a lot of external rules and regulations that affect the software.
• short time-frame increments (from days to one or two
weeks) for each change to be completed; and
• at the end of each iteration, a working project is • Because of their focus on small, tightly-integrated teams,
there are problems in scaling agile methods to large systems.
completed to demonstrate to the stakeholders.

Problems with AGILE Methods OUTSOURCING

• It can be difficult to keep the interest of customers who Two primary choices to build IT systems (of great size and
are involved in the process. complexity):
• Team members may be unsuited to the intense
involvement that characterizes agile methods. 1. Insourcing - involves choosing IT specialists within your
• Prioritizing changes can be difficult where there are organization to develop the system
multiple stakeholders.
• Maintaining simplicity requires extra work. 2. Outsourcing - the delegation of specific work to a third
party for a specified length of time, at a specified cost, and
• Contracts may be a problem as with other approaches to
at a specified level of service
iterative development.

7
03/08/2022

OUTSOURCING OUTSOURCING

• The main reasons behind the rapid growth of the


outsourcing industry include the following:
– Globalization and the Internet
– Growing economy and low unemployment rate
– Technology and deregulation
• Request for proposal (RFP) – outsourcing document that
informs vendors of your logical requirements

OUTSOURCING Options OUTSOURCING Options

IT outsourcing for software development can take one of


four forms:
1. Purchase existing software
2. Purchase existing software and paying the publisher
to make certain modifications
3. Purchase existing software and paying the publisher
for the right to make modifications yourself
4. Outsource the development of an entirely new and
unique system for which no software exists

OUTSOURCING Options OUTSOURCING: Offshore

There are three different forms of outsourcing: • Primary outsourcing countries are:
1. Onshore outsourcing - the process of engaging – India
another company within the same country for – China
services – Eastern Europe (including Russia)
2. Nearshore outsourcing - contracting an outsourcing – Ireland
arrangement with a company in a nearby country – Israel
3. Offshore outsourcing - contracting with a company – Philippines
that is geographically far away

8
03/08/2022

Advantages and Disadvantages of Business Process Outsourcing (BPO)


OUTSOURCING
Business process outsourcing (BPO) is using a contractual
Advantages: Disadvantages: service to completely manage, deliver and operate one or more
– Focus on unique core – Reduces technical know- (typically IT or call center-intensive) business processes or
competencies how for future innovation functions
– Exploit the intellect of – Reduces degree of control
another organization – Increases vulnerability of
– Better predict future your strategic information
costs – Increases dependency on
– Acquire leading-edge other organizations
technology
– Reduce costs
– Improve performance
accountability

Business Process Outsourcing (BPO)

Thank you!

You might also like