- Prof. William Burrows, University of Washington, Seattle
Design object oriented software with Unified Modeling Language (UML), an industry standard for specifying, visualizing and documenting the various aspects of software system.
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.
Model people or external system with business actor. Model business functions with business use case.
Add sub sequence diagram(s) to use case to represent the interaction between actor and use case.
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.
The resource-centric diagramming interface displays elements and connectors valid for particular shape only, avoiding modeling mistakes.
Maintain unlimited levels of abstraction layers whereby different perspectives of system and different amounts of details are exposed to developers.
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.
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.
Change the font and color setting for any of your attributes/operations.
Select all attributes or operations in one shot by pressing Alt-A.
Edit attributes and operations directly in class diagram. Type (and return type) of attribute and operation is automatically mapped with the actual class.
Pin the end of a connector for more specific pointing purpose. For example, point to an attribute in class.
Specify all association properties in diagram without going through deep dialog boxes.
Show only the attributes and operations that are relevant to specific context. Hide away those irrelevance members.
<<boundary>>, <<control>> and <<entity>> classes can be optionally shown as robustness analysis icons.
Keep your classes look compact by showing long attributes and operations in multiple lines.
Order attributes and operations by name, by visibility (private/public/protected) or by stereotype.
Automatically generate getter and setter when adding new attribute.
Drag and drop attributes and/or operations for re-ordering. Both single and multiple selection are supported.
Move attributes and operations to another class by simple drag and drop.
Add a sub state machine diagram to controller class for modeling its states and state change.
Show in diagram the classes being chosen as type or return type of attributes and operations.
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.
The resource-centric diagramming interface enables the creation of sequence diagram with minimal effort.
Introduce space in diagram by sweeping shapes to a direction, or eliminate space by pulling shapes towards a direction with magnet.
Put your mouse aside. Embrace your keyboard for quick sequence diagram creation.
Automatically generated and updated numbers for sequence messages. No manual editing is required.
With a click, a return message will be created for you, with proper connectivity and positioning.
Activations will be automatically extended, following your drawing.
Make the lifelines become classifier, and make the sequence messages become behaviors (i.e. operations) of class.
Messages will always stick with activations. When you move an activation to another lifeline, the attached messages will follow.
Save effort by generating a communication diagram that conforms to your sequence diagram.
<<boundary>>, <<control>> and <<entity>> lifelines can be optionally shown as robustness analysis icons.
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.
Instead of having messages loosely placed on diagram, they are grouped in a way that allows for simple re-positioning.
With a swimlane that span the width of diagram, you don't need size it yourself.
Save effort by generating a sequence diagram that conforms to your communication diagram.
Use UML activity diagram, the flowchart-based diagram to model system behavior. Partition actions according to the type of participant involved.
Click once to create not one shape, but a chain of action shapes in representing conditional flows.
Seamlessly convert a model element to another type, with properties preserved. For example, from UML action to UML activity.
When dragging shapes, alignment guide lines appear so you can position shapes in alignment with others.
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.
Model how a protocol works, with protocol state machine. Both behavioral and protocol state machines are supported.
Increase readability of diagram with different kinds of connector routing styles — curve, oblique, rectilinear, round-oblique and round-rectilinear.
Save diagramming time by create connecting objects with multiple turning points at once.
Maintain clear and highly readable diagrams by having the connectors' caption follow the orientation of connectors.
We provide 9 alignment options for you to position shape name in the desired place.
Create shapes that align well to existing shape with the help of the dynamic, visual guides.
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.
Resize connector caption to fit the presentation of diagram.
Drag to move the connector caption to anywhere you like to make your design more readable.
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 with formatted text — bold, italic, bullet points, different font colors, font size, etc.
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.
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.
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.
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.
Define and apple style to shapes to quickly change the shape appearance without setting every background/foreground one by one.
Supports spell checking and suggestion for English, Brazilian, French, German and Spanish.
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.
Temporarily freeze a container shape to aid in the selection of child shapes.
Clone format properties from one shape to another, with simple clicks.
Easily add diagram along with its containing shapes into a package with the package header that appear on top of every diagram.
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.
Adjust the background color, font color and font weight and font settings of shapes.
Draw vivid, attractive diagrams with shapes paint with gradient color.
Instantly align a group of shape, distribute them evenly or set them to optimal size, with the help of the resource-centric diagramming interface.
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.
Show the intersections between connectors as a visual 'bridge' for clear visibility of connector path.
Show the visual bridge that "built" on top of intersections between connectors in the style you like — arc, gap and square.
Add a diagram info box to diagram. Each box presents information like diagram name and description.
Once you've added a bookmark to a diagram or shape, you can navigate to it from anywhere in your project.
Every model element has a unique URL. You can send the URL to your colleagues to locate the target elements easily.
Re-use a model element in multiple diagrams. Whenever a change is made to any instance, the rest will be updated automatically.
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 base on the growth of design. Margin can be defined visually.
Compare different portions of big diagram is troublesome. You can split diagram for viewing different parts of diagram without scrolling back and forth.
Add user-defined properties by adding tagged values to shapes. Optionally show the tagged values in shape body to read the properties in 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.
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.
Requirement is what your clients want and what your team have to fulfill. It is so important that needs to be managed carefully. The SysML requirement diagram provides a visual approach in representing and managing system requirements. In a requirement diagram, requirements are shown as blocks, with connectors in between, illustrating the derivation, dependency and grouping of requirements.
Visualize your system hierarchy. Define the system/component classifications in blocks to get a better picture of interconnections between these system components.
A SysML block can associate with another block. If the association is a composition, the composed block can now be seen under the specification of the composing block.
Set status, difficulty, priority, version, iteration, phase and discipline to each model element for project management purpose.
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.
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.
In Internal Block Diagram, you can visualize existing parts as part shapes through the popup menu.
Gather user's requirements as text document, and extract model elements from text. The problem statement editor provides a text editor for entering user requirements. You can extract glossary terms and model elements from text, and continue modeling with the model elements extracted.
User formatted text in describing user problems — font family, font size, bulleted list, table, etc.
Important terms that are defined as glossary terms are highlighted in problem statement.
Extract actors, use cases, requirements, classes, packages, actions from words in problem statement.
Graphical representation of candidate items.
Visualize and manage the references between your design and artifacts like model data, external folder, file and URL, with the help of the Reference Mapping editor.
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.
Maintain reference between software design and the business documents to help find out why a design decision was made.
Glance over a design. The tiny marker that appear in shapes' body indicates that the shapes have references added.