Object-Oriented Analysis and Design Methods. a Comparative Review

Size: px
Start display at page:

Download "Object-Oriented Analysis and Design Methods. a Comparative Review"

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 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 information

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

Object-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 information

Software Development Methodologies

Software 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 information

A COMPARISON OF SOFTWARE REUSE SUPPORT IN OBJECT-ORIENTED METHODOLOGIES

A 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 information

Software Development Methodologies

Software 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 information

Software Development Methodologies

Software 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 information

INFORMS 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 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 information

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

OBJECT-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 information

Modeling Heuristic Rules of Methods

Modeling 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 information

Topic 13 Object-oriented Analysis

Topic 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 information

Object Oriented System Development

Object 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 information

Formal Specification Techniques in Object-Oriented Analysis: A Comparative View

Formal 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 information

Representing System Architecture

Representing 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 information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-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 information

Use Cases: the Pros and Cons

Use 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 information

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

REVIEW 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 information

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Ans 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 information

CSC 330 Object Oriented Software Design. Software Analysis Phase

CSC 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 information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 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 information

CSC 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 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 information

Roles of Developers as Part of a Software Process Model

Roles 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 information

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture

On 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 information

Representing Control Constructs in Object-Flow Process. Diagrams

Representing 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 information

Design and Evolution of an Agent-Based CASE System for OOAD

Design 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 information

T.Kozlowski, T. A. Carey, C. F. Maguire, D. Whitehouse, C. Witzig, and S. Sorensen

T.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 information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. 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 information

3.0 Object-Oriented Modeling Using UML

3.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 information

Systems 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, 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 information

Programming Language Constructs as Basis for Software Architectures

Programming 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 information

Designing for Change

Designing 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 information

Using the UML to Describe Design Patterns

Using 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 information

Methods for requirements engineering

Methods 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 information

Functional Modeling with Data Flow Diagrams

Functional 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 information

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

INTERACTION 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 information

System Analysis and Design

System 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 information

Object-oriented patterns. by Peter Coad

Object-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 information

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1

Chapter 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 information

Research Review on Basic Principles of Unified Modelling Language

Research 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 information

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015

Programming 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 information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES 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 information

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture

On 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 information

SRI 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 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 information

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 9/25/ UML

References: 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 information

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado

OO 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 information

Framework Component Systems: Concepts, Design Heuristics, and Perspectives

Framework 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 information

Object-Oriented Analysis and Design Using UML

Object-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 information

ACM 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 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 information

Lecture 2: Software Engineering (a review)

Lecture 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 information

DEVELOPMENT THE QUARKS OBJECT-ORIENTED. Even though object-oriented development was introduced in the late 1960s

DEVELOPMENT 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 information

On the Purpose of Object-Oriented Analysis

On 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 information

OOREA: An Object-Oriented Resources, Events, Agents Model for Enterprise Systems Design

OOREA: 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 information

The COMMA project: rst steps. B. Henderson-Sellers and A. Bulthuis

The 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 information

An 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 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 information

Object 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 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 information

Modeling the Dialogue Aspects of an Information System

Modeling 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 information

The Music Notation Toolkit: A Study in Object- Oriented Development

The 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 information

Object-Oriented Architectures for Electronic Commerce

Object-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 information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture 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 information

Transactions on Engineering Sciences vol 3, 1993 WIT Press, ISSN

Transactions 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 information

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 1/13/ UML

References: 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 information

AN 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. 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 information

OBJECT ORIENTED MODELLING, A MODELLING METHOD OF AN ECONOMIC ORGANIZATION ACTIVITY

OBJECT 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 information

Software Engineering

Software 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 information

A Comparison of the Booch Method and Shlaer-Mellor OOA/RD

A 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 information

Proposal 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 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 information

HyperFrame - A Framework for Hypermedia Authoring

HyperFrame - 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 information

Software Service Engineering

Software 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 information

Reading List for Object Oriented Technology

Reading 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 information

Integrating UML and SOFL for Object-Oriented Design

Integrating 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 information

Object Oriented Systems Analysis And Design Using Uml

Object 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 information

Integrating Systems and Software Engineering Concepts in AP-233

Integrating 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 information

Requirements Engineering for Enterprise Systems

Requirements 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 information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain 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 information

Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz

Introduction 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 information

Object 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 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 information

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-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 information

A Meta-Model for Composition Techniques in Object-Oriented Software Development

A 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 information

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

Lecturer: 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 information

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Object-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 information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT 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 information

Using Ontological Ideas to Facilitate the Comparison of Requirements Elicitation Methods

Using 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 information

A Taxonomic Class Modeling Methodology for Object-Oriented Analysis

A 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 information

Interoperability in the JVM and CLR Engines for Cross Languages Application Developments

Interoperability 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 information

Comparative Analysis of Architectural Views Based on UML

Comparative 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 information

History of object-oriented approaches

History 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 information

Software Engineering

Software 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 information

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Vragen. 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 information

A Taxonomic Class Modeling Methodology for Object-Oriented Analysis

A 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 information

Strategies to Deal with Complexity in Information Systems Development

Strategies 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 information

A Unified Model of the Electrical Power Network

A 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 information

Information Systems Development Methodologies

Information 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 information

TTool Training. I. Introduction to UML

TTool 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 information

McGregor & Korson -June 4, 1994

McGregor & 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 information

ACTIVITY-BASED CLASS DESIGN: AN ANALYTICAL METHOD FOR DERIVING OBJECT-ORIENTED CLASSES

ACTIVITY-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 information

USE CASE BASED REQUIREMENTS VERIFICATION

USE 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 information

ANSAwise - Object-Oriented Methods for Distributed Systems

ANSAwise - 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 information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 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 information

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Available 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 information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: 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 information

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN

A 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