Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of.

Slides:



Advertisements
Similar presentations
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Advertisements

Activity Diagrams [Arlow and Neustadt, 2005] CS 425 / 625 Seminar on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering.
Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno Department of Computer Science.
Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno.
1 CS 426 Senior Projects Chapter 4: Use Case Modeling [Arlow and Neustadt, 2002] February 8, 2007.
1 CS 426 Senior Projects Chapter 9: Relationships Chapter 10: Inheritance and Polymorphism [Arlow and Neustadt, 2005] February 12, 2009.
1 CS 426 Senior Projects Chapter 19: Interfaces and Components [Arlow & Neustadt 2005] February 28, 2008.
1 CS 426/CPE 426 Senior Projects Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2002] February 13, 2007.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
1 CS 426 Senior Projects Chapter 7: Classes and Objects & Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2002] February 14, 2006.
Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] CS 426/CPE 426 Senior Projects University of Nevada, Reno Department of Computer Science.
1 CS 426 Senior Projects Chapter 9: Relationships Chapter 10: Inheritance and Polymorphism [Arlow and Neustadt, 2002] February 27, 2007.
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
1 CS 426 /CPE 426 Senior Projects Chapter 7: Classes and Objects & Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] February 19, 2008.
1 CS 426/CPE 426 Senior Projects Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] February 14, 2008.
1 CS 426 Senior Projects Chapter 4: Use Case Modeling [Arlow and Neustadt, 2005] February 5, 2009.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The chapter will address the following questions:
Objects What are Objects Observations
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Lecture 6: Structural Modeling
UML-1 4. Architecture. UML-2 Artifact: Analysis Class Abstraction of one or several classes or subsystems –Focuses on handling functional requirements.
Chapter 4: Use Case Modeling [Arlow and Neustadt, 2005] CS 790M Project preparation (II) University of Nevada, Reno Department of Computer Science & Engineering.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
1 Structural Modeling Chapter 7. 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes.
Design Model Lecture p6 T120B pavasario sem.
Introduction to OOAD and the UML
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Chapter 19: Interfaces and Components [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering.
Finding Analysis Classes Analyze Use-cases and other artifacts to obtain Analysis classes, relationships, and behavior diagrams.
Chapter 14: Activity Diagrams November 2015 [Arlow and Neustadt, 2005] CS 425/625 Senior Projects University of Nevada, Reno Department of Computer Science.
OOP Review CS 124.
Object Modeling THETOPPERSWAY.COM. Object Modelling Technique(OMT)  Building a model of an application domain and then adding implementation.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Chapter 6: The Analysis Workflow Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426 Senior Projects in.
Chapter 9: Relationships Chapter 10: Inheritance and Polymorphism [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada,
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
UML Diagrams: Class Diagrams The Static Analysis Model
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Chapter 4: Use Case Modeling
OO Domain Modeling With UML Class Diagrams and CRC Cards
Chapter 3: The Requirements Workflow
Chapter 19: Interfaces and Components
CS 426 Senior Projects Chapter 9: Relationships
Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes
Chapter 5: Advanced Use Case Modeling
Chapter 4: Use Case Modeling
Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes
Chapter 19: Interfaces and Components
Chapter 19: Interfaces and Components
Copyright 2007 Oxford Consulting, Ltd
Chapter 4: Use Case Modeling
Software Analysis.
CS 420/620 HCI Use Case Modeling Project Preparation
CS 425 Software Engineering
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CS 425/625 Software Engineering
Interfaces and Components
Chapter 19: Interfaces and Components
Presentation transcript:

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

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

3  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  Fig. 7.2 [Arlow & Neustadt, 2005]

5  Figure 7.3 [Arlow & Neustadt, 2005]

6  Figure 7.4 [Arlow & Neustadt, 2005]

7  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  Figure 7.5 [Arlow & Neustadt, 2005] Classifying objects  determining classes

9  Figure 7.6 [Arlow & Neustadt, 2005] > relationship

10  The > 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  Figure 7.7 [Arlow & Neustadt, 2005]

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

13  Table 7.3 [Arlow & Neustadt, 2005]. Visibility types

14

15  Figure 7.10 [Arlow & Neustadt, 2005] Operations

16  Figure 7.14 [Arlow & Neustadt, 2005] Class stereotypes

17  Figure 7.16 [Arlow & Neustadt, 2005] Constructors  Figure 7.15 [Arlow & Neustadt, 2005] Class Scope

18  Figure 8.2 [Arlow & Neustadt, 2005]

19  Figure 8.3 [Arlow and Neustadt, 2005] Example of Analysis Class

20  What makes a good analysis class?  Its name reflects its intent  It is a crisp abstraction that models a specific aspect of the problem domain  It maps to a clearly identifiable feature of the problem domain  It has a small, well-defined set of responsibilities  It has high cohesion  It has low cohesion

21  Analysis classes rules of thumb:  About 3-5 responsibilities per class  No class stands alone  Avoid: ▪ Many very small classes ▪ Very large classes ▪ Functoids (procedural functions disguised as classes) ▪ Omnipotent classes ▪ Deep inheritance trees

22  Finding classes by using noun/verb analysis:  Nouns: candidates for classes or attributes  Verbs and verb phrases: candidates for operations or responsibilities  Beware of spurious and hidden classes  Sources of information ▪ Requirements model ▪ Use case model ▪ Project glossary ▪ Anything else (architecture, concept documents, etc.)

23  Finding classes by using CRC analysis  Phase 1 – Brainstorming  Phase 2: Analysis Figure 8.4 [Jim Arlow and Ila Neustadt, 2005]: Brainstorming, part of CRC analysis

24  Finding analysis classes by using RUP stereotypes:

25  Used to model interactions between system and its actors and collect requirements on system’s boundaries  Look at user, system, and device interfaces  Often represent windows, screens, APIs [Kendall V. Scott]

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

27  Used to model long-lived/persistent information [Kendall V. Scott]  Cut across many use cases, are manipulated by control claasses, provide info to and accept info from boundary classes

28  Finding classes by from other sources: ▪ Real world entities: ▪ Physical objects (e.g., aircraft, people, hotel) ▪ Paperwork (e.g., invoice, fill-in-form, bankbook) ▪ Known interfaces such as screens, keyboards, peripherals ▪ Conceptual entities such as LoyaltyProgram or RewardsCard ▪ Archetype patterns, for example: ▪ Inventory ▪ Money ▪ Order ▪ Party ▪ Product