Integrating ObjectOriented Metrics Analysis into the BlueJ Development Environment - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Integrating ObjectOriented Metrics Analysis into the BlueJ Development Environment

Description:

Integrating Object-Oriented Metrics Analysis into the BlueJ Development ... Exporter: exports BlueJ projects for use in other IDEs (e.g., NetBeans ant scripts) ... – PowerPoint PPT presentation

Number of Views:2122
Avg rating:3.0/5.0
Slides: 20
Provided by: wwwcs6
Category:

less

Transcript and Presenter's Notes

Title: Integrating ObjectOriented Metrics Analysis into the BlueJ Development Environment


1
Integrating Object-Oriented Metrics Analysis into
the BlueJ Development Environment
  • Jonathan Chapman

Computer Science Dept. Appalachian State
University Boone, NC
2
Presentation Roadmap
  • The BlueJ IDE
  • Extending BlueJ
  • Why/How it is done
  • A sampling of extensions
  • The Metrics Analysis Tool (MAT)
  • Running the MAT from inside BlueJ
  • AppLaunch extension
  • Other uses of AppLaunch

3
The BlueJ IDE
  • Designed specifically for introductory teaching
    of object orientation with Java.
  • Features
  • graphical class structure display
  • graphical and textual editing
  • built-in editor, compiler, JVM, debugger, etc.
  • easy-to-use interface, ideal for beginners
  • interactive object creation, object calls,
    testing
  • incremental application development

4
BlueJ Screenshot
Interface
5
Extending BlueJ
  • Extension API allows 3rd parties to extend the
    core system with additional functionality.
  • Extension sampler
  • Submitter configurable submission of projects
  • Checkstyle automated checking of style
    conventions
  • Exporter exports BlueJ projects for use in other
    IDEs (e.g., NetBeans ant scripts)
  • Remote File Manager integrated sftp with server

6
BlueJ Extension API
  • IDE Object Access
  • Controlled access to users projects, packages,
    classes, methods, objects, fields
  • Editor Control
  • Open/close files, hide/show editor, get/set
    selection, read/modify text,
  • Event Listening
  • Application events initiation, package
    open/close
  • Compilation events initiation, success, failure,
    completion
  • Invocation events before/after, parameters,
    returns
  • IDE menu presence
  • Tools
  • Preferences

7
Making a BlueJ Extension
  • Implementation
  • main class extends Extension class
  • Add tools/preferences menu items
  • Attach listeners and handlers
  • Deployment
  • Create jar file of extension code
  • Create Main-Class attribute in Manifest
  • Install jar file into appropriate BlueJ folder
  • BlueJ automatically sees valid extension jars

8
Metrics Analysis Tool (MAT)
  • Goals
  • Simple, Student-Based Metrics
  • Visual Presentation
  • Easy to use
  • Extendable (more metrics)
  • Standalone, usable outside of BlueJ

9
MAT Features
  • 24 Statistics, 9 Ratios, 9 Warnings
  • Graphs that change when statistics are selected
  • Viewable Abstract Syntax Tree (AST)
  • Can open multiple Java files simultaneously
  • Extensible (custom Ratios, Stats, and Warnings).
  • Prebuilt interface to AST for further use(some
    structures cached at parse-time for quicker
    access).

10
MAT AST Viewer
11
MAT Graph View
12
MAT Example Analysis
13
MAT in BlueJ
  • How do we Incorporate Standalone with IDE?
  • Why should user type in file information when
    this could be automated?

Introducing Application Launcher Extension...
14
Application Launcher
  • BlueJ extensions are coupled to BlueJ IDE
  • What about useful applications that are not
    BlueJ extensions?
  • Do we need two versions of applications that have
    homes inside and outside BlueJ ?
  • MAT is such an application
  • Wanted a way to connect it to BlueJ, but without
    making it limited to BlueJ
  • AppLaunch is a BlueJ extension allowing BlueJ
    user to launch an application from within BlueJ

15
AppLaunch Features
  • Tree model of applications
  • Applications can run at startup
  • Applications can work on 0, 1, or multiple files
  • Maintains window position and size at closing
  • Always-on-Top Capability (relative to BlueJ)
  • Adjustable panel dividers and window size
  • Refreshes when packages are opened/closed
  • Displays BlueJ projects in tree-form (optional)

16
Application Tree Only
Project and Application
View
View
17
AppLaunch Preferences
18
AppLaunch Add/Edit
19
AppLaunch Uses
  • Launch Alternative Editors
  • Transition to other environments
  • Software Metrics Tools
  • Student Habit Research
  • Frequency of compilations, time logs, etc.
  • Quick Links to Websites
  • Course/Lab web site
Write a Comment
User Comments (0)
About PowerShow.com