Visual UML version 4.01 Update Release Notes
Version 4.01 Release (Build #536 –
NOTE: Model files (*.Uml) created
by Visual UML version 4.01 are NOT backwards compatible with Visual UML version
3.2 (versions 3.2 thru 3.26) or earlier. Therefore, Model files (*.Uml) created
by Visual UML version 4.01 can NOT be opened by Visual UML version 3.2
(versions 3.20 thru 3.26) or earlier. Also, if you saved your version 3.x
models in XML file format you will need to save them in .Uml file format in
order to be able to open them using version 4.01. After you have upgraded your
version 3.x models to version 4.01 format you can save them in XML file format
(.Umlx file extension).
Also, Model files (*.Uml) created by Visual UML version 4.01 are NOT backwards
compatible with Visual UML version 4.0. Therefore, Model files (*.Uml) created
by Visual UML version 4.01 can NOT be opened by Visual UML version 4.0.
Updated Files: Visual UML4.Exe,
VUML.Chm, VUML-CPP.Chm, VUML2HTML4.Dll, Rose2VUML4.Dll, VUML40LayoutDiagram.Dll,
RevEngrCPP.Dll, XML Files\vuml40.dtd
1. Reinstated the ability to import/merge Models and Packages in VUML (.Uml)
and XML (.Umlx) file formats.
2.
Fixed a problem that could result in a Run-time
Error #13 (Type Mismatch) when starting Visual UML 4.0 on PCs with regional
setting of certain countries that use a comma for fractional numbers (for
example: “1,1” - as opposed to US/English format of “1.1”). This includes
French (France and Canadian), Hungarian, etc. This problem would be typically
be followed by an inability to add or edit model elements due to a Run-time
Error #424 (Object Required). This problem also applies to the loading of
Stereotypes and Profiles.
3. State Invariant nodes are no longer lost from Object Lifelines when
copying or moving Sequence diagrams, either independently or as members of
Packages that are being copied or moved. Plus, when undoing or redoing changes
to Sequence diagrams.
4. No longer get a runtime error # 438 when copying or moving a Class or
Component that contains a Port that has a Provided Interface and/or a Required
Interface assigned to it (the Port).
5. No longer get a runtime error # 438 when copying or moving a Package that
contains a Class or Component that contains a Port that has a Provided
Interface and/or a Required Interface assigned to it (the Port).
6. The Abstract, State and Stereotype properties of a Class or
7. Fixed some problems entering and accessing the values in the columns in
the Parameters grid when defining the properties (Type, Pass By, Kind, etc.)
for Parameters in Classes and Operations that could previously result in a
run-time error under certain conditions, typically when pressing an arrow key
to move though the drop-down lists of available values in the drop-down lists.
8. Added several fields to the Use Case Detail Specification dialog box as
follows: Level, Priority, Release, Status, Implementation Status, Assigned To,
Assignment Date and Note. The Level, Priority, Status and Implementation Status
fields are combo-boxes that allow selection from a list of pre-defined values.
These are taken into account when publishing to HTML, generating Use Case
reports, exporting & importing, etc.
9. Can now add lists of Test Cases to any Model element. These are taken
into account when publishing to HTML, exporting & importing models/packages,
etc.
10. Fixed a problem reverse-engineer VB6 Property Get Procedures with no
return type. For example: Public Property Get Value()
11. Better reporting of problems when loading Stereotypes (XML file format) on
product startup if MSXML3 Parser is not installed.
12. Better reporting of problems when importing Profile files (XML file
format) if MSXML3 Parser is not installed.
13. The Publish to HTML function accommodates the ability to add Test Cases
to many types of Model Elements and Diagram objects.
14. Fixed a problem when publishing to HTML that would result in an invalid
link from a Model Element to a Diagram in a Nested Package.
15. No longer get a Run-time error #5 when cancel the export of a diagram.
16. Fixed problem with position of Links button in Class Properties Editor
dialog box.
17. Fixed problem that could cause Visual UML to fail when moving multiple
selected objects on a Collaboration diagram.
18.
The Stereotype displayed for a Message on a
Collaboration diagram or Sequence diagram is no longer derived from the
corresponding Class Operation. Instead, the Stereotype, if any, applied
directly to the Message (via the Stereotype field in the Message Properties
Editor dialog box) is displayed.
19.
The (renamed) ‘Default Name of New Object to Name of
Classifier it is derived from (Instance of)’ option on the Object/Interaction Diagram
Types tab in the main Options dialog box now works properly.
20.
Fixed a problem that could result in a Run-time
Error #6 (Overflow) when importing XML files from EasyStruct 4.5 that contained
very large Stored Procedures, Triggers or Views.
21.
Added a ‘List Package External References’ command
to the Tools menu. This function allows you to select a specific Package and
then creates a dialog box that lists any model objects (classes, components,
objects, etc.), relationships (associations, dependencies, generalizations,
realizations, flows, transitions, etc.) and diagrams in the selected Package
that reference model elements outside of that Package or that are not within
the selected Package’s hierarchy of sub-(nested) Packages. For example: Objects
derived from Classes that are in different Packages than the Package containing
the Object, Components with assigned Classes that are in different Packages
than the Package containing the Component, Relationships (associations,
dependencies, generalizations, realizations, flows, transitions, etc.) that
start and/or end in model elements that are in different Packages than the
Package containing the relationship, Model elements (objects and relationships)
that are linked to Diagrams that are in different Packages than the Package
containing the model element, Messages that are derived from Class Operations
that are in different Packages than the Package containing the Message,
Diagrams that contain objects and/or relationships that are in different
Packages than the Package containing the Diagram, etc. By using this function
you can determine how “self-contained” a Package is (I.e. does it depend on
other model elements outside of itself). This is especially useful when
exporting Packages that will become stand-alone Models or that will become
Model Fragments for importing into other Models or for re-importing into the
current Model. For example; if a Package that you want to export has many
references to other model elements outside of it (i.e. in other Packages) you
may want to defer exporting the Package until after it has been reorganized to
reduce or, better still, eliminate external references so that the Package is
minimally or not dependent at all on any other Package.
22. Assorted (minor) bug fixes.
C++ Code Generation:
23. When generating C++ code for a Class that has an Association (incl.
Aggregate and Composite) with another Class in a different Package, the proper
“::” delimited notation is used for the variable type (namespace::class)
reference, rather than the incorrect dot-delimited notation as was previously
the case.
24. When defining a Parameter in a Class Operation to be generated as a
function argument in C++ and the Array option is set to on (checked), the array
“[]” are now correctly placed after the argument name (i.e. “function(int
array[])”) rather than incorrectly being placed after the argument type (i.e.
“function(int[] array)”) as was previously the case.
25. Added “Pointer” to the list of entries for the ‘Pass By’ selection list
for Operation Parameters in support of C++. When a Pass By value of “Pointer”
is chosen for an Operation Parameter, a “*” suffix is applied to the type of
the function argument in the C++ code that is generated. Note: When a Pass By
value of “Reference” is chosen for an Operation Parameter, a “&” suffix is
applied to the type of the function argument in the C++ code that is generated.
26. The Length field of an Operation Parameter can now be used to define the
size of an array type for a function argument for C++. This can be used in
conjunction with the Array option if desired.
27. When generating a C++ class that is in a namespace (a VUML Package), the
name of the namespace is now applied as a prefix to any of the class functions
that are declared in the .CPP file. I.e. Package-Name::Class-Name::Operation-Name.
28. Fixed problem with placement of “const” modifier when generating C++ code
for class member functions.
29. Eliminated extraneous namespace “path” prefix from class file name in
#ifndef and #define statements in .H file when generating C++ code files into
namespace directories.
30. Eliminated extraneous namespace “path” prefix from class file name in
#include statement in .CPP file when generating C++ code files into namespace
directories.
C++ Reverse-Engineer:
31.
When reversing-engineering a C++ class with a
constructor function, a stereotype of “Constructor” is now applied to the
resulting VUML Class Operation.
32.
When reversing-engineering a C++ class with a
constructor, a return type is no longer incorrectly applied to the resulting Operation
as a result of incorrectly deriving it from the constructor’s argument type, if
any.
33.
C++ Reverse-Engineer interface will now
reverse-engineer parameters (arguments) of Template classes.
Help:
34. Added and updated several topics in the Help system. Still a
work-in-progress.
35. Fixed a number of Help buttons in various dialog boxes to show the
correct Help topic.
36.
Updated Help for C++ Interface.