Module 1 Development Tools and Techniques
Module 1 Development Tools and Techniques
AND TECHNIQUES
Systems Development Tools And
Techniques
Systems Development
The SDLC :
• Information Systems Planning – both enterprise-
level and project-level planning – and Feasibility
Study
• Analysis – Requirements Determination
• DESIGN – Conceptual and Physical
• Construction (Purchase) and Testing
• Implementation including Training and Conversion
• Evolution – Maintenance and Enhancement
What is systems development?
• The process of creating and maintaining information
systems is called systems development or systems
analysis and design. This diagram shows that it
involves all five components of an information
system.
• In addition to technical knowledge, it requires
business knowledge and management skill.
What is systems development?
0 Feasibility
• Prepare for the feasibility study
• Define the problem
• Select feasibility options
• Create feasibility report
Requirements Analysis
3 Definition of Requirements
• Define required system processing
• Develop required data model
• Derive system functions
• Enhance required data model
• Develop specification prototypes
• Develop processing specification
• Confirm system objectives
• Assemble requirements specification
Logical System Specification
5 Logical Design
• Define user dialogues
• Define update processes
• Define enquiry process
• Assemble logical design
Physical Design
6 Physical design
• Prepare for physical design
• Create physical data design
• Create function component implementation map
• Optimise physical data design
• Complete function specification
• Consolidate process data interface
• Assemble physical design
• Structured development methods are
process-oriented, focusing primarily
on modeling the processes, or actions
that capture, store, manipulate, and
distribute data as the data flow
through a system.
• The primary tool for representing a system’s
component processes and the flow of data
between them is the data flow diagram (DFD).
• The data flow diagram offers a logical graphic
model of information flow, partitioning a system
into modules that show manageable levels of
detail. It rigorously specifies the processes or
transformations that occur within each module
and the interfaces that exist between them.
• Figure 13-6 shows a simple data flow
diagram for a mail-in university course
registration system.
• The rounded boxes represent processes,
which portray the transformation of data.
• The square box represents an external
entity, which is an originator or receiver of
information located outside the
boundaries of the system being modeled.
• The open rectangles represent data
stores, which are either manual or
automated inventories of data.
• The arrows represent data flows, which
show the movement between processes,
external entities, and data stores. They
contain packets of data with the name or
content of each data flow listed beside the
arrow.
• This data flow diagram shows that
students submit registration forms with
their name, identification number, and the
numbers of the courses they wish to take.
• In process 1.0, the system verifies that
each course selected is still open by
referencing the university’s course file.
• The file distinguishes courses that are
open from those that have been canceled
or filled.
• Process 1.0 then determines which
of the student’s selections can be
accepted or rejected.
• Process 2.0 enrolls the student in the
courses for which he or she has been
accepted.
• It updates the university’s course file with the
student’s name and identification number and
recalculates the class size. If maximum
enrollment has been reached, the course
number is flagged as closed.
• Process 2.0 also updates the university’s
student master file with information about
new students or changes in address.
• Process 3.0 then sends each student applicant
a confirmation-of-registration letter listing the
courses for which he or she is registered and
noting the course selections that could not be
fulfilled.
Another tool for structured analysis is a data
dictionary, which contains information about
individual pieces of data and data groupings
within a system.
• The data dictionary defines the contents of
data flows and data stores so that systems
builders understand exactly what pieces of
data they contain.
• Process specifications describe the
transformation occurring within the lowest
level of the data flow diagrams. They express
the logic for each process.
RAPID APPLICATION
DEVELOPMENT (RAD)
• Object-oriented software tools, reusable
software, prototyping, and fourth generation
language tools are helping systems builders
create working systems much more rapidly
than they could using traditional systems-
building methods and software tools.
• The term rapid application development
(RAD) is used to describe this process of
creating workable systems in a very short
period of time.
• RAD can include the use of visual
programming and other tools for building
graphical user interfaces, iterative prototyping
of key system elements, the automation of
program code generation, and close teamwork
among end users and information systems
specialists. Simple systems often can be
assembled from prebuilt components. The
process does not have to be sequential, and
key parts of development can occur
simultaneously.
• Agile development focuses on rapid
delivery of working software by breaking a
large project into a series of small
subprojects that are completed in short
periods of time using iteration and
continuous feedback.
• Each mini-project is worked on by a
team as if it were a complete project,
including planning, requirements analysis,
design, coding, testing, and
documentation. Improvement or
addition of new functionality takes place
within the next iteration as developers
clarify requirements.
• This helps to minimize the overall risk,
and allows the project to adapt to
changes more quickly. Agile methods
emphasize face-to-face communication
over written documents, encouraging
people to collaborate and make decisions
quickly and effectively.
Prototyping Techniques
PROTOTYPING
• Prototyping consists of building
an experimental system rapidly
and inexpensively for end users to
evaluate. By interacting with the
prototype, users can get a better idea
of their information requirements.
The prototype endorsed by the users
can be used as a template to create
the final system.
• The prototype is a working version of an
information system or part of the system,
but it is meant to be only a preliminary
model. Once operational, the prototype will
be further refined until it conforms precisely
to users’ requirements. Once the design has
been finalized, the prototype can be
converted to a polished production system.
• The process of building a preliminary
design, trying it out, refining it, and trying
again has been called an iterative process
of systems development because the steps
required to build a system can be repeated
over and over again.
• Prototyping is more explicitly iterative
than the conventional life cycle, and it
actively promotes system design changes.
It has been said that prototyping replaces
unplanned rework with planned
iteration, with each version more
accurately reflecting users’ requirements.
STEPS IN PROTOTYPING
• Step 1: Identify the user’s basic
requirements. The system designer
(usually an information systems
specialist) works with the user only long
enough to capture the user’s basic
information needs.
• Step 2: Develop an initial prototype.
The system designer creates a working
prototype quickly, using tools for
rapidly generating software.
STEPS IN PROTOTYPING
• Step 3: Use the prototype. The user is
encouraged to work with the system to
determine how well the prototype meets his
or her needs and to make suggestions for
improving the prototype.
• Step 4: Revise and enhance the prototype.
The system builder notes all changes the user
requests and refines the prototype
accordingly. After the prototype has been
revised, the cycle returns to Step 3. Steps 3
and 4 are repeated until the user is satisfied.
What are the principal methodologies for
modeling and designing systems?