Software Engineering Basics
-
Функциональные.
- Требования пользователей сайта.
- Требования владельцев сайта.
- Нефункциональные.
Требования необходимо оформить в соответствии с шаблонами RUP (документ SRS - Software Requirements Specification). Для каждого из требований нужно указать его атрибуты (в соответствии с методологией RUP), а также оценить и аргументировать приблизительное количество часов, требующихся на реализацию этого требования.
Для функциональных требований нужно составить UML UseCase-диаграммы, описывающие реализующие их прецеденты использования.
Отчёт по лабораторной работе должен содержать:
- Документ Software Requirements Specification, содержащий список требований к сайту.
- UseCase-диаграммы прецедентов использования, реализующих функциональные требования.
- Выводы по работе.
Вопросы к защите лабораторной работы:
- Методологии разработки ПО. Унифицированный процесс.
- Требования и их категоризация. Атрибуты требований.
- Язык UML.
- Прецеденты использования. UseCase-диаграммы - состав, виды связей.
Сконфигурировать в своём домашнем каталоге репозитории svn и git и загрузить в них начальную ревизию файлов с исходными кодами (в соответствии с выданным вариантом).
Воспроизвести последовательность команд для систем контроля версий svn и git, осуществляющих операции над исходным кодом, приведённые на блок-схеме.
При составлении последовательности команд необходимо учитывать следующие условия:
- Цвет элементов схемы указывает на пользователя, совершившего действие (красный - первый, синий - второй).
- Цифры над узлами - номер ревизии. Ревизии создаются последовательно.
- Необходимо разрешать конфликты между версиями, если они возникают.
Отчёт по работе должен содержать:
- Задание и блок-схему в соответствии с вариантом.
- Список команд, использованных при создании и конфигурации репозиториев в домашнем каталоге пользователя.
- Номера ревизий и соответствующие им последовательности команд с комментариями (для svn и git).
- Выводы по работе.
Вопросы к защите лабораторной работы:
- Системы контроля версий - назначение, примеры решений.
- Ревизии и ветки.
- Основные операции над данными в системах контроля версий. Основные команды svn и git.
- Виды конфликтов и способы их решения.
Вопросы к защите лабораторной работы:
- Тестирование ПО. Цель тестирования, виды тестирования.
- Модульное тестирование, основные принципы и используемые подходы.
- Пакет JUnit, основные API.
- Системы автоматической сборки. Назначение, принципы работы, примеры систем.
- Утилита make. Make-файлы, цели и правила.
- Утилита Ant. Сценарии сборки, цели и команды.
Отчёт по работе должен содержать:
- Текст задания.
- Исходный код разработанных MBean-классов и сопутствующих классов.
- Скриншоты программы JConcole со снятыми показаниями, выводы по результатам мониторинга.
- Скриншоты программы VisualVM со снятыми показаниями, выводы по результатам профилирования.
- Скриншоты программы VisualVM с комментариями по ходу поиска утечки памяти.
- Выводы по работе.
Вопросы к защите лабораторной работы:
- Мониторинг и профилирование. Основные понятия. Отличия мониторинга от профилирования.
- Инфраструктура для организации мониторинга и профилирования в составе JDK. JMX.
- MBeans. Основные понятия. Архитектура фреймворка.
- Утилита JConsole. Возможности, область применения.
- Утилита Visual VM. Возможности, область применения.
- Удалённый мониторинг и профилирование приложений на платформе Java.