Постановка задачи.

 

Пусть для системы обработки данных требуется написать программу одновременного формирования трех ведомостей о начислении заработной платы для рабочих-сдельщиков на основе пооперационных данных, находящихся в файле «Наряд», и постоянных справочных файлах «Рабочий», «Подразделение» и «Операция».

 

На рис.7 показан фрагмент диаграммы потоков данных, из которого видно, что требуется получить три ведомости, названные здесь 1, 2 и 3. При этом входными данными для обработки являются четыре файла, а выходными данными – три ведомости.

 

 

На рис.8 представлены макеты выходных документов. Здесь видно, какие заголовки и показатели выводятся в каждой ведомости, какие итоги должны подводиться.

Рассмотрим структуры записей входных файлов. На рис. 9 приводятся структуры записей каждого входного файла. Кроме рассмотренных полей каждый файл может содержать и другие поля, которые не используются при решении данной задачи. Для обозначения наличия таких полей в структуре каждого файла имеется одно поле, не используемое для формирования ведомостей. При описании структуры записей в программе, естественно, необходимо описывать полную


 

 

Рис.8 Макеты отчетов.

 


 

Рис.9 Структуры записей входных файлов.


структуру, а не выборочно только те поля, которые задействованы при решении конкретной задачи.

Отношения между файлами для данной задачи могут быть представлены в виде диаграммы доступа на рис.10 или в виде информационных таблиц на рис.11.

 

 

На диаграмме доступа линия 1 показывает соотношение записей файла «Подразделение» и файла «Наряд». Т.о. видно, что для одного подразделения в файле «Наряд» может быть много записей, т.е. это соотношение «один-ко-многим». Линия 2 показывает аналогичное соотношение записей файла «Рабочий» и файла «Наряд», т.е. для одного рабочего может быть несколько записей в файле «Наряд», если конкретный рабочий за отчетный период выполнял работу по нескольким нарядам. Линия 4 показывает аналогичное соотношение записей файла «Подразделение» и файла «Рабочий», т.к. в одном подразделении работает несколько рабочих. Линия 3 показывает соотношение записей файла «Наряд» и файла «Операция». Это соотношение отражает тот факт, что одна и та же операция может встречаться во многих нарядах, но в одном наряде может быть только одна операция.

В информационных таблицах на рис.11 показан пример входных данных, на основе которых получены отчеты на рис.8. Здесь же обозначены соотношения между записями, содержащимися в разных таблицах.

Предполагается, что формирование значений «начислено» в выходных документах производится путем умножения количества выполненных операций на расценку и накопления полученных произведений. Предполагается также, что контроль входных данных, включая обращение к справочникам, был выполнен ранее.