UML Tool for Software Design

Design object oriented software with Unified Modeling Language (UML), an industry standard for specifying, visualizing and documenting the various aspects of software system.

  1. UML and SysML Modeling
  2. Design Output, Export and Import
  1. Use case diagram

    Capture functional requirements with UML use case diagram. Each use case in a use case diagram represents a high level system function that yields a measurable result of values. (UML) Actors are connected with use cases to represent the roles that interact with the functions.

    Use case diagram
    • Model business actor and use case

      Model people or external system with business actor. Model business functions with business use case.

    • Elaborate use case with sequence diagram

      Add sub sequence diagram(s) to use case to represent the interaction between actor and use case.

    • Resource-centric diagramming interface

      Draw use case diagram with minimal effort through drag and drop. Simply drag to create a new shape from an existing one. No dummy actions.

    • Ensure the correct use of notations

      The resource-centric diagramming interface displays elements and connectors valid for particular shape only, avoiding modeling mistakes.

    • Design with abstraction, using sub diagram

      Maintain unlimited levels of abstraction layers whereby different perspectives of system and different amounts of details are exposed to developers.

    • Quick navigation between parent and sub diagram

      Dive into the sub diagram through the tiny resource icon that appear at bottom right of shape. Go back to the parent via the quick link.

  2. Class diagram

    Describes structure of system by showing its classes, their attributes and operations in a UML class diagram. UML class diagram is a blueprint of the classes (code level) required to build a software system. Programmers implement a software system with the help of both the class diagram and the class specification.

    Class diagram
    • Inline class member editing

      Edit attributes and operations directly in class diagram. Type (and return type) of attribute and operation is automatically mapped with the actual class.

    • Pinnable connector end

      Pin the end of a connector for more specific pointing purpose. For example, point to an attribute in class.

    • Edit multiple association properties at a time

      Specify all association properties in diagram without going through deep dialog boxes.

    • Optionally hide class member

      Show only the attributes and operations that are relevant to specific context. Hide away those irrelevance members.

    • Display classes as robustness analysis icons

      <<boundary>>, <<control>> and <<entity>> classes can be optionally shown as robustness analysis icons.

    • Wrap long class members

      Keep your classes look compact by showing long attributes and operations in multiple lines.

    • Sort class members

      Order attributes and operations by name, by visibility (private/public/protected) or by stereotype.

    • Add attribute with getter and setter

      Automatically generate getter and setter when adding new attribute.

    • Manual class member re-ordering with drag and drop

      Drag and drop attributes and/or operations for re-ordering. Both single and multiple selection are supported.

    • Move class members between classes with drag and drop

      Move attributes and operations to another class by simple drag and drop.

    • Define states for controller class with state machine diagram

      Add a sub state machine diagram to controller class for modeling its states and state change.

    • Visualize related classes from class members

      Show in diagram the classes being chosen as type or return type of attributes and operations.

  3. Sequence diagram

    Visualize interactions between users, systems and sub-systems over time through message passing between objects or roles. If class diagram represents the skeleton of classes by showing their attributes and methods, sequence diagram complete the classes by representing the programming logic to be filled in methods' body.

    Sequence diagram
    • Drag-and-drop sequence diagram creation

      The resource-centric diagramming interface enables the creation of sequence diagram with minimal effort.

    • Reclaim and eliminate space with sweeper and magnet

      Introduce space in diagram by sweeping shapes to a direction, or eliminate space by pulling shapes towards a direction with magnet.

    • Draw sequence diagram with keyboard

      Put your mouse aside. Embrace your keyboard for quick sequence diagram creation.

    • Automatic sequence message numbering

      Automatically generated and updated numbers for sequence messages. No manual editing is required.

    • One-click return message creation

      With a click, a return message will be created for you, with proper connectivity and positioning.

    • Automatic activation extension

      Activations will be automatically extended, following your drawing.

    • Identify classes and operation from sequence diagram

      Make the lifelines become classifier, and make the sequence messages become behaviors (i.e. operations) of class.

    • Re-locate activation to move associated messages

      Messages will always stick with activations. When you move an activation to another lifeline, the attached messages will follow.

    • Generate communication diagram

      Save effort by generating a communication diagram that conforms to your sequence diagram.

    • Display lifelines as robustness analysis icons

      <<boundary>>, <<control>> and <<entity>> lifelines can be optionally shown as robustness analysis icons.

  4. Communication diagram

    Collaboration between objects in runtime can be modeled with a UML communication diagram. In a communication diagram, objects, called lifelines, are connected to represent the need of communication during the execution of an interaction. Messages can be added on top of the connectors to list the calls made from and to those lifelines.

    Communication diagram
    • Grouped messages

      Instead of having messages loosely placed on diagram, they are grouped in a way that allows for simple re-positioning.

    • Auto-sized swimlane

      With a swimlane that span the width of diagram, you don't need size it yourself.

    • Generate sequence diagram

      Save effort by generating a sequence diagram that conforms to your communication diagram.

  5. Activity diagram

    Use UML activity diagram, the flowchart-based diagram to model system behavior. Partition actions according to the type of participant involved.

    • Create branch of actions with single mouse click

      Click once to create not one shape, but a chain of action shapes in representing conditional flows.

    • Add internal references between diagrams, shapes, model elements

      Make internal links between different kinds of project artifacts. Those references work both in Visual Paradigm and in any document and Web contents generated from your design.

    • Add external reference to business documents

      Maintain reference between software design and the business documents to help find out why a design decision was made.

    Activity diagram
    • Mark in shape body when have reference added

      Glance over a design. The tiny marker that appear in shapes' body indicates that the shapes have references added.

    • Reference model element in documentation

      Insert model element references to rich text documentation. The referenced model elements will be linked and highlighted.

    • Convert model element to a different type

      Seamlessly convert a model element to another type, with properties preserved. For example, from UML action to UML activity.

  6. State machine diagram

    State machine diagram

    State machine diagram is a critical design model for event-driven systems. Well-designed state machine shows accurately the essential states of objects as well as the triggers of state change, which facilitates the development of error-free state machine.

    • Protocol state machine specification

      Model how a protocol works, with protocol state machine. Both behavioral and protocol state machines are supported.

    • Multiple connector routing styles

      Increase readability of diagram with different kinds of connector routing styles — curve, oblique, rectilinear, round-oblique and round-rectilinear.

    • Create turning points when create shape with connector

      Save diagramming time by create connecting objects with multiple turning points at once.

    • Connector captions that follow connector's orientation

      Maintain clear and highly readable diagrams by having the connectors' caption follow the orientation of connectors.

    • Multiple alignment options for shape name

      We provide 9 alignment options for you to position shape name in the desired place.

    • Precise shape positioning with the help of alignment guide

      Create shapes that align well to existing shape with the help of the dynamic, visual guides.

  7. Component diagram

    Components diagrams are used to model the structure of systems by showing how little parts of the system "gear up" in forming a bigger part, or forming the entire software systems.

    • Resizable connector caption

      Resize connector caption to fit the presentation of diagram.

    • Movable connector caption

      Drag to move the connector caption to anywhere you like to make your design more readable.

    • Layout diagrams in different styles

      Tidy up messy design with the built-in layout algorithms. The algorithms are fully configurable, which provides you with the best result you want.

    • Describe model elements by rich text

      Describe model elements with formatted text — bold, italic, bullet points, different font colors, font size, etc.

    • Describe model element by voice

      Describe model element by audio recording. You can record new audio clip or link to any audio recording to any model element in your project.

    Component diagram
  8. Deployment diagram

    Models the physical deployment of software components with UML deployment diagram. In deployment diagram, hardware components (e.g., web server, mail server, application server) are presented as nodes, with the software components that run inside the hardware components presented as artifacts.

    • User-defined notation symbol

      Apply your own image file as graphical representation of any notation. You may use your own avatar to replace traditional stickman shape for UML actor, if you like.

    • Make shape appearance follow stereotype's definition

      Specify in stereotype the background color, font color and font weight and font settings of model element, and let the model elements that extend the stereotype follow.

    • Manage and apply styles

      Define and apple style to shapes to quickly change the shape appearance without setting every background/foreground one by one.

    • Multi-language spell checking — English, Brazilian, German, etc

      Supports spell checking and suggestion for English, Brazilian, French, German and Spanish.

    Deployment diagram
  9. Package diagram

    Arrange and organize model elements and diagrams for large-scale project with package diagrams helps development team to navigate and find the right model elements. Package diagram is also good in visualizing structure and dependency between sub-systems or modules.

    • Select contained shapes with InstantFreeze

      Temporarily freeze a container shape to aid in the selection of child shapes.

    • Format copier

      Clone format properties from one shape to another, with simple clicks.

    • Group diagram and shapes into package with package header

      Easily add diagram along with its containing shapes into a package with the package header that appear on top of every diagram.

    Package diagram
    • Name completion

      Re-use a model element by providing its name when create shape. Enter part of the name and complete it by choosing from the popup list.

    • Configurable shape appearance  

      Adjust the background color, font color and font weight and font settings of shapes.

      Enhancement

      • Supported changing a shape's presentation to a custom image

        You can change a shape's presentation to a user defined image. This was partially supported in some shapes. In version 11.1, this feature is extended to cover most shapes.

    • Gradient shape background

      Draw vivid, attractive diagrams with shapes paint with gradient color.

    • Quick shape layout

      Instantly align a group of shape, distribute them evenly or set them to optimal size, with the help of the resource-centric diagramming interface.

  10. Object diagram

    View a snapshot of instances of classifiers in UML class diagrams. Similar to class diagrams, object diagrams show the static design of a system from a prototypical perspective.

    • Keep connector route readable with line jump

      Show the intersections between connectors as a visual 'bridge' for clear visibility of connector path.

    • Various line jump options

      Show the visual bridge that "built" on top of intersections between connectors in the style you like — arc, gap and square.

    • Print with diagram properties (e.g. name, documentation) shown

      Add a diagram info box to diagram. Each box presents information like diagram name and documentation.

    • Bookmark diagram and shape

      Once you've added a bookmark to a diagram or shape, you can navigate to it from anywhere in your project.

    • Locate shape by URL

      Every model element has a unique URL. You can send the URL to your colleagues to locate the target elements easily.

    • Single model element, multiple views

      Re-use a model element in multiple diagrams. Whenever a change is made to any instance, the rest will be updated automatically.

    Object diagram
  11. Composite structure diagram

    Visualize the internal structure of a class or collaboration with UML composite structure diagram. Model a system from a micro point-of-view using UML composite structure diagram.

    • Automatic expand diagram margin

      Automatic expand diagram base on the growth of design. Margin can be defined visually.

    • Split diagram into multiple inner panes

      Compare different portions of big diagram is troublesome. You can split diagram for viewing different parts of diagram without scrolling back and forth.

    • Show tagged values in shape body

      Add user-defined properties by adding tagged values to shapes. Optionally show the tagged values in shape body to read the properties in diagram.

    Composite structure diagram
  12. Timing diagram

    Timing diagram

    Timing diagrams model the behavior of objects throughout a given period of time. It is commonly used in designing real-time and distributed systems.

    • Adjustable time unit

      Drag to move a time unit back and forth. Have a timing frame updated automatically according to your change.

    • Configure hotkey for diagramming commands

      Define your own hotkey for diagramming command. E.g. "C" for creating class.

  13. Interaction overview diagram

    View the sequence of interactions with UML interaction overview diagram. Interaction overview diagram helps represent complex scenario that involve multiple interactions presented as multiple UML sequence diagrams.

    • Show diagram thumbnail in interaction overview

      View the thumbnail of interaction diagrams or sequence diagrams. View and know the control flows of interactions.

    Interaction overview diagram
  14. Block definition diagram

    Visualize your system hierarchy. Define the system/component classifications in blocks to get a better picture of interconnections between these system components.

    Block definition diagram
    • Specify project management properties

      Set status, difficulty, priority, version, iteration, phase and discipline to each model element for project management purpose.

    • Open diagram in quick by its name

      Search and locate diagram is critical when project grows bigger and bigger. The 'jump' feature allows you to open a diagram by providing its name, or part of it.

  15. Internal block diagram

    Take a closer look at your system design from within. Describe the internal structure of a system in terms of its parts, ports, and connectors.

    Internal block diagram
  16. Parametric diagram

    A restricted form of internal block diagram that shows only the use of constraint blocks along with the properties they constrain within a context. Parametric diagram is used to support engineering analysis, such as performance, reliability, and mass properties analysis.

    Use case diagram