scispace - formally typeset
Search or ask a question
Book

Object-Oriented Analysis and Design with Applications

01 Jan 1990-
TL;DR: This chapter discusses the development of Object-Oriented Programming Languages and the Structure of Complex Systems, and the role of Classification in this development.
Abstract: I. CONCEPTS. 1. Complexity. The Inherent Complexity of Software. The Structure of Complex Systems. Bringing Order to Chaos. On Designing Complex Systems. Sidebar: Categories of Analysis and Design Methods. 2. The Object Model. The Evolution of the Object Model. Elements of the Object Model. Applying the Object Model. Sidebar: Foundations of the Object Model. 3. Classes and Objects. The Nature of an Object. Relationships Among Objects. The Nature of a Class. Relationships Among Classes. The Interplay of Classes and Objects. On Building Quality Classes and Objects. Sidebar: Invoking a Method. 4. Classification. The Importance of Proper Classification. Identifying Classes and Objects. Key Abstractions and Mechanisms. Sidebar: A Problem of Classification. II. THE METHOD. 5 .The Notation. Elements of the Notation. Class Diagrams. State Transition Diagrams. Object Diagrams. Interaction Diagrams. Module Diagrams. Process Diagrams. Applying the Notation. 6 .The Process. First Principles. The Micro Development Process. The Macro Development Process. 7. Pragmatics. Management and Planning. Staffing. Release Management. Reuse. Quality Assurance and Metrics. Documentation. Tools. Special Topics. The Benefits and Risks of Object-Oriented Development. III. APPLICATIONS. 8. Data Acquisition: Weather Monitoring Station. Analysis. Design. Evolution. Maintenance. Sidebar: Weather Monitorint Station Requirements. 9. Frameworks: Foundation Class Library. Analysis. Design. Evolution. Maintenance. Sidebar: Foundation Class Library Requirements. 10. Client/Server Computing: Inventory Tracking. Analysis. Design. Evolution. Maintenance. Sidebar: Inventory Tracking System Requirements. 11. Artificial Intelligence Cryptanalysis. Analysis. Design. Evolution. Maintenance. Sidebar: Cryptanalysis Requirements. 12. Command and Control Traffic Management. Analysis. Design. Evolution. Maintenance. Sidebar: Traffic Management System Requirements. Afterword. Appendix: Object-Oriented Programming Languages. A.1 Concepts. A.2 Smalltalk. A.3 Object Pascal. A.4 C++. A.5 Common Lisp Object System. A.6 Ada. A.7 Eiffel. A.8 Other Object-Oriented Programming Languages. Notes. Glossary. Classified Bibliography. A. Classification. B. Object-Oriented Analysis. C. Object-Oriented Applications. D. Object-Oriented Architectures. E. Object Oriented Databases. F. Object-Oriented Design. G. Object-Oriented Programming. H. Software Engineering. I. Special References. J. Theory. K. Tools and Environments. Index. 0805353402T04062001
Citations
More filters
Journal ArticleDOI
S. Agostinelli1, John Allison2, K. Amako3, J. Apostolakis4, Henrique Araujo5, P. Arce4, Makoto Asai6, D. Axen4, S. Banerjee7, G. Barrand, F. Behner4, Lorenzo Bellagamba8, J. Boudreau9, L. Broglia10, A. Brunengo8, H. Burkhardt4, Stephane Chauvie, J. Chuma11, R. Chytracek4, Gene Cooperman12, G. Cosmo4, P. V. Degtyarenko13, Andrea Dell'Acqua4, G. Depaola14, D. Dietrich15, R. Enami, A. Feliciello, C. Ferguson16, H. Fesefeldt4, Gunter Folger4, Franca Foppiano, Alessandra Forti2, S. Garelli, S. Gianì4, R. Giannitrapani17, D. Gibin4, J. J. Gomez Y Cadenas4, I. González4, G. Gracia Abril4, G. Greeniaus18, Walter Greiner15, Vladimir Grichine, A. Grossheim4, Susanna Guatelli, P. Gumplinger11, R. Hamatsu19, K. Hashimoto, H. Hasui, A. Heikkinen20, A. S. Howard5, Vladimir Ivanchenko4, A. Johnson6, F.W. Jones11, J. Kallenbach, Naoko Kanaya4, M. Kawabata, Y. Kawabata, M. Kawaguti, S.R. Kelner21, Paul R. C. Kent22, A. Kimura23, T. Kodama24, R. P. Kokoulin21, M. Kossov13, Hisaya Kurashige25, E. Lamanna26, Tapio Lampén20, V. Lara4, Veronique Lefebure4, F. Lei16, M. Liendl4, W. S. Lockman, Francesco Longo27, S. Magni, M. Maire, E. Medernach4, K. Minamimoto24, P. Mora de Freitas, Yoshiyuki Morita3, K. Murakami3, M. Nagamatu24, R. Nartallo28, Petteri Nieminen28, T. Nishimura, K. Ohtsubo, M. Okamura, S. W. O'Neale29, Y. Oohata19, K. Paech15, J Perl6, Andreas Pfeiffer4, Maria Grazia Pia, F. Ranjard4, A.M. Rybin, S.S Sadilov4, E. Di Salvo8, Giovanni Santin27, Takashi Sasaki3, N. Savvas2, Y. Sawada, Stefan Scherer15, S. Sei24, V. Sirotenko4, David J. Smith6, N. Starkov, H. Stoecker15, J. Sulkimo20, M. Takahata23, Satoshi Tanaka30, E. Tcherniaev4, E. Safai Tehrani6, M. Tropeano1, P. Truscott31, H. Uno24, L. Urbán, P. Urban32, M. Verderi, A. Walkden2, W. Wander33, H. Weber15, J.P. Wellisch4, Torre Wenaus34, D.C. Williams, Douglas Wright6, T. Yamada24, H. Yoshida24, D. Zschiesche15 
TL;DR: The Gelfant 4 toolkit as discussed by the authors is a toolkit for simulating the passage of particles through matter, including a complete range of functionality including tracking, geometry, physics models and hits.
Abstract: G eant 4 is a toolkit for simulating the passage of particles through matter. It includes a complete range of functionality including tracking, geometry, physics models and hits. The physics processes offered cover a comprehensive range, including electromagnetic, hadronic and optical processes, a large set of long-lived particles, materials and elements, over a wide energy range starting, in some cases, from 250 eV and extending in others to the TeV energy range. It has been designed and constructed to expose the physics models utilised, to handle complex geometries, and to enable its easy adaptation for optimal use in different sets of applications. The toolkit is the result of a worldwide collaboration of physicists and software engineers. It has been created exploiting software engineering and object-oriented technology and implemented in the C++ programming language. It has been used in applications in particle physics, nuclear physics, accelerator design, space engineering and medical physics.

18,904 citations

Journal Article

6,559 citations


Cites background or methods from "Object-Oriented Analysis and Design..."

  • ...We evaluated, for example, the Booch method [26], the OMT method [28], and...

    [...]

  • ...As discussed in the following sections, the lifecycle model adopted for most domains in Geant4 is both iterative and incremental (also called the spiral approach) [26]....

    [...]

Journal ArticleDOI
TL;DR: It will be argued that the development of robust and scalable software systems requires autonomous agents that can complete their objectives while situated in a dynamic and uncertain environment, that can engage in rich, high-level social interactions, and that can operate within flexible organisational structures.

1,606 citations

Journal ArticleDOI
TL;DR: This article will argue that analyzing, designing, and implementing complex software systems as a collection of interacting, autonomous agents (that is, as a multiagent system) affords software engineers a number of significant advantages over contemporary methods.
Abstract: uilding high-quality, industrialstrength software is difficult. Indeed, it has been argued that developing such software in domains like telecommunications, industrial control, and business process management represents one of the most complex construction tasks humans undertake. Against this background, a wide range of software engineering paradigms have been devised. Each successive development either claims to make the engineering process easier or promises to extend the complexity of applications that can feasibly be built. Although evidence is emerging to support these claims, researchers continue to strive for more effective techniques. To this end, this article will argue that analyzing, designing, and implementing complex software systems as a collection of interacting, autonomous agents (that is, as a multiagent system [4]) affords software engineers a number of significant advantages over contemporary methods. This is not to say that agent-oriented software engineering represents a silver bullet [2]—there is no evidence to suggest it will represent an order of magnitude improvement in productivity. However, the increasing number of deployed applications [4, 8] bears testament to the potential advantages that accrue from such an approach. In seeking to demonstrate the efficacy of agent-oriented techniques, the most compelling argument would be to quantitatively show how their adoption improved the development process in a range of projects. However, such data is simply not available (as it is not for approaches like patterns, application frameworks, and componentware). Given this situation, the best that can be achieved is a qualitative justification of why agent-oriented approaches are well suited to engineering complex, distributed software systems.

1,295 citations