Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебный план (АОИ ПИ)

.pdf
Скачиваний:
8
Добавлен:
16.03.2016
Размер:
2.83 Mб
Скачать

71

человеко-машинного интерфейса», используются в дальнейшем при изучении дисциплин: «Разработка Интернет-приложений», «Конструирование программного обеспечения», «Базы данных», «Организация баз данных», «Тестирование программного обеспечения».

Материал, освоенный при изучении дисциплины, используется в дальнейшем в учебно-исследовательской и научно-исследовательской работе.

4. Требования к результатам освоения дисциплины:

Процесс изучения дисциплины направлен на формирование следующих компетен-

ций:

владение культурой мышления, способности к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения (ОК-1);

готовность к кооперации с коллегами, работа в коллективе (ОК-3); способность создавать программные интерфейсы (ПК-14);

навыки использования операционных систем, сетевых технологий, средств разработки программного интерфейса, применения языков и методов формальных спецификаций, систем управления базами данных (ПК-15);

умение применять основные методы и инструменты разработки программного обеспечения (ПК-17).

В результате изучения дисциплины студент должен:

Знать: основные факторы, влияющие на качество человеко-машинного взаимодействия; пути и методы оценки и создания качественного пользовательского интерфейса.

Уметь: учитывать человеческий фактор в процессе разработки пользовательского интерфейса, а также наиболее характерные ошибки и пути их предотвращения.

Владеть: навыками проектирования и создания пользовательских интерфейсов; использования наиболее распространенных программно-инструментальных средств создания качественного человеко-компьютерного взаимодействия.

5. Содержание дисциплины. Основные разделы:

Проектирование человеко-машинного интерфейса

Понятие интерфейса. Качество пользовательского интерфейса. Модели пользовательского интерфейса. Психология человека и компьютера. Стандартизация пользовательского интерфейса. Особенности графического интерфейса. Компоненты графического интерфейса. Требования к системе со стороны пользователей. Принципы проектирования "дружественного" интерфейса, учитывающие требования со стороны пользователей. Проектирование элементов управления. Выбор визуальных атрибутов отображаемой информации. Цвет. Шрифт. Пространственное размещение визуальных элементов. Жизненный цикл программного продукта. Этапы разработки человеко-машинного интерфейса. Прототипирование ПИ. Контрольный список интерфейса.

Инструментарий разработчика

Создание приложений с интерфейсом, управляемым событиями при помощи среды Delphi.Основы объектно-ориентированного программирования (классы и объекты. Сообщения и события. Библиотека визуальных компонентов). Обработка исключений. Характеристики проекта. Разработка приложения. Создание интерфейса приложения. Работа с текстом. Кнопки и переключатели. Использование форм (характеристики форм, взаимодействие форм, особенности модальных форм, стандартные диалоги, шаблоны форм). SDI, MDI - приложения. Интерфейс DRAG&DROP. Работа с меню (главное меню, контекстное меню, конструктор меню, динамическая настройка меню). Подготовка отчетов (компоненты отчета, простой отчет). Добавление новых объектов в VCL (заготовка для нового компонента, соглашения по наименованиям, выбор предка). Создание справочной службы.

Оценка пользовательского интерфейса

72

Общие положения и структура методов оценки ПИ. Человеческие ошибки. Скорость и производительность работы. Модель GOMS. Временные интервалы в интерфейсе. Измерение эффективности интерфейса. Закон Фитса и закон Хика.

6. Виды учебной работы: лекции -18 часов, лабораторные работы—36 часов, курсовая работа — 18 часов

7. Изучение дисциплины заканчивается

экзаменом (4 семестр)

Аннотация дисциплины

«Проектирование и архитектура программных систем»

1. Общая трудоемкость дисциплины составляет 2 ЗЕТ (72 час.)

2. Цели и задачи дисциплины:

В рамках дисциплины «Проектирование и архитектура программных систем» изучается процесс проектирования программных систем, методы управления проектом по созданию программных систем, технологии разработки интегрированных моделей программных систем с использованием графических инструментальных сред проектирования.

Данная дисциплина нацелена на формирование у студента навыков сбора, обработки и представления исходных данных для принятия проектных решений; разработки концептуальных, информационно-логических и функциональных моделей программных систем; объектно-ориентированного анализа и проектирования.

3. Место дисциплины в структуре ООП:

Дисциплина относится к базовой части профессионального цикла.

Для эффективного освоения дисциплины студент должен знать основные положения дисциплин: «Введение в программную инженерию», «Алгоритмы и структуры данных».

Знания и навыки, полученные в процессе освоения дисциплины «Проектирование и архитектура программных систем», используются в дальнейшем при изучении дисциплин: «Базы данных», «Тестирование программного обеспечения», «Управление программными проектами», «Хранилища данных»

4. Требования к результатам освоения дисциплины:

Процесс изучения дисциплины направлен на формирование следующих компетен-

ций:

способность формализовать предметную область программного проекта и разработать спецификации для компонентов программного продукта (ПК-6);

демонстрировать: навыки использования различных технологий разработки программного обеспечения (ПК-16);

демонстрировать: умение применять основные методы и инструменты разработки программного обеспечения (ПК-17).

В результате изучения дисциплины студент должен:

Знать: методы анализа предметной области и проектирования прикладных программных систем;

Уметь: решать задачи, возникающие на различных фазах жизненного цикла программных систем, связанных с проектирование архитектуры программных систем; - разрабатывать концептуальные, информационно-логические и функциональные модели программных систем.

Владеть: навыками сбора, обработки и представления исходных данных для при-

73

нятия проектных решений; навыками объектно-ориентированного анализа и проектирования.

5. Содержание дисциплины. Основные разделы:

Программа и программное обеспечение (ПО). Свойства хорошего программного обеспечения. Роль проектирования в производстве ПО.Базовые принципы проектирования. Декомпозиция. Шаблон “Model-View-Controller”. Правила установления зависимостей между компонентами.

Объектно-ориентированный подход. Объектно-ориентированный подход. Состояние, поведение и идентичность объекта. Объекты как функциональные единицы. Интерфейсы. Инкапсуляция. Полиморфизм и наследование. Принцип замещения Лисков. Методы повторного использования. Наследование vs. композиция. Принципы объектноориентированного проектирования.

Моделирование c использованием UML. Модели в различных областях человеческой деятельности. Роль моделирования в процессе разработки. UML и его назначение. Базовые сущности UML.

Функциональные требования и диаграммы использования. Система, действующие лица и варианты использования. Включение и расширение.

Бизнес-процессы и диаграммы деятельности. Диаграммы состояний и их применение для описания поведения реактивных систем.

Диаграммы классов и моделирование предметной области. Способы моделирования свойств. Ассоциации. Обобщение. Зависимости.

Моделирование взаимодействия объектов. Диаграммы последовательности и взаимодействия. Диаграммы компонент и декомпозиция системы. UML в процессе разработки.

Основы проектирования. Общие концепции проектирования. Контекст проектирования. Процесс проектирования (архитектурное проектирование, детализация архитектуры). Принципы проектирования (абстракция, связанность и соединение, декомпозиция и разбиение на модули, инкапсуляция/сокрытие информации, разделение интерфейса и реализации). Ключевые вопросы проектирования. Параллелизм. Контроль и обработка событий. Распределение компонентов.

Обработка ошибок и исключительных ситуаций. Взаимодействие и представление. Сохраняемость данных. Структура и архитектура программного обеспечения.

Архитектурные структуры и точки зрения. Архитектурные стили. Шаблоны проектирования (шаблоны создания, структуры и поведения).

Семейства программ и фреймворков.

Анализ качества и оценка программного дизайна. Атрибуты качества применительно к времени выполнения, ориентированные на этап проектирования. Атрибуты качества архитектурного дизайна. Анализ качества (обзор дизайна, статический анализ, симуляция и прототипирование), методы и метрики.

Нотации проектирования. Структурные и поведенческие описания (языки описания архитектуры, диаграммы классов и объектов, диаграммы компонентов, карточки функциональной ответственности и связей класса – карты «Класс-Ответственность- Кооперация», диаграммы развёртывания, диаграммы сущность-связь и др.).

Стратегии и методы проектирования программного обеспечения. Общие стратегии. Функционально-ориентированное или структурное проектирование. Объектноориентированное проектирование. Проектирование на основе структур данных. Компонентное проектирование. Сервис-ориентированная архитектура.

Проектирование с использованием шаблонов. Шаблоны проектирования и их назначение. Порождающие шаблоны. Утилитные классы. Шаблон “singleton”. “Ленивая” инициализация. Клонирование объектов. Шаблон “prototype”. Фабрика. Шаблон “Abstract Factory”. Шаблон “Factory Method”. Поэтапное конструирование объекта. Шаблон

74

“Builder”.

Структурные шаблоны. Сокрытие реализации. Шаблоны “wrapper” и “adapter”. Принципы обработки ошибок в приложениях. Использование полиморфизма и композиции при едином базовом интерфейсе. Шаблон “Composite”. Шаблон “Decorator”. Оптимизация числа объектов. Шаблон “Flyweight”. Проектирование удаленного и отложенного выполнения. Шаблон “Proxy”.

Поведенческие шаблоны. Шаблон “Chain of Responsibility”. Шаблон “Context”. Ар-

хитектуры, управляемые событиями. Шаблон “Listener”. Отложенное выполнение. Шаблон “Command”. Инкапсуляция поведения. Шаблон “Strategy”. Подходы к реализации поведения, основанного на модели конечного автомата. Шаблон “State”. Шаблон “Visitor”.

Проектирование многопоточных приложений. Метрики производительности приложения. Потоки и процессы. Проблема параллельного доступа. Атомарные операции. Блокировка доступа к ресурсу. Модель памяти многопоточного приложения. Примитивы синхронизации. Монитор. Семафор. Барьер. Типовые задачи параллельного программирования. Производители и потребители. Читатели и писатели.

Ключевое слово volatile. “Облегченная” синхронизация. Проблема “ленивой” инициализации в случае нескольких потоков. Антишаблон Double-Checked Locking. Шаблоны проектирования многопоточных приложений. Шаблоны “Thread Local”, “Scheduler”, “Thread Pool”.

6. Виды учебной работы: лекции -18 часов, практические работы — 18 часов

7. Изучение дисциплины заканчивается зачетом (4 семестр)

Аннотация дисциплины

«Тестирование программного обеспечения»

1. Общая трудоемкость дисциплины составляет 2 ЗЕТ (72 час.)

2. Цели и задачи дисциплины:

Формирование у студентов профессиональных знаний и навыков в области систематического контроля качества программного обеспечения (ПО).

3. Место дисциплины в структуре ООП:

Дисциплина относится к базовой части профессионального цикла.

Для эффективного освоения дисциплины студент должен знать основные положения дисциплин: «Введение в программную инженерию», «Организация баз данных», «Алгоритмы и структуры данных», «Проектирование человеко-машинного интерфейса», «Проектирование и архитектура программных систем», «Объектно-ориентированный анализ и программирование», «Теория автоматов и формальных языков», «Информатика и программирование», «Бухгалтерские информационные системы», «Информационная безопасность».

Знания и навыки, полученные в процессе освоения дисциплины «Тестирование программного обеспечения», используются в дальнейшем при изучении дисциплин: «Управление программными проектами»,

Дисциплина является базовой при подготовке выпускной квалификационной работы по направлению подготовки «Программная инженерия» для обеспечения контроля качества разработанной в ходе выполнения выпускной квалификационной работы автоматизированной информационной системы.

4. Требования к результатам освоения дисциплины:

Процесс изучения дисциплины направлен на формирование следующих компетен-

ций:

75

умение применять основы информатики и программирования к проектированию, конструированию и тестированию программных продуктов (ПК-10);

навыки чтения, понимания и выделения главной идеи прочитанного исходного кода, документации (ПК-11);

понимание концепций и атрибутов качества программного обеспечения (надежности, безопасности, удобства использования), в том числе, роли людей, процессов, методов, инструментов и технологий обеспечения качества (ПК-18);

понимание методов контроля проекта и умение осуществлять контроль версий

(ПК-25).

В результате изучения дисциплины студент должен: Знать:

основные этапы жизненного цикла разработки ПО и роль и место тестирования на каждом из этапов;

стандарты качества ПО; способы оценки параметров качества разрабатываемого и эксплуатируемого ПО;

методы повышения надежности ПО; способы создания надежного ПО, отвечающего требованиям эргономики и каче-

ства;

требования к содержанию документов, разрабатываемых при создании ПО.

Уметь:

обеспечивать надлежащий уровень качества разрабатываемого программного обеспечения, руководствуясь действующими стандартами в области качества;

организовать тестирование информационных систем, удовлетворяющие заданным требованиям эргономики, надежности и качества;

использовать различные методики тестирования программного обеспечения; составлять отчетную документацию о тестировании программного обеспечения; проводить анализ тестирования программного обеспечения.

Владеть:

навыками использования различных методов ручного и автоматического тестирования программного обеспечения;

методикой сравнения качества программных систем по критерию функциональной полноты.

5. Содержание дисциплины. Основные разделы:

Принципы организации разработки программного обеспечения Основные модели жизненного цикла разработки программного обеспечения. Роль

тестирования на каждом этапе жизненного цикла разработки программного обеспечения. Стандарты жизненного цикла разработки программного обеспечения.

Качество программного обеспечения Система качества. Культура и этика программной инженерии. Значение качества.

Стоимость качества. Модели и характеристики качества. Отечественные и международные стандарты качества программных средств. Обеспечение качества сложных ПО и баз данных. Сравнение качества программных систем по критерию функциональной полноты. Качество баз данных. Качество процессов ПО. Качество программного продукта. Повышение качества. Процессы управления качеством ПО. Подтверждение качества программного обеспечения. Требования к качеству ПО. Техники управления качеством ПО. Количественная оценка качества ПО.

Виды тестирования программного обеспечения

76

Методы тестирования. Проверка (верификация) и аттестация ПО. Принципы, стратегии и этапы тестирования для обеспечения качества программных модулей и компонент ПО. Тестирование структуры программных компонент. Автоматизированные средства тестирования программных компонент. Оценка (обзор) и аудит.

Надежность программного обеспечения Основные термины теории надежности. Технические состояния объекта. Показате-

ли надежности: показатели безотказности, показатели долговечности, показатели ремонтопригодности, показатели сохраняемости. Испытания на надежность. Функциональная и эффективная надежность. Характеристика дефектов. Классификация ошибок. Программная ошибка.

Документирование программного обеспечения Стандарты документирования ПО. Проектная и общесистемная документация.

Пользовательская документация. Внутренняя документация системы. Документирование и анализ ошибок. Структура отчета о тестировании. Отчеты о состоянии проекта. Проблемы при контроле качества ПО. Сертификация ПО. Порядок проведения сертификации программных средств и баз данных. Сертификация систем качества.

6. Виды учебной работы: лекции –18 часов, лабораторные работы – 18 часов,

7. Изучение дисциплины заканчивается – зачетом (5 семестр)

Аннотация дисциплины

«Разработка и анализ требований»

1. Общая трудоемкость дисциплины составляет 2 ЗЕТ (72 час.)

2. Цели и задачи дисциплины:

Формирование у студентов профессиональных знаний и практических навыков по управлению требованиями, предъявляемыми заинтересованными сторонами в процессе создания и/или внедрения автоматизированных информационных систем, программных продуктов.

3. Место дисциплины в структуре ООП:

Дисциплина относится к базовой части профессионального цикла.

Для эффективного освоения дисциплины студент должен знать основные положения дисциплин: «Введение в программную инженерию», «Информатика и программирование», «Операционные системы и сети», «Организация баз данных».

Знания и навыки, полученные в процессе освоения дисциплины «Разработка и анализ требований», используются в дальнейшем при изучении дисциплин: «Управление программными проектами», «Экономика программной инженерии».

Материал, освоенный при изучении дисциплины, используется в дальнейшем в учебно-исследовательской и научно-исследовательской работе.

Дисциплина является базовой при подготовке выпускной квалификационной работы по направлению подготовки «Программная инженерия» для определения и анализа требований к разрабатываемому программному продукту или информационной системе, документирования требований, составления технического задания.

4. Требования к результатам освоения дисциплины:

Процесс изучения дисциплины направлен на формирование следующих компетен-

ций:

готовность к кооперации с коллегами, работе в коллективе (ОК-3); способность формализовать предметную область программного проекта и раз-

работать спецификации для компонентов программного продукта (ПК-6);

77

понимание концепций и атрибутов качества программного обеспечения (надежности, безопасности, удобства использования), в том числе, роли людей, процессов, методов, инструментов и технологий обеспечения качества (ПК-18);

понимание стандартов и моделей жизненного цикла (ПК-19); понимание классических концепций и моделей менеджмента в управлении про-

ектами (ПК-22).

В результате изучения дисциплины студент должен:

Знать:

методологии, методы и стандарты управления требованиями.

особенности и свойства различных типов и видов требований, их роли в процессе разработки, настройки, внедрения и эксплуатации АИС.

задачи сбора и анализа требований (АТ); роли прототипов, моделей и инструментальных средств в анализе требований.

модели и методы расширенного анализа и описания требований.

подходы, способы и стандарты документирования требований. Методы верификации требований.

основы управления требованиями. Case-средства для управления требованиями

Уметь:

организовывать процессы сбора, анализа, верификации и документирования требований, предъявляемых заинтересованными сторонами в ходе реализации программных проектов.

выявлять требования. Формировать видение и границы программного проекта.

специфицировать и анализировать требования с использованием современных моделей и методов в рамках выбранных методологий.

применять современные Case-средства для управления требованиями.

документировать требования в соответствии с ГОСТ РФ.

Владеть:

методами и моделями, используемыми для разработки и анализа требований. одним либо несколькими пакетами прикладных программ, CASE-средствами,

используемыми для управления требованиями программного проекта.

5. Содержание дисциплины. Основные разделы:

Введение в управление требованиями Определение понятий «информационная система» (ИС), «автоматизированная ин-

формационная система»(АИС). Классификация ИС. Жизненный цикл АИС и его разновидности. Роль требований в задачах выбора, настройки АИС, в задачах разработки АИС под заказ.

Методологии, модели и стандарты управления разработкой и внедрением программного обеспечения (ПО), АИС. Классификация методологий. Методологии Microsoft

Solution Framework (MSF), Rational Unified Process (RUP) и другие гибкие методологии разработки ПО. Фазы жизненного цикла RUP.

Понятие требования. Классификации требований. Требования к продукту, проекту, системные требования. Уровни требований. Бизнес-требования, требования пользователей, требования к программному обеспечению. Функциональные и нефункциональные требования. Модель FURPS+. Методологии и стандарты, регламентирующие работу с требованиями.

Свойства требований. Трассируемость требований. Приоритеты требований. Треугольник компромиссов. Качество требований.

Модель жизненного цикла процесса управления требованиями. Специфические особенности процесса для гибких (agile) и традиционных стратегий разработки ПО. Ана-

78

лиз требований, как рабочий процесс. Компоненты рабочего потока анализа требований. Участники АТ. Представители заказчика и пользователей, как необходимая компонента АТ. Формирование и поддержание обратной связи с клиентами. Инструментальная поддержка.

Выявление требований.

Источники требований. Стратегии выявления требований. Работа с экспертами, как ключевая стратегия. Рекомендации по проведению интервью. Альтернативные стратегии. Изучение документов, анкетирование, наблюдение, использование знаний рабочей группы разработчика, роль шаблонов. Анализ требований и извлечение знаний.

Формирование видения и границ программного проекта.

Видение продукта и границы проекта. Формирование проблемы. Управление рисками. Концепция в ГОСТ РФ: процесс разработки; многоальтернативность. Видение в RUP: процесс разработки; структура документа. Видение / рамки в MSF: процесс разработки; структура документа.

Анализ требований.

Специфицирование требований. Требования совладельцев. Варианты использования, как основной способ описания требований. Форматы и шаблоны описания вариантов использования. Выбор степени подробности и формы описания требования. Описания нефункциональных требований. Атрибуты требований. Документирование трассировок требований.

Расширенный анализ требований. Моделирование. Важность невербальных представлений, как элемента когнитивного восприятия. Использование языков и методологий моделирования при спецификации требований. Рекомендации по использованию диаграмм UML. Использование других спецификаций (IDEF, DFD, ARIS и пр.). Использование иллюстрированных сценариев и прототипов. Работа с интерфейсом пользователя (GUI). Классификация прототипов. Иллюстрированные сценарии. Ориентиры. Схемы диалога. Прототипы экранов. Действующие модели GUI. Использование прототипов в качестве средства верификации требований.

Документирование и верификация требований.

Документирование требований в соответствие с ГОСТ РФ. Техническое задание и

Software requirements specification. Структура ТЗ в соответствие с ГОСТ 34.602-89. Опи-

сание требований к системе в соответствие с ГОСТ 34.602-89. Документирование требований в RUP и MSF. Просмотры и инспекции. Конфликтующие требования. Двойственные требования. Пропуск классов пользователей. Прототипирование, как средство верификации. Тестовые сценарии. Верификация нефункциональных требований. Формальный анализ требований.

Управление требованиями.

Требование, как временное соглашение между заказчиком и разработчиком. Действия по управлению требованиями. Понятие базовой версии требований. Анализ воздействия вновь поступивших требований на другие артефакты, компоненты и обязательства. Трассирование требований. Работа со статусами требований. Совершенствование процессов работы с требованиями Модели совершенствования ISO9000, SEICMM, SEI-CMMI.

Построение системы управления требованиями (СУТ). Требования к СУТ. Сравнение средств управления требованиями (Requirements Management Tools). Роль требований

впланировании проекта. Связь видения, рамок и планов проекта. Роль анализа требований

впланировании. Приоритеты требований и релизы. Анализ требований и управление рисками. Роль специалиста по требованиям в процессе выбора решения.

6. Виды учебной работы: лекции -18 часов, практические работы — 18 часов

7. Изучение дисциплины заканчивается

зачетом (5 семестр)

79

Аннотация дисциплины

«Управление программными проектами»

1. Общая трудоемкость дисциплины составляет 4 ЗЕТ (144 часа)

2. Цели и задачи дисциплины:

Формирование у студентов профессиональных знаний по теоретическим основам управления программными проектами; получение знаний и навыков в применении современных методологий, методов и инструментальных средств эффективной организации и управления проектами, процессами создания программных решений.

3. Место дисциплины в структуре ООП:

Дисциплина относится к базовой части профессионального цикла.

Для эффективного освоения дисциплины студент должен знать основные положения дисциплин: «Введение в программную инженерию», «Организация баз данных», «Базы данных», «Разработка и анализ требований», «Тестирование программного обеспечения», «Проектирование и архитектура программных систем», «Теория систем и системный анализ», «Исследование операций».

Знания и навыки, полученные в процессе освоения дисциплины «Управление программными проектами», используются в дальнейшем при изучении дисциплин: «Экономика программной инженерии», «Хранилища данных», «Моделирование и анализ бизнеспроцессов», «IT-консалтинг», «IT-менеджмент».

Дисциплина является базовой при подготовке выпускной квалификационной работы по направлению подготовки «Программная инженерия» для организации работ по созданию и внедрению разрабатываемых в рамках ВКР программных продуктов, компонентов, элементов АИС.

4. Требования к результатам освоения дисциплины:

Процесс изучения дисциплины направлен на формирование следующих компетен-

ций:

способность находить организационно-управленческие решения и готовность нести за них ответственность (ОК-4);

способность выполнить начальную оценку степени трудности, рисков, затрат и сформировать рабочий график (ПК-7)

способность готовить коммерческие предложения с вариантами решений (ПК-8)

способность оценивать временную и емкостную сложность программного обеспечения (ПК-13).

В результате изучения дисциплины студент должен: Знать:

современные методологии, стандарты и инструментальные средства управления программными проектами;

виды, типы, специфические особенности субъектов и объектов управления; жизненные циклы поставки решений; процессы и функциональные области управления программными проектами;

основные цели, задачи, принципы и методики направлений поставки решений; основы построения интегрированных систем управления проектами;

Уметь:

формировать концепцию программного проекта, осуществлять техникоэкономическое обоснование, выполнять структуризацию проекта;

планировать проектные работы, определять необходимые ресурсы, разрабатывать и оптимизировать базовые планы проекта;

управлять проектными командами;

80

производить расчет сметы и бюджета проекта; управлять проектными рисками; обеспечивать контроль хода выполнения проекта;

обеспечивать требуемое качество выполнения проекта; использовать информационные технологии управления проектами.

Владеть:

методами структуризации проекта; методами календарно-ресурсного планирования;

методами измерения и оценки состояния и хода выполнения проектных работ; методами качественного и количественного анализа рисков; методами оценки эффективности проектов;

инструментальными средствами управления программными проектами.

5. Содержание дисциплины. Основные разделы:

Методологические основы управления программными проектами.

Базовые понятия современной теории управления проектами Виды и типы программных проектов. Аутсорсинг и оффшоринг. Четыре типовых сценария аутсоринга программных проектов.

Жизненные циклы (ЖЦ) проектов создания АИС, ПО. Современные принципы управления созданием ПО. Выбор жизненного цикла разработки ПО. Стадии ЖЦ.

Методологии, модели и стандарты управления программными проектами. Методология Microsoft Solution Framework (MSF): основные принципы, установки и проверенные методики поставки эффективных решений. Обзор методологии Rational Unified Process (RUP). Фазы жизненного цикла RUP: цели, задачи, артефакты. Рабочие продукты процесса. Рабочие процессы. Контрольные точки процесса. Обзор инструментальных средств управления программными проектами.

Системная модель управления программными проектами. Субъекты и объекты управления. Стадии процесса управления. Функциональные области управления проектами. Организационные структуры и распределение обязанностей.

Управление содержанием, временем и стоимостью проекта.

Понятие предметной области проекта (scope). Концепция проекта (видение). Определение цели, области действия проекта. Cтруктурная декомпозиция работ (WBS). Проблемы традиционной WBS. Эволюционирующие декомпозиции работ.

Методы и средства календарно-ресурсного планирования. Методы определения состава и связей работ проекта. Организационно-технологическая модель проекта (ОТМ). Сетевой график проекта. Метод диаграмм предшествования. Обоснование взаимосвязей между работами и временных ограничений.

Оценка размера и возможности повторного использования ПО. Методы и модели оценки продолжительности работ: нормативные расчетные методы, экспертные оценки, оценки по аналогам, моделирование. Оценка PERT. Методы определения потребности в ресурсах. Разработка расписания. Метод критического пути. Задача выравнивания ресурсов. Методы сжатия, калибровки, сглаживания. Понятие ресурсного критического пути.

Управление стоимостью. Методы и модели оценки стоимости программных проектов. Разработка бюджета проекта. Контроль стоимости. Стоимостной анализ. Основные производные и прогнозирующие показатели. Анализ состояния и регулирование стоимости.

Управление качеством в проекте.

Концепция управления качеством. Методы планирования качества. Методы контроля качества. Метрики и контроль качества программного продукта. Модели зрелости.

Управление проектными рисками.

Понятие риска, типы и виды рисков. Риски IT-проектов. Процессы управления рисками. Идентификация рисков. Качественный и количественный анализ рисков. Мето-