Presentation is loading. Please wait.

Presentation is loading. Please wait.

SJSU – CmpE © M.E. Fayad 2000-2006 Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.

Similar presentations


Presentation on theme: "SJSU – CmpE © M.E. Fayad 2000-2006 Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering."— Presentation transcript:

1 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

2 L01-B-S2Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad 2 Lesson 01B: Software Stability

3 L01-B-S3Software 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

4 L01-B-S4Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad Roadmap 4 oScare - General State of Panic o Identify the Killers (Problems) oCatch the killers (Solutions)

5 L01-B-S5Software 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.

6 L01-B-S6Software 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

7 L01-B-S7Software 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

8 L01-B-S8Software 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?

9 L01-B-S9Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad A Traditional Model 9 LenderLoan Borrower OwesBorrowed Lent Do you think this model is an accurate representation of the problem?

10 L01-B-S10Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad Roadmap 10 oScare - General State of Panic o Identify the Killers (Problems) oCatch the killers (Solutions)

11 L01-B-S11Software 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

12 L01-B-S12Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad Roadmap 12 oScare - General State of Panic oIdentify the Killers (Problems) oCatch the killers (Solutions)

13 L01-B-S13Software 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

14 L01-B-S14Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad EBT-Based Model - The Loan Problem 14 … Friendship {Enduring} Friend {Business} BorrowerLender Finance {Enduring} Loan {Business} Solvency {Enduring} Need {Enduring} Expenses {Business} Employment {Business} Health {Business} Education {Business} Family {Business}

15 L01-B-S15Software 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

16 L01-B-S16Software 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 CabinetCounterApplianceSink RefrigeratorDishwasherRangePantry CooktopOvenFreezer

17 L01-B-S17Software 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 CabinetCounterApplianceSink RefrigeratorDishwasherRangePantry CooktopOvenFreezer

18 L01-B-S18Software 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

19 L01-B-S19Software 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

20 L01-B-S20Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad 20 The Kitchen - A Stable Model CabinetPantry RefrigeratorFreezer Food Storage & Preservation {Enduring} Microwave Range Cooking {Enduring} CooktopOven Cuisine {Enduring} Recipe {Business} Food Livability {Enduring} Cleanliness {Enduring} Convenience {Enduring} Light {Business} CounterShelf SinkDishwasherWindowElectric Light Kitchen

21 L01-B-S21Software 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

22 L01-B-S22Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad 22 Identification Criteria

23 L01-B-S23Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad 23 Enduring Business Themes Business Objects Industrial Objects Intuition Intuition and Reading Reading Only Stability Over Time Stable Over Time Internally Stable Unstable Identification Criteria

24 L01-B-S24Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad 24 Identification Criteria

25 L01-B-S25Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad 25 Identification Criteria

26 L01-B-S26Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad 26 Identification Criteria

27 L01-B-S27Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad 27 Identification Criteria

28 L01-B-S28Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad 28 Identification Criteria

29 L01-B-S29Software 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.

30 L01-B-S30Software 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?

31 L01-B-S31Software 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.

32 L01-B-S32Software 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.

33 L01-B-S33Software 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.

34 L01-B-S34Software 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

35 L01-B-S35Software 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


Download ppt "SJSU – CmpE © M.E. Fayad 2000-2006 Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering."

Similar presentations


Ads by Google