Reuse-1 CSE298 CSE300 CSE300-02 Distributed Object Computing Professor: Dr. Steven A. Demurjian Topic: Object Oriented Reuse Members: Xiaopei Wang, Hai.

Slides:



Advertisements
Similar presentations
Introduction to Java 2 Programming
Advertisements

Integration of MBSE and Virtual Engineering for Detailed Design
IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Instructed by: Ofir Erel Performed by: Adam Levi Marina Skarbovsky.
CSE298 CSE300 DRE1.1 Design Reuse Evaluations  System of Metrics Defines Reusability Scale  General versus Specific Class Definitions  Related versus.
LIFDsoft “enjoy with your mouse”. Group Members Akzhol ABDUKHALIEV Ishak YAPAR Niyazi GURSOY Yusuf Izzettin YAVUZ.
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
1 GUI Elements in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
ADVANCED MICROSOFT POWERPOINT Lesson 6 – Creating Tables and Charts
Graphical Tree-Based Scientific Calculator: CalcuWiz Will Ryan Christian Braunlich.
Java™ How to Program, 9/e Presented by: Dr. Reyes Álamo © Copyright by Pearson Education, Inc. All Rights Reserved.
UNIT-V The MVC architecture and Struts Framework.
1 ADVANCED MICROSOFT WORD Lesson 15 – Creating Forms and Working with Web Documents Microsoft Office 2003: Advanced.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
Hands-on Introduction to Visual Basic.NET Programming Right from the Start with Visual Basic.NET 1/e 6.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
The NetBeans IDE CSIS 3701: Advanced Object Oriented Programming.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
An Object-Oriented Approach to Programming Logic and Design
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
An Introduction to Software Architecture
Tip Calculator App Building an Android App with Java © by Pearson Education, Inc. All Rights Reserved.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Java Software Solutions Lewis and Loftus Chapter 10 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Graphical User Interfaces --
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
Chapter 9 Moving to Design
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
Systems Analysis and Design in a Changing World, 3rd Edition
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Introduction to Processing. 2 What is processing? A simple programming environment that was created to make it easier to develop visually oriented applications.
Amir Bishara and Dorin Danial Supervisors: Roiy Zysman Dr. Ilana David.
Visual Basic CDA College Limassol Campus Lecture:Pelekanou Olga Semester C Week - 1.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
Introduction to OOP CPS235: Introduction.
Session 2: Basic HTML HTML Coding Spring 2009 The LIS Web Team Presents.
Copyright (c) 2003 by Prentice Hall Provided By: Qasim Al-ajmi Chapter 2 Introduction to Visual Basic Programming Visual Basic.NET.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
34 Copyright © 2007, Oracle. All rights reserved. Module 34: Siebel Business Services Siebel 8.0 Essentials.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Presented By:. What is JavaHelp: Most software developers do not look forward to spending time documenting and explaining their product. JavaSoft has.
DBS201: Data Modeling. Agenda Data Modeling Types of Models Entity Relationship Model.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
DHTML.
CSC 222: Object-Oriented Programming
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Working in the Forms Developer Environment
CHAPTER 5 GENERAL OOP CONCEPTS.
SOFTWARE DESIGN AND ARCHITECTURE
TE004 Smart Change Management with Sage CRM Component Manager
1. Introduction to Visual Basic
Chap 7. Building Java Graphical User Interfaces
Graphical User Interfaces -- Introduction
Chapter 14 JavaFX Basics Dr. Clincy - Lecture.
Hands-on Introduction to Visual Basic .NET
JavaServer Faces: The Fundamentals
An Introduction to Software Architecture
Review CSE116 2/21/2019 B.Ramamurthy.
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
Object-Oriented PHP (1)
Presentation transcript:

Reuse-1 CSE298 CSE300 CSE Distributed Object Computing Professor: Dr. Steven A. Demurjian Topic: Object Oriented Reuse Members: Xiaopei Wang, Hai Lin, Steven Moore Coordinating with Jeff Ellis December 7, 2000

Reuse-2 CSE298 CSE300 Object Oriented ReuseObjective  Redesign GUI of DRE( tool  Redesign GUI of DRE(Design Reusability Evaluations) tool  A more user-friendly interface  Parser independent OO modeling  Apply Togethersoft Control Center for Reusability analysis  How can TCC be enhanced to support reusability calculations  Implement these enhancements

Reuse-3 CSE298 CSE300 Interface Design  GUI subsystem layout protocol

Reuse-4 CSE298 CSE300 Interface Design  Use 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 frame  Left pane: entity manager  Display entities  Display selected entity properties  Right pane: result and simulator operation

Reuse-5 CSE298 CSE300 Interface Design  Using JMenu to process available operations  Using JToolbar as a shortcut of menu operation  User can process an operation by directly clicking on the corresponding button

Reuse-6 CSE298 CSE300 Interface Design  Use JTree to present entities and their relationship package/class/variable/method/inner-class  Similar structure  Intuitive and vivid presentation  Easy to use interface  Us JTable to present entity properties

Reuse-7 CSE298 CSE300 Interface Design  Use JTabbedPane to display the metrics calculation result and provide the ability for future simulation work

Reuse-8 CSE298 CSE300 Interface Design  A HTML-based online help system lets user understand OO-Reuse basics, DRE metrics and how to use the tool

Reuse-9 CSE298 CSE300 OO Modeling  Why parser independent ?  Work with JAVA/C++ and other similar OO language parser  Split working flow  OO approach  Implementation  Language neutral data structure  Put GUI and parser in different package  Introduce data manager package to handle all data processing and transferring job

Reuse-10 CSE298 CSE300 OO Modeling  Four major components in the system

Reuse-11 CSE298 CSE300 Data 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-12 CSE298 CSE300 Data Abstraction  Class “Entity” is the data structure, used to present a particular node (package/class/variable/method/innerclass)  Class “Property” is used to show the properties of current selected node

Reuse-13 CSE298 CSE300 Add Classes  The GUI will give parser the list of files that user chose. Then GUI calls getData() methods of Data Manager to refresh the tree view of classes

Reuse-14 CSE298 CSE300 Show Property  When user clicks a particular node in the tree view of classes, the property of that node will be shown in the property pane

Reuse-15 CSE298 CSE300 Set General  GUI takes care which classes are subject to change their generality property, then call data manager’s method setGeneral(), given Ids. Finally, GUI refreshes the property pane for the first renewed class in the list

Reuse-16 CSE298 CSE300 Set Related  After user chooses a list of classes, user can mark them to be related to another class. And then user choose the destination class, all the classes in the list will be related to the destination class

Reuse-17 CSE298 CSE300Conclusion  A whole new look of DRE tool  This DRE tool has a more intuitive interface of the Java program and it’s easier to operate than the old one  OO modeling makes the design clear, and can be extended  GUI components are independent from parser, which improves the reusability

Reuse-18 CSE298 CSE300 Future Work - XML approach in data manager  Functionality, like Save and Load, will be provided, using XML.  XML is naturally suitable for storage of tree structure.

Reuse-19 CSE298 CSE300 Future Work - Online Help System  Online help system will offer more documentation

Reuse-20 CSE298 CSE300 Future Work - Others  DRE Tool  Testing and bug fixing Intensive testing and bug fixing is needed and essential  Simulator design Right now, the system hasn’t implemented simulator yet. In the future, user ought to be able to click on a coupling to navigate to the code and make changes. Then user runs the simulator to see how the changes affect evaluation  C++ parser C++ is another major programming language. Our system will evolve to support C++ source codes. Improvement will be done mostly in parser side and data manager

Reuse-21 CSE298 CSE300 Future Work (Cont’d)  DRE Tool  Documentation More documentation, such as API documentation and more background information ought to be added to online help system  Inherently related If class A is related to class B, then all A's decedents are related to all B's ancestors. We will add parent and descendent field in class property, to support this feature

Reuse-22 CSE298 CSE300 Togethersoft Control Center  Control Center integrates visual modeling with an integrated development environment  Implements UML  Source code editing  Model/code synchronization  Has an Open API  Has plugin support  Written in Java  Supports C++/Java

Reuse-23 CSE298 CSE300 Reuse Coupling Counts  User classifies class as general(G) or specific(S)  User classifies class hierarchies as being related to each other(R) or unrelated(U)  Count number of couplings of each type  Good for reuse  Classes that are general and related  Bad for reuse:  Classes that are unrelated, and where one is general and the other is specific  Not bad or good  both classes are specific

Reuse-24 CSE298 CSE300Motivation  Desirable to have one development environment to include reusability  Quicker design time if reduce number of tools required.  Easier to develop than stand alone application  Can leverage API classes that TCC provides for parsing/processing

Reuse-25 CSE298 CSE300Objectives  Leverage present TCC capabilities to support the reusability calculations.  Perform calculations with minimal user interaction  Have calculations stay with project  Display results in standardized fashion  Give user quick feedback from changes

Reuse-26 CSE298 CSE300 QA plugins  QA plugins provide built processing and parsing of the source code  Audit plugins  Source code syntax checking  Displays qualitative results in a report pane  Metrics plugins  Source code counting operations  Displays quantitative results in a report pane

Reuse-27 CSE298 CSE300 QA Plugins  QA plugin Hierarchy

Reuse-28 CSE298 CSE300 QA Metrics plugin  To implement requires overriding TCC’s MetricsPluginImpl class.  Plugins are loaded when TCC is first started  When user starts plugin operation some methods automatically invoked  prepare() method executed once when execution started.  run() method executed for each class and package in project

Reuse-29 CSE298 CSE300Design  Develop 10 plugin modules  1 module to specify classifications  specific/general  1 module to specify relationships  related/unrelated  8 coupling count modules  output modules

Reuse-30 CSE298 CSE300 Conclusion Future Work  Conclusion  TCC plugins are a good way to implement reusability calculations.  Future work  Additional work required to include true dependencies in coupling count modules  Can audit plugins be applied to help simplify parsing  Can TCC be applied to reusability simulation