L5-S1 Software StabilitySJSU – CmpE © M.E. Fayad 2000-2005 Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.

Slides:



Advertisements
Similar presentations
L3-S1 Practical Solutions 2003 SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
Advertisements

L8-S1 Datalog Queries 2003 SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
Fall 2002 SJSU -- CmpE Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
 Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
L3-5c-S1 Object Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
L16-S1 Object Diagrams 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L28-S1 Interaction Diagrams 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
L19-S1 More on Class Diagrams 2003 SJSU -- CmpE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
 Fayad SJSU – CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L21-S1 Model-Based Arch SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L3-5d-S1 Class Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
L03-S1 Stable Analysis Patterns 2003 SJSU -- CmpE Software Pattens Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L26-S1 Interactions 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
L5-S1 Class Diagrams 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
L8-S1 CRC Cards 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
1999 – 2006 M.E. Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Analysis Heuristics Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L18-S1 Getting Started 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
 Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L04-S1 Stable Design Patterns 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L3-6b-S1 Sequence Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
L6-1-S1Design Heuristics - 1 © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
L1-S1Introduction 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
L4-S1 Modeling Concepts 2003 SJSU -- CMPE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
L8-2-S1 Misc Topics © M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of.
Fall 2002 SJSU -- CMPE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
L6-S1 MLPQ 2003 SJSU -- CmpE-- M.E. Fayad Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L11-S1TOP 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of.
L3-S1Analysis Heuristics 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L1-S1 Infinite R-DB 2003 SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
SJSU – CmpE © M.E. Fayad Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Database Design Dr. M.E. Fayad, Professor
Software Engineering Management
Software Patterns Dr. M.E. Fayad, Professor
Component-Based & Software Reuse
Software System Engineering
Object-Oriented Analysis & Design
Software Engineering Management
Advanced Object-Oriented Analysis & Design
Software System Engineering
Software System Engineering
Advanced Object-Oriented Analysis & Design
Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Component Based & Software Reuse
Software Systems Engineering
Software Project Management
Advanced Object-Oriented Analysis & Design
Database Design Dr. M.E. Fayad, Professor
Software Project Management
Software System Engineering
Object-Oriented Analysis & Design
Presentation transcript:

L5-S1 Software StabilitySJSU – CmpE © M.E. Fayad Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA

L5-S2Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 2 Lesson 5: Software Stability

L5-S3Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad Lesson Objectives 3 Overview of Previous Lecture Understand the following: – Enduring Business Theme – Business Objects – Industrial Objects – Framework Layering

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

L5-S5Software Stability © M.E. Fayad 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.

L5-S6Software Stability © M.E. Fayad 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

L5-S7Software Stability © M.E. Fayad 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 April 1998 –Received an asking for an extension until August 1998 March 2002 –I have not received the money

L5-S8Software Stability © M.E. Fayad 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?

L5-S9Software Stability © M.E. Fayad 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?

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

L5-S11Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad Problems 11 Wrong Analysis Industrial Objects Not stable architecture Missing the most enduring concepts

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

L5-S13Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad Open Discussion 13 Problem Domain Friendship Health Employment Family Other Relationships Borrower Schedule Lender Loan Education Expenses Finance Needs

L5-S14Software Stability © M.E. Fayad 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}

L5-S15Software Stability © M.E. Fayad 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 Sample Problem II - The Kitchen

L5-S16Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad The result is a model like this: 16 The Kitchen - A Traditional Model Kitchen CabinetCounterApplianceSink RefrigeratorDishwasherRangePantry CooktopOvenFreezer

L5-S17Software Stability © M.E. Fayad 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 The Kitchen - A Traditional Model Kitchen CabinetCounterApplianceSink RefrigeratorDishwasherRangePantry CooktopOvenFreezer

L5-S18Software Stability © M.E. Fayad 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

L5-S19Software Stability © M.E. Fayad 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

L5-S20Software Stability © M.E. Fayad 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

L5-S21Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad Identifying Enduring Business Themes & Business Objects - Identification Criteria 21 Stability Adaptability Essentiality Explicitness Intuition Tangibility Commonality to the Domain

L5-S22Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 22 Identification Criteria

L5-S23Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 23 Identification Criteria

L5-S24Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 24 Identification Criteria

L5-S25Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 25 Identification Criteria

L5-S26Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 26 Identification Criteria

L5-S27Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 27 Identification Criteria

L5-S28Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 28 Identification Criteria

L5-S29Software Stability © M.E. Fayad 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.

L5-S30Software Stability © M.E. Fayad 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?

L5-S31Software Stability © M.E. Fayad 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.

L5-S32Software Stability © M.E. Fayad 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.

L5-S33Software Stability © M.E. Fayad 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.

L5-S34Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 34 HealthCare Example: PID

L5-S35Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad 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

L5-S36Software Stability © M.E. Fayad 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. 36 Questions for the Next Lecture

L5-S37Software Stability © M.E. Fayad SJSU – CmpE M.E. Fayad Task 1: Stable Analysis Patterns Task 2: Stable Design Patterns Task 3: Design Sessions for SSM (Discuss) 37 Tasks for Next Lecture