CRC Specifications

Orange Group

  1. Plotter

    ResponsibilitiesCollaborators
    1. Generate and manage layout
    2. Interact with user (menus, buttons, hot icons, etc.)
    3. Controller Interfaces
    • VData
    • PlotView
    • Spreadsheet

     

  2. VData

    ResponsibilitiesCollaborators
    1. Set Data
    2. Extract Data
    3. Store Data
    4. Modify Data
    5. Provide Data for Display
    • Spreadsheet
    • Constraints
    • Locus
    • Axis
    • Label
    • PlotView
    • Menu

     

  3. Spreadsheet

    ResponsibilitiesCollaborators
    1. Read data from file to show
    2. Read data from user interface
    3. Save data
    4. Set the look and feel of UI
    5. Notify PlotView, Axis, Scale, etc. when data has changed
    6. Notify Plotter when resized
    • VData
    • Integrity Constraints

     

  4. PlotView

    ResponsibilitiesCollaborators
    1. Draw Axes
    2. Draw Label
    3. Draw Locus Curvee with ??
    4. Draw Grid
    5. Draw Plot Title
    6. Draw Legend
    7. Perform Calculations
    8. Plot Area
    9. Show Values on Mouse Over
    • Axis
    • Label
    • Locus
    • Grid
    • Label
    • Legend
    • Constraints
    • Axis
    • Plotter
    • VData

     

  5. Legend

    ResponsibilitiesCollaborators
    1. Request/Set Icons and Text for Label objects it contains
    2. Draw itself
    3. Listen for changes in the plots (when allowed to be dynamic)
    • Labels
    • PlotView
    • VData

     

  6. Grid

    ResponsibilitiesCollaborators
    1. Generate grid
    2. Turn Grid on/off
    • PlotView
    • Axis

     

  7. Label

    ResponsibilitiesCollaborators
    1. Draw label
    2. Get Position
    3. Set Position
    • VData
    • PlotView

     

  8. Constraints

    ResponsibilitiesCollaborators
    1. Constraint to check equality of x & y coordinates
    2. Default constraints (used to set default values
    3. Maximum constraints (can be used to specify maximum value, an attribute can take)
    4. Minimum constraints (can be used to specify maximum value, an attribute can take)
    • VData
    • PlotView

     

  9. Axis

    ResponsibilitiesCollaborators
    1. Determine the origin based on data
    2. Set a scale - default linear, option to set to log / semi-log
    3. Draw the axis
    4. Draw the ticks on the axes using the scale (minor ticks?)
    5. print values / numbers corresponding to tick marks
    6. redraw on resize, update, etc.
    7. Set ticks, colots
    • VData
    • PlotView
    • Plotter
    • Menu

     

  10. Locus

    ResponsibilitiesCollaborators
    1. Get type of line, style, color, etc.
    2. Get a scale
    3. Fit a line to the data
    4. Draw a line
    5. get an icon type
    6. redraw yourself
    7. Modify Plot
    • VData
    • Axis
    • Plotter
    • Icon
    • PlotView
    • Spreadsheet View

     

White Group

  1. Origin

    Responsibilities Collaborators
    1. Decide the optimum origin co-ordinates
    2. Decide the pixel position on screen for origin
    VData
    PlotView

     
  2. Controller

    Responsibilities Collaborators
    1. Provide for 'File' activities 
      • Open a new file
      • Retrieve from an existing file
      • Save data in the current file
      • Save As in a different file
    2. Provide for 'Edit' activities
      • Enter/Modify data
      • Enter Origin co-ordinates
      • Enter Label
      • Set Constraints (Advanced)
    3. Provide for 'View' activities
      • Grid On/Off
      • Update plot
      • Select background color
      • Select line/curve to be fitted
      • 2 axis/3-axis Plot
      • Range of data to be viewed

    System Utility
    VData, System Utility
    VData, System Utility
    VData, System Utility

    VData
    Origin
    Label
    Constraints

    PlotView
    PlotView
    PlotView,VData
    Locus
    PlotView
    PlotView


     
  3. SpreadSheetView

    Responsiblities Collaborators
    Display Details
    Change/Set size of display
    change details shown
    VData, Label
    Plotter
    Menu/Controller

     
  4. Plotter Extends JApplet

    Responsiblities Collaborators
    Display
    Resize response
    PlotView, Controller/Menu, SpreadSheetView
    PlotView, SpreadSheetView

     
  5. Locus Class

    Responsibilities Collaborators
    1) Get VData  - includes getting x/y choices
    2) GetOrientation 
    3) DeterminePixelCoordinates 
    4) DrawIconAtDataPoint 
        RemoveIconAtDataPoint 
        ChangeIconType 
    5) DrawSpline 
    6) Trace
    Controller (Plotter), VData
    Axis
    none
    Icon, PlotView
    Icon, PlotView
    Icon
    none
    none

     
  6. Constraints

    Responsibilities Collaborators
    1. Make sure that the no of coordinates on both axes are same. 
    2. Must provide default values for constraints. 
    3. Must be able to read the type of constraint(e.g. min, max). 
    4. Read the data providied with a particular constraint. 
    • AXIS 
    • VDATA 
    • PLOTVIEW 

     
  7. Axis

    Responsibilities Collaborators
    1. Get origin position
    2. Obtain range of X & Y axis
    3. Get plot view size
    4. Get the number of axis to be plotted
    5. Decide the scale
    6. Draw the axis lines
    7. put labels of the axis
    8. Draw the ticks and subticks based on scale decided 
    9. print values on the axis for the tick marks
    10. Resize 
    11. Update changes if SSV or Vdata changes
    12. Implement any constraints
    • Origin/Menu
    • Vdata
    • Plotview
    • Menu
    • None
    • None
    • Label
    • None
    • None
    • Plotter
    • Vdata
    • Constraints

     
  8. PlotView

    Responsibilities Collaborators
    1. Include Origin,Axis
    2. Include Label,Locus
    3. Place axis at origin
    4. Draw Grid
    5. Obtain Plotview size
    6. Plot Area
    7. Show Values on Mouse Over
    8. Resize
    • Origin,Axis
    • Label,Locus
    • Locus
    • Locus
    • Label
    • Plotter
    • VData
    • None