This question's explanation and your answers so far.
問99
頻出度★★★
E 社の情報システム部では,新しい販売管理システム(以下,新販売管理システムという)の導入を計画している。情報システム部の新入社員 F さんは,既存の販売管理システムから新販売管理システムへの切替作業について,先輩の指導の下に作業時間の見積りを行うことになった。作業計画の一覧は,次の表に示すとおりである。
表 作業計画の一覧
作業番号
作業項目
作業予定時間(時間)
先行作業番号
①
システムの停止
0.5
なし
②
システムのバックアップ
2
①
③
移行データの抽出
1
①
④
ソフトウェアのインストール
3
②,③
⑤
システムの設定作業
2
④
⑥
移行データの投入
3
④
⑦
動作確認表の準備
1.5
④
⑧
動作確認
2
⑤,⑥,⑦
F さんは表の作業全体が最も早く終了する時間を求めた。その時間は何時間か。
出典 平成22年度 秋期 ITパスポート試験 問99
解説
問 99
//
×Incorrectア
10 hours is the value you get if you forget to count the first task ① (Stop the system), which takes 0.5 hours (2+3+3+2 = 10). Because ① has no predecessor, it starts as soon as the work begins, but it is explicitly listed as the predecessor of ② and ③, so neither ② nor ③ can start until ① is finished. A task at the very start still has to be added into the total time, so this value is 0.5 hours shorter than the correct one.
○イ
正解The correct answer is イ (10.5 hours). The earliest time at which all the tasks finish can be found by adding up the earliest finish time of each task from the beginning. There are only two steps: (1) if a task has a single predecessor, add its own task time to that predecessor finish time; (2) if a task has several predecessors, first line up with the one that finishes latest, and then add. Working it out: ① finishes at 0.5 hours. ② takes 2 hours after ①, so it finishes at 2.5 hours, and ③ takes 1 hour after ①, so it finishes at 1.5 hours. ④ can start only after both ② and ③ are done, so it starts from the later of the two, 2.5 hours, takes 3 hours, and finishes at 5.5 hours. After ④, tasks ⑤, ⑥ and ⑦ can all start at the same time, so ⑤ finishes at 7.5 hours, ⑥ at 8.5 hours, and ⑦ at 7.0 hours. The last task ⑧ waits until all three are done, so it starts from the latest one, ⑥ at 8.5 hours, takes 2 hours, and finishes at 10.5 hours. The earliest overall finish time is therefore 10.5 hours. This matches the total of the longest path ①→②→④→⑥→⑧ (0.5+2+3+3+2).
×Incorrectウ
11 hours is the value you get if you treat ⑤ (2 hours) and ⑦ (1.5 hours) after ④ as being done one after the other and add 2+1.5 = 3.5 hours on top of the 5.5 hours at which ④ finishes (5.5+3.5+2 = 11). However, ⑤, ⑥ and ⑦ all have ④ as their only predecessor, so all three can be started at the same time once ④ is finished. What determines the start of ⑧ is whichever of the three finishes latest, namely ⑥ at 8.5 hours; there is no need to chain ⑤ and ⑦ in series and add them up.
×Incorrectエ
11.5 hours is the total of a path in which ② (2 hours) and ③ (1 hour) are treated as being done in sequence rather than in parallel (0.5+2+1+3+3+2 = 11.5). Both ② and ③ have ① as their only predecessor, so once ① is finished, backing up the system and extracting the migration data can proceed at the same time. What determines the start of ④ is the later of the two, the 2.5 hours at which ② finishes, not a wait of 2+1 = 3 hours. Counting tasks that can run in parallel as if they were in series makes the answer 1 hour too long.
ここがポイント
Forward pass for earliest finish times: the finish time of each task = the finish time of its predecessor + its own task time. A task with several predecessors cannot start until the latest of them is finished, so at a merge point you take the maximum value.
Do not add up the times of tasks that can run in parallel (tasks that share the same predecessor). ② and ③ are in parallel, and so are ⑤, ⑥ and ⑦; what paces the whole project is the longest task in each branch (② and ⑥). Linking those gives ①→②→④→⑥→⑧, the critical path, and its length of 10.5 hours is the shortest possible completion time for the whole job.