Object-Oriented Analysis and Design Methods. a Comparative Review
|
|
- Maximillian Garrison
- 6 years ago
- Views:
Transcription
1 Object-Oriented Analysis and Design Methods - Title Object-Oriented Analysis and Design Methods a Comparative Review Authors: Sjaak Brinkkemper, Shuguang Hong, Arjan Bulthuis, Geert van den Goor. January 1995 (c) University of Twente General Information Copyright Disclaimer User Guide Object-Oriented Analysis and Design Methods 4. Comparing Object-Oriented Methods 5. The Object-Oriented Analysis and Design (OOA/OOD) method by Coad & Yourdon 6. The Designing Object-Oriented Software (DOOS) method by Wirfs-Brock et. al. 7. The Object Modelling Technique (OMT) by Rumbaugh et. al. 8. Object-Oriented Analysis and Design with Applications (OOADA) by Booch (1 of 2) [26/2/ :09:24]
2 Object-Oriented Analysis and Design Methods - Title 9. Object Lifecycles (OL) by Shlaer and Mellor 10. Principles of Object-Oriented Analysis and Design (OOAD) by Martin & Odell 11. The Fusion method by Coleman et. al. 12. Object-Oriented Software Engineering (OOSE) by Jacobson et. al. 13. Object-Oriented System Development (OOSD) by de Champeaux et. al. 14. The MOSES method by Henderson-Sellers and Edwards 15. Comparison Techniques 16. Method Models of the Analysis And Design Methods 17. Comparison of The Analysis And Design Methods 18. Conclusions of the comparisons 19. OO Programming Languages (OOPL's) vs. the Analysis and Design Methods References References Appendixes a. Commercial Object-Oriented CASE Tools b. Commercial Object-Oriented Database Management Systems Table of Contents Contents (2 of 2) [26/2/ :09:24]
3 Object-Oriented Analysis and Design Methods - Disclamer Disclaimer These works are the result of a research project. The authors have tried to achieve utmost completeness and correctness. Despite this accuracy errors may occur. The Authors make no warranty of any kind with regard to the texts, tables, diagrams, figures or other information contained in this document. The Authors shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the use of the information in this document. [26/2/ :09:29]
4 Object-Oriented Analysis and Design Methods - Copyright Copyright notice (c) 1994 Sjaak Brinkkemper, Shuguang Hong, Arjan Bulthuis, Geert van den Goor. Reproduction of this document or of parts thereof by any medium is strictly prohibited. For multiple copies contact the authors at: Sjaak Brinkkemper Section Information Systems Department of Computer Science University of Twente P.O. Box AE Enschede tel fax sjbr@cs.utwente.nl [26/2/ :09:31]
5 Object-Oriented Analysis and Design Methods - Contents Object-Oriented Analysis and Design Methods - Contents Copyright Disclaimer User Guide 4. Comparing Object-Oriented Methods 4.1 Selection of Methods 4.2 Perspectives of Methods 4.3 The Video Rental Store Case Description 4.4 Other Comparison Literature 5. The Object-Oriented Analysis and Design (OOA/OOD) method by Coad & Yourdon 5.1 Background 5.2 General Approach 5.3 Concepts and Constructs 5.4 Techniques 5.5 Graphical notation 5.6 Analysis And Design Processes 5.7 Video Store Case 6. The Designing Object-Oriented Software (DOOS) method by Wirfs-Brock et. al. 6.1 Background 6.2 General Approach 6.3 Concepts and Constructs 6.4 Techniques 6.5 Graphical notation 6.6 Analysis And Design Processes 6.7 Video Store Case 7. The Object Modelling Technique (OMT) by Rumbaugh et. al. 7.1 Background (1 of 6) [26/2/ :09:35]
6 Object-Oriented Analysis and Design Methods - Contents 7.2 General Approach 7.3 Concepts and Constructs 7.4 Techniques 7.5 Graphical notation 7.6 Analysis And Design Processes 7.7 Video Store Case 8. Object-Oriented Analysis and Design with Applications (OOADA) by Booch 8.1 Background 8.2 General Approach 8.3 Concepts and Constructs 8.4 Techniques 8.5 Graphical notation 8.6 Analysis And Design Processes 8.7 Video Store Case 9. Object Lifecycles (OL) by Shlaer and Mellor 9.1 Background 9.2 General Approach 9.3 Concepts and Constructs 9.4 Techniques 9.5 Graphical notation 9.6 Analysis And Design Processes 9.7 Video Store Case 10. Principles of Object-Oriented Analysis and Design (OOAD) by Martin & Odell 10.1 Background 10.2 General Approach 10.3 Concepts and Constructs 10.4 Techniques 10.5 Graphical notation 10.6 Analysis And Design Processes 10.7 Video Store Case 11. The Fusion method by Coleman et. al Background 11.2 General Approach (2 of 6) [26/2/ :09:35]
7 Object-Oriented Analysis and Design Methods - Contents 11.3 Concepts and Constructs of Fusion 11.4 Techniques 11.5 Graphical notation 11.6 Analysis And Design Processes 11.7 Video Store Case 12. Object-Oriented Software Engineering (OOSE) by Jacobson et. al Background 12.2 General Approach 12.3 Concepts and Constructs 12.4 Techniques 12.5 Graphical notation 12.6 Analysis And Design Processes 12.7 Video Store Case 13. Object-Oriented System Development (OOSD) by de Champeaux et. al Background 13.2 General Approach 13.3 Concepts and Constructs 13.4 Techniques 13.5 Graphical notation 13.6 Analysis And Design Processes 13.7 Video Store Case 14. The MOSES method by Henderson-Sellers and Edwards 14.1 Background 14.2 General Approach 14.3 Concepts and Constructs 14.4 Techniques 14.5 Graphical notation 14.6 Analysis And Design Processes List of Activities Process lifecycle 14.7 Video Store Case 15. Comparison Techniques 15.1 How to Compare The Analysis and Design Methods (3 of 6) [26/2/ :09:35]
8 Object-Oriented Analysis and Design Methods - Contents 15.2 Basis of Method Modelling 15.3 Basis of Method Data Modelling Concept Structure Diagrams (CSD) Method Data Modelling Using CSD 15.4 Basis of Method Process Modelling Process Structure Diagrams (PSD) Method Process Modelling Using PSD 15.5 Method Engineering Method Customization Adaptation of Techniques Situational Methods 16. Method Models of the Analysis And Design Methods 16.1 The OOA/OOD Method by Coad & Yourdon Method Data Model Method Process Model 16.2 The DOOS Method by Wirfs-Brock et. al Method Data Model Method Process Model 16.3 The OMT Method by Rumbaugh et. al Method Data Model Method Process Model 16.4 The OOADA Method by Booch Method Data Model Method Process Model 16.5 The OL Method by Shlaer and Mellor Method Data Model Method Process Model 16.6 The OOAD Method by Martin And Odell Method Data Model Method Process Model 16.7 The Fusion Method by Coleman et. al Method Data Model Method Process Model (4 of 6) [26/2/ :09:35]
9 Object-Oriented Analysis and Design Methods - Contents 16.8 The OOSE Method by Jacobson et. al Method Data Model Method Process Model 16.9 The OOSD Method by de Champeaux et. al Method Data Model Method Process Model The MOSES Method by Henderson-Sellers and Edwards Method Data Model Method Process Model 17. Comparison of The Analysis And Design Methods 17.1 Comparison Criteria What to compare How to compare 17.2 Comparison of The Methods Against Each Other Comparison of the Techniques Comparison of the Concepts Comparison of the Activities 18. Conclusions of the comparisons 18.1 Overall findings 18.2 Conclusions of the Comparison of the techniques 18.3 Conclusions of the Comparison of the concepts 18.4 Conclusions of the Comparison of the activities 18.5 Strengths and Weaknesses of the Methods 19. OO Programming Languages (OOPL's) vs. the Analysis and Design Methods 19.1 Programming Considerations 19.2 Relationships between OOPL's and the Method The OOA/OOD Method by Coad & Yourdon The DOOS Method by Wirfs-Brock et. al The OMT Method by Rumbaugh et. al The OOADA Method by Booch The OL Method by Shlaer and Mellor The OOAD Method by Martin And Odell The Fusion Method by Coleman et. al. (5 of 6) [26/2/ :09:35]
10 Object-Oriented Analysis and Design Methods - Contents References The OOSE Method by Jacobson et. al The OOSD Method by de Champeaux et. al The MOSES Method by Henderson-Sellers and Edwards a. Commercial Object-Oriented CASE Tools b. Commercial Object-Oriented Database Management Systems (6 of 6) [26/2/ :09:35]
11 Object-Oriented Analysis and Design Methods - User Guide User Guide Tips for viewing this document: This document is best viewed with the Netscape 1.1. Especially tables are represented in a format (HTML-3) that is supported only by Netscape. Most of the graphics used in this document are stored in a postscript-format. For viewing these graphics you will need a postscript-viewer. Some postscript viewers are located here. For reading the tables in this document it is recommented to work in a high-resolution environment and to use a small font-size (times 10). If you have any comments or suggestions, please send them to: beltman@cs.utwente.nl [26/2/ :09:40]
12 Object-Oriented Analysis and Design Methods - 4. Comparing Object-Oriented Methods 4. Comparing Object-Oriented Methods 4.1 Selection of Methods 4.2 Perspectives of Methods 4.3 The Video Rental Store Case Description 4.4 Other Comparison Literature [26/2/ :09:42]
13 Object-Oriented Analysis and Design Methods - 5. The Object-Oriented Analysis and Design (OOA/OOD) method by Coad & Yourdon 5. The Object-Oriented Analysis and Design (OOA/OOD) method by Coad & Yourdon 5.1 Background 5.2 General Approach 5.3 Concepts and Constructs 5.4 Techniques 5.5 Graphical notation 5.6 Analysis And Design Processes 5.7 Video Store Case [26/2/ :09:44]
14 Object-Oriented Analysis and Design Methods - 6. The Designing Object-Oriented Software (DOOS) method by Wirfs-Brock et. al. 6. The Designing Object-Oriented Software (DOOS) method by Wirfs-Brock et. al. 6.1 Background 6.2 General Approach 6.3 Concepts and Constructs 6.4 Techniques 6.5 Graphical notation 6.6 Analysis And Design Processes 6.7 Video Store Case [26/2/ :09:46]
15 Object-Oriented Analysis and Design Methods - 7. The Object Modelling Technique (OMT) by Rumbaugh et. al. 7. The Object Modelling Technique (OMT) by Rumbaugh et. al. 7.1 Background 7.2 General Approach 7.3 Concepts and Constructs 7.4 Techniques 7.5 Graphical notation 7.6 Analysis And Design Processes 7.7 Video Store Case [26/2/ :09:49]
16 Object-Oriented Analysis and Design Methods - 8. Object-Oriented Analysis and Design with Applications (OOADA) by Booch 8. Object-Oriented Analysis and Design with Applications (OOADA) by Booch 8.1 Background 8.2 General Approach 8.3 Concepts and Constructs 8.4 Techniques 8.5 Graphical notation 8.6 Analysis And Design Processes 8.7 Video Store Case [26/2/ :09:52]
17 Object-Oriented Analysis and Design Methods - 9. Object Lifecycles (OL) by Shlaer and Mellor 9. Object Lifecycles (OL) by Shlaer and Mellor 9.1 Background 9.2 General Approach 9.3 Concepts and Constructs 9.4 Techniques 9.5 Graphical notation 9.6 Analysis And Design Processes 9.7 Video Store Case [26/2/ :09:54]
18 Object-Oriented Analysis and Design Methods Principles of Object-Oriented Analysis and Design (OOAD) by Martin & Odell 10. Principles of Object-Oriented Analysis and Design (OOAD) by Martin & Odell 10.1 Background 10.2 General Approach 10.3 Concepts and Constructs 10.4 Techniques 10.5 Graphical notation 10.6 Analysis And Design Processes 10.7 Video Store Case [26/2/ :09:57]
19 Object-Oriented Analysis and Design Methods The Fusion method by Coleman et. al. 11. The Fusion method by Coleman et. al Background 11.2 General Approach 11.3 Concepts and Constructs of Fusion 11.4 Techniques 11.5 Graphical notation 11.6 Analysis And Design Processes 11.7 Video Store Case [26/2/ :09:59]
20 Object-Oriented Analysis and Design Methods Object-Oriented Software Engineering (OOSE) by Jacobson et. al. 12. Object-Oriented Software Engineering (OOSE) by Jacobson et. al Background 12.2 General Approach 12.3 Concepts and Constructs 12.4 Techniques 12.5 Graphical notation 12.6 Analysis And Design Processes 12.7 Video Store Case [26/2/ :10:01]
21 Object-Oriented Analysis and Design Methods Object-Oriented System Development (OOSD) by de Champeaux et. al. 13. Object-Oriented System Development (OOSD) by de Champeaux et. al Background 13.2 General Approach 13.3 Concepts and Constructs 13.4 Techniques 13.5 Graphical notation 13.6 Analysis And Design Processes 13.7 Video Store Case [26/2/ :10:04]
22 Object-Oriented Analysis and Design Methods The MOSES method by Henderson-Sellers and Edwards 14. The MOSES method by Henderson-Sellers and Edwards 14.1 Background 14.2 General Approach 14.3 Concepts and Constructs 14.4 Techniques 14.5 Graphical notation 14.6 Analysis And Design Processes 14.7 Video Store Case [26/2/ :10:06]
23 Object-Oriented Analysis and Design Methods Comparison Techniques 15. Comparison Techniques 15.1 How to Compare The Analysis and Design Methods 15.2 Basis of Method Modelling 15.3 Basis of Method Data Modelling 15.4 Basis of Method Process Modelling 15.5 Method Engineering [26/2/ :10:09]
24 Object-Oriented Analysis and Design Methods Method Models of the Analysis And Design Methods 16. Method Models of the Analysis And Design Methods 16.1 The OOA/OOD Method by Coad & Yourdon 16.2 The DOOS Method by Wirfs-Brock et. al 16.3 The OMT Method by Rumbaugh et. al 16.4 The OOADA Method by Booch 16.5 The OL Method by Shlaer and Mellor 16.6 The OOAD Method by Martin And Odell 16.7 The Fusion Method by Coleman et. al The OOSE Method by Jacobson et. al 16.9 The OOSD Method by de Champeaux et. al The MOSES Method by Henderson-Sellers and Edwards [26/2/ :10:11]
25 Object-Oriented Analysis and Design Methods Comparison of The Analysis And Design Methods 17. Comparison of The Analysis And Design Methods 17.1 Comparison Criteria 17.2 Comparison of The Methods Against Each Other [26/2/ :10:13]
26 Object-Oriented Analysis and Design Methods Conclusions of the comparisons 18. Conclusions of the comparisons 18.1 Overall findings 18.2 Conclusions of the Comparison of the techniques 18.3 Conclusions of the Comparison of the concepts 18.4 Conclusions of the Comparison of the activities 18.5 Strengths and Weaknesses of the Methods [26/2/ :10:15]
27 Object-Oriented Analysis and Design Methods OO Programming Languages (OOPL's) vs. the Analysis and Design Methods 19. OO Programming Languages (OOPL's) vs. the Analysis and Design Methods 19.1 Programming Considerations 19.2 Relationships between OOPL's and the Method [26/2/ :10:17]
28 Object-Oriented Analysis and Design Methods - References References [Arnold 1991] Arnold, P., Bodoff, S., Coleman, D., Gilchrist, H., Hayes, F., An evaluation of Five Object Oriented Development Methods, Research report, HP Laboratories, June [Batini 1992] Batini, C., Ceri, S., Navathe, S., Conceptual Database Design:An entity-relationship approach, The Benjamin/Cummings Publishing Company Inc., Redwood City, California, [Booch 1990] Booch, G., On the concepts of OO design. In: Ng, P.A., Yeh, R.T., Modern Software Engineering, Van Nostrand Reinhold, New York, [Booch 1991] Booch, G., Object-Oriented Design with applications, The Benjamin/Cummings Publishing Company Inc., Redwood City, California, [Booch 1994] Booch, G., Object-Oriented Analysis and Design with Applications, The Benjamin/Cummings Publishing Company Inc., Redwood City, California, [Brinkkemper 1990] Brinkkemper, S., Formalisation of information systems modelling, Thesis Publishers, The Netherlands, [Budd 1991] Budd, T., An introduction to Object Oriented programming, Addison-Wesley, Reading, Massachusetts, [de Champeaux 1991] de Champeaux, D., A comparative study of Object Oriented Analysis Methods, Research report, HP Laboratories, April [de Champeaux 1993] de Champeaux, D., Lea, D., Faure, P., Object-Oriented System Development, Addison-Wesley, [Chen 1976] Chen, P.P., The Entity-Relationship model - Toward a unified view of data, ACM Transactions on Database Systems, vol.1, nr. 1, pp. 9-36, [Coad 1991a] Coad, P., and Yourdon, E., Object Oriented Analysis (2nd Edition), Yourdon Press, Englewood Cliffs, New Jersey, [Coad 1991b] Coad, P., and Yourdon, E., Object Oriented Design, Yourdon Press, Englewood Cliffs, New Jersey, (1 of 4) [26/2/ :10:20]
29 Object-Oriented Analysis and Design Methods - References [Coleman 1994] Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., Jeremaes, P., Object-Oriented Development: The Fusion Method, Prentice-Hall, Englewood Cliffs, New Jersey, [Elmasri 1989] Elmasri, R., Navathe, S., Fundamentals of Database Systems, The Benjamin/Cummings Publishing Company Inc., Redwood City, California, [Goldberg 1989] Goldberg, A., Robson, D., Smalltalk-80: The language, Addison-Wesley, Reading, Massachusetts, [Goor 1992] Goor, G.P.M. van den, Brinkkemper, S., Hong, S., A Comparison of Six Object-Oriented Analysis and Design Methods, Method Engineering Institute, University of Twente, [Goor 1993] Goor, G.P.M. van den, Brinkkemper, S., Hong, S., Object-geöriënteerde ontwerpmethoden, Informatie, jaargang 35, nr. 12, pp , [Graham 1991] Graham, I., Object Oriented Methods, Addison-Wesley, Wokingham, [Harmsen 1994a] Harmsen, F., Brinkkemper, S., Oei, H., Situational Method Engineering for Information System Project Approaches, Methods and Associated Tools for the Information Systems Life Cycle (A-55), Elsevier Science B.V. (North-Holland), [Harmsen 1994b] Harmsen, F., Brinkkemper, S., Description and Manipulation of Method Fragments for the Assembly of Situational Methods, [Henderson 1990] Henderson-Sellers, B., Edwards, J.M., The object oriented systems life cycle. In: Communications of the ACM, 33, 9, pp , September [Henderson 1994] Henderson-Sellers, B., Edwards, J.M., BOOKTWO of Object-Oriented Knowledge: The Working Object, Prentice-Hall, Sydney, [Hong 1993] Hong, S., Goor, G.P.M. van den, Brinkkemper, S., A Formal Approach to the Comparison of Object-Oriented Analysis and Design Methodologies, Proceedings of the 26th Hawaii International Conference on System Sciences, Volume IV, pp , [Jacobson 1992] Jacobson, I., Christerson, M., Jonsson, P., Övergaard, G., Object-Oriented Software Engineering, Addison-Wesley, [Keene 1989] Keene, S.E., Object-Oriented programming in Common Lisp, Addison-Wesley, Reading, Massachusetts, [Korson 1990] (2 of 4) [26/2/ :10:20]
30 Object-Oriented Analysis and Design Methods - References Korson, T., McGregor, J.D., Understanding object-oriented: A unifying paradigm. In: Communications of the ACM, 33, 9, pp , September [Martin 1992] Martin, J., Odell, J., Object Oriented Analysis and Design, Draft manuscript, [Martin 1993] Martin, J., Principles of Object-Oriented Analysis and Design, Prentice-Hall, Englewood Cliffs, New Jersey, [NGGO 1994] Nederlandse Gebruikersgroep van Gestructureerde Ontwikkelingsmethoden, 13 Methoden voor object-georiënteerde systeemontwikkeling, Tutein Holthenius, 's-hertogenbosch, [Pappas 1991] Pappas, C.H., Murray, W.H., Borland C++ handbook, McGraw-Hill, Berkeley, California, [Rumbaugh 1991] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W., Object-Oriented Modeling and Design, Prentice-Hall, Englewood Cliffs, New Jersey, [Shlaer 1988] Shlaer, S., Mellor, S.J., Object-Oriented Systems Analysis: Modeling the World in Data, Yourdon Press, Englewood Cliffs, New Jersey, [Shlaer 1992] Shlaer, S., Mellor, S.J., Object Lifecycles: Modeling the world in states, Prentice-Hall, Englewood Cliffs, New Jersey, [Sommerville 1989] Sommerville, I, Software Engineering (3rd edition), Addison-Wesley, Wokingham, [Stroustrup 1991] Stroustrup, B., The C++ programming language (2nd Edition), Addison-Wesley, Reading, Massachusetts, [Welke 1991] Welke, R.J., Kumar, K., van Dissel, H., 'Methodology Engineering': Een voorstel om te komen tot situationeel specifieke methode-ontwikkeling. In: Informatie, 33, 5, pp , Mei [Wijers 1990] Wijers, G.M., ter Hofstede, A.H.M., van Oosterom, N.E., Representation of Information Modelling Knowledge, Report 90/09, Software Engineering Research Centrum, November [Wirfs-Brock 1990] Wirfs-Brock, R., Wilkerson, B., Wiener, L., Designing Object-Oriented Software, Prentice-Hall, Englewood Cliffs, New Jersey, [Wirfs-Brock 1990] Wirfs-Brock, R.J., Johnson, R.E., Surveying current research in object-oriented design. In: Communications of the ACM, 33, 9, pp , September [Yourdon 1989] Yourdon, E., Modern Structured Analysis, Prentice-Hall, Englewood Cliffs, New Jersey, (3 of 4) [26/2/ :10:20]
31 Object-Oriented Analysis and Design Methods - References (4 of 4) [26/2/ :10:20]
32 Object-Oriented Analysis and Design Methods - a. Commercial Object-Oriented CASE Tools a. Commercial Object-Oriented CASE Tools The following table provides an overview of OO CASE tools, their vendors and the methods they support. BOCS, Berard Software Engineering [1] Excelarator II, Intersolv, Inc. Intelligent OOA, Kennedy-Carter MetaEdit, MetaCASE Consulting OY ObjectMaker, Mark V Software Objectory SE, Objective Systems Object System/CRC Palladio Software, Inc. ObjectTeam, Cadre Technologies, Inc. Object Eng. Workbench Innovative Software GmbH OMTool, Martin Marietta Object Management Workbench, IntelliCorp OOA/ OOD DOOS OMT OOADA OL OOAD Fusion OOSE OOSD MOSES - - * * * * * * - - * * * - * * * * * * * * - * * * [2] - * Use cases * Object Diagrams * * (1 of 2) [26/2/ :10:23]
33 Object-Oriented Analysis and Design Methods - a. Commercial Object-Oriented CASE Tools OOATool, OODTool Object International, * Inc. OO-Other, Roman Zielinski Metod & * SystemUtveckling Paradigm Plus, Protosoft * - * * Ptech, Associative Design Technology * Rose, Rational * -? SES Objectbench, Software & * Engineering Software Software Through Pictures, Interactive Development - - * Environment System Architect, Popkin Software * - * * - * Toolbuilder, IPSYS Software * Remarks: [1] BOCS supports State Transition Diagrams. [2] Object System/CRC supports responsibility-driven design. (2 of 2) [26/2/ :10:23]
34 Object-Oriented Analysis and Design Methods - b. Commercial Object-Oriented Database Management Systems b. Commercial Object-Oriented Database Management Systems Product name, database vendors and Object-oriented languages they Support: ObjectStore -- Object Design C++ Versant -- Versant Object Technology C++, Smalltalk ONTOS -- ONTOS C++ Objectivity/DB -- Objectivity C++ GemStone -- Servio Logic C++, Smalltalk OpenODB -- Hewlett-Packard C++, Smalltalk ITASCA -- Itasca Systems C++, Common Lisp, CLOS GBase -- Object Databases Corp. C++ O2 -- O2 Technology C++ ArtBASE -- ArtInAppleS Smalltalk EasyDB -- Objective Systems C++ NeoAccess -- NeoLogic C++ POET -- BKS Software C++ UNISQL/X, UNISQL Inc. This product does not provide persistent C++ objects, C++, Smalltalk it is an extension of a relational DBMS, which can be accessed from C++. [26/2/ :10:25]
35 Object-Oriented Analysis and Design Methods - Disclamer Disclaimer The Authors make no warranty of any kind with regard to the texts, tables, diagrams, figures or other information contained in this document. The Authors shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the use of the information in this document. [26/2/ :10:31]
36 Object-Oriented Analysis and Design Methods Selection of Methods 4.1 Selection of Methods This research project was performed as a continuation of a project conducted in 1992, in which six object-oriented analysis and design methods were analyzed and compared [Goor 1992]. Since 1992, three of those six methods have been changed and numerous new methods have been published. This report aims to update, revise and extend the research performed in In this research, ten of the most popular methods have been analyzed and compared by means of method-modeling and formalization. This project is conducted both at the University of Twente, the Netherlands, and at the Georgia State University, Atlanta, USA. Both universities established a cooperation on method engineering in the past, in which both universities work together in the scientific research on methods, techniques and tools for information system development. The comparison study of 1992 has also been performed in this cooperation. In selecting methods for our research, we used the following criteria: it must be a truly object-oriented method [de Champeaux 1991] and [Arnold 1991], it must be extensively described in a textbook, and thus widely available, it must be regarded a popular method. The methods we have investigated and compared in this project are: 1. Object-Oriented Analysis (OOA) and Object-Oriented Design (OOD) from Coad and Yourdon. [Coad 1991a] and [Coad 1991b] 2. Designing Object-Oriented Software (DOOS) from Wirfs-Brock et al. [Wirfs-Brock 1990] 3. Object Modeling Technique (OMT) from Rumbaugh et al. [Rumbaugh 1991] 4. Object-Oriented Analysis and Design with Applications (OOADA) from Booch. [Booch 1994] 5. Object Lifecycles (OL) from Shlaer and Mellor. [Shlaer 1992] 6. Object-Oriented Analysis and Design (OOAD) from Martin. [Martin 1993] 7. The Fusion method from Coleman et al. [Coleman 1994] 8. Object-Oriented Software Engineering (OOSE) from Jacobson et al. [Jacobson 1992] 9. Object-Oriented System Development (OOSD) from de Champeaux et al. [de Champeaux 1993] 10. The MOSES method from Henderson-Sellers and Edwards. [Henderson-Sellers 1994] These ten methods satisfy the selection criteria as mentioned above. The first three methods have not been changed in the past years and are still widely adopted. These methods are described in the Chapters 5, 6 and 7 and their description is taken from [Goor 1992]. Also, their method-process models, method-data models, their connection with OO programming languages and their application to the Video Store Case have been taken from [Goor 1992]. OOADA from Booch and OOAD from Martin are described in Chapter 8 and 10 respectively, and are (1 of 2) [26/2/ :10:34]
37 Object-Oriented Analysis and Design Methods Selection of Methods new versions of the methods that were studied in Part of their text and method-models have been taken from [Goor 1992]. Object Lifecycles from Shlaer and Mellor is outlined in Chapter 9, and can be considered a new method compared to Object-Oriented Systems Analysis that was studied in 1992, because both the process perspective and the data perspective of the method are entirely different. Chapters 11, 12, 13 and 14 cover the methods that were added in this research. Chapter 14, in which the MOSES method is described, is written by Helmuth Stockmann. This method was published during our research. Analyzing the method, both by writing Chapter 14 and by formalizing MOSES in method-models, did not fit in the time schedule of the author. The text in Chapter 15 has also been taken from [Goor 1992]. We now use the term 'method-modeling' instead of 'meta-modeling' because it is not always clear what is meant by 'meta'. Meta-process models and meta-data models have thus been changed into method-process models and method-data models respectively. In Chapter 17 'Comparison of The Analysis And Design Methods', the same approach is used as in 1992, but the comparison criteria have been revised and improved. The comparison of techniques has been revised and extended heavily. The text and comparison criteria of Chapter 19 'Programming languages (OOPL's) vs. the Analysis and Design Methods' have not been revised, because programming languages still support the same concepts as in The support of methods by CASE tools was added because of its importance for system development nowadays. The Video Store Case has been extended with a real-time aspect, since the object-oriented approach promises to be suitable for real-time applications. The models from [Goor 1992] have been adapted (in case of new versions of methods) and extended to show the real-time aspects. (2 of 2) [26/2/ :10:34]
38 Object-Oriented Analysis and Design Methods Perspectives of Methods 4.2 Perspectives of Methods This page isn't availabe yet. [26/2/ :10:35]
39 Object-Oriented Analysis and Design Methods The Video Rental Store Case Description 4.3 The Video Rental Store Case Description In order to present examples of the discussed modelling techniques, we will make use of a small case involving a Video store. This case is on purpose kept small and simple as to avo id a high level of complexity and introduction of many irrelevant details. On the other hand, the c ase is large enough to show some interesting aspects of the presented technique. This case is an elabor ation of the case presented in [Moriarty 87] Activities of the Video store The Video store receives tape requests and returned tapes from customers and new tapes from the Main office. Whenever necessary the Video store sends tape overdue notices to its cus tomers. Tape requests are taken care of by the store assistant. While treating these tape requests he uses information concerning films and tapes. He also uses and updates the list of rentals. The store assista nt also takes care of tape returns. For this task the store assistant again needs the information concernin g films and tapes as well as the list of rentals. Here too the list of rentals is updated. The other activities are the submission of rate changes and the submission of ne w tapes by the store management and the production of rental reports and the sending of tape overdue notices by the store administration. The elaboration of this description of the activities of the Video store results in a context diagram (context diagram) and a data-flow diagram (not given). The context diagram depicts the relevant interactions of the Video store with the external agents, denoted by double rectangles, in its environment Information in the Video store case As a starting point for the data modelling, samples, such as forms, letters and tables containing information used in the Video store are taken. A sample can be related to a data -flow or data store in the data-flow diagram which resulted from the activity analysis. The sample tables a re shown here in fig A.3. The tables are self-explanatory Elaboration of the activity 'Treatment of film request' In the following paragraph one of the activities, namely the activity 'Treatment of film request', is described in more detail. Film request are taken care of by the store assistant. Whenever a customer reque sts a film, the store assistant first checks whether there are still tapes, containing the requested f ilm, available and then he searches, if necessary, for the rental price. Next he checks whether this custom er is late with the return of other tapes. If so he may not borrow the tape requested. If this is not the case, he records this rental by updating the rental list. For this, the customer is asked for his address. (1 of 2) [26/2/ :10:38]
40 Object-Oriented Analysis and Design Methods The Video Rental Store Case Description (2 of 2) [26/2/ :10:38]
41 Object-Oriented Analysis and Design Methods Other Comparison Literature 4.4 Other Comparison Literature This page isn't availabe yet. [26/2/ :10:40]
42 Object-Oriented Analysis and Design Methods Background 5.1 Background Coad & Yourdon mention 7 key motivations and benefits in favor of OOA/OOD instead of using traditional analysis methods. These motivations and benefits are: Tackle more challenging problem domains Improve analyst and problem domain expert interaction Increase the internal consistency across analysis, design and programming Explicitly represent commonality between classes and objects Build specifications resilient to change Reuse OOA, OOD and OOP results Provide a consistent underlying representation for analysis, design and programming According to Coad & Yourdon the main result of Object Oriented Analysis and Design (OOA/OOD) comes from a reduction of complexity of a problem and the system's responsibilities within it. The OOA/OOD method is based on a number of general principles for managing complexity. According to Coad & Yourdon the Object Oriented approach is the only way to provide all these principles. The Object Oriented approach is based on a uniform underlying representation (Classes and Objects) which according to Coad & Yourdon leads to a number of major implications: No major difference between analysis and design notations No 'transition' from analysis to design No waterfall model has to be followed, spiral and incremental are also possible There are still different skills and strategies needed for analysts and designers There is a uniform representation from OOA to OOD to OOP (OO programming) For Coad & Yourdon an object oriented approach consists of classes, objects, inheritance and communication with messages. [26/2/ :10:42]
43 Object-Oriented Analysis and Design Methods General Approach 5.2 General Approach The OOA part of the method consists of five major activities: 1. Finding Class & Objects 2. Identifying Structures 3. Identifying Subjects 4. Defining Attributes 5. Defining Services It is mentioned at several places in the OOA/OOD method that these steps are not sequential steps. According to these major activities, an OOA model that is built during Analysis consists of five layers: 1. A Subject layer 2. A Class & object layer 3. A Structure layer 4. An Attribute layer 5. A Service layer The OOD part adds to the five layers four different components that have to be designed for these layers: 1. Human Interaction Component 2. Problem Domain Component 3. Task Management Component 4. Data Management Component These design steps are also not sequential steps. [26/2/ :10:45]
44 Object-Oriented Analysis and Design Methods Concepts and Constructs 5.3 Concepts and Constructs Concepts Object: An abstraction of an entity (tangible or intangible) about which information has to be kept; an encapsulation of Attribute values and their exclusive services. Class: A description of one or more Objects with a uniform set of Attributes and Services, including a description of how to create new objects in the class. Attribute: An attribute is some data (state information) for which each Object in a Class has its own value. Class-&-Object: A term meaning "a Class and the Objects in that Class" Subject: Subjects are a mechanism for partitioning large, complex models. Subjects are also helpful for organizing work packages on larger projects, based upon initial OOA investigations. Service: A Service is a specific behavior that an object is responsible to exhibit. State: The State of an Object is the value of its Attributes Transition: Transition is the change of a state Condition: If/precondition/trigger/terminate action Text Block: Text Loop: While/Do/Repeat/trigger/terminate action Relationships between Objects Whole-Part Structures In Whole-Part relationships one object (the object representing the Whole) is decomposed of other objects (the Parts). There can be three variations of the whole-part relationship: 1. Assembly-Parts: A car has wheels, an engine, Container-Contents: A box consists of a number of nails 3. Collection-Members: An organization has a number of analysts Whole-Part relationships may be associated with specific amounts or ranges, like the cardinality concept in ER modeling. Instance connections (Association relationship) An instance connection is a connection that one object needs with other objects in order to fulfill its responsibilities. For example: An object Person works at an object Office For Instance Connections an amount or range can also be denoted. Message Connections A message connection models the processing dependency of an Object, indicating a need for (1 of 2) [26/2/ :10:47]
45 Object-Oriented Analysis and Design Methods Concepts and Constructs Services in order to fulfill its own responsibilities (services). For example: For fulfilling the responsibility (service) "video tape return" the Object Store Assistant needs the Service "access" from the object Rental. Relationships between Classes Generalization-Specialization (Gen-Spec) Structures (Inheritance relationships) Gen-Spec relationships between classes define an inheritance hierarchy for classes that are specializations of other classes. A class may both inherit from one superclass (single inheritance) or from more superclasses (multiple inheritance). For example: a Diesel Engine is a specialization of an Engine. Operations and communication The types of services the OOA method provides are: Algorithmically simple services like Create, Connect, Access and Release Algorithmically complex services: Calculate services to calculate a result from the attribute values of an object. Monitor services to monitor an external system or device. In the OOA method objects communicate by sending messages. The sender object "sends" a message, that is "received" by the receiver object that takes some action and returns a result to the sender object. In the OOA diagram this communication is denoted by Message Connections. (2 of 2) [26/2/ :10:47]
46 Object-Oriented Analysis and Design Methods Techniques 5.4 Techniques The result of applying OOA/OOD results in one main OOA diagram consisting of the five layers mentioned in section 2.2: 1. Subject layer as a partitioning mechanism 2. Class & Object layer to capture Classes and Objects 3. Structure layer to capture inheritance and whole-part structures 4. Attribute layer to capture attributes and instance connections between Class & Objects 5. Service layer to capture methods and message connections between Class & Objects The dynamic behavior of Classes can be captured in Object State Diagrams, a restricted form of State Transition Diagrams. The algorithms that have to be applied for services can be described by Service Charts, which are a kind of flowcharts. The connection between a Service from a Service Chart and the States from an Object State Diagram can be established by a Service/State Table. Object State Diagrams, Service Charts and Service/State Tables are not described very well or extensively in the OOA/OOD books. [26/2/ :10:50]
47 Object-Oriented Analysis and Design Methods Graphical notation 5.5 Graphical notation [26/2/ :10:54]
48 Object-Oriented Analysis and Design Methods Analysis And Design Processes 5.6 Analysis And Design Processes For the steps in the OOA/OOD method it is an important point to check previous OOA results in the same and similar problem domains. This is a key point because reuse is one of the main issues in the object oriented approach. It is also important that the steps described below do not have to be followed in the given sequential order. For large systems it is often better to refine the problem domain into several preliminary subjects, and then start with identifying Class & Objects. Object Oriented Analysis (Activity 1) Identifying Class & Objects (Activity 1.1) The first step in finding Class & Objects is studying the problem domain (activity 1.1.1). Finding potential Class & Objects (activity 1.1.2) can be done by looking at: Structures Other systems Devices Things or events remembered Roles played Operational procedures Sites (Physical locations) Organizational units When potential Class & Objects are found and named (activity 1.1.3) they have to be challenged against the following criteria (activity 1.1.4): Needed remembrance Needed behavior (Usually) multiple attributes (Usually) more than one object in a class Always-applicable attributes Always-applicable services Domain-based requirements Not merely derived results After this is done the Class & Objects can be added to the OOA diagram (activity 1.1.5). Identifying Structures (Activity 1.2) (1 of 7) [26/2/ :10:59]
49 Object-Oriented Analysis and Design Methods Analysis And Design Processes There are two kinds of structures: Gen-Spec and Whole-Part structures. To find Gen-Spec structures (activity 1.2.1), each class has to be considered as a Generalization and the next questions have to be asked: 1. Is it in the problem domain? 2. Is it within the problem's responsibilities? 3. Will there be any inheritance? 4. Will the Specialization/Generalization meet the Class & Objects criteria? Next, each class has to be considered as a Specialization and the above questions have to be asked again. For identifying Whole-Part structures (activity 1.2.2) the next appearances are possible: Assembly-Parts Container-contents Collection-members Each object has to be considered as a whole and as a part and the next questions have to be asked: 1. Is it in the problem domain? 2. Is it within the problem's responsibilities? 3. Does it capture more than just a status value? 4. If not: include attribute within the whole 5. Does it provide a useful abstraction? After identifying Gen-Spec and Whole-Part structures multiple structures can be identified (activity 1.2.3). Multiple structures include various combinations of Gen-Spec, Whole-Part structures or both. After identifying multiple structures the structures can be added to the OOA diagram (activity 1.2.4). Identifying Subjects (Activity 1.3) Selecting possible Subjects (activity 1.3.1) is done by promoting the uppermost class in each structure upwards to a Subject. Then promote each Class & Object not in a structure upwards to a Subject. Refining Subjects (activity 1.3.2) is done by searching for minimal interdependencies and minimal interactions between Class & Objects in different Subjects. Next the Subjects can be constructed (activity 1.3.3) and added to the OOA diagram (activity 1.3.4). Identifying Attributes (Activity 1.4) To find attributes (activity 1.4.1) the next questions have to be asked from the perspective of an object: 1. How am I described in general? 2. How am I described in this problem domain? 3. How am I described in the context of this system's responsibilities? 4. What do I need to know? 5. What state information do I have to remember over time? (2 of 7) [26/2/ :10:59]
50 Object-Oriented Analysis and Design Methods Analysis And Design Processes 6. What states can I be in? In defining Attributes the Gen-Spec structure has to be kept in mind, attributes have to be placed as high as possible in the Inheritance Structure (activity 1.4.2). After identifying attributes the Instance Connections between objects can be identified (activity 1.4.3). This is done by adding connection lines for each object reflecting mappings within the problem domain. The Gen-Spec structures have to be examined to put the Instance Connections at the right level. The identified Attributes and Instance Connections have to be checked for several special cases (activity 1.4.4). These cases are: Attributes with a 'non-applicable' value Class & Objects with only one Attribute Attributes with repeating values Many-to-many Instance Connections Instance connections between Objects of a single Class Multiple Instance Connections between Objects Additional needed Instance Connections One connecting Object having a special meaning After checking these cases the Attributes have to be specified, and if needed additional constraints have to be specified for an Attribute and the Attributes and Instance Connections can be added to the OOA diagram (activity 1.4.5). Identifying Services (Activity 1.5) The first step in defining Services is identifying the Object States (activity 1.5.1) by describing the States and Transitions in an Object State Diagram. Then the required Services can be identified for each Class & Object (activity 1.5.2). For the algorithmically complex Services like Calculate and Monitor a Service Chart can be drawn to depict the algorithmical behavior of the Service. If needed Service/State Tables can depict the connection between Services and States. Simple Services are not denoted in the OOA diagram. After identifying Services Message Connections can be identified (activity 1.5.3). For identifying the Message Connections the next questions have to be asked for each object: 1. What other Objects do I need services from? 2. What other Objects needs Services from me? Then follow each Message Connection and repeat these questions. Next the Services can be specified and Services and Message Connections can be added to the OOA (3 of 7) [26/2/ :10:59]
51 Object-Oriented Analysis and Design Methods Analysis And Design Processes diagram (activity 1.5.4). Prepare Documentation (Activity 1.6) The last step of the OOA part of the method is putting the OOA documentation together. This activity consists of: Drawing of the complete OOA diagram (activity 1.6.1) Specification of Class & Objects (activity 1.6.2) Addition of supplemental documentation if this is needed (activity 1.6.3) which can consist of: Table of critical threads of execution Additional system constraints Services/State tables or diagrams Object Oriented Design (Activity 2) Designing the Problem Domain Component (Activity 2.1) By designing the problem domain component the Object Oriented Analysis is carried into Object Oriented Design. The OOA results are improved, and additions to it are made during designing the problem domain component. The first step is searching for previous Designs and Classes that can be reused (activity 2.1.1). To use so called off-the-shelf Classes there may be the need for some changes in the OOA results. If possible the changes have to be kept small. Next Problem Domain specific Classes can be grouped together (activity 2.1.2) by adding a Root Class as mechanism for grouping Classes. Also Generalization Classes have to be added to establish a protocol, the naming of a common set of Services (activity 2.1.3). With regard to the programming language that will be used for implementation it can be necessary to change the OOA Gen-Spec structures to accommodate the level of inheritance the programming language offers (activity 2.1.4). Coad & Yourdon give guidelines for moving a multiple Inheritance structure into single Inheritance structures, and how to flatten single Inheritance structures in zero-inheritance, although this is not recommended, because of the possibilities inheritance offers. The next step is changing the Problem Domain Component to improve performance aspects (activity 2.1.5). Speed can be improved by measuring the speed of actual code, the perceived speed of the system can be approved by caching interim results. Support of the Data Management Component (activity 2.1.6) can be achieved in several ways: each Object can store itself, or it can be saved by the Data Management Component. For both approaches specific Attributes and Services (or new Classes) have to be added to the Problem Domain Component. A third approach is the use of an Object Oriented Database Management System (OODBMS) which takes care of storing Objects. For convenience during design and programming, lower-level components can be isolated in separate Classes (activity 2.1.7). The last step of designing the Problem Domain Component is reviewing and (4 of 7) [26/2/ :10:59]
Comparing and Contrasting 6 Methodologies Currently Being. Used for Object Oriented Analysis and Design
Comparing and Contrasting 6 Methodologies Currently Being Used for Object Oriented Analysis and Design By: Morteza Abdolrahim Kashi Computer Science Department Concordia university, Montreal, Quebec, Canada
More informationObject-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks
Object-Oriented Analysis Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks Object-Oriented Analysis -- 1 Object-Oriented Analysis Object-Oriented
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based
More informationA COMPARISON OF SOFTWARE REUSE SUPPORT IN OBJECT-ORIENTED METHODOLOGIES
A COMPARISON OF SOFTWARE REUSE SUPPORT IN OBJECT-ORIENTED METHODOLOGIES Shuguang Hong Computer Information Systems Dept. Georgia State University Atlanta, GA 30302-4015, USA cisssh@gsusgi2.gsu.edu Barbara
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review (Part 1) 1 Coad-Yourdon Two-phase introduction: Object-Oriented Analysis
More informationSoftware Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 2 Seminal Object-Oriented Methodologies: Fusion 1 Fusion First introduced in 1992 by a team of practitioners at Hewlett- Packard Laboratories
More informationINFORMS 4th Conference on Information Systems and Technology. Generalizations as Data and Behavior Abstractions
INFORMS 4th Conference on Information Systems and Technology Generalizations as Data and Behavior Abstractions,..- Dale L. Lunsford The University of Southern Mississippi, College of Business Administration,
More informationOBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)
OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE () Ahmed Hayajneh, May 2003 1 1 Introduction One of the most popular object-oriented development techniques today is the Object Modeling
More informationModeling Heuristic Rules of Methods
Modeling Heuristic Rules of Methods Bedir 7HNLQHUGR DQÃÉÃ0HKPHWÃAkúLW TRESE project, Department of Computer Science, University of Twente, P.O. Box 217, 7500 AE Enschede, The Netherlands. email: {bedir
More informationTopic 13 Object-oriented Analysis
Topic 3 Object-oriented Analysis a) f) DAAD Project Joint Course on Software Engineering Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade,
More informationObject Oriented System Development
Object Oriented System Development Ratna Wardani Semester Genap, 2012 2/26/2012 Ratna W/PSBO2012 1 About This Course It shows how to apply OOAD technique to analyze and develop systems.. It gives you an
More informationFormal Specification Techniques in Object-Oriented Analysis: A Comparative View
Formal Specification Techniques in Object-Oriented Analysis: A Comparative View Presented at the Workshop on Evaluation of Modeling Methods in Sytems Analysis and Design CAiSE*96, Crete, 20-21 May 1996
More informationRepresenting System Architecture
Representing System Architecture Logical View Implementation View End-user Functionality Programmers Software management Use Case View System integrators Performance Scalability Throughput Process View
More informationObject-Oriented Systems Development: Using the Unified Modeling Language
Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 4: Object-Oriented Methodologies Goals Object-Oriented Methodologies The Rumbaugh et al. OMT The Booch methodology Jacobson's
More informationUse Cases: the Pros and Cons
Use Cases: the Pros and Cons By Donald G. Firesmith Introduction Over the last three years, use cases have become well established as one of the fundamental techniques of objectoriented analysis. Although
More informationREVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION
c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists
More informationAns 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.
Q 1) Attempt all the following questions: (a) Define the term cohesion in the context of object oriented design of systems? (b) Do you need to develop all the views of the system? Justify your answer?
More informationCSC 330 Object Oriented Software Design. Software Analysis Phase
CSC 330 Object Oriented Software Design Software Analysis Phase 1 Overview Object-oriented analysis Use-case modeling Class modeling Dynamic modeling Testing during the object-oriented analysis phase CASE
More informationCHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview
CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:
More informationCSC 330 Object Oriented Software Design Software Analysis Phase Object-Oriented Paradigm Object-Oriented Analysis cont d
CSC 330 Object Oriented Software Design Software Analysis Phase Overview Object-oriented analysis Use-case modeling Class modeling Dynamic modeling Testing during the object-oriented analysis phase CASE
More informationRoles of Developers as Part of a Software Process Model
Roles of s as Part of a Software Process Model ETSPI06.PDF Kari Kivisto MSG Software P.O. Box 28 FIN-90101 Oulu, Finland email: kari.kivisto@msg.fi http://www.msg.fi Abstract The software development process
More informationOn UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture
On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture Sadahiro Isoda Toyohashi University of Technology Toyohashi 441-8580, Japan isoda@tutkie.tut.ac.jp Abstract. UML2.0 recently made a correction
More informationRepresenting Control Constructs in Object-Flow Process. Diagrams
1 Representing Control Constructs in Object-Flow Process Diagrams or Peleg and Dov Dori Faculty of Industrial Engineering and anagement Technion Israel Institute of Technology Haifa 32000, Israel {mor,
More informationDesign and Evolution of an Agent-Based CASE System for OOAD
Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering
More informationT.Kozlowski, T. A. Carey, C. F. Maguire, D. Whitehouse, C. Witzig, and S. Sorensen
Title: Author&): Submitted to: Shlaer-Mellor Object-Menta Analysis and Recursive Design, an Effective Modem Software Development Method for Development of Computing Systems for a Large Physics Detector
More informationIntroduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process
Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative
More information3.0 Object-Oriented Modeling Using UML
3.0 Object-Oriented Modeling Using UML Subject/Topic/Focus: Introduction to UML Summary: History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process Literature:
More informationSystems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development
More informationProgramming Language Constructs as Basis for Software Architectures
Programming Language Constructs as Basis for Software Architectures 1 From individual parts to components In the 50s: Machine/Assembler programs: bound to specific hardware In the 60s-70s: Higher programming
More informationDesigning for Change
Designing for Change Peter Grogono Department of Computer Science Concordia University 1455 de Maisonneuve Blvd West Montréal, Québec H3G 1M8 grogono@cs.concordia.ca Abstract The ambition of every designer
More informationUsing the UML to Describe Design Patterns
Proceedings of the 16 th Annual NACCQ, Palmerston North New Zealand July, 2003 (eds) Mann, S. and Williamson, A. www.naccq.ac.nz Using the UML to Describe Design Patterns ABSTRACT to describe patterns
More informationMethods for requirements engineering
Methods for requirements engineering Objectives To explain the role of methods and techniques in requirements engineering To introduce data-flow modelling To introduce semantic data modelling To introduce
More informationFunctional Modeling with Data Flow Diagrams
Functional Modeling with Data Flow Diagrams Amasi Elbakush 5771668 Teaching Assistant : Daniel Alami Utrecht University 1 Introduction Data Flow Diagrams (DFDs) are a visual representation of the flow
More informationINTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling
User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use
More informationSystem Analysis and Design
System Analysis and Design 1 Introduction to Software Engineering Building Software is a complex exercise. Software is produced in several stages. Each stage attempts to deal with a different aspect of
More informationObject-oriented patterns. by Peter Coad
Communications of the ACM Sept 1992 v35 n9 p152(8) Page 1 by Peter Coad Object-oriented analysis (OOA) and object-oriented design (OOD) rely on classes and objects as the lowest level building blocks.
More informationChapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1
Object Oriented Methodologies Chapter 4 Sahaj Computer Solutions Object Oriented Systems Development 1 Chapter Objectives Object Oriented Methodologies The Rumbaugh et al. OMT The Booch Methodology Jacobson
More informationResearch Review on Basic Principles of Unified Modelling Language
Research Review on Basic Principles of Unified Modelling Language Agha Salman Haider Sr Lecturer, Jazan University, Saudi Arabia Abstract This paper presents review of concepts, ideas and the introduction
More informationProgramming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015
Programming Language Constructs as Basis for Software Architectures 1 From individual parts to components In the 50s: Machine/Assembler programs: bound to specific hardware In the 60s-70s: Higher programming
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationOn UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture
Vol. 4, No. 6 Special issue: Use Case Modeling at UML-2004 On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Sadahiro Isoda, Toyohashi University of Technology, Toyohashi 441-8580, Japan
More informationSRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A
SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld
More informationReferences: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 9/25/ UML
References: Jacquie Barker,Beginning Java Objects; Martin Fowler, Distilled, 9/25/2003 1 Programming is like building a house. An architect creates a design, and a builder uses appropriate tools to carry
More informationOO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado
OO Requirements to OO design Csaba Veres Alan M. Davis (1995), Colorado Alan Davis? Guru? Academic and professional www.omni-vista.com? Controversial article on research into requirements engineering Requirements
More informationFramework Component Systems: Concepts, Design Heuristics, and Perspectives
Framework Component Systems: Concepts, Design Heuristics, and Perspectives Wolfgang Pree, Gustav Pomberger C. Doppler Laboratory for Software Engineering Johannes Kepler University Linz, A-4040 Linz, Austria
More informationObject-Oriented Analysis and Design Using UML
Object-Oriented Analysis and Design Using UML An Introduction to Unified Process and Design Patterns Mahesh P. Matha Object-Oriented Analysis and Design Using UML Object-Oriented Analysis and Design Using
More informationACM SIGSOFT Software Engineering Notes vol 28 no 2 March 2003 Page 1
ACM SIGSOFT Software Engineering Notes vol 28 no 2 March 2003 Page 1 A Brief History of the Object-Oriented Approach Luiz Fernando Capretz University of Western Ontario Department of Electrical & Computer
More informationLecture 2: Software Engineering (a review)
Lecture 2: Software Engineering (a review) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture is
More informationDEVELOPMENT THE QUARKS OBJECT-ORIENTED. Even though object-oriented development was introduced in the late 1960s
THE QUARKS OBJECT-ORIENTED A two-construct taxonomy is used to define the essential elements of object orientation through analysis of existing literature. By Deborah J. Armstrong of DEVELOPMENT Even though
More informationOn the Purpose of Object-Oriented Analysis
September 29 On the Purpose of Object-Oriented Analysis The What and How of what Geir Høydalsvik & Guttorm Sindre. The Norwegian Institute of Technology A critical look at: What is this about? The relationship
More informationOOREA: An Object-Oriented Resources, Events, Agents Model for Enterprise Systems Design
Association for Information Systems AIS Electronic Library (AISeL) ICIS 2004 Proceedings International Conference on Information Systems (ICIS) December 2004 OOREA: An Object-Oriented Resources, Events,
More informationThe COMMA project: rst steps. B. Henderson-Sellers and A. Bulthuis
Manuscript: ROAD962.TEX The COMMA project: rst steps B. Henderson-Sellers and A. Bulthuis School of Computing Sciences, University of Technology, Sydney, Broadway, NSW, Australia Current a±liation: Utopics,
More informationAn Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram
An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram After studying this chapter you should be able to: Define an object. Understand the terms
More informationObject Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay
Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements
More informationModeling the Dialogue Aspects of an Information System
Association for Information Systems AIS Electronic Library (AISeL) ECIS 2000 Proceedings European Conference on Information Systems (ECIS) 2000 Modeling the Dialogue Aspects of an Information System M.
More informationThe Music Notation Toolkit: A Study in Object- Oriented Development
Proceedings of the NACCQ 2000 Wellington NZ www.naccq.ac.nz ABSTRACT The Music Notation Toolkit: A Study in Object- Oriented Development Central Institute of Technology Upper Hutt New Zealand andrew.eales@cit.ac.nz
More informationObject-Oriented Architectures for Electronic Commerce
Object-Oriented Architectures for Electronic Commerce Concepts and Development Heuristics Wolfgang Pree C. Doppler Laboratory for Software Engineering Johannes Kepler University Linz, A-4040 Linz, Austria
More informationLecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802
UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1
More informationTransactions on Engineering Sciences vol 3, 1993 WIT Press, ISSN
Object-oriented data model for computer aided design in electrical engineering I. Salomie," D.G. Elliman* Computer Science and Engineering Department, Technical Romania & Computer Science Department, University
More informationReferences: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 1/13/ UML
References: Jacquie Barker,Beginning Java Objects; Martin Fowler, Distilled, 1/13/2004 1 Programming is like building a house. An architect creates a design, and a builder uses appropriate tools to carry
More informationAN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL. Fiona Rohde. Department of Commerce The University of Queensland, 4072.
AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL Fiona Rohde Department of Commerce The University of Queensland, 4072. Australia ABSTRACT Within the discipline of information systems, numerous
More informationOBJECT ORIENTED MODELLING, A MODELLING METHOD OF AN ECONOMIC ORGANIZATION ACTIVITY
OBJECT ORIENTED MODELLING, A MODELLING METHOD OF AN ECONOMIC ORGANIZATION ACTIVITY TĂNĂSESCU ANA, ASSOCIATE PROFESSOR PHD, PETROLEUM AND GAS UNIVERSITY OF PLOIEŞTI, FACULTY OF ECONOMIC SCIENCES, ROMANIA,
More informationSoftware Engineering
Software Engineering A systematic approach to the analysis, design, implementation and maintenance of software. Software Development Method by Jan Pettersen Nytun, page 1 Software Engineering Methods Most
More informationA Comparison of the Booch Method and Shlaer-Mellor OOA/RD
A Comparison of the Booch Method and Shlaer-Mellor OOA/RD Stephen J. Mellor Project Technology, Inc. 7400 N. Oracle Rd., Suite 365 Tucson Arizona 85704 520 544-2881 http://www.projtech.com 2 May 1993 The
More informationProposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML
Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Tetsuro Katayama Department of Computer Science and Systems Engineering, Faculty of Engineering, Miyazaki University
More informationHyperFrame - A Framework for Hypermedia Authoring
HyperFrame - A Framework for Hypermedia Authoring S. Crespo, M. F. Fontoura, C. J. P. Lucena, D. Schwabe Pontificia Universidade Católica do Rio de Janeiro - Departamento de Informática Universidade do
More informationSoftware Service Engineering
Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language
More informationReading List for Object Oriented Technology
Reading List for Object Oriented Technology 1. Developments in Design Methodology, p. 357, John Wiley & Sons (Out of Print), New York, 1984. This is a collection of papers on design methodology. It includes
More informationIntegrating UML and SOFL for Object-Oriented Design
Integrating UML and SOFL for Object-Oriented Design Shaoying Liu Department of Computer Science Hosei University, Tokyo, Japan Email: sliu@k.hosei.ac.jp Abstract This paper presents a decompositional approach
More informationObject Oriented Systems Analysis And Design Using Uml
OBJECT ORIENTED SYSTEMS ANALYSIS AND DESIGN USING UML PDF - Are you looking for object oriented systems analysis and design using uml Books? Now, you will be happy that at this time object oriented systems
More informationIntegrating Systems and Software Engineering Concepts in AP-233
Integrating Systems and Software Engineering Concepts in AP-233 Asmus Pandikow, Erik Herzog, Anders Törne Real-Time Systems Laboratory Linköpings Universitet 581 83 Linköping, Sweden E-mail: {asmpa, erica,
More informationRequirements Engineering for Enterprise Systems
Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2001 Proceedings Americas Conference on Information Systems (AMCIS) December 2001 Requirements Engineering for Enterprise Systems
More informationDomain Engineering And Variability In The Reuse-Driven Software Engineering Business.
OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective
More informationIntroduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz
Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz ESE Introduction Lecturer Assistants Lectures Exercises WWW Prof. Oscar Nierstrasz scg.unibe.ch/oscar Erwann Wernli Aaron
More informationObject Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay
Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements
More informationOBJECT-ORIENTED MODELING AND DESIGN. Introduction
OBJECT-ORIENTED MODELING AND DESIGN Introduction Contents: Introduction. Course Relevance Learning Outcomes Overview of the syllabus Introduction to Object Orientation Introduction Object Oriented Approach
More informationA Meta-Model for Composition Techniques in Object-Oriented Software Development
A Meta-Model for Composition Techniques in Object-Oriented Software Development Bedir Tekinerdogan Department of Computer Science University of Twente P.O. Box 217, 7500 AE Enschede, The Netherlands E-Mail:
More informationLecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 17 Concepts of Object Oriented Design Object-Oriented
More informationObject-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts
Object-Oriented Analysis and Design Analysis vs. Design Analysis Activities Finding the Objects/ Classes An Analysis Example The Unified Modeling Language Pre-UML Situation Early 90s Explosion of OO methods/notations
More informationOBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis
UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance
More informationUsing Ontological Ideas to Facilitate the Comparison of Requirements Elicitation Methods
Association for Information Systems AIS Electronic Library (AISeL) ACIS 2001 Proceedings Australasian (ACIS) 2001 Using Ontological Ideas to Facilitate the Comparison of Requirements Elicitation Methods
More informationA Taxonomic Class Modeling Methodology for Object-Oriented Analysis
A Taxonomic Class Modeling Methodology for Object-Oriented Analysis Il-Yeol Song, Kurt Yano, Drexel University, USA Juan Trujillo and Sergio Luján Mora, University of Alicante, Spain ABSTRACT Discovering
More informationInteroperability in the JVM and CLR Engines for Cross Languages Application Developments
Volume 5, No. 7, September-October 2014 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info ISSN No. 0976-5697 Interoperability in the JVM
More informationComparative Analysis of Architectural Views Based on UML
Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 12 pages Comparative Analysis of Architectural Views Based on UML Lyrene Fernandes
More informationHistory of object-oriented approaches
Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented
More informationSoftware Engineering
Software Engineering Object-Oriented Analysis and Design and Modeling with UML Assoc. Prof. Marenglen Biba MSc in Computer Science, UoG-UNYT Foundation Programme 3-1 Material Get the material from http://www.marenglenbiba.net/foundprog/
More informationVragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity
Vragen Intra-modular complexity measures Wat wordt bedoeld met het ontwerpsprincipe: Anticipate obsolence? Wat is het voordeel van strong cohesion en weak coupling? Wat is het gevolg van hoge complexiteit
More informationA Taxonomic Class Modeling Methodology for Object-Oriented Analysis
A Taxonomic Class Modeling Methodology for Object-Oriented Analysis Il-Yeol Song, Kurt Yano, Drexel University, USA Juan Trujillo and Sergio Luján-Mora, University of Alicante, Spain ABSTRACT Discovering
More informationStrategies to Deal with Complexity in Information Systems Development
Strategies to Deal with Complexity in Information Systems Development João A. CARVALHO Information Systems Department, School of Engineering and Algoritmi R&D Centre, University of Minho, 4800-058 Guimarães,
More informationA Unified Model of the Electrical Power Network
A Unified Model of the Electrical Power Network K C P Wong, H M Ryan, J Tindle University of Sunderland, UK ABSTRACT Traditionally, the different infrastructure layers, technologies and management activities
More informationInformation Systems Development Methodologies
Information Systems Development Methodologies 20 23..............1 23..... 1.1 23...... 2.1 23..... 3.1 24......... 4.1 24... 5.1 25....2 25... Classical Approach 1.2 26... Structured Approach 2.2 27..
More informationTTool Training. I. Introduction to UML
TTool Training I. Introduction to UML Ludovic Apvrille ludovic.apvrille@telecom-paris.fr Eurecom, Office 223 Ludovic Apvrille TTool Training - 2004. Slide #1 Outline of the Training Introduction to UML
More informationMcGregor & Korson -June 4, 1994
Dr. John D. McGregor is an associate professor of computer science at Clemson University and a Principal Partner in Software Architects, a consulting firm that specializes in object technology. With David
More informationACTIVITY-BASED CLASS DESIGN: AN ANALYTICAL METHOD FOR DERIVING OBJECT-ORIENTED CLASSES
ACTIVITY-BASED CLASS DESIGN: AN ANALYTICAL METHOD FOR DERIVING OBJECT-ORIENTED CLASSES Dr. Yousif Mustafa, West Liberty State College, ymustafa@wlsc.edu Dr. Ayodele Awofala, DaimlerChrysler Corporation,
More informationUSE CASE BASED REQUIREMENTS VERIFICATION
USE CASE BASED REQUIREMENTS VERIFICATION Verifying the consistency between use cases and assertions Stéphane S. Somé, Divya K. Nair School of Information Technology and Engineering (SITE), University of
More informationANSAwise - Object-Oriented Methods for Distributed Systems
Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk Training ANSAwise - Object-Oriented
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationAvailable online at ScienceDirect. Procedia Computer Science 56 (2015 )
Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 56 (2015 ) 612 617 International Workshop on the Use of Formal Methods in Future Communication Networks (UFMFCN 2015) A
More informationKeywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.
Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad
More informationA STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN
A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN GARJE RAKESH RAMESHRAO RESEARCH SCHOLAR, DEPT. OF COMPUTER SCIENCE CMJ UNIVERSITY, SHILLONG, MEGHALAYA INTRODUCTION Object-oriented Analysis and Design is
More information