Slide 1Object Oriented ReuseInterface DesignSlide 4Slide 5Slide 6Slide 7Slide 8OO ModelingSlide 10Data AbstractionSlide 12Add ClassesShow PropertySet GeneralSet RelatedConclusionFuture Work - XML approach in data managerFuture Work - Online Help SystemFuture Work - OthersFuture Work (Cont’d)Togethersoft Control CenterReuse Coupling CountsMotivationObjectivesQA pluginsQA PluginsQA Metrics pluginDesignConclusion Future WorkReuse-1CSE298 CSE300CSE300-02 Distributed Object Computing Professor: Dr. Steven A. Demurjian Topic: Object Oriented ReuseMembers: Xiaopei Wang, Hai Lin, Steven MooreCoordinating with Jeff EllisDecember 7, 2000December 7, 2000Reuse-2CSE298 CSE300Object Oriented ReuseObjectiveObjectiveRedesign GUI of DRE(Redesign GUI of DRE(Design Reusability Evaluations) tool toolA more user-friendly interfaceParser independent OO modelingApply Togethersoft Control Center for Reusability Apply Togethersoft Control Center for Reusability analysisanalysisHow can TCC be enhanced to support reusability calculationsImplement these enhancementsReuse-3CSE298 CSE300Interface DesignInterface DesignGUI subsystem layout protocol GUI subsystem layout protocolReuse-4CSE298 CSE300Interface DesignInterface DesignUse single frameUse single frameProcess one project each sessionBad design can make the interface messy and not familiar to programmersUse JSplitPane to separate function block of the Use JSplitPane to separate function block of the frameframeLeft pane: entity managerDisplay entitiesDisplay selected entity propertiesRight pane: result and simulator operationReuse-5CSE298 CSE300Interface DesignInterface DesignUsing JMenu to process available operationsUsing JMenu to process available operationsUsing JToolbar as a shortcut of menu operationUsing JToolbar as a shortcut of menu operationUser can process an operation by directly clicking on the corresponding buttonReuse-6CSE298 CSE300Interface DesignInterface DesignUse JTree to present entities and their relationship Use JTree to present entities and their relationship package/class/variable/method/inner-classpackage/class/variable/method/inner-classSimilar structureIntuitive and vivid presentationEasy to use interfaceUs JTable to present entity propertiesUs JTable to present entity propertiesReuse-7CSE298 CSE300Interface DesignInterface DesignUse JTabbedPane to display the metrics calculation Use JTabbedPane to display the metrics calculation result and provide the ability for future simulation result and provide the ability for future simulation workworkReuse-8CSE298 CSE300Interface DesignInterface DesignA HTML-based online help system lets user A HTML-based online help system lets user understand OO-Reuse basics, DRE metrics and understand OO-Reuse basics, DRE metrics and how to use the toolhow to use the toolReuse-9CSE298 CSE300OO ModelingOO ModelingWhy parser independent ?Why parser independent ?Work with JAVA/C++ and other similar OO language parserSplit working flowOO approachImplementationImplementationLanguage neutral data structurePut GUI and parser in different packageIntroduce data manager package to handle all data processing and transferring jobReuse-10CSE298 CSE300OO ModelingOO ModelingFour major components in the systemFour major components in the system<<subsystem>>GUI<<subsystem>>Data Manager<<subsystem>>Parser<<subsystem>>Metrics CalculatorReuse-11CSE298 CSE300Data AbstractionData AbstractionThe NodeData class encapsulates the properties and methods needed to present a tree node, the id field point to the real data(an entity object) we want to present.Reuse-12CSE298 CSE300Data AbstractionData AbstractionClass “Entity” is the data structure, used to present a Class “Entity” is the data structure, used to present a particular node (package/class/variable/method/innerclass)particular node (package/class/variable/method/innerclass)Class “Property” is used to show the properties of current Class “Property” is used to show the properties of current selected nodeselected nodeReuse-13CSE298 CSE300UserData ManagerDataManagerParserGUIDreFrame renew GUI getData(file[]) renew data Parse files select files from file dialog Add button/menuAdd ClassesAdd ClassesThe GUI will give parser the list of files that user chose. The GUI will give parser the list of files that user chose. Then GUI calls getData() methods of Data Manager to Then GUI calls getData() methods of Data Manager to refresh the tree view of classesrefresh the tree view of classesReuse-14CSE298 CSE300Show PropertyShow PropertyWhen user clicks a particular node in the tree view When user clicks a particular node in the tree view of classes, the property of that node will be shown of classes, the property of that node will be shown in the property panein the property paneData ManagerGUIUser setProperty(property) getProperty(id) Select a nodeReuse-15CSE298 CSE300UserData ManagerDataManagerGUIDreFrame Refresh property table setGeneral(classes id) Get selected classes id Select classes in the tree Set General button/menu get first renewed classSet GeneralSet GeneralGUI takes care which classes are subject to change their GUI takes care which classes are subject to change their generality property, then call data manager’s method generality property, then call data manager’s method setGeneral(), given Ids. Finally, GUI refreshes the property setGeneral(), given Ids. Finally, GUI refreshes the property pane for the first renewed class in the listpane for the first renewed class in the listReuse-16CSE298 CSE300UserGUIDreFrameData ManagerDataManager get related classes id Refresh property table setRelated(id Vector) Select Destination class Select multiple classes Set Related Button/Menu get first renewed classSet RelatedSet RelatedAfter user chooses a list of classes, user can mark them to After user chooses a list of classes, user can mark them to be related to another class. And then user choose the be related to another class. And then user choose the destination class, all the classes in the list will be related to destination class, all the classes in the list will be related to the destination classthe destination classReuse-17CSE298 CSE300ConclusionConclusionA whole new look of DRE toolA whole new look of DRE toolThis DRE tool has a more intuitive interface of the This DRE tool has a more intuitive interface of the Java
View Full Document