software engineering management€¦ · software engineering management dr. m.e. fayad, professor...
TRANSCRIPT
![Page 1: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/1.jpg)
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
![Page 2: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/2.jpg)
L01-B-S2 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
2
Lesson 01B: Software Stability
![Page 3: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/3.jpg)
L01-B-S3 Software 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
![Page 4: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/4.jpg)
L01-B-S4 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
Roadmap
4
Scare - General State of Panic
Identify the Killers (Problems)
Catch the killers (Solutions)
![Page 5: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/5.jpg)
L01-B-S5 Software 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.
![Page 6: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/6.jpg)
L01-B-S6 Software 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
![Page 7: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/7.jpg)
L01-B-S7 Software 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
![Page 8: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/8.jpg)
L01-B-S8 Software 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?
![Page 9: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/9.jpg)
L01-B-S9 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
A Traditional Model
9
Lender Loan
Borrower
Owes Borrowed
Lent
Do you think this model is an accurate representation of the problem?
![Page 10: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/10.jpg)
L01-B-S10 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
Roadmap
10
Scare - General State of Panic
Identify the Killers (Problems)
Catch the killers (Solutions)
![Page 11: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/11.jpg)
L01-B-S11 Software 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
![Page 12: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/12.jpg)
L01-B-S12 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
Roadmap
12
Scare - General State of Panic
Identify the Killers (Problems)
Catch the killers (Solutions)
![Page 13: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/13.jpg)
L01-B-S13 Software 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
![Page 14: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/14.jpg)
L01-B-S14 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
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: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/15.jpg)
L01-B-S15 Software 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
![Page 16: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/16.jpg)
L01-B-S16 Software 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
Cabinet Counter Appliance Sink
Refrigerator Dishwasher Range Pantry
Cooktop Oven Freezer
![Page 17: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/17.jpg)
L01-B-S17 Software 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
Cabinet Counter Appliance Sink
Refrigerator Dishwasher Range Pantry
Cooktop Oven Freezer
![Page 18: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/18.jpg)
L01-B-S18 Software 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
![Page 19: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/19.jpg)
L01-B-S19 Software 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
![Page 20: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/20.jpg)
L01-B-S20 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
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 Dishwasher Window Electric Light
Kitchen
![Page 21: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/21.jpg)
L01-B-S21 Software 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
![Page 22: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/22.jpg)
L01-B-S22 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
22
Identification Criteria
![Page 23: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/23.jpg)
L01-B-S23 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
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: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/24.jpg)
L01-B-S24 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
24
Identification Criteria
![Page 25: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/25.jpg)
L01-B-S25 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
25
Identification Criteria
![Page 26: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/26.jpg)
L01-B-S26 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
26
Identification Criteria
![Page 27: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/27.jpg)
L01-B-S27 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
27
Identification Criteria
![Page 28: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/28.jpg)
L01-B-S28 Software Stability © M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad
28
Identification Criteria
![Page 29: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/29.jpg)
L01-B-S29 Software 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.
![Page 30: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/30.jpg)
L01-B-S30 Software 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?
![Page 31: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/31.jpg)
L01-B-S31 Software 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.
![Page 32: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/32.jpg)
L01-B-S32 Software 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.
![Page 33: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/33.jpg)
L01-B-S33 Software 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.
![Page 34: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/34.jpg)
L01-B-S34 Software 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
![Page 35: Software Engineering Management€¦ · Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State](https://reader033.vdocument.in/reader033/viewer/2022053013/5f10b1037e708231d44a59da/html5/thumbnails/35.jpg)
L01-B-S35 Software 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