Nothing Special   »   [go: up one dir, main page]

skip to main content
Skip header Section
Object oriented methods (2nd ed.)January 1994
Publisher:
  • Addison-Wesley Longman Publishing Co., Inc.
  • 75 Arlington Street, Suite 300 Boston, MA
  • United States
ISBN:978-0-201-59371-6
Published:01 January 1994
Pages:
473
Skip Bibliometrics Section
Reflects downloads up to 21 Nov 2024Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Mishra A and Mishra D (2009). Some issues on scheduling estimation model for object-oriented software projects, ACM SIGSOFT Software Engineering Notes, 34:4, (1-4), Online publication date: 6-Jul-2009.
  2. ACM
    Mishra D and Mishra A (2008). Some observations on staff estimation metrics for object, ACM SIGSOFT Software Engineering Notes, 33:5, (1-4), Online publication date: 31-Aug-2008.
  3. Aggarwal V (2019). The Application of the Unified Modeling Language in Object-Oriented Analysis of Healthcare Information Systems, Journal of Medical Systems, 26:5, (383-397), Online publication date: 1-Oct-2002.
  4. Koster C and Verbruggen E The AGFL Grammar Work Lab Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference, (13-18)
  5. Mak K, Lau H and Wong S (1999). Object-oriented technologies for automated manufacturing systems development, International Journal of Computer Applications in Technology, 12:2-5, (268-280), Online publication date: 1-Jul-1999.
  6. Dawson L and Swatman P The use of object-oriented models in requirements engineering Proceedings of the 20th international conference on Information Systems, (260-273)
  7. ACM
    Marovac N (1998). Embedded documentation for semi-automatic program construction and software reuse, ACM SIGSOFT Software Engineering Notes, 23:3, (70-74), Online publication date: 1-May-1998.
  8. Drogoul A and Collinot A (1998). Applying an Agent-Oriented Methodology to the Design of Artificial Organizations, Autonomous Agents and Multi-Agent Systems, 1:1, (113-129), Online publication date: 1-Jan-1998.
  9. Omori Y, Joe K and Fukuda A A Parallelizing Compiler by Object Oriented Design Proceedings of the 21st International Computer Software and Applications Conference, (228-231)
  10. ACM
    Zeng N and Schach S Is the object-oriented paradigm appropriate for scientific software? Proceedings of the 35th annual ACM Southeast Conference, (98-105)
  11. Ball P and Love D The key to object-oriented simulation Proceedings of the 27th conference on Winter simulation, (768-774)
Contributors
  • De Montfort University

Reviews

Lou Agosta

One of the advantages claimed by object-oriented techniques in general is that they are capable of more accurately representing real world situations than traditional top-down methods. This relation of representing or modeling between the system and the world is often called “semantics.” The role of semantics—the determination of meaning—is a recurring theme throughout this book, and gives an intriguing spin to this text that does not appear in other object-oriented literature. According to the author's use of the term “semantics,” it encompasses how objects refer to (and so model) the real world of business and material existence; how objects are used; and whatever remains (undetermined by logic) after “syntax” (order and rules) is subtracted. The first point is exemplified in the way embedding objects (combinations of data hidden by methods) in applications presents a tradeoff with the reusability of objects, itself a major goal of object-oriented methods. On page 48, <__?__Pub Fmt nolinebreak>Graham<__?__Pub Fmt /nolinebreak> says, “The trade-off between reuse and semantics must become an important concern” and on page 299, he states, “All semantics compromise reuse.” To solve the business problem, the system components must relate to their context (their reference). Yet, the more they do so, the less abstract, general, or generic (that is, the less reusable) the objects. “The more semantically rich [the system] is, the more specific and therefore less reusable its components will be” (p.<__?__Pub Fmt hardspace>25). The second point is exemplified in the discussion of prototyping. Graham makes the key point that object-oriented methods require that system components be used via their interface specification rather than their inner (hidden) implementation. Another way of saying this is “meaning is use.” Prototyping is the preeminent method of working with the business user to define the interface for using the system. By prototyping, not only is a superior user interface constructed, but “executable specifications” are produced. Graham associates this remarkable idea with the Heideggerian approach of Winograd and Flores [1]. The third point is implied as the author states a position to the effect that “semantic content is partly contained in the structures of classification, composition and use, and the rules which describe [the objects'] behavior” (p.<__?__Pub Fmt interword-space>299). This implies, of course, that, since only some “semantic content” is in structures, some is not. The challenge is how to capture the remainder of this semantics—how do object-oriented methods prevent it from escaping__?__ The author's implied response to this issue draws on features from the following areas insofar as they intersect with object-oriented methods (semantic data modeling, object-oriented databases, and artificial intelligence). First, Graham discusses how some authors are forced to introduce classes or abstract data types into their extended entity relational models in order to model all the hierarchies represented in the data domains of interest to them. Abstracting in order to form an abstract data type is followed by the inheritance of attributes by some specification of that type. This specification, however, is the semantic relation of semantic data modeling. With the introduction of inheritance, can object orientation be far behind__?__ The author then turns to a critique of the weaknesses of relational databases. None of the criticisms cited—difficulties in dealing with recursive queries, null values, abstract data types, and lack of support for business rules (shallow data semantics)—are decisive. In fact, Sybase receives honorable mention as a relational product that implements user-defined data and active data (triggers). The evolution of object-oriented database technology is so rapid that Graham's discussion of products was significantly updated for the second edition. This is not likely to be the most durable part of an otherwise consistently strong and engaging presentation. Finally, the author's background includes work in expert systems and artificial intelligence (fuzzy logic), and this text is sprinkled with suggestions as to how object-oriented and AI methods can cross-fertilize one another. In addition to the more advanced topics outlined above, the book provides an excellent treatment of basic ideas. <__?__Pub Fmt nolinebreak>Graham<__?__Pub Fmt /nolinebreak> gives one of the best short explanations of polymorphism, overloading, and genericity available in the literature. Advice for the practitioner is also provided. Graham speculates about the deep roots of object-oriented methods. He brings a diverse background (as indicated by an excellent and diverse bibliography) to the treatment of software objects. This diversity may be a hindrance to some more timid readers who require spoon-feeding. Others, however, can expect to find it refreshing and inspiring. This<__?__Pub Caret> second edition presents a significant extension and completion of the first [2]. The chapter on object-oriented analysis and design in the first edition is split into two chapters in the second edition—one on design and one on analysis. Nearly 50 different approaches are treated. Chapter 9, on “Managing Object-oriented Methods,” has been revised and expanded, and provides a clear focus. Extensive minor classifications and improvements occur throughout. In his forward to the second edition, Grady Booch describes <__?__Pub Fmt nolinebreak>Graham<__?__Pub Fmt /nolinebreak> as “one of those rare individuals who holds a command of the broad spectrum of object-oriented computing and is able to articulate that vast knowledge in a form that is both understandable and approachable” (p.<__?__Pub Fmt interword-space>vii). I heartily agree.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Please enable JavaScript to view thecomments powered by Disqus.

Recommendations