План на курса
Софтуерно инженерство - 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: Организация, управление и автоматизация на тестовете
- Нива на тестване (или фази)
- Кой тества и кога? – различни решения
- Тестови среди: разходи, администрация, достъп, отговорност
- Симулатори, емулатори и виртуална тестова среда
- Тестване в агилен скрам
- Организация на тестовата екипа и роли
- Процес на тестване
- Автоматизация на тестване – какво може да бъде автоматизирано?
- Автоматизация на изпълнението на тестове – подходи и инструменти
Отзиви от потребители (5)
Добро взаимоотношение, Łukasz имаше време за въпросите на всички и успя да помогне на всяко лице с проблеми.
Kelly Morris - Titian Software Poland Sp. z o.o.
Курс - Selenium WebDriver in C#
Машинен превод
Количество практически упражнения.
Jakub Wasikowski - riskmethods sp. z o.o
Курс - API Testing with Postman
Машинен превод
Тренерът обясни всяка функционалност подробно.
Argean Quilaquil - DXC
Курс - TestComplete
Машинен превод
Тренерът е приятен. Обясненията му са ясни и интересни. Той се старае да направи уроците колкото е възможно по-интересни. Насладих се на урока и придобих много знания. Благодаря ти много. Най-полезната техника, която научих, е локализирането на елементи за различни веб компоненти като текстови полета, радиобутони и бутони. Понякога идентификаторът на елемента не се заваря правилно. Научихме различен начин за локализиране на елементи чрез CSS селектори, XPath, име и ID. Много ми харесаха обясненията. Благодаря ти.
Bee Chin Chuah - I-Access Solutions Pte Ltd
Курс - Advanced Selenium with C#
Машинен превод
The One on One session is amazing!! And thankful that the trainer's skills are Excellent and his willingness to share them to the fullness. I am very satisfied. . with the training and I wouldn't have wish to have done it anywhere else. I would only wish that I had One day longer for the training.
Isaac Nyembo - Bechtle Clouds GmbH
Курс - Advanced Selenium
Машинен превод