Chapter 14
Phases in the System Development
Life Cycle
The system development life cycle (SDLC) is an organized set of activities that
guides those involved through the development of an information system and to
maintain and monitor ongoing activities.
The activities of
the SDLC are grouped into five phases, some of which are performed concurrently
and others sequentially. The planning phase involves reviewing and prioritizing
project requests, allocating resources, and identifying the project development
team.
The analysis phase
consists of conducting a preliminary investigation and performing detailed
analysis activities. The design phase calls for acquiring the necessary
hardware and software and developing details of the system. The implementation
phase includes developing programs, installing and testing the new system,
training and educating users, and converting to the new system.
The support phase
entails conducting the post-implementation system review, identifying errors
and enhancements, and monitoring system performance. (Patterson)
Guidelines for
System Development
The development of an information system should follow three general
guidelines. First, use a phased approach to group activities or tasks. Second,
involve the users, including anyone for whom the system is being built. Third,
develop standards, or sets of rules and procedures that the organization
expects employees to accept and follow. (Patterson)
Responsibilities
of IT Professionals
IT professionals with whom the systems analyst might work include other
analysts; database analysts and users, who submit requests for change; a
steering committee, which is responsible for decision making; programmers;
network administrators; vendors; Webmaster; and managers.
Systems analysts
are the liaison between the users and the IT professionals. They convert user
requests into technical specifications. Thus, systems analysts must have some
technical skills. They also must be familiar with business operations and have
excellent communications skills. (Patterson)
Importance of Project Management, Feasibility Assessment, Data and
Information Gathering Techniques, and Documentation Important
Project management is the process of planning, scheduling, and then controlling
the activities during the SDLC. The goal is to deliver an acceptable system in
an agreed-upon time frame, while maintaining costs.
The project plan
generally is recorded and monitored using a Gantt chart and project management
software. Feasibility is a measure of how suitable the development of a system
will be to an organization. Analysts use four criteria to test feasibility:
operational feasibility, schedule feasibility, technical feasibility, and
economic feasibility.
Data and
information gathering techniques supply system developers with accurate and
timely data in order to keep the project on schedule, assess feasibility, and
ensure that the system is meeting requirements. Documentation is the
compilation and summarization of data and information. (Patterson)
Structured Tools
such as Entity-Relationship Diagrams and Data Flow Diagrams Analysis and Design
Use
A systems analyst uses graphics to present a systems analysis in a way that can
be understood by the project team. An entity-relationship diagram (ERD) is a
tool that graphically represents the associations among entities (vendors,
orders, customers, jobs, and so on) in the project.
A data flow diagram
(DFD) is a tool that graphically represents the flow of data (input or output
of data or information) in a system. (Patterson)
Packaged
Software vs. Custom Software
When a steering committee discusses the system proposal and determines which
alternative to implement, it often faces a build-or-buy decision. The committee
must decide whether to buy packaged software or build custom software. Packaged
software is pre-written software available for purchase. Custom software is
application software developed by the user or at the user's request. Custom
software matches an organization's requirements but usually is more expensive
than packaged software and takes longer to design and implement. (Patterson)
Program Development - System Development Life Cycle
If the project development team decides to write custom software, then
programmers develop programs from the program specification package created
during analysis.
The program
development life cycle (PDLC) is part of the implementation phase of the SDLC
and follows an organized set of six activities.
These six steps
are:
(1) analyze the problem,
(2) design the programs,
(3) code the programs,
(4) test the programs,
(5) formalize the solution, and
(6) maintain the programs. (Patterson)
Techniques to
Convert to a New System
The final activity in implementation is to change from the old system to the
new system. This is called conversion. Moving to a new system can take place
using one or more strategies.
With direct
conversion, the user stops using the old system and begins using the new system
on a certain date. Parallel conversion consists of running the old system
alongside the new system for a specified period.
Phased conversion
is used with larger systems that are split into individual sites, each of which
converts separately at different times using either a direct or parallel
conversion.
With a pilot
conversion, only one location in the organization uses the new system — so it
can be tested.
IT Professionals Support of an Information System
In the support phase, systems analysts perform four major activities. They
conduct a post-implementation system review, which is a meeting with users to
determine if the information system is performing according to their
specifications.
Second, they identify errors. Third, they
identify system enhancements. Finally, they conduct performance monitoring
activities to determine if the system is inefficient at any point. (Patterson)
Chapter Fifteen
Six Steps of Program
Development Life Cycle
The program development life cycle (PDLC) is a set of steps that programmers
use to build a computer program. That program is the set of instructions that
directs the computer to perform the steps necessary to process data into
information.
Step 1, analyze
problem, consists of reviewing program specifications; meeting with the analyst
and users; and identifying program components.
Step 2, design
programs, involves grouping activities into modules, devising solution
algorithms, and testing the algorithms.
Step 3, code
programs, entails translating the solution algorithm into a programming
language and entering program code into the computer.
Step 4, test
programs, consists of correcting syntax errors and logic errors.
Step 5, formalize
solution, includes reviewing program code and documentation.
Step 6, maintain
programs, involves correcting errors and adding enhancements.
Top-Down Program
Design
Top-down design breaks the original set of program specifications into smaller,
more manageable sections. A module is a section of program dedicated to
performing a single function. Programmers use a hierarchy chart to represent
program modules graphically.
Programs developed
using the top-down approach usually are reliable and easy to read and maintain.
Structured
Program Design and Control Structures
Structured design is an approach wherein all program logic is constructed from
a combination of three control structures, or designs, that direct the order in
which program instructions are executed.
A sequence control
structure shows one or more actions following each other in sequence.
A selection control
structure tells the program which action to take based on a certain condition.
Programmers use a
repetition control structure when one or more actions are to be performed
repeatedly as long as a certain condition is met.
Object-Oriented Approach to Program Development
With the object-oriented (OO) approach, a programmer can package the data and
the procedure into a single unit called an object. The data elements in the
object are called attributes, and the procedures are called methods. An
object-oriented programming (OOP) language is used to implement the
object-oriented approach to program development.
Programming Languages
BASIC is a simple, interactive problem-solving language sometimes used in an
introductory programming course.
Visual Basic is a
programming language used to develop Windows-based applications.
COBOL is a
procedural programming language widely used for business applications.
The C programming language
is used to develop a variety of software, including operating systems and
application programs. C++ is an object-oriented extension of the C programming
language.
RPG is a
nonprocedural language used for application development on IBM midrange computers.
(Patterson)
Application
Generators, Macros, and RAD Tools
Program development tools such as application generators, macros, and RAD are
user-friendly software products designed to create solutions to information
system requirements.
An application
generator is a program used to build an application without writing extensive
code. A macro is a series of statements that instructs an application how to
complete a routine, repetitive, or sometimes difficult task.
Rapid application
development (RAD) tools - such as Visual Basic, Delphi, and PowerBuilder - are
used to develop software throughout the system development process instead of
waiting until the implementation phase. (Patterson)
HTML, DHTML, XML, and WML Web Page
Development Tools
Hypertext Markup Language (HTML) is a special language used to create Web
pages. It uses specific syntax rules for defining the placement and format of
text, graphics, video, and sound on a Web page.
Dynamic HTML
(DHTML) is a newer version of HTML used to include more graphical interest and
interactivity, without having to access the Web server.
XML (eXtensible
Markup Language) allows Web page developers to create customized tags (codes
that specify links to other documents and how the Web page displays), as well
as the use of predefined tags. XML allows you to define a link that points to
multiple Web sites. XHTML (eXtensible HTML) includes features of HTML and XML.
WML (wireless
markup language) is a subset of XML and is used to design pages specifically
for microbrowsers. Microsoft's .NET Platform is an environment for developing
and running XML Web services and other applications.
Visual Studio .NET
(VS.NET) is the suite of tools that developers use to build applications for
the .NET Platform. Scripts, applets, and servlets are short programs that are
executed inside of another program. The more common scripting languages are
VBScript, JavaScript, and Perl. Applets and servlets commonly are written using
Java. (Patterson)
Multimedia Authoring Software Programs
Multimedia authoring software allows you to combine text, graphics, animation,
audio, and video into an interactive presentation. Applications created for
computer-based training (CBT) and Web-based training (WBT) use this technology.
Works Cited:
Patterson,
James. CIS105. CIS105
PVCC.. Paradise Valley Community College. 2003