OO Objects (PPT 9-10) Flashcards

1
Q

What is a class?

A

Represents all objects within the problem domain that share the characteristics and behaviour of a concept, e.g. a customer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is an object?

A

It is an instance of a class/concept. All instances of the object share the same attributes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What can objects do?

A

They can provide and perform operations. This allows them to be called upon to do specific duties. They can also collaborate and send messages between other objects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a class diagram?

A

It is a visual model of the problem domain and a potential design for the system. Allows us to capture our understanding, test and communicate our thoughts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What types of things can be classes?

A
  • Tangible or physical things
  • Types of roles played by people, places or organisations
  • Incidents or events
  • Transactions
  • Policies, processes and/or algorithms
  • Specifications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are Specification Classes?

A

They are general classes usually used for inventory systems, such as products. Can distinguish between objects which provide a specification and objects which meet the specification

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are some techniques for identifying classes?

A
  • Larmans Conceptual Class Categories

- Noun analysis

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the class categories in Larmans?

A
  • Physical things
  • Types of people
  • Places
  • Catalogues, containers
  • Transactions
  • Product or service related to transaction
  • Other systems we integrate with
  • Other
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are some ways we can refine noun candidate classes?

A
Redundant Concepts
-Two nouns refer to the same concept
Irrelevant Concepts
-Outside the scope of the system
Vague or Too broad in scope
Attributes of another class
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the three types of class we may have?

A
  • Entity class
  • Boundary class
  • Control class
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is an entity class?

A

It is a class which represents things which are long lived, application independent and usually real world entities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a boundary class?

A

It is a class which handles communication between the external world and the system. May also link to other systems or electro-mechanical systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a control class?

A

It is a class which coordinates events within the system. It delegates and knows when to do things, not how

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are analysis patterns?

A

They are distilled experiences of recurring problems during the analysis of systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Give an example of an analysis pattern

A

The quantity pattern: Is a cost a more complex concept than it seems?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is responsibility driven design?

A

Classes should have a single, clearly defined responsibility. Their attributes and operations should be strongly focused around this purpose

17
Q

What are CRC cards?

A

They are Class-Responsibility-Collaboration Cards. State the name of the class, what it does and what it works with

18
Q

What are some advantages of CRC cards?

A

Physicality
-Hold them, move them around a desk, protect them
-Pretend that you are the system
Informal
-They seem more moveable in the face of change
Portable, Inexpensive
-Post it notes, white board, etc
Qualitative Issues
-Points of difficulty, bottlenecks, gaps, new responsibilities
Size of cards
-Forces classes to have clearly defined responsibilities