           Welcome to With Class - Version 2.5  ****In Notepad Select Edit - Word Wrap******
MicroGold Software, Inc 311 East 81st Street Suite 1RE, New York, NY USA 10028
Telephone 908-722-6438 e-mail 71543.1172@compuserve.com
MicroGold Home Page go http://www.microgold.com

Key Readme.txt Topics:  Part I Installations Procedures and Release Notes, Part II Report Scripts, Part III Code Generation Scripts from Class Diagrams, Part IV Code/Report Generation Scripts from State Diagrams, Part V Add-on Products and Services, Part VI Purchase Costs  Part VII Quick Start. 

***Part I Installations Procedures and Release Notes

1. With Class Version 2.5 New Features: This version provides reverses files over 32K,
uses long file names, has printing improvements, supports class diagram/state diagram/object interaction diagram, import C++, reverse C++ header/Delphi files, dockable toolbars, right mouse button menu, in-place editing with right mouse button, printer setup, read from ASCII file (import file), group move clip region, set font capabilities, tip of the day suggestions, and other capabilities.  This version creates a .bak file and an ASCII .wc file for import.  See Help Topic on "Read from ASCII File".  Use the variable CLASS_NAME not CLASS.  See statinfo.wri and codegen.wri for details on generating C++ and other language code from class diagrams and state diagrams.  New Microsoft Visual Basic Script is vb4class.sct.

2. Installation Procedures 

The following are the minimum system requirements for With Class:
- 80386 processor or higher (80486 or higher recommended)
- MS-Windows 3.1 or higher
- Mouse that supports MS-Windows
- VGA monitor - 1024x768 or higher resolution recommended.

2a. To install the With Class Windows 95 Version in Windows 95, follow these steps:

>> Run the install program, unzip, or copy all With Class files into a directory, e.g. WC2

>> Copy MFC40.DLL and MSVCRT40.DLL into the Windows/System directory

>> Launch the Explorer and create a shortcut by selecting WC95.EXE, clicking the right mouse button, selecting "Create Shortcut", and moving the With Class shortcut to the desktop

>> Double click on the With Class Shortcut or Run WC95.EXE to launch With Class


2b. To install the With Class Windows 3.1 Version in Windows 95, follow these steps:

>> Run the install program, unzip, or copy all With Class files into a directory, e.g. WC2

>> Ensure the following files are in the C:\WINDOWS\SYSTEM directory: COMPOBJ.DLL, STORAGE.DLL, OLE2.DLL, OLE2DISP.DLL, OLE2NLS.DLL, CTL3D.DLL, MFCOLEUI.DLL, MFC250.DLL, and MFCO250.DLL. These should be provided with Windows95

>> Launch the Explorer and create a shortcut by selecting WC2.EXE, clicking the right mouse button, selecting "Create Shortcut", and moving the With Class shortcut to the desktop

>> Double click on the With Class Shortcut or Run WC2.EXE to launch With Class

2c. To install With Class Windows 3.1 Version in Windows 3.1, follow these steps:

>> Run the Install Program or manually copy all With Class files into a directory, e.g. WC2.  If required, manually copy MFCOLEUI.DLL and other DLL's into C:\WINDOWS\SYSTEM.  Copy DATADIC1.DOT to the WINWORD\TEMPLATE directory if Microsoft Word 6.0 or higher is present.

>> Ensure CTL3D.DLL in your path, e.g. C:\WINDOWS\SYSTEM is in your autoexec.bat path statement.  Note only 2D dialog boxes are displayed with old versions of CTL3D.DLL. 

>> Ensure SHARE is in your autoexec.bat file, e.g. C:\DOS\SHARE.EXE, C:\DOS\SHARE /L:500 or C:\DOS\SHARE /F:5100 /L:500.  Alternatively, a sample config.sys entry is INSTALL=SHARE /F:4096.

>> Ensure the following files are in the C:\WINDOWS\SYSTEM directory: COMPOBJ.DLL, STORAGE.DLL, OLE2.DLL, OLE2DISP.DLL, OLE2NLS.DLL, CTL3D.DLL, MFCOLEUI.DLL, MFC250.DLL, and MFCO250.DLL.

>> If you are installing a new version of With Class, rename C:\WINDOWS\WC2.INI to WC2.BAK.  With Class will automatically create a new WC2.INI file.

>> If required in Windows Program Manager, create the With Class icon by selecting "File New", "Program Icon", and enter WC2.EXE.

>> In Windows, run With Class from Windows, e.g. "File Run WC2.EXE" or double click the With Class icon.

>> If you experience a problem follow these steps:
a) use minimum config.sys without QEMM or other memory resident programs, 
b) ensure C:\DOS\SHARE /F:5100 /L:500 is added to the autoexec.bat, 
c) ensure that the provided .DLL's are copied into the Windows/System directory, 
d) for its first use, renaming WC2.INI so With Class creates a new WC2.INI file, 
e) use the standard Windows VGA (640 x 480) screen resolution, 

>> If required contact MicroGold Software at 71543.1172@compuserve.com.

4.  Known Limitations with this version : 
a) Due to OLE constraints only 3 diagrams may be open at a time.  When you try to save the 4th diagram, you may get an error, e.g. Illegal File Name.  If you get this error, close one or more diagrams and save the diagram. 
b) Insert New Object, OLE Copy, Cut, and Paste are not implemented.
c) When reversing C++ header files, this version does not reverse template classes.  Any C++ header file that does not reverse properly should be sent to MicroGold at 71543,1172@compuserve.com.  Sample message is Subj: WC25 Reverse Error - The following statement compiles 
on Borland 4.5 but causes a With Class 2.5 Reverse Error - void addPassenger ( Passenger* const aPassenger);
d) Overloaded attributes/operations must have a $ following the name, e.g. number, number$, number$$, operate, operate$, operate$$.  This is to ensure that they have a unique name.  The $ does not print out in generated reports or code.  When entering overloaded attributes/operations on the class diagram, place one or more $ after the name.
e) Once a relationship/transition/interaction is placed, it cannot be moved.  To move a relationship/transition/interaction, delete it then recreate it.
f) Show Print Borders only displays borders for Portrait page layout.  Show Print Borders for Landscape page layout is not implemented.  Show Print Borders may have hashed lines in Zoom-100 mode.
g) Link attributes can only be placed horizonally - not vertically.

5.  Primary Files in this release
- readme.txt and *.txt    Installation Instructions and Specific Language Code Generation Instructions
- wc2.exe  or wc95.exe     With Class Program
- wc2.hlp or wc95.hlp      With Class Help Program
- *.dll         DLL's used by With Class Program
- wc2tutor.wri  O-O Modeling Using With Class
- statinfo.wri  Instructions for Generating C++ from State Diagrams
- codegen.wri   Instructions on Generating Code Using Scripts
- *.sct         Text Script Files for custom reports and code generation
- *.omt         Class diagrams to test code generation scripts
- datadic1.dot  Microsoft Word 6.0 document template for a data dictionary

***Part II Report Scripts

6.  Report Scripts for Reports, Tables, and Data Dictionaries.
With Class has many scripts to create reports and data dictionaries.  You should run these and add/delete script statements.  Also, if you want to collect information not in a With Class specification, then use an unused field to collect the information you desire.  For example, if you want to collect index information on a class use the class_invariant field to collect index information.  The following are the report scripts that may be used with class diagram, e.g. cppcar.omt:
RPTALL.SCT - Prints all specification information for the system and classes
RPTSYS.SCT - Prints specification information for the system
RPTCLASS.SCT - Prints all specification information about classes
RPTATTR.SCT -  Prints attribute specification information
RPTOPER.SCT - Prints operation specification information
RPTCPP.SCT - Prints key C++ information.
RPTDICT.SCT - Prints a data dictionary report.
RPTRELAT.SCT - Prints relationship information.
TABSYS.SCT - System Table - a comma delineated ASCII file for import
TABSYSOP.SCT - System Operation Table - a comma delineated ASCII file for import
TABCLASS.SCT - Class Table - a comma delineated ASCII file for import
TABATTR.SCT - Attribute Table -  a comma delineated ASCII file for import
TABOPER.SCT - Operation Table - a comma delineated ASCII file for import
TABRELAT.SCT - Relationship Table - a comma delineated ASCII file for import
DDCLASS.SCT - Data Dictionary - a comma delineated ASCII file for import.

The following are the report scripts that may be used with a state diagram, e.g. ST1STATE.OMT:
RPTSTATE.SCT - Prints all state/transition specification info
TABSTATE.SCT - State Transition Table - a comma delineated ASCII file for import.
DDSTATE.SCT - Data Dictionary of State Names - a comma delineated ASCII file for import.

The following are the report scripts that may be used with a system interaction diagram showing events and an object interaction diagram showing messages, e.g. CAROBJ.OMT:
RPTSYIN.SCT - Prints all system/interaction (event) specification information.
RPTOBJ.SCT - Prints all object/interaction specification info
TABSYSIN.SCT - Prints a System Interaction Table
TABOBJ.SCT - Object Interaction Table - a comma delineated ASCII file for import.
TABOBMSG.SCT - Message Table - a comma delineated ASCII file for import
DDSYSIN.SCT - Data Dictionary system and interaction system names from system interaction diagram.
DDOBJ.SCT - Data Dictionary of Object Names - a comma delineated ASCII file for import.

***Part III Code Generation Scripts from Class Diagrams

7.  Generating ANSI C++ from a class diagram.  There are three sets of scripts for generating ANSI C++.  CPPHEAD0.SCT and CPPFUNC0.SCT generates the minimum C++.  These generate include file declarations, data member declarations, and function member declarations.  You must use the C++ compiler generated constructors, operator=, and destructor.  These scripts may be used when you have reversed C++ header files.  CPPHEAD1.SCT and CPPFUNC1.SCT are the normal C++ code generation scripts.  Additionally, they generate the default constructor, constructor with arguments, copy constructor, operator=, operator==, operator<< for cout, and operator>> for cin.  CPPHEAD2.SCT and CPPFUNC2.SCT generate the maximum C++.  Additionally, they generate numerous 1 to M accessor functions (add, remove, exists, etc) and provide limited exception handling with throw statements.  To test these scripts, copy CPPMAIN.CPP and CPPCAR.OMT into a directory, e.g. ANSICAR.  In With Class open CPPCAR.OMT, select Generate - Generate Class Code", enter H or CPP for the file extension, select Browse and CPPHEAD0.SCT or CPPFUNC0.SCT, go to your C++ environment, open CPPMAIN.CPP, create a project, add the cpp files to the project, compile, link, and run.  The following are the scripts:
CPPHEAD0.SCT - Creates minimum header file; test with CPPCAR.OMT and CPPMAIN.CPP  
CPPFUNC0.SCT - Creates minimum .CPP file; test with CPPCAR.OMT and CPPMAIN.CPP  
CPPHEAD1.SCT - Creates a header file; test with CPPCAR.OMT and CPPMAIN.CPP  
CPPFUNC1.SCT - Creates a .CPP file; test with CPPCAR.OMT and CPPMAIN.CPP  
CPPHEAD2.SCT - Creates maximum header file; test with CPPCAR.OMT and CPPMAIN.CPP with ANSI C++ try and throw statements
CPPFUNC2.SCT - Creates maximum header file; test with CPPCAR.OMT and CPPMAIN.CPP with ANSI C++ try and throw statements  
CPPHEAD3.SCT - Creates maximum header file; test with CPPCAR.OMT and CPPMAIN.CPP with ANSI C++ try and throw statements
CPPFUNC3.SCT - Creates maximum header file; test with CPPCAR.OMT and CPPMAIN.CPP with ANSI C++ try and throw statements  

8.  Generating Microsoft Visual C++ from a class diagram.  The following are the Visual C++ Code generation scripts:
VC15HDEX.SCT - Creates header file for Windows .EXE project; test with vc15car.omt (min code gen)
VC15FUEX.SCT - Creates .CPP file for Windows .EXE project; test with vc15car.omt (min code gen)
VC15HEAD.SCT - Creates header file for QuickWin project; test with vc15car.omt and vc15main.cpp
VC15FUNC.SCT - Creates .CPP file for QuickWin project; test with vc15car.omt and vc15main.cpp
VC15HD1.SCT - Creates max header file for QuickWin project; test with vc15car1.omt and vc15main.cpp
VC15FU1.SCT - Creates max .CPP file for QuickWin project; test with vc15car1.omt and vc15mai1.cpp
VCSERHD.SCT - Creates header file with serialize function
VCSERFUN.SCT - Creates .CPP file with serialize function
VC2HDEX.SCT - Creates Visual C++ 2.X header file with CList
VC2FUEX.SCT - Creates Visual C++ 2.X header file with CList
VC2HD*.SCT and VCFU*.SCT - Creates Visual C++ 2.X files

9.  Generating Borland C++ from a class diagram.  The following are the Borland C++ Code generation scripts:
BC4HEAD.SCT - Creates header file for Borland 4X; test with bc4car.omt and bcmain.cpp
BCFUNC.SCT - Creates .cpp file for Borland 3/4; test with bc3car.omt/bc4car.omt and bcmain.cpp
BC3HEAD.SCT - Creates header file for Borland 3X; test with bc3car.omt and bcmain.cpp

10.  Generating ANSI C Code from a class diagram.  The following are the ANSI C Code generation scripts:
CHEAD1.SCT - Creates .H file from ANSICAR.OMT and CMAIN.C
CFUNC1.SCT - Creates .C file from ANSICAR.OMT and CMAIN.C. 

***Part IV Code Generation and Report Generation Scripts from State Diagrams

11.  Generating ANSI C and C++ from State Diagrams.  See statinfo.wri.  When using state scripts select "Generate State Code".  Select "Generate Class Code" only when using class scripts.  The following are the C and C++ code generation scripts:

STAHEAD1.SCT - Creates .H file, eg CONTROLL.H; test with ST1STATE.OMT and ST1MAIN.CPP.
STAFUNC1.SCT - Creates .CPP file, eg CONTROLL.CPP; test with ST1STATE.OMT and ST1MAIN.CPP.
STAHEAD2.SCT-  Creates .H file, eg CONTROLL.H; test with ST1STATE.OMT and ST1MAIN.CPP.
STAFUNC2.SCT-  Creates .CPP file, eg CONTROLL.CPP; test with ST1STATE.SCT and ST1MAIN.CPP.  
STAHEAD3.SCT - Creates .H file, eg CONTROLL.H; test with ST1STATE.OMT and ST1MAIN.CPP.
STAFUNC3.SCT - Creates .CPP file, eg CONTROLL.CPP; test with ST1STATE.SCT and ST1MAIN.CPP.
STAHEAD4.SCT - Creates .H file, eg CONTROLL.H; test with ST1STATE.OMT and ST1MAIN.CPP.
STAFUNC4.SCT - Creates .CPP file, eg CONTROLL.CPP; test with ST1STATE.SCT and ST1MAIN.CPP.

STAANSI1.SCT - Creates C function; test with ST1STATE.OMT and CSTAMAIN.C.
STAANSI2.SCT - Creates C function; test with ST1STATE.OMT and CSTAMAIN.C.

The following ST2*.SCT scripts generate ANSI C++ with try and throw statements.
ST2HEAD1.SCT - Creates .H file, eg CONTROLL.H; test with ST2STATE.OMT and ST2MAIN.CPP.
ST2FUNC1.SCT - Creates .CPP file, eg CONTROLL.CPP; test with ST2STATE.SCT and ST2MAIN.CPP.
ST2HEAD2.SCT - Creates .H file, eg CONTROLL.H; test with ST1STATE.OMT and ST2MAIN.CPP.
ST2FUNC2.SCT - Creates .CPP file, eg CONTROLL.CPP; test with ST1STATE.SCT and ST2MAIN.CPP.
ST2HEAD3.SCT - Creates .H file, eg CONTROLL.H; test with ST1STATE.OMT and ST2MAIN.CPP.
ST2FUNC3.SCT - Creates .CPP file, eg CONTROLL.CPP; test with ST1STATE.SCT and ST2MAIN.CPP.
ST2HEAD4.SCT and ST2HEAD5.SCT - Creates .H file, eg CONTROLL.H; test with ST2STATE.OMT and ST2MAIN.CPP.
ST2FUNC4.SCT and ST2FUNC4.SCT - Creates .CPP file, eg CONTROLL.CPP; test with ST1STATE.OMT and ST2MAIN.CPP.

***Part V Add-on Training and Consulting Products and Services

12. Training and Consulting Services and Products Using With Class 
a) RCF Associates offers custom training and consulting services using With Class with object-oriented design projects with object-oriented languages.  The following services and products are offered.
- Custom model development (drawings and specifications) for a system based upon your requirements statement and block diagram.
- Executable prototype for a system in C++, Eiffel, Ada, Visual Foxpro and other languages based upon your model (diagrams and specifications).
- Custom With Class scripts for reports and code generation for your specific language, class library, and coding standards.
- On-site training course "Object-Oriented Modeling with CASE and C++".  Course is one to five days customized to your requirements including modeling your system during the course.
Customer satisfaction is guaranteed.  For information contact Richard Felsinger, RCF Associates, 960 Scottland Dr, Mt Pleasant, SC 29464 803-881-3648 e-mail 71162.755@compuserve.com 

b) "Object-Oriented Modeling With Class - Using a Scripting CASE Tool for Rapid C++ Prototypes" tutorial (350 pages) with 3 complete "charter to C++" case studies may be ordered from RCF Associates.  This book-length tutorial features an in-depth "how to" create diagrams, specifications, scripts, and C++ programs in With Class using the Rumbaugh Object Management Technique (OMT).  The tutorial has a large number of diagrams, With Class scripts, and C++ code listings. Tutorial contents: 1 - Introduction to O-O Modeling, 2 - Basic O-O Entities and Models, 3 - Using O-O CASE Tools, 4 - Modeling the System and Classes in the Object Model, 5 - Modeling Attributes in the Object Model, 6 - Modeling Operations in the Object Model, 7 - Modeling the Association Relationship in the Object Model, 8 - Modeling the Aggregation Relationship in the Object Model, 9 - Modeling Generalization Specialization in the Object Model, 10 - Modeling System Input and Output Events in the Dynamic Model, 11 - Modeling States and Transitions in the Dynamic Model, 12 - Modeling Messages in the Dynamic Model, 13 - Modeling Operations (Transformations) in the Functional Model, 14 - Modeling Complex Systems 15 - Modeling the System - The System Object Model, 16 - Modeling System Events and States - The System Dynamic Model, 17 - Modeling the System Inputs, Outputs, and Operations - The System Functional Model, 18 - Modeling Classes and Relationships - The Object Model, 19 - Modeling Interactions (Messages) and States - The Dynamic Model, 20 - Modeling Operations - The Functional Model, 21 - Creating Scripts with a Scripting CASE Tool, 22 - Creating Scripts for the Object, Dynamic, and Functional Models, 23 - Creating C++ Code Generation Scripts, 24 - Creating C++ Scripts to Generate Finite State Machine Code.  Case Studies: Coffee Control System, Automobile Cruise Control System, Currency Control System. To receive a three hole laser printed copy of "Object-Oriented Modeling  With Class - Using a Scripting CASE Tool for Rapid C++ Prototypes" send $25.00 plus $5.00 Shipping and Handling ($15.00 Shipping and Handling for orders outside the US) to Richard Felsinger, RCF Associates, 960 Scottland Dr, Mt Pleasant, SC 29464 telephone 803-881-3648 e-mail 71162.755@compuserve.com.

c) With Class ScreenCam Training Tutorial - A six disk training tutorial is available "Object-Oriented Modeling Using With Class".  This screen cam video requires a 1024x768 video resolution and a sound card.  The following are the topic in this screen cam video:  Using the With Class CASE Tool (Overview), Creating Class Diagrams, Specifications, and Code in the OMT Object Model, Creating State Diagrams, Specifications, and Code in the OMT Dynamic Model, Creating Object Interaction Diagrams, Specifications, and Code in the OMT Dynamic Model, Creating Functional Operation Specifications and Code in the OMT Functional Model.  These screen cam training videos are very easy to use.  Just execute each SceenCam file, watch the on-screen demonstration of creating diagrams, specifications, and code, and listen to the instructor explain each step.  To order the ScreenCam Training Videos send $25.00 plus $5.00 Shipping and Handling ($15.00 Shipping and Handling for orders outside the US) to Richard Felsinger, RCF Associates, 960 Scottland Dr, Mt Pleasant, SC 29464 telephone 803-881-3648 e-mail 71162.755@compuserve.com.

Part VI With Class Purchase Costs

13.  Purchase Costs
a) $295 Windows 95/NT Professional Version - The Windows 95/NT version is a 32 bit Windows 95 product. This profession version of With Class has unlimited classes, states, and objects. It has the capability to reverse an unlimited number of C++ header files and Delphi files.  It ships with additional scripts for Windows 95/NT languages and full written documentation.  Additional With Class User Manuals are $25.
b) $195 Windows 3.1 Professional Version - This version of With Class is a 16 bit Windows 3.1 product.  It supports a large number of classes, states, and objects. It has the capability to reverse a large number of C++ header files.  Additional With Class User Manuals are $25.
c) $69 Educational Version - Students may forward $69.00 + S/H ($10 US and $20 Outside US) to MicroGold.  You will receive the educational version with a 25 class limit.     
d) Multi-user site licenses, contact MicroGold Software at 908-722-6438 e-mail 71543.1172@compuserve.com.
e) Special Bundle Offer for Intro CASE Tools.  With Class 1.6 and StateMaker 3.1 are introductory CASE tools especially suited for new CASE tool and C++ users.  With Class 1.6 is specialized to generate C++ code for Borland 3X, Borland 4X, and Microsoft Visual C++ 1.5.   With a single click With Class 1.6 generates all major C++ constructs including streamable classes from a class diagram.  StateMaker 3.1 is used to create state transition diagrams and to generate C/C++ code.  Both With Class 1.6 and StateMaker 3.1 have a reverse engineering capability.  This bundle of With Class 1.6 and StateMaker 3.1 (program disks plus manuals) is available for $99.00 plus $5.00 S/H ($10 S/H for orders outside the US).

14. Free Newsletters - To receive e-mail newsletters and announcements, please send your e-mail address to Michael Gold, MicroGold Software at Internet 71543.1172@compuserve.com or CompuServe 71543,1172.  We will periodically send out newsletters, announcements, and new scripts.  Also, please send in the e-mail address of anyone who is interested in object-oriented CASE tools.  Also, for technical questions please e-mail questions to the above address.  Periodically, MicroGold uploads demo tools to the Internet.  Currently the educational of With Class is at the following FTP sites: oak.oakland.edu/SimTel/win3/pgmtools/wclass25.zip and www.microgold.com.  On CompuServe wclass25.zip is in the CASE/CASE forum.  On CompuServe type GO IBMFF and enter wclass25.zip to find the latest demo version of the With Class.

Thank you for using With Class, Michael Gold, MicroGold Software, Inc

****************************************************************************************
***Part VII - Quick Start - Using With Class to Create the OMT Object Model (Class Diagram), OMT Dynamic Model (State Diagram), OMT Dynamic Model (Object Interaction Diagram), and OMT Functional Model (Operation Specification) in With Class

by Richard Felsinger 960 Scottland Dr, Mt Pleasant, SC 29464 tele 803-881-3648 e-mail 1162.755@compuserve.com. Note: if you don't have the exact script listed, use any script with a similar name or download latest script from http://www.microgold.com.

Creating the Object Model with the Class Diagram in With Class

- Start with a system requirements statement, drawing, and block diagram.

- Create a class diagram, e.g. CARCLASS.OMT.

- Enter specification information into the system specification form (Draw System) and create the system report, e.g. SYSRPT.TXT by running the script RPTSYS.SCT.

- Enter specification information into the class specification form.  Create the class table, e.g. CLASSTAB.TXT by running the script TABCLASS.SCT and importing the table into Microsoft Word.  Create the CLASSRPT.TXT by running the script RPTCLASS.SCT.

- Enter information into the attribute specification form.  Create the attribute table, e.g. ATTRTAB.TXT by running the script TABATTR.SCT and importing the table into Microsoft Word. Create the ATTRRPT.TXT by running the script RPTATTR.SCT.

- Enter information into the operation specification form.  Create the operation table, e.g. OPERTAB.TXT by running the script TABOPER.SCT and importing the table into Microsoft Word.  Create the OPERRPT.TXT by running the script RPTOPER.SCT.  Create the detailed operation table, e.g. OPERTAB1.TXT by running the script TABOPPRE.SCT and importing the table into Microsoft Word.

- Create the relationship table, e.g. RELATAB.TXT by running the script TABRELAT.SCT and importing the table into Microsoft Word.

- Create the Object Model data dictionary based upon the class diagram, e.g. DDCLASS.TXT by running the script DDCLASS.SCT and importing the table into Microsoft Word.

- Create source code files, e.g. CAR.H and CAR.CPP by running code generation scripts, e.g. CPPHEAD0.SCT and CPPFUNC0.SCT.

Creating the Dynamic Model with State Diagrams in With Class

- Create a state diagram, e.g. CARSTATE.OMT.

- Enter specification information into the state and transition specification forms.  Create the state transition table, e.g. STATETAB.TXT by running the script TABSTATE.SCT and importing the table into Microsoft Word.  Create the STATERPT.TXT by running the script RPTSTATE.SCT.

- Create the Dynamic Model data dictionary based upon the state diagram, e.g. DDSTATE.TXT by running the script DDSTATE.SCT and importing the table into Microsoft Word.

- Create source code files, e.g. CONTROL.H and CONTROL.CPP by running code generation scripts, e.g. STAHEAD1.SCT and STAFUNC1.SCT.

Creating the Dynamic Model with Object Interaction Diagrams in With Class

- Create an object interaction diagram, e.g. CAROBJ.OMT.

- Enter specification information into the object and interaction specification forms.  Create the object interaction table, e.g. OBJTAB.TXT by running the script TABOBJ.SCT and importing the table into Microsoft Word.  Create the OBJPT.TXT by running the script RPTOBJ.SCT.

- Create the Dynamic Model data dictionary based upon the object interaction diagram, e.g. DDOBJ.TXT by running the script DDOBJ.SCT and importing the table into Microsoft Word.

- Create the Message Sequence Table, e.g. MSGTAB.TXT by running the script TABOBMSG.SCT and importing the table into Microsoft Word.  Update your source code files by cutting and pasting messages into the function definitions.

Creating the Functional Object Model with Operation Specifications in With Class

- Create or update a class diagram, e.g. CARCLASS.OMT.

- Update information into the operation specification form.  Create the operation table, e.g. OPERTAB.TXT by running the script TABOPER.SCT and importing the table into Microsoft Word.  Create the OPERRPT.TXT by running the script RPTOPER.SCT.  

- Create the detailed operation table, e.g. OPERTAB1.TXT by running the script TABOPPRE.SCT and importing the table into Microsoft Word.  

- Once all operation transformations, preconditions, postconditions, and exceptions have been entered into the operation specification forms, regenerate source code files or manually update operations in the source code files.

Integrating the Models and Source Code

- Ensure consistency between the various diagrams and specifications, e.g. same named classes and operations.

- To integrate source code, start with the generated source code from the class diagram, add generated state code from the state transition diagrams, add generated message code from the object interaction diagrams, and update operation source code with the generated operation information (preconditions, transformations, postconditions, and exceptions). 





