Software PatternsSlide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Sample Problem II - The KitchenThe Kitchen - A Traditional ModelSlide 17The Kitchen - Correcting The ModelSlide 19The Kitchen - A Stable ModelSlide 21Identification CriteriaSlide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Discussion QuestionsQuestions for the Next LectureTasks for Next LectureSJSU – CmpE Fall 2003L01-S1 Software StabilitySoftware PatternsDr. M.E. Fayad, ProfessorComputer Engineering Department, Room #283I College of EngineeringSan José State UniversityOne Washington SquareSan José, CA 95192-0180 http://www.engr.sjsu.edu/~fayadFall 2003SJSU – CmpE M.E. Fayad L01-S2 Software Stability2Lesson 1:Software StabilityFall 2003SJSU – CmpE M.E. Fayad L01-S3 Software Stability Lesson ObjectivesObjectives3 Overview of Previous Lecture Understand the following:– Enduring Business Theme – Business Objects– Industrial Objects– Framework LayeringFall 2003SJSU – CmpE M.E. Fayad L01-S4 Software StabilityRoadmap4Scare - General State of Panic Identify the Killers (Problems)Catch the killers (Solutions)ObjectivesFall 2003SJSU – CmpE M.E. Fayad L01-S5 Software StabilityThe Current State of Software - I5Current 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.Fall 2003SJSU – CmpE M.E. Fayad L01-S6 Software StabilityThe Current State of Software - II6Software has short life span.Often wrong software application is implementedSometimes cancelled before completionmaintenance cost over 80% of the development lifecycleFall 2003SJSU – CmpE M.E. Fayad L01-S7 Software StabilitySample Problem - The Loan7January 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 1998March 2002–I have not received the moneyFall 2003SJSU – CmpE M.E. Fayad L01-S8 Software StabilityWhere Is The Problem?8After 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?Fall 2003SJSU – CmpE M.E. Fayad L01-S9 Software StabilityA Traditional Model9Lender LoanBorrowerOwes BorrowedLentDo you think this model is an accurate representation of the problem?Fall 2003SJSU – CmpE M.E. Fayad L01-S10 Software StabilityRoadmap10Scare - General State of Panic Identify the Killers (Problems)Catch the killers (Solutions)ObjectivesFall 2003SJSU – CmpE M.E. Fayad L01-S11 Software StabilityProblems11Wrong AnalysisIndustrial ObjectsNot stable architectureMissing the most enduring conceptsFall 2003SJSU – CmpE M.E. Fayad L01-S12 Software StabilityRoadmap12Scare - General State of PanicIdentify the Killers (Problems)Catch the killers (Solutions)ObjectivesFall 2003SJSU – CmpE M.E. Fayad L01-S13 Software StabilityOpen Discussion13Problem DomainFriendshipHealthEmploymentFamilyOther RelationshipsBorrowerScheduleLenderLoanEducationExpensesFinanceNeedsFall 2003SJSU – CmpE M.E. Fayad L01-S14 Software StabilityEBT-Based Model - The Loan Problem14…Friendship{Enduring}Friend{Business}Borrower LenderFinance{Enduring}Loan{Business}Solvency{Enduring}Need{Enduring}Expenses{Business}Employment{Business}Health{Business}Education{Business}Family{Business}Fall 2003SJSU – CmpE M.E. Fayad L01-S15 Software StabilityKitchens 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...15Sample Problem II - The KitchenFall 2003SJSU – CmpE M.E. Fayad L01-S16 Software StabilityThe result is a model like this:16The Kitchen - A Traditional ModelKitchenCabinet Counter Appliance SinkRefrigerator Dishwasher RangePantryCooktop OvenFreezerFall 2003SJSU – CmpE M.E. Fayad L01-S17 Software StabilityThis 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...17The Kitchen - A Traditional ModelKitchenCabinet Counter Appliance SinkRefrigerator Dishwasher RangePantryCooktop OvenFreezerFall 2003SJSU – CmpE M.E. Fayad L01-S18 Software StabilityTo 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.18The Kitchen - Correcting The ModelFall 2003SJSU – CmpE M.E. Fayad L01-S19 Software StabilityWhat does a kitchen need?What do people do in a kitchen?What is a kitchen for?19The Kitchen - Correcting The ModelCookingCuisineLivabilityStorageCleanlinessConvenienceSpaciousnessFall 2003SJSU – CmpE M.E. Fayad L01-S20 Software Stability20The Kitchen - A Stable ModelCabinet PantryRefrigerator FreezerFood Storage & Preservation{Enduring}MicrowaveRangeCooking{Enduring}Cooktop OvenCuisine{Enduring}Recipe{Business}FoodLivability{Enduring}Cleanliness{Enduring}Convenience{Enduring}Light{Business}Counter ShelfSink DishwasherWindow Electric LightKitchenFall 2003SJSU – CmpE M.E. Fayad L01-S21 Software StabilityIdentifying Enduring Business Themes & Business Objects - Identification Criteria21StabilityAdaptabilityEssentialityExplicitnessIntuitionTangibilityCommonality to the DomainFall 2003SJSU – CmpE M.E. Fayad L01-S22 Software Stability22EnduringBusinessThemesBusinessObjectsIndustrialObjectsIntuitionIntuition Intuition andReadingReading OnlyIdentification CriteriaFall 2003SJSU – CmpE M.E. Fayad L01-S23 Software Stability23EnduringBusinessThemesBusinessObjectsIndustrialObjectsIntuitionIntuition Intuition andReadingReading OnlyStability OverTimeStable Over Time Externally Stable UnstableIdentification CriteriaFall 2003SJSU – CmpE M.E. Fayad L01-S24 Software
View Full Document