Information System Development

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 57

Information System Development

Approaches to System
Development -SDLC

1
Information System Development
• Concepts: Structured system analysis and design
• Approaches to IS Development
• System Development Life Cycle (SDLC)
• Prototyping/ RAD
• Phases in SDLC, Requirement Analysis, Design,
Implementation and Maintenance
• Make or Buy Decision for IS Development
• Tools of IS Design, DFD’s Structured English, Flow
charts, System flowcharts, decision tables and
decision trees. Introduction to CASE.

2
Methodology
•A system development methodology –provides guidelines to follow for
completing every activity in the systems development life cycle.

Methodologies components -> Models + Tools + Techniques

3
What Are Models?
• Representation of an important aspect of real world, but not the
same as real thing.
• A model could be diagrams and charts which help in project planning
and budgeting .

• some models used in system development are-


--Flowchart, DFD, ERD, Structure charts
Use case diagrams, class diagrams, seq.
diagrams

• some models used to manage the development process are-


--PERT charts, Gantt chart organ. Hierarchy chart
--Financial analysis models –NPV, ROI

4
DFD / Class Diagram

5
Case Diagram

6
Some Models Used in System Development

7
Tools
• A tool is software support that helps create
models or other components required in the
project.
– Smart editors, Debugging tools
– CASE (Computer-Aided System Engineering) Tools
Help the analyst create the important system
models.
– Drawing Tools – MS Visio
Some Tools Used in System Development

http://www.sparxsystems.com/products/ea/index.html 9
What Are Techniques?
• Collection of guidelines that help analysts
complete a system development activity or
task

• Can be step-by-step instructions or just


general advice

10
Some Techniques Used in System Development

11
Techniques
• A technique is a collection of guidelines that help an
analyst complete a system development activity.

Some Techniques -
OO analysis
Data Modeling
Relational database design
Structured analysis and design
Software-testing
13
Two Approaches to System Development

• Traditional approach
– Also called structured system development
– Structured analysis and design technique (SADT)
– Refinement to structured development - information
engineering (IE)

• Object-oriented approach
– Also called OOA, OOD, and OOP
– Views information system as collection of interacting
objects that work together to accomplish tasks

14
Structured System Development
• Structured Programming
– Top-down Programming
• Structured Design
• Structured Analysis

15
Framework of Structured Development

16
Structured Programming
• Improves computer program quality
• Allows other programmers to easily read and
modify code
• Each program module has one beginning and
one ending
• Three programming constructs (sequence,
decision, repetition)

17
Top-Down Programming
• Divides complex programs into hierarchy of modules
• The module at top controls execution by “calling”
lower level modules
• Modular programming
– Similar to top-down programming

• One program calls other programs to work together


as single system

18
Structured Design
• What the set of programs should be
• What each program should accomplish
• How the programs should be organized into a
hierarchy

19
Main Principles of Structured Design
• Loosely coupled – module is independent of
other modules

• Highly cohesive – module has one clear task

20
Structured Analysis

• Define what system needs to do (processing requirements)


• Define data system needs to store and use (data
requirements)
• Define inputs and outputs
• Define how functions work together to accomplish tasks
• Data flow diagrams (DFD) and entity relationship diagrams
(ERD) show results of structured analysis

21
Information Engineering (IE)
• Refinement to structured development
• Methodology with strategic planning, data modeling,
automated tools focus
• More rigorous and complete than structured analysis
and design technique(SADT)
• Industry merged key concepts from structured
development and information engineering
approaches into traditional approach

22
Object-Oriented Approach
• Completely different approach to information
systems
• Views information system as collection of interacting
objects that work together to accomplish tasks
– Objects – things in computer system that can respond to
messages
– Conceptually, no processes, programs, data entities, or
files are defined – just objects
• OO languages: Java, C++, C# .NET, VB .NET

23
Terminologies of O-O Approach
• Object-oriented analysis (OOA)
– Defines types of objects users deal with
– Shows use cases are required to complete tasks
• Object-oriented design (OOD)
– Defines object types needed to communicate with
people and devices in system
– Shows how objects interact to complete tasks
– Refines each type of object for implementation with
specific language of environment
• Object-oriented programming (OOP)
– Writing statements in programming language to
define what each type of object does

24
SDLC

25
The Systems Development
Lifecycle
• SDLC provides overall framework for managing
systems development process.
• Two main approaches to SDLC
– Predictive approach – assumes project can be planned out
in advance
– Adaptive approach – more flexible, assumes project
cannot be planned out in advance
• All projects use some variation of SDLC

27
Predictive vs. Adaptive Approach to the SDLC

28
Traditional Predictive Approach to the
SDLC
• Project planning – initiate, ensure feasibility, scope,
plan schedule, obtain approval for project
• Analysis – understand business needs and processing
requirements
• Design – define solution system based on
requirements and analysis decisions
• Implementation – construct, test, train users, and
install new system
• Support – keep system running and improve

29
Predictive Approach Adaptive approaches
1.Waterfall 5.The Unified Process (UP)
2.Modified Waterfall 6.Extreme Programming (XP)
3.Prototyping 7.Agile
4.RAD 8.Scrum

30
1. Waterfall Model
• Waterfall model is an SDLC approach that
assumes the various phases of a project can
be completed sequentially – one phase leads
into the next phase.

31
“Waterfall” Approach to the SDLC

32
2. Modified Waterfall Approach

Overlapping Phases

33
SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY
Managing an SDLC Project
Costs of Error Correction by SDLC Step
SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Advantages and Disadvantages of Traditional SDLC Approach


3. PROTOTYPING METHODOLOGY
 Prototyping used as a complete alternative to
traditional SDLC methodology:

 Good when requirements hard to define


 Impractical for large, complex applications
PROTOTYPING METHODOLOGY
 Prototyping approach:
 Takes advantage of availability of fourth generation
procedural languages and relational database
management systems
 Enables creation of system (or part of system)
more quickly, then revise after users have tried it
 Is a type of evolutionary development process
PROTOTYPING METHODOLOGY
 Prototyping examples:
 Input and output screens developed for users to test as
part of requirements definition
 “First-of-a-series” – a completely operational prototype
used as a pilot
 “Selected features” – only some essential features
included in prototype, more added later
 Prototyping used as a complete alternative to
traditional SDLC methodology
The Prototyping Steps
The Prototyping Life Cycle
Proto Type Model

40
Prototyping Advantages and Disadvantages
 Advantages:
 Only basic requirements needed at front end
 Used to develop systems that radically change how work is
done, so users can evaluate
 Allows firms to explore use of new technology
 Working system available for testing more quickly
 Less strong top-down commitment needed at front end
 Costs and benefits can be derived after experience with initial
prototype
 Initial user acceptance likely higher
PROTOTYPING METHODOLOGY

 Disadvantages:
 End prototype often lacks security and control features
 May not undergo as rigorous testing
 Final documentation may be less complete
 More difficult to manage user expectations
4. Rapid Application Development (RAD)

Four-Step RAD Cycle


 Hybrid methodology –
aspects of SDLC and
prototyping
 Goal is to produce a
system in less than a year
 Joint application design
(JAD) : A team of users and
IS specialists
Rapid Application Development (RAD)
Types of CASE Tools
Rapid Application Development (RAD)

RAD Advantages and Disadvantages


5. The Unified Process (UP)
• Object-oriented development approach
• Offered by IBM / Rational
– Booch, Rumbaugh, Jacobson
• Unified Modeling Language (UML) used primarily for
modeling
• UML can be used with any OO methodology
• UP defines four life cycle phases
– Inception, elaboration, construction, transition

46
47
UP Reinforces Six Best Practices

• Develop iteratively
• Define and manage system requirements
• Use component architectures: Seamless with legacy,
and heterogeneous platforms.
• Create visual models: Tools at every stage.
• Verify quality
• Control changes

48
6. Extreme Programming (XP)
• Recent, lightweight, development approach to keep process
simple and efficient

• Describes system support needed and required system


functionality through informal user stories

• Has users describe acceptance tests to demonstrate defined


outcomes

• Relies on continuous testing and integration, heavy user


involvement, programming done by small teams

49
50
7. Agile Software Development
 Alternative methodology for smaller projects
 Based on four key values:
 Simplicity
 Communication
 Feedback
 Courage
 One type: Extreme Programming (XP)
 Programmers write code in pairs
 Use simple design and frequent testing
52
8. Scrum
• For highly adaptive project needs
• Respond to situation as rapidly as possible
• Scrum refers to rugby’s game
– Both are quick, agile, and self-organizing
• Team retains control over project
• Values individuals over processes

53
54
9. Outsourcing
 Offshore alternative good option when:
 System requirements well-defined and remain stable
 Time is of essence and 7x24 hour availability of
resources a good idea
 Cost of project important
OUTSOURCING
 Advantages:
 Helps keep software development costs down
 Uses technical expertise not available in-house
 Can often complete projects more quickly
 Off-site outsourcing:
 Onshore – within same country or region
 Offshore – not within same country or region
MANAGING SOFTWARE PROJECTS USING
OUTSOURCED STAFF
 Guidelines for managing offsite outsourcer:
 Manage expectations, not staff
 Take explicit actions to integrate the offsite workers
 Communicate frequently
 Abandoning informal ways may result in increased rigor

You might also like