- What is a system development life cycle, and what are the phases in the cycle?
An information system includes data, people,
procedures, hardware, and software.
Teams of individuals are required to develop
systems. Those teams need to follow
an organized process (or set of steps) to
ensure that development proceeds in an
orderly fashion. This set of steps is usually
referred to as the system development life
cycle (SDLC). There are six steps in the
SDLC waterfall model discussed earlier in
this chapter: (1) A problem or opportunity is
identified. (2) The problem is analyzed, and
a program specification document is created
to outline the project objectives. (3) A
detailed plan for programmers to follow
is designed using flowcharts and data-flow
diagrams. (4) Using this plan, the program
is developed and documented. (5) The
program is tested to ensure that it works
properly and is installed so that it can be
used. (6) Ongoing maintenance and
evaluation ensure a working product.
- What is the life cycle of a program?
Each programming project follows several
stages from conception to final deployment.
The problem statement identifies the task to
be computerized and describes how the software
program will behave. An algorithm is
developed that specifies the sequence of
steps that the program must take to complete
the work. The algorithm is then translated
into highly structured programming
code. The code goes through the processes
of debugging, in which the programmers
find and repair any errors in the code; testing
by the programming team; and further
testing by the people who will use the program.
The results of the entire project are
documented for the users and the development
team. Finally, users are trained so that
they can use the program efficiently.
- What role does a problem statement
play in programming?
The problem statement is an explicit
description of what tasks the computer
program must accomplish and how the
program will execute these tasks and
respond to unusual situations. It describes
the input data that users will have at the
start of the job, the output that the program
will produce, and the exact processing that
converts these inputs to outputs. In addition,
the problem statement identifies potential
errors and plans to address these errors.
- How do programmers create
For simple problems, programmers create
an algorithm by converting a problem statement
into a list of steps (or actions) the program
will take. For more complex problems,
programmers must identify where decision
points occur in the list of steps. Some decisions
are yes/no (binary), whereas others
create a repeating action (loop). Algorithms
are documented in the form of a flowchart
or in pseudocode. Programmers use either
top-down or object-oriented analysis to
produce the algorithm.
- How do programmers move from
algorithm to code, and in what
categories of language might they
Computer code uses special words and strict
rules to enable programmers to control the
CPU without having to know all of its hardware
details. Programming languages are
classified in several major groupings, sometimes
referred to as generations, with the first
generation being machine language—the binary
code of 1s and 0s that the computer understands.
Assembly language is the next
generation; it uses short, English-like commands
that speak directly to the CPU and
give the programmer direct control of hardware
resources. Each successive generation
in language development has relieved programmers
of some of the burden of keeping
track of what the hardware requires and
more closely matches how humans think
- How does a programmer move from
code in a programming language
to the 1s and 0s the CPU can
Compilation is the process by which code is
converted into machine language, the language
the CPU can understand. A compiler
is a program that understands both the syntax
of the programming language and the
exact structure of the CPU and its machine
language. It can translate the instructions
written by programmers in the higher-level
language into machine language, the binary
patterns that will execute commands on the
CPU. Each programming language has its
own compiler. Separate versions are required
to compile code that will run on each different
type of processor.
- How is a program tested?
If programmers make errors in the algorithm
or in translating the algorithm to code,
problems will occur. Programmers debug
the program by running it constantly to find
errors and to make sure the program behaves
in the way it should. Once debugging
has detected all the code errors, users, both
within the company and outside the company,
test the program in every way they
can imagine—both as it was intended to be
used and in ways only new users may think
up. Before its commercial release, software is
often provided at a reduced cost or no cost
in a beta version to certain test sites or to interested
users for a last round of testing.
- What steps are involved in
completing the program?
Once testing is complete, technical writers
create internal documentation for the program
and external documentation that will
be provided to users of the program. User
training, which begins once the software is
distributed, teaches the user community
how to use the software efficiently.
- How do programmers select the right
programming language for a specific
A programming team reviews several considerations
before selecting the language.
First, certain languages are best used with
certain problems. Second, the target language
should be well matched to the
amount of space available for the final program.
Third, some projects require the selection
of a language that can produce code
that executes in the fastest possible time.
Finally, selecting a language with which the
programmers are familiar is also helpful.
- What are the most popular
programming applications for
Windows and Web applications?
Visual Basic, C/C++, and Java are languages
that enable programmers to include
Windows control features such as scroll
bars, title bars, text boxes, buttons, and
expanding and collapsing menus. Programmers
use HTML/XHTML tags to structure
for Web pages. For more complex Web
development, scripting programs such as
page animations are done with ASP, JSP,
PHP, Flash, and XML.