An insurance company writes term life insurance policies for its
customers. It uses a computer system to maintain the policies
and bill customers. Figure 1 below shows the context data flow
diagram for the system.
Figure 1

FILES
CUSTOMER FILE. A direct access file consisting of one entry for each customer:
POLICY FILE. The direct access policy file consists of one entry for each policy:
RATES FILE. A table of ages and associated rates per year per $1000 of insurance. Each rate entry consists of:
FUNCTIONS
ADD NEW CUSTOMER. When a new customer applies for coverage,
the next available customer number is obtained from the customer
file. The transaction is edited to make sure a name and an address
are present and the birthdate is a valid date. This information
is then stored in the customer file.
ADD NEW POLICY. Before a policy can be written, the customer
must have been added to the customer file first. A new policy
transaction consists of the customer number, the date the policy
is to take effect, the face value of the policy (always a multiple
of $1000), and one or more beneficiaries who will receive the
face value amount when the policy holder dies.
The next available policy number is obtained from the policy file.
The new policy data is edited as much as possible, including checking
for a valid customer number, editing the start date, editing the
policy value, and checking for the presence of at least one beneficiary
and address. The birthdate is subtracted from the policy start
date in order to calculate the customer's age. The age is then
checked against the rate file in order to obtain the rate per
$1000 of insurance. This is then used to calculate the rate for
a policy is as follows:

The age is always calculated based upon the customer's age on
the date the policy takes effect. The expiration date of the policy
is initially set to the start date, but it will be updated to
one year later as soon as the customer pays for the policy.
Additionally, the information above is used to immediately produce
a bill for the new policy. The bill is mailed to the customer.
APPLY CUSTOMER PAYMENT. A customer payment consists of
the policy number and the amount of the payment. When a customer
payment is received, the policy number is verified against the
policy file. The yearly rate is calculated, again using the procedure
detailed above, but this time using the expiration date instead
of the start date (in this way, the payment can be applied accurately
regardless of whether it is for a new policy or a renewal). The
payment amount must exactly match the yearly rate or it is rejected.
The policy record in the file is updated with the new expiration
date (one year later than the old one) and the new yearly rate.
PRODUCE RENEWAL NOTICE. Once each month, renewal notices
are mailed to all customers whose policies will expire within
the next three months. The renewal notice contains all relevant
information about the policy, including the new yearly rate.
ADDITIONAL FUNCTIONS
PRODUCE CANCELLATION NOTICE. Once each month, cancellation
notices are mailed to all customers whose policies are one month
overdue; that is, the current date is 30 or more days past the
expiration date.
UPDATE CUSTOMER RECORD. Customers occasionally change their
names or addresses. When such information comes from the customer,
it is edited as much as possible, then used to update the customer
record.