В рамках пакета образовательных услуг для высокотехнологичного бизнеса наша компания представляет курс Оценка в разработке ПО. Курс формирует у слушателей понимание процесса оценки в разработке программного обеспечения. В рамках данного курса рассматриваются основные концепции оценки — метрики, единицы измерения, иерархия оценок, предположения, ограничения, риски, точность оценки, а также роль статистических данных. Основное внимание уделено существующим методикам оценивания, детально рассматривается экспертная оценка и оценка по аналогии, метод функциональных точек и ранних функциональных точек, метод оценки по вариантам использования и COCOMO II. Также в курсе рассматривается связь процесса оценки с другими процессами жизненного цикла проекта (планирование, управление рисками, управление изменениями).
среда, 16 июля 2014 г.
Мониторинг и контроль проекта
В рамках пакета образовательных услуг для высокотехнологичного бизнеса наша компания представляет курс Мониторинг и контроль проекта. В течение данного курса слушатели знакомятся с различными видами мониторинга проектов. Одной из целей данного курса является формирование у слушателей навыков сбора данных о ходе проекта и их анализа. В начале курса рассматриваются методы контроля состояния проекта: оценки достигнутых результатов, количества использованных и оставшихся ресурсов. Впоследствии выполняется сравнение результатов проведенных измерений с запланированными ранее величинами, а также оценка степени их соответствия установленным стандартам разработки, что позволяет оперативно выявлять проблемы в ходе проекта и при необходимости выполнять перепланирование.
Разработка требований
В программе курса – обучение разработке документации по требованиям, в том числе разработке спецификаций.
Также в курсе рассматривается специфика разработки требований в проектах различного типа.
Особое внимание уделено роли в проекте разработке ПО аналитика требований, вопросам бизнес-правил и бизнес-требований.
Назначение курса
Курс предназначен для:- бизнес-аналитиков, аналитиков требований, системных аналитиков
- членов проектных команд, вовлеченных в процессы разработки требований
- ведущих разработчиков, лидеров команд
Необходимые навыки
Слушатели курса должны обладать опытом участия в проектах разработки ПО.Цели:
- Дать знания обо всех процессах разработки требований
- Познакомить с методами разработки требований и дать навык их применения
- Научить определять бизнес-правила заказчика
- Научить выявлять требования
- Научить специфицировать требования
- Дать навык разработки документации по требованиям, в том числе спецификации требований
- Познакомить с понятиями уровней и приоритезации требований
- Дать знания о процессах проверки, утверждения и тестирования требований
- Познакомить со спецификой разработки требований в проектах различного типа
Содержание курса
- Выявление требований
- Роль аналитика требований
- Определение бизнес-требований
- Документирование требований
- Спецификация требований
- Интерпретация требований
- Уровни требований
- Приоретизация требований
- Моделирование требований
- Проверка требований
- Утверждение требований
- Экспертиза и пересмотр требований
- Тестирование требований
- Разработка требований в проектах различного типа
Продолжительность:
2 дня (16 ак. часов)Управление требованиями
Слушатели также знакомятся с различными формами представления требований и с методами их оценки. Подробно рассматриваются процессы и методы управления изменениями требований на всех стадиях жизненного цикла разработки ПО.
В ходе курса слушатели узнают о том, как адаптировать процесс управления требованиями к различным условиям разработки (выбранной модели жизненного цикла, масштабу проекта, ограниченности ресурсов). В качестве иллюстрации приводятся конкретные примеры из мировой и отечественной практики разработки ПО.
Курс предназначен для:
- Системных и бизнес-аналитиков
- Ведущих разработчиков
- Разработчиков, стремящихся повысить свою квалификацию
Необходимые навыки:
Слушатели должны обладать опытом работы в составе группы разработки ПО.Цели
- Познакомить слушателей с местом и ролью требований в процессе разработки ПО
- Научить слушателей классифицировать и детализировать требования
- Познакомить слушателей с понятиями качества требований, научить оценивать качество требований
- Дать основные сведения о процессе разработки требований, его участниках
- Познакомить слушателей с основными проблемами, возникающими в процессе определения требований, и с путями их решения
- Познакомить слушателей с понятиями трассировки требований и матрицы трассировки, научить выполнять трассировку
- Дать знания об управлении изменениями и связанных с ними процессах (контроль изменений, риски проекта
Содержание курса:
Общие вопросы при работе с требованиями
- Основные проблемы, возникающие в процессе определения требований
- Основные понятия управления требованими
- Требования в жизненном цикле разработки ПО
- Виды требований, документирование требований
- Качество требований
Процесс работы с требованиями
- Разработка требований
- Участники процесса
- Стандартизация процесса
Трассировка требований
- Взаимосвязь требований
- Vатрица трассировки
Управление требованиями
- Управление изменениями
- Контроль версий
- Контроль состояния
Управление изменениями
- Последствия изменений и риски
- Контроль изменений
- Совет по контролированию изменений
- Анализ влияния изменений
Практические рекомендации
- Практические рекомендации по управлению требованиями
Продолжительность:
3 дня (24 академических часа)Управление рисками
Рассмотрение начинается с определения понятия риска, его взаимосвязи с понятиями ущерба и неопределенности.
Слушатели знакомятся с различными подходами к управлению рисками, изучают техники составления таблиц и графиков, классификации риска, узнают о методиках и шаблонах идентификации рисков, уровнях оценки рисков, отслеживания и составления отчетов по рискам, о стратегиях смягчения последствий от овеществления рисков.
Курс предназначен для:
Менеджеров проектов, руководителей командНеобходимые навыки:
Опыт планирования проектовЦели
- Представить основы управления рисками в проектах по разработке ПО
- Дать знания об основных прикладных средствах, методах и техниках управления рисками
- Научить использовать методы эффективного планирования рисков
- Дать навык оценки различных уровней рисков
- Научить отслеживать и составлять отчеты по рискам
- Дать навык владения техниками расположения по приоритетам, категоризации и документирования рисков
- Представить методы определения рисков
Содержание курса
- Понятие риска, его взаимосвязь с понятиями ущерба и неопределенности
- Элементы системы управления рисками – планирование, идентификация, анализ, отслеживание и контроль
- Классификации рисков
- Выявление рисков, характерных для проектов по разработке ПО
- Методики и шаблоны идентификации рисков
- Уровни оценки рисков
- Отслеживание и составления отчетов по рискам
- Стратегии смягчения последствий от овеществления рисков>
- Процесс коммуникации при управлении рисками
- Области стандартов CMM/CMMI, IEEE и ISO, относящиеся к управлению рисками
Продолжительность курса:
3 дня (24 академических часа)Основы управления проектами
Курс предназначен для:
- Руководителей проектов
- Руководителе групп разработки ПО
- Руководители функциональных отделов
- Специалистов, участвующих в оценке и планировании проектов разработки ПО
- Специалистов в области стандартизации процессов разработки ПО
- >Ведущих специалистов, которым необходимо проводить оценки проектных работ
Необходимые навыки:
- Опыт разработки ПО, понимание принципов организации процесса разработки ПО, принципы объектно-ориентированной разработки и требований к качеству современного ПО, а также знание основных принципов работы с требованиями.
Цели курса
- Приобрести базовое, общее понимание процесса управления проектами
- Определить, что входит в область ответственности менеджера проекта
- Получить навыки систематизации и планирования проектной деятельности
- Получить представление об основных моделях жизненного цикла проекта и процессах, входящих в жизненный цикл
- Получить знания о практиках и приемах работы, необходимых в проектах
- Получить практические навыки разноуровневго планирования проекта
- Повысить эффективность разработки в рамках проекта в силу лучшего понимания проектного плана
Содержание курса:
Общие сведения о дисциплине управления проектами
- Предмет управления проектами
- Жизненный цикл проекта
- Процессы управления проектом
Управление содержанием проекта
- Инициация проекта
- Составление базового плана по содержанию проекта
- Иерархическая структура работ
- Подтверждение содержания
- Управление изменениями
- Обоснование проекта
Управление сроками проекта
- Определение состава операций
- Определение взаимосвязей между операциями
- Графические взаимосвязи
- Метод критического пути
Управление стоимостью
- Жизненный цикл проекта и стоимость проекта
- Использование иерархической структуры работ
- Оценка стоимости
- Разработка бюджета расходов
- Финансовые показатели проекта
- Амортизация
Управление качеством
- Планирование качества
- Обеспечение качества
- Затраты на качество
- Контроль качества
Управление человеческими ресурсами
- Роли и ответственность менеджера проекта
- Мотивация
- Власть
- Лидерство
- Руководство собраниями
Управление коммуникациями
- Накопленные знания
- Общая модель коммуникаций
- Преграды для коммуникаций
- Усовершенствование коммуникаций
- Налаживание связей внутри группы
- Оценка эффективности работы
Управление рисками
- Процесс управления рисками
- Планирование управления рисками
- Идентификация рисков
- Оценка рисков
- Количественная оценка рисков
- Планирование реагирования на риски
Управление контрактами и поставками
- Управление контрактами
- >Администрирование контрактов
- Управление поставками
Фактор личности в управлении проектами
- Профессиональные обязанности менеджера проекта
- Кодекс профессиональной этики
Продолжительность курса:
3 дня (24 академических часа)Управление временем в разработке ПО
В курсе рассматриваются такие методы управления временем, как разноуровневое планирование, хронометраж, приоритезация целей и другие. Слушатели осваивают методы на основе практического материала из реальных проектов.
Курс предназначен для:
- Руководителей групп разработки ПО
- Менеджеров проектов, лидеров команд
- Членов проектных команд, желающих повысить личную эффективность в процессе разработки
Необходимые навыки:
Слушатели курса должны обладать опытом работы в коллективе разработчиков ПО.Цели курса:
- Дать знания об основных принципах и стратегиях управления временем
- Дать знания о планах различного уровня и их взаимосвязи
- Научить управлять целями и задачами, в том числе их приоритезации
- Дать сведения о взаимосвязи управлением временем команды и личным временем разработчика
- Научить методам минимизации потерь времени при выполнении типовых процедур в ходе проекта (совещания, переписка и т.п.)>
- Научить эффективно управлять личным временем
Содержание курса
- Принципы и стратегии управления временем
- Горизонты планирования и контроля времени: в масштабах проекта, ежемесячное, еженедельное, ежедневное
- Управление целями и задачами, приоритезация
- Управление временем команды и управление личным временем разработчика
- Минимизация потерь времени при проведении совещаний по проекту
- Методы хронометража выполнения работ
- Методы выявления сотрудников, неудовлетворительно управляющих личным временем
- Принцип Парето применительно к управлению личным временем
- >Ревизия личного времени
- Личное ежедневное планирование
- >Методы концентрации (сосредоточения)
- Минимизация потерь времени при коммуникации (e-mail, телефон и т.п.)
Продолжительность курса:
2 дня (16 академических часов)пятница, 11 июля 2014 г.
Когда malloc
очищает память
Есть вещи, в которые многие программисты верят по учебникам, а они уже несколько лет, как потеряли свою актуальность. Большой набор сюжетов такого рода, которые я помню из детства, — про оптимизацию производительности. Сегодня же в 80% случаев лучший совет по ускорению программ, который можно дать программисту, — пиши понятно и сэкономь время друга, который будет читать твой код.
Сюжет, про который пойдет речь в данной статье — почему аллокатор malloc
под Linux возвращает очищенную память. Почти как calloc
. Более точное утверждение — чистую память возвращают аллокаторы, которые вызываются до первой команды free
. Благодаря этому замечательному обстоятельству память, которую процесс qemu-kvm
выделяет для создаваемой виртуальной машины, заполнена нулями. Тем самым, создаваемая виртуальная машина не может получить доступ к служебным данным гипервизора и данным других виртуальных машин.
понедельник, 7 июля 2014 г.
Аутентификация с использованием электронных ключей в Red Hat Enterprise Linux
Аутентификация на основе аппаратных ключей представляет собой более удобный и безопасный способ подключения к информационным ресурсам по сравнению с аутентификацией по логину и паролю. В этой статье мы познакомимся с технологиями аутентификации на основе смарт-карт, а также поговорим о централизованном управлении смарт-картами и другими типами ключевых носителей в корпоративной среде, построенной на базе Red Hat Enterprise Linux (RHEL).
Важной возможностью решения Red Hat является технология единого входа (сквозная аутентификация, single sign-on) — пользователь, воспользовавшийся аппаратным ключом, получает авторизованный доступ не только данным и возможностям своей локальной рабочей станции, например, к возможности разблокировать сеанс работы, но и к сетевым ресурсам, базам данных, бизнес-приложениям в рамках корпоративной сети.