Пусть для системы обработки данных требуется написать программу одновременного формирования трех ведомостей о начислении заработной платы для рабочих-сдельщиков на основе пооперационных данных, находящихся в файле «Наряд», и постоянных справочных файлах «Рабочий», «Подразделение» и «Операция».
На рис.7 показан фрагмент диаграммы потоков данных, из которого видно, что требуется получить три ведомости, названные здесь 1, 2 и 3. При этом входными данными для обработки являются четыре файла, а выходными данными – три ведомости.
На рис.8 представлены макеты выходных документов. Здесь видно, какие заголовки и показатели выводятся в каждой ведомости, какие итоги должны подводиться.
Рассмотрим структуры записей входных файлов. На рис. 9 приводятся структуры записей каждого входного файла. Кроме рассмотренных полей каждый файл может содержать и другие поля, которые не используются при решении данной задачи. Для обозначения наличия таких полей в структуре каждого файла имеется одно поле, не используемое для формирования ведомостей. При описании структуры записей в программе, естественно, необходимо описывать полную
Рис.8 Макеты отчетов.
Рис.9 Структуры записей входных файлов.
структуру, а не выборочно только те поля, которые задействованы при решении конкретной задачи.
Отношения между файлами для данной задачи могут быть представлены в виде диаграммы доступа на рис.10 или в виде информационных таблиц на рис.11.
На диаграмме доступа линия 1 показывает соотношение записей файла «Подразделение» и файла «Наряд». Т.о. видно, что для одного подразделения в файле «Наряд» может быть много записей, т.е. это соотношение «один-ко-многим». Линия 2 показывает аналогичное соотношение записей файла «Рабочий» и файла «Наряд», т.е. для одного рабочего может быть несколько записей в файле «Наряд», если конкретный рабочий за отчетный период выполнял работу по нескольким нарядам. Линия 4 показывает аналогичное соотношение записей файла «Подразделение» и файла «Рабочий», т.к. в одном подразделении работает несколько рабочих. Линия 3 показывает соотношение записей файла «Наряд» и файла «Операция». Это соотношение отражает тот факт, что одна и та же операция может встречаться во многих нарядах, но в одном наряде может быть только одна операция.
В информационных таблицах на рис.11 показан пример входных данных, на основе которых получены отчеты на рис.8. Здесь же обозначены соотношения между записями, содержащимися в разных таблицах.
Предполагается, что формирование значений «начислено» в выходных документах производится путем умножения количества выполненных операций на расценку и накопления полученных произведений. Предполагается также, что контроль входных данных, включая обращение к справочникам, был выполнен ранее.