software engineering management€¦ · software engineering management dr. m.e. fayad, professor...

35
SJSU – CmpE © M.E. Fayad 2000-2006 Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad

Upload: others

Post on 28-Jun-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

SJSU – CmpE © M.E. Fayad 2000-2006

Software Engineering Management

Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA 95192-0180 http://www.engr.sjsu.edu/~fayad

Page 2: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S2 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

2

Lesson 01B: Software Stability

Page 3: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S3 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Lesson Objectives

3

  Overview of Previous Lecture   Understand the following: –  Enduring Business Theme –  Business Objects –  Industrial Objects –  Framework Layering

Page 4: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S4 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Roadmap

4

 Scare - General State of Panic

  Identify the Killers (Problems)

  Catch the killers (Solutions)

Page 5: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S5 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

The Current State of Software - I

5

  Current software projects are engineered for the “here and now.”

  Changes in the support structure or the software market require massive reengineering projects.

  This reengineering costs ridiculous amounts of money.

Page 6: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S6 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

The Current State of Software - II

6

  Software has short life span.   Often wrong software application is

implemented   Sometimes cancelled before completion   maintenance cost over 80% of the

development lifecycle

Page 7: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S7 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Sample Problem - The Loan

7

  January 1998 –  I gave a loan of $1000 to one of my students. –  He promised to return the money by May 1998.

  April 1998 –  Received an e-mail asking for an extension until

August 1998

  March 2002 –  I have not received the money

Page 8: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S8 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Where Is The Problem?

8

  After giving this problem to the students in a software engineering class, I received the following responses. –  There is no problem. –  Take him to court. –  Kick his $@%#&! –  Ignore it.

  What do you think?

Page 9: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S9 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

A Traditional Model

9

Lender Loan

Borrower

Owes Borrowed

Lent

Do you think this model is an accurate representation of the problem?

Page 10: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S10 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Roadmap

10

  Scare - General State of Panic

  Identify the Killers (Problems)

  Catch the killers (Solutions)

Page 11: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S11 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Problems

11

 Wrong Analysis

  Industrial Objects

 Not stable architecture

 Missing the most enduring concepts

Page 12: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S12 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Roadmap

12

  Scare - General State of Panic

  Identify the Killers (Problems)

 Catch the killers (Solutions)

Page 13: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S13 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Open Discussion

13

Problem Domain Friendship

Health

Employment Family

Other Relationships

Borrower

Schedule

Lender

Loan

Education

Expenses

Finance

Needs

Page 14: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S14 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

EBT-Based Model - The Loan Problem

14 …

Friendship {Enduring}

Friend {Business}

Borrower Lender

Finance {Enduring}

Loan {Business}

Solvency {Enduring}

Need {Enduring}

Expenses {Business}

Employment {Business}

Health {Business}

Education {Business}

Family {Business}

Page 15: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S15 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

  Kitchens are systems that we are all familiar with.   What makes a kitchen a kitchen?   Traditionally, people think of a certain set of objects

when they think of a kitchen: –  Stove –  Sink –  Refrigerator –  Dishwasher –  etc...

15

Sample Problem II - The Kitchen

Page 16: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S16 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

  The result is a model like this:

16

The Kitchen - A Traditional Model

Kitchen

Cabinet Counter Appliance Sink

Refrigerator Dishwasher Range Pantry

Cooktop Oven Freezer

Page 17: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S17 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

  This model has inherent flaws, however.

  The model can be thought of as a “tree” of aggregations and generalizations.

  Many of the roots of the subtrees can change drastically, causing this model to break.

  For example, imagine replacing the appliance node with a Star Trek food replicator... 17

The Kitchen - A Traditional Model

Kitchen

Cabinet Counter Appliance Sink

Refrigerator Dishwasher Range Pantry

Cooktop Oven Freezer

Page 18: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S18 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

  To correct this model, one must concentrate on those aspects that do not change over time.

  Enduring Business Themes are those concepts that remain constant for a given problem.

  Business Objects are those support objects that remain externally stable.

  Objects that may be replaced as times change are Industrial Objects.

18

The Kitchen - Correcting The Model

Page 19: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S19 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

  What does a kitchen need?   What do people do in a kitchen?   What is a kitchen for?

19

The Kitchen - Correcting The Model

Cooking

Cuisine

Livability Storage

Cleanliness

Convenience

Spaciousness

AnyRecipe

AnySocialization

Reachability

Page 20: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S20 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

20

The Kitchen - A Stable Model

Cabinet Pantry

Refrigerator Freezer

Food Storage &

Preservation {Enduring}

Microwave

Range

Cooking {Enduring}

Cooktop Oven

Cuisine {Enduring}

Recipe {Business}

Food

Livability {Enduring}

Cleanliness {Enduring}

Convenience {Enduring}

Light {Business}

Counter Shelf

Sink Dishwasher Window Electric Light

Kitchen

Page 21: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S21 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Identifying Enduring Business Themes & Business Objects - Identification

Criteria

21

  Stability   Adaptability   Essentiality   Explicitness   Intuition   Tangibility   Commonality to the Domain

Page 22: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S22 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

22

Identification Criteria

Page 23: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S23 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

23

Enduring Business Themes

Business Objects

Industrial Objects

Intuition Intuition Intuition and Reading

Reading Only Stability Over Time Stable Over Time Internally Stable Unstable

Identification Criteria

Page 24: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S24 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

24

Identification Criteria

Page 25: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S25 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

25

Identification Criteria

Page 26: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S26 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

26

Identification Criteria

Page 27: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S27 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

27

Identification Criteria

Page 28: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S28 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

28

Identification Criteria

Page 29: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S29 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Identification Heuristics - Enduring

29

  Enduring Business Themes and Business Objects must be enduring.

  Watch out - Long field histories will not necessarily translate to true endurance.

Page 30: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S30 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Identification Heuristics - Industrial Object Identification

30

  Is the object present in a “classical” model?

  Can the object be replaced?

  Is the object a representation of a concrete item?

Page 31: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S31 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Identification Heuristics - Top-Down Identification

31

  Break off conceptual pieces of the problem.

  Recursively break these concepts down.

  Stop when a layer of industrial objects is reached.

Page 32: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S32 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Identification Heuristics - Bottom-Up Identification

32

  Start with a “classical” model.

  Group the industrial objects under a conceptual “heading.”

  Continue this grouping until further grouping is impractical or nonsensical.

Page 33: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S33 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Identification Heuristics - There Is No Silver Bullet

33

  EBT’s are conceptual themes… Usually

  Business objects are more concrete objects… Usually

  There are always exceptions to any rule.

Page 34: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S34 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Define: Criteria for Enterprise Frameworks

Let’s discuss of how to build Enterprise Frameworks

T/F:

EBTs are testing patterns.

BOs are stable design patterns.

EBTs + BOs = Framework.

34

Questions for the Next Lecture

Page 35: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State

L01-B-S35 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad

Task 1: Traditional Software Patterns

Task 2: Traditional Pattern Languages

Task 3: Knowledge Maps

35

Tasks for Next Lecture