0% found this document useful (0 votes)
66 views

The Systems Development Environment: © 2008 by Prentice Hall

system analysis

Uploaded by

YazanAlomari
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views

The Systems Development Environment: © 2008 by Prentice Hall

system analysis

Uploaded by

YazanAlomari
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 45

The Systems

Development
Environment
2008 by Prentice Hall

Learning Objectives

Define information systems analysis and design.


Describe the different types of information systems.
Describe the information Systems Development Life Cycle
(SDLC).
Explain Rapid Application Development (RAD), prototyping, Joint
Application Development (JAD), and Computer Aided Software
Engineering (CASE).
Describe agile methodologies and eXtreme programming.
Explain Object Oriented Analysis and Design and the Rational
Unified Process (RUP).

The Beginning, ..

Information Systems development began as


an art.

My nephew can do it for me.

He started using a computer last year.

Computer boy genius, Computer wizard

Realization

But, we soon realized this was not a practical


long term solution

Vigorous and structured approach


Reliable, scalable system
Large scale system
Proper documentation
Proper planning
Proper project management completion, returns

Information Systems Analysis


and Design

Complex organizational process whereby computer-based


information systems are developed and maintained.
At present, it is an organizational improvement process.
In the future, ?

We know some of it

Project management
People management
Time management
Implementation programming
Maintenance

We tend to practise this as an art without a proper framework

Course Objectives

To provide a generic framework (textbook example)


which can be adapted to different situations.
Similar to those used by system analysts and IT
consultants

Success depends on the proper use of the framework


and your understanding of the organizations objectives,
structure, and processes, as well as your knowledge of
how to exploit information technology for advantage.

Note: Different vendors have different frameworks.

Framework

The Systems Development


Environment

The total information system includes

The hardware
Application software (payroll, inventory, etc)
Systems software
Documentation
Training materials
IT personnel
Users

System Analysts

Organizational role most responsible for analysis and


design of information systems

Study the problems and needs of an organization and


determine how people, methods and IT can best be
combined to bring about improvements.

A Modern Approach to
Systems Analysis and Design

1950s: focus on efficient automation of existing


processes (Mainframe)
1960s: advent of 3GL, faster and more reliable
computers (Mini)
1970s: system development becomes more like an
engineering discipline
1980s: major breakthrough with 4GL, CASE tools,
object oriented methods (Micro)
1990s: focus on system integration, GUI applications,
client/server platforms, Internet
The new century: Web application development,
wireless PDAs, component-based applications,
application service provider

Types of Information
Systems
and
Transaction
Systems
Development
Processing
Systems (TPS)

Automate handling of data about business


activities (transactions)
Process orientation

Management Information Systems (MIS)

Chapter 1

Converts raw data from transaction processing


system into meaningful form
Data orientation

2008 by Prentice Hall

11

Types of Information Systems


and Systems Development
(Cont.)

Decision Support Systems (DSS)

Chapter 1

Designed to help decision makers


Provides interactive environment for decision
making
Involves data warehouses, executive information
systems (EIS)
Database, model base, user dialogue

2008 by Prentice Hall

12

Types of Information Systems


and Systems Development (cont.)

Systems Development Life


Cycle (SDLC)

Methodology for developing, maintaining, and


replacing information systems
Phases in SDLC:

Planning
Analysis
Design
Implementation
Maintenance

Can be conducted in parallel and interactively (see


diagram).

Standard and Evolutionary


Views of SDLC

SDLC Planning Phase


Identify, analyze,
prioritize, and
arrange IS needs

SDLC Analysis Phase


Study and
structure system
requirements

SDLC Design Phase

Convert
recommended
solution to system
specifications

Logical design:
functional features
described
independently of
computer platform

Physical design:
logical
specifications
transformed to
technologyspecific details

SDLC Implementation Phase


Code, test, install,
document and support
the information
system,
user training

SDLC Maintenance Phase


Systematically
repair and
improve the
information
system

as

The Heart of the Systems


Development Process

Current practice combines analysis, design, and implementation


into a single iterative and parallel process of activities

Traditional Waterfall SDLC


One phase begins
when another
completes, little
backtracking and
looping.
The original
developer
(W.W.Royce) of the
waterfall model called
for feedback between
phases. It was
ignored.

Problems with Waterfall


Approach

System requirements locked in after being


determined (can't change)

Limited user involvement (only in


requirements phase)

Do users know their requirements?

Problems with Waterfall


Approach

Too much focus on milestone deadlines of


SDLC phases to the detriment of sound
development practices.

Example : hard and fast deadlines for nebulous and


intangible processes such as analysis and design
Remember no going back!
A two version story

Problems with Waterfall


Approach

Griss, 2003: Finding and fixing a software


problem after delivery is often 100 times more
expensive that finding and fixing it during
analysis and design

Alternatives to Traditional
Waterfall SDLC

Prototyping
CASE tools
Joint Application Design (JAD)
Rapid Application Development (RAD)
Agile Methodologies

eXtreme Programming

Prototyping
Using visual development tool

Iterative development process:


Requirements quickly converted to a working system
System is continually revised
Close collaboration between users and analysts

Computer-Aided Software
Engineering (CASE) Tools

Diagramming tools enable graphical


representation.
Computer displays and report generators
help prototype how systems look and feel.

Chapter 1

2008 by Prentice Hall

29

Computer-Aided Software
Engineering (CASE) Tools
(Cont.)

Analysis tools automatically check for


consistency in diagrams, forms, and reports.

Central repository for integrated storage of


diagrams, reports, and project management
specifications.

Chapter 1

2008 by Prentice Hall

30

Computer-Aided Software
Engineering (CASE) Tools
(Cont.)

Documentation generators standardize


technical and user documentation.

Code generators enable automatic


generation of programs and database code
directly from design documents, diagrams,
forms, and reports.

Chapter 1

2008 by Prentice Hall

31

CASE Tools (Cont.)

Figure 1-12 A class diagram from IBMs Rational Rose


Chapter 1

2008 by Prentice Hall

32

CASE Tools (Cont.)

Chapter 1

2008 by Prentice Hall

33

Joint Application Design


(JAD)

Structured process involving users, analysts,


and managers (all the people directly affected
by the new system)
Several-day intensive work group sessions
Purpose: to specify or review system
requirements

Rapid Application Development


(RAD)

Methodology to decrease design and implementation time


Involves: prototyping, JAD, CASE tools, and code generators
Examples: WebSphere Studio, WebSphere Application Server

Rapid Application Development


(RAD)

Grew out of the convergence of two trends

The increase speed of doing business


The ready availability of high-powered, computerbased tools.

RAD usually looks at the system being


developed in isolation from other systems

Agile Methodologies

Motivated by recognition of software


development as fluid, unpredictable, and
dynamic.
Information systems development is not a
predictable process like civil engineering
Three key principles

Adaptive rather than predictive


Emphasize people rather than roles
Self-adaptive processes

Agile Methodologies (Fowler,


2001)

Uses self-adaptive software development


process. As software is developed, the
process used to develop it should be refined
and improved.

Refer to the Agile Manifesto (Table 1-4), page


23

Chapter 1

2008 by Prentice Hall

39

Agile Methodologies

It is not for every project

Fowler recommends it for projects which involve

Unpredictable or dynamic requirements


Responsible and motivated developers
Customers who understand the process and will get
involved.

Example: Developing an in-house tool used by a


software house

eXtreme Programming (Becker


2000)

Short, incremental development cycles

Two-person programming teams

Solve the problem together

Have a customer on-site during the development


process

Planning, analysis, design and construction are all


fused into a single phase

Coding, testing, listening, designing

eXtreme Programming

Coding and testing operate together

Code is tested very soon after it is written

Advantages:

Can be within hours

Communication between developers


High level of productivity
High-quality code

It is not for every project.

Object-Oriented Analysis and


Design

Based on objects rather than data or processes

Object: a structure encapsulating attributes and


behaviours of a real-world entity

Object class: a logical grouping of objects sharing


the same attributes and behaviours

Inheritance: hierarchical arrangement of classes


enable subclasses to inherit properties of
superclasses

Each phase is organized into a number of


separate iterations.

Planning
Debugging
Analysis & Design

Coding

Rational Unified Process

Conclusion

Is SDLC relevant?

Slow
No falling back
Too much documentation
Impossible to convert art into science
Limited user involvement

You might also like