 *************************
 Object Domain Readme File
 *************************

  Welcome to Object Domain 1.19!

  Object Domain is an Object-Oriented Analysis and Design CASE Tool. It 
  fully supports the latest Booch methodology and notation as well as OMT
  class and state diagrams.  A powerful, embedded scripting language (TCL) 
  allows custom code and documentation generation.

  It is primarily based on the book: 
    "Object Oriented Analysis and Design with Applications, second edition"
     by Grady Booch.

  In addition to the modeling and diagramming tool, we also include the 
  C++ Analyzer, an application to reverse engineer C++ code into class 
  diagrams.   

  Note: The evaluation copy of Domain is limited to 20 classes per model. 
  You must register to remove this restriction. There are no built in 
  limitations in the registered version.

 More Information
 ================

  You can always find the latest information on "Object Domain" at our 
  web site: http://www.object-domain.com.

 Ordering Information for Object Domain 
 ======================================

  The shareware version of Object Domain is not public domain or free 
  software. You are licensed to use this software for the purpose of 
  evaluation without charge for a period of 30 days.

  If you use this software after the 30 day evaluation period,
  a registration fee of $99 is required.  

  By registering you will receive the latest 1.XX version (bug fixes and new 
  features, if available).  The registered version has no built in limits 
  on the size of designs.

  See ORDER.TXT for more information on ordering.

 License Agreement
 =================

  You must read the license agreement carefully before using the software. 
  Please see LICENSE.TXT.

 Compatibility
 =============

  Object Domain and the C++ Analyzer are Win32 applications.  They run 
  under Windows 95/NT and Windows 3.1/3.11 with Win32s. 

  If you are running Microsoft Windows 3.1/3.11 you need to install  
  Win32s (if not installed already).  You can obtain this from Microsoft's
  Web site.

 INSTALLATION
 ============

  To install this program just run the supplied setup program. To run, 
  double click "install.exe".


Modification History
====================

Changes since 1.18
------------------
- Updated all user interface panels to use standard Win32 controls
- Fixed several problems in the Analyzer related to parsing MFC and OWL libraries.
  Preinclude files are now included for parsing OWL bcw_pinc.h and MFC vc_pinc.h.
- Increased the performance of the C++ Analyzer
- Fixed some bugs in the C++ generation script
- Added a tutorial
- Added several example diagrams/models
- Generic relations can now be added between notes and other elements in the 
  object diagrams
- Long names can now be directly typed in the icons
- Fixed the accelerators for the main window
- Added note icons to the process, module, and interaction diagrams
- Split the class dialog into two dialogs, regular and advanced
- Attributes and operations can now be reordered in the class dialog using 
  drag and drop
- Added documentation field for attributes
- Fixed the return status of some broken TCL functions
- Enhanced the Obj2Int script that converted Object Diagrams to Interaction Diagrams
- Added a grid for realtion anchor points in class diagrams.  This makes it easier
  to align relations.
- Added various visibility options for attributes and operations
  (you don't need to seperately enable/diable the visibility of each 
  attribute/operation visibility anymore)
- Used Borlands "codeguard" to fix some memory problems and hence making Object Domain
  more robust.
- Fixed several other minor problems.


CHANGES SINCE 1.17
------------------
New analyzer (1.04) : fixes a GPF which occured when parsing MFC4.0 files.
now MFC4.0 file can be parsed provided the following lines are added in the
preinclude file :
#define __declspec(v)
#define _WIN32
#define WINVER 0x0400
#define _M_IX86 0x400

TCL script has been extended for write : now you can write to the diagrams,
create new diagrams and classes,...

Fixed a problem that when private export control was selected in attribute and
operation templates

Now use/generic relations are allowed between classes and categories

Now you can type text in zoomed in icons.



CHANGES SINCE 1.16
------------------
New analyzer (1.03) : now recognizes include files starting with "." "\" "d:"
   ( absolute or relative pathnames from the current directory. )
   Preinclude headers are now saved.

Fixed a problem with copying OMT diagrams to the clipboard in WMF format
Fixed a problem with copying(WMF)/printing diagrams when different fonts are used.



CHANGES SINCE 1.15
------------------

Fixed a bug in 1.15, ( released a week ago) had a serious bug : it could not
read back files saved with v1.15. This version (1.16) can read the files saved
with 1.15 and before.


CHANGES SINCE 1.14
------------------

- new analyzer : v1.02, fixed some problems in the preprocessor ( token conactenation
  did not work ), predefined some MFC macros.
  MFC ( 2.5) can now be reverse engineered.

- fixed some problems in the C++ script + added support for the new C++
 attribute and operation properties (GENCPP.TCL).

- Added the ability to add C++ specific properties to attributes and operations.
  (See the operation and attribute template : "C++ Options..." )


CHANGES SINCE  1.13
-------------------

- added copy to clipboard in MetaFile format.

- added font effects ( color, underline,...)

- added Delete command ( accellerated by Del key )

- added a dialog for notes ( now you can turn of the box around the text)

- added a dialog for categories ( now it is possible to display the classes
 contained in the category in the category box.)

- modified the c++ generation script so that it includes the has relations
as attributes (GENCPP.TCL).



CHANGES SINCE 1.12:
-------------------

- Added the OMT Object Model Notation to the tool.The program allows you to
  switch existing diagrams from one method into the other.

- added reflective relations to the class diagrams

- added a secondary font command, this allows you to use a different font for
 icon names and other text associated with the icons.

- added a script to generate C++ code (gencpp.tcl )

- fixed some problems in the gendoc.tcl and genptl.tcl



CHANGES SINCE 1.11:
-------------------

- Added a switch which allows the editor to automatically switch back to select
mode after any other tool is finished.

- Fixed several problem in reverse engineering. Sometimes empty diagrams showed
up after successful reversing a C++ file.

- Added a limit of 10 classes for the shareware version.( LIMIT for SAVE only.)

CHANGES SINCE 1.10:
-------------------

- Add integration between the different diagrams : e.g.
  in the object diagrams you can now select classes from the existing classes
  in the design and operations for the messages


CHANGES SINCE 1.09:
------------------

- Fixed fit to page option for printing diagrams.

- Fixed a bug which caused a GPF when trying to print an empty diagram.

- The reference list now sorts the classes

- Removed the limit on length of strings in the dialog boxes ( e.g. class names,
  operation names,...).

- Now operation parameters can be edited by double clicking on them.


CHANGES SINCE 1.08:
------------------

- Fixed direct text input for windows 95 ( typing text in a note,or any other object
did not stick in Windows 95), this was obviously not fixed in 1.08

- Added help files for the TCL extensions

- Added a script to the distribution which allows you to generate Rational Rose Petal
files from Object Domain ( Rational Rose is a trade mark of Rational Software Corp)


CHANGES SINCE 1.07:
------------------
- Fixed direct text input for windows 95 ( typing text in a note,or any other object
did not stick in Windows 95)

- Added a select all command

- Generic relations between object are now allowed

- Added an extension language to the tool, this allows you to write custom scripts
  which can extract data from Object Domain. TCL was chosen as scripting language
  because it easily extendable ( by the user), with custom commands and code.

- Copies of state diagrams (or parts of if) sometimes had "messed" up connections when
  pasted.


CHANGES SINCE 1.06:
------------------

 - Changed the main project list implementation which in previous version seemed to cause
 problems (GPF) in some video drivers.

 - Added the importing of project files generated by the C++ analyzer.

 - A new program was added to the Object Domain toolset : C++ analyzer .



CHANGES SINCE 1.05 :
 --------------------

 Fixed a bug which caused GPF when reading older version OOD files ( pre
 v 1.02)



CHANGES SINCE V1.04
 -------------------

 - added a start page field in the print dialog. This allows you to
  specify the page number of the first page.

 - fixed page numbers when printing multiple diagrams. Now page numbers
  don't restart at 1 for a new diagram

 - fixed a bug which caused the program to give a GPF or go in an infinite
   loop when deleting relations in object diagrams, or when changing the
   start or end object of relations in object diagrams, events in state
   diagrams, dependencies in module diagrams and connections in process
   diagrams.

  CHANGES SINCE V1.03
 -------------------

 - Fixed a minor problem : return character can now be entered in notes. 
   ( changed accelerator for the main menu to CTRL-D from CTRL-M )

 CHANGES SINCE V1.02
 -------------------

 - Bug fixed : code generation and document generation did not show inheritance
	or instantitions.

 - Bug fixed : the 32 bit version had a problem with cutting or cpying of 
        categories and subsystems.


CHANGES SINCE V1.01
 -------------------

 - Bug fixes in copy cut and paste of diagrams.

 - Focus of control in interaction diagrams is optional now.

 - A menu command was added to bring the main window ( diagram list) of
   the current diagram to the top.

 - A menu command was added to open the template of the current selected
   item. This allows you to edit the contents of an item without switching
   tools.

 - Added the possibilty to reference the same class from different diagrams.
   Changes can be made from within each diagram referencing the class.

 - Added the possibility of adding multiple relations betweem different classes.
   A third move "handle" is added to the realtions so you can avoid that the
   multiple relations overlap.

 - The zoom icons on the toolbar now work correctly.

 - Print : fit to page option. Will fit diagrams on one page when printing.
   This option will scale large diagrams when printing so they fit on a single
   page.

 - Some minor bug fixes :
	- code generation comment problem.
        - redrawing of main diagram list window fixed.
	- ...



 
 CHANGES SINCE V1.0
 ------------------

 - Added a copy to clipboard command :
   this command will copy the selected graphics to the system clipboard in bitmap format.

 - Added accellerator keys for most commands and tools.

 - Generating documentation from class diagrams:
   This command generates a text file for a class diagram ( inheritance,instantiation
   and template info)

 - fixed a bug which caused a GPF which when saved diagrams which contained
   text fields longer than 256 characters where opened.
   ( For Borland users : this is caused by a bug in the borland class library :
     writing a string class to a persistent stream writes the length of the string
     in one byte followed by the string (not truncated to 256) ==> when reading the stream
     the wrong length is read ... )


 KNOWN PROBLEMS :
 --------------
 When copying class diagrams or class icons which where referencing another
 class the copy operation will perform a "deep" copy so the references in the
 copied items will be dereferenced. So if you paste those items and you want them
 to reference the original class you will have to edit the reference.

 REPORTING PROBLEMS, ENHANCEMENT REQUESTS:
 ----------------------------------------

 - Please send me email or mail regarding problems and enhancement requests.

	For problems please send a description on how to reproduce this problem
	(if possible to reproduce)

	For enhancements please specify exactly what you want and how important this
	feature is to you. We don't promise the requested feature will be added in the
	next version but if you don't ask...
	Enhancements requested by many users are considered first.

	Features currently on the list for planned features:
	- the known problems listed above
	  (C++ code generation will be replaced by a script.)

	- reverse engineer the module diagrams



HOW TO REACH US 
===============

Web:
   http://www.object-domain.com

EMAIL:
   Internet: support@object-domain.com
   CompuServe id: 71202.2323

Mail address:
   Dirk Vermeersch
   Object Domain Systems
   1397 Ridgewood Drive
   San Jose CA 95118

Compuserve ID:
   71202.2323

Copyright (C) 1996 Object Domain Systems
Copyright (C) 1994-1995 Dirk Vermeersch
All Rights Reserved


