Download presentation
Presentation is loading. Please wait.
Published byBethany Sparks Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.