Defect, Problem and Progress Tracking System John Biddle.

29
Defect, Problem and Progress Tracking System John Biddle

Transcript of Defect, Problem and Progress Tracking System John Biddle.

Page 1: Defect, Problem and Progress Tracking System John Biddle.

Defect, Problem and Progress Tracking

System

John Biddle

Page 2: Defect, Problem and Progress Tracking System John Biddle.

SDSG

Systems Development and Support GroupMagnet Test FacilityTest Conventional and Super Conducting

Magnets

Maintain control, data acquisition, and monitoring systemsEx. Chisox, EMS, Unix Support, etc.

Page 3: Defect, Problem and Progress Tracking System John Biddle.

Motivation for DPPTS

Efficient Maintenance of various SystemsRequire Knowledge of any Problems or

DefectsUnderstanding of Systems’ behaviorMechanism to improve functionality, if

needed

Page 4: Defect, Problem and Progress Tracking System John Biddle.

Motivation for DPPTS (cont.)

MTF = Large Collaborative EnvironmentDifficult to keep track of old, new, and

updated defects.

Need for specialized system to track defects

DPPTS is implemented for this purpose

Page 5: Defect, Problem and Progress Tracking System John Biddle.

The Basic Idea

Defect Database

Remote Nodes

DPPTS Applet

Page 6: Defect, Problem and Progress Tracking System John Biddle.

Defect Database

Page 7: Defect, Problem and Progress Tracking System John Biddle.

Interface v1.5.2

Page 8: Defect, Problem and Progress Tracking System John Biddle.

Interface (cont.)

Page 9: Defect, Problem and Progress Tracking System John Biddle.

Interface (cont.)

Page 10: Defect, Problem and Progress Tracking System John Biddle.

Interface (cont.)

Page 11: Defect, Problem and Progress Tracking System John Biddle.

Possible Improvements

Search options are rather limitedKeyword Search?Date Search?Allow more specific queries?

How about Printing?

Page 12: Defect, Problem and Progress Tracking System John Biddle.

Upgrading DPPTS

Make changes to source code?Source code generated by PowerJCode is very obscure, difficult to make

changesCode dependent on non-standard PowerJ

classesPowerJ is no longer continued

Start all over from scratch!

Page 13: Defect, Problem and Progress Tracking System John Biddle.

Crash Course in Java -- OOP

Object Oriented Programming

Objects do all the work Methods – similar to functions Data members (ints, booleans, or other objects)

Methods and data members defined in Classes Objects are particular “instances” of Classes

Page 14: Defect, Problem and Progress Tracking System John Biddle.

Objects and Classes Ex.class Clubs { int cover() {}}

Clubs DragonRoom; …..DragonRoom.cover();

Clubs ClubO; ….ClubO.cover();

Page 15: Defect, Problem and Progress Tracking System John Biddle.

Objects Passed as Arguments

class Bartender{ Drink mix(Drink drink1, Drink drink2){}}

class Drink {}

Drink koolAid, vodka;….Bartender charlie;….Drink bruceJuice = charlie.mix(koolAid, vodka);

Page 16: Defect, Problem and Progress Tracking System John Biddle.

Inheritance

Allows creation of subclasses

Subclasses inherits methods and data members from superclass

Instance of subclass is also instance of superclass

Tree class

OakTree class PineTree class

Page 17: Defect, Problem and Progress Tracking System John Biddle.

Design of New Applet

Use same specs as previous version

Use another frame for extra search options

Include a printing function

Page 18: Defect, Problem and Progress Tracking System John Biddle.

Design (cont.)

Make a class for everythingAdvantage – component details are hidden

from others (ADT)Disadvantage – a ton of classesDisadvantage – communication between

components?

Page 19: Defect, Problem and Progress Tracking System John Biddle.

Design (cont.)

Create classes for panels and frames.Almost each class will need to access databaseCreate classes to hide details of database from visual componentsDbAccessor – establish connectionDataManager – handle requests to/from

database (SQL)

Page 20: Defect, Problem and Progress Tracking System John Biddle.

Design (cont.) -- Panel Classes

Construct Panels with the same JTable object

Submit

Advanced

QueryPanel

ActionPanel

ViewPanel

MessagePanel

New Update History Print

SearchFrame

EnterDataFrame HistoryFrame

StringPrinter

JTable

Page 21: Defect, Problem and Progress Tracking System John Biddle.

Frame Classes

EnterDataFrameNew and Update Entry FramesConstructor requires data for update frame Sends email to coordinator and assigned

(Emailer).

HistoryFrameRequire table data in constructor (Vectors)Creates Description Frame

Page 22: Defect, Problem and Progress Tracking System John Biddle.

Frame classes (cont.)

SearchFrameMore Query Options (keyword, date, etc)Should also house same instance of

JTable

DescriptionFrameDisplays text informationConstructor requires string (text)Email dialog (Emailer class)

Page 23: Defect, Problem and Progress Tracking System John Biddle.

Other Classes

DataTableModelCreates a table model used to change

information in JTables

EmailerSends email

StringPrinterSends a string to a printer

Page 24: Defect, Problem and Progress Tracking System John Biddle.

Other Classes (cont.)

AppletFrameDisplays an applet in a frameAllows applet to run as an application

DbAccessorConnects to Database

DataManagerSQL statements

Page 25: Defect, Problem and Progress Tracking System John Biddle.

Version 2.0

Page 26: Defect, Problem and Progress Tracking System John Biddle.

New or Updated Entries

Page 27: Defect, Problem and Progress Tracking System John Biddle.

Test Drive

Page 28: Defect, Problem and Progress Tracking System John Biddle.

Another Test Drive

Page 29: Defect, Problem and Progress Tracking System John Biddle.

Conclusions

The program may run as either an application or an applet.

Runs in Java Runtime Environment 1.3 or better.

Most importantly, It works!The project was successful.