1 / 24

Understanding Classes and Objects in Object-Oriented Analysis

This chapter provides a comprehensive overview of classes and objects within object-oriented analysis, following the framework established by Arlow and Neustadt. It covers essential concepts such as UML notation for classes and objects, the roles of identity, state, and behavior in objects, and the importance of proper classification schemes. Additionally, it discusses relationships between classes and objects, including dependency and instantiation. The chapter emphasizes the identification and analysis of classes using RUP stereotypes and provides numerous UML visual aids to enhance understanding.

ornice
Télécharger la présentation

Understanding Classes and Objects in Object-Oriented Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 426 /CPE 426 Senior Projects Chapter 7: Classes and Objects & Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] February 10, 2009

  2. Outline • Objects • UML Notation for Objects • Classes • UML Notation for Classes • UP Activity: Analyze Use Cases • Analysis Classes • Finding Analysis Classes

  3. Objects • Object = “A discrete entity with well-defined boundary that encapsulates state and behavior, an instance of a class” [J. Rumbaugh] • Properties of objects: • Identity • State • Behavior

  4. Objects: Encapsulation • Fig. 7.2 [Arlow & Neustadt, 2005]

  5. Objects: Messaging • Figure 7.3 [Arlow & Neustadt, 2005]

  6. Objects: UML Notation • Figure 7.4 [Arlow & Neustadt, 2005]

  7. Classes • Class = “The descriptor for a set of objects that share the same attributes, operations, methods, relationships, and behavior” [J. Rumbaugh] • Every object is an instance of exactly one class • Choosing the right classification scheme is a key factor in object-oriented analysis and design

  8. Classes: Classification of Objects • Figure 7.5 [Arlow & Neustadt, 2005] Classifying objects  determining classes

  9. Classes: Relationship with Objects. • Figure 7.6 [Arlow & Neustadt, 2005] <<instantiate>> relationship

  10. Classes: .Relationship with Objects • The <<instantiate>> relationship is a stereotype of the dependency relationship • Dependency: “A relationship between two elements in which a change to one element (the supplier) may affect or supply information needed by the other element (the client)”.

  11. Classes: UML Notation…… • Figure 7.7 [Arlow & Neustadt, 2005]

  12. Classes: .UML Notation….. • Figure 7.8 [Arlow & Neustadt, 2005] The attribute compartment

  13. Classes: ..UML Notation…. • Table 7.3 [Arlow & Neustadt, 2005]. Visibility types

  14. Classes: …UML Notation…Table 7.4 [Arlow & Neustadt, 2005]: Visibility semantics in UML, Java and C#

  15. Classes: ….UML Notation.. • Figure 7.10 [Arlow & Neustadt, 2005] Operations

  16. Classes: …..UML Notation. • Figure 7.14 [Arlow & Neustadt, 2005] Class stereotypes

  17. Classes: ……UML Notation • Figure 7.16 [Arlow & Neustadt, 2005] Constructors • Figure 7.15 [Arlow & Neustadt, 2005] Class Scope

  18. Classes: Analysis Classes… • Figure 8.2 [Arlow & Neustadt, 2005]

  19. Classes: .Analysis Classes.. • Figure 8.3 [Arlow and Neustadt, 2005] Example of Analysis Class

  20. Classes: ..Analysis Classes. • Figure 8.4 [Jim Arlow and Ila Neustadt, 2005] Brainstorming, part of CRC analysis technique

  21. Classes: …Analysis Classes • Finding analysis classes by using RUP stereotypes:

  22. Boundary Classes • Used to model interactions between system and its actors and collect requirements on system’s boundaries • Often represent windows, screens, APIs [Kendall V. Scott]

  23. Control Classes • Used to encapsulate control related to a specific use case • Represent coordination, sequencing, transactions, and control of other objects [Kendall V. Scott]

  24. Entity Classes • Used to model long-lived/persistent information [Kendall V. Scott]

More Related