DOC PREVIEW
UConn CSE 298/300 - Lecture notes

This preview shows page 1-2-14-15-29-30 out of 30 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

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 ReuseObjectiveObjectiveRedesign GUI of DRE(Redesign GUI of DRE(Design Reusability Evaluations) tool toolA more user-friendly interfaceParser independent OO modelingApply Togethersoft Control Center for Reusability Apply Togethersoft Control Center for Reusability analysisanalysisHow can TCC be enhanced to support reusability calculationsImplement these enhancementsReuse-3CSE298 CSE300Interface DesignInterface DesignGUI subsystem layout protocol GUI subsystem layout protocolReuse-4CSE298 CSE300Interface DesignInterface DesignUse single frameUse single frameProcess one project each sessionBad design can make the interface messy and not familiar to programmersUse JSplitPane to separate function block of the Use JSplitPane to separate function block of the frameframeLeft pane: entity managerDisplay entitiesDisplay selected entity propertiesRight pane: result and simulator operationReuse-5CSE298 CSE300Interface DesignInterface DesignUsing JMenu to process available operationsUsing JMenu to process available operationsUsing JToolbar as a shortcut of menu operationUsing JToolbar as a shortcut of menu operationUser can process an operation by directly clicking on the corresponding buttonReuse-6CSE298 CSE300Interface DesignInterface DesignUse 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-classSimilar structureIntuitive and vivid presentationEasy to use interfaceUs JTable to present entity propertiesUs JTable to present entity propertiesReuse-7CSE298 CSE300Interface DesignInterface DesignUse 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 DesignA 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 ModelingWhy parser independent ?Why parser independent ?Work with JAVA/C++ and other similar OO language parserSplit working flowOO approachImplementationImplementationLanguage neutral data structurePut GUI and parser in different packageIntroduce data manager package to handle all data processing and transferring jobReuse-10CSE298 CSE300OO ModelingOO ModelingFour major components in the systemFour major components in the system<<subsystem>>GUI<<subsystem>>Data Manager<<subsystem>>Parser<<subsystem>>Metrics CalculatorReuse-11CSE298 CSE300Data AbstractionData AbstractionThe 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 AbstractionClass “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 ClassesThe 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 PropertyWhen 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 GeneralGUI 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 RelatedAfter 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 CSE300ConclusionConclusionA whole new look of DRE toolA whole new look of DRE toolThis DRE tool has a more intuitive interface of the This DRE tool has a more intuitive interface of the Java


View Full Document

UConn CSE 298/300 - Lecture notes

Documents in this Course
Java Tool

Java Tool

58 pages

Load more
Download Lecture notes
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 Lecture notes 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 Lecture notes 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?