Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Министерство образования и науки Украины.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
586.36 Кб
Скачать
  1. Проектная спецификация

2.1 Архитектура программы

Данное приложение является многослойным и состоит из трех слоев: слой доступа к данным, слой моделей (слой логики) и слой представления. [1].

Для удобства группы классов в программе были объединены в подкаталоги, что дает возможность отобразить слои программы в условном графическом отображении:

Рисунок 2.1 Слои программы

Несмотря на распределенные слои, такой подкаталог, как Exceptions, с одним классом вынесен отдельно, чтобы не дублировать код.

Некоторые методы абстрактных классов из слоя с данными вызываются как вспомогательные для форматирования текста непосредственно в слое представления.

Впрочем, за исключением таких особенностей, слои четко видны в архитектурной модели программы [2], а при написании самого приложения парадигма объектно-ориентированного программирования была вверху приоритетов.

    1. Диаграмма классов на uml

- Диаграмма подкаталога Collections (рис 2.2).

Рисунок 2.2 Подкаталог Collections

- Диаграмма подкаталога DataAccess (рис 2.3).

Рисунок 2.3 Подкаталог DataAccess

- Диаграмма подкаталога Excetptions (рис 2.4). Класс из данного подкаталога доступен во всех слоях приложения.

Рисунок 2.4 Подкаталог Exception.

- Диаграмма подкаталога Data (рис 2.5). В данном подкаталоге содержатся абстрактные данные с литеральными константами, а также классы с методами, отвечающими для подготовки текста к выводу.

Рисунок 2.5 Подкаталог Data

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

Рисунок 2.6 Подкаталог DialogForms

- Диаграмма подкаталога Models (рис. 2.7). Ниже предствлены классы, объекты которых используются для передачи информации между слоями доступа к данным, слой моделей (слой логики) и слой представления. Для исключения дублирования кода снова было применено наследование, что также позволит сделать дальнейшую модификацию программы более удобной.

Рисунок 2.7 Подкаталог Models

- Диаграмма подкаталога Forms (рис. 2.8).

Рисунок 2.8 Подкаталог Forms

- Диаграмма подкаталога Logic (рис. 2.9).

Рисунок 2.9 Подкаталог Logic

3 Руководство пользователя

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

При запуске вы оказываетесь в главном меню (рис 1.1). Тут вам предлагается 4 режима: города, регионы, страны и материки. Нажав на любую из четырех кнопок, вы обнаружите новое окно для просмотра, редактирования, сохранения и загрузки своих коллекций. Помните, что вы всегда можете вызвать справку нажав на подменю “Справка” или на клавишу F1, где Вам будет оказана помощь в освоении программы.

Для возврата в главное меню выберите пункт "В главное меню" в подменю "Файл" и подтвердите свое решение. При этом Вам будет дана возможность сохранить данные на диске - при согласии данные перезапишутся, а при отказе останутся такими же, как были после прошлого сохранения.

Для очистки списка выберите пункт "Новый список" в подменю "Файл", и подтвердите свое решение.

Для немедленного сохранения списка выберите пункт "Сохранить" подменю "Файл".

Для загрузки ранее сохраненного списка выберите пункт "Загрузить" в подменю "Файл".

Для выхода выберите пункт "Выход" в подменю "Файл" или нажмите на крестик в правом верхнем углу окна. При этом Вам будет дана возможность сохранить данные на диске - при согласии данные перезапишутся, а при отказе останутся такими же, как были после прошлого сохранения.

Для добавления нового экземпляра в список выберите пункт "Добавить" в подменю "Редактировать".

Для изменения существующего экземпляра в списке нажмите на него и выберите пункт "Изменить" подменю "Редактировать".

Для удаления экземпляра в списке нажмите на него и выберите пункт "Удалить" подменю "Редактировать".

Привязка действий к клавишам: F1 – помощь; Entег – согласие, завершение ввода; Еsс – отказ, закрытие диалогового окна; Таb – переход к следующему полю; Shift-Tab – возврат к предыдущему полю [8].

Для поиска заполните поля, в точности которых вы уверены (цвет прямоугольника поменяется) и нажмите кнопку "Найти". Внимание: население выводится в соответствии с округлением относительно порядка числа. При добавлении, изменении и поиске объектов помните, что название может состоять как из букв так и из цифр, население задается натуральным числом. Следует помнить, что географические координаты задаются десятичными дробями – сначала широта: от 90 до -90, потом долгота: от 180 до -180. В дроби разделителем служит запятая, а не точка. Год основания задается целым числом (если до. н. э., то со знаком минус). Площадь тоже задается натуральным числом.

Чтобы узнать долю городского населения в регионе или стране, выберите интересующий Вас объект из списка и нажмите кнопку "Доля городского населения".

ВЫВОДЫ

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

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

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