Файл: Методические указания к курсовой работе по дисциплине Технологии программирования на тему Объектноориентированное программирование.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 244
Скачиваний: 7
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Методические указания к курсовой работепо дисциплине «Технологии программирования»на тему «Объектно-ориентированное программирование»1. Организация работы1.1. Цели работыВажным фактором подготовки специалистов в области информационных технологий является умение программировать, используя современные языки, включающие объектные возможности, знакомство с основными методами и современными технологиями программирования, в том числе с использованием объектных библиотек конкретных языков.Целью работы является развитие данных навыков в ходе решения конкретной практической задачи – разработки приложения для тестирования спроектированной системы классов. При этом студентам предоставляется право выбора конкретного языка и средства разработки. Целью такого подхода является развитие способностей к обоснованному принятию самостоятельных решений и получение базового опыта разработки информационных систем.1.2. Тематика работыВ ходе выполнения курсовой работы студенты должны практически освоить общий методологический подход, используемый при проектировании и программной реализации системы классов, соответствующей объектно-ориентированной парадигме программирования. Создаваемая система классов описывает (моделирует) определённую предметную область и может служить основой для полноценной информационной системы, решающей задачи данной области. Спроектированная система классов должна быть не только реализована в виде программы на одном из Си-подобных объектно-ориентированных языков, но и протестирована. Для тестирования классов студент должен разработать приложение, функциональные возможности которого должны демонстрировать различные варианты использования объектов созданных классов.1.3. Задание на работуВ ходе курсовой работы необходимо разработать приложение, тестирующее систему (библиотеку) классов, спроектированную и реализованную для решения конкретной задачи из некоторой предметной области. При этом подлежат разработке следующие вопросы:а) анализ задания;б) разработка библиотеки классов;в) разработка тестового приложения;г) оформление расчётно-пояснительной записки по результатам выполнения работы.Открытый список вариантов задания на проектирование приведён в Приложении А.
Каждый из вариантов определяет предметную область, для моделирования которой должна быть разработана система классов. Если списковый номер студента (№) превышает 20, то его вариант вычисляется, как №-20.Минимальное количество классов в библиотеке – 3. Отдельный класс должен содержать: конструктор, деструктор, поля (количество элементов и т.п.), методы (добавление, удаление, вывод, поиск и.т.д.), свойства (по необходимости), модификаторы доступа. С помощью описанной библиотеки классов требуется продемонстрировать решение предложенной задачи.Оформление расчётно-пояснительной записки должно соответствовать требованиям ГОСТ, ЕСКД, ЕСПД.2. Состав работыДля данной работы рекомендовано следующее содержание расчётно-пояснительной записки:1. Титульный лист2. Задание на работу3. Содержание4. Анализ задания4.1 Диаграмма вариантов использования UML5. Разработка библиотеки классов5.1. Диаграмма классов UML5.2. Выбор языка программирования5.3. Реализация классов5.4 Диаграмма компонентов UML6. Разработка тестового приложения6.1. Методика тестирования (методом базового пути)6.2. Структура тестового приложения7. Результаты тестирования8. Список использованных источников9. Приложение А. Программный код тестового приложения3. Рекомендации по выполнению работы3.1. Порядок выполнения1. Анализ задания. Описание предметной области.2. Разработка библиотеки классов:2.1. Определение набора классов, их свойств и методов, иерархии наследования.2.2. Формализация описания классов в виде диаграммы классов.2.3. Выбор средств реализации библиотеки классов – языка программирования и среды разработки.2.4. Программная реализация классов.3. Разработка приложения для тестирования системы классов:3.1. Определение методики тестирования для демонстрации использования всех методов созданных классов.3.2. Проектирование тестового приложения.3.3. Программная реализация тестового приложения.4. Тестирование системы классов. Демонстрация работы тестового приложения.5. Подготовка расчётно-пояснительной записки.6. Демонстрация работы программы преподавателю и защита работы.
3.2. Анализ задания.Основой курсовой работы является некоторая предметная область со своими терминами, понятиями, объектами, отношениями между этими объектами. Очевидно, что специалист в области информационных технологий далеко не всегда является специалистом в той сфере, для которой он выполняет разработку информационной системы. Поэтому залогом успешного решения поставленной перед ним задачи является подробный и качественный анализ всех аспектов той пользовательской среды, в которой будет функционировать создаваемое программное приложение или информационная система.В ходе анализа предметной области необходимо на основе знакомства с литературными источниками и общения с заказчиком выявить: 1. Чему посвящена предметная область, какие в ней есть термины и понятия, субъекты и объекты, способы взаимодействия субъектов, способы использования объектов, закономерности. Например, если речь идёт о графических примитивах в трёхмерном пространстве, то следует выявить список возможных примитивов (точка, линия, прямоугольник, параллелепипед, шар и т.п.), способы их описания (так, для точки достаточно указать её координаты, а для шара необходимо знать координаты центра и радиус), возможные способы преобразования (перемещение, масштабирование, поворот и т.п.).2. Что входит в словарь предметной области, отдельно выделив список существительных и список глаголов, которые могут быть связаны с существительными. Для графических примитивов существительными могут быть: «точка», «координата», «шар», «угол», «цвет», «длина», «ширина» и др. А в качестве глаголов можно указать: «нарисовать», «повернуть», «масштабировать», «переместить».3. Каковы функциональные требования к разрабатываемой информационной системе. Основой их служат потребности заказчика, однако разработчик должен оценить возможность реализации требований, исходя из технических возможностей и имеющихся ресурсов. Результат анализа должен быть формализован. В реальной ситуации обычно оформляется протокол обсуждения, заключается договор, формулируется техническое задание. Все документы заверяют полномочные представители заказчика и разработчика. Во избежание конфликтных ситуаций следует задокументировать все решения, принятые по спорным моментам.В рамках работы в роли заказчика выступает преподаватель, выдавший задание. Студент проводит анализ предметной области, основываясь на своих собственных знаниях, литературных источников и в ходе общения с преподавателем. Результат должен быть оформлен в виде реферативного описания предметной области. Из этого описания должен логически следовать словарь предметной области, состоящий из списка существительных и глаголов. Именно он послужит основой следующего этапа работы.
3.3. Проектирование системы классовПроектирование системы классов начинается с обработки словаря предметной области. Эта обработка состоит в выявлении того, какие слова соответствуют объектам, классам, свойствам и методам. Список существительных служит основой для выделения классов и их свойств, а список глаголов – для определения методов.Для приведённого выше примера можно указать следующее соответствие:
Результаты такого анализа должны быть оформлены в виде диаграммы классов. Предпочтительным является использование нотации языка UML. В частности, следует придерживаться следующих правил:
Каждый из вариантов определяет предметную область, для моделирования которой должна быть разработана система классов. Если списковый номер студента (№) превышает 20, то его вариант вычисляется, как №-20.Минимальное количество классов в библиотеке – 3. Отдельный класс должен содержать: конструктор, деструктор, поля (количество элементов и т.п.), методы (добавление, удаление, вывод, поиск и.т.д.), свойства (по необходимости), модификаторы доступа. С помощью описанной библиотеки классов требуется продемонстрировать решение предложенной задачи.Оформление расчётно-пояснительной записки должно соответствовать требованиям ГОСТ, ЕСКД, ЕСПД.2. Состав работыДля данной работы рекомендовано следующее содержание расчётно-пояснительной записки:1. Титульный лист2. Задание на работу3. Содержание4. Анализ задания4.1 Диаграмма вариантов использования UML5. Разработка библиотеки классов5.1. Диаграмма классов UML5.2. Выбор языка программирования5.3. Реализация классов5.4 Диаграмма компонентов UML6. Разработка тестового приложения6.1. Методика тестирования (методом базового пути)6.2. Структура тестового приложения7. Результаты тестирования8. Список использованных источников9. Приложение А. Программный код тестового приложения3. Рекомендации по выполнению работы3.1. Порядок выполнения1. Анализ задания. Описание предметной области.2. Разработка библиотеки классов:2.1. Определение набора классов, их свойств и методов, иерархии наследования.2.2. Формализация описания классов в виде диаграммы классов.2.3. Выбор средств реализации библиотеки классов – языка программирования и среды разработки.2.4. Программная реализация классов.3. Разработка приложения для тестирования системы классов:3.1. Определение методики тестирования для демонстрации использования всех методов созданных классов.3.2. Проектирование тестового приложения.3.3. Программная реализация тестового приложения.4. Тестирование системы классов. Демонстрация работы тестового приложения.5. Подготовка расчётно-пояснительной записки.6. Демонстрация работы программы преподавателю и защита работы.
3.2. Анализ задания.Основой курсовой работы является некоторая предметная область со своими терминами, понятиями, объектами, отношениями между этими объектами. Очевидно, что специалист в области информационных технологий далеко не всегда является специалистом в той сфере, для которой он выполняет разработку информационной системы. Поэтому залогом успешного решения поставленной перед ним задачи является подробный и качественный анализ всех аспектов той пользовательской среды, в которой будет функционировать создаваемое программное приложение или информационная система.В ходе анализа предметной области необходимо на основе знакомства с литературными источниками и общения с заказчиком выявить: 1. Чему посвящена предметная область, какие в ней есть термины и понятия, субъекты и объекты, способы взаимодействия субъектов, способы использования объектов, закономерности. Например, если речь идёт о графических примитивах в трёхмерном пространстве, то следует выявить список возможных примитивов (точка, линия, прямоугольник, параллелепипед, шар и т.п.), способы их описания (так, для точки достаточно указать её координаты, а для шара необходимо знать координаты центра и радиус), возможные способы преобразования (перемещение, масштабирование, поворот и т.п.).2. Что входит в словарь предметной области, отдельно выделив список существительных и список глаголов, которые могут быть связаны с существительными. Для графических примитивов существительными могут быть: «точка», «координата», «шар», «угол», «цвет», «длина», «ширина» и др. А в качестве глаголов можно указать: «нарисовать», «повернуть», «масштабировать», «переместить».3. Каковы функциональные требования к разрабатываемой информационной системе. Основой их служат потребности заказчика, однако разработчик должен оценить возможность реализации требований, исходя из технических возможностей и имеющихся ресурсов. Результат анализа должен быть формализован. В реальной ситуации обычно оформляется протокол обсуждения, заключается договор, формулируется техническое задание. Все документы заверяют полномочные представители заказчика и разработчика. Во избежание конфликтных ситуаций следует задокументировать все решения, принятые по спорным моментам.В рамках работы в роли заказчика выступает преподаватель, выдавший задание. Студент проводит анализ предметной области, основываясь на своих собственных знаниях, литературных источников и в ходе общения с преподавателем. Результат должен быть оформлен в виде реферативного описания предметной области. Из этого описания должен логически следовать словарь предметной области, состоящий из списка существительных и глаголов. Именно он послужит основой следующего этапа работы.
3.3. Проектирование системы классовПроектирование системы классов начинается с обработки словаря предметной области. Эта обработка состоит в выявлении того, какие слова соответствуют объектам, классам, свойствам и методам. Список существительных служит основой для выделения классов и их свойств, а список глаголов – для определения методов.Для приведённого выше примера можно указать следующее соответствие:
-
классы: точка, шар; -
свойства: координата, угол, цвет, длина, ширина; -
методы: нарисовать, повернуть, масштабировать, переместить.
Результаты такого анализа должны быть оформлены в виде диаграммы классов. Предпочтительным является использование нотации языка UML. В частности, следует придерживаться следующих правил:
-
класс обозначается прямоугольником; -
прямоугольник делится на три части, в каждой из которых, соответственно, указываются: имя класса, список свойств, список методов; -
имена классов, свойств и методов могут быть записаны на русском языке, но в соответствии с нормами написания стандартных идентификаторов (одно слово, включающее буквы, цифры, символ подчёркивания и не начинающееся с цифры); -
имена классов записываются с заглавной буквы, имена свойств и методов – со строчной; -
перед именем свойства или метода ставится символ, указывающий на режим доступности: закрытый (-), защищённый (#), открытый (+); -
после имени метода ставятся круглые скобки, в которых могут быть перечислены параметры метода; -
наследование классов обозначается стрелкой с треугольным не закрашенным наконечником; -
стрелка при наследовании направляется от класса-наследника к родительскому классу.