home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / oewinf.txt < prev    next >
Text File  |  1994-04-28  |  12KB  |  229 lines

  1. The Object Engineering Workbench - OEW
  2.  
  3. Professional Software Engineering with C++
  4.  
  5. C++ is used mainly in professional software engineering projects where the 
  6. engineers requirements are very high. So, it's obvious to use an professional 
  7. software engineering tool. The Object Engineering Workbench for C++ and the 
  8. Object Relationship Modeler (in short: OEW/ORM) provides all the necessary 
  9. tools to remove the drudgery and let you concentrate on the creative part of 
  10. your work.
  11.  
  12. The Object-Oriented Analysis
  13.  
  14. During this software engineering phase, the intuitive OEW screens help the 
  15. analyst to easily create and edit classes and relationships. Data members 
  16. and function members, in OEW called slots, can be created and maintained by 
  17. mouse-clicks. OEW provides two graphs: the inheritance graph and the 
  18. relational graph. The inheritance graph shows the tree of classes and 
  19. sub-classes and their inheritance relelationships. The relational graph 
  20. models both user-defined and whole-part-relationships between the classes. 
  21. Boths graphs may be easily manipulated by mouse-click. The display may be set 
  22. to analysis, design, or C++ notation. In addition you can choose various 
  23. display options and of course overview windows. 
  24.  
  25. You can also creates views (subsets) of the classes and relationships to
  26. manage larger projects. Documentation can be entered in at any time for all
  27. parts of the project, this as well as various reports can be printed out. So,
  28. within minutes or hours, even complex class structures can be developed and
  29. documented.
  30.  
  31. OEW is not just a simple class hierarchy browser. In contrast, the classes
  32. developed during the analysis phase may be dynamically changed without having
  33. to write a single line of C++ code. On the other hand OEW is also not a simple
  34. "drawing-and-checking" tool because it can handle the code of the whole 
  35. project. The idea is strikingly easy: The analyst is guided to "Thinking in 
  36. Objects" from the very first step. It's hard to develop "non OO programs" in 
  37. OEW. So, getting used to object-oriented thinking and working does not grow 
  38. to be a problem. Everyone, who is moving from C to C++ will find this 
  39. invaluable. At the end of the object-oriented analysis using OEW, there is a 
  40. truely object-oriented model of the problem domain -  frozen in classes and 
  41. class-hierarchies that can be automatically  transformed into a C++ based 
  42. application.
  43.  
  44. The Object-Oriented Design
  45.  
  46. During this development phase, you have to transform the analysis results
  47. into a good C++ design. The particular strengh of OEW is the support of this
  48. transformation. OEW provides, for example, templates, container classes, local
  49. and global type declarations, access types, inlines, const, static, virtual 
  50. functions, and abstract classes. In the class hierarchies, you easily find and
  51. manipulate parameter lists, return types of member functions, and public, 
  52. private, and virtual inheritance modi. Even syntactical add-ons of C++ may be 
  53. processed with OEW, e.g. Borland's DDVTs and Microsoft's ClassWizard macros. 
  54. In short: C++ is completely supported, not just the AT&T 3.0 , but the 
  55. additions that are needed to build real applications.
  56.  
  57. A very important design step is to handle sets of data, for instance in a 
  58. 1:many relationship. We support the mapping of these cardinalities onto your 
  59. container classes for slots and relationships. For example, in OEW a list of 
  60. elements of the class CUSTOMER is described as "CUSTOMER [m]" which is later 
  61. on in the phase of code generation translated into "List <CUSTOMER>". The 
  62. relationship from [m] or other cardinalities to a container class (template 
  63. or not) is defined by the user. You can use all the classes from your favorite
  64. class libraries. That means, reuse of existing software at the design level.
  65.  
  66. Moreover, OEW  provides various module and file handling functions, because 
  67. nobody wants to do this by hand. Automated generation and maintenance of 
  68. #include, module filenames, and the definition of deault headers (for instance
  69. a copyright notice). Of course there are things that you might want to change 
  70. yourself, for instance the ordering of classes in a module or the slots in a 
  71. class. OEW provides you the freedom to design the way you want to, but you 
  72. don't have to do the hard work of coding and organizing any longer.
  73.  
  74. When developing software based on the object-oriented databases ObjectStore or
  75. POET, OEW comes in strong. You can use one of the extended versions of OEW to 
  76. creates complete database schemes of applications based on the description of 
  77. the class hierarchies. Thus, OEW is the best schema designer for these 
  78. OODBMS - and we are of course proud to be member of the Object Design Partner 
  79. Program.
  80.  
  81. The Object-Oriented Programming
  82.  
  83. After you have completed you design we won't leave you without further 
  84. assistance during the implementation phase. Going from design to 
  85. implementation is no longer like jumping into cold water. OEW won't leave you 
  86. alone in the incremental process of implementing and re-designing. 
  87.  
  88. The next step is the coding of the function bodies and the generation of the 
  89. entire program. This also covers the automatic generation of Project- and 
  90. Make-Files for the various compilers. The code generation is supported by 
  91. so-called schemata in which for example additional includes or global C 
  92. functions are provided. OEW offers support in both C++ and C development at 
  93. this level. 
  94.  
  95. Now, the compiler must reveal its strength. The project file which was 
  96. generated in the last step is now loaded and the C++ files are compiled. But 
  97. quite frankly: Who is capable to generate a bug-free code in the first try? 
  98. Regularly, now the phase of compiling, debugging, and testing starts  - and 
  99. nothing supports this phase better than the IDE of the compiler. The developer
  100. will change the source code, of course, in the compiler's IDE.
  101.  
  102. On the other hand, the C++ program should not be developed independent of the 
  103. OEW design files. What happens when you add/edit/delete source code outside 
  104. the enviroment? You have to maintain two copies of your project, but one is 
  105. quite enough. OEW provides an import from source code option. Just push the 
  106. parse source code button, and your selected files (header and source) are 
  107. read. Your design file and documentation can be kept always up to date! Can 
  108. you imagine how much time and effort especially of you and your best people 
  109. this can save?
  110.  
  111. Reverse Engineering and Re-Usability
  112.  
  113. The reverse engineering which we just described above opens up even more 
  114. applications to OEW. Existing and purchased class libraries and other external
  115. source codes may be re-imported into OEW, analysed, and re-used. At a first 
  116. glance, this sounds far fetched. But it really works. Whoever has experienced 
  117. his favorite class library (OWL, MFC, Zinc, StarView, zApp, Booch Components, 
  118. etc. all in all more than 100 classes) on the screen, with complete access to 
  119. the functions, parameters and hierarchies, sometimes better documented by OEW 
  120. than by the vendor, will never work without it again. Whoelse else gives you 
  121. the capability to derive subclasses from let's say TWindow with point and 
  122. clicks?
  123.  
  124. Summary
  125.  
  126. How can you classify OEW?  It is very hard, because we blur the boundrys 
  127. between many tools.
  128.  
  129. On one hand it is a graphical IDE. But unlike other enviroments, it's 
  130. repository based. When you for instance change a class name, it is changed 
  131. throughout the system. No more search and replace through twenty modules of 
  132. a project!
  133.  
  134. On the other hand, OEW is a "real" CASE tool. It supports the phases of 
  135. analysis, design, code gerneration and reverse engineering. Moreover, it 
  136. contains an elaborate usergroup management and powerful documentation 
  137. facilities. Depending from an individual point of view, you can see OEW as an 
  138. extension of IDEs of modern compilers or as an integrated CASE tool. However, 
  139. untimately, this classification into traditional concepts is not so important.
  140. In contrast, it is much more important that you can professionally develop 
  141. software with OEW.
  142.  
  143. Available for Windows, OS/2, Windows NT and SUN Solaris (others will follow).
  144.  
  145. Please note that V1.3 is not only a patch. It has been fully re-developed 
  146. using object-oriented techniques and - of course - OEW. In addition to OEW's 
  147. powerful OOA and OOD support the following new features have been added to 
  148. the tool:
  149.  
  150. New features in OEW V1.3:
  151.  
  152. *    Graphical OOA and OOD support
  153. *    New Microsoft-like user interface for analysis, design and implementation
  154. *    Multi-Project-Management and MDI, non-modal dialogs
  155. *    Encyclopedia-based for integrity and consistency checking
  156. *    User-and project-bound, persistent Workplace Shell
  157. *    New syntax-highlighting editor and edit controls
  158. *    Automatic generation of AT&T C++ 3.0 code including Templates and 
  159.     Exceptions
  160. *    New symbolic parser for full reverse engineering of any AT&T C++ 3.0 code
  161. *    Direct access to method implementations even from analysis and design 
  162.     views 
  163. *    Cross referencing in the editor
  164. *    Check for non-overwritten virtual functions
  165. *    Global search&replace
  166. *    New module concept with a module browser
  167. *    New Quick Reference and multiple overviews
  168. *    Multi platform concept and single sourcing, on every platform the same 
  169.     OEW V1.3 functionality 
  170. *    Multi compiler concept, use OEW V1.3 with the C++ compiler you have
  171. *    Enhanced documentation facilities, additional RTF- und ASCII-Output
  172. *    Multi library support, compatible to: MFC 2.5, OWL 2.0, Zinc, StarView, 
  173.     XVT, zApp, C++/Views, Open Interface, 
  174.     Rogue Wave class libs, Booch Components, and many more.
  175. *    New easy-to-read 450 page manual including Introduction in 
  176.     Object-Orientation, Tutorial from OOA to OOD and OOP, and "OEW meets 
  177.     Stroustrup's C++"
  178. *    Case-sensitive online help
  179. *    Built-in POET und ObjectStore schema generation and parsing, Versant soon
  180. *    Optional: PVCS support for versioning control and configuration 
  181.     management.
  182.  
  183. Innovative Software GmbH
  184.  
  185. Vendor of OEW/ORM is Innovative Software GmbH, Frankfurt, Germany. Founded in 
  186. 1989, this software house has concentrated from the very beginning only on the
  187. development of C++ software. OEW originally was developed to support our own 
  188. developers in making C++ applications. Since 1991, Innovative Software GmbH 
  189. sells OEW/ORM all over the world and is the only German partner of Object 
  190. Design, the vendor of the new object-oriented database system ObjectStore 
  191. which is applied in the distributed application architecture of IBM.
  192.  
  193.             Innovative Software GmbH
  194.             Phone:        ++49 69 236929
  195.             Fax:        ++49 69 236930
  196.             CompuServe:     100272,515
  197.  
  198.  
  199. If you're interested in getting a free Small Project Version for evaluation 
  200. purposes (instead of downloading) and pricing information, please send a 
  201. message to 100272,515 or one of the following distributors:
  202.  
  203. USA            BSO Tasking
  204.             Phone:        (617) 320 9400
  205.             Fax:        (617) 320 9212
  206.             CompuServe:    73602,2737
  207.  
  208. Germany            Innovative Software GmbH
  209.             Phone:        ++49 69 236929
  210.             Fax:        ++49 69 236930
  211.             CompuServe:     100272,515
  212.  
  213.  
  214. Australia/Asia        Object Software Engineering Pty. Ltd.
  215.             Phone:        ++61 52 377064
  216.             Fax:        ++61 52 377054
  217.             CompuServe:    100026,1004
  218.  
  219. UK            Silicon River Ltd.
  220.             Phone:        ++44 81317 7777
  221.             Fax:        ++44 81316 7778
  222.             Internet:    acourt@cix.compulink.co.uk
  223.  
  224. BENELUX    (Europe)    ProTools Software 
  225.             Phone:        ++31 20 6455023
  226.             Fax:        ++31 20 6403341
  227.             CompuServe:    72633,204
  228.  
  229.