The next few sections present solutions for Part IV.
The following describes the figure:
Organization
is a stereotype definition that
applies to classes.
Made Of
is a stereotype definition that applies to
associations.
The Organization
stereotype has a tag definition
named Name
. This is a string that represents the
name of the organization.
The Made
Of
stereotype has a
tag definition named String
. This is a string that
describes the relationship between an organization and the things
that make up the organization.
The Organization
stereotype defines two
constraints indicating that the name of the organization must not be
an empty string, and that the organization must be made of at least
one other thing (any thing).
The Made Of
stereotype defines a constraint
indicating that the description of the relationship between an
organization and the thing that makes up the organization must not be
an empty string.
The following describes the figure:
The Business
class is stereotyped as an
organization using the Organization
stereotype.
The Team
class is stereotyped as an organization
using the Organization
stereotype.
The Business
class is associated with the
Team
class in which the association is stereotyped
using the Made Of
stereotype.
The Team
class is associated with the
Person
class where the association is stereotyped
using the Made Of
stereotype.
The Person
class is not stereotyped.
The following describes the figure:
Publisher
is an object of the
Business
class and is stereotyped using the
Organization
stereotype. It has the tagged value
of “O’Reilly” for
its Name
tag.
Marketing
is an object of the
Team
class and is stereotyped using the
Organization
stereotype. It has the tagged value
of “Nutshell Marketing Team” for
its Name
tag.
Production
is an object of the
Team
class and is stereotyped using the
Organization
stereotype. It has the tagged value
of “Nutshell Production Team” for
its Name
tag.
The Marketing
object is linked with the
Publisher
object in which the link is stereotyped
using the Made Of
stereotype.
The Production
object is linked with the
Publisher
object in which the link is stereotyped
using the Made Of
stereotype.
The Si
object is linked with the
Marketing
and Production
objects in which the links are stereotyped using the Made Of
stereotype.
The Jonathan
object is linked with the
Production
object in which the link is stereotyped
using the Made Of
stereotype.
The Andy
object is linked with the
Production
object in which the link is stereotyped
using the Made Of
stereotype.
The Description
tag of each link that is
stereotyped using the Made Of
stereotype has a
tagged value of “TBD” (to be
determined).
The following steps show the solution:
Figure B-50 shows the figure.
Figure B-51 shows the figure.
The following steps show the solution:
Figure B-52 shows the figure.
Figure B-53 shows the figure.
Figure B-54 shows the resulting diagram, which includes all the steps in this question.
The following steps show the solution:
Figure B-55 shows the figure.
Figure B-56 shows the figure.
Figure B-57 shows the resulting diagram, which includes all the steps in this question.
The following describes the figure:
The figure captures the relationships among and details about projects, plans, teams, people, skills, and people’s roles on teams and people’s experience with skills in the project management system.
A plan relates to a single project, a single team, and zero or more people who are human resources of the plan.
A project relates to a single plan and relates to a single team.
A team relates to a single plan and relates to a single project.
A person relates to a single plan.
A team relates to zero or more people as members of the team in which a person plays a role. A person relates to a single team where the person plays a role.
A skill relates to zero or more people and a person relates to zero or more skills in which the person has experience with the skill.
A project has a name that is a string, a start date that is a string, an end date that is a string, a budget that is a real number, and two operations to retrieve the start date and end date of the project.
A team has a name that is a string.
A person has an identification number that is an integer and a name that is a string.
A skill has a name that is a string and a priority that is a string.
The relationship between a person and a team defines the title as a string of the role that the person plays on the team.
The relationship between a person and a skill defines the years of experience as a real number that the person has with the skill.
All the attributes and operations are public, but a project’s start and end dates are private.
The following describes the rules:
The priority of a skill must be one of the following:
High
, Medium
, or
Low
.
The budget of a project must be between 100,000 and 500,000, inclusive.
The name of a team given a role may not be an empty string.
The identification number of a person given a role must be greater than 0 and less than 9999.
The identification number of each member of a team must be greater than 0 and less than 9999.
The identification number of each member of a team must be greater than 0 and less than 9999.
The identification number of each human resource who relates to the plan of a team must be greater than 0 and less than 9999.
The following expressions result:
Within the context of a role, the following expression results:
self.Title = 'Analyst' or self.Title = 'Architect' self.Title = 'Designer' or self.Title = 'Developer' or self.Title = 'Tester' or self.Title = 'Manager'
The keyword self
is optional and the expressions
on either side of the =
symbol may be
interchanged, but keep in mind this does not apply to
>
or <
symbols, and the
expressions on both sides of the or
logical
operator may be interchanged.
Within the context of experience, the following expression results:
self.Years >= 5
The keyword self
is optional and the expressions
on either side of the >=
symbol may be
interchanged (in which case the >=
symbol
becomes the <=
symbol).
Within the context of a project, the following expression results:
self.StartDate = self.plan.StartDate and self.EndDate = self.plan.EndDate
Or the following expression results:
self.getStartDate () = self.plan.StartDate and self.getEndDate ( ) = self.plan.EndDate
The keyword self
is optional and the expressions
on either side of the =
symbol may be
interchanged, but keep in mind this does not apply to
>
or <
symbols, and the
expressions on both sides of the and
logical
operator may be interchanged. Notice that the operations to retrieve
the start and end dates of a project may be used but are not
required, because the rule is expressed within the context of a
project.
Within the context of a plan, the following expression results:
self.StartDate = self.project.getStartDate ( ) and self.EndDate = self. project.getEndDate ( )
The keyword self
is optional and the expressions
on either side of the =
symbol may be
interchanged, but keep in mind this does not apply to
>
or <
symbols, and the
expressions on both sides of the and
logical
operator may be interchanged. Notice that the operations to retrieve
the start and end dates of a project are used, because the start and
end date attributes are private in the project and the rule is
expressed within the context of a plan.
Within the context of a person, the following expression results:
self.team.plan = self.plan
The keyword self
is optional and the expressions
on both sides of the =
symbol may be interchanged,
but keep in mind this does not apply to >
or
<
symbols.
Within the context of a person, the following expression results:
self.team.plan = self.plan and self.team.project.plan = self.plan
The keyword self
is optional and the expressions
on either side of the =
symbol may be
interchanged, but keep in mind this does not apply to
>
or <
symbols, and the
expressions on both sides of the and
logical
operator may be interchanged.
Within the context of a project, any of the following expressions results:
self.project.plan = self.plan self.project = self.plan.project self.project.plan.team = self self.plan.project.team = self
The keyword self
is optional in the first two
expressions but is required in the last two expressions following the
=
symbol, and the expressions on either side of
the =
symbol may be interchanged, but keep in mind
this does not apply to the >
or
<
symbols.
3.136.154.103