Дипломная работа: Программа информационной поддержки создания плана местности
При таком раскладе систему описания точек плана лучше всего представить в виде таблицы, где каждая запись будет содержать обе координаты, тип объекта, номер маршрута и комментарии. При этом "возможность легкой модификации" по отношению к таблице обеспечить более просто, чем, скажем, по отношению к файлу.
Но для оценки длины маршрута, так как там вычисляется длины отрезков, удобнее будет использовать еще одну таблицу.
И можно будет ввести еще таблицу, в которую будет заноситься перечень типов объектов, чтобы пользователю было удобнее их вносить в главную таблицу.
Возможность графического представление плана означает, что пользователь должен увидеть результат работы программы на экране, либо в распечатанном виде, те должно быть наличие экранного интерфейса, чтобы пользователю было удобнее работать с такой программой.
Так же для удобства работы с графическим представлением плана необходимо реализовать возможность его масштабирования. А для наглядности можно добавить вывод на рисунок названий объектов и расстояний.
Учитывая в качестве операционной системы Windows98 и наличие экранного интерфейса, а также работу с таблицами и графикой, на мой взгляд для разработки программы больше подходит среда С++ Builder 5.
2. РАЗРАБОТКА ЛОГИЧЕСКОЙ СХЕМЫ ДАННЫХ
В программе для хранения данных используются таблицы: одна основная, с которой работает пользователь, и две вспомогательных, с данными которых оперирует программа.
Все таблицы хранятся в формате таблиц ParadoxDatabase, в файлах с расширением *.db.
Главная таблица состоит из шести полей со следующими характеристиками:
ID – идентификатор записи. Это поле является ключевым – то есть по нему сортируются данные в таблице. Тип – автоинкремент. Поле ID доступно только для чтения. При создании таблицы его значение равно единице, и будет увеличиваться на единицу при каждом создании новой записи. Удаление записи не изменяет значения поля ID других записей.
Latitude – содержит значение широты текущей точки на карте в формате чисел с плавающей точкой, на которые накладывается ограничение в виде области допустимых значений от –90 до 90. Положительные числа соответствуют северной широте, отрицательные – южной.
Longitude - – содержит значение долготы текущей точки на карте в формате чисел с плавающей точкой, на которые накладывается ограничение в виде области допустимых значений от –180 до 180. Положительные числа соответствуют восточной долготе, отрицательные – западной.
ObjectType – поле типа–"строка". В нем указывается тип объекта, находящегося в данной точке.
Course – поле типа "целое число". Содержит номер маршрута, к которому принадлежит данная точка.
Comments – поле типа "строка", отведено для комментариев.
Ввод значений в поля Latitude, Longitude и Course обязательно.
Вспомогательная таблица ObjectTable, хранящаяся в фале objects.db, содержит перечень типов объектов, ее присутствие в каталоге программы обязательно. Данные из этой таблицы заносятся вполе со списком, с помощью которого пользователь легко может занести нужный тип объекта в главную таблицу, не набирая его вручную. В программе возможно добавление типа объекта в таблицу, удалить тип или очистить всю таблицу. В явном виде ObjectTable не отображается.
Она имеет следующие поля:
Object_ID – идентификатор записи. Тип поля – автоинкремент.
ObjectType – тип объекта.
Вспомогательная таблица RasstTable также находится в каталоге программы в файле Rasst.db. Она используется программой в процессе рисования плана: в нее заносится индекс маршрута и расстояния его отрезков. Пользователь может посмотреть содержимое этой таблицы, отключив флажок "Скрыть таблицу расстояний".
Эта таблица содержит поля:
Course – номер маршрута. Тип поля – целое число.
Distance – расстояние, в километрах. Тип поля – число с плавающей точкой.
На рис.2.1 показана схема данных в виде таблиц и связей между ними.
Рис.2.1. Схема данных.
3. СТРУКТУРНАЯ СХЕМА ПРОГРАММЫ
Основные функции, которые необходимо реализовать в нашей программе, следуют из постановки и анализа задачи: