Программная индустрия сегодня

0

No comments posted yet

Comments

Slide 1

Программная индустрия сегодня Савкин Вадим Сергеевич vsavkin.livejournal.com

Slide 2

2 О себе Савкин Вадим Сергеевич Окончил МИЭМ в 1999 по специальности САПР В недавнем прошлом – разработчик ПО (С++, с 1997 г.) в различных компаниях В настоящем – менеджер по развитию бизнес-процессов в департаменте разработки компании «Лаборатория Касперского»

Slide 3

3 Содержание Состояние программной индустрии сегодня Основные проблемы программной индустрии Дисциплина «Программная инженерия» Что ждёт нас в будущем?

Slide 4

Состояние программной индустрии сегодня

Slide 5

Эпоха компьютеров Компьютеры везде Автоматизация уже охватывает все области жизнедеятельности Человечество реально зависит от компьютеров и от софта 5

Slide 6

6 Жизнь в эпоху компьютеров Хорошо это или плохо? Какие в этом плюсы? А есть ли минусы?

Slide 7

7 Взлетит ли ракета? Ракета Ariane 5 Европейского Космического Агентства 4 июня 1996 г. взорвалась на 39-й секунде полёта из-за ошибки в ПО ракеты

Slide 8

8 Улетят ли авиа-пассажиры? В аэропорту Хитроу (Лондон) в марте-апреле 2008 сотни рейсов были задержаны или отменены из-за сбоя в работе компьютерных систем сортировки багажа при открытии нового 5-го терминала.

Slide 9

9 Вылечится ли пациент? В 1985 г. 4 пациента умерли из-за передозировки радиации в аппарате лучевой терапии Therac-25. Причина передозировки – ошибка в управляющем ПО.

Slide 10

10 Удастся ли защититься от врага? В 1991 г. иракская ракета поразила казармы войск США, 28 солдат были убиты. Система ПВО Patriot сработала некорректно из-за программной ошибки в системных часах.

Slide 11

11 Долетим ли до Марса? Связь с аппаратом Mars Polar Lander в 1998 г. была потеряна во время входа в атмосферу Марса из-за ошибки в ПО

Slide 12

Или хотя бы до орбиты Земли? «… Роскосмос и ФГУП "Космическая связь" официально признали, что спутник "Экспресс-АМ4" окончательно потерян. Обнародованы и первые итоги расследования: причиной названа ошибка в программировании системы управления разгонного блока "Бриз-М"...» (август 2011) 12

Slide 13

13 Удастся ли сэкономить? Министерство по налогам и сборам США провалило $8 млрд проект модернизации информационной системы, что стоило $50 млрд несобранных налогов

Slide 14

Будут ли функционировать привычные нам вещи? 2007 г., Сан-Диего, на военных учениях поблизости заглушили GPS-сигнал. В результате на 2 часа в городе перестали работать: Банкоматы Мобильная связь Пейджеры вызова врачей местного госпиталя ! Диспетчерские системы местного аэропорта !!! 14

Slide 15

15 Некоторые факты 24% всех проектов по разработке ПО никогда не завершаются 44% всех проектов по разработке ПО завершаются с перерасходом бюджета в среднем на 56% и превышением сроков на 84% только 32% проектов укладываются в срок и бюджет [данные исследований Standish Group, 2009]

Slide 16

16 Почему так много проблем с ПО? Каковы причины?

Slide 17

17 Размер проектов всё больше 0 1 10 100 1,000 10,000 100,000 1,000,000 10,000,000 1960 1965 1970 1975 1980 1985 1990 1995 2000 Размер (тыс. строк кода) Закон Мура: производительность удваивается каждые 18 мес [данные SEI, 2000 г.]

Slide 18

18 Больше проект - больше проблем [данные SEI, 2000 г.]

Slide 19

19 Сложность программных продуктов «Программные продукты относятся к самым сложным системам, которые создаются человеком.» [Ф. Брукс, 1995]

Slide 20

20 Но всё-таки у некоторых дела идут более-менее хорошо Google Microsoft Oracle … NASA Boeing Lockheed-Martin …

Slide 21

Основные проблемы программной индустрии

Slide 22

Что есть разработка ПО? Разработка ПО – это не только и не столько написание программного кода. Чтобы разработать промышленный программный продукт, нужно очень много всего сделать. Написание кода – лишь малая часть. 22

Slide 23

23 Сегодня не проблема: Написать программный код для решения практически любой отдельно взятой технической задачи

Slide 24

24 До сих пор проблема: Что именно нужно разрабатывать? Как эффективно организовать разработку? Как обеспечить необходимое качество?

Slide 25

25 1: Что нужно разрабатывать?

Slide 26

2: Как организовать разработку? RUP eXtreme Programming Scrum FDD Lean Kanban … CMMI ISO xxxx PMBOK SWEBOK PSP TSP … 26

Slide 27

3: Как обеспечить необходимое качество? Поиск ошибок: Ручное тестирование Автоматизированное тестирование Юнит-тестирование Тестирование производительности Стресс-тестирование Инспекции Самопроверка Статический анализ 27 Предотвращение ошибок: Прототипирование Использование стандартов Компонентный подход Рефакторинг кода Предварительная разработка тестов Регулярный анализ и устранение причин ошибок

Slide 28

Дисциплина «Программная инженерия»

Slide 29

29 Программная инженерия (software engineering) Занимается решением этих и других проблем промышленной разработки программного обеспечения

Slide 30

Технология разработки ПО 30 2011 Программная инженерия - это «Применение систематического, дисциплинированного, поддающегося количественному определению подхода к разработке, эксплуатации и сопровождению программного обеспечения» [IEEE 1990]

Slide 31

Области программной инженерии Анализ и разработка требований к ПО Архитектура и проектирование ПО Конструирование ПО Тестирование ПО Эксплуатация и поддержка ПО Управление конфигурациями ПО Управление разработкой ПО Процессы разработки ПО Инструменты и методы разработки ПО Обеспечение качества ПО 31

Slide 32

Что ждёт нас в будущем?

Slide 33

Зрелость индустрии разработки ПО Мы ещё только в начале пути 33

Slide 34

34 Что дальше? - 1 У тех, кто только сейчас начинает заниматься инженерией программного обеспечения, имеются еще более захватывающие перспективы. Следующие несколько десятилетий сделают XXI век веком программного обеспечения. [Барри Боэм, 2007]

Slide 35

35 Что дальше? - 2 Программное обеспечение станет основным элементом, обеспечивающим людям требуемые возможности и качество жизни. И специалисты, знающие, как лучше всего разрабатывать программные системы, получат величайший шанс изменить мир к лучшему. [Барри Боэм, 2007]

Slide 36

36 Что дальше? - 3 На специалистов ляжет огромная ответственность за обеспечение должного качества разрабатываемых программных систем и предоставляемых ими сервисов. [Барри Боэм, 2007]

Slide 37

Что дальше в учебном плане 4 курс, дисциплина ТРПО - «Технология разработки программного обеспечения» Цели дисциплины ТРПО: Познакомиться с основами промышленной разработки ПО Получить представление о работе компаний-разработчиков ПО Помочь подготовиться к работе в таких компаниях 37

Slide 38

38 Вопросы? Вадим Савкин vsavkin.livejournal.com

Summary: обзорно-развлекательная лекция, прочитанная в академии Нестеровой с целью рекламы предмета ТРПО

Tags: software engineering

URL:
More by this User
Most Viewed