Процесс проектирования и разработки ПО Введение
Цели
Сокращения
Цель модуля
Содержание модуля
Student
Учебный материал (1)
Учебный материал(2)
Учебный материал(3)
Руководство по ядру знаний программной инженерии ( SWEBOK)
Структура модуля
Цели исследования и индивидуальная работа
Самостоятельная работа
Самостоятельная работа
Самостоятельная работа
Самостоятельная работа
Самостоятельная работа
ПРИМЕРНЫЙ ПЛАН РАБОТЫ НАД ПРОЕКТОМ (1)
ПРИМЕРНЫЙ ПЛАН РАБОТЫ НАД ПРОЕКТОМ (1)(2)
График (сроки) выполнения работы
Проверка (The review)
Краткая история разработки программных систем (ПС)
Что такое процесс программной инженерии?
Что такое процесс программной инженерии?
Как процессы программной инженерии могут быть проанализированы?
Процессы программной инженерии
Стадии процесса разработки ПС (I уровень)
Процессы разработки ПС
Спасибо за Ваше внимание!
506.00K

Процесс проектирования и разработки ПО Введение

1. Процесс проектирования и разработки ПО Введение

2. Цели

Представить:
•Цель и содержание модуля
•Учебный материал модуля
•Требования к лабораторным работам
•Концепция процессов программной инженерии
2

3. Сокращения

• SS – Software System(s)/Программная система
• SEP – Software Engineering Process/Процесс
программной инженерии
• SWEBOK – guide to the Software Engineering Body of
Knowledge/руководство по ядру знаний программной
инженерии
• IW – Individual Work / Самостоятельная работа
• UCM – Use Case Model / Модель вариантов
использования
• AM – Analysis Model / Модель анализа
• DM – Design Model/Проектная модель
3

4. Цель модуля

Главная цель – ознакомиться с процессами
разработки больших программных систем (SS);
Ознакомиться с процессами и моделями программной
инженерии, быть готовым к выпускной работе.
Разработка понимается как процесс, который
включает действия от идеи SS до её
разработки и повторного использования
4

5. Содержание модуля

Модуль:
•Анализирует процесс разработки SS
•Представляет основные концепции и
определения
•Анализирует и оценивает различные модели
процессов программной инженерии (SEP)
5

6. Student

Hello!
(participant)
6

7. Учебный материал (1)

1. Guide to the Software Engineering Body of
knowledge (SWEBOK), Software Engineering
Process, IEEE, 2004 version.
(definition of SEP content, links to other resources)
2. I.Jacobson, G.Booch, J.Rumbaugh. The
Unified Software Development Process,
Addison-Wesley, 463 p.
3. Грейди Буч, Джеймс Рамбо, Айвар
Джекобсон. UML руководство пользователя.
М.: ДМ К, 2000.
(most related book with first part)
7

8. Учебный материал(2)

4. С. А. Орлов. Технологии разработки
программного обеспечения: учебник для
вузов. СПБ.: Питер, 2004th - 527 с.
5. Ian Sommerville. Software Engineering. 6 th
Edition. Addison-Wesley, 2001.Йан
Соммервилл «Инженерия программного
обеспечения». Издат. Дом Москва, 2002г.
6. Леоненков А. В. Самоучитель UML. СПб.:
BHV, 2006.
8

9. Учебный материал(3)

7. http://en.wikipedia.org/wiki/
Rational_Unified_Process
9. http://www-306.ibm.com/software/rational/
10. Л.Г. Гагарина, Е.В. Кокорева, Б.Д.Виснадул.
Технология разработки программного
обеспечения. Москва, 2008.
11. Ресурсы кафедры ПОКС.
9

10. Руководство по ядру знаний программной инженерии ( SWEBOK)

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Введение в руководство
Требования к программному обеспечению (ПО)
Разработка архитектуры (структуры) ПО
Разработка (конструирование) ПО
Тестирование ПО
Сопровождение ПО
Управление конфигурацией ПО
Управление программной инженерией (Software Engineering
Management)
Процессы программной инженерии
Методы и средства программной инженерии
Качество ПО
Дисциплины, связанные с программной инженерией
10

11.

What about
experience?
11

12. Структура модуля

Число кредитов 6:
• 32 ч. лекций,
• 32 ч. лаб.работ,
• 32 ч. лаб.работ,
• самостоятельная работа,
• индивидуальная работа (IW), экзамен (Е)
12

13. Цели исследования и индивидуальная работа

Исследование
Аналитическая часть
Индивидуальная
работа
UCM
AM
DM
...
13

14. Самостоятельная работа

• Целью работы является закрепление знаний,
полученных студентами в процессе изучения
дисциплины. Студент должен самостоятельно
спроектировать, закодировать и протестировать
компьютерную систему для решения проблемы
какой-либо организации (название предметной
области можно выбрать из списка).
• Работа должна быть командной (до пяти студентов в
команде). Каждый из членов команды выполняет
одну из функций: руководитель, системный аналитик,
проектировщик, кодировщик, тестировщик.
14

15. Самостоятельная работа

• Отчет по разрабатываемому проекту должен
включать следующие разделы:
1. Введение
• Описание предметной области.
• Выполнение структурного анализа для
анализа деятельности организации:
– построение бизнес-процессов в виде диаграмм
IDEF0 и DFD (модель AS - IS);
– выявление проблем;
• Цель разработки ПО.
15

16. Самостоятельная работа

2. Стадия формирования требований к ПО
• Построение предлагаемой структуры бизнеспроцессов организации (модель TO – BE) в
виде диаграмм DFD;
• Описание функциональных требований.
Построение диаграммы USE CASE;
• Описание нефункциональных требований;
• Описание ограничений, если они имеются.
16

17. Самостоятельная работа

3. Стадия проектирования.
• Построение архитектуры системы:
Диаграмма пакетов;
диаграмма классов;
диаграмма взаимодействия;
• Построение алгоритмов:
диаграмма деятельности.
• Построение модели пользовательского интерфейса.
• Проектирование БД
• Построение концептуальной модели данных в виде
ERD.
17

18. Самостоятельная работа

4. Реализация (создание прототипа).
• Выбор и обоснование языка
программирования.
5. Тестирование.
Тестирование методом «черного ящика»
6. Заключение (что сделано).
18

19. ПРИМЕРНЫЙ ПЛАН РАБОТЫ НАД ПРОЕКТОМ (1)

• Согласование темы проекта.
• Изучение конкретной проблемы, работа по
выявлению требований.
• Документирование требований (Спецификация
требований с соответствующими приложениями).
• Оформление технического задания.
• Определение модели ЖЦ разработки ПО и
обоснование выбора модели.
• Проектирование ПП:
• Написание программного кода.
• Верификация программы: тестирование ПП (подбор
контрольных примеров для тестирования
программы).
19

20. ПРИМЕРНЫЙ ПЛАН РАБОТЫ НАД ПРОЕКТОМ (1)(2)


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

21. График (сроки) выполнения работы

1 неделя – регистрация в виртуальной обучающей среде
3 неделя – завершить обсуждение темы с преподавателем
5 неделя– представить анализ бизнес – процессов (оценка необходимых
затрат - приветствуется)
6
неделя– представить модель вариантов использования
10 неделя– представить модели разработки
16 неделя – представить программу и тестовые
17 неделя – представить отчёт
18 неделя– защитить КП (IW)
За каждую неделю просрочки доклада о промежуточных результатах
итоговая оценка снижается на 0,25 балла, за каждую неделю
просрочки представления ИР и отчёта итоговая оценка
снижается на 0,5 балла.
21

22. Проверка (The review)


Проверка – обсуждение работы коллегами. Оно не
будет влиять на оценку обсуждаемой работы.
Обсуждение включает:
1.
Оценку актуальности и жизнеспособности темы
2.
Оценку анализа рынка и бизнес-возможностей
3.
Оценку необходимых затрат
4.
Полноту и законченность модели вариантов использования, её
достоинств и недостатков
5.
Полноту и законченность модели анализа, её достоинств и
недостатков
6.
Полноту и завершённость моделей разработки, их достоинств и
недостатков
7.
Итоговые выводы
Будет оценена полнота и завершённость КП,
достоинства и недостатки анализа
22

23. Краткая история разработки программных систем (ПС)

• 1940-е: программирование – это искусство,
программист – это поэт
Ограниченное число программ и памяти
• 1960-е: кризис в программировании, применение
общеинженерных положений (основ)
Увеличение числа программ и данных, 3-е поколение компьютеров,
высокие затраты на сопровождение ПС, новые области
компьютерных приложений
• 1980-е: программная инженерия признана как
отдельная наука
Наука об управлении проектами, работе группами, жизненные циклы
ПС, автоматизация разработки
• 1990-е: стандартизация, специализация,
автоматизация, промышленное производство
программ, интеграция систем, управление качеством
• 2010-е: виртуальное окружение (альтернативное
для реальной окружающей среды), Internet услуги,
Internet of things, “облачные” вычисления, ... ?
23

24.

Is that
all?
24

25.

Процесс программной инженерии
Основан на Rational Unified Process
(но не =)
Соответствует SWEBOK, обновлён
25

26. Что такое процесс программной инженерии?

1. Может ли профессиональный оркестр
играть без дирижёра? (начало, темп, синхронизация)
2. Дирижер дирижирует по памяти?(ноты – проект,
музыканты – участники, исполнение – процесс, дирижёр –
менеджер)
3. Разработка ПС– новая ветвь инженерии
(общая инженерия + особенности; разработать автомобиль,
но“мягкий”)
4. Процесс программной инженерии (далее
процесс) определяет кто, что, когда и как
делается
5. От поэзии к инженерному процессу (качество)
26

27. Что такое процесс программной инженерии?

• Процессы программной инженерии
анализируют, как разрабатывать ПС, как
улучшать и сопровождать их
• Разработка ПС – это сложная деятельность,
которая включает анализ рынка, поиск денег
(заказчиков), определение желаемых
особенностей и свойств ПС, организацию
процесса её разработки, установку и
маркетинг, сбор пользовательских мнений,
сопровождение и улучшение ПС, ...
27

28. Как процессы программной инженерии могут быть проанализированы?

На 1 уровне (детально)
Анализ технических и административных
мероприятий в процессах жизненного цикла
ПО (приобретение, разработка,
обслуживание и демонтаж).
На 2 уровне (абстрактно)
Связаны
Определение жизненного цикла ПО,
реализация, оценка, измерение,
управление, изменение и улучшение.
28

29. Процессы программной инженерии

1. Процесс
реализации и
изменений
1.1. Процесс
создания
инфрастр-ры
1.2. Процесс
управления
2. Процесс
определения
3. Процесс
оценки
4. Процесс и
Результат
измерения
2.1. Модели ЖЦ
ПО
3.1. Процесс оценки
моделей
4.1. Процесс
измерения
2.2. Процессы
ЖЦ ПО
3.2. Процесс оценки
методов
4.2. Измерение ПП
1.3. Модели
процесса
улучшения
2.3. Нотации для
определения
процессов
4.3. Качество
результатов
измерения
1.4.
Практические
соображения
2.4. Процесс
адаптации
4.4. Информац.
Модели ПО
2.5. Автоматизация
4.5. Процесс
методов измерения
29

30. Стадии процесса разработки ПС (I уровень)


Анализ рынка
Анализ требований
Проект разработки ПС
Разработка и тестирование подсистем
Интеграция подсистем, тестирование ПС
Инсталляция ПС, оценка
Эксплуатация ПС, сопровождение
Анализ испытаний
30

31. Процессы разработки ПС

Анализ
рынка
Анализ опыта
Эксплуатация
ПС,
сопровождение
Анализ
требований
Проект
Разработки ПС
Разработка
подсистем
Инсталляция ПС,
оценка
Интеграция
подсистем,
тестирование ПС
31

32.

На этом этапе формируются требования 3 типов
32

33.

Этапы проектирования систем
33

34.

Все подсистемы, как правило, разрабатываются
параллельно.
34

35.

35

36.

• При инсталляции система «погружается» в то
окружение, в котором она должна работать. При
инсталляции сложных систем могут появиться ряд
проблем:
• Окружение, в котором инсталлируется система, не
совпадает с тем, в котором она должна работать (не
та ОС
не работают все функции.
• Потенциальные пользователи относятся враждебно к
внедрению системы.
• Новая система работает вместе со старой.
• Возможны чисто физические проблемы (не хватает
сетевых кабелей).
36

37.

37

38.

38

39.

I was told that
it is more
difficult ...
39

40. Спасибо за Ваше внимание!

English     Русский Правила