Объектно-ориентированное программирование Автобусы и маршруты
Реферат - Компьютеры, программирование
Другие рефераты по предмету Компьютеры, программирование
Содержание
Содержание_
1. Введение_
2. Постановка задачи_
3. Структура выходных и входных данных_
4. Описание основных классов_
5. Листинг программы_
6. Результат работы программы_
7. Заключение_
8. Литература_
1. Введение
Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько "близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. С таким умыслом первоначально задумывался C. Второй цели идеально отвечает язык, который настолько "близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко. С таким умыслом предварительно задумывались средства, добавленные к C для создания C++.
Связь между языком, на котором мы думаем/программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень близка. По этой причине ограничивать свойства языка только целями исключения ошибок программиста в лучшем случае опасно. Язык предоставляет программисту набор концептуальных инструментов; если они не отвечают задаче, то их просто игнорируют. Например, серьезные ограничения концепции указателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, указатели и т.п. Хорошее проектирование и отсутствие ошибок не может гарантироваться чисто за счет языковых средств. Система типов должна быть особенно полезна в нетривиальных задачах. Действительно, концепция классов в C++ показала себя мощным концептуальным средством.
2. Постановка задачи
Написать информационную систему по учёту автобусных рейсов. Информационная система должна позволять:
- Вести учет автотранспорта (преимущественно автобусного). В свою очередь следует:
- учитывать время отправления каждого автобуса;
- учитывать типы автобусов;
- привязывать автотранспорт (автобусы) к рейсам;
- Вести учет рейсов. В свою очередь следует:
- учитывать пути, составляющие рейс;
- Вести учет остановочных пунктов
Система должна обеспечить выполнение этих возможностей путем реализации алгоритмов удаления, редактирования и добавления новой информации.
При этом при удалении следует обеспечить целостность данных и выводить предупреждение пользователю в тех случаях, когда удаление информации невозможно в результате наличия связей с другими сущностями.
При добавлении необходимо разработать механизм, реализующий проверку на уникальность, который в случаях, когда необходимо соблюдать уникальность, будет предупреждать пользователя о недопустимости таких действий, а также будет препятствовать добавлению такой информации. Также необходимо обеспечить проверку на пустоту и ограничивать действия пользователя в тех случаях, когда он пытается ввести пустые значения.
При редактировании следует аналогичным образом проверять редактируемые значения проверять на уникальность.
Для реализации поставленной задачи использовать Visual Studio C++ версии не ниже 6.0. В частности применить библиотеку Microsoft Foundation Classes (MFC), представляющую интерфейс ODBC для доступа к базам данных и другие возможности.
3. Структура выходных и входных данных
Программа использует СУБД Access. В ней будет разработана основная база (bus.mdb). Разрабатываемая программа будет взаимодействовать с базой путем интерфейса MFCODBC, что позволяет размещать данные как непосредственно на локальном компьютере, так и на любой машине в сети, предоставляющий открытый доступ к такого рода ресурсам.
База данных содержит в себе необходимое и достаточное количество нормализованных сущностей - таблиц:
- Bus - таблица, размещающая информацию об автобусах. Содержит три поля: первое - это уникальный идентификатор автобуса, однозначно определяющий его во всем множестве других автобусов, второе - тип автобуса, третье - уникальный идентификатор рейса.
Название
тип
bus_ID
счетчик
busType_ID
длинное целое
race_ID
длинное целое
- Path - таблица путей. Она предназначена для связи разрозненных остановочных пунктов в элементарный неделимый маршрут из одного остановочного пункта в другой. При этом направление не имеет значения. Таблица состоит из 4 полей: первое - это уникальный идентификатор пути, однозначно определяющий его во всем множестве других путей, второе и третье - уникальный идентификатор остановочного пункта, четвертое - расстояние между остановочными пунктами, выраженное во времени прохождения их из первого во второй либо из второго в первый.
Название
тип
path_ID
счетчик
start/end station_ID
длинное целое
end/start station_ID
длинное целое
time
длинное целое
- Race - таблица, размещающая информацию о рейсах. Имеет два поля: первое - это уникальный идентификатор рейса, однозначно определяющий его во всем множестве других рейсов, второе - описание рейса.
Название
тип
race_ID
счетчик
description
поле memo