- •Введение
- •Жизненный цикл it-проекта
- •Концепция проекта
- •Определение проекта
- •Выполнение проекта
- •Завершение проекта
- •Стандарты жизненного цикла
- •Выбор методологии
- •Жесткие и гибкие методологии Модель водопада
- •Итеративная разработка
- •Спиральная модель
- •Архитектура Вычислительные системы
- •Операционные системы
- •Выбор языка и среды программирования
- •Краткий обзор распространенныхпромышленных языков программирования и программных платформ
- •Разработка программного обеспечения Парадигмы программирования
- •Структурное программирование
- •Процедурное программирование
- •Функциональное программирование
- •Событийно-ориентированное программирование
- •Объектно-ориентированное программирование
- •Аспектно-ориентированное программирование
- •Визуально-ориентированное программирование
- •Метапрограммирование
- •Качество кода. Критерии качества кода
- •Форматирование и оформление
- •Комментарии
- •Читаемость
- •Обработка исключений
- •Документирование
- •Рефакторинг
- •Архитектура программного обеспечения
- •Отличие архитектуры по от детального проектирования по
- •Примеры архитектурных стилей и моделей
- •Паттерны проектирования
- •Адаптер (adapter, wrapper)
- •Абстрактная фабрика (abstractfactory, kit)
- •Стратегия (strategy, policy)
- •Менеджмент Проекта
- •Проектный менеджмент
- •Команда менеджмента проекта Команды в проекте
- •Соотношение между различными командами в проекте
- •Цели кмп в проекте
- •Создание и развитие кмп Сущность и характеристики кмп
- •Управление трудовыми ресурсами проекта и менеджмент человеческих ресурсов проекта
- •Интегрированная культура кмп
- •Оценка деятельности кмп Что такое эффективная кмп?
- •Команда Менеджмента Проекта – критический фактор успеха проекта
- •Структура проекта Определение проекта
- •Основные признаки проекта
- •Направленность на достижение целей
- •Координированное выполнение взаимосвязанных действий
- •Ограниченная протяженность во времени
- •Уникальность
- •Структура проекта
- •Разработка программного обеспечения Виртуальная реальность
- •Виртуальная реальность в играх.
- •Виртуальная реальность и 3d.
- •История виртуальной реальности.
- •Что такое виртуальная реальность?
- •Миры с различными потенциально-возможными сценариями хода событий
- •Студии виртуальной реальности на телевидении
- •Имитационное моделирование
- •Искусственный интеллект
- •Предпосылки развития науки искусственного интеллекта
- •Подходы и направления
- •Тест Тьюринга
- •Символьный подход
- •Логический подход
- •Накопление и использование знаний
- •Суть процесса искусственного мышления
- •Применение
- •Перспективы
- •Искусственный интеллект в играх
- •Распределённые и облачные вычисления Распределённые вычисления
- •История
- •Участие в проектах распределенных вычислений Общая схема участия
- •Привлечение и мотивация участников
- •Критика проектов распределенных вычислений
- •Организации, участвующие в проектах распределенных вычислений
- •Список проектов распределённых вычислений
- •Биология и медицина
- •Математика и криптография
- •Естественные науки
- •По для организации распределённых вычислений
- •Облачные вычисления
- •Терминология
- •Критика
- •Примеры
- •Потребность
- •Внешние и внутренние облака
- •Стоимость
- •Надёжность
- •Проблемы облачных технологий
- •Нейронные сети
- •Возможные способы применения и реализации
- •Категории аппаратного обеспечения инс
- •Цифровое исполнение
- •Аналоговое исполнение
- •Гибридное исполнение
- •Области применения нейронных сетей
- •Аутсорсинг
- •Мировой рынок экспортного программирования
- •Прогноз развития мирового и российского рынка
- •Белорусскиекомпании
- •Типы аутсорсинга
- •Развитие cad технологий
- •Исправление ошибок
- •Системы старшего класса
- •Большие сборки
- •Зачем нужны сборки
- •Стратегии упрощения
- •Моделирование
- •Параметризация
- •Гибридное моделирование
- •Практические результаты
- •Проектная база: технология моделирования
- •Переход к гибридному моделированию
- •Электронная сборка
- •Модель акторов
- •История
- •Фундаментальные концепции
- •Формальные системы
- •Применения
- •Семантика передачи сообщений
- •Локальность
- •Безопасность
- •Актуальность в настоящий момент
- •Социальный компьютинг
- •Сферы применения
- •С чего начать
- •Тестирование программного обеспечения Уровни тестирования
- •Модульное тестирование
- •Интеграционное тестирование
- •Системы непрерывной интеграции
- •Системное тестирование программного обеспечения
- •Функциональное тестирование
- •Регрессионное тестирование
- •Виды тестов регрессии
- •Нагрузочное тестирование
- •Тестирование «белого ящика» и «чёрного ящика»
- •Серый ящик. Комбинация предыдущих.
- •Права автора Личные неимущественные права:
- •Личные имущественные права:
- •Способы защиты авторского права
- •Защита при помощи компьютерных компакт-дисков
- •Методы взлома/обхода технических мер защиты
- •Нарушение авторских прав
- •Типы лицензий
- •Проприетарные лицензии
- •Свободные и открытые лицензии
- •Пиратское по
- •Взгляд в будущее
- •Взлом информации и защита от взлома Классы атак Аутентификация (Authentication)
- •Авторизация (Authorization)
- •Атакинаклиентов (Client-side Attacks)
- •Выполнение кода (Command Execution)
- •Разглашение информации (Information Disclosure)
- •Логические атаки (Logical Attacks)
- •Компьютерные вирусы
- •Классификация вирусов
- •Антивирусные программы
- •Методы обнаружения вирусов
- •Метод соответствия определению вирусов в словаре
- •Метод обнаружения странного поведения программ
- •Метод обнаружения при помощи эмуляции
- •Метод «Белого списка»
- •Эвристический анализ
- •Классические hips
- •Экспертные hips
- •Жизненный цикл вируса.
- •Стратегии развития крупнейших it-компаний
- •Перспективы развития Microsoft
- •Секреты успеха
- •Крупнейшие производители современных операционных систем и их продукты
- •Основные заблуждения по поводу Macintosh
- •Технические подробности операционной системы
- •Причины успеха и будущее компании
- •История создания Linux
- •Свободное программное обеспечение
- •Графические интерфейсы Linux
- •Дистрибутивы Linux
- •Безопасность Linux
- •Краткая история FreeBsd и unix
- •Рождение системы bsd
- •Bsd на платформах Intel х86
- •Рождение FreeBsd
- •Преимущества FreeBsd
- •Различия между FreeBsd и Windows
- •Мобильные ос
Концепция проекта
Для определения концепции проекта, прежде всего, необходимо опираться на информацию и требования, предоставленные заказчиком. Действия на этом этапе должны включать в себя:
анализ проблемы и потребности в проекте
определение целей и задач проекта
рассмотрение альтернативных вариантов проекта
принятие решения о начале проекта
определение и назначение менеджера проекта
принятие решения об обеспечении ресурсами выполнения первой фазы проекта
Эта фаза является первой и потому правильно поставленные цели играют важную роль для всего жизненного цикла. Тогда может возникнуть вопрос. А как сильно влияет расплывчатость задания при проектировании? В таких случаях проект просто не принимается для разработки. Заказчик должен четко сформулировать свою цель и чего он хочет получить от будущего IT-проекта.
Определение проекта
Планирование или определение проекта - это процесс, направленный на согласование наилучшего способа действий для достижения поставленных целей проекта с учетом всех факторов его реализации.
С самого начала реализации проекта и на протяжении всего жизненного цикла осуществляются процессы планирования. В первую очередь создаётся предварительный укрупненный план, который в процессе разработки может уточняться. Постепенно он становится более точным и в конце должен детально описывать каждый этап выполняемых работ.
В итоге создаётся план проекта, который содержит информацию о последовательности действий и их описании. Этим занимается менеджер. Профессия – менеджмент. Ме́неджмент (англ. management) — означает разработку (моделирование), создание и максимально эффективное использование (управление) социально-экономических систем. Основная цель менеджмента — достижение высокой эффективности производства, лучшего использования ресурсного потенциала предприятия, фирмы, компании. Основные функции менеджмента: планирование, организация, мотивация, контроль, коммуникации, процессы разработки и принятия решений.
На начальной стадии менеджер или представитель исполнителя проекта должен ознакомится с проблемой проекта и всеми сопутствующими проблемами. Также должны быть изучены все основная информация из области, для которой создается проект. При наличии плана, в котором по ходу работы не появится вопросов и непониманий, проект обещает быть успешным.
При разработке плана проекта часто приходится вносить в него некоторые корректировки. Это чаще всего связано с дополнительными требованиями заказчика. Поэтому необходимо как можно чаще общаться с заказчиком, чтобы избежать появления каких-либо сложностей, вопросов, недоразумений и прочих неприятностей. В противном случае, возможно проблемы в дальнейшей реализации проекта.
Планирование проекта включает следующие процедуры:
Разработку плана проекта.
Планирование целей проекта
Календарное планирование работ проекта
Планирование затрат и финансирования проекта
Организационное планирование
Планирование коммуникаций
Планирование управления рисками
Выполнение проекта
При разработке ПО требуется постоянный контроль за выполнением проекта. Любые отклонения от плана при их возникновении должны согласовываться с менеджером проекта. Для подсчета оптимального количества человек в команде по разработке проекта существуют различные специальные формулы.
Организация исполнения проекта может включать следующие процедуры:
Распределение функциональных обязанностей и ответственности
Распределение информации в проекте
Подготовку и заключение контрактов
Управление изменениями в проекте
Постановку системы отчетности
Организацию контроля выполнения расписания проекта
Организацию контроля затрат по проекту
Организацию контроля качества
Оперативное управление мерами по снижению рисков
Реагирование на негативные рисковые события
Управление командой проекта
Тестирование проекта
Создание документации к проекту
Если во время разработки проекта выясняется, что программистам не хватает квалификации существует несколько методов решения. Первый способ – если позволяет время, в кратчайшие сроки переквалифицироваться или получить необходимые знания для выполнения поставленной цели. В противном случае, придется найти другого специалиста знающего, как решить сложившуюся проблему уже имеющимися знаниями.
