Quarrel Road map

A base set of code already exists for the project, which was developed as a part of a proof of concept. While it was a proof of concept, the code was not written to be thrown away. It simply does not have the depth of features that warrants its release. It will become the foundation for the 1.x code base, but may require refactoring or restructuring as the project progress.

So far there is support for some of the more simple features in the class diagrams. These include classes, interfaces, some relationships, methods and attributes. None of the features are fully functional or completely robust.

This document outlines the future direction for the Quarrel project. As a part of each release, the supported vocabulary will be expanded as needed.

0.1 - sourceforge integration

  • get the sourceforge site up to speed
  • implement a command line interface and an Ant task
  • examples of implemented functionality, including scripts for the command line and Ant scripts
  • dictionary / vocabulary for implemented functionality. This should include each keyword and the rendered result.

0.2 - class diagrams

  • elements
    • classes
    • interfaces
    • features
      • operations
      • attributes
  • abstract classes and operations
  • relationships
    • Dependency (depends)
    • Association (uses)
    • Realization (implements)
    • Composition (includes)
    • Generalization (extends)
    • Aggregation (contains)

0.3 - object diagrams

  • elements
    • Objects
  • relationships
    • Association

0.4 - notes

  • unlinked
  • linked to
    • structured elements
    • relationship

0.5 - relationships

  • labels
  • cardinality

0.6 - use case diagrams

  • elements
    • use case
    • stick figure actor
    • rectangular actor
  • relationships
    • Association (uses)
    • Generalization (extends)

1.0

The first full release of the project. The current direction is that any 1.x.x releases will just be bugs and minor feature enhancements. After the 1.0 release, most of the attention will be directed at the rewrite for the 2.0 release.

2.0

The 2.0 release will feature all 1.0 functionality implemented using SVG. This is an attempt to access the more extensible features of SVG for the complex diagram types and to remove the dependance on an external tool (graph viz). The path to a 2.0 release will be long, since many of the services provided by graphviz, such as the layout of diagrams, will need to be re-implemented or found in other libraries.

2.x additional diagrams

Once all of the 1.0 features have been re-implemented, we will add the remaining diagrams to the tool. The order in which these are implemented will be determined once the 2.0 milestone has been released.

desired but currently unscheduled:

  • customization
    • stereotypes
    • compartments
    • actor images
  • integrations
    • servlet for rendering UAS text to image for a web page
    • IDE plug ins
  • stand alone editor / viewer GUI