37
SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José State University One Washington Square San José, CA 95192-0180 URL: http://www.cmpe.sjsu.edu/~fayad

SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

SJSU – CmpE Fall 2002

Enterprise & Application Frameworks

Dr. M.E. Fayad, ProfessorComputer Engineering Department – RM#

College of Engineering

San José State University

One Washington Square

San José, CA 95192-0180

URL: http://www.cmpe.sjsu.edu/~fayad

Page 2: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S2 Software Stability (1)

2

Lesson 13:Software Stability (1)

Page 3: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S3 Software Stability (1)

Lesson Objectives

Objectives

3

Overview of Previous Lecture Understand the following:

– Enduring Business Theme

– Business Objects

– Industrial Objects

– Framework Layering

Page 4: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S4 Software Stability (1)

Roadmap

4

Scare - General State of Panic

Identify the Killers (Problems)

Catch the killers (Solutions)

Objectives

Page 5: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S5 Software Stability (1)

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: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S6 Software Stability (1)

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: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S7 Software Stability (1)

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: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S8 Software Stability (1)

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: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S9 Software Stability (1)

A Traditional Model

9

Lender Loan

Borrower

Owes Borrowed

Lent

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

Page 10: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S10 Software Stability (1)

Roadmap

10

Scare - General State of Panic

Identify the Killers (Problems)

Catch the killers (Solutions)

Objectives

Page 11: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S11 Software Stability (1)

Problems

11

Wrong Analysis

Industrial Objects

Not stable architecture

Missing the most enduring concepts

Page 12: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S12 Software Stability (1)

Roadmap

12

Scare - General State of Panic

Identify the Killers (Problems)

Catch the killers (Solutions)

Objectives

Page 13: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S13 Software Stability (1)

Open Discussion

13

Problem DomainFriendship

Health

EmploymentFamily

Other Relationships

Borrower

Schedule

Lender

Loan

Education

Expenses

Finance

Needs

Page 14: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S14 Software Stability (1)

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: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S15 Software Stability (1)

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: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S16 Software Stability (1)

The result is a model like this:

16

The Kitchen - A Traditional Model

Kitchen

Cabinet Counter Appliance Sink

Refrigerator Dishwasher RangePantry

Cooktop OvenFreezer

Page 17: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S17 Software Stability (1)

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 RangePantry

Cooktop OvenFreezer

Page 18: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S18 Software Stability (1)

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: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S19 Software Stability (1)

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

Page 20: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S20 Software Stability (1)

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 DishwasherWindow Electric Light

Kitchen

Page 21: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S21 Software Stability (1)

Identifying Enduring Business Themes & Business Objects - Identification

Criteria

41

Stability Adaptability Essentiality Explicitness Intuition Tangibility Commonality to the Domain

Page 22: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S22 Software Stability (1)

41

EnduringBusinessThemes

BusinessObjects

IndustrialObjects

Intuition Intuition Intuition andReading

Reading Only

Identification Criteria

Page 23: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S23 Software Stability (1)

41

EnduringBusinessThemes

BusinessObjects

IndustrialObjects

Intuition Intuition Intuition andReading

Reading Only

Stability OverTime

Stable Over Time Externally Stable Unstable

Identification Criteria

Page 24: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S24 Software Stability (1)

41

EnduringBusinessThemes

BusinessObjects

IndustrialObjects

Intuition Intuition Intuition andReading

Reading Only

Stability OverTime

Stable Over Time Externally Stable Unstable

Adaptability AdaptableWithout Change

AdaptableThrough InternalChange

Not Adaptable

Identification Criteria

Page 25: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S25 Software Stability (1)

41

EnduringBusinessThemes

BusinessObjects

IndustrialObjects

Intuition Intuition Intuition andReading

Reading Only

Stability OverTime

Stable Over Time Externally Stable Unstable

Adaptability AdaptableWithout Change

AdaptableThrough InternalChange

Not Adaptable

Essentiality Essential Essential Replaceable

Identification Criteria

Page 26: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S26 Software Stability (1)

41

EnduringBusinessThemes

BusinessObjects

IndustrialObjects

Intuition Intuition Intuition andReading

Reading Only

Stability OverTime

Stable Over Time Externally Stable Unstable

Adaptability AdaptableWithout Change

AdaptableThrough InternalChange

Not Adaptable

Essentiality Essential Essential Replaceable

Commonalityto the Domain

Core Core Peripheral

Identification Criteria

Page 27: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S27 Software Stability (1)

41

EnduringBusinessThemes

BusinessObjects

IndustrialObjects

Intuition Intuition Intuition andReading

Reading Only

Stability OverTime

Stable Over Time Externally Stable Unstable

Adaptability AdaptableWithout Change

AdaptableThrough InternalChange

Not Adaptable

Essentiality Essential Essential Replaceable

Commonalityto the Domain

Core Core Peripheral

Tangibility Conceptual Semi-tangible Tangible

Identification Criteria

Page 28: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S28 Software Stability (1)

41

Enduring Business Themes

Business Objects

Industrial Objects

Intuition Intuition Intuition and Reading

Reading Only

Stability Over Time

Stable Over Time Externally Stable Unstable

Adaptability Adaptable Without Change

Adaptable Through Internal Change

Not Adaptable

Essentiality Essential Essential Replaceable

Commonality to the Domain

Core Core Peripheral

Tangibility Conceptual Semi-tangible Tangible

Explicitness Implicit Sometimes Explicit

Explicit

Identification Criteria

Page 29: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S29 Software Stability (1)

Identification Heuristics - Enduring

49

Enduring Business Themes and Business Objects must be enduring.

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

Page 30: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S30 Software Stability (1)

Identification Heuristics - Industrial Object Identification

50

Is the object present in a “classical” model?

Can the object be replaced?

Is the object a representation of a concrete item?

Page 31: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S31 Software Stability (1)

Identification Heuristics - Top-Down Identification

51

Break off conceptual pieces of the problem.

Recursively break these concepts down.

Stop when a layer of industrial objects is reached.

Page 32: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S32 Software Stability (1)

Identification Heuristics - Bottom-Up Identification

52

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: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S33 Software Stability (1)

Identification Heuristics - There Is No Silver Bullet

53

EBT’s are conceptual themes… Usually

Business objects are more concrete objects… Usually

There are always exceptions to any rule.

Page 34: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S34 Software Stability (1)

34

Security_Manager (I O)

CheckPassword( )

Trait_Gatekeeper (I O)

CheckTraits( )

1 Identity (enduring)1Security (enduring) 11

*1 *1

IDSession (B O)

DomainName : type = string

FindCandidates( )AddPerson( )DeletePerson( )GetPersonProfile( )

11IDManager (B O) 1

PersonIdentifier (B O)

Search( )Search( )

1

1

*PersonProfile (I O)

uniqueID : type = longvalCandidateListGenerator (I O) *1

DataManager (B O)11 11

1

*

PersonTraits (I O)*1

HealthCare Example: PID

Page 35: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S35 Software Stability (1)

• Explain the following statements:

1. Objects should be intelligent agents

2. Mechanism rich and policy free

3. A valuable object works and plays well with others

4. Analysis model should not be too elaborate or too formal

• Explain how to build an analysis model

• Explain how do you make the analysis model more adaptable

35

Discussion Questions

Page 36: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S36 Software Stability (1)

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.

36

Questions for the Next Lecture

Page 37: SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José

Fall 2002 SJSU – CmpE M.E. Fayad L08-S37 Software Stability (1)

Task 1: Essay! Contact me for questions

Task 2: Read Chapters 1 and 2.

Task 3: Design Sessions for SSM (Discuss)

37

Tasks for Next Lecture