Page 48 -
P. 48
ChaPter 1 • SyStemS, roleS, and develoPment methodologieS 15
Object-oriented methodologies often focus on small, quick iterations of development, some-
times called the spiral model. Analysis is performed on a small part of the system, usually starting
with a high-priority item or perhaps the item that has the greatest risk. This is followed by design
and implementation. The cycle is repeated with analysis of the next part, design, and some
implementation, and this is repeated until the project is complete. Reworking diagrams and the
components themselves is normal. UML is a powerful modeling tool that can greatly improve
the quality of your systems analysis and design and the final product.
Choosing Which Systems Development Method to Use
The differences among the three approaches described earlier are not as big as they seem at the
outset. In all three approaches, the analyst needs to understand the organization first (Chapter 2).
Then the analyst or project team needs to budget time and resources and develop a project proposal
(Chapter 3). Next, they need to interview organizational members and gather detailed data by using
questionnaires (Chapter 4) and sample data from existing reports and observe how business is cur-
rently transacted (Chapter 5). The three approaches have all of these activities in common.
Even the methods themselves have similarities. The SDLC and object-oriented approaches both
require extensive planning and diagramming. The agile approach and the object-oriented approach
both allow subsystems to be built one at a time until the entire system is complete. The agile and
SDLC approaches are both concerned about the way data logically moves through the system.
So given a choice to develop a system using an SDLC approach, an agile approach, or an
object-oriented approach, which would you choose? Figure 1.7 provides a set of guidelines to
help you choose which method to use when developing your next system.
Developing Open Source Software
An alternative to traditional software development in which proprietary code is hidden from the
users is called open source software (OSS). With OSS, many users and programmers can study,
share, and modify the code, or computer instructions. Rules of this community include the idea
that any program modifications must be shared with all the people on the project.
Development of open source software has also been characterized as a philosophy rather
than simply as the process of creating new software. Often those involved in open source
Figure 1.7
Choose When
How to decide which development
The Systems Development • systems have been developed and documented using SDLC method to use.
Life Cycle (SDLC) Approach • it is important to document each step of the way
• upper-level management feels more comfortable or safe
using SDLC
• there are adequate resources and time to complete the full
SDLC
• communication of how new systems work is important
Agile Methodologies • there is a project champion of agile methods in the
organization
• applications need to be developed quickly in response to
a dynamic environment
• a rescue takes place (the system failed and there is no time
to figure out what went wrong)
• the customer is satisfied with incremental improvements
• executives and analysts agree with the principles of agile
methodologies
Object-Oriented • the problems modeled lend themselves to classes
Methodologies • an organization supports the UML learning
• systems can be added gradually, one subsystem at a time
• reuse of previously written software is a possibility
• it is acceptable to tackle the difficult problems first