se 470 software development processes l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
SE 470 Software Development Processes PowerPoint Presentation
Download Presentation
SE 470 Software Development Processes

Loading in 2 Seconds...

play fullscreen
1 / 55

SE 470 Software Development Processes - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

SE 470 Software Development Processes. James Nowotarski 07 April 2003. Today’s Objectives. Understand leading methodology philosophies, movements, products, and gurus of the past, present, and future Understand distinguishing characteristics of structured methods and information engineering

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'SE 470 Software Development Processes' - Antony


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
se 470 software development processes

SE 470Software Development Processes

James Nowotarski

07 April 2003

slide2

Today’s Objectives

  • Understand leading methodology philosophies, movements, products, and gurus of the past, present, and future
  • Understand distinguishing characteristics of structured methods and information engineering
  • Compare and contrast waterfall and iterative life cycle models
slide3

Today’s agenda

Topic Duration

  • Week 1 Recap 15 minutes
  • Marketplace Snapshot 30 minutes
  • Summary of market developments 15 minutes

*** Break 15 minutes

  • Frameworks, Philosophies, Gurus 75 minutes
  • Quiz #1 30 minutes
slide4

Course Map

Overview

. Introduction

. History

Content

. Rational Unified Process

. Extreme Programming

Implementation

. Tools, Training, Roles

. CMM, Metrics

. Selection & Evaluation

Briefings (Term Papers)

1

2

3

4

5

6

7

8

9

10

11

Week

Memorial Day

Assignments

Quizzes

slide5

Today’s agenda

Topic Duration

  • Week 1 Recap 15 minutes
  • Marketplace Snapshot 30 minutes
  • Summary of market developments 15 minutes

*** Break 15 minutes

  • Frameworks, Philosophies, Gurus 75 minutes
  • Quiz #1 30 minutes
slide6

Core Concepts

In SE 470, we will use the terms method and Methodology interchangeably

  • method/Methodology
  • A systematic way of doing something
  • Typically consists of these key content pieces:
    • Processes (what)
    • Deliverables (what)
    • Techniques (how)
    • Roles (who)
    • Estimating guidelines (how long)
slide7

Core Concepts

  • Broad categories of methods
  • Structured methods
  • Information engineering
  • Object-oriented methods
  • Lightweight/Agile methods
slide8

Core Concepts

  • Life cycle model
  • The iteration and control strategy adopted by a systems development organization
  • Examples
    • Waterfall
    • Iterative/Evolutionary/Spiral
    • Incremental
core concepts
Core Concepts

The waterfall model is the granddaddy of life cycle models

core concepts10

Version 1

A

D

I

Version 2

A

D

I

Version 3

A

D

I

Core Concepts

Iterative/Evolutionary/Spiral life cycle models advocate multiple “threads” through the SDLC phases

core concepts11

Version 1

A

D

I

Version 2

A

D

I

Version 3

A

D

I

Core Concepts

Incremental life cycle models advocate delivering the end product piecemeal

slide12

Core Concepts

  • Routes
  • A “route” is a preconfigured specialization of a methodology, depending on a variety of factors:
    • custom vs. packaged solution
    • degree of project team distribution
    • project team size
    • technology platform
    • application type
  • Examples
    • Custom Client/Server: Large Project
    • Custom Client/Server: Small Project
    • Rapid Application Development (RAD)
    • Packaged Systems Development
    • Data Warehouse
    • SAP implementation
slide13

Traditional

User

Design

Tech

Design

Req’ts

Analysis

Construct

RAD

User

Design

Req’ts

Construct

Core Concepts

RAD vs. Traditional

core concepts14
Core Concepts

Modeling/Diagramming

Technique

core concepts15
Core Concepts

Normalization (Process Technique)

1NF = No repeating groups

2NF = 1NF + no partial dependencies (non-key attribute dependent on portion of primary key)

3NF = 2NF + no transitive dependencies (non-key attribute dependent on another non-key attribute)

core concepts16
Core Concepts

Capability Maturity Model (CMM)

  • A framework for:
    • Judging the maturity of an organization’s software processes
    • Identifying key practices required to increase the maturity of these practices
  • Levels of maturity

Optimizing

Level

Managed Level

Defined Level

Repeatable Level

Initial Level

slide17

Common Drivers Behind Methodology Adoption

  • Project failure leads to realization that “we need a more formal process”
  • Codify best practices, so as to increase predictability and reliability of software development process
    • especially as IT organization grows
  • Continued pressure on time to market and quality (web services)
  • Certification (e.g., Capability Maturity Model)
  • Desire to stay current and/or sustain/develop competitive edge
  • Need to support distributed development teams (multi-site and/or multi-organization)
slide18

Today’s agenda

Topic Duration

  • Week 1 Recap 15 minutes
  • Marketplace Snapshot 30 minutes
  • Summary of market developments 15 minutes

*** Break 15 minutes

  • Frameworks, Philosophies, Gurus 75 minutes
  • Quiz #1 30 minutes
slide19

What does a methodology product consist of?

  • Content
    • building blocks (processes, deliverables, etc.)
    • pre-defined routes
  • Delivery vehicle (e.g., browser)
  • Tools for authoring and publishing content
  • Tools for applying the methodology to a specific project
    • project planning and estimating tools
    • process management tools
    • project management tools
  • Deliverable templates tightly coupled with a development and/or execution platform
  • Training and support
  • Maintenance
slide20

Methodology Marketplace

No single vendor dominates this market

  • Rational Software is collecting a fair amount of mindshare
  • 3 key categories to consider:
    • methodologies developed and delivered by consultants
    • methodologies from software tool vendors
    • methodologies from industry consortia or other groups
  • Tremendous variability among the products
    • Content
    • Delivery vehicles
    • Integration with development tools
slide21

Methodologies Developed and Delivered by Consultants

Consulting firms methodologies have greatest depth and breadth of content, but not all sell their methodology as a standalone product

slide22

Methodologies from Software Development Tool Vendors

Customers are increasingly demanding (and receiving) process guidance from their tool vendors

slide23

Methodologies from Industry Consortia or Gurus

There is a growing interest among large corporate shops in so-called “agile” methods from industry gurus

slide24

Key Trends: Content

  • Component-based development
  • Reuse
  • Agile processes
  • Development of mobile applications
  • Development with/for web services
  • Distributed development teams, especially offshore
slide25

How Does a Methodology Stay Fresh?

  • Experience
  • New technologies that cause changes in development processes
  • Consortia/Gurus
  • Academics

“ . . . those looking for true best practices and leading edge methodologies should turn to the consulting industry rather than tool or software vendors” -- Giga Information Group

slide26

Today’s agenda

Topic Duration

  • Week 1 Recap 15 minutes
  • Marketplace Snapshot 30 minutes
  • Summary of market developments 15 minutes

*** Break 15 minutes

  • Frameworks, Philosophies, Gurus 75 minutes
  • Quiz #1 30 minutes
slide27

Factoid

  • Fastest-growing jobs: Software application engineers (7.2% a year through 2010), Computer support specialists (7.0%), Software systems engineers (6.6%), Systems administrators (6.2%), Personal and home care aides (5.0%), Security guards (3.1%), Customer service reps (2.8%)
  • Source: Business 2.0, March 2003
slide28

Today’s agenda

Topic Duration

  • Week 1 Recap 15 minutes
  • Marketplace Snapshot 30 minutes
  • Summary of market developments 15 minutes

*** Break 15 minutes

  • Frameworks, Philosophies, Gurus 75 minutes
  • Quiz #1 30 minutes
slide29

Summary Timeline

1960

1970

1990

2000

1980

Mainframe

Tech era

Decentralized

Distributed

Internet

Stage wise

Life cycle

model

Waterfall

Iterative/Incremental

Structured Analysis/Design

Meth

approach

Information Engineering

Object-Oriented A/D

Agile

Content

Updates

  • OLTP
  • UI design
  • Bus process reengineering
  • Data/process distribution
  • CASE tools
  • Data mgmt
  • JAD
  • Prototyping
  • Multimedia content mgmt
  • Network design/mgmt
  • Quality
  • Security
slide30

Waterfall model

System

requirements

Software

requirements

Analysis

Program

design

Coding

Source: Royce, W.  "Managing the Development of Large Software Systems."

Testing

Operations

slide32

Program design comes first

System

requirements

Software

requirements

Preliminary

program design

Analysis

Program

design

Coding

Testing

Operations

slide33

Or, Architecture comes first

System

requirements

Software

requirements

Architecture

design/build

Analysis

Program

design

Coding

Testing

Operations

slide34

Do it twice

System

requirements

Software

requirements

Architecture

design/build

Analysis

Preliminary

design

Program

design

Analysis

Program

design

Coding

Coding

Testing

Testing

Usage

Operations

slide35

Why do it twice?

“Without this first pass, the project manager is at the mercy of human judgment. With this first-pass ‘simulation,’ he can at least perform experimental tests of some key hypotheses and scope down what remains for human judgment, which in the case of computer program design . . . is invariably and seriously optimistic”

slide36

Problems with the Waterfall Process

Many of the problems attributed to the Waterfall Process are really problems with the way it was applied, not as it was intended

  • Problems
  • Protracted integration and late design breakage
  • Focus on fully elaborated documents and review meetings for early requirements and design phases
  • Late risk resolution
  • Adversarial stakeholder relationships
  • Requirements-driven functional decomposition
slide37

Protracted integration and late breakage

Conventional application of the waterfall model typically results in late integration and performance showstoppers

Late design

breakage

100%

Integration

begins

Development progress

(% coded)

Original

target date

Source: Royce, W. Software Project Management: A Unified Framework. Addison-Wesley (1998).

spiral model
Spiral Model

Determine objectives, alternatives, constraints

Evaluate alternatives, identify and resolve risks

Plan next phases

Develop verify next level product

spiral model39
Spiral Model

Design

Planning and

analysis

Assessment

Implementation

iterative development

Version 1

A

D

I

Version 2

A

D

I

Version 3

A

D

I

Iterative Development

Today’s version of the spiral model is iterative development with incremental delivery

incremental delivery

Version 1

A

D

I

Version 2

A

D

I

Version 3

A

D

I

Incremental Delivery

Today’s version of the spiral model is iterative development with incremental delivery

small group activities
Small Group Activities
  • Compare/Contrast Waterfall and Spiral/Iterative/Incremental
    • How are they different?
    • How are they similar?
    • When to use waterfall?
    • When to use spiral/iterative/incremental?
slide43

Summary Timeline

1960

1970

1990

2000

1980

Mainframe

Tech era

Decentralized

Distributed

Internet

Stage wise

Life cycle

model

Waterfall

Iterative/Incremental

Structured Analysis/Design

Meth

approach

Information Engineering

Object-Oriented A/D

Agile

Content

Updates

  • OLTP
  • UI design
  • Bus process reengineering
  • Data/process distribution
  • CASE tools
  • Data mgmt
  • JAD
  • Prototyping
  • Multimedia content mgmt
  • Network design/mgmt
  • Quality
  • Security
structure chart

employee_data

salary

tax

employee_data

employee_

data

salary

tax

salary

GET_DATA

CALC_TAX

PRINT_CHECK

CALC_SALARY

Structure Chart

PROCESS_PAYROLL

for each employee

get_data(:employee_data)

calc_salary(employee_data:salary)

calc_tax(salary:tax)

print_check(employee_data, salary, tax)

program graph
Program Graph

employee_data

PRINT_

PAYCHECK

salary

CALC_

SALARY

taxes

employee_

data

READ_

DATA

CALC_

TAXES

salary

program graph47
Program Graph

Big idea: As a prelude to creating a design, represent the basic computational requirement for the system to be designed in more abstract terms, i.e., in terms of data flow

employee_data

PRINT_

PAYCHECK

salary

CALC_

SALARY

taxes

employee_

data

READ_

DATA

CALC_

TAXES

salary

information engineering51
Information Engineering

Scope

Enterprise

Business Area/System

Process/Subsystem

Program/Module

PLANNING

ANALYSIS

DESIGN

CONSTRUCTION

slide54

Today’s agenda

Topic Duration

  • Week 1 Recap 15 minutes
  • Marketplace Snapshot 30 minutes
  • Summary of market developments 15 minutes

*** Break 15 minutes

  • Frameworks, Philosophies, Gurus 75 minutes
  • Quiz #1 45 minutes
slide55

Topics for April 14

  • Read Kruchten, chapters 1, 2, 4 (see course map)
  • Assignment 1: Mapping symptoms to root causes to best practices