Michelle Lin mplin 1/29/03 Project Requirements Title: UML Designer Description: The Unified Modeling Language is a standard used for developing models, or blueprints, for software design. The purpose of this project is to create a program that is easier to use and understand than Rational Rose, a UML design program used in CS 32. Rose can be difficult to understand, especially for those who have never been exposed to UML diagrams before. Users will be inclusive from those who are new to UML diagrams to those who are professionals in the industry. Basic Features: Graphical Interface - create objects by selecting from a graphical panel with mouse and dragging object to desired location on screen - objects differentiated by colors - relationships represented by appropriate arrows Object Specifications - each object has it's own set of attributes which can be updated by clicking on the graphical object and inputting info through keyboard - objects may be resized, deleted, and modified - ensure that all required info is inputted, but doesn't require all info inputted Code Generation - header files created based upon the UML diagram for C++ Storage - diagrams may be saved for future modifications Other Stuff - detection of invalid diagrams or relationships - manual/dictionary to look up object types and relationships - graphics should not slow down performance - GUI should be nicely laid out and easy to navigate - dragging, dropping of objects should require a minimum amount of mouse clicks Optional Features: - networked capability allowing you to share diagrams and allow multiple users to access/modify a single diagram through group permissions - automatic alignment to make diagram look nice and neat (like auto-arrange desktop in windows) - code generation can be extendable to include JAVA