Оглавление
Оглавление 2
Задание на курсовую работу. 3
Введение 4
1. Постановка задачи. 5
2. Анализ задания. 6
2.1. Методы решения. 6
2.2. Подробный анализ выбранного метода решения. 7
3. Описание классов и структур. 8
4. Основные алгоритмы методов класса LIST. 9
4.1. Чтение данных. 9
4.2. Добавление записи. 10
4.3. Удаление записи. 10
4.4. Сохранение изменений. 11
5. Результат работы программы.. 12
Список использованной литературы.. 15
Приложение 16
faculty.h: 16
abiturient.h. 16
list.h. 17
proc.cpp. 17
menu.cpp. 21
main.cpp. 22
Задание на курсовую работу
Разработать информационно-поисковую систему «Абитуриент»
Курсовой работу необходимо реализовать в виде системы взаимодействующих модулей, а само проектирование выполнить в несколько последовательных этапов.
Введение
Традиционная технология программирования складывалась в условиях, когда основными потребителями программ были научные учреждения, вычислительные ресурсы были ограничены, а проблемы сопровождения по существу неизвестны. Основными критериями качества программы считалось ее узко понимаемая эффективность и компактность. Со временем сложность программ возросла настолько, что на их разработку уходили годы труда большого коллектива, а в результате системы появлялись с опозданием и содержали тысячи ошибок.
|
|
Кризис программного обеспечения привел к необходимости создания нового способа создания программ, который снижал бы общие затраты на протяжении всего цикла программы, – от замысла до завершения эксплуатации. Такая технология появилась в начале 70-х годов и была названа структурным программированием. В его основе лежит сочетание теории программирования и личного опыта высококвалифицированных программистов, а также учет современных требований к программам и промышленного характера их производства.
Структурное программирование – это технология создания программ, позволяющая путем соблюдения определенных правил уменьшить время разработки и количество ошибок, а также облегчить возможность модификации программы. Структурный подход охватывает все стадии разработки проекта: спецификацию, проектирование, собственно программирование и тестирование.
Структурный подход к программированию позволил успешно создавать достаточно крупные проекты, но сложность программного обеспечения продолжала возрастать, и требовались все более развитые средства ее преодоления. Идеи структурного программирования получили свое дальнейшее развитие в объектно-ориентированном программировании (ООП) – технологии, позволяющей достичь простоты структуры и управляемости очень крупных программных систем.
|
|
Целью курсовой работы является углубление и закрепление теоретических знаний, навыков практического применения основных принципов объектно-ориентированных систем: наследования, инкапсуляции, полиморфизма, а также формирование новых взглядов на процессы программирования с учетом абстракции данных.
Постановка задачи
Требуется разработать программу, обеспечивающую хранение и обработку данных указанного типа. Должны быть реализованы типовые действия, включающие в себя:
Ø включение нового элемента;
Ø удаление элемента;
Ø корректировка элемента;
Ø сохранение изменений в базу данных.
Одним из требований к разрабатываемой программной системе является хранение таблицы с исходными данными в файле. Все изменения, вносимые в базу данных, не должны теряться при завершении работы с программой, то есть необходимо обновление содержимого файла при изменении базы данных.
Взаимодействие пользователя с программой осуществляется через меню.
Анализ задания
Методы решения
В системе «Абитуриент» существуют две сущности – «Абитуриент» и «ВУЗ». Главная проблема разработки системы – определение связи между этими сущностями[1].
Объект А содержит данные об абитуриенте:
Ø ФИО
Ø Дата рождения
Ø Серия и номер паспорта
Ø Баллы за экзамен
Объект ВУЗ содержит данные о ВУЗе, в которую желает поступить абитуриент:
Ø Название ВУЗа
Ø Название факультета
Ø Название специальности
Ø Проходной балл(сумма)
Идея 1 метода решения поставленной задачи состоит в том, чтобы отдельно организовать объекты А и В. В этом случае необходимо программно организовать взаимодействие между объектами, на что потратится кучу времени, но не будет никаких конфликтов между ними.
В основе 2 метода лежит объединение объектов А и В в один – АВ. В этом случае база данных будет в ненормальной форме, но, по сравнению с первым методом решения, необходимость во взаимодействии объектов А и В отпадает, что достаточно облегчит задачу.
В силу очевидных превосходств[2] между методами в курсовой работе будет рассматриваться 2 метод решения поставленной задачи.
Подробный анализ выбранного метода решения
Объединив два объекта – Абитуриент и ВУЗ – в один.
Рассмотрим объект ВУЗ. В общем случае иерархия объекта будет иметь следующий вид:
Из рисунка видно, что необходимо создать базовый класс ВУЗ, наследник класса ВУЗ – Факультет и наследник класса Факультет – Специальность.
Поля класса решения поставленной задачи LIST и Абитуриент:
Все методы класса LIST – возможности системы Абитуриент: добавление, изменение, удаление записи, сохранение и т.д. Такой метод решения позволяет значительно уменьшить время разработки и количество ошибок, а также облегчить модификацию программы.