- The data dictionary is a repository of information. It integrates the various types of diagram documents,
text specifications and code files into a cohesive project. Designers can work in the Dictionary window
directly, but more commonly information in dictionary entries is changed when diagram objects are edited.
- Dictionary and requirement entries are grouped into logical chunks. Each class and its member entries form an entry group. Entries in a group can be expanded or collapsed. Likewise, requirement entries can be grouped together and then individual entries shown or hidden by expanding or collapsing the entry group. Entries can also be grouped by namespace, then shown or hidden.
- Screen models are used to prototype the screens of a Desktop application, Mobile app or website. Draw a stack of screen linked with buttons and menu commands. Add dynamic behavior with scripting commands. Click the Browse tool to bring the interactive prototype to life.
- Process models show the flow of information through a system and the processes that transform that
data. Individual processes can explode to lower level diagrams or text specifications. Process
models are commonly used in structured analysis and design, information systems design and to a lesser
extent in some object-oriented design methods. Process models are often referred to as data flow diagrams
- Data models show the content of data stored within an organization or process. That data is
primarily represented as entities, relationships and attributes. Data models, also referred to
as entity-relation diagrams (ERDs), are the cornerstone of most database design methods.
- Class models show the static structure of object classes in an object-oriented program. They
illustrate classes with attributes and operations and their aggregation and inheritance relationships using
popular notations like UML, OMT, Booch and Shlaer/Mellor.
- State models illustrate the dynamic characterics of objects or systems. They can be represented
with graphic diagrams or tables that include states, events and actions. State models are particularly
important when modeling real-time systems that are event driven or have different modes of operation.
- Structure models, also referred to as structure chart diagrams, show the functions and procedures in a
procedural program and the calling relationships between them. Structure charts are typically leveled
into multiple diagrams that can represent the most complex systems without unnecessary clutter. Designers
can click between diagram levels or to the source code of a specific function or procedure.
- Object models show how the mechanisms in a object-oriented design work by passing messages or events
between communicating objects. A design mechanism is a representative view of message passing between
instantiated classes. One popular style of object model is the UML Sequence diagram that shows named
objects with vertical lifelines connected by named horizontal messages.
- Flow Charts use named boxes and arrowed lines to show how an algorithm or process works.
- Timing diagrams show events and time horizontally. Objects with states are drawn along the left edge of the diagram. Each object has state lifelines drawn horizontally across the diagram.
Business Process Models
- Business Process Models can be used to define, communicate, optimize and implement any business process.
- Task models use system and task diagrams to illustrate concurrent interactions in a multitasking
system. System diagrams show a high level abstraction of a physical system using processors, devices
and interfaces. Task diagrams show the details of functional groups of processing elements and
operating system resources.
Use Cases & Traceability
- The Requirements window holds an alphabetically list of named requirement statements or use case
descriptions. It assists in rigorous requirement specification of a software system and provides
traceability to the deliverables involved in the development process. It can be a very useful tool
in the development of complex software by improving the productivity of the development and test
effort and the quality of the software produced.
- Each requirement entry can be partitioned into a structured collection of fields. The Requirement Matrix presents this information in a spreadsheet-like interface using custom views and queries. The selected view determines which fields of the entry are displayed in each column of the matrix. The selected query displays each entry satisfying the query criteria as one row in the matrix.
Integrated Code Edit
- The Code and Browse windows integrate source code with the various models in a development project.
Diagram objects link directly to code files. Designers can navigate through graphic models and then
instantly view or edit the associated code of a selected diagram object.
- The Specification windows integrates text specifications with the various models in a development project.
Diagram objects link directly to a specific location within text specification files. Designers can
navigate through graphic models and then instantly view or edit the associated specification of a
selected diagram object.
Templates and Details Dialog
- Text and detail templates are used to customize the tool to gather specific types of information during the
modeling process. Multiple text templates can be created and then easily applied to dictionary entries, requirement
entries, specification files or code files. By creating a detail template for specific dictionary entry types,
custom fields can be added to detail dialogs for selected diagram objects.
- The Icon Manager is used to create a library of icons that can be used in graphic models.
Scaleable, Multi-level Diagrams
- Each type of model document can store multiple diagrams. The Contents View shows
the diagram titles and a list of its objects and makes it easy to select which diagram
is currently displayed. The Diagram Manager allows individual diagrams to be created, deleted,
printed and resized. Each diagram can be sized to multiple horizontal and vertical pages. Diagrams
can be scaled for viewing, printing or editing.
Verification and Balancing Reports
- Verification and balancing reports are available for each type of model. Verification reports reveal
errors, inconsistencies or incomplete data. Balancing reports check the flow of information between
Text Import and Export
- Each type of graphic model, the data dictionary and the requirements can be listed as a text file or
imported from a text file. Other tools can provide or use the information in these text files.
XML Import and Export
- XML has become the industry standard for data exchange. All diagram, dictionary and requirement documents can be listed or imported as XML files. The built-in XML parser is exposed through the scriptable HTML report generator to easily access and include any data from your project into a custom HTML report.
Integrated HTML Files
- HTML files can be integrated with the various models in a development project. Designers can
navigate through graphic models and then instantly view an associated HTML file in their favorite browser
for a selected diagram object.
Integrated Test Files
- Test files can be integrated with the various models in a development project. Designers can
navigate through graphic models and then instantly view an associated Test file in the built-in text editor or in their favorite word processor for a selected diagram object. Test files can also be linked to requirement entries.
- Code can be generated from graphic models and dictionary information gathered during the design process. C, Pascal, Basic or Fortran function frames can be produced from graphic structure charts. C++, C#, Objective-C, PHP, REALbasic, Java or Delphi class declarations and method stubs can be produced from class models. Ada package specifications and package body files with stubbed subprograms can be generated from a rich class modeling environment. Data models can generate SQL code for popular RDBMS products including Oracle, SQL Server, DB2, Sybase, Informix and InterBase.
Models from Code
- Models can be generated from existing code by using WinTranslator (or MacTranslator) in conjunction with WinA&D (or MacA&D). Generate class models from C++, C#, Objective-C, Java, Delphi, PHP or Ada. Generate structure charts from procedural C, Pascal, Basic, Fortran or PHP. Generate data models from SQL.
UML for Ada
- When the Ada language is selected in WinA&D, the UML notation is tailored to modeling, code generation and reengineering for Ada software. Advanced capabilities include defining and using types across packages and automatically creating and maintaining comment blocks in the generated code for packages and subprograms. Together, WinA&D and WinTranslator provide an advanced, round-trip modeling environment for Ada development.
- The Inheritance Graph can be automatically generated from dictionary information. It can concisely illustrate the inheritance structure of large projects with hundreds of object classes.
Configurable Tools Menu
- Other tools or specific documents can be configured and launched from a menu command. Path icons can be placed in any graphic model to display a document created within another application.
- A time-stamped change note that identifies the user is automatically created each time a document is saved.
The user can view, clear or add comments to these notes.
Scriptable HTML Reports
- An HTML report can be generated from the graphic diagrams, text specifications, requirements and
dictionary information gathered during the modeling process. Dozens of standard reports are provided.
The scriptable report generator allows complete flexibility and user customization of the report content
- Namespaces are a powerful and convenient design feature for separating name scope, mapping model elements
to code folders and controlling editing access to code files integrated with the design. In database design
projects, namespaces can be used to generate different SQL schemas. Namespaces are an optional design feature
that smaller projects can ignore and growing project can later utilize.
Rich Data Model
- Data models can be enhanced to include the information needed to fully model and generate SQL schema code
for popular RDBMS products. Database designers can quickly create logical and physical data models.
Rich data models can represent tables, views, constraints, assertions, triggers, indexes, procedures and
other SQL elements. Different presentation options are available to show all attributes, specific attributes,
primary and foreign keys, etc. in data model diagrams.
- Diagram objects in any graphic model can have text notes associated with them. Text notes are conveniently
available for a selected diagram object by clicking the Notes button. If multiple instances of an object
appear in one or more documents the same Notes windows is displayed for viewing or editing. Since notes
are stored in the dictionary entry for the diagram object, there is no separate document or link to maintain.
- The Document Templates feature is a quick and easy way of standardizing default options for each type
of document created within an organization. Your favorite defaults are automatically set whenever a new document
Team Documents in Site License
- Team Dictionary and Team Requirement documents are available in the Developer edition of MacA&D OS9 and WinA&D. Multiple users on a network can concurrently open and edit team documents.
- Causal Loop Diagrams can model almost any system as variable nodes and causal lines that affect those variables.
- A Causal Loop Diagram can be parameterized with data and equations, then simulated over a series of time increments.
- Dynamic charts present data from simulation results or generated reports in tables, charts and graphs. The chart consists of configuration data that determines the type and format of the chart and a link to the source data file. A chart updates when its data file changes.
- The scrapbook is a community resource that anyone on the project can concurrently view or edit. It contains notes or references to project artifacts created by any application.
- Fast text and wildcard string searches can be done across thousands of files and folders.
- The File Exchange dialog is used to exchange files between MacA&D and WinA&D.