24
Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno Department of Computer Science & Engineering

Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

  • View
    226

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

Chapter 7: Classes and ObjectsChapter 8: Finding Analysis Classes

[Arlow and Neustadt, 2005]

CS 426/CPE 426 Senior Projects

University of Nevada, RenoDepartment of Computer Science & Engineering

Page 2: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

2 / 15

Outline

Objects UML Notation for Objects Classes UML Notation for Classes UP Activity: Analyze Use Cases Analysis Classes Finding Analysis Classes

Page 3: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

3 / 15

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

Page 4: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

4

Objects: Encapsulation

Fig. 7.2 [Arlow & Neustadt, 2005]

Page 5: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

5

Objects: Messaging

Figure 7.3 [Arlow & Neustadt, 2005]

Page 6: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

6

Objects: UML Notation

Figure 7.4 [Arlow & Neustadt, 2005]

Page 7: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

7 / 15

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

Page 8: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

8

Classes: Classification of Objects

Figure 7.5 [Arlow & Neustadt, 2005]Classifying objects determining classes

Page 9: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

9

Classes: Relationship with Objects. Figure 7.6 [Arlow & Neustadt, 2005]

<<instantiate>> relationship

Page 10: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

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)”.

Page 11: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

11

Classes: UML Notation……

Figure 7.7 [Arlow & Neustadt, 2005]

Page 12: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

12

Classes: .UML Notation…..

Figure 7.8 [Arlow & Neustadt, 2005]The attribute compartment

Page 13: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

13

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

Page 14: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

14

Classes: …UML Notation…

Page 15: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

15

Classes: ….UML Notation..

Figure 7.10 [Arlow & Neustadt, 2005] Operations

Page 16: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

16

Classes: …..UML Notation. Figure 7.14 [Arlow & Neustadt, 2005]

Class stereotypes

Page 17: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

17

Classes: ……UML Notation

Figure 7.16 [Arlow & Neustadt, 2005]Constructors

Figure 7.15 [Arlow & Neustadt, 2005]Class Scope

Page 18: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

18

Classes: Analysis Classes…

Figure 8.2 [Arlow & Neustadt, 2005]

Page 19: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

19

Classes: .Analysis Classes..

Figure 8.3 [Arlow and Neustadt, 2005]

Example of Analysis Class

Page 20: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

20

Classes: ..Analysis Classes.

Figure 8.4 [Jim Arlow and Ila Neustadt, 2005] Brainstorming, part of CRC analysis technique

Page 21: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

21

Classes: …Analysis Classes

Finding analysis classes by using RUP stereotypes:

Page 22: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

22 / 15

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]

Page 23: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

23 / 15

Control Classes

Used to encapsulate control related to a specific use case

Represent coordination, sequencing, transactions, and control of other objects[Kendall V. Scott]

Page 24: Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno

24 / 15

Entity Classes

Used to model long-lived/persistent information [Kendall V. Scott]