You are on page 1of 15

Mgmt 3011; Chapter NEED FOR SYSTEMS

ANALYSIS AND
1: Systems, Roles DESIGN
and Development
Systems analysis and design, as
Methodologies performed by systems analysts, seeks
LEARNING to understand what humans need to
analyze data input or data flow
OBJECTIVES
systematically, process or transform
data, store data, and output
 Understand the need for information in the context of a
systems analysis and design in particular organization or enterprise.
organizations By doing thorough analysis, analysts
 Realize what the many roles of seek to identify and solve the right
a systems analyst are problems. Furthermore, systems
 Comprehend the fundamentals analysis and design are used to
of three development analyze, design, and implement
methodologies: SDLC, the agile improvements in the support of users
approach and object-oriented and the functioning of businesses that
systems analysis and design can be accomplished through the use
of computerized information systems.
This chapter examines the
fundamentals of different kinds of Installing a system without proper
information systems, the varied planning leads to great user
roles of systems analysts, and the dissatisfaction and frequently causes
phases in the systems development the system to fall into disuse. Systems
life cycle (SDLC) as they relate to analysis and design lends structure to
human–computer interaction the analysis and design of information
(HCI) factors; it also introduces systems, a costly endeavor that might
computer-aided software otherwise have been done in a
engineering (CASE) tools. haphazard way. It can be thought of
as a series of processes systematically
undertaken to improve a business
through the use of computerized
information systems. Systems SYSTEMS ANALYST AS
analysis and design involves working CONSULTANT

with current and eventual users of A systems analyst frequently acts as a


information systems to support them systems consultant to humans and
in working with technologies in an their businesses and, thus, may be
organizational setting. hired specifically to address
information systems issues within a
User involvement throughout a
business. Such hiring can be an
systems project is critical to the
advantage because outside consultants
successful development of
can bring with them a fresh
computerized systems.
perspective that other people in an
ROLESOF THE organization do not possess. It also
means that outside analysts are at a
SYSTEMS ANALYST disadvantage because an outsider can
never know the true organizational
A systems analyst systematically culture. As an outside consultant, you
assesses how users interact with will rely heavily on the systematic
technology and how businesses methods discussed throughout this
function by examining the inputting text to analyze and design appropriate
and processing of data and the information systems for users
outputting of information with the working in a particular business. In
intent of improving organizational addition, you will rely on information
processes. systems users to help you understand
Our definition of a systems analyst is the organizational culture from
necessarily broad. An analyst must be others’ viewpoints
able to work with people of all SYSTEMS ANALYST AS A
descriptions and be experienced in SUPPORTING EXPERT
working with computers. An analyst
Another role that you may be required
plays many roles, sometimes
to play is that of supporting expert
balancing several at the same time.
within a business for which you are
The three primary roles of a systems
regularly employed in some systems
analyst are consultant, supporting
capacity. In this role, an analyst draws
expert, and agent of change.
on professional expertise concerning
computer hardware and software and
their uses in the business. This work and use it as a starting point for your
is often not a full-blown systems analysis. Hence, you must interact
project, but rather it entails a small with users and management (if they
modification or decision affecting a are not one and the same) from the
single department. As the supporting very beginning of your project.
expert, you are not managing the Without their help, you cannot
project; you are merely serving as a understand what they need to support
resource for those who are. If you are their work in the organization, and
a systems analyst employed by a real change cannot take place.
manufacturing or service
If change (that is, improvements to
organization, many of your daily
the business that can be realized
activities may be encompassed by this
through information systems) seems
role.
warranted after analysis, the next step
SYSTEMS ANALYST AS AGENT OF is to develop a plan for change along
CHANGE with the people who must enact the
The most comprehensive and change. Once a consensus is reached
responsible role that the systems on the change that is to be made, you
analyst takes on is that of an agent of must constantly interact with those
change, whether internal or external who are changing. As a systems
to the business. As an analyst, you are analyst acting as an agent of change,
an agent of change whenever you you advocate a particular avenue of
perform any of the activities in the change involving the use of
systems development life cycle information systems. You also teach
(discussed in the next section) and are users the process of change because
present and interacting with users and changes in the information system do
the business for an extended period not occur independently; rather, they
(from two weeks to more than a year). cause changes in the rest of the
An agent of change can be defined as organization as well.
a person who serves as a catalyst for
change, develops a plan for change, QUALITIES OF THE SYSTEMS
and works with others in facilitating ANALYST
that change. Your presence in the  An analyst is a problem solver.
business changes it. As a systems He or she is a person who
analyst, you must recognize this fact views the analysis of problems
as a challenge and who enjoys Systems analysis is a demanding
devising workable solutions. career, but, in compensation, an ever-
When necessary, an analyst changing and always challenging one.
must be able to systematically
tackle the situation at hand THE SYSTEMS
through skillful application of DEVELOPMENT LIFE
tools, techniques, and CYCLE
experience.
 An analyst must also be a
The SDLC is a phased approach to
communicator capable of
analysis and design which holds that
relating meaningfully to other
systems are best developed through
people over extended periods of
the use of a specific cycle of analyst
time. Systems analysts need to
and user activities.
be able to understand humans’
needs in interacting with  Although each phase is
technology, and they need presented discretely, it is never
enough computer experience to accomplished as a separate
program, to understand the step. Instead, several activities
capabilities of computers, to can occur simultaneously, and
glean information requirements activities may be repeated.
from users, and to
communicate what is needed to
programmers.
 They also need to possess
strong personal and
professional ethics to help them
shape their client relationships.
 A systems analyst must be a
self-disciplined, self-motivated
individual who is able to
manage and coordinate other IDENTIFYING PROBLEMS
OPPORTUNITIES AND OBJECTIVES
people, as well as innumerable
project resources. In this first phase of the systems
development life cycle, an analyst is
concerned with correctly identifying between humans and the computer. It
problems, opportunities, and is the layer of the computer that is
objectives. This stage is critical to the between humans and the computer”
success of the rest of the project (Zhang, Carey, Te’eni, & Tremaine,
because no one wants to waste 2005, p. 518).
subsequent time addressing the wrong
Activity
problem.
 Interviewing
Activity:
 Sampling and investing hard
 Interviewing user management data
 Summarizing the knowledge  Questionnaires
obtained  Observe the decision maker’s
 Estimating the scope of the behavior and environment
project  Prototyping
 Documenting the results  Learn the who, what, where,
when, how and why of the
Output
current system
 Feasibility report containing
Output
problem definition and
objective summaries from  Analyst understand how users
which management can make a accomplish their work when
decision on whether to proceed interacting with a computer
with the proposed project  Begin to know hoe to make the
new system more useful and
DETERMINING HUMAN
INFORMATION REQUIREMENTS usable
 The analyst should also know
In recent years, the study of human–
the business functions
computer interaction (HCI) has
 Have complete information on
become increasingly important for
the people, goals, data and
systems analysts. Although the
procedure involved
definition is still evolving, researchers
characterize HCI as the “aspect of a ANALYZING SYSTEM NEEDS
computer that enables
The next phase that the systems
communications and interactions
analyst undertakes involves analyzing
system needs. Again, special tools and  Design the human-computer
techniques help the analyst make interface (HCI)
requirement determinations. Tools  Design files and or database
such as data flow diagrams (DFDs) to  Design backup procedures
chart the input, processes, and output
of the business’s functions, or activity Output
diagrams or sequence diagrams to  Model of the actual system
show the sequence of events, illustrate
systems in a structured, graphical DEVELOPING ANF DOCUMENTING
SOFTWARE
form. From data flow, sequence, or
other diagrams, a data dictionary is Activity
developed that lists all the data items
used in the system, as well as their  System analyst works with
specifications. programmers to develop any
original software
Activity  Works with users to develop
effective documentation
 Create data flow diagrams
 Coder’s design, code and
 Complete the data dictionary
remove syntactical errors from
 Analyze the structured
computer programs
decisions made
 Document software with
 Prepare and present the system
procedure manuals, online help,
proposal
frequently asked questions
Output (FAQ) and Read Me Files

 Recommendation of what, if Output


anything, should be done
 Computer programs
 System documentation

DESIGNING THE RECOMMENDED TESTING AND MAINTAINING THE


SYSTEM SYSTEM

Activity Activity

 Design procedures to accurately  Test the information system


enter data  System maintenance
 Maintenance documentation number of programs written increases,
so does the amount of maintenance
Output
they require.
 Problems, if any
 Updated programs
 Documentation

IMPLEMENTING AND EVALUATING


THE SYSTEM

Activity

 Train users
 Plans the conversion form old
Maintenance is performed for two
system to new system
reasons
 Review and evaluate system
1. To correct software errors
Output No matter how thoroughly a
 Trained personnel system is tested, bugs or errors
 Installed system creep into computer programs.
Bugs in commercial PC
THE IMPACT OF software are often documented
MAINTENANCE as “known anomalies,” and
they are corrected when new
After the system is installed, it must
versions of the software are
be maintained, meaning that the
released or in an interim
computer programs must be modified
release. In custom software
and kept up to date. Figure 1.2
(also called bespoke software),
illustrates the average amount of time
bugs must be corrected as they
spent on maintenance at a typical MIS
are detected.
installation. Estimates of the time
2. To enhance the software’s
spent by departments on maintenance
capabilities in response to
have ranged from 48 to 60 percent of
changing organizational needs,
the total time spent developing
generally involving one if the
systems. Very little time remains for
following three situations
new systems development. As the
 Users often request additional information system is installed,
features after they become maintenance usually takes the form of
familiar with the computer correcting previously undetected
system and its capabilities program errors. Once these are
 The business changes over time corrected, the system approaches a
 Hardware and software are steady state, providing dependable
changing at an accelerated pace service to its users. Maintenance
during this period may consist of
Figure 1.3 illustrates the number of removing a few previously undetected
resources—usually time and money— bugs and updating the system with a
spent on systems development and few minor enhancements. As time
maintenance. The area under the goes on and the business and
curve represents the total dollar technology change, however, the
amount spent. You can see that over maintenance effort increases
time, the total cost of maintenance is dramatically
likely to exceed that of systems
development. At a certain point it USING CASE TOOLS
becomes more feasible to perform a Analysts who adopt the SDLC
new systems study because the cost of approach often benefit from
continued maintenance is clearly productivity tools, called computer
greater than the cost of creating an aided software engineering (CASE)
entirely new information system. tools, that have been created explicitly
to improve their routine work through
the use of automated support.
Analysts rely on CASE tools to
increase productivity, communicate
more effectively with users, and
integrate the work that they do on the
system from the beginning to the end
of the life cycle.

All the information about the project


In summary, maintenance is an is stored in an encyclopedia called the
ongoing process over the life cycle of CASE repository, a large collection of
an information system. After the records, elements, diagrams, screens,
reports, and other information. THE AGILE
Analysis reports may be produced
using the repository information to
APPROACH
show where the design is incomplete
or contains errors. the agile approach is a software
development approach based on
Visible Analyst (VA) is one example values, principles, and core practices.
of a CASE tool that enables systems The four values are communication,
analysts to do graphical planning, simplicity, feedback, and courage. We
analysis, and design in order to build recommend that systems analysts
complex client/server applications and adopt these values in all projects they
databases. Visible Analyst and undertake, not just when adopting the
software products like Microsoft agile approach.
Visio or OmniGraffle allow users to
draw and modify diagrams easily. DEVELOPMENTAL PROCESS FOR AN
AGILE PROJECT
Analysts and users alike report that
CASE tools afford them a means of Activities and behaviors shape the
communication about the system way development team members and
during its conceptualization. Through customers act during the development
the use of automated support featuring of an agile project. Two words that
onscreen output, clients can readily characterize a project done with an
see how data flows and other system agile approach are interactive and
concepts are depicted, and they can incremental. By examining Figure
then request corrections or changes 1.5, we can see that there are five
that would have taken too much time distinct stages: exploration, planning,
with older tools. CASE tools can also iterations to the first release,
help support the modeling of an productionizing, and maintenance.
organization’s functional Notice that the three red arrows that
requirements, assist analysts and users loop back into the “Iterations” box
in drawing the boundaries for a given symbolize incremental changes
project, and help them visualize how created through repeated testing and
the project meshes with other parts of feedback that eventually lead to a
the organization. stable but evolving system. Also note
that there are multiple looping arrows
that feed back into the
productionizing phase. These relationship with their business
symbolize that the pace of iterations is customers
increased after a product is released.  Maximize the value of the
The red arrow is shown leaving the system produced by the agile
maintenance stage and returning to team
the planning stage, so that there is a  Main players are the
continuous feedback loop involving development team and the
customers and the development team business customer
as they agree to alter the evolving
ITERATIONS TO THE FIRST
system. REALEASE

Iterations are cycles of

 Testing
 Feedback
 Change

One goal is to run customer-written


function tests at the end of each
iteration.
PRODUCTIONIZING
EXPLORATION
 The product is released in this
 Assemble team phase
 Assess skills  May be improved by adding
 Examine potential technologies other features
 Experiment with writing user MAINTENANCE
stories
 New features may be added
 Adopt a playful and curious
 Riskier customer suggestions
attitude toward the work
may be considered
environment, its problems,
technologies and people  Team members may be rotated
on or off the team.
PLANNING

 Rules that can help formulate


the agile development team’s
OBJECT-ORIENTED behaviors found in each object in the
class.
SYSTEMS ANALYSIS
AND DESIGN The phases in UML are similar to
those in the SDLC. Since those two
methods share rigid and exacting
Object-oriented (O-O) analysis and
modeling, they happen in a slower,
design is an approach that is intended
more deliberate pace than the phases
to facilitate the development of
of agile modeling. An analyst goes
systems that must change rapidly in
through problem and identification
response to dynamic business
phases, an analysis phase, and a
environments.
design phase, as shown in Figure 1.6
Object-oriented techniques often work
Although much of the specifics are
well in situations in which
discussed in Chapters 2 and 10, the
complicated information systems are
following steps give a brief
undergoing continuous maintenance,
description of the UML process:
adaptation, and redesign.
1.Define the case model
Object-oriented approaches use the
industry standard for modeling object- In this phase the analyst identifies the
oriented systems, called Unified actors and the major events initiated
Modeling Language (UML), to break by the actors. Often the analyst will
down a system into a use case model. start by drawing a diagram with stick
figures representing the actors and
Object-oriented programming differs
arrows showing how the actors relate.
from traditional procedural
This is called a use case diagram
programming in that it examines
(Chapter 2), and it represents the
objects that are part of a system. Each
standard flow of events in the system.
object is a computer representation of
Then an analyst typically writes up a
some actual thing or event. Objects
use case scenario (Chapter 2), which
may be customers, items, orders, and
describes in words the steps that are
so on. Objects are represented by and
normally performed.
grouped into classes that are optimal
for reuse and maintainability. A class 2. During the systems analysis phase,
defines the set of shared attributes and begin drawing UML diagrams. In the
second phase (Chapter 10), the
analyst draws activity diagrams, system, and that implies modifying
which illustrate all the major activities the diagrams drawn in the previous
in the use case. In addition, the phase. These diagrams can be used to
analyst creates one or more sequence derive classes, their attributes, and
diagrams for each use case, which methods (methods are simply
show the sequence of activities and operations). An analyst will need to
their timing. This is an opportunity to write class specifications for each
go back and review the use cases, class, including the attributes,
rethink them, and modify them if methods, and their descriptions. The
necessary. analyst will also develop method
specifications that detail the input and
3. Continuing in the analysis phase,
output requirements for each method,
develop class diagrams. The nouns in
along with a detailed description of
the use cases are objects that can
the internal processing of the method.
potentially be grouped into classes.
For example, every automobile is an 6. Develop and document the system.
object that shares characteristics with
UML is, of course, a modeling
other automobiles. Together they
language. An analyst may create
make up a class.
wonderful models, but if the system
4. Still in the analysis phase, draw isn’t developed, there is not much
state chart diagrams. The class point in building models.
diagrams are used to draw state chart Documentation is critical. The more
diagrams, which help in complete the information you provide
understanding complex processes that the development team through
cannot be fully derived by the documentation and UML diagrams,
sequence diagrams. The state chart the faster the development and the
diagrams are extremely useful in more solid the final production system
modifying class diagrams, so the
Object-oriented methodologies often
iterative process of UML modeling
focus on small, quick iterations of
continues.
development, sometimes called the
5. Begin systems design by spiral model. Analysis is performed
modifying the UML diagrams. Then on a small part of the system, usually
complete the specifications. Systems starting with a high-priority item or
design means modifying the existing 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 are normal.
UML is a powerful modeling tool that
can greatly improve the quality of
your systems analysis and design and
the final product.
DEVELPING 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
HOW TO DECIDE program modifications must be shared
WHICH with all the people on the project
DEVELOPMENT Categorized open-source communities
METHOD TO USE into four community types

 Ad hoc
 Standardized
 Organized
 Commercial

Six different dimensions

 General structure
 Environment they may want to contribute
 Goals generously or altruistically to a higher
 Methods good beyond developing profitable
 User community proprietary software, and doing so
 Licensing may make them appear as “good
guys” to the external public.
WHY ORGANIZATIONS PARTICIPATE
IN OPEN-SOURCE COMMUNITIES. THE ROLE OF THE ANALYST IN
OPEN-SOURCE SOFTWARE
Organizations participate in open-
source communities for a variety of One reason your company may ask
reasons. One is the rapidity with you to participate in an open-source
which new software can be developed community is curiosity about what the
and tested. It is faster to have a software benefits to the organization
committed group of expert developers might be. This may be a result of a
develop, test, and debug code than it sort of bandwagon effect, for when it
is to have one isolated team working becomes known that competitors are
on software development. This cross- already participating, your
fertilization can also be a boon to organization may want to get
creativity. involved. With competitors actively
participating in an open community,
Another reason to participate is the an organization may calculate that it
benefit of having many good minds is something that should at least be
work with innovative applications. investigated seriously, not dismissed
Yet another reason for participating in summarily.
an open-source community might be
the potential for keeping down Another reason your company might
development costs. ask you to participate as a developer
in an open community is to achieve
what researchers have labeled “shared
design.” Shared design means that
Organizations might also seek to
while you are participating in the
participate in an open-source
open-source community, you are at
community due to a desire to bolster
the same time employed by an
their own self-image and contribute
organization that wants to leverage
something worthwhile to the larger
your participation in the open-source
software development community;
community to incorporate open-
source software designs into
proprietary products, processes,
knowledge, and IT artifacts that it is
developing and that it hopes to
eventually sell as a product that is
differentiated from what the open-
source community has produced.
Through a process of shared design,
the IT artifact is imbued with both
community and organizational
structures, knowledge, and practices.

You might also like