正解The correct answer is ア (a=lending, b=lending, c=return). The deciding clue is the direction of the arrows in the figure. Into “process a” flows not only data from “Employee” (the data source/sink) but also data from the two data stores hidden by the shading, while the only flow leaving “process a” is a one-way write into “table b”. This is exactly what the lending process does: it searches the document table by document number to obtain the document name, searches the employee table by employee number to obtain the employee name and e-mail address (these two referenced tables are the shaded data stores), and then creates a new lending record combining them and adds it to the lending table. Therefore a=lending process, and b=lending table, the table it adds to. Meanwhile “process c” receives a document number from the employee and has two-way flows with “table b”: b→c (read) and c→b (write). This matches the behavior of the return process, which searches the lending table for the lending record whose return date is blank, extracts it, sets that return date to the current date, and thereby updates the lending table — a read plus an update. So c=return process, and the combination is ア.
×Incorrectイ
The pairing a=lending and c=return is correct, but b is wrong. The document table is what the lending process searches in order to obtain the document name, so the data flow would have to run document table → process a, which is the opposite of the write direction process a → table b shown in the figure. The document table is one of the two data stores hidden by the shading, so it does not fit b. b is the lending table, which stores the lending records created by the lending process and which the return process searches and updates.
×Incorrectウ
Here a=return and c=lending, so the two roles are swapped. The return process first searches the lending table and extracts the matching record, and only then updates it, so its exchange with the table must be two-way; that does not match the figure, which shows only the one-way flow process a → table b. Also, if the lending process were c, the references that the lending process needs to the document table and the employee table (the flows from the shaded data stores into process a) could not be explained.
×Incorrectエ
In addition to a and c being swapped, b is also wrong. If b were the document table, then the lending table that holds the lending records created by the lending process would appear nowhere in the DFD, and the return process would also be unable to extract and update a lending record. Furthermore, the flow this option implies — the return process, placed at a, writing one-way into the document table — does not match the specification of the return process, which searches and updates the lending table.
ここがポイント
A DFD (data flow diagram) represents the flow of a business process with four symbols: data sources/sinks (external entities, rectangles), processes (circles), data stores (tables or files, double lines), and data flows (arrows). The basic point when reading one is that the direction of an arrow shows whether it is a read from a data store (store → process) or a write to it (process → store).
A process that creates and adds a new record only writes one-way into that data store, whereas a process that searches for an existing record and updates it exchanges data with the same data store in both directions. Using this asymmetry as a clue, you can determine from the figure alone, and uniquely, which process is the lending process and which is the return process.