15
Approaches to Systems Development Chapter 8

Approaches to Systems Development Chapter 8. Outline Introduction Systems Analyst Ch 8 - Approaches to System Development SDLC − Phases & Core Processes

Embed Size (px)

Citation preview

Approaches toSystems Development

Chapter 8

2

Outline

Introduction Systems Analyst

Ch 8 - Approaches to System DevelopmentSDLC

− Phases & Core Processes− Approaches: Predictive & Adaptive

MethodologySoftware Construction & Modeling Approaches

− Structured A&D− Object-oriented

Agile Development

3

Systems Analyst

Organizational role most responsible for analysis and design of information systems.

Translates a _________ __________ into an

___________ ___________ ___________ .

Job Titles− vary by organization; read the job description

• Systems Analyst• Business Analyst (client-facing)

4

Systems Analyst…more of a business problem solver

than a technical programmer

Knowledge & SkillsTECHNICAL • DB, Programming, Computers Hardware, Networking,

Operating systems, and utilities, Communication & collaboration technology

• SDLC techniques

BUSINESS • Organizational knowledge• Management techniques• Functional work processes

PEOPLE • Communication skills• Interpersonal Skills• Roles: Negotiator, Teacher, Mentor, Collaborator, Manager

Systems Development Project

Is a planned undertaking

Has fixed beginning and end

Produces desired result or product

Varies in size

5

SDLC: SYSTEMS DEVELOPMENT LIFE CYCLE

Provides overall framework for managing systems development processAll projects use some variation of SDLC

6

PhaseProject Initiation

Planning

Analysis

Design

Implementation

Deployment

Ch 9

Ch 9

Ch 2-5

Ch 7,10-12

Ch 13

Ch 13

Core Process1. Identify the problem/need & obtain approval

2. Plan & monitor the project

3. Discover & understand the details

4. Design the system components

5. Build, test, and integrate system components

6. Complete system tests and deploy solution

7

2 Approaches to the SDLC

• Waterfall Model

• Modified Waterfall

• Spiral Model

• Incremental Development

Assumptions• can be planned in

advance • system can be

developed according to the plan

Assumptions• Iterative• Must be

flexible & adapt

Predictive SDLC Adaptive SDLC

8

Predictive Approaches

Waterfall One phase begins when another completes;

Specifications are frozenProblems System requirements “locked in” Limited user involvement Too much focus on milestone deadlines

Support

Deployment

Planning

Analysis

Design

Implementation

ProjectInitiation

Support

Deployment

Planning

Analysis

Design

Implementation

ProjectInitiation

Modified Waterfall Overlapping phases Can go backwards

9

Adaptive Approaches: Spiral Model

An iterative approach

Spiral until project completion Then, deployed!

Project Management: managed differently than a

waterfall approach

10

Adaptive Approaches: Incremental DevelopmentAlso, an iterative approach

BUT…− System is built in small increments; it is "grown"

• As an iteration is completed it is integrated to the whole• Partially deployed in steps

Advantage− some functionality gets into the user's hands much earlier

Methodology

A comprehensive guideline to follow for completing every SDLC activity

Abstraction used to separate out aspect

Software to create models or other project components

Guidelines or instructions

Methodology

Models

TechniquesTools

11

12

2 Approaches to Software Construction & Modeling

Structured Approach analysis, design & programming

Object-oriented Approachanalysis, design & programming

Structured Analysis

Structured Design

StructuredProgramming

Software Construction & Modeling:Structured Approach

Determines set of programs• Purpose of each• Organization of programs

Main principles:• Loosely coupled• Highly cohesive

• Each program has one beginning & one ending

• Uses 3 constructs:o Sequenceo Decision o Repetition

• Improvements:o program qualityo easier to maintain

• Define processing requirements

• Define data requirements

• Define inputs and outputs

• Define how functions work together to accomplish tasks

Software Construction & Modeling:Object-Oriented Approach

Views information system as a collection of

interacting objects that work together to

accomplish tasks

OOA, OOD, OOP

OO languages− C++, Java, C#

Benefits− Reuse!

Agile Development

A guiding philosophy and set of guidelines for :developing information systems

in an unknown rapidly changing environment

Complements Adaptive SDLCs & Methodologies − makes sure developers are fast to respond to changes

“Manifesto for Agile Development” agilemanifesto.org

− Value responding to change over following a plan− Value individuals and interactions over processes and tools− Value working software over comprehensive documentation− Value customer collaboration over contract negotiation