When completing tasks and projects there are often activities (sometimes called events/items) that need completing before others can happen. For example, the task of making a pot of tea. We need to fill the jug, boil the water, put tea in the teapot, add the water to the teapot and let the tea infuse. Then we pour the tea into the teacup, and add milk and sugar before drinking.
There are a number of items here that can only be completed after some of the others have been done. A simple example is that we cannot boil the water until after we have filled the kettle. The tasks that must be completed earlier are called predecessors, and the immediate predecessors are also called dependencies.
We can create a directed network graph for the "making tea" situation. We call this a project network.
We can also represent the same information in a table called an activity table.
Activity | Dependencies | |
---|---|---|
A | \text{Put water in kettle} | - |
B | \text{Boil water in kettle} | A |
C | \text{Put tea in pot} | - |
D | \text{Add boiling water to teapot} | B,C |
E | \text{Leave tea to infuse} | D |
F | \text{Pour tea in cup} | E |
G | \text{Add milk} | F |
H | \text{Add sugar} | F |
I | \text{Stir} | G,H |
This network shows us that you can add the milk and sugar in either order, but that you shouldn't stir and drink your tea until you have added both. It also shows us that both filling the kettle and putting the tea in the teapot have no predecessors.
We can also add timings to each of the activities, making the graph weighted.
These weightings can be included in the activity table.
Activity | Dependencies | Duration | |
---|---|---|---|
A | \text{Put water in kettle} | - | 20 |
B | \text{Boil water in kettle} | A | 30 |
C | \text{Put tea in pot} | - | 15 |
D | \text{Add boiling water to teapot} | B,C | 10 |
E | \text{Leave tea to infuse} | D | 120 |
F | \text{Pour tea in cup} | E | 8 |
G | \text{Add milk} | F | 5 |
H | \text{Add sugar} | F | 4 |
I | \text{Stir} | G,H | 5 |
Given the following network, fill in the activity chart.
List the duration and direct dependencies for each activity in the table below.
Activity | Duration | Dependencies |
---|---|---|
A | ||
B | ||
C | ||
D | ||
E | ||
F | ||
G | ||
H |
If an activity has no dependencies, write X. If there are multiple dependencies, write them in the same box separated by commas.
Draw a network representation for the activity table below.
Activity | Duration | Dependencies |
---|---|---|
A | 1 | - |
B | 5 | A |
C | 3 | A |
D | 2 | A |
E | 4 | C |
F | 6 | C |
G | 8 | B, E |
H | 4 | B, E |
I | 9 | F, D |
J | 5 | H, I |
A project network is a directed network graph showing the activities of a whole project.
Dependencies are activities coming before that activity.
Consider the following activity table:
Activity | Dependencies | Duration |
---|---|---|
A | - | 3 |
B | - | 5 |
C | A, B | 8 |
D | A, B | 4 |
E | C, D | 3 |
Tasks C and D are both dependent on the activities A and B. To represent this in a network diagram the tasks A and B terminate at the same vertex and then tasks C and D start from this vertex.
The activity table below is very similar but this time only task C requires both A and B, whereas task D has only A as its dependent activity.
Activity | Dependencies | Duration |
---|---|---|
A | - | 3 |
B | - | 5 |
C | A, B | 8 |
D | A | 4 |
E | C, D | 3 |
To represent this situation correctly we need to introduce a dummy activity. This is an activity with zero weight often represented by a dashed line and used for the purpose of correctly displaying dependencies.
On the network diagram below a dummy activity has been added from the completion of task A to the completion of task B. Note the direction of the arrow, this now correctly indicates task D only requires activity A, whereas task C requires the completion of both activities A and B.
In a further example below, notice that tasks D and E share the dependent activity B but do not share other dependent activities.
Activity | Dependencies | Duration |
---|---|---|
A | - | 3 |
B | - | 4 |
C | - | 5 |
D | A, B | 3 |
E | B, C | 2 |
To represent this situation we add two dummy activities emanating from the completion of task B. Dummy activities can be labelled with the weight zero and task(s) they represent the completion of as shown below.
In general, dummy activities are required to represent a situation where two or more tasks share some but not all of a set of dependent activities.
Task | Time | Dependencies |
---|---|---|
A | 5 | - |
B | 5 | - |
C | 4 | B |
D | 8 | A |
E | 3 | D,G |
F | 1 | E |
G | 2 | C |
H | 3 | D |
J | 4 | H |
K | 3 | F,J |
L | 4 | E |
The network shown below requires a dummy task to be added to correctly represent the network.
Select which two nodes should be joined with a dummy task. The order indicates the direction of the arrow.
Dummy activities are required to represent a situation where two or more tasks share some but not all of a set of dependent activities.