Professional Documents
Culture Documents
Unit I Lesson 3 - System Development Life Cycle (SDLC) : Learning Objectives
Unit I Lesson 3 - System Development Life Cycle (SDLC) : Learning Objectives
UNIT I
Lesson 3 - System Development Life Cycle (SDLC)
Learning Objectives
1. To know how information systems are built
2. To understand the problems encountered when you develop information systems
3. To learn the strengths and weaknesses of development methodologies.
3.1 Introduction
In the last lesson we have seen thoroughly about the concept of System and its components. Let
us have some insight now into the Development and Implementation of such systems as one of the major
responsibilities of any Manager is to develop the system through which he can exercise the functions of
management.
We know that information is an organizational resource which must be managed as carefully as
other resources. Costs are associated with information processing. It must be managed to take full
advantage of its potential.
The following paragraphs will give you some fundamentals you need to keep in mind while
developing information Systems.
A system is a combination of resources working together to transform inputs into usable outputs.
An information system is an arrangement of people, data, processes, interfaces, networks, and
technology that interact to support and improve both day-to-day operations (data processing,
transaction processing), as well as support the problem-solving and decision-making needs of
management (information services, management information systems, executive support).
A computer application is a computer-based solution to one or more business problems or
needs. One or more computer applications are typically contained within an information system.
I could say that development of systems will begin with identifying the problems and ending with
the implementation and its maintenance.
Systems Analysis and Design is a systematic approach to identifying problems,
opportunities, and objectives; analyzing the information flows in organizations; and designing
computerized information systems to solve a problem. Systems Analysts act as outside
consultants to businesses, as supporting experts within a business, and as change agents.
Analysts are problem solvers, and require good communication skills.
A problem is an undesirable situation that prevents the organization from fully achieving its
purpose, goals, and objectives. An opportunity is the chance to improve the organization
even in the absence of specific problems. (Some might argue that any unexploited
opportunity is, in reality, a problem.) A directive is a new requirement imposed by
management, government, or some external influence. (Some might argue that a directive
until it is fully complied with is, in reality, a problem.)
11.602
37
11.602
38
If we are analyzing these stages we might come across the following activities done in
developing, implementing and maintaining a system. These activities are sequential in happening during
the process of developing any type of systems.
1. Identify problems, opportunities, and objectives
2. Determine Information Requirements
3. Analyze System Needs
4. Design the Recommended System
5. Develop and Document the Software
6. Implement and Evaluate the System
7. Maintain the System
Once we know the activities involved in the Development of Systems, it becomes necessary to
know how these activities are carried out by the companies. There are various methods or options a
company can have for developing and implementing its information systems. Let us see some of the
practices mainly followed by many of the successful companies.
11.602
39
11.602
40
11.602
41
Testing. As the software is created and added to the developing system, testing is performed to
ensure that it is working correctly and efficiently. Testing is generally focused on two areas:
internal efficiency and external effectiveness. The goal of external effectiveness testing is to
verify that the software is functioning according to system design, and that it is performing all
necessary functions or sub-functions. The goal of internal testing is to make sure that the
computer code is efficient, standardized, and well documented. Testing can be a labor-intensive
process, due to its iterative nature.
Problems associated with the Waterfall Model
Although the Waterfall Model has been used extensively over the years in the production of many
quality systems, it is not without its problems. In recent years it has come under attack, due to its rigid
design and inflexible procedure. Let me tell you the problems associated with the waterfall model below:
Real projects rarely follow the sequential flow that the model proposes.
At the beginning of most projects there is often a great deal of uncertainty about requirements and
goals, and it is therefore difficult for customers to identify these criteria on a detailed level. The
model does not accommodate this natural uncertainty very well.
Developing a system using the Waterfall Model can be a long, painstaking process that does not
yield a working version of the system until late in the process.
3.6.3 Iterative Development
The problems with the Waterfall Model created a demand for a new method of developing
systems which could provide faster results, require less up-front information, and offer greater flexibility.
With Iterative Development, the project is divided into small parts. This allows the development team to
demonstrate results earlier on in the process and obtain valuable feedback from system users. Often, each
iteration is actually a mini-Waterfall process with the feedback from one phase providing vital
information for the design of the next phase. In a variation of this model, the software products which are
produced at the end of each step (or series of steps) can go into production immediately as incremental
releases.
Problems associated with the Iterative Model
While the Iterative Model addresses many of the problems associated with the Waterfall Model, it
does present new challenges. Let us see them as follows:
The user community needs to be actively involved throughout the project. While this involvement
is a positive for the project, it is demanding on the time of the staff and can add project delay.
Communication and coordination skills take center stage in project development. Informal
requests for improvement after each phase may lead to confusion -- a controlled mechanism for
handling substantive requests needs to be developed.
The Iterative Model can lead to scope creep, since user feedback following each phase may
lead to increased customer demands. As users see the system develop, they may realize the
potential of other system capabilities which would enhance their work.
Variations on Iterative Development
A number of Process Models have evolved from the Iterative approach. All of these methods
produce some demonstrable software product early on in the process in order to obtain valuable feedback
from system users or other members of the project team. We will see them below.
3.6.4 Prototyping
The Prototyping Model was developed on the assumption that it is often difficult to know all of
your requirements at the beginning of a project. Typically, users know many of the objectives that they
wish to address with a system, but they do not know all the nuances of the data, nor do they know the
details of the system features and capabilities. The Prototyping Model allows for these conditions, and
offers a development approach that yields results without first requiring all information up-front.
11.602
42
11.602
43
11.602
44
11.602
45
11.602
46
11.602
47
11.602
48
11.602
49
11.602
50
11.602
51
11.602
52
Two ways to design output for strategic purposes are (1) make it compatible with processes
outside the immediate scope of the system, and (2) turn action documents into turnaround
documents.
People often receive reports they do not need because the number of reports received is perceived
as a measure of power.
Fields on a report should be selected carefully to provide uncluttered reports, facilitate 80-column
remote printing, and reduce information (data) overload.
The types of fields which should be considered for business output are: key fields for access to
information, fields for control breaks, fields that change, and exception fields.
Output may be designed to aid future change by stressing unstructured reports, defining field size
for future growth, making field constants into variables, and leaving room on summary reports for
added ratios and statistics.
Output can now be more easily tailored to the needs of individual users because inquiry-based
systems allow users themselves to create ad hoc reports.
An output intermediary can restrict access to key information and prevent unauthorized access.
An information clearinghouse (or information center) is a service center that provides
consultation, assistance, and documentation to encourage end-user development and use of
applications.
The specifications needed to describe the output of a system are: data flow diagrams, data flow
specifications, data structure specifications, and data element specifications.
Output Documents
Printed Reports
External Reports: for use or distribution outside the organization; often on preprinted forms.
Internal Reports: for use within the organization; not as "pretty", stock paper, greenbar, etc.
Periodic Reports: produced with a set frequency (daily, weekly, monthly, every fifth Tuesday,
etc.)
Ad-Hoc (On Demand) Reports: irregular interval; produced upon user demand.
Detail Reports: one line per transaction.
Summary Reports: an overview.
Exception Reports: only shows errors, problems, out-of-range values, or unexpected conditions or
events.
Input Design
A source document differs from a turnaround document in that the former contains data that
change the status of a resource while the latter is a machine readable document.
Transaction throughput is the number of error-free transactions entered during a specified
time period.
A document should be concise because longer documents contain more data and so take longer to
enter and have a greater chance of data entry errors.
Numeric coding substitutes numbers for character data (e.g., 1=male, 2=female); mnemonic
coding represents data in a form that is easier for the user to understand and remember. (e.g.,
M=male, F=female).
The more quickly an error is detected, the closer the error is to the person who generated it and so
the error is more easily corrected.
An example of an illogical combination in a payroll system would be an option to eliminate
federal tax withholding.
By "multiple levels" of messages, I mean allowing the user to obtain more detailed explanations
of an error by using a help option, but not forcing a lengthy message on a user who does not want
it.
11.602
53
An error suspense record would include the following fields: data entry operator identification,
transaction entry date, transaction entry time, transaction type, transaction image, fields in error,
error codes, date transaction reentered successfully.
A data input specification is a detailed description of the individual fields (data elements) on an
input document together with their characteristics (i.e., type and length).
Be
specific
and
precise,
not
general,
ambiguous,
or
vague.
(BAD: Syntax error, Invalid entry, General Failure)
Don't JUST say what's wrong---- Be constructive; suggest what needs to be done to correct the
error condition.
Be positive; Avoid condemnation. Possibly even to the point of avoiding pejorative terms such as
"invalid" "illegal" or "bad."
Be user-centric and attempt to convey to the user that he or she is in control by replacing
imperatives such as "Enter date" with wording such as "Ready for date."
Consider multiple message levels: the initial or default error message can be brief but allow the
user some mechanism to request additional information.
Consistency in terminology and wording.
o place error messages in the same place on the screen
o use consistent display characteristics (blinking, color, beeping, etc.)
User Interface
The primary differences between an interactive and batch environment are:
o interactive processing is done during the organization's prime work hours
o interactive systems usually have multiple, simultaneous users
o the experience level of users runs from novice to highly experienced
o developers must be good communicators because of the need to design systems with
error messages, help text, and requests for user responses.
The seven step path that marks the structure of an interactive system is
1. Greeting screen (e.g., company logo)
2. Password screen -- to prevent unauthorized use
3. Main menu -- allow choice of several available applications
4. Intermediate menus -- further delineate choice of functions
5. Function screens -- updating or deleting records
6. Help screens -- how to perform a task
7. Escape options -- from a particular screen or the application
11.602
An intermediate menu and a function screen differ in that the former provides choices from a set
of related operations while the latter provides the ability to perform tasks such as updates or
deletes.
The difference between inquiry and command language dialogue modes is that the former asks
the user to provide a response to a simple question (e.g., "Do you really want to delete this file?")
where the latter requires that the user know what he or she wants to do next (e.g., MS-DOS C:>
prompt; VAX/VMS $ prompt; Unix shell prompt). GUI Interface (Windows, Macintosh) provide
Dialog Boxes to prompt user to input required information/parameters.
Directions for designing form-filling screens:
o Fields on the screen should be in the same sequence as on the source document.
o Use cuing to provide the user with information such as field formats (e.g., dates)
o Provide default values.
o Edit all entered fields for transaction errors.
o Move the cursor automatically to the next entry field
o Allow entry to be free-form (e.g., do not make the user enter leading zeroes)
o Consider having all entries made at the same position on the screen.
54
11.602
A default value is a value automatically supplied by the application when the user leaves a field
blank. For example, at SXU the screen on which student names and addresses are entered has a
default value of "IL" for State since the majority of students have addresses in Illinois. At one
time "312" was a default value for Area Code, but with the additional Area Codes now in use
(312, 773, 708, 630, 847) providing a default value for this field is no longer as useful.
The eight parts of an interactive screen menu are:
0. Locator -- what application the user is currently in
1. Menu ID -- allows the more experienced user access without going through the entire
menu tree.
2. Title
3. User instructions
4. Menu list
5. Escape option
6. User response area
7. System messages (e.g., error messages)
Highlighting should be used for gaining attention and so should be limited to critical information,
unusual values, high priority messages, or items that must be changed.
Potential problems associated with the overuse of color are:
o Colors have different meanings to different people and in different cultures.
o A certain percentage of the population is known to have color vision deficiency.
o Some color combinations may be disruptive.
Information density is important because density that is too high makes it more difficult to
discern the information presented on a screen, especially for novice users.
Rules for defining message content include:
o Use active voice.
o Use short, simple sentences.
o Use affirmative statements.
o Avoid hyphenation and unnecessary punctuation.
o Separate text paragraphs with at least one blank line.
o Keep field width within 40 characters for easy reading.
o Avoid word contractions and abbreviations.
o Use non threatening language.
o Avoid godlike language.
o Do not patronize.
o Use mixed case (upper and lower case) letters.
o Use humor carefully.
Symmetry is important to screen design because it is aesthetically pleasing and thus more
comforting.
Input verification is asking the user to confirm his or her most recent input (e.g., "Are you sure
you want to delete this file?")
Adaptive models are useful because they adapt to the user's experience level as he or she moves
from novice to experienced over time as experience with the system grows.
"Within User" sources of variation include: warm up, fatigue, boredom, environmental
conditions, and extraneous events.
The elements of the adaptive model are:
o Triggering question to determine user experience level
o Differentiation among user experience
o Alternative processing paths based on user level
o Transition of casual user to experienced processing path
o Transition of novice user to experienced processing path
o Allowing the user to move to an easier processing path
55
Interactive tasks can be designed for closure by providing the user with feedback indicating that a
task has been completed.
Internal locus of control is making users feel that they are in control of the system, rather than
that the system is in control of them.
Examples of distracting use of surprise are:
o Highlighting
o Input verification
o Flashing messages
o Auditory messages
Losing the interactive user can be avoided by using short menu paths and "You are here"
prompts.
Some common user shortcuts are: direct menu access, function keys, and shortened response
time.
11.602
56
11.602
57
11.602
58
11.602
59
11.602
Feasibility comparison
Compare actual costs to budget estimates
Was project completed on time?
Does system produce additional revenue?
60
Project goals
User satisfaction
System reliability
System availability
System security
11.602
61
3.9 Summary
The evolution of system development Process Models has reflected the changing needs of
computer customers. As customers demanded faster results, more involvement in the development
process, and the inclusion of measures to determine risks and effectiveness, the methods for developing
systems changed. In addition, the software and hardware tools used in the industry changed (and continue
to change) substantially. Faster networks and hardware supported the use of smarter and faster operating
systems that paved the way for new languages and databases, and applications that were far more
powerful than any predecessors. Numerous changes in the system development environment
simultaneously spawned the development of more practical new Process Models and the demise of older
models that were no longer useful.
Points to Ponder
___________________________________
___________________________________
Problem to be solved
Planning
___________________________________
___________________________________
___________________________________
Support
New solution
to same problem
Implementation
error
to be fixed
___________________________________
___________________________________
Problem analysis
and
Solution requirements
Implemented
solution
Acceptable
solution
Implementation
Design
___________________________________
FAST Methodology
System
Planning
1
Preliminary
Investigation
2
Problem
Analysis
Understand problem
Set Objectives
3
Requirements
Analysis
Define requirements
- Data
- Process
- Interface
4
Decision
Analysis
11.602
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
Compare alternatives
Select hardware &
software
62
___________________________________
___________________________________
Design implementation of
- Network
- Database
- Programming
5
Design
___________________________________
___________________________________
6
Construction
7
Implementation
___________________________________
___________________________________
Bug fixes
New Requirements
Operation
& Support
___________________________________
___________________________________
1
Preliminary
___________________________________
Investigation
Obsolete solution
Problem to be solved
Planning
2
Problem
Analysis
Related problem to be solved
Analysis
Support
Operation
& Support
New solution
to same problem
Implementation
error
to be fixed
7
Implementation
Implementation
6
Construction
Acceptable
solution
___________________________________
3
Requirements
Analysis
___________________________________
___________________________________
Problem analysis
Decision
and
Analysis
Solution requirements
Implemented
solution
___________________________________
Design
5
Design
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
Milestones
11.602
63
___________________________________
___________________________________
Establish standards
___________________________________
For documenting
For programming
___________________________________
___________________________________
___________________________________
___________________________________
Review Questions
1. What are the Phases of System Development Life Cycle?
2. What activities occur during the problem definition phase of the system development life
cycle?
3. Why is system maintenance a large percentage of the life span of an information system?
4. What are the main advantages and disadvantages of In-house system development?
5. Explain the various stages of the System Development.
6. Write an essay about the various approaches in System Development.
Discussion Questions
1. What are some of the reasons organisations choose outsourcing as a method of system
development?
2. Why should a manager prepare a request for System Proposal for new Information Systems?
3. Name three factors that must be considered in determining whether an information system can
be created using a software package, prototyping, or user development. Suggest the benefits and
problems associated with each method.
4. What kinds of human factors can cause resistance to the System Implementation? Find out the
ways to overcome it.
Application Exercises
1. Find at least three B2B sites. Hint: you will probably need to use a magazine or newspaper
search. You will not have access to most of the sites. Identify the current status of the site and
whether it is a common means of conducting business in that industry, or merely a secondary
channel. Where possible, identify the costs and which participant pays them.
2. Choose a local retail firm and identify three models that could be used by the manager to run
the company. Which of these models is the most important to this firm? List the assumptions,
input and output variables, and processes involved for this model.
11.602
64