Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_ООП.doc
Скачиваний:
7
Добавлен:
10.07.2019
Размер:
128 Кб
Скачать

УДК 004.045

Составители: ст. преп. О.В. Зеленко доц. М.Ю. Валеев

Объектно-ориентированное программирование: методичес­кие указания по выполнению курсовой работы / сост.: О.В. Зеленко, М.Ю. Валеев; М-во образ, и науки РФ, Казан, гос. технол. ун-т. - Казань: КГТУ, 2011.-24 с.

Составлены в соответствии с государственным образова­тельным стандартом высшего профессионального образования по специальности 230102 «Автоматизированные системы обработки информации и управления», учебным планом и рабочей программой по дисциплине.

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

Предназначены для студентов четвертого курса очной и заочной форм обучения, изучающих дисциплину «Объектно- ориентированное программирование».

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

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

Рецензенты: доцент кафедры САУТП И.Н. Терюшов доцент кафедры ОХТ Е.С.Воробьев

Общая характеристика курсовой работы

Дисциплина «Объектно-ориентированное программирование» (ООП) относится к циклу общих математических и естественно­научных. Предметом ее изучения является язык объектно-ориенти­рованного программирования. Учебным планом предусмотрено выполнение студентами курсовой работы по данной дисциплине.

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

Цели и задачи курсовой работы:

  1. Закрепление практических навыков программирования, полученных на лабораторных занятиях по данной дисциплине.

  2. Углубление теоретических и практических знаний в области методологии программирования и разработки программных комплексов.

  3. Развитие навыков самостоятельного планирования и выполнения научно-исследовательской работы.

  4. Приобретение навыков по сбору и обработке исходного материала, анализу научно-технической литературы, справочников, стандартов и технической документации.

  5. Умение профессионально оформить проектную докумен­тацию.

Порядок выполнения курсовой работы

Выполнение курсовой работы состоит в последовательной реализации следующих этапов:

1. Изучение литературных источников по выбранному направлению исследований.

  1. Анализ вариантов решения поставленной задачи на основе изученного теоретического материала.

  2. Изложение в краткой форме основных теоретических положений, характеризующих выбранное направление исследований.

  3. Разработка подхода к решению поставленной конкретной

задачи.

  1. Разработка программной поддержки решения задачи.

  2. Оформление курсовой работы в соответствии с предъявляемыми к оформлению требованиями.

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

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

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

Последовательность выполнения включает следующие этапы:

  • уточнение задания с преподавателем;

  • анализ теоретических источников;

  • выбор методов, моделей, структур и их обоснование;

  • определение наборов исходных данных и алгоритмов их обработки;

  • решение поставленной задачи на компьютере;

  • оформление пояснительной записки.

Требования к программам

Независимо от темы к курсовой работе предъявляются следующие требования:

  1. Устойчивость разрабатываемой программы. Она не должна терять работоспособности ни при каких, даже некорректных, действиях пользователя. Любые действия, грозящие возможной потерей информации, выполняются только после повторного подтверждения. Вводимая информация там, где возможно, подвергается логическому контролю.

  2. Обеспечение целостности баз данных. При любых действиях пользователя базы не должны терять целостности (некорректность индексов, потеря ссылок в связях после удаления- добавления записей и т. д.).

  3. Функциональная полнота. В рамках согласованного с преподавателем или заказчиком подмножества функций все они должны быть реализованы.

  4. Терминологическая среда и интерфейс. В диалоговых средствах допускаются только термины, понятные пользователю, и не используются обозначения разработчика («запись», «индексация» и гак далее). Появление служебных англоязычных сообщений СУБД недопустимо. Язык диалога создается с соблюдением норм вежливости, цветовая гамма выполняется по общепринятым рекомендациям.

  5. Использование клавиатуры. На каждом этапе нажатие любых клавиш (особенно функциональных) должно игнорироваться или вызывать предусмотренные действия (описанные в средствах помощи). Привязка действий к клавишам должна быть общепринятой: FI - помощь; Enter - согласие, завершение ввода; Esc - отказ, возврат к предыдущему узлу ветви алгоритма (с восстановлением экранной формы); Tab - переход к следующему полю, окну и т. д.; Shift-Tab - возврат к предыдущему полю и др.

  6. Порядок движения. Движение по «дереву» алгоритма «сверху вниз» сопровождается заголовками всех пройденных «вершин»; возврат возможен только на предыдущий уровень с сохранением введенной информации, выбранных пунктов меню и указателей записей.

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

программного средства, а также сведения об авторе. В каждой точке алгоритма в строке подсказки должны высвечиваться все активные в данный момент «горячие» клавиши; в любой момент при нажатии клавиши F1 должен выдаваться контекстно-зависимый (зависящий от ситуации) текст помощи.

  1. Входящие и исходящие документы. Экранные формы для ввода и корректировки должны быть максимально похожими на привычные для пользователя документы; результаты работы не только отображаются на экране, но и выводятся в текстовый файл в привычной для пользователя форме с возможностью корректировки и распечатки.

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

Требования к организации и обслуживанию баз данных

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

    1. База состоит из нескольких связанных таблиц с использованием (по необходимости) связей «один к одному», «один ко многим», «много к одному», «мног о ко многим».

    2. Для облегчения просмотра и поиска используется упорядоченность с помощью индексации.

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

    4. Информация, которую можно стандартизировать, хранится в отдельных таблицах-справочниках, также поддающихся корректировке (с соблюдением целостности).

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

Примерная тематика курсовых работ может быть представлена следующим списком:

      1. Личная библиотека. Картотека домашней библиотеки: выходные данные книги (авторы, название, издательство и так далее), раздел библиотеки (специальная литература, хобби, домашнее хозяйство, беллетристика и так далее), происхождение и наличие книги е данный момент, субъективная оценка книги. Выбор книг по произвольному запросу; инвентаризация библиотеки.

      2. Картотека Интерпола. Данные по каждому зарегистри­рованному преступнику: фамилия, имя, кличка, рост, цвет волос и глаз, особые приметы, гражданство, место и дата рождения, последнее место жительства, знание языков, преступная «специализация», последнее дело и так далее. Преступные и мафиозные группировки (данные о сообщниках). Выборка по любому подмножеству признаков. Перенос данных о «завязавших» в архив; их удаление - только после смерти преступника.

      3. Бюро знакомств. База потенциатьных женихов и невест: пол, регистрационные номер и дата, сведения: о себе, требования к партнеру. Выбор подмножества подходящих кандидатур, подготовка встреч (формирование приглашений для знакомства). Перенос в архив данных на пары, решившие свои семейные проблемы; удаление клиентов, отказавшихся от услуг бюро.

      4. Биржа труда. База безработных: анкетные данные, профессия, образование, место и должность последней работы, причина увольнения, семейное положение, жилищные условия, контактные координаты, требования к будущей работе. База вакансий: фирма, предприятие или организация, должность, условия труда и оплаты, жилищные условия, требования к специалисту. Поиск и регистрация вариантов с той и другой стороны; формирование объявлений для печати, удаление данных соискателей в архив после их трудоустройства, полное удаление при отказе от услуг биржи.

      5. Записная книжка. Анкетные данные, адреса, телефоны, место работы или учебы, должности знакомых, коллег или родственников; характер знакомства, деловые качества и так далее. Автоматическое формирование поздравления с днем рождения (по текущей дате). Упорядочение по алфавиту и по дате последней корректировки. Поиск по произвольному шаблону.

  1. Касса «Аэрофлота». Расписание: номер рейса, маршрут, пункты промежуточной посадки, время отправления, дни полета. Количество свободных мест на каждый рейс. Выбор ближайшего рейса до нужного пункта (при наличии свободных мест), оформление заданного числа билетов по согласованию с пассажиром (при уменьшении числа свободных мест), оформление посадочной ведомости.

  2. Справочник потребителя (служба быта). База предприятий бытового обслуживания города: название, разряд, адрес и телефоны, специализация, перечень оказываемых услуг, форма собственности, часы и дни работы. Поиск предприятий по заданной услуге и другим признакам.

  3. Справочник покупателя. База торговых точек города: название, адрес и телефоны, специализация, форма собственности, время работы. Выбор магазинов по произвольному шаблону.

  4. Магазин с одним продавцом. Компьютер вместо кассового аппарата. База наличия товаров: наименование, единица цены и измерения, количество, дата последнего завоза. Регистрация поступления товаров (как старых, так и новых наименований). Оформление покупки: выписка чека, корректировка базы. Проблема уценки и списания. Инвентаризация остатков товара с вычислением суммарной стоимости.

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

  6. Генеалогическое дерево. Паспортные данные членов некоего родового клана; ссылки на детей (или на родителей). Поиск всех потомков или предков указанного лица.

  7. Склад. База товаров, хранящихся на складе: наименование, единица измерения и её цена, количество, дата последнего завоза. Регистрация поступления товара (формирование приходной накладной) и отгрузки (расходная накладная). Вывод инвентарной зедомости.

  8. Касса автовокзала. Расписание автобусов: номер рейса, конечный и промежуточный пункты, время отправления. Количество свободных мест на каждый рейс. Выбор ближайшего рейса до заданного пункта (при наличии свободных мест), оформление билетов и посадочной ведомости. Предварительная продажа, возврат билетов.

  9. Администратор гостиницы. Список номеров: класс, число мест Список гостей: паспортные данные, даты приезда и отъезда, номер. Поселение гостей: выбор подходящего номера (при наличии свободных мест), регистрация, оформление квитанции. Отъезд: выбор всех постояльцев, отъезжающих сегодня, освобождение места или оформление задержки с выпиской дополнительной квитанции. Возможность досрочного отъезда с перерасчетом. Поиск гостя по произвольному признаку.

  10. Справочник меломана. База музыкальных групп и исполнителей; база песен; база дисков с перечнем песен (в виде ссылок). Выбор всех песен заданной группы; всех дисков, где встречается заданная песня.

  11. Ежедневник. База намечаемых мероприятий - дата, время и протяженность, место проведения. Автоматическое напоминание ближайшего дела: по текущей дате и времени; удаление вчерашних дел либо перенос на будущее. Анализ «накладок» - пересечений планируемых дел. Просмотр списка запланированных мероприятий на ближайшие дни и так далее.

  12. Терминология. База определений какой-либо науки: вводимый термин, его толкование (определение), ссылки на используемые термины. Возможность просмотра всей цепочки от заданного термина до первичных понятий.

  13. Шеф-повар. База рецептур блюд: раскладка, рецепт приготовления. База продуктов на складе: наименование, цена, количество. Формирование меню на день (на заданное число персон); званый ужин. Проверка достаточности запасов; формирование расходной накладной на склад, корректировка запасов.

  14. Справочник «лекаря». База болезней: название, симптомы, процедуры, перечень рекомендуемых лекарств с указанием требуемого количества. База медикаментов на складе: название, количество, взаимозаменяемость. Формирование рецепта после осмотра больного, проверка наличия лекарств, корректировка запасов.

  15. Приемная комиссия. База абитуриентов: анкетные данные, совокупность оценок на вступительных экзаменах, готовность учиться на договорной основе. Выбор для зачисления заданного количества абитуриентов; формирование для собеседования списка тех, кто набрал предельный проходной балл, но не может платить за образование.

  16. Обмен жилья. База предложений по обмену: район, площадь, планировка и т. д.; требования к вариантам обмена. Регистрация клиентов, выбор подходящих вариантов, удаление данных клиентов при состоявшемся обмене или отказе.

Развитие задачи. Возможность съезда или разъезда, в том числе «несколько на насколько»; «возможны варианты».

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

  2. Справочник почтовой индексации. Республика, область (край), район, населенный пункт, почтовый индекс. Поиск по любой совокупности полей (кроме последнего); иерархическая связь между полями (обратите внимание, что, например, город Павловск есть и в Алтайском крае, и в Воронежской и Ленинградской областях).

  3. Сбербанк. Сведения о вкладчиках банка: номер лицевого счета, категория и текущая сумма вклада, паспортные данные, дата последней операции. Операции приема и выдачи любой суммы, автоматическое начисление процентов.

  4. Ломбард. База хранимых товаров и недвижимости: анкетные данные клиента, наименование товара, оценочная стоимость; сумма, выданная под залог, дата сдачи, срок хранения. Операции приема товара, возврата, продажи по истечении срока хранения.

  5. Справочник селекционера. Наименование сорта какой- либо культуры, автор, родительские сорта, урожайность, характе­ристики плодов, их устойчивость к вредителям, болезням и морозам; наличие в том или ином селекционном фонде. Выбор сортов, обладающих заданными свойствами.

  6. Справочник работника ГИБДД. Марка, цвет, заводской и бортовой номера, дата выпуска, особенности конструкции и окраски, дата прохождения последнего техосмотра транспортного средства (автомобиля, мотоцикла, прицепа и т. д.), паспортные данные владельца. Выбор транспортных средств по произвольному шаблону. Формирование приглашений на техосмотр в соответствии со сроком.

  7. Справочник владельца видеотеки. База видеофильмов: название, студия, жанр, год выпуска, режиссер, исполнители главных ролей, краткое содержание, субъективная оценка фильма. Факт наличия фильма в видеотеке. Оформление выдачи и возврата кассеты.

  8. Купля-продажа. База продавцов: наименование товара, объем партии при оптовой продаже, цена, условия продажи-отгрузки, форма оплаты, контактный адрес или телефон, примечание (например, «посредников прошу не беспокоиться»). База покупателей: наименование товара, объем покупки, приемлемая цена и форма оплаты, контактный адрес или телефон, примечание. Поиск и регистрация вариантов с той и другой стороны; формирование объявлений для печати, удаление в архив после купли-продажи (возможно, один из клиентов останется неудовлетворенным), полное удаление при отказе от услуг.

  9. Справочник фаната. База спортсменов: анкетные и антропологические данные, гражданство, вид спорта и история его возникновения, наименование клуба или команды, данные о личном рекорде или победах и так далее. Выбор по произвольному признаку. Поиск рекордсмена в заданном виде спорта

  10. Справочник радиолюбителя. Базы паспортных данных транзисторов, диодов, тиристоров и так далее: марка, характеристики, предельно допустимые условия эксплуатации, цена, учет взаимоза­меняемости и т. д. Подборка по заданным требованиям.

  11. Справочник коммерческих банков. Наименование, адрес, статус (форма собственности), условия хранения средств на лицевом счете (годовые проценты на различных видах вкладов). Выбор банка с наибольшим процентом для заданного типа вклада.

  12. Справочник начальника тюрьмы. Анкетные данные заключенных, статья, срок, дата заключения под стражу, место в тюремной иерархии, камера, сведения о родственниках, особенности характера. Формирование статистических сводок о составе заключенных, выбор по произвольному признаку.

  13. Справочник командира. Список подчиненных военно­служащих: анкетные данные, адрес родителей, гражданская профес­сия, образование, звание и дата его получения, должность, подразделение, форма службы (срочная, кадровая, контрактная), период службы (для новобранцев), особенности характера и отношение к службе. Формирование списков: заданного подразде­ления, офицерского состава, новобранцев и т. д.

  14. Риэлтерская контора (купля-продажа жилья). База предложений: район и адрес, характеристика дома и квартиры, запрашиваемая стоимость, координаты заявителя. База спроса: требования покупателя к жилью (возможны несколько вариантов, допустимые диапазоны), финансовые возможности, координаты заявителя. Подбор вариантов для той и другой стороны, автоматизированный поиск взаимоприемлемых вариантов.

Пример запроса покупателя: однокомнатная квартира, до 1,2 млн. руб., Московский и Кировский районы не предлагать.

  1. Очередь на жилье. Список очередников на получение и улучшение жилья: дата поступления на предприятие, в организацию, фирму, дата подачи заявления, состав семьи, жилищные условия на момент подачи заявления, льготы на дополнительную площадь, внеочередное и первоочередное улучшение, пожелания по поводу района и другие. Реализация распределения получаемого муниципального жилья: удовлетворение подходящих очередников, переселение следующих в освободившиеся квартиры. Добавление заявителей и удаление выбывших и удовлетворенных граждан.

  2. Автосалон. База новых и подержанных отечественных и иностранных автомобилей: марка, год выпуска, технические характеристики, особенности исполнения, техническое состояние, запрашиваемая цена. База покупателей: контактные координаты и финансовые возможности, требования к марке, техническим характеристикам и состоянию автомашины. Автоматизация подбора вариантов для покупателя, формирование заявки для поставщиков и перегонщиков.

  3. Справочник туриста. Турагенства и предлагаемые услуги: страна, город (или маршрут круиза), условия проживания и проезда, экскурсионное обслуживание, сервис принимающей стороны, стоимость путевки.

  4. «Купи-продай». База объявлений по всем рубрикам (в газетах, на радио, в «бегущей строке» на телевидении). Поиск для любого спроса или предложения, включая контекстный поиск в МЕМО-полях (например, «репетиторство & математика»).

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

  6. Каталог запчастей для автомобиля. В автомобиле насчитывается несколько тысяч деталей; некоторые используются в различных марках. Таблицы: страна, фирма-изготовитель, марка автомобиля, агрегат, узел, деталь. Учет взаимозаменяемости. Пользователи: работники автосервиса, магазинов запчастей; поставщики-оптовики.

  7. Каталог радиодеталей (справочник радиомастера). Модели бытовой аудио- и видеотехники; для каждой модели - каталог радиодеталей, использованных в ней (резисторы, конденсаторы, катушки индуктивности, чипы и т. д.). Многие детали используются в разных моделях; некоторые детали односторонне (например, вместо резистора 10К 0,125 Вт можно поставить 10К 0,25 Вт, но не наоборот) или двусторонне (транзисторы с близкими характеристиками) заменяемы. Учет наличия деталей на складе, поиск подходящих деталей для ремонта.

  8. Справочник нумизмата. Монеты: страна, номинал, год выпуска, количество выпущенных монет, особенности. Коллекцио­неры: страна, имя, контактные координаты, наличие редких монет в коллекции. Собственная коллекция.

  9. Справочник филателиста. Марки: страна, нарицательная стоимость, год выпуска, тираж, особенности. Филателисты: страна, имя, контактные координаты, наличие редких марок в коллекции. Собственная коллекция.

  10. Справочник любителя живописи. Художники с анкетными данными и стилями. Картины со ссылкой на художников, датой создания, жанром. Коллекционеры и музеи: наличие оригиналов картин и копий. Аукционы и комиссионки: дата проведения, список выставленных шедевров и цены на них. Собственная коллекция.

  11. Телепрограмма. Программа телепередач нескольких телекомпаний (на неделю: по дням, часам). Разные жанры телепередач: новости, спор г, художественные фильмы, сериалы и т.д. Выбор совокупной программы по определенному запросу (вкусу). Программирование видеоплейера при временных «накладках» передач.

  12. Справочник астронома. Для каждой из зарегистриро­ванных звезд известны: название, созвездие, видимая звездная величина, расстояние, координаты на небосклоне. Поиск звезд заданного созвездия, самых ярких звезд, видимых звезд и созвездий в заданной точке земного шара в заданное время.

  13. Справочник географа. Города (географические коорди­наты, численность населения), регионы (области, провинции, штаты и т.д.; принадлежность стране, столица, численность населения), страны (площадь, численность населения, форма государственного правления, столица), материки. Поиск городов-«тезок», подсчет доли городского населения в странах и регионах, населенность материков и т. д.

  14. Справочник гидролога. Реки мира: протяженность (от истока до устья), куда впадает (в другую реку, море или озеро), годовой сток (км3), площадь бассейна (без крупных притоков). Вычисление годового стока и площади бассейна для заданной крупной реки (вместе с ее притоками), моря или озера.

  15. Справочник «звездочета». Видимые звезды: название, созвездие, видимая звездная величина, расстояние от Земли, координаты на небосклоне: прямое восхождение (ч, мин) и склонение (град., мин). Поиск звезд, входящих в данное созвездие, самой яркой звезды созвездия, видимых созвездий и звезд в заданной точке земного шара в заданное время.