Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmnaya_inzheneria_Lektsii.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.57 Mб
Скачать

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Ивановский государственный энергетический университет имени в.И. Ленина».

Введение в программную инженерию

Конспект лекций

Иваново 2014

УДК 004.41

ББК

Введение в программную инженерию: Конспект лекций / ФГБОУВПО «Ивановский государственный энергетический университет имени В.И. Ленина». – Иваново, 2014. – с. IBSN

В учебном пособии рассматриваются процессы и методы промышленной разработки программного обеспечения. Материал пособия подобран с учетом требований документов Guide to the Software Engineering Body of Knowledge (SWEBOK), IEEE 2004 Version – Свод знаний по программной инженерии и Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering – Учебный План для Преподавания Программной Инженерии в ВУЗах. Основное внимание уделяется рассмотрению жизненных циклов программного обеспечения, описанию проблем и видов деятельности при выполнении фаз жизненного цикла и наиболее распространенных методологий разработки программных продуктов.

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

Ил. . Библиогр.: назв.

Печатается по решению редакционно-издательского совета ГОУ ВПО «Ивановский государственный энергетический университет имени В.И. Ленина».

Рецензенты:

кафедра программного обеспечения компьютерных систем ФГБОУВПО «Ивановский государственный энергетический университет имени В.И. Ленина»;

доктор технических наук, профессор.

IBSN 2014

Оглавление

Предисловие 5

1. Предмет программной инженерии 9

1.1. Определение и свойства программного обеспечения 9

1.2. Проблемы разработки программного обеспечения 10

1.3. Процессы производства программного обеспечения 11

1.4. Понятие программного проекта 13

1.5. Стандартизация в области производства ПО 15

1.6. Определение программной инженерии и ее место в системе информационных технологий 18

2. Жизненный цикл программных продуктов 21

2.1. Понятие жизненного цикла 21

2.2. Процессы жизненного цикла программного обеспечения 22

2.3. Модели жизненного цикла 24

3. Виды деятельности в программной инженерии 32

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

3.1.1. Проблема 32

3.1.2. Цикл работы с требованиями 33

3.1.3. Виды и свойства требований 33

3.1.4. Варианты формализации требований 34

3.2. Проектирование программного обеспечения 36

3.2.1. Понятие 36

3.2.2. Принципы 36

3.2.3. Шаблоны 37

3.2.4. Моделирование ПО 37

3.2.5. Методологии 38

3.2.6. Оценка качества 38

3.3. Конструирование программного обеспечения 39

3.3.1. Определение 39

3.3.2. Связь с другими процессами 39

3.3.3. Принципы 39

3.3.4. Модели и методы 41

3.3.5. Языки конструирования 41

3.4. Конфигурационное управление 41

3.4.1. Проблемы управления активами программного проекта 41

3.4.2. Единицы конфигурационного управления 43

3.4.3. Управление версиями 44

3.4.4. Управление сборками 44

3.4.5. Понятие baseline 45

3.5. Тестирование программного обеспечения 45

3.5.1. Основные определения 45

3.5.2. Уровни тестирования (Test Levels) 46

3.5.3. Виды тестирования 46

3.5.4. Метрики 47

3.6. Сопровождение программного обеспечения 47

4. Методология объектно-ориентированного анализа и проектирования 50

4.1. Основные понятия 50

4.1.1. Объекты и классы 50

4.1.2. Принципы ООП 51

4.1.3. Разработка объектно-ориентированных программ 51

4.2. Язык UML 53

4.2.1. Что дает UML 53

4.2.2. Структура языка UML 55

4.2.3. UML диаграммы 59

4.2.4. Программы поддержки языка UML 61

4.3. Вопросы для самоконтроля 62

5. Технологии разработки программного обеспечения 63

5.1. Тяжеловесные и облегченные технологии 63

5.2. Технология RUP 64

5.3. Гибкие технологии 67

5.3.1. SCRUM 67

5.4. Технология MSF 68

5.4.1.  Управление рисками в MSF for Agile Software Development 70

5.4.2. Основные сведения о рисках 70

5.4.3. Планирование управления рисками 71

5.4.4. Процесс управления рисками 72

5.4.5. Управление рисками как составная часть жизненного цикла проекта 73

5.4.6. Учебный пример. Выделение рисков 73

5.5. Модель процессов MSF for Agile Software Development 75

5.5.1. Принципы модели процессов 75

5.5.2. Управление компромиссами 76

5.5.3. Схема процесса разработки 77

5.6. MSF for Agile Software Development 79

5.6.1. Подготовка проекта 80

5.6.2. Планирование проекта 80

5.6.3. Планирование спринта 84

5.6.4. Выполнение спринта 86

5.6.5. Отслеживание проекта 88

5.7. CMMI 90

5.7.1. Каково назначение модели CMMI? 91

5.7.2. Как лучше использовать модель CMMI? 91

5.7.3. Элементы модели CMMI 93

Литература 97