Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Groups involved in Systems Development

Systems Development Life Cycle


& Prototyping

Organizational Groups
Senior management
Professional experts

Funding and support


Legal, procurement, and

Middle management
Supervisory management

organizational expertise
Entry and support
Entry & critical support

Factory/clerical workers

Information, job & task details

Information Systems Groups

Approaches to Systems Development


(Methodologies)
Traditional Systems Development Life Cycle (SDLC)
System under study is developed in stages
Extensive use of professional development personnel

Prototyping
Building small models of some elements and gradually
expanding them from user experience

Extensive use of professional DP and 4GL tools


Used especially for decision support systems

Alternate Systems Development Life Cycle (SDLC)


Front end is prototyped; back end traditional process

End-User Computing
End user takes primary initiative in development process

1-4

Senior management

Coordinates system
development and planning

Project management

Manages a specific project

Senior analysts

Coordinates systems analysts,


designers, & procurement
personnel

Systems analysts

Determine new system


requirements, concepts
and procedures

Programmers

Technical realization of new


system

Traditional Systems Development Life Cycle


(SDLC) Process
Planning
Requirements Analysis
Understand & document the existing system
Determine requirements for new system
Systems Design
Develop overall plan for new system
System Acquisition
Acquire necessary hardware & software
System Implementation
Build & put new system into use

Traditional SDLC vs. Prototyping


SDLC
Perception and
expression of need

Planning

Prototyping

Prototyping
(User and/or Developer
plus 4GL Tools)

Identify requirements
Requirements

Requirements analysis

Develop first prototype

Systems design

Implement and use


User feedback

System acquisition

Revise and enhance

Improved
prototype

Feedback

First prototype

System implementation

What is Prototyping?
Creating the system in little, a version with certain
functions in essential operating condition in order
to experiment with the requirements and design of
the final product

What is Prototyping?
Building small models of certain critical
elements and gradually expanding on these
basic elements based on experience
Extensive use of professional IS, CASE, DBMS,
and 4GL tools
Used especially for EUC and decision support
systems

Wind
Tunnel

Prototype

5-8

Real World System

Prototype

Real World
System

What is Prototyping?

Traditional SDLC vs. Prototyping

A live working system (not just an idea on paper)


A system that can itself become the production
system

User

An experimental system built by trial and error

Request for Application

Developer
Design specifications
Months have passed.

A system built quickly and inexpensively

Changes

Redesign

Review of specs

Months/years
have passed.
Changes

Prototype

Real World
System

Try application

Code and test

Use the application

Document
More months have passed.

Prototyping vs. Traditional SDLC

SDLC vs Prototyping
Circumstances favoring SDLC
User and developer work
closely together to develop
basic requirements.

Days pass.

Developer builds
initial prototype.

Days pass.

User and developer work


with prototypes to refine
and enhance system.

Developer revises
and enhances
prototype.

System can be used


within months.

9-12

There is significant experience with the type of system to


be built
Important system features can be easily identified
Data requirements can be identified in advance
Management requires a comprehensive "picture" of the
new system before giving approval
The development staff is not experienced with 4GL's or
prototyping

SDLC vs Prototyping
Circumstances favoring Prototyping

Traditional SDLC

Planning
Users do not have a feel for the information
or systems capabilities required
Rapidly changing user needs
Little experience in delivering the type of
system requested
High risk of delivering the wrong system
High level of user involvement is required for success
Numerous alternative design strategies must
be tested
System must be developed quickly and/or at
the lowest possible cost

Traditional SDLC Planning


Objectives
Determine project priority by defining problem or
opportunity

Steps to Take
Determine nature of problem and scope of project
Determine possible solutions
Assess project feasibility
operational
economic
technical

Report to management
Cost/benefit data, prelim. organizational data, system
documentation

Mgmt prioritizes projects; decides to proceed


or terminate

13-16

Requirements Analysis
Systems Design
Systems Acquisition
Systems Implementation

Ideas for New Systems:


Determining Nature of Problem
User Demands
Problems with existing systems suggest new
systems; ideas for productivity gains
IS/IT Function (Emerging Technologies
Group/Scanning Group)
New technologies offering potential
Technological Push
Senior Management
Strategic Planning
Threat of competitors
Strategic or Demand Pull

Where do Systems Come From?


The Three Domains of IT

The Market
(Competitiveness)

Functional Areas of
The Company
(Effectiveness)

The IT Function
(Efficiency)

Who is particularly competent to identify areas


for greater ..... Efficiency?
To reduce unit production and sales costs as
much as constraints allow (e.g., quality)
To improve capacity planning
To optimize distribution systems
To reduce turnaround and cycle times
To improve scheduling
To improve inventory control and
manufacturing resource planning

The IS/IT Function!

Who is particularly competent to identify areas


for greater .....Effectiveness?
To ensure that all tasks are accomplished
thoroughly
To maximize coverage of markets for sales
and service
To respond to all relevant inquiries

Users from Functional Areas


of the Company!

Who is particularly competent to identify areas


Competitiveness?
for greater .....Competitiveness?
To scan the competitive environment outside
the firm
To identify and track threats and opportunities
to do things differently (e.g., differentiate
products and services)
To do different things (e.g., new line of
business)
To anticipate the consequences of change

Senior
Management!

17-20

Planning for different Types of IT/IS


Large scale, company wide systems for
transaction processing typically use the
planning process called the Systems
Development Life Cycle (SDLC)
this includes systems that are strategic in
nature as well as those that enhance
efficiency and effectiveness
Smaller impact systems affecting an
individual's work or a department's are
developed in a different fashion
these are typically called End User
Computing (EUC)

Advantages of using Planned System Approach


to Systems Development

Improved understanding and tracking


of projects
Ease of collection of performance data

to aid in future project planning


and estimating
Users would have a better idea of what
has to be done to accomplish a systems
project

21-24

Traditional Systems Development Life


Cycle (SDLC) Planning Process
Planning
Requirements Analysis
Understand & document the existing system
Determine requirements for new system
Systems Design
Develop overall plan for new system
System Acquisition
Acquire necessary hardware & software
System Implementation
Build & put new system into use

Planning in the SDLC


Who does it?
Steering committees with representation
from functional areas are common
An IS/IT Staff Planning function is also
common
Tasks of Planning Group
Selection of projects is made, usually on the
basis of cost-benefit or value analyses
Prioritization of projects is critical
Scheduling/budgeting of projects is final
responsibility

Traditional SDLC

Planning in the SDLC

Planning

Project Planning
Choosing project leader
Choosing team members
Scheduling timelines, budgets, tasks
Planning for training
Planning for conversion cutover
Post implementation evaluation

Requirements Analysis
(Systems Analysis or Information
Requirements Determination, "ISD")
Systems Design
Systems Acquisition
Systems Implementation

General Systems Model of Firm


ENVIRONMENT

Information System as Symbolic Representation


of Physical Resource Flows:
Information as 5th Resource of the Firm

Standards
President

Decisions

Management

Physical
resources,
information

Information Information
Processor

V.P.
Manufacturing

V.P.
Admin.

V.P.
Finance

Shipping

Personnel

Acct.

Data
Purchasing
&
Receiving

and data

Input
resources

Transformation
Process

and data

ENVIRONMENT

Production

Output
resources Physical
resources,
information

25-28

V.P.
Marketing

The Environment
Material Flow
Personnel Flow

Machine Flow
Money Flow

Systems Development Concepts

System Developer Skills

Systems Analysis
Taking things apart to fully understand them
Define overall objectives of system
Identify the operation and problems of existing system
Identify the requirements and objectives of the new
system
Identify areas of required organizational
change

Systems Design
Establishing a plan to put things back together
in a more satisfactory manner (Synthesis)
Devise detailed system solutions
Deliver the functions required by the analyst and,
ultimately, by the user

Technological Skills
Problem definition skills
Communication skills

Organizational skills
Ability to work with people in the
organization

Understanding of organization

Manage the technical realization of systems

System Developer Tools


Diagrams
Data flow diagrams (DFD's) & Object-oriented diagrams

Data Flow Diagram (DFD)

Text
validation

Systematic Acitvity Modeling Method (SAMM)


Logical Data Structure Models (LDS's)
Data Dictionary

Computer-Aided Software Engineering (CASE)

29-32

Publishers

Textbook
details

System Flowcharts
Structured analysis & design technique (SADT)

Publisher
details

Textbooks

Faculty Orders

1.0
Process
book
orders

2.0
Prepare
purchase
orders

Valid
order

Purchase
order

Batched
orders

Valid
Orders

Publishers

SADT Activity-flow Diagram

System Flow Chart

Needs and
desires

Faculty
orders by
mail

Food &
Clothing
Purchased
goods

Market
experience

1
Run
Household

Verify order
is valid

Textbook
data

Satisfaction
Payments
Plan & Budget
Weather Prices

Farm
supplies

Grow 2 vegetables
Vegetables
(for
sale)

Valid
Textbook
orders

(for home
use)

Keyboard
order

Sell 3
Money
Vegetables

Objects & Classes ...


Object-Oriented Paradigm
Objects are????
representations of real world objects,
transactions, states-of-being, activities,
people, etc. in computer
systems/applications/programs

OBJECT STATE
u

Attribute values

Service/capability/behavior/methods

King, Jr. (name)


7/4/42 (birth date)
3 Main St. (address)
Dragon Restaurant (employer)
Sichuan dishes (specialty)
Can cook
Manage kitchen staffs
Request supplies

33-36

Smith (name)
3/8/60 (birth date)
21 Peachtree (address)
Account Manager (title)
Global Bank (employer)
Special in account management
Approve loan application
Supervise staffs

Uniform Representation

Class...Class-&-Object
Models

Analysis

Design

Implementation

Name

Attributes

Methods (Services or
Manipulations)

OOA/OOD
C

SDLC - Requirements Analysis

MM Store -- Methods
request
Item

Reorder
Notice

Item
SKUNumb

delivery
is/isn't
available

Qty-On-Hand

check/
ship order

ReorderPt
YTD Sold

Customer

make

inquire
Order

Store

pay
paid

ok/not ok

verify credit
Account
(Credit Payment)

37-40

Supplier
Price

deny/pay order

Payment

Hong & Wells

Add-item
Remove-item
Check-local-stock
Check-remote-stock
Calculate-YTD-total
Ship-item
Reduce-stock
Request-reorder
Receive-new-stock

Objective
Understand & document the existing system
Determine requirements of the new system

Activities
Collect data concerning existing system
Study existing documents
Questionnaires
Interviews
Personal observation

Analyze and determine information system requirements


Report to management
Set of user reviewed/accepted models of the system
Organizational needs that will be served by new system
More refined cost/benefit data

Documentation

Traditional SDLC

Written Instructions associated with using,


operating, or developing a computer system
Prepared at ALL phases of development

Flowcharts, DFD's, OODs, user manuals,


system manuals, sample input/output forms
Project Documentation

Planning
Requirements Analysis
Systems Design

System Documentation (DFDs, ERs, etc.)

Program Documentation

Systems Acquisition

User documentation
Programmer documentation

Systems Implementation

Operator documentation

SDLC - Systems Design


Objective

Factors Shaping Design


What makes one design superior to others

Develop overall plan or model for the system

Review requirements

Ease and efficiency with which it fulfills user


requirements within a specified set of technical,
organizational, financial, and time constraints

Design logical (conceptual) system

Each design is balance between:

Activities

41-44

Design physical system

User information requirements

Report to management

System requirements

Refined cost/benefit

Information processing technology

Design recommendations

Systems development methodologies

Plan for remaining development activities

Organizational characteristics

System Design Components


Output
Input
Processing

1
2
3

Storage

Procedures

Personnel

Output Specification
Content
Output Volume
Timeliness
Media
Format

45-48

Steps in
Design
Output

Input

Processing

Storage

Procedures

Personnel

Logical
design

Physical
design

Input Specification
Content
Timeliness
Media
Format
Input volume

Processing Specifications
Design of the automated or manual procedures
or activities through which data are transformed
from input to output

Storage Specifications

Access and Organization of data

Basic functions and capabilities applications


software must possess
Degree of processing the system will need to handle

Storage volume

Systems software and Computing Hardware


Computational environment, User volume, Throughput
Create software in-house or acquire from vendor

Media

Make-or-buy decision

Procedures Specification
Work Procedures

Personnel Specifications
Work Description

Control Procedures
Security controls

Skills/Qualifications

Accuracy controls
Privacy controls

49-52

Training

OR

Traditional SDLC

Alternate SDLC

Prototyping
(User and/or Developer
plus 4GL Tools)

Planning

Planning
Identify requirements

Requirements Analysis

Develop first prototype

Systems Design
Systems Acquisition

Requirements Analysis

Requirements

Systems Design

First prototype
Implement and
use
User feedback

Systems Implementation

Revise and
enhance

Systems Acquisition
Systems Implementation

System Acquisition
System Acquisition
Vendor Marketplace
Review design

Hardware

Prepare specifications for vendors

Software

Evaluate and select vendors

Services
Turnkey Systems

Report to management
Request for Proposal (RFP)
Request for Quotation (RFQ)

53-56

Using Vendor Applications Packages

Traditional SDLC

Advantages
Better quality software and documentation
Overall cost is lower & is known
Product enhancements by vendor
In-house development risks are avoided
Quicker development
Lower training and support costs
Less need for analyst / programmer support
Disadvantages

Planning
Requirements Analysis
Systems Design
Systems Acquisition

There may be no appropriate package available


Less control over applications development
Less flexibility in meeting system needs
Package may not interface with existing applications

Systems Implementation

Conversion Approaches

Systems Implementation

Cutover
Schedule implementation tasks
CPM, PERT, Gantt Charts

Direct

Old System

New System

Phased

Old System

New System

Code, debug and test programs


Train personnel
Convert to a new system
direct, phased, parallel

Post-implementation review

Parallel

Old System

formal impact study, regular audit, performance


monitoring

On-going system maintenance

57-60

New System
Time

Actual Allocation of Effort


in Software Development

Origins of Software Defects


Looking at just design and coding errors...

Percentage of Costs Expended


in Each Software Development Stage
Percentage
60

Actual

50

IBM
TRW
Mitre
Nippon Electric

40
30
20
10
0

Analysis

Design
Implementation
Software Development Stages
Note: Implementation includes:
(1) coding, (2) training, (3) installation, etc.

Maintenance

60%

40%

64%

36%

60%

40%

-based on Knight

Actual and Suggested Allocation of


Effort in Software Development

General Defect Trends


Number of Defects
60

Design Coding
Errors Errors
65%
35%

Coding
Defects

50

Percentage of Costs Expended


in Each Software Development Stage
Percentage
70

Design
Defects

40

Other
Defects

30

60

60
48

50

50

40
32

30
20

20
10

10

0
0
1

16

32

64

128

256

Size of Program in K LOC

61-64

512 1024 2048

Analysis

Design
Implementation Maintenance
Software Development Stages
Actual

Boehm's Recommendation

Actual and Suggested Allocation of


Effort in Software Development

Origins of Software Defects

Percentage of Costs Expended


in Each Software Development Stage
Costs

60.4%

70

10.7%

Analysis
Design
Coding

60

60

40

35

32

30

25
20

20

28.8%

10

-based on DeMarco

Analysis
Actual

65-68

50

48

50

20

Design
Implementation Maintenance
Software Development Stages
Boehm's Recommendation

Alternative View

You might also like