close

Вход

Забыли?

вход по аккаунту

Актуальня история;pdf

код для вставкиСкачать
Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"
Факультет Бизнес-информатики
Отделение Программной инженерии
Программа дисциплины Управление жизненным циклом программных систем
(Software Systems Lifecycle Management)
для направления 231000.68 «Программная инженерия» подготовки магистра
Автор программы:
Зыков С.В., к.т.н., доцент, [email protected]
Одобрена на заседании кафедры управления разработкой программного обеспечения
«___»____________ 2013 г
Зав. кафедрой С.М. Авдошин
Рекомендована секцией УМС факультета бизнес информатики
«___»____________ 2013 г
Председатель Ю.В. Таратухина
Москва, 2013
Настоящая программа не может быть использована другими подразделениями
университета и другими вузами без разрешения кафедры-разработчика программы.
3
1
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины Управление жизненным циклом программных систем для
направления 231000.68 «Программная инженерия» подготовки магистра
1. Область применения и нормативные ссылки
Настоящая программа учебной дисциплины "Управление жизненным циклом
программных систем" устанавливает минимальные требования к знаниям и умениям
студента и определяет содержание и виды учебных занятий и отчетности.
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных
ассистентов и студентов направления 231000.68 «Программная инженерия» подготовки
магистров, изучающих дисциплину «Управление жизненным циклом программных
систем».
Программа разработана в соответствии с:
 образовательным стандартом государственного образовательного
бюджетного учреждения высшего профессионального образования
«Национальный исследовательский университет «Высшая школа экономики»
по направлению 231000.68 «Бизнес-информатика» подготовки магистров
http://www.hse.ru/data/2012/04/11/1251674842/OrOs%20BI%20mag.pdf;
 Образовательной программой направления 231000.68 «Программная
инженерия» подготовки магистров 231000.68;
 Рабочим учебным планом университета по направлению 231000.68
«Программная инженерия» подготовки магистров, утвержденным в 2013 г.
http://www.hse.ru/standards/rup/archive/?fid=24262.
2. Цели освоения дисциплины
Цели освоения дисциплины "Управление жизненным циклом программных систем":
 обеспечить студентов базовыми знаниями в области управления разработкой
программных систем;
 заложить основы для решения задач разработки программных систем на
протяжении всего их жизненного цикла, как в профессиональной деятельности, так
и при выполнении магистерских диссертаций;
 познакомить студентов с прогрессивными моделями, методологиями и
технологиями разработки программных систем в ходе их жизненного цикла, а также
механизмами их реализации в программных продуктах;
 обучить студентов применению современных интегрированных инструментальных
сред, предназначенных для управления жизненным циклом программных систем в
командном, интерактивном режиме.
3. Компетенции обучающегося, формируемые в результате освоения
дисциплины
В результате освоения дисциплины студент должен:
 Знать:
- базовые принципы организации и функционирования программных систем;
- основные модели жизненного цикла (каскадная, спиральная,
инкрементальная, объектно-ориентированная и др.) и методологии (прежде
всего – MSF, RUP, XP, Agile) разработки программных систем;
2
 Уметь:
- особенности реализации и применения современных программных платформ
(в т.ч. Oracle Java, Microsoft .NET) для управления жизненным циклом
программных систем;
- комплекс технологических возможностей, применяемых для создания и
эксплуатации программных систем в ходе их жизненного цикла (интернетпорталы, обработка гетерогенных, данных, языковая интероперабельность,
специализированные библиотеки классов и др.);
- возможности инструментальных средств и интегрированных сред (прежде
всего на основе технологической платформы Microsoft .NET) для управления
жизненным циклом программных систем.

- самостоятельно осуществлять обоснованный выбор комплексных решений
(включая модель жизненного цикла, методологию разработки, архитектурнотехнологические, инструментальные средства), необходимых для управления
жизненным циклом программных систем;
- оценивать пригодность комбинации заданных моделей жизненного цикла,
методологий разработки, архитектурно-технологических и инструментальных
средства с учетом конкретных условий (специфика предметной области,
проектные ограничения, среда функционирования и др.);
- находить новые знания и решения, необходимые для экономически
обоснованного, надежного и предсказуемого управления жизненным циклом
программных систем;
- разрабатывать и тестировать рабочие прототипы программных систем с
помощью интегрированных инструментальных сред;
- применять библиотеки классов платформы Microsoft .NET (включая как ее
базовые, так и специализированные сегменты, прежде всего, Team Foundation
System).
 Иметь навыки (приобрести опыт):
- в решении прикладных задач, возникающих в ходе жизненного цикла
разработки программных систем с применением современных архитектурных,
технологических, языковых, инструментальных средств;
- разработки прототипов программных систем с использованием практически
адекватных и экономически обоснованных моделей жизненного цикла, а также
современных методологий разработки, технологических и архитектурных
решений;
- в применении технологий и средств платформы Microsoft .NET,
предназначенных для управления жизненным циклом разработки
программного обеспечения.
4. Место дисциплины в структуре образовательной программы
Настоящая дисциплина относится к циклу специальных дисциплин и блоку дисциплин,
обеспечивающих базовую подготовку. Количество зачетных единиц: 5.
Изучение дисциплины базируется на знаниях студентами математики, основ информатики
и алгоритмизации, основ объектно-ориентированного анализа и проектирования, основ
проектирования баз данных, умении применять математический аппарат при выборе
метода решения задачи.
3
5. Тематический план учебной дисциплины
№
Название темы
Аудиторные часы
Всего часов
Практипо
ческие
дисциплине Лекции
занятия
3
1
0
цикла
12
1
2
1 Введение
2 Тема 1. Обзор жизненного
программных систем
3 Тема 2. Модели жизненного цикла
программных систем
4 Тема 3. Методологии управления
жизненным циклом программных
систем
5 Тема 4. Платформы Microsoft .Net и
Oracle Java: концепция, архитектурная
схема, особенности управления
жизненным циклом
6 Тема 5. Средства автоматизации
управления жизненным циклом
программных систем
7 Тема 6. Управление анализом и
проектированием программных систем
8 Тема 7. Многократное использование
программных систем. Управление
проектированием на основе паттернов
9 Тема 8. Управление разработкой
интерфейсов программных систем
10 Тема 9. Управление ревизией
программных систем
11 Тема 10. Управление реализацией и
модульным тестированием
программных систем
12 Тема 11. Управление интеграцией и
сборочным тестированием
программных систем
13 Тема 12. Жизненный цикл
документирования программных систем
и управление им
14 Тема 13. Управление приемочным
тестированием программных продуктов
и их передачей заказчику
15 Тема 14. Управление сопровождением
программных систем
16 Тема 15. Командное управление
жизненным циклом программных
систем
17 Тема 16. Заключение. Обобщение
итогов курса
Самостоятельная
работа
2
8
14
2
3
8
14
1
3
8
9
1
2
8
9
1
2
8
12
2
2
12
9
1
2
8
9
1
2
8
12
1
2
8
14
2
2
8
14
1
2
8
9
1
2
6
12
1
2
8
11
1
2
8
12
1
2
8
5
1
0
4
4
№
Название темы
Итого по дисциплине
Аудиторные часы
Всего часов
Практипо
ческие
дисциплине Лекции
занятия
180
20
32
Самостоятельная
работа
128
6. Формы контроля знаний студентов
Тип
контроля
Текущий
(неделя)
Форма
Параметры **
контроля
1
2
Контрольная
5-я
Тест на компьютере 40 минут
работа
неделя
Домашнее
5-я
задание
неделя
Зачет
*
Тест на компьютере 40 минут
Итоговый Экзамен
*
Устный экзамен 80 минут, тест на компьютере
40 минут
6.1. Критерии оценки знаний, навыков
Текущий контроль в 1-м и 2-м модуле предусматривает контрольную работу в виде
теста на компьютере. Кроме того во 2-м модуле текущий контроль предусматривает
контрольное домашнее задание.
Итоговый контроль: зачет в конце 1-го модуля, экзамен в конце 2-го модуля.
Контрольная работа предусматривает компьютерный тест по основным вопросам
курса. Выполняется на практических занятиях. На выполнение работы в рамках
практического занятия отводится 40 мин. учебного времени. За контрольную работу
выставляется одна оценка по десятибалльной шкале.
За тест выставляется нормированная по сложности теста оценка по 10-ти балльной
шкале.
Оценка за текущую работу в модуле включает учет посещаемости, а также
выполнение текущих заданий (активность при выполнении проектов в группах, ответы у
доски, разработка прототипов приложений и др.).
Контрольное домашнее задание содержит одну или несколько задач на подбор
обоснованного комплекса (модели, методологи, архитектурно-технологические решения),
предназначенного для разработки корпоративного приложения в конкретных условиях.
По контрольному домашнему заданию оформляется отчет в бумажном виде. В
установленный срок студент сдает полностью оформленный отчет. За контрольное
домашнее задание выставляется оценка по десятибалльной шкале.
Зачет предусматривает тестирование на компьютере. В тест входят вопросы по
теоретическому и практическому материалу 1-го модуля. Оценки тест выставляются по
10-ти балльной шкале.
Итоговый экзамен предусматривает подготовку развернутых письменных ответов на
основные вопросы курса (включая решение бизнес-кейса по пройденным темам), а также
тестирование на компьютере. В тест итогового экзамена входят вопросы по
теоретическому и практическому материалу 1-го и 2-го модулей. Оценки за задачи и тест
выставляются по 10-ти балльной шкале.
6.2. Порядок формирования оценок по дисциплине
По всем видам работ выставляется 10-балльная оценка.
Оценки контроля:
5
Десятибалльная оценка 1-го модуля (промежуточный контроль):
М1 = 0.3*K1+0.5*T1,
где К1 - оценка за текущую работу в модуле (накопленная оценка);
Т1 – оценка за тест (зачет).
Десятибалльная оценка 2-го модуля (накопленная оценка):
М2 = 0.5*K2+0.5*T2,
где К2 - оценка за контрольную работу (накопленная оценка);
Т2 – оценка за текущую работу в модуле (накопленная оценка).
Оценка промежуточного контроля во втором модуле в форме экзамена определяется
соотношением:
ОЭпром = 0.3*ИМ + 0.35*ТЭ + 0.35*КЭ,
где
- ИМ – оценка итогового контроля по модулям 1, 2 (ИМ – Итог по модулям):
ИМ = 0.5*М1 + 0.5*М2;
- КЭ – оценка за письменный экзамен (компьютерный тест);
- ТЭ – оценка за устный экзамен.
Результирующая оценка по учебной дисциплине (Оит) определяется
соотношением:
Оит = 0.3*ИМ + 0.35*ТЭ + 0.35*КЭ,
где
- ИМ – оценка итогового контроля по модулям 2, 3 (ИМ – Итог по модулям):
ИМ = 0.5*М1 + 0.5*М2;
- КЭ – оценка за письменный экзамен (компьютерный тест);
- ТЭ – оценка за устный экзамен.
При пересдаче экзамена (независимо от предыдущих оценок):
ОЭпром = (0.5*ТЭ + 0.5*КЭ)*0.8
Оит = (0.5*ТЭ + 0.5*КЭ)*0.8
При выставлении итоговой и промежуточной оценок средневзвешенная оценка
округляется до большего целого, если дробная часть оценки не ниже 0.5, в противном
случае оценка округляется до меньшего целого.
При выставлении промежуточной и итоговой оценок по 5-балльной шкале
используется правило:
Если Оит  8,
то Оит5 = 5 (“отлично”);
Если 6  Оит < 8, то Оит5 = 4 (“хорошо”);
Если 4  Оит < 6, то Оит5 = 3 (“удовлетворительно”);
Если Оит < 4,
то Оит5 = 2 (“неудовлетворительно”).
7. Содержание дисциплины
Введение
Цели и задачи учебной дисциплины. Структурная организация и принципы построения
курса. Понятия программной системы. Примеры программных систем различного
характера и масштаба. Подходы к разработке программных систем. Жизненный цикл
программной системы. Понятия модели жизненного цикла и методологии разработки
программных систем.
Литература по теме:
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
6
 Скопин И.Н. Понятия и модели жизненного цикла программного обеспечения:
Учебное пособие. Новосиб. гос. ун-т. – Новосибирск, 2003
 Соммервилл И. Инженерия программного обеспечения (6-е изд.), М.:Вильямс,
2002.- 624 стр., ил.
 Schach S.R.: Object-Oriented and Classical Software Engineering (5 ed.) McGraw-Hill,
2001, 744 pp.
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
http://www.martinfowler.com/articles/newMethodology.html
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
Тема1: Обзор жизненного цикла программных систем
Этапы жизненного цикла программной системы (анализ и спецификация требований,
эскизное и детальное проектирование, реализация, тестирование, сопровождение).
Экономическая специфика этапов жизненного цикла программной системы
(стоимость, структура затрат, метрики, поддерживающий инструментарий).
Литература по теме:
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Скопин И.Н. Понятия и модели жизненного цикла программного обеспечения:
Учебное пособие. Новосиб. гос. ун-т. – Новосибирск, 2003
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
 Соммервилл И. Инженерия программного обеспечения (6-е изд.), М.:Вильямс,
2002.- 624 стр., ил.
 Schach S.R.: Object-Oriented and Classical Software Engineering (5 ed.) McGraw-Hill,
2001, 744 pp.
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
http://www.martinfowler.com/articles/newMethodology.html
 Жизненный цикл программного обеспечения ИC. http://www.tver.mesi.ru/elib/res/661/2/devis_2.html
Тема 2. Модели жизненного цикла программных систем
Модель Build-and-Fix. Водопадная модель. Модель быстрого прототипирования.
Инкрементная модель. Модель синхронизации и стабилизации. Спиральная модель.
Объектно-ориентированная модель. Преимущества и недостатки моделей.
Литература по теме:
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Соммервилл И. Инженерия программного обеспечения (6-е изд.), М.: Вильямс,
2002.- 624 стр., ил.
 Schach S.R.: Object-Oriented and Classical Software Engineering (5 ed.) McGraw-Hill,
2001, 744 pp.
 Скопин И.Н. Понятия и модели жизненного цикла программного обеспечения:
Учебное пособие. Новосиб. гос. ун-т. – Новосибирск, 2003
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
http://www.martinfowler.com/articles/newMethodology.html
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
Тема 3. Методологии управления жизненным циклом программных систем
Процессы Microsoft Solution Framework. Связь Microsoft Solution Framework c моделью
синхронизации и стабилизации. Подход Rational Unified Process. Связь Rational Unified
7
Process со спиральной моделью жизненного цикла. Гибкие (Agile) методологии.
Сходства и различия между методологией и
моделью жизненного цикла.
Преимущества и недостатки методологий.
Литература по теме:
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Соммервилл И. Инженерия программного обеспечения (6-е изд.), М.:Вильямс,
2002.- 624 стр., ил.
 Schach S.R.: Object-Oriented and Classical Software Engineering (5 ed.) McGraw-Hill,
2001, 744 pp.
 Скопин И.Н. Понятия и модели жизненного цикла программного обеспечения:
Учебное пособие. Новосиб. гос. ун-т. – Новосибирск, 2003
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
http://www.martinfowler.com/articles/newMethodology.html
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
Тема 4. Платформы Microsoft .Net и Oracle Java: концепция, архитектурная схема,
особенности управления жизненным циклом
Схемы организации архитектурно-технологических платформ Oracle Java и Microsoft
.Net. Принципы функционирования платформ Java и .Net. Инструментальные и
технологические особенности платформы Microsoft .Net (типизация, вычислительная
среда, веб-сервисы, компоненты, интероперабельность). Подходы к интеграции
программных систем на основе платформы Microsoft .Net.
Литература по теме:
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET
Framework 2.0 на языке C#. Мастер класс. 2-е изд. исправ. . – М. : Русская
Редакция; СПб.: Питер, 2008. – 656 с.
 Нейгел К. и др. C# 4.0 и платформа .NET 4.0 для профессионалов. – М.: Вильямс,
2011. – 1440 с.
 Скит Дж. C#: программирование для профессионалов, 2-е изд. – М.: Вильямс, 2011.
– 544 с.
 Троелсен Э. Язык программирования С# и платформа .NET 3.5. - М.: Вильямс,
2011. 1344 с.
 Фролов А.В., Фролов Г.В. Визуальное проектирование приложений С#. – М.:
КУДИЦ-ОБРАЗ, 2003. – 512 с.
 Шилдт Г. С# 4.0. Полное руководство. – М.: Вильямс, 2011. – 1056 с.
 Федоров А. Продукты и технологии Microsoft 2006.– М.: Русская редакция, 2005.–
126 с.
 www.microsoft.com/net
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
Тема 5. Средства автоматизации управления жизненным циклом программных
систем
Понятие метрики в программной инженерии. Основные метрики программных
проектов. Инструментальные средства автоматизации Средства автоматизации
управления жизненным циклом программных систем (CASE). Классификация и
назначение CASE-средств. Связь CASE-средств с этапами проектирования
8
программных систем. Требования к процессу проектирования программных систем
корпоративного типа. Требования к
квалификации проектной команды.
Преимущества использования средств автоматизации проектирования для управления
жизненным циклом программных систем.
Литература по теме:
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Соммервилл И. Инженерия программного обеспечения (6-е изд.), М.: Вильямс,
2002.- 624 стр., ил.
 Schach S.R.: Object-Oriented and Classical Software Engineering (5 ed.) McGraw-Hill,
2001, 744 pp.
 Скопин И.Н. Понятия и модели жизненного цикла программного обеспечения:
Учебное пособие. Новосиб. гос. ун-т. – Новосибирск, 2003
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
http://www.martinfowler.com/articles/newMethodology.html
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
Тема 6. Управление анализом и проектированием программных систем
Объектно-ориентированный анализ (ООА) как подход к осмыслению
разрабатываемого проекта. Последовательность OOА. Диаграммы прецедентов.
Модель прецедентов. Концептуальная модель предметной области. Проблемы
OOА, пути и средства их преодоления. Определение назначения объектов и
взаимодействия между ними в ходе объектно-ориентированного проектирования
(OOD). Последовательность OOD. Связь OOA c OOD. Поддержка OOAD
диаграммами UML и CASE-средствами. Предварительные и детальные диаграммы
классов. Описание структуры, отношений и взаимодействия объектов. Проблемы
проектирования крупных программных систем. Важность выбора адекватной
модели жизненного цикла и CASE-средств для управления жизненным циклом
программных систем.
Литература по теме:
 Мейер Б. Объектно-ориентированное конструирование программных систем. - М.:
Изд-во "ИНТУИТ", "Русская Редакция", 2005. - 1232 c.
 Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж., Приемы объектно-ориентированного
проектирования. Паттерны проектирования.- СПб: Питер, 2007. – 366 с.
 Леоненков А. Объектно-ориентированный анализ и проектирование с использованием
UML и IBM Rational Rose. Учебное пособие.- М.:"Интуит", 2006.- 320 с.
 UML – язык графического моделирования.– http://www.uml.org/ .
 JUnit – каркас тестирования для испытания Java-классов.– http://www.junit.org .
 Пакет объектного моделирования Rational Rose.– http://www306.ibm.com/software/rational/.
Тема 7. Многократное использование программных систем. Управление
проектированием на основе паттернов
Многократное использование кода – важнейшая задача разработки программных
систем. Экономика повторного использования кода – теория и практика, проблемы и
средства их решения. Применение шаблонов проектирования. Элементы шаблонов
проектирования. Особенности реализации шаблонов проектирования при разработке
программных систем. Важность дисциплины проекта, ее связь с применяемыми
9
моделями жизненного цикла и средствами автоматизации разработки программных
систем.
Литература по теме:
 Мейер Б. Объектно-ориентированное конструирование программных систем. - М.:
Изд-во "ИНТУИТ", "Русская Редакция", 2005. - 1232 c.
 Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж., Приемы объектноориентированного проектирования. Паттерны проектирования.- СПб: Питер, 2007.
– 366 с.
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Соммервилл И. Инженерия программного обеспечения (6-е изд.), М.: Вильямс,
2002.- 624 стр., ил.
 Schach S.R.: Object-Oriented and Classical Software Engineering (5 ed.) McGraw-Hill,
2001, 744 pp.
 Скопин И.Н. Понятия и модели жизненного цикла программного обеспечения:
Учебное пособие. Новосиб. гос. ун-т. – Новосибирск, 2003
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
http://www.martinfowler.com/articles/newMethodology.html
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
Тема 8. Управление разработкой интерфейсов программных систем
Системные и пользовательские интерфейсы. Формы интерфейса пользователя.
Значение независимости пользовательского интерфейса от реализации программных
систем. Использование шаблонов проектирования для обеспечения независимости
прикладной логики от интерфейса программных систем. Пути увеличения доли
повторного использования компонентов программных систем: интерфейс, прикладная
логика, схема базы данных.
Литература по теме:
 Мейер Б. Объектно-ориентированное конструирование программных систем. - М.:
Изд-во "ИНТУИТ", "Русская Редакция", 2005. - 1232 c.
 Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж., Приемы объектноориентированного проектирования. Паттерны проектирования.- СПб: Питер, 2007.
– 366 с.
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET
Framework 2.0 на языке C#. Мастер класс. 2-е изд. исправ. . – М. : Русская
Редакция; СПб.: Питер, 2008. – 656 с.
 Нейгел К. и др. C# 4.0 и платформа .NET 4.0 для профессионалов. – М.: Вильямс,
2011. – 1440 с.
 Скит Дж. C#: программирование для профессионалов, 2-е изд. – М.: Вильямс, 2011.
– 544 с.
 Троелсен Э. Язык программирования С# и платформа .NET 3.5. - М.: Вильямс,
2011. 1344 с.
 Фролов А.В., Фролов Г.В. Визуальное проектирование приложений С#. – М.:
КУДИЦ-ОБРАЗ, 2003. – 512 с.
 Шилдт Г. С# 4.0. Полное руководство. – М.: Вильямс, 2011. – 1056 с.
 Федоров А. Продукты и технологии Microsoft 2006.– М.: Русская редакция, 2005.–
126 с.
 www.microsoft.com/net
10
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
Тема 9. Управление ревизией программных систем
Экономика жизненного цикла программных систем. Важность раннего выявления
ошибок анализа и проектирования. Взаимодействие фаз анализа, проектирования и
реализации (программирования) при объектно-ориентированной разработке
программных систем. Формы и виды ревизии программных систем. Целесообразность
участия представителей заказчика. Распределение ролей в группе контроля качества
программных систем. Цель и методика ревизии программных систем. Объекты
ревизии: UML-диаграммы, спецификации интерфейса, проект в целом. Организация
формальной ревизии программной системы. Метрики и средства автоматизации
ревизии.
Литература по теме:
 Мейер Б. Объектно-ориентированное конструирование программных систем. - М.:
Изд-во "ИНТУИТ", "Русская Редакция", 2005. - 1232 c.
 Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж., Приемы объектноориентированного проектирования. Паттерны проектирования.- СПб: Питер, 2007.
– 366 с.
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
 Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET
Framework 2.0 на языке C#. Мастер класс. 2-е изд. исправ. . – М. : Русская
Редакция; СПб.: Питер, 2008. – 656 с.
 Нейгел К. и др. C# 4.0 и платформа .NET 4.0 для профессионалов. – М.: Вильямс,
2011. – 1440 с.
 Скит Дж. C#: программирование для профессионалов, 2-е изд. – М.: Вильямс, 2011.
– 544 с.
 Троелсен Э. Язык программирования С# и платформа .NET 3.5. - М.: Вильямс,
2011. 1344 с.
 Фролов А.В., Фролов Г.В. Визуальное проектирование приложений С#. – М.:
КУДИЦ-ОБРАЗ, 2003. – 512 с.
 Шилдт Г. С# 4.0. Полное руководство. – М.: Вильямс, 2011. – 1056 с.Скопин И.Н.
Понятия и модели жизненного цикла программного обеспечения: Учебное пособие.
Новосиб. гос. ун-т. – Новосибирск, 2003
 Федоров А. Продукты и технологии Microsoft 2006.– М.: Русская редакция, 2005.–
126 с.
 www.microsoft.com/net
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258с.
 www.microsoft.com/technet/itsolutions/msf/default.mspx
Тема 10. Управление реализацией и модульным тестированием программных
систем
Место реализации в жизненном цикле программной системы. Артефакты программных
систем, формируемые в результате реализации. Связь реализации с модульным и
сборочным тестированием. Приемы и стандарты документирования реализации.
Демонстрация и анализ принципов и приемов реализации на примере разработки
программной системы (Интернет-магазин), а также при разработке отдельных классов.
Литература по теме:
11
 Мейер Б. Объектно-ориентированное конструирование программных систем. - М.:
Изд-во "ИНТУИТ", "Русская Редакция", 2005. - 1232 c.
 Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж., Приемы объектноориентированного проектирования. Паттерны проектирования.- СПб: Питер, 2007.
– 366 с.
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
 Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET
Framework 2.0 на языке C#. Мастер класс. 2-е изд. исправ. . – М. : Русская
Редакция; СПб.: Питер, 2008. – 656 с.
 Нейгел К. и др. C# 4.0 и платформа .NET 4.0 для профессионалов. – М.: Вильямс,
2011. – 1440 с.
 Скит Дж. C#: программирование для профессионалов, 2-е изд. – М.: Вильямс, 2011.
– 544 с.
 Троелсен Э. Язык программирования С# и платформа .NET 3.5. - М.: Вильямс,
2011. 1344 с.
 Фролов А.В., Фролов Г.В. Визуальное проектирование приложений С#. – М.:
КУДИЦ-ОБРАЗ, 2003. – 512 с.
 Шилдт Г. С# 4.0. Полное руководство. – М.: Вильямс, 2011. – 1056 с.Федоров А.
Продукты и технологии Microsoft 2006.– М.: Русская редакция, 2005.– 126 с.
 www.microsoft.com/net
Тема 11. Управление интеграцией и сборочным тестированием программных
систем
Важность этапа интеграции для обеспечения качества программной системы. Подходы
к сборочному тестированию программных систем «от кода» и «от спецификаций».
Формы и виды тестирования программных систем. Методы тестирования. Технология
«чистого помещения» (cleanroom). Применение классов эквивалентности для
сборочного тестирования программных систем. Использование средств автоматизации
сборочного тестирования. Восходящее, нисходящее и гибридное тестирование.
Метрики сборочного тестирования программных систем.
Литература по теме:
 Мейер Б. Объектно-ориентированное конструирование программных систем. - М.:
Изд-во "ИНТУИТ", "Русская Редакция", 2005. - 1232 c.
 Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж., Приемы объектноориентированного проектирования. Паттерны проектирования.- СПб: Питер, 2007.
– 366 с.
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
 Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET
Framework 2.0 на языке C#. Мастер класс. 2-е изд. исправ. . – М. : Русская
Редакция; СПб.: Питер, 2008. – 656 с.
 Нейгел К. и др. C# 4.0 и платформа .NET 4.0 для профессионалов. – М.: Вильямс,
2011. – 1440 с.
 Скит Дж. C#: программирование для профессионалов, 2-е изд. – М.: Вильямс, 2011.
– 544 с.
 Троелсен Э. Язык программирования С# и платформа .NET 3.5. - М.: Вильямс,
2011. 1344 с.
12
 Фролов А.В., Фролов Г.В. Визуальное проектирование приложений С#. – М.:
КУДИЦ-ОБРАЗ, 2003. – 512 с.
 Шилдт Г. С# 4.0. Полное руководство. – М.: Вильямс, 2011. – 1056 с.Федоров А.
Продукты и технологии Microsoft 2006.– М.: Русская редакция, 2005.– 126 с.
 www.microsoft.com/net
Тема 12. Жизненный цикл документирования программных систем и управление им
Этапы жизненного цикла программных систем и их связь с артефактами
документации. Создание документации к программным системам. Важность и
сложность производства документации. Применение стандартов при производстве
документации для программных систем. Состав документации к программной системе.
Инструментальные средства поддержки производства документации для программных
систем.
Литература по теме:
 Мейер Б. Объектно-ориентированное конструирование программных систем. - М.:
Изд-во "ИНТУИТ", "Русская Редакция", 2005. - 1232 c.
 Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж., Приемы объектноориентированного проектирования. Паттерны проектирования.- СПб: Питер, 2007.
– 366 с.
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
 Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET
Framework 2.0 на языке C#. Мастер класс. 2-е изд. исправ. . – М. : Русская
Редакция; СПб.: Питер, 2008. – 656 с.
 Нейгел К. и др. C# 4.0 и платформа .NET 4.0 для профессионалов. – М.: Вильямс,
2011. – 1440 с.
 Скит Дж. C#: программирование для профессионалов, 2-е изд. – М.: Вильямс, 2011.
– 544 с.
 Троелсен Э. Язык программирования С# и платформа .NET 3.5. - М.: Вильямс,
2011. 1344 с.
 Фролов А.В., Фролов Г.В. Визуальное проектирование приложений С#. – М.:
КУДИЦ-ОБРАЗ, 2003. – 512 с.
 Шилдт Г. С# 4.0. Полное руководство. – М.: Вильямс, 2011. – 1056 с.
Тема 13. Управление приемочным тестированием программных продуктов и их
передачей заказчику
Приемочное тестирование программных систем. Регрессивное тестирование
программных систем. Приемочные тесты при передаче программной системы
заказчику. Средства, позволяющие автоматизировать приемочное тестирование
программных систем. Демонстрация и анализ фаз приемочного тестирования и ввода в
эксплуатацию на примере разработки программной системы (Интернет-магазин), а
также при разработке отдельных классов.
Литература по теме:
 Мейер Б. Объектно-ориентированное конструирование программных систем. - М.:
Изд-во "ИНТУИТ", "Русская Редакция", 2005. - 1232 c.
 Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж., Приемы объектноориентированного проектирования. Паттерны проектирования.- СПб: Питер, 2007.
– 366 с.
13
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Федоров А. Продукты и технологии Microsoft 2006.– М.: Русская редакция, 2005.–
126 с.
 Мюррей К. Новые возможности системы Office 2007.– М.:«ЭКОМ», 2007.– 256 с.
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
http://www.martinfowler.com/articles/newMethodology.html
 Жизненный цикл программного обеспечения ИC. http://www.tver.mesi.ru/elib/res/661/2/devis_2.html
Тема 14. Управление сопровождением программных систем
Сопровождение программных систем: проблемы и особенности, экономика,
требования к персоналу. Виды сопровождения программных систем. Корректирующее
и адаптивное сопровождение. Метрики сопровождения и средства автоматизации
процессов сопровождения программных систем. Пути, методы и средства снижения
затрат на сопровождение программных систем. Связь сопровождения с многократным
использованием программного продукта. Причины вывода программных систем из
эксплуатации.
Литература по теме:
 Мейер Б. Объектно-ориентированное конструирование программных систем. - М.:
Изд-во "ИНТУИТ", "Русская Редакция", 2005. - 1232 c.
 Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж., Приемы объектноориентированного проектирования. Паттерны проектирования.- СПб: Питер, 2007.
– 366 с.
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с
 http://www.ms-dynamics.ruimplementation-methodology33-mbs-partner-methodology
 http://www.microsoft.com/Rus/Dynamics/Solutions/Axapta/Materials.mspx
 Федоров А. Продукты и технологии Microsoft 2006.– М.: Русская редакция, 2005.–
126 с.
 Мюррей К. Новые возможности системы Office 2007.– М.:«ЭКОМ», 2007.– 256 с.
Тема 15. Особенности командной разработки программных систем
Особенности командной разработки программных систем с применением методологии
MSF. Командная разработка программных систем с применением модели
синхронизации и стабилизации. Инструментальные средства для командной
разработки программных систем. Распределение ролей в команде разработки
программных систем. Средства автоматизации управления разработкой программных
систем в проектной команде.
Литература по теме:
 Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
 Федоров А. Продукты и технологии Microsoft 2006.– М.: Русская редакция, 2005.–
126 с.
 Мюррей К. Новые возможности системы Office 2007.– М.:«ЭКОМ», 2007.– 256 с.
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
14
 Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
http://www.martinfowler.com/articles/newMethodology.html
 Жизненный цикл программного обеспечения ИC. http://www.tver.mesi.ru/elib/res/661/2/devis_2.html
Тема 16. Заключение. Обобщение итогов курса
Итоговый обзор жизненного цикла программных систем. Преимущества и недостатки
моделей рассмотренных в курсе моделей жизненного цикла и методологий разработки
программных систем. Особенности применения платформ Microsoft . Net и Oracle
Java для управления жизненным циклом программных систем. Проблемы применения
современных инструментальных средств для управления жизненным циклом
программных систем. Перспективы развития технологий управления жизненным
циклом программных систем.
Литература по теме:
 Скопин И.Н. Понятия и модели жизненного цикла программного обеспечения:
Учебное пособие. Новосиб. гос. ун-т. – Новосибирск, 2003
 Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
 Соммервилл И. Инженерия программного обеспечения (6-е изд.), М.:Вильямс,
2002.- 624 стр., ил.
 Schach S.R.: Object-Oriented and Classical Software Engineering (5 ed.) McGraw-Hill,
2001, 744 pp.
8.Образовательные технологии
На каждом практическом занятии проводится совместный разбор конкретных
ситуаций (кейсов), типичных для современных корпоративных систем. По существу,
каждое занятие является интерактивным мастер-классом по соответствующей теме
дисциплины.
Задания в тестовой форме применяются для обучения студентов и проведения
промежуточных и итогового контроля. При этом для хранения материалов и контроля
успеваемости используется система LMS.
9. Оценочные средства для текущего контроля и аттестации студента
-
-
9.1. Тематика заданий текущего контроля
Тематика контрольных работ:
выбор модели жизненного цикла программной системы;
выбор методологии разработки программной системы;
анализ требований к программной системе;
спецификация требований к программной системе;
проектирование бизнес-логики программной системы;
проектирование графического интерфейса программной системы;
реализация и модульное тестирование программной системы;
интеграция и сборочное тестирование программной системы;
разработка приемочных тестов программной системы;
разработка системной и пользовательской документации.
Тематика контрольных домашних заданий:
разработка программной системы с развитым пользовательским интерфейсом,
графическим выводом и документацией.
Тематика коллоквиумов (тестов)
15
- Определяется темами изучаемого материала (см. раздел 7 «Содержание
дисциплины» и таблицу раздела 5 «Тематический план учебной дисциплины»).
9.2. Вопросы для оценки качества освоения дисциплины
Введение
1. Что такое программная система?
2. Дайте определение приложения
3. Что такое жизненный цикл программной системы?
4. Что включает методология разработки программной системы?
5. Какой подход положен в основу методологии RUP?
6. Что лежит в основе методологии MSF?
7. На чем основаны «гибкие» методологии (XP, Agile и др.)?
Тема 1. Обзор жизненного цикла программных систем
1. Перечислите основные стадии жизненного цикла программных систем
2. В чём состоят особенности жизненного цикла программной системы?
3. Что такое программная инженерия?
4. Поясните смысл необходимости анализа жизненного цикла.
5. Перечислите особенности процесса разработки программных систем.
6. Чем определяются приоритеты при разработке программных систем?
7. Что является основой для выполнения детального проектирования?
8. На основе чего производится анализ требований?
9. Какие артефакты содержат проектные спецификации?
10. Что входит в состав документации детального проектирования?
11. Каким образом производится тестирование компонент в ходе реализации?
12. Когда начинается стадия сопровождения?
13. Что включает программный продукт?
14. Какие виды сопровождения Вам известны?
15. Что такое адаптивное сопровождение?
16. Каков порядок следования фаз жизненного цикла программных систем?
17. Что включает план проекта?
18. На какой фазе разработки устранение ошибок требует наибольших затрат?
Тема 2. Модели жизненного цикла программных систем
1. Перечислите модели неполного жизненного цикла.
2. Какая из моделей жизненного цикла не может использоваться как самостоятельная?
3. В чем состоят преимущества и недостатки каскадной модели?
4. В чем состоят особенности спиральной модели?
5. В чем состоит специфика инкрементальной модели?
6. Перечислите преимущества и недостатки модели синхронизации и стабилизации.
7. Опишите особенности модели Code-and-Fix.
8. Расскажите о специфике модели быстрого протипирования.
9. Перечислите преимущества и недостатки объектно-ориентированной модели.
10. В каких моделях имеет место перекрытие фаз жизненного цикла?
11. Для каких моделей характерно взаимодействие фаз жизненного цикла?
Тема 3. Методологии разработки программных систем
1. Перечислите методологии, которые принято называть «тяжелыми».
2. Какие методологии часто имеуются «легкими», «гибкими»?
16
3. В чем состоит основной принцип методологии Rational Unified Process.
4. Опишите последовательность фаз Rational Unified Process.
5. Что является наиболее крупной единицей проектирования в Rational Unified Process?
6. Дайте определения итерации, фазы, активности для Rational Unified Process.
7. Что входит в «лучшие практики» Rational Unified Process.
8. В чем состоят особенности управления рисками в Rational Unified Process?
9. С какими моделями совместима методология Rational Unified Process?
10. Как соотносятся методологии разработки с моделями жизненного цикла?
11. Перечислите основные принципы методологии Microsoft Solution Framework.
12. Возможно ли совмещение управления жизненным циклом программного продукта и
проекта в Microsoft Solution Framework? Почему?
13. Какова последовательность процессов в Microsoft Solution Framework?
14. В чем причина сложности использования методологии MSF вне Microsoft?
15. Что включает матрица управления процессами в методологии MSF?
16. Опишите последовательность жизненного цикла в методологии SCRUM.
17. Назовите основную стадию жизненного цикла в методологии SCRUM.
18. Перечислите основные «ценности» в методологии eXtreme Programming.
19. Опишите особенности жизненного цикла в методологии eXtreme Programming.
20. В чем состоят основные отличия методологии Agile от других подобных подходов?
Тема 4. Платформы Microsoft .Net и Oracle Java: концепция, архитектурная схема,
особенности управления жизненным циклом
Что такое Microsoft .NET?
Перечислите основные отличия Microsoft .NET от предыдущих подходов.
Какие языки программирования можно использовать в Microsoft .NET? В Java?
Сравните особенности вычислительной модели в Microsoft .NET и Java.
Сопоставьте особенности обеспечения безопасности в Microsoft .NET и Java.
Что такое сборка в Microsoft .NET? Есть ли аналоги сборки в Java?
В чем состоят основные достоинства концепции Microsoft .NET?
Что такое веб-сервисы в Microsoft .NET? Есть ли аналоги в Java?
Как называется виртуальная машина в Microsoft .NET? Есть ли аналоги в Java?
Сопоставьте возможности виртуальных машин в Microsoft .NET и Java.
10. В чем состоят особенности сервисов среды Common Language Runtime?
11. Что является входом для JIT-компилятора среды Common Language Runtime?
12. Что генерирует на выходе JIT-компилятор среды Common Language Runtime?
13. Какие типы допустимы в системе типизации Common Type System?
14. Что содержит сборка кода?
15. Какие средства применяются для идентификации для сборки кода?
1.
2.
3.
4.
5.
6.
7.
8.
9.
Тема 5. Средства автоматизации управления жизненным циклом программных систем
1. В чем состоит назначение CASE-средств?
2. Выполнение каких этапов жизненного цикла могут автоматизировать CASE-средства?
3. Каким образом можно классифицировать CASE-средства?
4. Поддерживают ли CASE-средства анализ и спецификацию требований?
5. Поддерживают ли CASE-средства генерацию кода?
6. Поддерживают ли CASE-средства тестирование?
7. Поддерживают ли CASE-средства модульную декомпозицию?
8. Поддерживают ли CASE-средства документирование?
9. Поддерживают ли CASE-средства управление конфигурацией?
10. Поддерживают ли CASE-средства управление проектами?
17
11. Поддерживают ли CASE-средства разработку метрик?
12. Поддерживают ли CASE-средства управление качеством?
13. Что такое CASE-средства высокой степени интегрированности ?
14. Моделируют ли CASE-средства структуру программных систем?
15. Моделируют ли CASE-средства структуру баз данных?
16. Моделируют ли CASE-средства интерфейсы баз данных?
17. Моделируют ли CASE-средства интерфейсы программных систем?
18. Как называются CASE-средства с инструментами прототипирования?
19. Что такое реинжиниринг корпоративной системы?
20. Какие задачи осуществляются при реинжиниринге?
21. Какие метрики оптимизируются при реинжиниринге программной системы?
22. Какие диаграммы лежат в основе CASE-средств информационного моделирования?
23. Какие диаграммы лежат в основе CASE-средств функционального моделирования?
24. Какие диаграммы лежат в основе CASE-средств событийного моделирования?
25. На чем основаны CASE-средства моделирования бизнес-процессов?
26. Как называется основной стандарт визуального проектирования программных систем?
27. Для чего современные CASE-средства используют раскрашенные сети Петри?
Тема 6. Управление анализом и проектированием программных систем
Какие трудности проведения объектно-ориентированного анализа Вам известны?
Какие отношения могут существовать между прецедентами?
Что такое сценарий использования?
Какие существуют способы описания прецедентов?
Как UML-диаграммы моделируют сценарии использования?
Как UML-диаграммы моделируют описания прецедентов?
В чем преимущества использования диаграмм
прецедентов?
8. Что такое технология разработки программной системы?
9. Что такое итеративная технология проектирования?
10. Как итеративная технология проектирования соотносится со спиральной моделью?
11. В чем состоит результат объектно-ориентированного анализа?
12. Что описывают требования к программной системе?
13. Что такое прецедент?
14. Что такое OOD?
15. Перечислите основные этапы OOD.
16. Что такое объектная модель жизненного цикла?
17. В чем состоят недостатки OOD?
18. Как строится первоначальный список классов программы?
19. Для чего используется извлечение существительных?
20. Для чего служит диаграмма сотрудничества?
21. В чем состоит значение выявление объектов и их взаимосвязей?
22. Когда следует использовать извлечение существительных?
23. Почему важен адекватный выбор модели жизненного цикла?
1.
2.
3.
4.
5.
6.
7.
Тема 7. Многократное использование программных систем. Управление проектированием
на основе паттернов
1. В чем важность повторного использования?
2. Какие элементы проекта могут быть повторно использованы?
3. Что такое шаблон проектирования?
18
Какие элементы входят в шаблон проектирования?
Как правильно выбрать шаблон проектирования?
Гарантирует ли использование шаблонов высокую долю повторного использования?
В чем состоит важность дисциплины проекта для повышения доли повторного
использования?
8. Как связан выбор модели жизненного цикла с повторным использованием?
9. Как связан выбор средств автоматизации проектирования с повторным
использованием?
10. В чем состоят особенности повторного использования при ООD?
4.
5.
6.
7.
Тема 8. Управление разработкой интерфейсов программных систем
1. Какие формы интерфейса пользователя Вам известны?
2. В чем состоят преимущества графического интерфейса пользователя?
3. Какие средства для ускорения проектирования графического интерфейса пользователя
в Java- и .Net средах Вам известны?
4. Возможно ли повторное использование графического интерфейса пользователя? В
каком объеме?
5. В чем отличие анализа, проектирования и реализации пользовательского интерфейса
от соответствующих шагов разработки других частей программы?
6. Почему важно разделять пользовательский интерфейс и прикладную логику?
7. Как используются шаблоны для обеспечения независимости логики и интерфейса?
8. Какие элементы проекта (частично) подлежат повторному использованию?
9. Возможно ли повторное использование интерфейса? В каком объеме?
10. Возможно ли повторное использование прикладной логики? В каком объеме?
11. Возможно ли повторное использование схемы базы данных? В каком объеме?
Тема 9. Управление ревизией программных систем
1. В чем состоят сложности объектно-ориентированного проектирования?
2. Почему важно возможно более раннее выявление ошибок проектирования?
3. Как организован переход от объектно-ориентированного проектирования к
программированию?
4. Что такое ревизия проекта? Почему она необходима?
5. В чем состоит цель ревизии проекта?
6. Какие этапы ревизии проекта Вы можете выделить?
7. Какие формы ревизии проекта Вам известны?
8. Необходимо ли участие в ревизии проекта представителей заказчика?
9. Какие реквизиты проекта подвергаются ревизии?
10. Как организуется формальная ревизия объектно-ориентированного программного
проекта?
11. Каковы пути обеспечения качества программного продукта в ходе ревизии?
12. Какие программные средства помогают автоматизировать ревизию?
13. Какие метрики ревизии Вам известны?
Тема 10. Управление реализацией и модульным тестированием программных систем
1. В чем состоят проблемы модульного тестирования?
2. Что такое тестирование «от кода»?
3. Что такое тестирование «от спецификаций»?
19
4. В чем различия методов тестирования «прозрачного ящика» и «черного ящика»?
5. Какие формы тестирования Вам известны?
6. Что такое модульное тестирование?
7. На каких фазах проекта следует тестировать продукт?
8. Каковы пути обеспечения качества программного продукта в ходе написания кода?
9. Какие программные средства помогают автоматизировать модульное тестирование?
10. Какие метрики модульного тестирования Вам известны?
Тема 11. Управление интеграцией и сборочным тестированием программных систем
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Что такое интеграция (сборка) программной системы?
Что такое сборочное тестирование?
Что такое восходящее тестирование?
Что такое нисходящее тестирование?
Что такое гибридное тестирование?
В чем состоят сложности сборочного тестирования?
В каких случаях применяется технология «чистого помещения»?
Какие формы тестирования Вам известны?
Как применяются при тестировании классы эквивалентности?
На каких фазах проекта следует тестировать продукт?
Каковы пути обеспечения качества программного продукта в ходе написания кода?
Какие программные средства помогают автоматизировать сборочное тестирование?
Какие метрики сборочного тестирования Вам известны?
Тема 12. Жизненный цикл документирования программных систем и управление им
1. На каких этапах жизненного цикла программной системы целесообразно
документирование?
2. Какие элементы документации к программной системе Вам известны?
3. Какие программные средства помогают автоматизировать документирование?
4. Какая стадия жизненного цикла программной системы не требует документирования?
5. Что такое Javadoc?
6. Какие виды документации программных систем Вам известны?
7. В чем состоят преимущества применения программного средства Javadoc для
документирования объектно-ориентированного программной системы?
8. В чем состоят сложности применения программного средства Javadoc для
документирования объектно-ориентированных программных систем?
9. Что такое руководство пользователя программной системы? Каковы его необходимые
элементы?
10. Что такое руководство администратора программной системы? Каковы его
необходимые элементы?
11. Какие средства применяются для автоматизации документирования?
Тема 13. Управление приемочным тестированием программных продуктов и их передачей
заказчику
1.
2.
3.
4.
В чем состоят сложности приемочного тестирования программной системы?
Что такое приемочное тестирование программной системы?
Что такое регрессионное тестирование программной системы?
На какой стадии жизненного цикла программной системы проводится приемочное
тестирование?
20
5. Какие программные средства помогают автоматизировать приемочное тестирование?
6. Участвуют ли в приемочном тестировании представители заказчика? Каким образом?
7. Какие метрики приемочного тестирования Вам известны?
8. Когда продукт переходит в стадию эксплуатации (сопровождения)?
9. Что такое набор тестов? Каким требованиям он должен удовлетворять?
10. Как создаются наборы тестов для демонстрации программной системы заказчику?
11. Каковы факторы риска при приемочном тестировании и пути их минимизации?
12. В каком случае программный продукт считается готовым для передачи заказчику?
Тема 14. Управление сопровождением программных систем
1. В чем состоят сложности сопровождения программных систем?
2. Какие виды сопровождения программных систем Вам известны?
3. Что такое корректирующее сопровождение? Когда оно применяется?
4. Что такое адаптивное сопровождение? Когда оно применяется?
5. Какие качества требуются от специалиста по сопровождению программных систем?
6. Почему сопровождение является наиболее затратным этапом жизненного цикла?
7. Какие программные средства помогают автоматизировать сопровождение?
8. Какие метрики сопровождения программных систем Вам известны?
9. Когда программная система переходит в стадию эксплуатации (сопровождения)?
10. В чем могут состоять причины вывода программных систем из эксплуатации?
Тема 15. Командное управление жизненным циклом программных систем
1. Что такое проектная команда?
2. Какие роли можно выделить в проектной команде?
3. В каких этапах жизненного цикла программной системы участвует проектная
команда?
4. Какие условия необходимы команде для успешного завершения программного
проекта?
5. В чем состоят особенности и проблемы командной разработки?
6. Всегда ли командная разработка программных систем эффективна?
7. В чем состоят особенности командной разработки на основе методологии MSF?
8. Как применяется модель синхронизации и стабилизации при командной разработке?
9. Какие инструментальные средства применяются при командной разработке?
10. Всегда ли применение инструментальных средств эффективно при командной
разработке программных систем?
11. Может ли одно и то же лицо сочетать несколько ролей проектной команды?
Тема 16. Заключение. Обобщение итогов курса
1. Дайте определение программной системы.
2. С какими моделями жизненного цикла Вы познакомились? В чем их особенности?
3. Какие методологии разработки были изучены? Какие из них наиболее пригодны для
корпоративных систем?
4. Какие технологии создания программных систем приложений являются наиболее
значимыми? Почему?
5. С какими программными платформами Вы познакомились? Какие из них наиболее
перспективны для разработки программных систем?
6. Какие CASE-средства были изучены? Как они способствуют повышению
оперативности и качества разработки программных систем?
21
7. Как сказывается выбор модели жизненного цикла на ходе и результатах разработки
программных систем?
8. Каковы современные тенденции и перспективы разработки программных систем?
9. В какой мере и в каких случаях целесообразно применение разработки командной
программных систем?
10. Учебно-методическое и информационное обеспечение дисциплины
10.1. Базовый учебник




















Зыков С.В. Основы проектирования корпоративных систем. – М.: НИУ ВШЭ, 2012.
– 432 с.
10.2. Литература
Зыков С.В. Основы современного программирования. Разработка гетерогенных
приложений в Интернет-ориентированной среде. Учебное пособие. 2-е изд. – М.:
Горячая линия – Телеком, 2012.– 444с.
Федоров А. Продукты и технологии Microsoft.– М.: Русская редакция, 2006.– 126 с.
Sommerville I. Software Engineering (8th Edition). Pearson Education Ltd., 2008, 850pp.
Мюррей К. Новые возможности системы Office 2007.– М.:«ЭКОМ», 2007.– 256 с.
Зыков С.В. Проектирование корпоративных порталов.– М.:МФТИ, 2005.– 258 с.
Троелсен Э. Язык программирования С# и платформа .NET 3.5. - М.: Вильямс, 2011.
1344 с.
Фролов А.В., Фролов Г.В. Визуальное проектирование приложений С#. – М.:
КУДИЦ-ОБРАЗ, 2003. – 512 с.
Шилдт Г. С# 4.0. Полное руководство. – М.: Вильямс, 2011. – 1056 с.
10.3 Дополнительная литература и источники
Скопин И.Н. Понятия и модели жизненного цикла программного обеспечения:
Учебное пособие. Новосиб. гос. ун-т. – Новосибирск, 2003
Fowler M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
http://www.martinfowler.com/articles/newMethodology.html
Барендрегт Х. Ламбда-исчисление. Его синтаксис и семантика. Пер. с англ. М. Мир,
1985.- 606 с.
Schach S.R.: Object-Oriented and Classical Software Engineering (5 ed.) McGraw-Hill,
2001, 744 pp.
Жизненный цикл программного обеспечения ИC. http://www.tver.mesi.ru/elib/res/661/2/devis_2.html
C# 3.0. Language Specification. Version 3.0. : Microsoft Corporation. . 2007. – 504 pp.
Пауэрс Л., Снелл М. Microsoft Visual Studio 2008. СПб.: БХВ-Петербург, 2009. –
1200 с.
Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET
Framework 2.0 на языке C#. Мастер класс. 2-е изд. исправ. . – М. : Русская Редакция;
СПб.: Питер, 2008. – 656 с.
Нейгел К. и др. C# 4.0 и платформа .NET 4.0 для профессионалов. – М.: Вильямс,
2011. – 1440 с.
Скит Дж. C#: программирование для профессионалов, 2-е изд. – М.: Вильямс, 2011.
– 544 с.
Гросс Кр. C# и платформа .NET 3.5 Framework: базовое руководство. 2-е изд. – М.:
ООО "И. Д. Вильямс", 2009. – 480 с.
22
10.4. Справочники, словари, энциклопедии
 MSDN



www.microsoft.com/net
http://www.ms-dynamics.ruimplementation-methodology33-mbs-partner-methodology
http://www.microsoft.com/Rus/Dynamics/Solutions/Axapta/Materials.mspx
10.5. Программные средства
Для успешного освоения дисциплины, студент использует следующие программные
средства:
Microsoft Visual Studio 2010 (.NET Framework 3.5)
Microsoft Visual C# 2010 Express Edition
Microsoft Visual Studio 2010 Team Suite
Microsoft Office 2010
Microsoft SQL Server 2010
NetBeans Org NetBeans 7.1
10.6. Дистанционная поддержка дисциплины
Дистанционная поддержка дисциплины обеспечивается использованием LMS. В разделе
дисциплины размещаются материалы лекций и практических занятий, тесты для
самоподготовки, оценки текущего, промежуточного и итогового контроля.
11. Материально-техническое обеспечение дисциплины
Проектор для лекций и семинаров, классы для семинаров с компьютерами, на которых
установлена инструментальная среда Microsoft Visual Studio 2010.
23
Приложение
Методика формирования оценки за решение задачи на основе конкретной
ситуации (бизнес-кейса)
Оценка за письменную работу (за решение бизнес-кейса) формируется в соответствии со
следующими ниже критериями.
Критерии выставления оценки за решение бизнес-кейса
При выполнении решения бизнес-кейса критерии делятся на основные и
дополнительные. Основные критерии определяют нижний предел оценки по
десятибалльной шкале в рамках соответствующей оценки по пятибалльной шкале.
Дополнительные критерии определяют возможность повышения десятибалльной оценки.
1. Основные критерии
“ОТЛИЧНО”:
8 баллов
1. Решение завершено и полностью соответствует поставленной задаче.
2. Студент может обосновать как принятое решение в целом, так и отдельные его
элементы (выбор модели жизненного цикла, методологии разработки, инструментальных
средств и др.).
3. Оформление корректно: присутвует условие задачи, номер учебной группы, фамилия
и инициалы студента, дата выполнения, обоснование используемых подходов и
принципов.
4. Присутствует обоснование недопустимости альтернативных подходов или
объективных сложностей, возникающих при их применении.
5. Рассмотрены различные варианты основного сценария решения задачи.
9 баллов
1. Решение соответствует критериям получения оценки 8 баллов.
2. Решение в целом соответствует дополнительным критериям.
10 баллов
1. Решение соответствует критериям получения оценки 8 баллов.
2. Решение полностью соответствует дополнительным критериям.
3. Решение может выполнить детальное обоснования альтернативных сценариев
решения задачи.
“ХОРОШО”:
6 баллов
1. Решение в основном соответствует постановке задания. Отклонения от постановки
задания допущены при реализации второстепенных элементов.
2. Студент может объяснить принятое решение.
3. Текст решения структурирован и, в целом, обоснован.
7 баллов
1. Решение соответствует критериям получения оценки 6 баллов.
2. Решение в целом соответствует дополнительным критериям.
“УДОВЛЕТВОРИТЕЛЬНО”:
4 балла
1. Решение имеет существенные несоответствия постановки задания в части,
касающейся основных элементов.
24
2. Студент может объяснить предложенное решение, пользуясь текстом своего ответа.
3. Текст решения структурирован.
5 баллов
1. Решение соответствует критериям получения оценки 4 балла.
2. Решение соответствует отдельным дополнительным критериям.
“НЕУДОВЛЕТВОРИТЕЛЬНО”:
1 балл:
1. Решение задачи не завершено.
2. Текст решения содержит ошибки по существу постановки задачи.
2 балла:
1. Решение содержит серьезные несоответствия постановке задачи, и студент не
может объяснить обоснования, выполненные им по тексту решения.
3 балла:
1. Решение в основном соответствует постановке задачи.
2. Решение становится некорректным при некоторых возможных сценариях бизнесситуации.
3. Студент может объяснить может объяснить этапы обоснования, выполненные им
по тексту решения.
2. Дополнительные критерии
1. Текст решения структурирован.
2. Предусмотрены варианты решения для множественных аномальных сценариев
развития бизнес-ситуации.
3 Решения выполнено и структурировано таким образом, что может быть с
минимальными трудозатратами адаптировано для целого ряда сходных бизнес-ситуаций.
4. Текст решения разбит на блоки, соответствующие основным этапам решения и
возможным сценариям развития бизнес-ситуации.
5. В решении детально обоснованны примененные модели жизненного цикла,
методологии разработки, архитектурные подходы, технологические и инструментальные
средства (в т.ч. изученные студентом самостоятельно); при этом их применение не
противоречит существу постановки задачи.
Защита представленного студентом решения
После проверки экзаменационной письменной работы преподавателем может быть
принято решение о необходимости «защиты» выполненной работы.
Защита представленного студентом решения задачи предусматривает:
1. объяснение студентом всех использованных в решении моделей, методов и
средств (особенности, целесообразность применения и др.);
2. внесение в решение предложенных преподавателем корректив;
3. рассмотрение возможных альтернативных сценариев решения задачи.
В ходе защиты студент должен продемонстрировать навыки практической разработки
элементов корпоративных приложений, знание теоретического материала курса и
владение терминологией дисциплины.
Методика проведения и оценки экзаменационной работы
Экзамен по дисциплине предусматривает:
1. письменную работу (решение бизнес-кейса);
2. развернутый письменный ответ по теоретическому материалу дисциплины.
25
В письменной работе студенту необходимо решить на компьютера один или два
бизнес-кейса по темам, проработанным в процессе изучения дисциплины. При этом
никакими материалами и пособиями пользоваться при выполнении письменной работы
нельзя.
После проверки экзаменационной письменной работы преподавателем может быть
принято решение о необходимости «защиты» выполненной работы.
Защита представленного студентом решения задачи предусматривает:
4. объяснение студентом всех использованных в решении моделей, методов и
средств (особенности, целесообразность применения и др.);
5. внесение в решение предложенных преподавателем корректив;
6. рассмотрение возможных альтернативных сценариев решения задачи.
В ходе защиты студент должен продемонстрировать навыки решения задач по
разработке корпоративных приложений, знание теоретического материала курса и
владение терминологией дисциплины.
На основе приведенных выше критериев и, возможно, с учетом результатов защиты
выставляется десятибалльная оценка за письменную работу (П).
Если в задании предложено решить две задачи, то выставляется оценка по каждой из
них (П1и П2), и общая оценка вычисляется как средневзвешенная:
П = 0,5*П1 + 0,5*П2.
Оценка за тест (Т) определяется как умноженное на 10 отношение количества верных
ответов к максимальному числу верных ответов, полученных когда-либо для данного
теста.
26
1/--страниц
Пожаловаться на содержимое документа