home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
oewinf.txt
< prev
next >
Wrap
Text File
|
1994-04-28
|
12KB
|
229 lines
The Object Engineering Workbench - OEW
Professional Software Engineering with C++
C++ is used mainly in professional software engineering projects where the
engineers requirements are very high. So, it's obvious to use an professional
software engineering tool. The Object Engineering Workbench for C++ and the
Object Relationship Modeler (in short: OEW/ORM) provides all the necessary
tools to remove the drudgery and let you concentrate on the creative part of
your work.
The Object-Oriented Analysis
During this software engineering phase, the intuitive OEW screens help the
analyst to easily create and edit classes and relationships. Data members
and function members, in OEW called slots, can be created and maintained by
mouse-clicks. OEW provides two graphs: the inheritance graph and the
relational graph. The inheritance graph shows the tree of classes and
sub-classes and their inheritance relelationships. The relational graph
models both user-defined and whole-part-relationships between the classes.
Boths graphs may be easily manipulated by mouse-click. The display may be set
to analysis, design, or C++ notation. In addition you can choose various
display options and of course overview windows.
You can also creates views (subsets) of the classes and relationships to
manage larger projects. Documentation can be entered in at any time for all
parts of the project, this as well as various reports can be printed out. So,
within minutes or hours, even complex class structures can be developed and
documented.
OEW is not just a simple class hierarchy browser. In contrast, the classes
developed during the analysis phase may be dynamically changed without having
to write a single line of C++ code. On the other hand OEW is also not a simple
"drawing-and-checking" tool because it can handle the code of the whole
project. The idea is strikingly easy: The analyst is guided to "Thinking in
Objects" from the very first step. It's hard to develop "non OO programs" in
OEW. So, getting used to object-oriented thinking and working does not grow
to be a problem. Everyone, who is moving from C to C++ will find this
invaluable. At the end of the object-oriented analysis using OEW, there is a
truely object-oriented model of the problem domain - frozen in classes and
class-hierarchies that can be automatically transformed into a C++ based
application.
The Object-Oriented Design
During this development phase, you have to transform the analysis results
into a good C++ design. The particular strengh of OEW is the support of this
transformation. OEW provides, for example, templates, container classes, local
and global type declarations, access types, inlines, const, static, virtual
functions, and abstract classes. In the class hierarchies, you easily find and
manipulate parameter lists, return types of member functions, and public,
private, and virtual inheritance modi. Even syntactical add-ons of C++ may be
processed with OEW, e.g. Borland's DDVTs and Microsoft's ClassWizard macros.
In short: C++ is completely supported, not just the AT&T 3.0 , but the
additions that are needed to build real applications.
A very important design step is to handle sets of data, for instance in a
1:many relationship. We support the mapping of these cardinalities onto your
container classes for slots and relationships. For example, in OEW a list of
elements of the class CUSTOMER is described as "CUSTOMER [m]" which is later
on in the phase of code generation translated into "List <CUSTOMER>". The
relationship from [m] or other cardinalities to a container class (template
or not) is defined by the user. You can use all the classes from your favorite
class libraries. That means, reuse of existing software at the design level.
Moreover, OEW provides various module and file handling functions, because
nobody wants to do this by hand. Automated generation and maintenance of
#include, module filenames, and the definition of deault headers (for instance
a copyright notice). Of course there are things that you might want to change
yourself, for instance the ordering of classes in a module or the slots in a
class. OEW provides you the freedom to design the way you want to, but you
don't have to do the hard work of coding and organizing any longer.
When developing software based on the object-oriented databases ObjectStore or
POET, OEW comes in strong. You can use one of the extended versions of OEW to
creates complete database schemes of applications based on the description of
the class hierarchies. Thus, OEW is the best schema designer for these
OODBMS - and we are of course proud to be member of the Object Design Partner
Program.
The Object-Oriented Programming
After you have completed you design we won't leave you without further
assistance during the implementation phase. Going from design to
implementation is no longer like jumping into cold water. OEW won't leave you
alone in the incremental process of implementing and re-designing.
The next step is the coding of the function bodies and the generation of the
entire program. This also covers the automatic generation of Project- and
Make-Files for the various compilers. The code generation is supported by
so-called schemata in which for example additional includes or global C
functions are provided. OEW offers support in both C++ and C development at
this level.
Now, the compiler must reveal its strength. The project file which was
generated in the last step is now loaded and the C++ files are compiled. But
quite frankly: Who is capable to generate a bug-free code in the first try?
Regularly, now the phase of compiling, debugging, and testing starts - and
nothing supports this phase better than the IDE of the compiler. The developer
will change the source code, of course, in the compiler's IDE.
On the other hand, the C++ program should not be developed independent of the
OEW design files. What happens when you add/edit/delete source code outside
the enviroment? You have to maintain two copies of your project, but one is
quite enough. OEW provides an import from source code option. Just push the
parse source code button, and your selected files (header and source) are
read. Your design file and documentation can be kept always up to date! Can
you imagine how much time and effort especially of you and your best people
this can save?
Reverse Engineering and Re-Usability
The reverse engineering which we just described above opens up even more
applications to OEW. Existing and purchased class libraries and other external
source codes may be re-imported into OEW, analysed, and re-used. At a first
glance, this sounds far fetched. But it really works. Whoever has experienced
his favorite class library (OWL, MFC, Zinc, StarView, zApp, Booch Components,
etc. all in all more than 100 classes) on the screen, with complete access to
the functions, parameters and hierarchies, sometimes better documented by OEW
than by the vendor, will never work without it again. Whoelse else gives you
the capability to derive subclasses from let's say TWindow with point and
clicks?
Summary
How can you classify OEW? It is very hard, because we blur the boundrys
between many tools.
On one hand it is a graphical IDE. But unlike other enviroments, it's
repository based. When you for instance change a class name, it is changed
throughout the system. No more search and replace through twenty modules of
a project!
On the other hand, OEW is a "real" CASE tool. It supports the phases of
analysis, design, code gerneration and reverse engineering. Moreover, it
contains an elaborate usergroup management and powerful documentation
facilities. Depending from an individual point of view, you can see OEW as an
extension of IDEs of modern compilers or as an integrated CASE tool. However,
untimately, this classification into traditional concepts is not so important.
In contrast, it is much more important that you can professionally develop
software with OEW.
Available for Windows, OS/2, Windows NT and SUN Solaris (others will follow).
Please note that V1.3 is not only a patch. It has been fully re-developed
using object-oriented techniques and - of course - OEW. In addition to OEW's
powerful OOA and OOD support the following new features have been added to
the tool:
New features in OEW V1.3:
* Graphical OOA and OOD support
* New Microsoft-like user interface for analysis, design and implementation
* Multi-Project-Management and MDI, non-modal dialogs
* Encyclopedia-based for integrity and consistency checking
* User-and project-bound, persistent Workplace Shell
* New syntax-highlighting editor and edit controls
* Automatic generation of AT&T C++ 3.0 code including Templates and
Exceptions
* New symbolic parser for full reverse engineering of any AT&T C++ 3.0 code
* Direct access to method implementations even from analysis and design
views
* Cross referencing in the editor
* Check for non-overwritten virtual functions
* Global search&replace
* New module concept with a module browser
* New Quick Reference and multiple overviews
* Multi platform concept and single sourcing, on every platform the same
OEW V1.3 functionality
* Multi compiler concept, use OEW V1.3 with the C++ compiler you have
* Enhanced documentation facilities, additional RTF- und ASCII-Output
* Multi library support, compatible to: MFC 2.5, OWL 2.0, Zinc, StarView,
XVT, zApp, C++/Views, Open Interface,
Rogue Wave class libs, Booch Components, and many more.
* New easy-to-read 450 page manual including Introduction in
Object-Orientation, Tutorial from OOA to OOD and OOP, and "OEW meets
Stroustrup's C++"
* Case-sensitive online help
* Built-in POET und ObjectStore schema generation and parsing, Versant soon
* Optional: PVCS support for versioning control and configuration
management.
Innovative Software GmbH
Vendor of OEW/ORM is Innovative Software GmbH, Frankfurt, Germany. Founded in
1989, this software house has concentrated from the very beginning only on the
development of C++ software. OEW originally was developed to support our own
developers in making C++ applications. Since 1991, Innovative Software GmbH
sells OEW/ORM all over the world and is the only German partner of Object
Design, the vendor of the new object-oriented database system ObjectStore
which is applied in the distributed application architecture of IBM.
Innovative Software GmbH
Phone: ++49 69 236929
Fax: ++49 69 236930
CompuServe: 100272,515
If you're interested in getting a free Small Project Version for evaluation
purposes (instead of downloading) and pricing information, please send a
message to 100272,515 or one of the following distributors:
USA BSO Tasking
Phone: (617) 320 9400
Fax: (617) 320 9212
CompuServe: 73602,2737
Germany Innovative Software GmbH
Phone: ++49 69 236929
Fax: ++49 69 236930
CompuServe: 100272,515
Australia/Asia Object Software Engineering Pty. Ltd.
Phone: ++61 52 377064
Fax: ++61 52 377054
CompuServe: 100026,1004
UK Silicon River Ltd.
Phone: ++44 81317 7777
Fax: ++44 81316 7778
Internet: acourt@cix.compulink.co.uk
BENELUX (Europe) ProTools Software
Phone: ++31 20 6455023
Fax: ++31 20 6403341
CompuServe: 72633,204