Object Oriented Designer

Date: Wed, 19 Oct 94 20:50:42 KST
From: ktg@taejo.pufs.ac.kr (Prof. Taegyun Kim)
Greetings from South Korea.

I am working on my OO CASE tool named OOD (Object Oriented Designer), and I distributed the current version to ftp.x.org mirror sites. Many audiences have paid attention to my work and they gave me a lot of gratitude for OOD. So I want my work to be added in the list of OO CASE tools section in FAQ article. Could it be possible ? My tool is registered in ASSET organization also. I think that my tool is very helpful for educational purpose. The attached file is the introduction to my tool. The latest version of OOD can be found here

Thank you,
Taegyun Kim


   **************** Object Oriented Designer ***************

	    Prof. Taegyun Kim [ktg@taejo.pufs.ac.kr]
	      Pusan University of Foreign Studies
			  Pusan, Korea

		     Version : Version 1.3.1
		     Revised : October 6 1994

   *********************************************************
Let me introduce myself. I am an assistant professor working at Department of Computer Engineering in Pusan University of Foreign Studies which resides in Pusan, Korea. My major interest is in software engineering especially in the area of object oriented methodologies. In teaching courses in systems analysis and software engineering I found a need for a good case tool that could be used by my students. Unfortunately, commercial case tools are too expensive for a university to purchase so I developed OOD. I have spent 17 man months building OOD. Because this is my first project combining object oriented methods, Motif, and C++, some of the source code may be a little clumsy. However, it does work well and it is still evolving. This project is very hard but is also very interesting. Let's enjoy it together.

P.S.: I am anxious for your criticism or comment on this product. So, if it works on your system, please respond to me with even a one line (very short) message. It will give me some encouragement. Moreover please inform me your status (student, professor etc.) if possible.

-Taegyun Kim

--------------- Contents --------------
0. Summary
1. System Environment
2. Building OOD
3. Initializing the Working Environment
4. Functions
5. Examples
6. Reference Books
7. Cautions
8. FAQ

0. Summary

The Object Modeling Technique [OMT] by James Rumbaugh et al. is a methodology for object oriented development with a graphical notation for representing object oriented concepts. Object Oriented Designer [OOD] is a case tool for constructing the object diagrams defined in OMT. In order to use OOD it is necessary to understand OMT and its graphical notation. See reference (2).

Why "OMT"? OMT evolved from the Extended Entity Relationship [EER] model which I have studied since the mid 80's. There are a number of other approaches to expressing object oriented concepts but I believe that OMT is superior to most of these. Yourdon's Object Oriented Analysis [OOA] notation, for example, is another excellent approach to the problem but has some limits in functionality, particularly with respect to data modeling, that are present in OMT.

Currently, OOD has following primary functions:

I have attempted to make OOD as user-friendly as possible. My students learn to use it in a day even without a manual. The user-friendliness of OOD is due to my own object oriented, user interface mechanisms.

Currently OOD generates a C++ code skeleton from an object diagram. I have a short term final goal to develop an object oriented "environment" with flexibility and portability. I think that about additional 20 man months effort could lead me to the final goal. Because I am currently working very hard to enhance its functionality, I am not especially concerned with system portability issues at the moment so building OOD on your particular platform may require a little work on your part. Please inform me of any changes that you need to make to build OOD on your system.

1. System Environment

OOD was built on a SPARC station running OS4.1.x, X11-R5 and Motif-1.2 and C++-2.0. OOD has also been successfully built on a SPARC using gcc-2.5.8 and libg++-2.5.3. It should build on most UNIX systems with X11-R5, Motif-1.2 and a "reasonable" C++ compiler.

2. Building OOD

  1. In ood directory edit the Makefile to reflect your environment
  2. run "make depend"
  3. run "make"

3. Initialize Working Environment

OOD requires the user to select a working repository in which to store various output files. If this is the first time you are running OOD:
  1. point at the top-menu,
  2. select "Environment",
  3. select "Setup",
  4. define your working repository.
If a working repository has been previously defined, select it:
  1. point top-menu
  2. select "change to"
  3. set your working repository

4. Functions

Menu items:

Most of the menu choices are self-explanatory. Not all of the menu choices are operational at this time. The project menu selects which popup menu will appear when the pointer is in the background of the OOD window and button3 is pressed. Currently, only "main Popup" and [drawing] "primitives Popup" are operational.

Mouse buttons:

The behavior of the mouse buttons is context sensitive. Generally: Button3 can popup several different menus depending upon the current selection from the Project menu and the location of the cursor. For example, select "main Popup" from the Project menu, move the pointer to an empty region of the OOD window and click button3.The "Primary Popup" will appear. From this menu select "Class Template" to place a class template on the screen. Move the pointer onto the class template and notice the object becomes highlighted. While the pointer is on the class template, click button3 again. This time the "Class" popup appears which will allow you to select operations that can be performed on that object.

Now select "Primitives Popup" from the Project menu, move the pointer to an empty region of the OOD window and click button3 to popup the drawing Primatives menu. Select "box", hold down button1 and drag the mouse to draw a box. When you are satisfied with the size and shape of the box release button1. Move the pointer onto the box and notice that the box becomes highlighted. While the pointer is on the box click button3 to popup a menu that lists the operations that you can perform on the box.

Button2 is used to edit text. If button2 is clicked in an empty region of the OOD window text may be added to the background at that point. To teminate text entry click button1 or press Esc key. Note that the text may be "re-edited" by placing the pointer over the text and clicking button2.

Experiment with the buttons and menus to explore the functions of OOD.

Note: class template is slightly different from original notation, but if you generate C++ code skeleton, its meaning will be clear.

5. Examples

An example is uploaded to Examples directory.

6. Reference Books

  1. Object-Oriented Programming with C++ and OSF/Motif - Douglas A. Young
  2. Object-Oriented Modeling and Design - James Rumbaugh et al.

7. Cautions

OOD will be released from this site intermittently. Please take note of the release date above. Because OOD is evolving rapidly, some part of the code may not work correctly or cause segmentation faults. Let me know what you find. The problem may already have been fixed by the time you find it. If not, I will see if I can fix it.