spage@cup.portal.com (S spage Page) (10/10/90)
I'm documenting an object-oriented system with lots of objects. I need to come up with pictures showing class inheritance, instances of classes, messages being sent between objects, inter-task messaging, instance data, etc. And since these classes model a computer system, there are other relationships at work: the window hierarchy, the file system hierarchy, process hierarchy, flow-of-control, convention inter-task communication... Yikes! There's a lot of semantic information to get across. Clearly you can't communicate everything about a system in a single diagram. I need to come up with a visual approach that informs the reader "these two symbols represent X's, and the line between them represents their Y relationship." In doing this, I'd like to leverage off existing work. So, two questions: o are there any "standards" for OOP diagrams? Do the latest flow-chart stencils have the extra symbols for OOP? ;-) o are there any particular visual presentations of OOP systems that you like? Book references please. Many, many thanks. =S Page
gbooch@ajpo.sei.cmu.edu (Grady Booch) (10/11/90)
in response to your question re diagramming take a look at my book, "Object-Oriented Design." It describes a notation to capture the design decisions you described. egb
naba@grebyn.com (Nabajyoti Barkakati) (10/11/90)
spage@cup.portal.com (S spage Page) wanted information on OOP diagramming notations: See the following article for a notation for expressing OOP designs: A. Wasserman, P. Pircher, R. Muller, "The Object-Oriented Structured Design Notation for Software Design Representation," Computer March 1990, pp.50-63 This is the COMPUTER magazine published by IEEE Computer Society. ============= Naba Barkakati naba@grebyn.com
cote@subsys.enet.dec.com (10/12/90)
Grady Booch has a complete diagramming notation for OO design in his new book "Object Oriented Design with Applications". It is very nice and covers everything you need. There is a cheat-sheet on the inside covers that shows the complete notation as well as a chapter dedicated to explaining it. My suggestion is to run (don't walk) to your nearest bookstore and get it. Copies of the book seem to be in short supply right now but the Second printing should be hitting the stores soon (I hope). BTW: If you find any CASE tools that implement his notation (or something similar) I would really appreciate knowing about it. MIKE COTE MPAC Standard disclaimers apply.
francois@spock (Francois Pomerleau) (10/12/90)
-- Francois Pomerleau (613) 592-2122 mitel!spock!francois@uunet.uu.net
ikluft@uts.amdahl.com (Ian Kluft) (10/13/90)
In article <34723@cup.portal.com> spage@cup.portal.com (S spage Page) writes: >I'm documenting an object-oriented system with lots of objects. I need to >come up with pictures showing class inheritance, instances of classes, [...] >Yikes! There's a lot of semantic information to get across. Clearly you >can't communicate everything about a system in a single diagram. [...] > o are there any "standards" for OOP diagrams? Do the latest > flow-chart stencils have the extra symbols for OOP? ;-) There are no standards. But a lot of examples are starting to show up. > o are there any particular visual presentations of OOP systems that > you like? Book references please. I don't remember the publishers but all of these are currently available in bookstores. 1) Object Oriented Design with Applications, by Grady Booch 2) Object Oriented Analysis and Information Modeling, by Shlaer & Mellor 3) Object Oriented Analysis, by Coad and Yourdon These all have their own styles. If you have the book budget, get all three and develop your own style from what you like in each. (That's my approach.) Otherwise (if you can only afford one book), I found Booch's notation to be the cleanest. -- Ian Kluft ----------------------------- # Another flying fanatic UTS Systems Software \ |--*--| / # PP-ASEL Amdahl Corporation C - 172 /\___/\ Skyhawk # Member AOPA, ACM, UPE Santa Clara, CA o o o #include <std-disclaimer>
davidm@uunet.UU.NET (David S. Masterson) (10/14/90)
Hmmm. There seems to be very few (if any) CASE tools for object-oriented diagramming of a system. Does anyone have any information how one would go about applying Data Flows, E-Rs, state diagrams, etc. to working with an object oriented project? I mean would these be applicable or would you wind up decomposing the problem in a way that makes identifying objects difficult? -- ==================================================================== David Masterson Consilium, Inc. uunet!cimshop!davidm Mtn. View, CA 94043 ==================================================================== "If someone thinks they know what I said, then I didn't say it!"
gbooch@ajpo.sei.cmu.edu (Grady Booch) (10/15/90)
There are two companies to date that have tools that support my notation (and I have NO business connection with either of them): Mark V Systems, and Popkin Software. I expect that there will be other companies that follow suite soon. egb
davidm@uunet.UU.NET (David S. Masterson) (10/15/90)
In article <714@ajpo.sei.cmu.edu> gbooch@ajpo.sei.cmu.edu (Grady Booch) writes:
There are two companies to date that have tools that support
my notation (and I have NO business connection with either of them):
Mark V Systems, and Popkin Software. I expect that there will be other
companies that follow suite soon.
Can you provide more information on these two (like their addresses)?
--
====================================================================
David Masterson Consilium, Inc.
uunet!cimshop!davidm Mtn. View, CA 94043
====================================================================
"If someone thinks they know what I said, then I didn't say it!"
lance@motcsd.csd.mot.com (lance.norskog) (10/17/90)
In article <34723@cup.portal.com> spage@cup.portal.com (S spage Page) writes: >I'm documenting an object-oriented system with lots of objects. I need to >come up with pictures showing class inheritance, instances of classes, [...] >Yikes! There's a lot of semantic information to get across. Clearly you >can't communicate everything about a system in a single diagram. [...] My take on this is that you want to be visual from the beginning, and design a programming system where you push pictures around. A full listing then becomes all the pictures, where you can only see some of them on the screen. This is called Visual Programming. Trying to take an existing textual system and build a picture displaying its cross-referentiality (Program Visualization) is doomed from the start.
oey@Apple.COM (Tim Oey) (10/20/90)
In article <34723@cup.portal.com> spage@cup.portal.com (S spage Page) writes: >I'm documenting an object-oriented system with lots of objects. I need to >come up with pictures showing class inheritance, instances of classes, [...] >Yikes! There's a lot of semantic information to get across. Clearly you >can't communicate everything about a system in a single diagram. [...] lance@motcsd.csd.mot.com (lance.norskog) responds: >My take on this is that you want to be visual from the beginning, and >design a programming system where you push pictures around. A full listing >then becomes all the pictures, where you can only see some of them on >the screen. This is called Visual Programming. > >Trying to take an existing textual system and build a picture displaying >its cross-referentiality (Program Visualization) is doomed from the >start. I strongly agree. I've been using such a visual object oriented language called Prograph which runs on the Macintosh. The diagrams are the source code. It also compiles into machine code. The whole programming environment is very well integrated. It's available from MacConnection (and other fine mail order outlets). Prograph still needs some time to mature (mainly to develop a larger class library like MacApp) but it is already an excellent tool. I've also seen Fabrik (nice but constrained by its implementation in SmallTalk and not commercially available) and I've tried Serius (another visual langauge on the Mac). Serius is far less elegant than Prograph and not as flexible. I've also looked briefly at VIP and Cause (all on the Mac) but didn't find them exciting. Who else out there has tried visual programming languages and what do you think? Especially object-oriented ones? Will this be the future of programming? If you e-mail me, I'll post a summary. Cordially, Tim Oey (oey@applelink.apple.com) "As is proper, I disclaim everything"