Hoofdstuk 4 - Domain Modeling Flashcards

1
Q

How does domain modeling help to validate and analyze the requirements?

A
  • Role-playing scenarios help to validate the use cases
  • Model the problem domain from the customer perspective thus analyzing the requirements.
  • CRC cards are a requirements validation technique
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What’s the problem with “god classes”?

A
  • Decrease the maintainability of the code
  • Knows too much, does too much
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why are many responsibilities, many collaborators and deep inheritance hierarchies suspicious?

A

Because a class would then be doing too much, this again decreases the maintainability of the code.
Would/could turn into “god” class

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

Can you explain how role-playing works? Do you think it helps in creative thinking?

A

Create a list of scenarios, assign roles and their CRC Cards to different members, rehearse and revise the scenarios until they are clear. Role-playing makes everything clear, they are a requirement validation technique.

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

Can you compare Use Cases and CRC Cards in terms of the requirements specification process?

A

Use Cases are a requirements specification technique, CRC cards are a requirements validation technique, they complement each other.

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

Do CRC cards yield the best possible class design? Why not?

A

It will be a good design, but it might not be the best… The purpose of CRC Cards in the first place is to smooth communication and rehearsing/revising the scenarios.

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

Why are CRC cards maintained with paper and pencil instead of electronically?

A

Better communication, better for customer, easier, less official

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

What would be the main benefits for thinking in terms of “system families” instead of “one-of-a-kind development”? What would be the main disadvantages?

A

It would have a clear advantage with code reuse, but a disadvantage will occur when the family has to change. (Wired telephone –> Wireless telephone, …)

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

Can you apply scrum to develop a product line? Argue your case.

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