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.
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).
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