Методы и средства проектирования информационных систем. Процессный подход
Литература
Цели курса
Цели курса
Предмет изучения
Объекты изучения
Объекты изучения
1. Процессы производства программного обеспечения
Внешние процессы производства программного обеспечения
Внутренние процессы производства программного обеспечения
1.1 Управление конфигурацией
Содержание плана КУ
Инструменты КУ
Основные элементы инстр. КУ
Основные операции администрирования
Основные операции
Задание для практических занятий
420.00K

Лекция 1

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

Минеев Сергей Алексеевич

2. Литература

Основная
О1. Буч Г. Объектно-ориентированный анализ и
проектирование с примерами приложений на С++. 2-е
изд., 1999 г.
O2. Брукс Ф. Мифический человеко-месяц или как
создаются программные системы. 1999 г.
O3. Страуструпп Б. Язык программирования С++. 3-е
издание. 1999 г.

3.

O5. Буч Г., Рамбо Дж., Джекобсон А. Язык UML.
Руководство пользователя.: Пер. с англ. – М.: ДМК,
2000.
O6. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.
Приемы объектно-ориентированного проектирования.
Паттерны проектирования. 2001 г.
O7. Канер С., Фолк Д., Нгуен Е. К. Тестирование
программного обеспечения. 2-е издание. 2000 г.

4.

Дополнительная
Д1. Гласс Р., Нуазо Р. Сопровождение программного
обеспечения. 1983 г.
Д2 Ларман Крэг. Применение UML и шаблонов
проектирования. 2001 г.
Д3 Фаулер М., Скотт К. UML в кратком изложении.
Применение стандартного языка объектного
моделирования. 1999 г.

5.

Д4. Липаев В. В. Документирование и управление
конфигурацией программных средств. Методы и
стандарты. 1998 г.
Д5. Кратчен Ф. Введение в Rational Unified Process.
2-е издание. 2002 г.
Д6. Троелсен Ф. С# и платформа .NET. 2002 г.
Д7. Топп У. Форд У. Структуры данных в С++.
1999 г.
Д8. Бен-Ари М. Языки программирования
практический сравнительный анализ: М.: Мир, 2000.

6. Цели курса

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

7. Цели курса

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

8. Предмет изучения

1. Назначение процессов анализа и
проектирования при разработке программных
систем.
2. Основные задачи и методы анализа и
проектирования
сложных
программных
комплексов.
3. Место программной инженерии среди
научных дисциплин и областей практической
деятельности человека

9. Объекты изучения

1. Структуры данных общего назначения;
2. Программный комплекс как система,
состоящая из частей, роль, место и связь ее
частей как элементов системы;
3. Модели жизненного цикла программного
обеспечения;
4. Эволюция парадигм программирования;

10. Объекты изучения

5. Объектная модель;
6. Алгоритмы общего назначения;
7. Шаблоны проектирования;
8. Инструментальные средства, применяемые
при разработке сложных программных
комплексов.

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

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

12.

Внешние процессы можно
рассматривать как “корпус” и
“топливо” производства ПО.

13. Внешние процессы производства программного обеспечения

Управление проектом
Управление требованиями
Управление конфигурацией
Управление запросами на изменения
Управление качеством
Управление документацией

14.

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

15.

Внутренние процессы – “двигатель”
производства ПО.

16. Внутренние процессы производства программного обеспечения

Анализ и проектирование
Реализация
Интеграция
Тестирование и верификация
Сопровождение

17. 1.1 Управление конфигурацией

Управление конфигурацией программных
систем (Software Configuration Management –
SCM) – это инженерная дисциплина,
объединяющая инструментальные средства
и методологию, которые применяются
компаниями для управления изменениями в
программных системах.

18.

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

19.

Процесс управления конфигурацией имеет:
*владельца (ответственного за процесс);
*руководящий документ (план
управления конфигурацией или описание
процесса);
*инструментальное средство (версионный
контроль, ограничение доступа, отчеты о
потоке изменений).

20. Содержание плана КУ

1. Введение
1.1. Цель документа
1.2. Нормативная основа
1.3. Сведения о документе
1.4. Термины, сокращения и определения

21.

2. Идентификация
объектов
конф.
управления
2.1 Разрабатываемые конфигурации продукта
2.2 Описание платформ разработки
2.3 Физическая архитектура системы
2.4 Идентификация компл. и компонентов
2.5 Описание инструментальных средств
2.6 Описание объектов конф. управления
2.7 Структура хранилища (репозитория)
2.8 Стандарт именования
2.8.1 Наименования файлов
2.8.2 Наименования объектов на языках программирования

22.

2.9 Соглашения по коммент. в исх. коде
2.9.1.
2.9.2.
C, C++, Managed C
С#

23.

3. Порядок сборки и формирования
версий
3.1 Взаимозависимости
компонентов/комплексов
3.2 Порядок разработки
3.2.1 Фазы разработки
3.2.2 Временные ограничения
3.2.3 Обязательные артефакты
3.3 Порядок сборки
3.4 Порядок формирования версий

24.

4. Распределение ролей в проекте
4.1 Ответственный за управление проектом
4.2 Ответственный за конф. управление
4.3 Ответственный за управление запросами на
изменение
4.4 Ответственный за управление
документацией
4.5 Ответственный за контроль качества ПО
4.6 Ответственные за разработку
комплексов/компонентов
4.7 Права доступа

25. Инструменты КУ

Subversion (SVN)
Mercurial
Git
Microsoft Visual Source Safe
Rational ClearCase

26. Основные элементы инстр. КУ

Хранилище артефактов проекта
(репозиторий)
Операторский интерфейс для доступа к
хранилищу
Операторский интерфейс для управления
хранилищем (администрирования)
Программный интерфейс для
автоматизации операций с хранилищем

27. Основные операции администрирования

Создание конфигурации (отождествляется
с вариантом разрабатываемой системы и
ее производственного окружения)
Определение политики доступа к
артефактам конфигурации (регистр.
пользователей, групп пользователей)
Контроль доступа (изменение прав доступа
пользователей к артефактам)

28. Основные операции

Добавление артефакта в версионное хранилище
Удаление артефакта в версионном хранилище
(перманентное, из последующих базовых линий)
Постановка арт. на контроль (Check Out) для
внесения изменений
Снятие арт. с контроля (Check In, Commit) после
внесения изменений
Слияние (Merge) разных версий одного артефакта
Маркирование артефактов и групп артефактов,
создание базовых линий

29. Задание для практических занятий

Зарегистрироваться как пользователь
системы Mos.Hub для конфигурации
(проекта) MIST
Посредством операторского интерфейса
создать папку со своими инициалами
В созданную папку поместить под
версионный контроль файл
<фамилия>.txt

30.

Изменить содержимое файла, создать
версию файла в системе Git
Отправить версию файла в облако
Получить последнюю версию файла из
системы Git
Повторить изменение файла, создание
версии, отправку в систему Git

31.

Просмотреть историю версий всего
проекта MIST.
Написать сценарий, выполняющий
автоматически все перечисленные выше
действия с артефактом <фамилия>.txt

32.

Из состава группы выбрать
ответственного за процесс
конфигурационного управления.
Задание для ответственного – создание и
размещение в wiki плана КУ для
репозитория MIST
English     Русский Правила