Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИПОВС (2002) / ol / ol / Пояснительная записка_oll.doc
Скачиваний:
30
Добавлен:
16.04.2013
Размер:
3.64 Mб
Скачать

1.3. Технический проект

      1. Общий алгоритм работы программы

Проектируемый программный комплекс включает в себя несколько алгоритмов, часть из которых разрабатывались в первой части проекта [6] и, поэтому не рассматриваются в рамках данного дипломного проекта. Все алгоритмы взаимосвязаны друг с другом. Общий алгоритм работы программы представлен на рис. 1.3.1.

Общий алгоритм программы организует работу с родословными, в общем, не вдаваясь в подробности внутренней работы с ними.

В начале осуществляется выбор режима с родословной. Если выбрана работа с существующей родословной, то появляется окно «Открытие файла родословной». В нем нужно найти, выбрать и открыть файл с расширением .tre(файлы, создаваемые данной программой) или .ged(файлы форматаGedCom). Алгоритм работы с форматомGedCom(экспорт и импорт файлов) создавался другим разработчиком [6]. Если выбран или создан файл формата .ged, то для дальнейшей работы с программой он преобразуется в формат .tre. Затем осуществляется просмотр генеалогического дерева. Если выбран режим открытия новой родословной, то появляется окно с предложением ввести фамилию родословной, после чего в окне «Ввод информации» заносится информация о членах родословной. Алгоритм ввода информации разрабатывался в рамках этого дипломного проекта, поэтому более подробное его описание приведено ниже. После этого можно смотреть генеалогическое дерево. Алгоритм просмотра дерева также рассматривается в дипломном проекте. Находясь в режиме просмотра дерева можно выбирать порядок дальнейших действий. Это может быть вывод статистики по текущему дереву [6], определение родства персон родословной [6], объединение деревьев, выделение на дереве потомков выбранной персоны, работа с другим деревом [6] и др. Алгоритмы объединения и выделения отдельной ветви дерева будут рассмотрены более подробно. Из этих режимов работы можно либо вернуться к просмотру родословной, либо завершить работу с программой.

Рис. 1.3.1. Общий алгоритм программы

      1. Алгоритм ввода и хранения информации

Результатом алгоритма ввода информации является форма «Ввод информации». В этой форме происходит ввод информации о персонах. На форме пять закладок. На первой из них должна быть занесена основная информация (ФИО, место и дата рождения, кто супруг, родители, дети). Вторая закладка оформляется в виде текстового документа, куда заносятся дополнительные сведения о человеке. Остальные закладки это фотоальбом, видео и аудио архивы. Эта же форма появляется и при вызове информации о конкретном человеке. Поэтому в этом разделе рассматривается не только алгоритм ввода информации, но и алгоритм вызова информации по конкретному узлу дерева.

Алгоритм ввода информации (как видно из общего алгоритма программы рис. 1.3.1) вызывается при создании новой родословной, дополнении персон в существующую родословную.

Алгоритм ввода информации показан на рис. 1.3.2.1. На начальном этапе идет ввод или замена информации. Информация заносится в типизированный файл с расширением *.tre. Далее можно вводить факты биографии или игнорировать этот пункт. Введенные факты биографии сохраняются в текстовом файле. При дополнении фотоальбома, выбранные пользователем фотографии или рисунки, сохраняются в специальной папкеfoto. В алгоритме предусмотрено, что при добавлении фотографий, пользователь имеет возможность переименовать названия фотографий. Заполнение видео и аудио архива происходит аналогично заполнению фотоальбома. Как видно из схемы алгоритма, эти действия могут быть и пропущены. Далее выполняется проверка условий. Если происходит определение матери, то загружается форма «Выбор родственников». Выбирается нужный человек либо из предложенного списка, либо, если такового там нет, создается новый. Затем идет возврат к предыдущей форме. Если же мать рассматриваемой персоны не определяется, то идет проверка на определение отца. В случае положительного исхода данной проверки, осуществляется переход к форме «Выбор родственников» и проделываются описанные выше действия. Если определяется не отец, то делается проверка на определение детей. Положительная проверка – переход к форме «Выбор родственников», отрицательная – проверка на определение супруга. Положительная проверка на супруга приведет к переходу на форму «Выбор родственников», отрицательная – переход к сохранению информации в файле. Таким образом, после выполнения этого алгоритма появляется папка, название которой соответствует названию фамилии рода. В данной папке хранятся файлы в формате .tre, *.txtи папкиfoto,audio,video, где хранятся соответствующие файлы.

Рис. 1.3.2.1 Схема алгоритма ввода информации.

Алгоритм получения информации по конкретному узлу генеалогического дерева представлен на рис. 1.3.2.1. Сначала осуществляется проверка на то, вводится ли новая персона или нет. Если да, то загружается форма «Информация по конкретному узлу» (это

Рис. 1.3.2.2 Схема алгоритма информация по конкретному узлу дерева.

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

Соседние файлы в папке ol