Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовик по разработке ПО1.DOC
Скачиваний:
29
Добавлен:
01.05.2014
Размер:
1.97 Mб
Скачать

3.3.2. Взаимосвязь классов.

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

Также этот метод хранит указатель на начало списка персон, и таким образом отвечает за их удаление, при окончании работы программы.

В случае события – нажатие кнопки «Добавление» создается экземпляр класса CpersonDlg, который при создании инициализирует новое диалоговое окно «Добавление» и контролирует работы программы до ее закрытия.

Когда добавляются новые персоны в семью, вызывается конструктор класс Cperson, где создается новая персона и заполняется одно из её ссылок, в зависимости от рода введенной связи.

3.3.3. Динамическое поведение объектов.

Основным объектом программы является персона, поля-связи которой образуют дерево семьи. Первичным состоянием для этого объекта является – вновь созданная персона, в котором он может остаться на совсем. В этом состоянии инициализированы 3 поля - данных: имя, пол и указатель на другого члена семьи. Переход от такого состояния к следующим осуществляется при добавлении новой персоны, связанной с данной, в этом случае заполняется еще одно поле-указатель, указывающий на новую персону.

3.3.4. Порядок событий.

Порядок возможных событий подробно изображен в ST-диаграмме.

Заключение.

Разработанная программа позволяет наглядно определять родственные связи в небольшой семье. В ней эффективно используется возможность работы с файлами - сохранения и загрузки.

К достоинствам программы можно отнести:

  1. Неограниченность размера вводимой семьи (ограничивается только размерами оперативной памяти компьютера).

  2. Эффективный механизм определения родственной связи между двумя людьми.

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

  4. Обширная документация.

  5. Контроль входных данных на ошибки

  6. Контроль за непротиворечивостью входных данных.

  7. Наличие Возможности автоматически обходить ошибочные ситуации.

К недостаткам программы можно отнести:

  1. не иерархическое дерево вывода данных

  2. отсутствие контроля ввода 4-го ребенка (на первой стадии)

  3. отсутствие контроля корректности входного файла

  4. отсутствие контроля правильности данных считываемых из файла

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

Характеристики программы:

  • размер программы в КЧИК – 1800

  • перечисление работ – смотри таблицу этапов разработки

  • объем работы (в %) выполненной каждым исполнителем.

  • Крохмаль – 55%

  • Танкуа - 45%

Приложение Пример формата файла

1Иван

-

~0Елизавета

~1Сергей

-

-

1Сергей

~1Иван

~0Мария

~1Борис

~1Олег

~0Александра

0Мария

~1Гена

~1Сергей

-

-

-

1Борис

~1Сергей

-

-

-

-

1Олег

~1Сергей

-

-

-

-

0Александра

~1Сергей

-

-

-

-

1Гена

~1Дима

~0Оля

~0Мария

~1Лёлик

-

1Дима

-

-

~1Гена

-

-

0Оля

~1Петя

~1Гена

-

-

-

1Лёлик

~1Гена

-

-

-

-

1Петя

-

~0Ира

~0Оля

~1Гоша

-

0Ира

-

~1Петя

-

-

-

1Гоша

~1Петя

~0Надя

~1Стас

~1Арамис

-

0Надя

-

~1Гоша

-

-

-

1Стас

~1Гоша

~0Яна

~0Вера

~0Катя

-

1Арамис

~1Гоша

-

-

-

-

0Яна

-

~1Стас

-

-

-

0Вера

~1Стас

-

-

-

-

0Катя

~1Стас

~1Митя

-

-

-

1Митя

-

~0Катя

~0Юля

-

-

0Юля

~1Митя

~1Вова

-

-

-

1Вова

-

~0Юля

-

-

-

0Елизавета

-

~1Иван

-

-

-