- Getting Started
- Events
- Drag and Drop
- Drawing a Grid
Name | Responsibility | Due Date |
---|---|---|
Jared | Specification | 3/3/16 |
Vince S | Design | 3/3/16 |
Jesse | Implementation | 3/25/16 |
Kyle | Tests | 3/25/16 |
Users requre a tool with which they can easily and efficiently edit UML class diagrams.
Users shoud be familiar with UML, and have a need for designing a class diagram.
Our development team will consist of 5 junior Java developers
- Kyle Hopkins
- Jared McAndrews
- Jesse Platts
- Vincent Smith
- Vincent Viggiano
This program will run on various platforms throught the Java Virtual Machine (JVM)
Mac, Windows, or Linux machines with JRE8u73 x64 installed and properly configured.
- Drag and Drop class boxes
- Ability to draw relationship lines between classes
- Ability to add and delete class boxes from canvas
- Ability to label class boxes with class name, attributes, and methods.
- Ability to resize class boxes and rotate relationship lines
- Ability to choose various relationships
Useres will interact primarily through mouse and keyboard. Mouse inputes will be used to process drag and drop events on elements of the diagram, as well as to draw lines. Mouse events will also be used to select regions of class boxes in which text can be recorded.
- Menubar
- At this point this is primarily for easier onboarding sinceusers are accustomed to having this bar. Will house information about our project as well as an option to exit the program and start a new diagram.
- Toolbox
- for housing UML elements that a user may wish to use in their diagram.
- Primary windows for collecting user interactions and displaying the editor's view.
- Modals for displaying messages to the user.
The program should not crash, and it should open and close cleanly.
Pretty good. Drag and drop should allow for smooth movement of the element across the canvas. Button press should add elements to the canvas near instantaneously.
Should be intuitive and not cause frustration.
Anyone who has the .jar
of our project and a properly configured environment as specified in section 3.2 should be able to run this program. The project should ba as portable as Java can make it.
- Offering the ability to 'snap' elements to a grid
- Add anchors to class boxes for lines to be attached to
- Allow lines to have bends and curves in them
- Allow for saving and loading documents
- Implement deleting elements from the canvas
- Multiple arrowheads for relationships