Домашнее задание
Целью выполнения домашнего задания по дисциплине «Объектно-ориентированное программирование на языке Java» является закрепление теоретических знаний и отработка практических навыков применения объектно-ориентированной парадигмы программирования. По результатам выполнения домашнего задания студент представляет отчет, соответствующий нижеприведенным требованиям.
Требования к отчету
Отчет о выполнении ДЗ должен включать:
- введение (актуальность рассматриваемой технологии, преимущества, назначение, решаемые задачи, краткое описание содержания пояснительной записки);
- обзор базовой технологии, использованной на этапах проектирования и конструирования ПО (описания для данной технологии use-case диаграмм, видов и характеристик обеспечивающих подсистем, диаграмм классов, если необходимо диаграмм взаимодействия, диаграмм последовательности действий и т.п. в нотациях языка UML, необходимый теоретический материал, обзор известных подходов к решению подобных задач, обзор существующих аналогов системы);
- создание примеров кода в заданной области, описание особенностей компиляции и запуска приложений, аспекты реализации, назначение и область применения;
- результаты тестирования (описание методики тестирования, результаты тестов и их анализ, демонстрация достоинств использования системы, полный перечень недостатков, недоработок и отрицательных особенностей системы);
- заключение (основные выводы по технологии, достоинства и недостатки демонстрационных примеров);
- список использованных источников (со ссылками в тексте отчёта).
Гармония идей и оформления не всегда достижима в работе одного человека: некоторые лучше генерируют идеи, другие – их обосновывают, третьи – популяризируют. Поэтому при получении и выполнении домашнего задания предусматривается возможность коллективной работы 2-3 студентов.
Выбор темы домашнего задания (ДЗ) должен быть согласован с преподавателем и базироваться на использовании языка Java для решения научных и производственных задач.
Примеры тем домашних заданий
Тема 1: Использование веб-cервисов в Java SE 6
Задача: Описание и анализ основных принципов устройства и организации веб-сервисов Java 6. Создание демонстрационного клиент-серверного приложения. Обязательный разбор:
- XML (расширяемый язык разметки);
- SOAP (протокол обмена сообщениями на базе XML);
- WSDL (язык описания внешних интерфейсов веб-службы на базе XML);
- UDDI (универсальный интерфейс распознавания описания и интеграции).
Тема 2: Приложение для Android
Задача: Разбор технологии разработки приложений для Android. Реализация примеров и компонентов, которые демонстрируют то или иное преимущество данной технологии. Разработка полнофункционального приложения для андроид с учетом особенностей этой операционной системы. Выбор типа приложения (переднего плана, фоновое, виджет) должен быть согласован с преподавателем.
Тема 3: Обзор и использование технологии Struts, jsp и создание веб-приложений на Java
Задача: Разбор технологии web-программирования Struts. Создавать и управлять его шаблонами HTML-style и компонентами композиции многократного использования. Реализация примеров и компонентов, которые демонстрируют то или иное преимущество данной технологии.
Тема 4: Обзор и использование технологии Facelets
Задача: Разбор технологии web-программирования Facelets. Создавать и управлять его шаблонами HTML-style и компонентами композиции многократного использования. Реализация примеров и компонентов, которые демонстрируют то или иное преимущество данной технологии. Обязательное описание следующих тем: рациональных значений по умолчанию, собственные логические теги, метапрограммирование.
Тема 5: Поддержка скриптовых языков в Java-приложениях
Задача: Разбор технологий и анализ возможностей использования скриптовых языков JavaScript и Groovy в приложениях Java. Разработка демонстрационных примеров (примера), иллюстрирующих особенности использования данных языков. Выводы о целесообразности использования скриптов в конкретных ситуациях.
Тема 6: Использование Java Standart Tag Library(JSTL).
Задача: Создание простейшего веб-приложения с использованием технологии JSTL. Обзор технологии.
Тема 7: WEB 2.0. AJAX, GWT
Задача: Разбор технологии web-программирования AJAX/GWT. Реализация примеров и компонентов, которые демонстрируют то или иное преимущество данной технологии. Обязательное описание следующих тем: основы Ajax (asynchronous JavaScript and XML), использование Google Web Toolkit (GWT), адресация сообщений и объект XMLHttpRequest.
Тема 8: Использование библиотеки Standart Widget Toolkit (SWT)
Задача: Разбор технологии SWT. Реализация примеров и компонентов, которые демонстрируют то или иное преимущество данной технологии, сравнение SWT и SWING. Работа с кнопками, меню, деревьями, таблицами. Особенности запуска в Windows.
Тема 9: Исследование технологии Java 3D(OpenGL).
Задача: Исследовать графические средства Java 3D, реализовать приложение, демонстрирующее полученные навыки. Примером приложения может быть программа, отображающая трёхмерные объекты (например, планеты солнечной системы).
Тема 10: Сопровождение Java приложений. Архивы JAR, WAR, EAR.
Задача: Анализ процессов сборки приложений(утилита ant) и их распространения (jar — архив приложения, war – веб-архив). Обзор средств языка Java, позволяющие создавать необходимые приложения, способы создания и модификации Java-архивов, файл манифеста (manifest file), описывающий особенности архива. Обязательная разработка:
- рассмотрение основных способов создания Java-архивов;
- рассмотрение внутренней структуры архива;
- рассмотрение основных видов Java-архивов;
- компиляция и запуск полученных приложений.
Тема 11: Java ME Wireless Messaging
Задача: Обзор технологии Java ME (см. Е.Буткевич. Пишем программы для сотовых телефонов). Разработка демонстрационных примеров (примера) иллюстрирующие пересылку и работу с SMS-сообщениями, изучение спецификации JSR000120. Обзор возможных приложений с использованием WMA.
CC-BY-CA Юдин Е.Б., 29.10.2013