object-oriented design

1

Click here to load reader

Upload: ian-graham

Post on 21-Jun-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Object-oriented design

Bulletin 397

a variety of examples drawn from the areas such as pattern recognition, decision making, operations re- search and management science.

The book is divided into two parts. Part one on 'Fuzzy Mathematics' which contains eight chapters, and Part Two on 'Applications to Fuzzy Set Theory' which con- tains remaining seven chapters.

In the first part of the book, the author introduces the supporting mathematical developments in fuzzy sets, extension principles, fuzzy measures, fuzzy relations and fuzzy graphs, and presents a comparative study of possibility theory, probability theory and fuzzy set theory.

In part two of the book, the author gives a relatively extensive treatment of the applications oriented topics such as fuzzy logic and approximate reasoning, expert systems, fuzzy control systems, pattern recognition, decision making problems, operations research and empirical studies in fuzzy set theory.

This revised edition of the book which first appeared in 1985 is almost a self-contained text with very helpful examples, sets of problems and a teacher's manual.

I highly recommend this text for students, both novice and advanced in theory and applications, academics and industrial researchers. Of course, this book is a must for all academic libraries.

Indeed, Professor Zimmermann, who as a researcher, author, editor and organizer of international meetings has contributed so much for the cause of the fuzzy sets and systems and the fuzzy community, deserves our compliments.

Madan M. Gupta Intelligent Systems Research Laboratory College of Engineering University of Saskatchewan Saskatoon, Saskatchewan Canada S7N OWO

Object- Oriented Design

This sequel to Object-Oriented Analysis (OOA) by the same authors, Peter Coad and Edward Yourdon (Your- don Press, 1991; 197 pp, £35.30; ISBN 0-13-630070-7), describes their approach to the design of systems. Principally, this consists of refining the products of OOA into what they call the Problem Domain Component of the design (by adding new classes) and adding three new components called the Human Interaction (HIC), Task Management (TMC) and Data Management Components (DMC). These components al low design specific issues- such as threads of control, specific processors, package software and so o n - t o be included in the OOA dia- grams. Great emphasis is laid on the similarity of notation for analysis and design and the way this smooths the transitions so sharply felt in traditional methods.

The book repeats and summarizes much of what is in the OOA book and contains a good deal of source code by way of language comparison. Although it undoubt- edly contains some very useful advice - albeit at a fairly high level of genera l i ty - i t is definitely not good value for money (nearly 22p per page if you don't count the appendices which list OOA and OOD steps). My favour- ite chapters were the last three where the generalities are dealt with. These deal with design principles, bene- fits, management and tools.

The authors are evidently aware of some of the criticisms which were made of their OOA method. For example trigger and terminate constraints are intro- duced for Services. However, no real distinction be- tween logical and physical design is made. Also, Coad is evidently aware of the oft levelled critique that his OOA can't handle dynamics. Hence, perhaps, we find on page 151: "simulation of the behavioural dynamics being modelled. Inbound and outbound Message Connections may be highlighted, based on the selection of a Service or Services. Alternatively, threads of execution can be displayed - one at a time, or all together, using different line patterns for each th read-once they have been defined". It is not made clear whether this requires every single message instance to be enumerated or how completeness can be checked.

Useful advice on flattening inheritance structures is given; either using a delegation technique or by repeti- tion for implementation in conventional languages.

Confusingly, quite a few terms (e.g. model filter, strategy card) are used but not defined. Possibly these terms would be readily comprehensible to someone who has used the OOATool software or read its manual.

Two main case studies are considered. The main example seems to be the development of OOATool itself, which hints I fear at the lack of other experience in this fairly immature field. This is not a criticism, merely an observation. The other examples extend the notional ones used in the earlier book, notably the air traffic control one.

One of the most interesting passages describes a tagged specification language which helps to describe how objects are stored in the DMC. However, just when I was thinking "this is great, I'll use i t . - - " the description stops dead; leaving me rather frustrated.

Coad shows in outline how to map OOD notation onto C++, Smalltalk, Objective C, Eiffel and Object Pascal. In this long chapter Coad never gets round to saying what he likes and dislikes about these languages. I would have liked to know why Smalltalk was chosen for the development of OOATool for example. Also the syntax of the languages is often displayed without being fully explained which is frustrating.

People who have used the Coad/Yourdon OOA method, and more especially have bought Object International's OOATool, wil l be the main readers of this work. OODTool is now announced for those who wish to delve deeper and spend a few dollars more.

lan Graham