Draw a class diagram representing the application domain facts below, and map it to a relational schema.

• A project involves a number of participants.
• Participants can take part in a project either as project manager, team leader, or developer.
• Within a project, each developer and team leader is part of at least one team.
• A participant can take part in many projects, possibly in different roles. For example, a participant can be
a developer in project A, a team leader in project B, and a project manager in project C. However, the
role of a participant within a project does not change.

• The key to the exercise is to create a Role class between the participant and the project.

• The association between Manager and Project is not explicit in the above facts but should be known to the

student from the definition of project manager in the book. As a one-to-one association, it can be represented as a

buried association in either the Manager or the Project table.

• Also, implicit in the above description is that each participant takes part in a project in exactly one role, which

would have to be represented with an OCL constraint and checking code. This sample solution does not take into

account this constraint in the sense that it would allow a single person to take part in the same project in multiple

roles.

Computer Science & Information Technology

You might also like to view...

The U.S. legal system is based on common law, also known as case law and English law. Case decisions create a precedent and are therefore binding on future decisions in that jurisdiction. The exception to this is ________

Fill in the blank(s) with the appropriate word(s).

Computer Science & Information Technology

When you create an array of a class type, each element of the array is a ____________ variable.

a. reference b. global c. numeric d. Boolean

Computer Science & Information Technology