Path: utzoo!mnetor!ghp!tom From: tom@ghp.UUCP (Tom Huras) Newsgroups: comp.lang.smalltalk Subject: Object-Oriented Analysis Keywords: Object-oriented analysis, data modeling, conceptual Message-ID: <125@ghp.UUCP> Date: 27 Sep 88 23:46:28 GMT Distribution: na Lines: 55 This is a request for techniques or methodologies for analysing complex engineering systems. There is much said about object-oriented programming, a tiny bit on object-oriented design (a few rules of thumb), but there is a paucity of material on object-oriented analysis. In this posting I explain why the traditional techniques are insufficient, and what I'm trying now. If there are no methodologies available, it would be nice if someone confirmed what I'm trying. In software engineering, there seems to be a shortage of analysis techniques. The traditional "data processing" techniques: - structured analysis (Gane & Sarson dataflow diagrams and process diagrams) - data modeling (Chen's entity-relationship diagrams) tear out the procedural aspects from the data. In complex engineering systems, the principles of information hiding,and data abstraction say that the traditional approaches are inadequate. The concept I'm using right now is to model the "enterprise" by its fundamental objects. I've started with an entity-relationship model to get a model of the passive, data objects. I've enhanced the model by associating methods with the objects, and I have allowed for inheritance to capture the generalization aspects. Going at the model from the other end, I've modeled the high-level, active objects as resources accessing and using the passive, data objects. The overall goal is to use the model to partition the system into real computer systems and human tasks. Then, further expand the objects into greater detail for eventual implementation (maybe even using an object-oriented language). Just so that you know where I've been, my prime sources of motivation at this time are: - Bertrand Meyer's Object-oriented Software Construction (1988): provides compelling reasons for using object-oriented techniques - Brodie/Mylopoulos/Schmidt's On Conceptual Modelling (1982): deals with the need for conceptual modeling borrowing techniques of knowledge representation from AI, semantic data models from databases, and abstractions from programming languages. - Rumbaugh, "Relations as Semantic Constructs in an Object-Oriented Language", OOPSLA '87: this tells how relations in an entity-relationship model should be implemented in an object-oriented language. Comments? I'll summarize if appropriate. -- "Wisdom is supreme; | Tom Huras, Gellman.Hayward & Partners Ltd. therefore get wisdom. | 33 Yonge St., Toronto, Ontario, Canada, M5E 1G4 Though it costs all you have,| UUCP:{decvax|allegral|ihnp4|linus|utcsri} get understanding." | !utzoo!mnetor!ghp!tom Proverbs 4:7 | Disclaimer: These are only my opinions.