Unformatted text preview:

A Framework, Methodology and Tool for Reusable Software Components*MotivationSlide 3Slide 4Motivation Why Software Reuse?ObjectivesOverview of PresentationCultural and Social Reuse Issues Management SupportCultural and Social Reuse Issues High Initial CostWhat are Components?Slide 11Defining Component ConceptsCultural and Social Reuse Issues Reuse and Software Design/DevelopmentComponents vs. ObjectsReusable Components Types & BenefitsComponent-Based Development ProcessSlide 17Slide 18Slide 19Slide 20What are Component Dependencies?Component-Based Tools/Web Sites of NoteSlide 23Slide 24Slide 25Slide 26Web-Site ReferencesA Framework, Methodology, and Tool for Reusable Software ComponentsSlide 29Subjective Identification of ComponentsGeneral/Specific Class CharacterizationSlide 32High-Tech Supermarket System (HTSS)The HTSS Software ArchitectureA General Class in HTSSAnother General Class in HTSSYet Another General Class in HTSSSpecific Classes in HTSSLevels of General ClassesCan you Identify Different Levels of General Classes?Can we Identify Different Levels of General Classes?Properties of General/Specific ClassesGenerality and Specificity within One Inheritance HierarchyGenerality/Specificity/Dependencies Across Multiple HierarchiesGeneral/Specific Paradigm in HTSSReusability in HTSS DomainSlide 47Slide 48The FinancialFrame ApplicationSlide 50General and Specific Classes in FinancialFrameRelated Classes and HierarchiesRelated Hierarchies/Reusable ComponentsRelated Characterization in Levels of Components - HTSSRelated Characterizations in Levels of Components - HTSSRelated Characterization in Levels of Components - FinancialFrameRelated Characterizations in Levels of Components - FinancialFrameWhat are Dependencies Among Classes?Reusing Sub-Hierarchies in Different Components - HTSSReusing Sub-Hierarchies in Different Components - FinancialFrameTransitivity in Inheritance and Related RelationshipsAn Example of Case 1 in FinancialFrameSlide 63An Example of Case 2 in FinancialFrameEvaluative Metrics and Methodology Objective Measures of DependenciesDependencies Among Related ClassesSample Dependencies in HTSSDependencies Among Non-Related ClassesSlide 69Summarizing Couplings of Related ClassesSummarizing Couplings of Non-Related ClassesDependencies in Levels of Components Summarizing Related ClassesDependencies in Levels of Components Summarizing Non-Related ClassesSample Actions to Improve ReusabilityReuse GuidelinesCore Guidelines to Move Couplings to Increase Reuse PotentialExtended Guidelines for Improving ReusabilityExtended Guidelines to Improve Reuse Identifying the ProblemSlide 79Problem and SolutionExtended Guidelines for Type 3 CouplingsRemoving Type 3 Couplings in HTSS Which Changes Make Sense?Extended Guidelines for Type 2 CouplingsExtended Guidelines for Type 4 CouplingsSummary on Extended GuidelinesUtilizing Reuse Methodology Evaluate Evolving Design/ImplementationUtilizing Reuse Methodology Investigate Reusability of Legacy CodeThe Video Rental System (VRS)General and Specific Classes in VRS-1DRE and VRS-1 Tracking Incremental VersionsFinal General/Specific Classes in VRS-2 and Some Related CharacterizationsDRE and VRS-2 Tracking Incremental VersionsOne Type 3 Coupling: G to S DependencyResolving Type 3 G to S DependencySlide 95The FinancialFrame Application Initial Assumptions on G/S and RelatedEvaluation of FinancialFrame Possible ScenariosRevising FinancialFrame ApplicationSlide 99Reusability of FinancialFrame ComponentsDesign Reusability Evaluation (DRE) ToolThe DRE Tool FamilySDRE - Main Application WindowSDRE - Main Window – Setting GeneralitySDRE - Main Window – Setting RelationsSDRE - Main Window – Choosing Simulation OptionsSDRE - Help SubsystemSDRE - Graphical Representation Generality Set for DesignSDRE - Graphical Representation Setting Related ClassesSDRE - Graphical Icons for ClassesSDRE - Graphical RepresentationSDRE - Editing Source Code Enabled When Doubling ClickingSDRE - Editing Source Code Editor Appears with Line HighlightedSDRE - Editing Source Code Source Editor FeaturesCollaborative DRE (CDRE)CDRE – DRE ClientCDRE – Client LoginCDRE – Project SelectionCDRE – Remote Class SelectionTogether DRE (TDRE)Reusability in Together CCSlide 122Slide 123Slide 124Towards the Formalization of a Reusability Framework for RefactoringGoalModel of OO ApplicationModel - Pair-wise CouplingsBasis of Reuse FrameworkClass ReusabilityModel - Class ReusabilityModel - Relations Among ClassesQuantifying Reuse PropertiesDependencies Among ClassesDependencies: Related ClassesDependencies: Non-Related ClassesSlide 137Slide 138Coupling Type TransitionsCoupling TransitionsReuse Improvement FactorMotivation of Refactoring AlgorithmRefactoring AlgorithmAdditional SlidesGraph Content and MatrixAlgorithm StepsSlide 147Slide 148Slide 149Slide 150Slide 151Slide 152Slide 153Example - AssumptionsExample - Generality and Related Steps 1, 2, 3 of AlgorithmExample - Determine Coupling Types Step 4 of AlgorithmExample - Identify Undesirable Couplings Step 5 of AlgorithmExample - Refactor the Application Step 6 of AlgorithmSlide 159Slide 160Example - Refactored Class DiagramFuture: Formal Reuse ModelA Graph-Based Algorithm for Automated RefactoringSlide 164Slide 165Slide 166Relations Among ClassesSlide 168Slide 169Slide 170Slide 171Slide 172Graph Based RefactoringConsistencyConsistent Topological OrderTopological Sort Consistent With Reference VerticesInduced Generality LevelSlide 178Slide 179Slide 180Slide 181Slide 182Slide 183Pull Up Method/Pull Up FieldPush Up Method/Push Up FieldExampleSlide 187Slide 188RefactoringClass Diagram After RefactoringConclusionsOngoing and Future WorkReusability and UML Eickhoff, Ellis, Demurjian, NeedhamRevisiting Reuse PropertiesReuse Definition, Assessment, and Analysis in UMLUse Cases with GeneralitiesUse Cases with Include, Extend, and InheritanceProperties for Use CasesCorresponding Refactoring GuidelinesIdentifying Problems RG3 for Pay CashUML Reuse and Class DiagramsClasses and Generality LevelsSlide 203Slide 204Slide 205Refactored UC Diagram from Earlier SlideUML Reuse and Behavior DiagramsUML Reuse and Component DiagramsModifications to Together CCSetting Project OptionsUC: Generality and RelatedClasses: Generality and RelatedComponents and FacadesRunning DRE and MetricsAnalyzing Reuse and RefactoringTCC: DRE-UML WarningsSlide 217Future Work - Reusability - SummaryREUSE--1A Framework, Methodology and Tool A Framework, Methodology


View Full Document

UConn CSE 298/300 - A Framework, Methodology

Documents in this Course
Java Tool

Java Tool

58 pages

Load more
Download A Framework, Methodology
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view A Framework, Methodology and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view A Framework, Methodology 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?