-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 146
Unit 7 System Development Methodologies
Structure: 7.1 Introduction
Objectives
7.2 System Development Methodologies
7.3 Structured Design
Waterfall development
Parallel development
7.4 Rapid Application Development
Phased development
Prototyping
Throwaway prototyping
7.5 Current Methodologies: Agile Development
Extreme programming
Scrum
7.6 Selecting the Appropriate Development Methodology
Clarity of user requirements
Familiarity with technology
System complexity
System reliability
Short time schedules
Schedule visibility
7.7 Summary
7.8 Glossary
7.9 Terminal Questions
7.10 Answers
7.11 References
7.1 Introduction
Till now, you have covered various aspects of System Analysis
and Design
such as data, information, various attributes, architecture,
development life
cycle and design. In the previous unit, you studied the concept
of system
design and came to understood various terms related to system
design like
system implementation, system evaluation, and system
modification. We
also described to you the process of modularisation in
structured design and
illustrated the concept of input design, output design and form
design.
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 147
In this unit, we will reflect on system development
methodologies. We will
focus on recognising development methodologies such as
structured design
including waterfall development, parallel development, etc., and
rapid
application development including phased development,
prototyping, etc.
You will also study the latest or current development
methodology, that is,
agile development, which is still in the evolving state. We will
also reflect on
selecting appropriate development methodology according to
the
requirements.
A system development methodology can be defined as a procedure
of
performing all the steps required to analyse, design, implement,
and
maintain information systems.
Till now, different types of system development methodologies
have been
developed. Every development methodology has its own strong
points and
weak points. A single development methodology cannot be used for
all the
projects. There are different types of system development
methodologies
which are well-matched to specific types of projects. These are
applied
according to the different technical, project and team
concerns.
Objectives:
After studying this unit, you should be able to:
identify various system development methodologies
illustrate latest development methodologies
describe different categories of rapid application
development
recognise how to select appropriate development methodology
7.2 System Development Methodologies
An approach utilised in executing the system development life
cycle is
considered as system development methodology. Every methodology
is
distinctive due to its variable importance in processes and
data. Another
reason for this distinctiveness is the order and focus the
methodology puts
on every System Development Life Cycle (SDLC) phase.
Various methodologies are considered as formal standards
utilised by
different types of organisations. Other methodologies have been
developed
by consulting companies especially for consumers. Still other
organisations
have their own in-house methodologies that have been improved
over the
years.
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 148
All system development methodologies include a demonstration of
the
system concept in terms of processes and data. But, they vary in
terms of
whether the methodology provides more importance to business
processes
or to the data used in the business. Thus, these methodologies
can be
divided into three types; process-centred, data-centred and
object-oriented.
Process-centred methodologies: These define the activities
connected
with the system. These activities are termed as the processes.
Process-
centred methodologies make use of process models as the basis of
the
system concept. The main focus of analysts is on illustrating
the system
concept as a set of processes with information flowing in and
out of the
processes.
For example, in figure 7.1, details of pay check flow into the
process of
producing pay checks, and result in generation of pay checks as
output. See
figure 7.1 for illustration of activities and information
utilised in developing
the payroll for an organisation. In the figure, Data storage is
shown in the
open-ended rectangles. Curved rectangles symbolise activities
carried out
and arrows symbolise inputs and outputs of an activity.
Figure 7.1: A Simple Model of Employee Payroll
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 149
Data-centred methodologies: These define the contents of the
data
storage boxes and the method of organising the contents.
Data-centred
methodologies make use of data models as the basis of the
system
concept.
For example, the focus of analysts is mainly on recognising the
data that
must be obtainable to generate the payroll and converting that
data into
well-defined structures such as employee, employees pay history,
employee
pay rates, work log, payroll tax tables, etc.
Object-oriented methodologies: These balance the focus between
data
and processes. Object-oriented methodologies make use of the
Unified
Modelling Language (UML) to depict the system concept as a
compilation of
objects including both data and processes.
Categories of system development methodologies
A significant factor in the categorisation of methodologies is
placing the
SDLC phases in order and the amount of time and attempt
dedicated to
each phase.
The necessity for formal and well-planned life cycle
methodologies was not
well known in the early years. Earlier programmers used to move
directly
from a very simple planning stage to the construction step of
the
implementation stage. Alternatively, they moved directly from a
very vague,
not-well-planned-out system request to the writing code.
This approach is similar to the approach that you may at times
utilise while
writing programs for a programming class. It can work for small
programs
requiring only one programmer. You may overlook significant
elements of
the problem in case of difficult requirements, and you have to
initiate the
whole process again, discarding a part of the program (and the
time and
attempt spent on it).
This approach also makes teamwork difficult since members have
little idea
regarding what requirements to be attained and how to work
together to
generate a final product.
So, a new approach was developed towards the systematic
categorisation
of system development methodologies. These major categories
are:
Structured Design
Rapid Application Development (RAD)
Agile Development.
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 150
Each category stands for a collection of methodologies that
tries to improve
on earlier practice. You will study these categories of system
development
methodologies in the following sections.
Self Assessment Questions
1. ___________________ methodologies define the activities
associated
with the system, namely, the processes.
2. Data-centred methodologies use processes as the basis of the
system
concept. (True/False)
7.3 Structured Design
Structured design methodology is one of the earliest types of
system
development methodologies. Structured Design methodologies came
into
existence in the 1980s, substituting the earlier unplanned
and
unmanageable procedures. A step-by-step procedure is developed
for
moving from one level to the other level.
To illustrate fundamental processes of a system and the data
that assists
them, a formal modelling or diagramming method is used by
structured
design. Traditional structured design makes use of one set of
diagrams to
correspond to the processes (process models) and a separate set
of
diagrams to symbolise data (data models). As two sets of models
are used,
the systems analyst must make a decision regarding which set to
produce
first and apply as the basis of the systemprocess models or data
models.
The issue of whether to provide importance to processes before
data or
data before processes is a point of discussion among system
analysts. This
is because all types of models are significant to the
system.
Structured design is further categorised into Waterfall
Development and
Parallel Development which you will study in the following
sections.
7.3.1 Waterfall development
Waterfall development is considered as the original methodology
of
structured design, which is still used today. Waterfall
Development
methodology develops the system methodically from one phase to
another
in a downward manner, similar to a waterfall.
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 151
See figure 7.2 to know how the analysts and users progress from
one stage
to the other in the form of a series.
The main deliverables for each stage or phase are usually
capacious
(frequently hundreds of pages in length). These are supplied to
the project
sponsor for approval as the project moves from one stage to
another. Once
the sponsor approves the work that was performed for a phase,
the phase
terminates and the next phase starts.
Figure 7.2: Waterfall Development-based Methodology
Even though all the phases tend to go back to the previous phase
in the
SDLC (for example, back to analysis from design), it is very
difficult to
visualise it as it seems like imagining a fish attempting to
swim upstream in
a waterfall.
One of the benefits of waterfall development is that system
needs are
recognised much before programming starts. Another benefit is
that the
changes to the requirements are diminished as the project
continues.
One of the drawbacks of waterfall development is that there is a
need of a
fully specified design before programming starts. Another
drawback is that
there is a long time gap (generally many months or years)
between the
completion of the system proposal in the analysis phase and the
delivery of
the system. The deliverables frequently suffer due to a
deprived
communication method, thus significant requirements are ignored
in the
documentation.
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 152
Users are not often prepared for their introduction to the new
system, which
appears long after the preliminary idea for the system was
introduced. If the
project team ignores significant requirements then costly
post-
implementation programming may be required.
For example: Visualise yourself attempting to design a car on
paper; how
likely would you memorise to contain interior lights that come
on when the
doors open or to state the right number of valves on the
engine?
These days the dynamic business world frequently causes
quick
environmental variation in businesses. A system that fulfils
current
environmental situations throughout the analysis phase may
require
considerable rework to go hand in hand with the environment when
it is
implemented. This rework needs going back to the preliminary
phase and
making the changes required while moving through each of the
succeeding
phases in order.
7.3.2 Parallel development
Parallel development methodologies reduce the long time interval
between
the analysis stage and the system delivery. You can perform a
general
design for the whole system rather than performing the design
and
implementation in steps. You can then divide the project into a
series of
different subprojects. This way you can perform the design
and
implementation of these different subprojects in parallel.
After the completion of all subprojects, there is a concluding
integration of
the different portions, and then the system is delivered. Check
out figure 7.3
for the same. The main benefit of these methodologies is that
the schedule
time necessary to deliver a system is reduced. Therefore, there
is less
chance of rework as the possibility of changes in the business
environment
is less.
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 153
Figure 7.3: A Parallel Development-based Methodology
Due to long deliverables, the procedure still goes through
difficulties. It also
includes some new problems which are stated below:
At times the subprojects are dependent on each other to some
extent.
Design decisions prepared in one sub-project may influence
another.
The end of the project may include important integration
challenges.
Self Assessment Questions
3. In ____________________ based methodologies, the requirements
of
system are recognised much before the beginning of
programming.
4. ___________________ methodologies include addressing the
long
time interval among the analysis stage and the system
delivery.
5. In parallel development, the schedule time required to make a
delivery
of a system is increased. (True/False)
7.4 Rapid Application Development
To overcome the weaknesses of structured design methodology, a
newer
class of system development methodology came into existence in
the
1990s. This class of system development methodology is known as
Rapid
Application Development (RAD). RAD-based methodologies work on
the
adjustment of system development lifecycle phases. This is done
to develop
a portion of the system quickly and deliver it to the users.
This enables
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 154
users to understand the system in a better way, and then they
offer their
reviews which help in developing an exact system as needed by
the users.
Various methodologies of rapid application development (RAD)
suggest that
analysts make use of particular methods and computer tools to
make the
analysis, design, and implementation phases faster.
Computer-aided
software engineering tools, code generators, and, joint
application design
(JAD) sessions are some of the tools that are used to generate
programs
from design specifications.
The grouping of the changed SDLC phases and the utilisation of
these tools
and techniques enhances the speed and quality of systems
development.
Handling the expectations of a user is one of the difficulties
that generally
occur with rapid application development.
As systems are generated more quickly, the users acquire a
better insight of
information technology. This increases the expectations of the
users, thus
increasing the system requirements throughout the project. This
was not a
case with structured design methodologies. In structured
design
methodologies, only small change was permitted after the
recognition of
system requirements.
Now let us study the different categories of RAD.
7.4.1 Phased development
The phased development-based methodologies are used to divide
the
system into a series of versions that are developed in sequence.
The
system concept, on the whole, is identified by the analysis
phase. The
necessities are then separated into a series of versions by the
project team,
users, and system sponsor.
The first version of the system includes the most significant
and basic
requirements. After the analysis phase, design and
implementation phases
are performed. This must include the set of necessities
recognised for
version 1. See figure 7.4 for a detailed phased development
methodology.
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 155
Figure 7.4: A Phased Development-based Methodology
After the implementation of version 1, work begins on version 2.
From the
users experience with version 1, analysis is performed further
on the basis
of the previously recognised requirements. This additional
analysis is
merged with new ideas and issues identified from the version 1
experience.
This leads to design and implementation of version 2 and work on
the next
version starts immediately. This procedure goes on till the
completion of the
methodology.
One of the benefits of phased development-based methodologies is
rapid
delivery of a useful system to the users. Even though it does
not perform all
the functions required by the users at first, it begins to
supply business
value. This is not a case with the waterfall or parallel
methodologies where
the system is provided to the users, only after the achievement
of all the
requirements
As users start using the system sooner, they are prepared
beforehand to
identify some significant additional requirements as compared to
the
structured design conditions.
The main disadvantage of phased development is that users start
using the
systems that are not in the complete form yet. So, it becomes
necessary to
recognise the useful traits and include them in the first
version when
managing users requirements along the way.
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 156
7.4.2 Prototyping
The prototyping-based methodologies carry out the analysis,
design, and
implementation phases at the same time, and these are
performed
frequently in a series till the completion of the system. Basic
analysis and
design phases are carried out in prototyping, and work instantly
begins on a
system prototype, which can also be called as a quick-and-dirty
program
having negligible features.
The first part of the system, which is used by the user, is
generally included
in the first prototype. This is displayed to the users and the
project sponsor,
who offer response and comments. This reaction is used to
reanalyse,
redesign, and re-implement a second prototype that offers a few
more traits.
This process goes on in a series until the analysts, users, and
sponsor
agree that the prototype offers sufficient functionality to be
installed and
utilised in the organisation. After the installation of
prototype, refinement
takes place and then it is accepted as the new system. See
figure 7.5 for
this process.
Figure 7.5: A Prototyping-based Methodology
The main benefit of a prototyping is that it offers such a
system to the users
which can be used instantly for interaction, though it is not
initially ready for
extensive organisational use.
Prototyping assures the users that the project team is
continuing work on
the system. The approach aids in refining the actual
requirements more
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 157
rapidly. Instead of trying to recognise system specification
materials, the
users can communicate with the prototype to identify its traits
in a better
way.
The main trouble with prototyping is that its fast-paced system
challenges
efforts to perform cautious and systematic analysis. Frequently,
the
prototype goes through such major changes that many preliminary
design
decisions are not considered to be good ones. This can create
problems in
the development of complex systems since fundamental concerns
and
problems are not known until well into the development
process.
For example, imagine building a car. In finding out late in the
prototyping
procedure, you have to take out the full engine to change the
oil (as the
requirement to change the oil came into observation only after
driving the
car for 10,000 miles), the same thing can happen in prototyping
of systems.
7.4.3 Throwaway prototyping
Throwaway prototyping methodologies are comparable to the
prototyping
methodologies as they comprise the development of prototypes.
However,
throwaway prototypes are prepared at various stages in the SDLC.
On
comparing with the prototypes discussed previously, throwaway
prototypes
are utilised for an extremely diverse reason. Check out figure
7.6 for
throwaway prototypes which have a very dissimilar
appearance.
Figure 7.6: A Throwaway Prototyping-based Methodology
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 158
A comparatively detailed analysis phase is included in these
methodologies.
This analysis phase is used to collect information and to
produce ideas for
the system concept. Many of the traits recommended by the users
may not
be well recognised, however, and there may be challenging
technical
concerns to be solved. Each of these concerns is inspected by
analysing,
designing, and building a design prototype.
This is to note that a design prototype, as shown in figure 7.6,
is not a
functioning system. It is a product that signifies a part of the
system that
requires additional refinement, and it encloses only sufficient
detail to allow
users to recognise the issues under consideration.
For example, assume that users are not completely familiar with
how an
order entry system should work. The analyst team might make a
series of
HTML pages accessible by means of a Web browser to assist users
in
visualising such a system. Here, a series of mock-up screens
looks like a
system, but they actually do nothing. Or, assume that there is a
need to
develop a complicated graphics program in Java by the project
team. The
team could write a part of the program with artificial data to
make sure that
they could create a full-blown program effectively.
A system generated from throwaway prototyping most likely uses
various
design prototypes throughout the analysis and design phases.
Each of the
prototypes is utilised to diminish the risk connected with the
system. This is
done by verifying that significant issues are recognised before
the actual
system is built.
After resolving issues, the project moves into design and
implementation.
Here, the design prototypes are cast away, which is imperative
vital
dissimilarity between this approach and prototyping, in which
the prototypes
develop into the final system.
The advantages of carefully planned phases (analysis and design)
together
with the advantages of making use of prototypes for refining
main concerns
of developing a system are balanced by the throwaway
prototyping
methodology.
It may take time to provide the final system to the users in
contrast to
prototyping-based methodologies (as the prototypes do not turn
out to be
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 159
the final system); however, the approach generally generates
more steady
and consistent systems.
Self Assessment Questions
6. In phased development, the _____________________ phase
identifies
the overall system concept.
7. A design prototype is a product that indicates a part of the
system that
needs additional refinement. (True/False)
8. In case of most RAD-based methodologies, no special methods
and
computer tools are used by analysts to make the analysis,
design, and
implementation phases faster. (True/False)
7.5 Current Methodologies: Agile Development
Agile Development is one of the categories of system
development
methodologies that are quite new. These methodologies are
considered as
program-centric and comprise of some rules and practices which
are quite
simple to follow. They concentrate on reforming the SDLC by
removing
much of the modelling and documentation overhead and the time
used up
on these tasks. As an alternative, projects highlight on simple,
iterative
application development.
Extreme programming and Scrum are some of the examples of
Agile
Development methodologies. To get a better idea about agile
development
methodology, lets discuss extreme programming and Scrum in the
next
sections.
7.5.1 Extreme programming
Extreme programming (XP) is based on the following core
values:
Communication
Simplicity
Feedback
Courage.
These values offer a foundation XP that is used to generate any
system.
Primarily, the developers must offer quick response to the end
users on a
continuous basis and secondly, developers are required to keep
it simple.
Then, developers must make additive alterations to grow the
system and
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 160
they must embrace the change, not just accept it. Lastly,
developers must
have a quality-first state of mind. XP also assists team members
in
producing their own skills.
After a planning process, project teams carry out analysis,
design, and
implementation phases iteratively. See figure 7.7 for the
same.
Testing and competent programming practices are core to XP; each
day
code is tested by keeping it in an integrative testing
environment. If bugs are
present, the code is backed out. This testing continues until it
is completely
free of errors. XP is based on re-factoring, which is a
disciplined method to
reorganise code to make it simple.
Figure 7.7: An Extreme Programming-based Methodology
An XP project starts with user stories which illustrate the
requirements that
the system should perform. Then, programmers perform coding in
small,
simple modules and tests to ensure that the requirements are
fulfilled. Users
are required to be accessible to clarify questions and issues as
they occur.
Standards are considered to be significant to diminish
confusion, so XP
teams make use of a general set of names, descriptions, and
coding
practices.
XP work great for small projects with extremely motivated,
consistent,
steady, and experienced teams. However, if there is lack of
small projects or
qualified teams, then the probability of a successful XP project
is reduced.
As a result, the use of XP together with outside contractors
generates an
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 161
extremely problematical outcome. This is because the outside
contractors
may never come together with insiders.
XP needs a great deal of discipline to avoid projects from
becoming
distracted and disordered. Moreover, it is only suggested for
the groups of
small developers and it is not suggested for mission-significant
applications.
There is only code documentation as slight analysis and
design
documentation is generated with XP. So, preservation of large
systems
generated by means of XP may be not possible. In addition, as
mission-
significant business information systems are likely to exist for
a longer
duration, the utility of XP as a business information system
development
methodology is unsure. Lastly, the methodology needs significant
on-site
user input that is often difficult to attain.
7.5.2 Scrum
Scrum is another agile approach. The term is derived from the
game
Rugby. Scrum is the method of starting play in which play starts
when the
ball is thrown in between the forwards of both teams and the two
sides
compete for possession.
The systems development interpretation of Scrum calls for the
same
dedicated interaction. In a Scrum session, agile team members
have
particular roles, having identifications such as chickens or
pigs.
These roles are based on an old children story about the chicken
and pig
who are talking about an eating house where eggs and ham would
be
served. Nevertheless, the pig refuses, since that role would
call for total
commitment, while for the chicken, it would only be a part
input.
In the agile development, the pigs are the facilitator, product
owner and the
development team; while the chickens are users and other
stakeholders.
Scrum sessions have precise guidelines that emphasise time
interaction,
and actions that result in deliverable system.
Agile Method Advantages & Disadvantages
Very flexible and efficient in dealing with change
Stress on team interaction
Reflect set of community-based values
Frequent deliverables constantly validate the project
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
Ankit PrajapatiHighlight
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 162
Members need a high level of technical skills
A lack of structure can introduce risk factors
Project may be subject to significant change in scope
User requirements continue to evolve during the project
Self Assessment Questions
9. __________________ methodologies are referred as
program-centric
and comprising of few rules and practices.
10. On small projects, the probability of a successful XP
project is reduced.
(True/False)
7.6 Selecting the Appropriate Development Methodology
From the number of methodologies, the first challenge for
analysts is to
decide the methodology to be used for developing a system.
Selecting a
methodology is not easy, since any one methodology is not always
the best.
Some standards and policies are followed by an organisation to
conduct the
selection of methodology.
Check out figure 7.8 for some important criteria for the
selection of
methodology.
Figure 7.8: Criteria for Selecting a Methodology
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 163
Frequently, these tools and techniques raise the complexity of
the project
and need additional time for learning. However, the team turns
out to be
experienced, once they are adopted. The tools and techniques
can
significantly enhance the speed in which the methodology can
provide a
final system.
Now, let us discuss the factors considered for selecting the
appropriate
development methodology.
7.6.1 Clarity of user requirements
When the user is uncertain and not clear about his requirements
from a
system, it becomes difficult to recognise these requirements by
discussing
about them and illustrating them in written reports. Users are
usually
required to interact with technology to actually identify what
the new system
can do and how to apply it in the best way to suit their
requirements.
The RAD methodologies of prototyping and throwaway prototyping
are
generally more suitable when the requirements of a user are
uncertain since
they offer prototypes to users for interaction, early in the
SDLC. Agile
development may also be suitable if on-site user input is
accessible.
7.6.2 Familiarity with technology
When a new technology is used by the system, and the technology
is not
known by the analysts and programmers (for example, the first
Web
development project with Java), then the possibility of success
can be
improved by applying the new technology early in the
methodology.
Throwaway prototyping methodologies are mainly suitable for such
cases of
technology non-familiarity. This is because they explicitly
support the
developers to generate design prototypes for regions having high
rate of
threats. Phased development methodologies are also fine since
they
generate chances to examine the technology deeply before
completing the
design.
In case of prototyping-based methodologies, they are much less
suitable,
since the early prototypes that are developed generally are not
able to
access the new technology. The developers find out weaknesses
or
difficulties in the new technology only after numerous
prototypes and
numerous months.
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 164
7.6.3 System complexity
Complex systems need cautious and thorough analysis and
design.
Throwaway prototyping methodologies are mainly suited for such
thorough
analysis and design, but prototyping-based methodologies are not
at all
suitable for such systems. Complex systems can be managed by
the
traditional structured design methodologies.
But some main concerns may get unnoticed without the ability to
hand over
the system or prototypes into users hands early on. Even though
the
phased development-based methodologies allow users to interact
with the
system quite early in the process, we have noticed that project
teams who
follow these methodologies are likely to give less attention to
the analysis of
the whole problem domain than they might if they were utilising
other
methodologies.
7.6.4 System reliability
System reliability is one of the important factors in developing
system. After
all, nobody requires an unreliable system. Sometimes reliability
is really
significant for some applications (e.g., medical equipment,
missile control
systems), whereas it is partially important for other
applications (e.g.,
games, Internet video).
Throwaway prototyping methodologies are most suitable when
system
reliability is the major concern. This is because they combine
thorough
analysis and design phases with the capability for the project
team to test
many dissimilar approaches via design prototypes before
finishing the
design.
Prototyping-based methodologies are usually not a high-quality
selection
when reliability is critical. This is due to the fact that they
fall short of
cautious analysis and design phases that are essential for
reliable systems.
7.6.5 Short time schedules
Projects comprising of short time schedules are well-matched for
RAD-
based methodologies. This is because those methodologies are
designed to
enhance the rapidity of development. Prototyping and phased
development-
based methodologies are outstanding options in case of short
timelines.
This is because they best facilitate the project team to adjust
the
functionality in the system according to a particular date of
delivery.
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 165
If the project schedule begins to slip, re-adjustment can be
done by
eliminating functionality from the version or prototype under
development.
Waterfall-based methodology is the worst option to choose when
there is
shortage of time since they do not permit simple schedule
variations.
7.6.6 Schedule visibility
Knowing whether a project is on schedule is one of the most
significant
factors in developing system. This is mainly true of the
structured design
methodologies since design and implementation take place at the
end of the
project. Many of the important design decisions taken in case of
the RAD-
based methodologies move previously in the project to assist
project
managers identify and address risk factors and check the
requirements.
Self Assessment Questions
11. Many organisations enclose standards and policies used for
the
___________________ of methodology.
12. Throwaway prototyping-based methodologies are not
appropriate when
system reliability is a high priority. (True/False)
13. Prototyping and
___________________________development-based
methodologies are good choices when timelines are short.
7.7 Summary
Let us recapitulate the important concepts discussed in this
unit:
A system development methodology can be defined as a procedure
of
performing all the steps required to analyse, design, implement,
and
maintain information systems.
Structured design follows a step-by-step procedure for moving
from one
level to the other level.
Waterfall development is considered as the original structured
design
methodology where the analysts and users progress in sequence
from
one phase to the next.
In parallel development methodologies, you can perform a
general
design for the whole system rather than performing the design
and
implementation in series.
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 166
RAD-based methodologies perform the adjustment of system
development lifecycle phases to obtain a portion of the
system
developed quickly and deliver it to the users
The phased development-based methodologies are used to divide
the
system into a series of versions that are developed in
succession.
The prototyping-based methodologies carry out the analysis,
design,
and implementation phases at the same time, and all three phases
are
executed frequently in a series until the system is
completed.
Agile Development is one of the categories of systems
development
methodologies that are currently prevalent.
Extreme programming (XP) is based on the core values, that
is,
communication, simplicity, feedback, and courage which offer
a
foundation XP that is used by developers to generate any
system.
Selecting a methodology is not easy, since any one methodology
is not
always best. Some standards and policies are followed by an
organisation to conduct the selection of methodology.
7.8 Glossary
Agile development: The agile methodologies are programming
centric
methodologies comprising of some simple rules which are
followed
through a simple iterative development procedure.
Phased development: Phased Development methodology is used
to
generate the system in a sequential manner in the form of
separated
versions.
Prototyping: Prototyping builds a model of a system that is to
be
developed.
RAD: The rapid application development (RAD) methodologies
rapidly
obtain some part of the system and permit users feedback to make
sure
that the whole system provides the correct requirements.
Waterfall development: It is a linear and sequential approach
used in
software design and systems development.
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 167
7.9 Terminal Questions
1. Explain the concept of waterfall development methodology.
Also discuss
the advantages and disadvantages of this methodology.
2. What is rapid application development (RAD)? Compare it
with
structured design methodologies.
3. How does a prototyping-based methodology perform in the
different
phases of SDLC? Illustrate.
4. Discuss the use of Agile Development methodology. Also
explain the
concept of extreme programming.
5. Illustrate the process of selecting the appropriate
development
methodology. Also discuss the various factors considered in
selecting
the appropriate development methodology.
7.10 Answers
Self Assessment Questions
1. Process-centred
2. False
3. Waterfall development
4. Parallel development
5. False
6. analysis
7. True
8. False
9. Agile development
10. True
11. selection
12. False
13. phased
Terminal questions
1. In waterfall development methodology, the key deliverables
for each
phase are usually capacious and are supplied to the project
sponsor for
consent as the project moves from one phase to another phase.
One of
the benefits of waterfall development is that system needs
are
-
System Analysis and Design Unit 7
Sikkim Manipal University Page No. 168
recognised much before programming starts. One of the drawbacks
of
waterfall development is that there is a need of fully specied
design
before programming starts. Refer section 7.3.
2. In case of RAD, the expectations of the users may increase
thus
increasing the system requirements throughout the project. This
was not
a case with structured design methodologies. Refer section
7.4.
3. The prototyping-based methodologies carry out the analysis,
design,
and implementation phases at the same time, and all three phases
are
performed frequently in a series until the system is completed.
Refer
section 7.4.
4. Agile development methodology concentrates on reforming the
SDLC by
removing much of the modelling and documentation overhead and
the
time used on those tasks. Extreme programming (XP) is based on
the
following core values: communication, simplicity, feedback,
and
courage. Refer sections 7.5.
5. Selecting a methodology is not easy, since any one
methodology is not
always the best. Various organisations contain standards and
policies to
conduct the selection of methodology. Refer section 7.6.
7.11 References
D. E. Avison., Information systems development, McGraw-Hill.
Roy Hodgson., System development methodologies, Corporate
Training
Pty Ltd.
MariteKirikova., Information systems development, Springer.
E-References:
http://akademik.bahcesehir.edu.
http://www.ecomval.gov.ph/IDforSAD/interactions/waterfall.html
http://www.ecomval.gov.ph/IDforSAD/interactions/parallel.html
http://www.ecomval.gov.ph
http://www.chrisshayan.com