functionalities: (1) to define a new scheduling problem, (2) to elaborate a
time plan, and (3) to revise the time plan.
For example, the definition of a scheduling problem requires the distri-
bution clerk to specify how many carriers are available, how many areas
each carrier serves, the average duration of the delivery service in each area,
the preferred start time for each service. Similarly, the trainer should define
the equipment of the fitness club, the number of athletes who attend the
course on a given day, the sequence of exercises for each athlete, the
duration of each exercise, and the preferred start time of each exercise.
The tool should have a user friendly interface that allows the project
manager and the team members to set the temporal parameters of each
activity and to view the time plan in a graphical representation. The tool
might offer common functionalities such as saving
loading the time plan
from a permanent storage medium.
The scenarios outlined in the previous section describe two situations where
a project manager uses a scheduling tool to define a time plan for a set of
tasks carried on by the team members. Complex tasks are broken down into
activities that represent the units of work of a resource.
In the first scenario, carriers play the role of team members and corre-
spond to the available resources. Every day each carrier is responsible of
the execution of a mail delivery task. A task is made up of a sequence of
activities corresponding to the delivery routes. It is important to note that
there is a temporal constraint between the activities of a task. An activity
can start only after the completion of the previous one. On the other hand,
there is no temporal dependency between different tasks, since different
carriers execute them.
In the second scenario, the tasks are the workouts of the members of the
fitness club, the activities are the exercises of the training programme, and
the resources are the machines needed for their execution. We assume that
the number of training machines is limited (this is reasonable, although it is
not specified in the scenario description) and that the number of athletes
that attend the fitness club simultaneously is bigger than the number of
training machines of the same type. It is clear that some conflicts might arise
in the allocation of training machines to the athletes, and that the tasks
carried on by the athletes are interrelated and dependent on one another.
The scheduler records the scheduling problem in terms of tasks, activities,
and resources as specified by the user and elaborates a time plan on demand.
It takes into account the dependencies among the resources, the tasks and
their component activities ( which activity is assigned to a resource, when
does a resource perform an activity). The user (the project manager or the
team members) revises the time plan iteratively by modifying the temporal
parameters of each activity. Figure 3.1 shows the UML analysis model.