План на курса

Софтуерно инженерство - 5 дни

Ден 1: Управление на проекти

  • Сравнение между управление на проекти и управление на линейни дейности, поддръжка и обслужване
  • Дефиниране на проект и форми за проекти
  • Управление – общи правила и управление на проекти
  • Стилове на управление
  • Какво е специално за ИТ проекти?
  • Основен процес на проекти
  • Итеративен, инкрементален, водопаден, агилен и лийнен процес на проекти
  • Фази на проекти
  • Роли в проекти
  • Документация на проекти и други артефакти
  • Мек фактори и „людска стойност“
  • PRINCE 2, PMBOK, PMI, IPMA и други стандарти за проекти

Ден 2: Основни принципи на бизнес анализ и инженерия на изисквания

  • Дефиниране на бизнес цели
  • Бизнес анализ, управление на бизнес процеси и подобряване на бизнес процеси
  • Границата между бизнес и системен анализ
  • Стейкхолдери на системата, потребители на системата, контекст на системата и граници на системата
  • Защо са необходими изискванията?
  • Какво е инженерия на изисквания?
  • Границата между инженерия на изисквания и архитектурно проектиране
  • Къде често е скрита инженерията на изисквания?
  • Инженерия на изисквания в итеративен, лийн и агилен разработка и в непрекъснато интегриране – FDD, DDD, BDD, TDD
  • Основен процес на инженерия на изисквания, роли и артефакти
  • Стандарти и сертификати: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA

Ден 3: Основни принципи на архитектура и разработка

  • Езици за програмиране – структурни и обекто-ориентирани парадигми
  • Обекто-ориентиран разработка – колко е история, колко е бъдеще
  • Модуларност, портируемост, поддръжка и мащабируемост на архитектури
  • Дефиниране и типове на софтуерни архитектури
  • Архитектура на предприятия и системна архитектура
  • Стилове на програмиране
  • Програмиращи среди
  • Грешки при програмиране и как да ги предотвратим
  • Моделиране на архитектури и компоненти
  • SOA, Web Services и микросъобщителни услуги
  • Автоматично изграждане и непрекъснато интегриране
  • Колко архитектурно проектиране има в един проект?
  • Екстремно програмиране, TDD и рефакторинг

Ден 4: Основни принципи на осигуряване на качество и тестване

  • Качество на продукта: какво е? ISO 25010, FURPS и т.н.
  • Качество на продукта, потребителски опит, Кано Модел, управление на клиентския опит и интегрално качество
  • Дизайн, ориентиран към потребителя, персонажи и други начини за индивидуализиране на качеството
  • Достатъчно качество
  • Осигуряване на качество и контрол на качеството
  • Стратегии за управление на риск в контрол на качеството
  • Компоненти на осигуряване на качеството: изисквания, контрол на процеса, управление на конфигурацията и промените, верификация, валидация, тестване, статично тестване и статичен анализ
  • Осигуряване на качество, ориентирано към риск
  • Тестване, ориентирано към риск
  • Разработка, ориентирана към риск
  • Кривата на Бом в осигуряване на качество и в тестване
  • Четирите училища по тестване – кое подхожда на нуждите ви?

Ден 5: Типове процеси, зрелост и подобряване на процеса

  • Еволюцията на ИТ процеса: от Алън Тюринг през Биг Блу до лийн стартап
  • Процес и организация, ориентирана към процеса
  • Историята на процесите в занаятчийството и индустрията
  • Моделиране на процеса: UML, BPMN и повече
  • Управление на процеса, оптимизация на процеса, реенжиниринг на процеса и системи за управление на процеса
  • Иновативни процесни подходи: Деминг, Джуран, TPS, Кайзен
  • Да ли (процесно) качеството е безплатно? (Филип Кросби)
  • Нуждата и историята на подобряване на зрелостта: CMMI, SPICE и други скали за зрелост
  • Специални типове зрелост: TMM, TPI (за тестване), Зрелост на инженерия на изисквания (Горшек)
  • Процесна зрелост срещу зрелост на продукта: няма ли корелация? Няма ли причинно-следствена връзка?
  • Процесна зрелост срещу бизнес успех: няма ли корелация? Няма ли причинно-следствена връзка?
  • Забравен урок: Автоматизирано предотвратяване на дефекти и следващият скок в продуктивността
  • Опити: TQM, SixSigma, агилни ретрспективи, процесни рамки

Инженерия на изисквания - 2 дни

Ден 1: Елициране, преговаряне, консолидация и управление на изисквания

  • Намиране на изисквания: какво, кога и от кого
  • Класификация на стейкхолдери
  • Забравени стейкхолдери
  • Дефиниране на системен контекст – дефиниране на източници на изисквания
  • Методи и техники за елициране
  • Прототипиране, персонажи и елициране на изисквания чрез тестване (разследващо и друго)
  • Маркетинг и елициране на изисквания – MDRA („Market-Driven Requirements Engineering“)
  • Приоритизиране на изисквания: MoSCoW, Карл Вигерс и други техники (включително агилни MMF)
  • Уточняване на изисквания – агилен „спецификация чрез пример“
  • Преговаряне на изисквания: типове конфликти, методи за разрешаване на конфликти
  • Решаване на вътрешна несъвместимост между някои типове изисквания (например сигурност срещу удобство за ползване)
  • Следливост на изискванията – защо и как
  • Промени в статуса на изискванията
  • CCM на изискванията, версиониране и бази
  • Продуктов и проектен поглед върху изискванията
  • Управление на продукта и управление на изискванията в проекти

Ден 2: Анализ, моделиране, спецификация, верификация и валидация на изисквания

  • Анализът е мисленето и преразмислянето, което правите между елицирането и спецификацията
  • Процесът на изискванията е винаги итеративен, дори в последователни проекти
  • Описване на изискванията на естествен език: рискове и ползи
  • Моделиране на изискванията: ползи и разходи
  • Правилата за използване на естествен език за спецификация на изисквания
  • Дефиниране и управление на глосарий на изисквания
  • UML, BPMN и други формални и полуформални нотации за моделиране на изисквания
  • Използване на шаблони за документи и изречения за описване на изисквания
  • Верификация на изискванията – цели, ниво и методи
  • Валидация – с прототипиране, прегледи и инспекции, и тестване
  • Валидация на изискванията и валидация на системата

Тестване - 2 дни

Ден 1: Дизайн на тестове, изпълнение на тестове и разследващо тестване

  • Дизайн на тестове: след тестване, ориентирано към риск, избор на оптималния начин за използване на наличния време и ресурси
  • Дизайн на тестове „от безкрайността до тук“ – изчерпателно тестване не е възможно
  • Тест кейсове и тест сценарии
  • Дизайн на тестове на различни тестови нива (от ниво на единица до ниво на системно тестване)
  • Дизайн на тестове за статично и за динамично тестване
  • Дизайн на тестове, ориентиран към бизнес и техника („черен кутийка“ и „бяла кутийка“)
  • Опит за разбиване на системата („негативно тестване“) и поддръжка на разработчиците (тестване за приемане)
  • Дизайн на тестове за постигане на покриване на тестовете – различни мерки за покриване на тестовете
  • Дизайн на тестове, базиран на опит
  • Дизайн на тест кейсове от изисквания и системи модели
  • Евристики за дизайн на тестове и разследващо тестване
  • Кога да проектираме тест кейсове? – традиционен и разследващ подход
  • Описване на тест кейсове – колко детайли?
  • Изпълнение на тестове – психологически аспекти
  • Изпълнение на тестове – логиране и отчетност
  • Дизайн на тестове за „нефункционално“ тестване
  • Автоматично дизайн на тестове и MBT (Model-Based Testing)

Ден 2: Организация, управление и автоматизация на тестовете

  • Нива на тестване (или фази)
  • Кой тества и кога? – различни решения
  • Тестови среди: разходи, администрация, достъп, отговорност
  • Симулатори, емулатори и виртуална тестова среда
  • Тестване в агилен скрам
  • Организация на тестовата екипа и роли
  • Процес на тестване
  • Автоматизация на тестване – какво може да бъде автоматизирано?
  • Автоматизация на изпълнението на тестове – подходи и инструменти
 63 часа

Брой участници


Цена за участник

Отзиви от потребители (5)

Предстоящи Курсове

Свързани Kатегории