Проектирование системы обработки временных списков

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ь сохраненные события из файла, а если он не найден, то сообщить об этом. Далее пользователю предоставляется возможность работы с приложением. После того как пользователь закончит работу (нажатие кнопки exit) система должна сохранить все события в файл. В случае, если файл не найден создать новый.

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

 

Рис. 1.2 Диаграмма классов

 

На диаграмме 1.2 изображен класс event и агрегирующий его vector с настроечным параметром на тип данных event.

Класс event имеет три параметра в секции private. Первый параметр message типа String содержит дополнительную информацию о событии. Второй параметр type содержит информацию о типе события, который может быть трех видов: Deal (дело), Meeting (встреча) или Anniversary (годовшина). В секции public класса event содержится два метода: конструктор по умолчанию( event() ) и метод задания события( TO_SET()).

Для реализации списка событий будем использовать шаблон vector. vector - это шаблон из стандартной библиотеки C++, реализующий динамический массив произвольного доступа. шаблон vector расположен в заголовочном файле . Как и все стандартные компоненты, он расположен в пространстве имен std. Данный интерфейс эмулирует работу стандартного массива C (например, быстрый произвольный доступ к элементам), а также некоторые дополнительные возможности, вроде автоматического изменения размера вектора при вставке или удалении элементов. Все элементы вектора должны принадлежать одному типу, в данном случае это event. Вектор может быстро выделять память, необходимую для хранения конкретных данных. Это особенно полезно для хранения данных в списках, длина которых может быть не известна до создания списка, а удаление (за исключением, быть может, в конце) необходимо редко. Вектор разрешает произвольный доступ; то есть на элемент вектора можно ссылаться так же, как на элемент массив (по индексу), что достаточно удобно в использовании. Есть несколько недостатков данного шаблона и один из них заключается в том, что вектор является неэффективными для удаления или вставки элементов в других местах, кроме конца, но при реализации данного проекта это не играет никакой роли.

 

2.ОБЪЕКТНО-ОРИЕНТИРВАННОЕ ПРОЕКТИРОВАНИЕ

 

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

Для реализации проекта будем использовать алгоритмический язык высокого уровня С++. Он поддерживает такие парадигмы программирования как процедурное программирование, модульность, раздельная компиляция, обработка исключений, абстракция данных, типы (объекты), виртуальные функции, объектно-ориентированное программирование, обобщенное программирование, контейнеры и алгоритмы, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником - языком C, - наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). В книге Дизайн и эволюция C++ Бьёрн Страуструп описывает принципы, которых он придерживался при проектировании C++. Эти принципы объясняют, почему C++ именно такой, какой он есть. Некоторые из них:

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

Непосредственно и всесторонне поддерживать множество стилей программирования, в том числе процедурное программирование, абстракцию данных, объектно-ориентированное программирование и обобщённое программирование.

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

Максимально сохранить совместимость с C, тем самым делая возможным лёгкий переход от программирования на C.

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

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

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

Не требовать слишком усложнённой среды программирования.

Для создания пользовательского интерфейса будем использовать Пакет Microsoft Foundation Classes (MFC). MFC - это библиотека на языке C++, разработанная Microsoft и призванная облегчить разработку GUI-приложений для Microsoft Windows путем использования богатого набора библиотечных классов. Библиотека MFC, как и её основной конкурент, Borland VCL, облегчает работу с GUI путем создания каркаса приложения - скелетной прог?/p>