Загрузил noskowaanastasya

ИТ

реклама
Ожидания:
1. Знание подходов к разработке ПО, стадий жизненного цикла разработки ПО;
2. Знание понятий процесса системного анализа, структуры документов,
используемых в системном анализе;
3. Знание правил построения интерфейсов: принципы, этапы разработки,
критерии качества;
4. Опыт формирования функциональных требований к обменам между
системами (контрактам). Опыт работы с ПО класса ESB: MQ, Rabbit, Kafka;
5. Опыт проведения тестирования разработанного функционала;
6. Умение строить SQL запросы.
1.1. Подходы к разработке ПО
1.1.1 каскадная модель или «водопад»
последовательное прохождение стадий, каждая из которых должна завершиться
полностью до начала следующей
Когда использовать каскадную методологию?

Только тогда, когда требования известны, понятны и зафиксированы.
Противоречивых требований не имеется.
 Нет проблем с доступностью программистов нужной квалификации.
 В относительно небольших проектах.
1.1.2. «V-Model»
«шаг за шагом» (аналогично водопаду) + тщательная проверка и тестирование
продукта, находящегося уже на первоначальных стадиях проектирования
Когда использовать V-модель?

Если требуется тщательное тестирование продукта, то V-модель оправдает
заложенную в себя идею: validation and verification.
 Для малых и средних проектов, где требования четко определены и
фиксированы.
 В условиях доступности инженеров необходимой квалификации, особенно
тестировщиков.
1.1.3. инкрементная модель
несколько циклов разработки
Когда использовать инкрементную модель?

Когда основные требования к системе четко определены и понятны. В то же
время некоторые детали могут дорабатываться с течением времени.
 Требуется ранний вывод продукта на рынок.
 Есть несколько рисковых фич или целей.
1.1.4. «RAD Model» (быстрая разработка приложений)
Бизнес-моделирование -> Моделирование данных -> Моделирование процесса ->
Сборка приложения -> Тестирование
Когда используется RAD-модель?
Бюджет проекта большой, RAD-модель может быть выбрана при уверенном знании
целевого бизнеса и необходимости срочного производства системы в течение 2-3
месяцев.
1.1.5. «Agile Model» (гибкая методология разработки)
Методология подходит для больших или нацеленных на длительный жизненный цикл
проектов, постоянно адаптируемых к условиям рынка. Соответственно, в процессе
реализации требования изменяются.
Когда использовать Agile?

Когда потребности пользователей постоянно меняются в динамическом
бизнесе.
 Изменения на Agile реализуются за меньшую цену из-за частых инкрементов.
 В отличие от модели водопада, в гибкой модели для старта проекта достаточно
лишь небольшого планирования.
1.1.6. итерационная модель
похожа на инкрементную, НО в инкрементной модели функционал продукта
наращивается по кусочкам, продукт составляется из частей, А в итерационной модели
каждый кусочек представляет собой целостный элемент.
Когда оптимально использовать итеративную модель?



Требования к конечной системе заранее четко определены и понятны.
Проект большой или очень большой.
Основная задача должна быть определена, но детали реализации могут
эволюционировать с течением времени.
1.1.7. спиральная модель
«Спиральная модель» похожа на инкрементную, но с акцентом на анализ рисков.
1.2. Этапы ЖЦ разработки ПО
сбор и анализ требований, проектирование, разработка, тестирование, внедрение,
сопровождение.
2. Системный анализ
Системный анализ обеспечивает строгий подход к технике принятия решений. Он
используется для исследования альтернатив и включает моделирование и имитацию, анализ
затрат, анализ технических рисков и анализ эффективности.
Шаги системного анализа: Определение проблемы -> Анализ проблемы -> Разработать
потенциальные решения -> Оценить потенциальные решения -> Реализовать решение
3. Интерфейсы
Основные принципы проектирования интерфейсов:
 Сигнализировать о состоянии системы.
 Использовать опыт пользователя и силу привычки.
 Экономить усилия пользователя.
 Продумать пути выхода из сценария.
 Позволить пользователям настроить интерфейс для себя.
 Помнить о едины стандартах (нет многообразия форм)
 Предотвращать ошибки.
 Дозировать информацию.
Скачать