10.4 Exercises

Solutions to these exercises are supplied in Section B.3.2

  1. Describe Figure 10-7: identify classes and associations, including their attributes and operations.

    Figure 10-7. Projects, teams, plans, people, and skills
    figs/Luml_1007.gif
  2. With respect to Figure 10-7, describe the following rules:

    1. Within the context of a skill:

      self.Priority = "High" or self.Priority = "Medium" or self.Priority = "Low"
    2. Within the context of a project:

      self.Budget >= 100000 and Budget <= 500000
    3. Within the context of a role:

      self.team.Name <> ''
    4. Within the context of a role:

      self.member.ID > 0 and self.person.ID < 9999
    5. Within the context of a team:

      self.member->forAll (p : Person | p.ID > 0 and p.ID < 9999)
    6. Within the context of a team:

      self.person->forAll (p : Person | p.ID > 0 and p.ID < 9999)
    7. Within the context of a team:

      self.plan.humanResource->forAll (p : Person | p.ID > 0 and p.ID < 9999)
  3. Describe how to capture the following rules using Figure 10-7.

    1. Within the context of a role, a title must be one of the following: Analyst, Architect, Designer, Developer, Tester, or Manager.

    2. Within the context of experience, a person must have at least five years of experience.

    3. Within the context of a project, its start and end dates must match its plan's start and end dates.

    4. Within the context of a plan, its start and end dates must match its project's start and end dates.

    5. Within the context of a person, a person and a team that relate to one another must relate to the same plan.

    6. Within the context of a person, a person, team, and project that relate to one another must relate to the same plan.

    7. Within the context of a team, the plan that relates to the team and the project that relates to the team must be related to one another.