Component-Based & Software Reuse
-
Upload
kasper-molina -
Category
Documents
-
view
47 -
download
7
description
Transcript of Component-Based & Software Reuse
![Page 1: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/1.jpg)
SJSU – CmpE Fall 2003 & 2004 L07-01-S1 Software Stability
Component-Based & Software Reuse
Dr. 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/~fayad
![Page 2: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/2.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S2 Software Stability
2
Lesson 07:Software Stability
![Page 3: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/3.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S3 Software Stability
Lesson Objectives
Objectives
3
Overview of Previous Lecture Understand the following:– Enduring Business Theme – Business Objects– Industrial Objects– Framework Layering
![Page 4: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/4.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S4 Software Stability
Roadmap
4
Scare - General State of Panic
Identify the Killers (Problems)
Catch the killers (Solutions)
Objectives
![Page 5: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/5.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S5 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/6.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S6 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/7.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S7 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/8.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S8 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/9.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S9 Software Stability
A Traditional Model
9
Lender Loan
Borrower
Owes Borrowed
Lent
Do you think this model is an accurate representation of the problem?
![Page 10: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/10.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S10 Software Stability
Roadmap
10
Scare - General State of Panic
Identify the Killers (Problems)
Catch the killers (Solutions)
Objectives
![Page 11: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/11.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S11 Software Stability
Problems
11
Wrong Analysis
Industrial Objects
Not stable architecture
Missing the most enduring concepts
![Page 12: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/12.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S12 Software Stability
Roadmap
12
Scare - General State of Panic
Identify the Killers (Problems)
Catch the killers (Solutions)
Objectives
![Page 13: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/13.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S13 Software Stability
Open Discussion
13
Problem DomainFriendship
Health
EmploymentFamily
Other Relationships
Borrower
Schedule
Lender
Loan
Education
Expenses
Finance
Needs
![Page 14: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/14.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S14 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/15.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S15 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/16.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S16 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/17.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S17 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/18.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S18 Software Stability
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 internally stable.
Objects that may be replaced as times change are Industrial Objects.
18
The Kitchen - Correcting The Model
![Page 19: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/19.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S19 Software Stability
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
LivabilityStorage
Cleanliness
Convenience
Spaciousness
![Page 20: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/20.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S20 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/21.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S21 Software Stability
Identifying Enduring Business Themes & Business Objects - Identification
Criteria
21
Stability Adaptability Essentiality Explicitness Intuition Tangibility Commonality to the Domain
![Page 22: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/22.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S22 Software Stability
22
EnduringBusinessThemes
BusinessObjects
IndustrialObjects
Intuition Intuition Intuition andReading
Reading Only
Identification Criteria
![Page 23: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/23.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S23 Software Stability
23
Enduring Business Themes
Business Objects
Industrial Objects
Intuition Intuition Intuition and Reading
Reading Only
Stability Over Time
Stable Over Time Internally Stable Unstable
Identification Criteria
![Page 24: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/24.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S24 Software Stability
24
Enduring Business Themes
Business Objects
Industrial Objects
Intuition Intuition Intuition and Reading
Reading Only
Stability Over Time
Stable Over Time Internally Stable Unstable
Adaptability Adaptable Without Change
Adaptable Through external Change
Not Adaptable
Identification Criteria
![Page 25: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/25.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S25 Software Stability
25
Enduring Business Themes
Business Objects
Industrial Objects
Intuition Intuition Intuition and Reading
Reading Only
Stability Over Time
Stable Over Time Internally Stable Unstable
Adaptability Adaptable Without Change
Adaptable Through external Change
Not Adaptable
Essentiality Essential Essential Replaceable
Identification Criteria
![Page 26: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/26.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S26 Software Stability
26
Enduring Business Themes
Business Objects
Industrial Objects
Intuition Intuition Intuition and Reading
Reading Only
Stability Over Time
Stable Over Time Internally Stable Unstable
Adaptability Adaptable Without Change
Adaptable Through external Change
Not Adaptable
Essentiality Essential Essential Replaceable
Commonality to the Domain
Core Core Peripheral
Identification Criteria
![Page 27: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/27.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S27 Software Stability
27
Enduring Business Themes
Business Objects
Industrial Objects
Intuition Intuition Intuition and Reading
Reading Only
Stability Over Time
Stable Over Time Internally Stable Unstable
Adaptability Adaptable Without Change
Adaptable Through external Change
Not Adaptable
Essentiality Essential Essential Replaceable
Commonality to the Domain
Core Core Peripheral
Tangibility Conceptual Semi-tangible Tangible
Identification Criteria
![Page 28: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/28.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S28 Software Stability
28
Enduring Business Themes
Business Objects
Industrial Objects
Intuition Intuition Intuition and Reading
Reading Only
Stability Over Time
Stable Over Time Internally Stable Unstable
Adaptability Adaptable Without Change
Adaptabl Through external 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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/29.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S29 Software Stability
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.
![Page 30: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/30.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S30 Software Stability
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?
![Page 31: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/31.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S31 Software Stability
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.
![Page 32: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/32.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S32 Software Stability
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.
![Page 33: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/33.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S33 Software Stability
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.
![Page 34: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/34.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S34 Software Stability
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) 1PersonIdentifier (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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/35.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S35 Software Stability
• 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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/36.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S36 Software Stability
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: Component-Based & Software Reuse](https://reader035.fdocuments.in/reader035/viewer/2022062411/56813062550346895d963242/html5/thumbnails/37.jpg)
Fall 2003 & 2004 SJSU – CmpE M.E. Fayad L07-01-S37 Software Stability
Task 1: Stable Analysis Patterns
Task 2: Stable Design Patterns
Task 3: Design Sessions for SSM (Discuss)
37
Tasks for Next Lecture