Chapter 1
The Systems Development
Environment
2
Learning Objectives
 Define information systems analysis and design.
 Describe the information Systems Development Life
Cycle (SDLC).
 Explain Rapid Application Development (RAD),
prototyping, Computer Aided Software Engineering
(CASE).
 Describe agile methodologies and eXtreme
programming.
 Explain Object Oriented Analysis and Design and the
Rational Unified Process (RUP).
3
Introduction
 Information Systems Analysis and Design
Complex organizational process
Used to develop and maintain computer-
based information systems
Used by a team of business and systems
professionals
Introduction (Cont.)
4
An organizational approach to systems analysis and design is driven by
methodologies, techniques, and tools
Introduction (Cont.)
5
Methodologies are a sequence of step-by-step
approaches that help develop your final
product: the information system. Most
methodologies incorporate several
development techniques, such as direct
observations and interviews with users of the
current system.
Introduction (Cont.)
6
Techniques are processes that the analyst will
follow to help ensure that your work is well
complete, and comprehensible to others on
your project team.
Introduction (Cont.)
7
Tools are computer programs, such as
computer-aided software engineering
(CASE) tools, that make it easy to use
specific techniques.
8
Developing Information Systems
 System Development Methodology is a
standard process followed in an
organization to conduct all the steps
necessary to analyze, design, implement,
and maintain information systems.
9
Systems Development Life
Cycle (SDLC)
 Traditional methodology used to develop,
maintain, and replace information systems.
 Phases in SDLC:
 Planning
 Analysis
 Design
 Implementation
 Maintenance
10
Standard and Evolutionary Views of
SDLC
FIGURE 1-3 Evolutionary model
FIGURE 1-2
The systems development life cycle
11
Systems Development Life Cycle
(SDLC) (Cont.)
 Planning – an organization’s total
information system needs are identified,
analyzed, prioritized, and arranged
 Analysis – system requirements are
studied and structured
12
Systems Development Life Cycle
(SDLC) (Cont.)
 Design – a description of the
recommended solution is converted into
logical and then physical system
specifications
 Logical design – all functional features of
the system chosen for development in
analysis are described independently of
any computer platform
13
Systems Development Life Cycle
(SDLC) (Cont.)
 Physical design – the logical
specifications of the system from logical
design are transformed into the
technology-specific details from which all
programming and system construction can
be accomplished
14
Systems Development Life Cycle
(SDLC) (Cont.)
 Implementation – the information system
is coded, tested, installed and supported in
the organization
 Maintenance – an information system is
systematically repaired and improved
15
FIGURE 1-8
The heart of systems development
The Heart of the Systems Development Process
Current practice combines analysis, design, and implementation
into a single iterative and parallel process of activities.
FIGURE 1-7
The analysis–design–code–test loop
17
Traditional Waterfall SDLC
One phase begins
when another
completes, with
little backtracking
and looping.
FIGURE 1-9
A traditional waterfall SDLC
18
Problems with Waterfall Approach
 System requirements “locked in” after
being determined (can't change)
 Limited user involvement (only in
requirements phase)
 Once the milestone had been reached and
the new phase initiated, it became difficult
to go back.
19
Different Approaches to Improving
Development
 Prototyping
 CASE Tools
 Joint Application Design (JAD)
 Rapid Application Development (RAD)
 Agile Methodologies
 eXtreme Programming
 Rational Unified Process (RUP)
Prototyping
 Prototyping
Is a form of Rapid Application Development.
Building a scaled-down working version of the
system
Advantages:
 Users are involved in design
 Captures requirements in concrete form
20
Prototyping (Cont.)
22
Computer-Aided Software
Engineering (CASE) Tools
 Diagramming tools enable graphical
representation.
 Computer displays and report generators
help prototype how systems “look and
feel”.
23
Computer-Aided Software
Engineering (CASE) Tools (Cont.)
 Analysis tools automatically check for
consistency in diagrams, forms, and
reports.
 A central repository provides integrated
storage of diagrams, reports, and project
management specifications.
24
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.
25
CASE Tools (Cont.)
FIGURE 1-10
A class diagram from
IBM’s Rational Rose
(Source: IBM)
CASE Tools (Cont.)
26
Joint Application Design (JAD)
 Structured process involving users, analysts,
and managers.
 Several-day intensive workgroup sessions.
 Purpose:
To specify or review system requirements.
To review system designs.
28
Rapid Application Development
(RAD)
 Methodology to decrease design and
implementation time
 Involves:
extensive user involvement,
prototyping,
JAD sessions,
integrated CASE tools, and
code generators
29
Rapid Application Development
(RAD) (Cont.)
30
Agile Methodologies
 Motivated by recognition of software
development as unpredictable, and
dynamic
 Three key principles
Adaptive rather than predictive
Emphasize people rather than roles
Self-adaptive processes
When to use Agile Methodologies
 If your project involves:
Unpredictable or dynamic requirements
Responsible and motivated developers
Customers who understand the process and
will get involved
31
32
Object-Oriented Analysis and
Design (OOAD)
 Based on objects rather than data or
processes
 Object: a structure encapsulating
attributes and behaviors of a real-
world entity
33
Object-Oriented Analysis and
Design (OOAD) (Cont.)
 Object class: a logical grouping of
objects sharing the same attributes
and behaviors
 Inheritance: hierarchical
arrangement of classes enable
subclasses to inherit properties of
super-classes
34
Assignment
1- CASE Tools:
Investigate and select one tool to demonstrate.
2- Prototyping:
Investigate and demonstrate.
35
Discussion

Chapter 1

  • 1.
    Chapter 1 The SystemsDevelopment Environment
  • 2.
    2 Learning Objectives  Defineinformation systems analysis and design.  Describe the information Systems Development Life Cycle (SDLC).  Explain Rapid Application Development (RAD), prototyping, Computer Aided Software Engineering (CASE).  Describe agile methodologies and eXtreme programming.  Explain Object Oriented Analysis and Design and the Rational Unified Process (RUP).
  • 3.
    3 Introduction  Information SystemsAnalysis and Design Complex organizational process Used to develop and maintain computer- based information systems Used by a team of business and systems professionals
  • 4.
    Introduction (Cont.) 4 An organizationalapproach to systems analysis and design is driven by methodologies, techniques, and tools
  • 5.
    Introduction (Cont.) 5 Methodologies area sequence of step-by-step approaches that help develop your final product: the information system. Most methodologies incorporate several development techniques, such as direct observations and interviews with users of the current system.
  • 6.
    Introduction (Cont.) 6 Techniques areprocesses that the analyst will follow to help ensure that your work is well complete, and comprehensible to others on your project team.
  • 7.
    Introduction (Cont.) 7 Tools arecomputer programs, such as computer-aided software engineering (CASE) tools, that make it easy to use specific techniques.
  • 8.
    8 Developing Information Systems System Development Methodology is a standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systems.
  • 9.
    9 Systems Development Life Cycle(SDLC)  Traditional methodology used to develop, maintain, and replace information systems.  Phases in SDLC:  Planning  Analysis  Design  Implementation  Maintenance
  • 10.
    10 Standard and EvolutionaryViews of SDLC FIGURE 1-3 Evolutionary model FIGURE 1-2 The systems development life cycle
  • 11.
    11 Systems Development LifeCycle (SDLC) (Cont.)  Planning – an organization’s total information system needs are identified, analyzed, prioritized, and arranged  Analysis – system requirements are studied and structured
  • 12.
    12 Systems Development LifeCycle (SDLC) (Cont.)  Design – a description of the recommended solution is converted into logical and then physical system specifications  Logical design – all functional features of the system chosen for development in analysis are described independently of any computer platform
  • 13.
    13 Systems Development LifeCycle (SDLC) (Cont.)  Physical design – the logical specifications of the system from logical design are transformed into the technology-specific details from which all programming and system construction can be accomplished
  • 14.
    14 Systems Development LifeCycle (SDLC) (Cont.)  Implementation – the information system is coded, tested, installed and supported in the organization  Maintenance – an information system is systematically repaired and improved
  • 15.
  • 16.
    FIGURE 1-8 The heartof systems development The Heart of the Systems Development Process Current practice combines analysis, design, and implementation into a single iterative and parallel process of activities. FIGURE 1-7 The analysis–design–code–test loop
  • 17.
    17 Traditional Waterfall SDLC Onephase begins when another completes, with little backtracking and looping. FIGURE 1-9 A traditional waterfall SDLC
  • 18.
    18 Problems with WaterfallApproach  System requirements “locked in” after being determined (can't change)  Limited user involvement (only in requirements phase)  Once the milestone had been reached and the new phase initiated, it became difficult to go back.
  • 19.
    19 Different Approaches toImproving Development  Prototyping  CASE Tools  Joint Application Design (JAD)  Rapid Application Development (RAD)  Agile Methodologies  eXtreme Programming  Rational Unified Process (RUP)
  • 20.
    Prototyping  Prototyping Is aform of Rapid Application Development. Building a scaled-down working version of the system Advantages:  Users are involved in design  Captures requirements in concrete form 20
  • 21.
  • 22.
    22 Computer-Aided Software Engineering (CASE)Tools  Diagramming tools enable graphical representation.  Computer displays and report generators help prototype how systems “look and feel”.
  • 23.
    23 Computer-Aided Software Engineering (CASE)Tools (Cont.)  Analysis tools automatically check for consistency in diagrams, forms, and reports.  A central repository provides integrated storage of diagrams, reports, and project management specifications.
  • 24.
    24 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.
  • 25.
    25 CASE Tools (Cont.) FIGURE1-10 A class diagram from IBM’s Rational Rose (Source: IBM)
  • 26.
  • 27.
    Joint Application Design(JAD)  Structured process involving users, analysts, and managers.  Several-day intensive workgroup sessions.  Purpose: To specify or review system requirements. To review system designs.
  • 28.
    28 Rapid Application Development (RAD) Methodology to decrease design and implementation time  Involves: extensive user involvement, prototyping, JAD sessions, integrated CASE tools, and code generators
  • 29.
  • 30.
    30 Agile Methodologies  Motivatedby recognition of software development as unpredictable, and dynamic  Three key principles Adaptive rather than predictive Emphasize people rather than roles Self-adaptive processes
  • 31.
    When to useAgile Methodologies  If your project involves: Unpredictable or dynamic requirements Responsible and motivated developers Customers who understand the process and will get involved 31
  • 32.
    32 Object-Oriented Analysis and Design(OOAD)  Based on objects rather than data or processes  Object: a structure encapsulating attributes and behaviors of a real- world entity
  • 33.
    33 Object-Oriented Analysis and Design(OOAD) (Cont.)  Object class: a logical grouping of objects sharing the same attributes and behaviors  Inheritance: hierarchical arrangement of classes enable subclasses to inherit properties of super-classes
  • 34.
    34 Assignment 1- CASE Tools: Investigateand select one tool to demonstrate. 2- Prototyping: Investigate and demonstrate.
  • 35.