Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability...
-
Upload
jared-todd -
Category
Documents
-
view
212 -
download
0
Transcript of Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability...
![Page 1: Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.](https://reader037.fdocuments.in/reader037/viewer/2022091118/56649f145503460f94c2897a/html5/thumbnails/1.jpg)
Maintainability - Page P3-L9-1
MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad
Lesson 9: Maintainability
Lesson 9: Maintainability
Software Software Engineering Engineering
IIII
![Page 2: Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.](https://reader037.fdocuments.in/reader037/viewer/2022091118/56649f145503460f94c2897a/html5/thumbnails/2.jpg)
Maintainability - Page P3-L9-2
MEF-TRANSITION-P3-L9-2 Dr. M.E. Fayad
Lesson ObjectivesLesson Objectives
Understand why OO helps maintainability
Recognize OO principles that enhance maintainability
Learn how to structure projects to support maintenance
Objectives
![Page 3: Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.](https://reader037.fdocuments.in/reader037/viewer/2022091118/56649f145503460f94c2897a/html5/thumbnails/3.jpg)
Maintainability - Page P3-L9-3
MEF-TRANSITION-P3-L9-3 Dr. M.E. Fayad
SOFTWARE MAINTENANCE CATEGORIES
• Corrective maintenance - Correcting
• Perfective maintenance - Upgrading
• Adaptive maintenance - Rehosting
• Preventive maintenance
![Page 4: Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.](https://reader037.fdocuments.in/reader037/viewer/2022091118/56649f145503460f94c2897a/html5/thumbnails/4.jpg)
Maintainability - Page P3-L9-4
MEF-TRANSITION-P3-L9-4 Dr. M.E. Fayad
TYPICAL MAINTENANCE MODEL
We must throw away
everythingand start over!!!
“Spaghetti”
![Page 5: Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.](https://reader037.fdocuments.in/reader037/viewer/2022091118/56649f145503460f94c2897a/html5/thumbnails/5.jpg)
Maintainability - Page P3-L9-5
MEF-TRANSITION-P3-L9-5 Dr. M.E. Fayad
OO ENHANCES COMMUNICATION
1990sMaturing OO MethodsSystem
EngineerSoftwareEngineer
Ailerons, Elevators,and Rudders
Inertial NavigationSystem
Commercial Airplane Block Diagram
AltimeterRadarLanding Gear
Air DataComputer RadiosCompass
45°
CommercialAirplane
??? ?
?
?? ?Assembly
Language
SystemEngineer
SoftwareEngineer
Pre 1970sNo Formal Methods
??
?
SystemEngineer
SoftwareEngineer
1970s - 1980sFunctional and
Early OO Methods
??? ?
?
??
??
??
Top Level
Level 1 Level 1 Level 1 Level 1 Level 1
Level 2 Level 2
Level 2 Level 2 Level 2
Level 3
OO Maps the Problem Domain to the Solution DomainOO Maps the Problem Domain to the Solution Domain
![Page 6: Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.](https://reader037.fdocuments.in/reader037/viewer/2022091118/56649f145503460f94c2897a/html5/thumbnails/6.jpg)
Maintainability - Page P3-L9-6
MEF-TRANSITION-P3-L9-6 Dr. M.E. Fayad
OO ENFORCES ORDER
VS.
Object-Oriented
Typical Legacy Software
I know aquick fix!!
1985
1993
I don'tunderstand
?!?
David Zeigler
![Page 7: Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.](https://reader037.fdocuments.in/reader037/viewer/2022091118/56649f145503460f94c2897a/html5/thumbnails/7.jpg)
Maintainability - Page P3-L9-7
MEF-TRANSITION-P3-L9-7 Dr. M.E. Fayad
.
VS.
Abstractions EffectivelyCommunicate Complex Systems
Reducing Connections MinimizesChances For Error
Localization Packages RelatedInformation
Information Hiding PreventsCorruption Of Details
XQ
14
47
S/N
56
A2
34
-04
1
D
C
Q
Q
D
CQ
Q
OO PRINCIPLES ENHANCE MAINTAINABILITY
![Page 8: Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.](https://reader037.fdocuments.in/reader037/viewer/2022091118/56649f145503460f94c2897a/html5/thumbnails/8.jpg)
Maintainability - Page P3-L9-8
MEF-TRANSITION-P3-L9-8 Dr. M.E. Fayad
HOW TO STRUCTURE THE PROJECT TO SUPPORT MAINTENANCE
Software Maintenance
20301993
1992
System
Sensor
Alarm Human
Clock
Hierarchical AbstractionProvides Understandability
T em p era tureM od el3 .2.1.4 .1 1
T emp era tureIn te rface3.2.2.9
Ice D ete ctorModel3.2.1.4.14
ADU M odel3.2.1.4.1
Modify_ OAT_W AT_Dif f
OAT_WAT_Diff
U pd ate_ T e mp_ Trn dc rsM a ch _N u m b e r
Measured_OAT_WAT_Diff
Measured_OAT_WAT_Diff
Update_Ice_Detector
OAT_WAT_Diff_Voltage
BIT_State
Tem p_ T rn d c rs_ S ta te
Measured_Static_Press
M e asu re d _S ta t ic _ Pr es s
ADU Model
3.2.1.4.1
CASE Tools Allow Easy TraversalOf Requirements, Design, And Code
Disciplined Process Critical ToEngineer Quality Objects
Standards ProvideUniformity
DesignStandards Code
Standards
TrainedWork
Teams
MethodDriven
Analysis
Reviews&
Inspections
Self_Test
Filter
q
q
Bias
PressureSensor
Measured_Static_Pressure
Measured_Static_Pressure
![Page 9: Maintainability - Page P3-L9-1 MEF-TRANSITION-P3-L9-1 Dr. M.E. Fayad Lesson 9: Maintainability SoftwareEngineeringII.](https://reader037.fdocuments.in/reader037/viewer/2022091118/56649f145503460f94c2897a/html5/thumbnails/9.jpg)
Maintainability - Page P3-L9-9
MEF-TRANSITION-P3-L9-9 Dr. M.E. Fayad
MAINTENANCE SUMMARY
• Use OO to engineer maintainability into the software product
• OO principles that enhance maintainability are:– Abstraction
– Localization (Cohesion)
– Encapsulation with rigorous interfaces
– Information Hiding
• Software maintainability process elements:– Object-Oriented Software Engineering
– Standards
– Processes
– CASE tools
– Hierarchical abstraction of the problem