Персональный банк данных

С появлением персональных компьютеров произошла определённая переориентация вычислительной техники. Если раньше она использовалась для нужд государства и отдельных предприятий, то теперь стало возможным использовать персональные компьютеры для удовлетворения потребностей личности.

Одной из важнейших потребностей человека является потребность в самоуправлении, а важнейшим ресурсом является его личное время. От того, на что и как расходует он каждую минуту из 24 часов каждого дня, зависит, в конечном счёте, на что он потратит свою жизнь. Поэтому для каждого человека управление своим временем - важная и насущная задача.

Но управление не существует без учёта. Широко известна система учёта времени, разработанная А. А. Любищевым. Эта система довольно подробно описана в книге Д. Гранина "Эта странная жизнь". Система А. А. Любищева помогает лучше организовать работу, стимулирует творческую активность, очень проста в использовании и практически не требует времени. Все важнейшие показатели получаются автоматически, в виде ежедневно накапливающихся сумм.

Однако систему можно использовать намного эффективнее, если оперативно получать более развёрнутую информацию. При ручной обработке такая информация стоит слишком дорого - затраты на её получение могут перекрыть эффект её использования.

Для оперативного управления личным временем, а также для проведения статистических исследований, на базе системы А. А. Любищева, автором была построена система I (система "ай"), работающая в среде ОС ЕС. Сразу следует отметить, что первая цель - оперативность, не была достигнута, поскольку работать с ЕС ЭВМ как с персональным компьютером довольно затруднительно. Поэтому, в основном, система I используется автором в исследовательских целях; так, были получены данные об изменении производительности труда программистов [1] анализируется баланс затрат времени на разработку программных систем, определяется динамика затрат времени по категориям работ.

Технология учёта времени в системе I довольно проста. Несколько раз в день на специальном бланке записывается информация о прошедшем отрезке времени. Эта информация состоит из последовательных записей вида:

Время-суток количество-минут режим совмещение ключ

8-символьный ключ присваивается каждой работе - т.е. программному проекту, книге, фильму и т.д. Например, книга Майерса "Надёжность программного обеспечения" имеет ключ МАЙЕНАДЕ, работа над версией 2.3 системы ДЕЛЬТА - ключ ДЕЛЬТА23. Ключ присваивается для того, чтобы не выписывать каждый раз полное название работы. Существует определённый порядок присвоения ключа работе - например, для книг первые четыре символа ключа - это первые четыре символа фамилии автора, а вторые четыре символа - начало названия. Для разовых работ (например, просмотр кинофильма) ключ имеет вид ддммггкк, где ддммгг - дата, а кк - номер разовой работы в данном дне (их может быть несколько).

Режим - код нижнего уровня классификатора работ. Классификатор трёхуровневый. На первом уровне все работы разбиваются на:

0 - по специальности

1 - не по специальности

2 - физическая нагрузка

3 - прочее

На втором уровне используются двухсимвольные коды. Например, коды для работы по специальности:

01 - творческая

02 - чтение специальной литературы

03 - вспомогательная

04 - коммуникации

05 - писание

В свою очередь, коды второго уровня расписываются на трёхсимвольные, например, для чтения специальной литературы:

021 - монографии

022 - статьи

023 - документация

024 - литература на иностранных языках

Трёхсимвольные коды называются режимами. Использование режимов позволяет выделять в каждой работе отдельные состояния. Например, работа над программным проектом может вестись в режимах:

012 - разработка систем

013 - программирование и отладка

031 - работа на машине

033 - прочая вспомогательная

041 - семинары, обсуждения

042 - я: лекции, выступления, консультации

043 - мне: лекции, выступления, консультации

и так далее.

Непрерывный промежуток времени, занятый одной работой в одном режиме, называется занятием. Так, если сразу после часового писания программы КР следует двадцать минут её набивки, на бланке появляются две записи, хотя работа одна и та же:

60 013 КР

20 031 КР

Количество минут - длина интервала времени для данного занятия.

Время суток - (время окончания занятия) используется как контрольная сумма на вводе.

Занятия могут совмещаться. Например, можно читать в очередях, обдумывать программы во время ходьбы, и т.д. Поэтому в записи о занятии может появиться буква совмещения. Разрешается совмещать только одну работу типа 0, 1, 2 с одной работой типа 3 (прочее). Все работы тиа 3, для которых разрешается совмещение, имеют односимвольный ключ, например, переезд -П, езда - Е, и так далее.

База данных состоит из двух файлов - индексно-последовательного, содержащего для каждого ключа его расшифровку и список допустимых режимов, и последовательного, содержащего записи о занятиях. Последовательная организация для этого файла была выбрана в связи с нехваткой дисковой памяти. Это же обстоятельство послужило причиной отсутствия средств корректировки файла записей. Поскольку корректировка невозможна, вводимые данные тщательно проверяются в буферном файле, в котором может разместиться месячная порция информации. Буферный файл переписывается в базу данных только после получения и анализа месячного отчёта по форме 1а.

В настоящее время в базе данных находится около 70000 записей о затратах времени с 1 марта 1976 года.

В задании на обработку указывается интервал дат, список ключей (или ВСЕ), список режимов (или ВСЕ). Это позволяет не только получать различные сечения данных, но и строить по одной форме различные отчёты. Форма 1а имеет такой вид: каждая строка содержит наименование, количество минут, количество минут в день, процент количества минут к сумме по данной категории, количество страниц (прочитанных или написанных), количество страниц в день и процент к сумме по категории. В качестве наименования может фигурировать код и расшифровка из классификатора, наименование работы, а также ВСЕГО и ПЛЮС В СОВМЕЩЕНИИ.

Отчёт построен иерархически - суммы идут сначала для ВСЕГО, затем по четырём типам верхнего уровня классификатора, затем расписывается каждый уровень, и, в конце концов, для каждого режима расписываются работы (точнее, суммы занятиям в данном режиме). Такая организация отчёта позволяет одной программой получать самую различную информацию: задав ключи и режимы ВСЕ, и варьируя интервал дат, можно получать месячные, годовые и т.д. полные отчёты; Зафиксировав ключ или группу ключей, получим инвертированный отчёт - не режимы будут разделяться по работам, а работа - по режимам. Практика показывает, что для большинства применений хватает этих двух разновидностей отчёта. При управлении бюджетом времени обычно нужно знать баланс затрат времени по категориям (например, отслеживать, чтобы физическая нагрузка не отставляла от чтения и просмотра фильмов), либо баланс внутри одной работы (например, отслеживать оптимальное соотношение работы за столом и работы на машине).

Другие формы отчётности более специализированы. Так, форма 2 предназначена для исследований производительности труда в программировании.

Система I эксплуатируется с сентября 1983 года. В настоящее время ведётся подготовка к переводу её в среду РАФОС.

Литература.

1. А. А. Бабий. О некоторых характеристиках личной производительности труда программистов. УсиМ, 1985, №6, с.17-19.


© Алексей Бабий 1989