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

28
Разработка ПО Введение в специальность Павел Егоров @xoposhiy [email protected]

Upload: pavel-egorov

Post on 16-Jun-2015

954 views

Category:

Education


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Разработка ПО. Введение в специальность 1

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

Павел Егоров@xoposhiy

[email protected]

Page 2: Разработка ПО. Введение в специальность 1

Радости профессии

Page 3: Разработка ПО. Введение в специальность 1
Page 4: Разработка ПО. Введение в специальность 1

https://twitter.com

Page 5: Разработка ПО. Введение в специальность 1
Page 6: Разработка ПО. Введение в специальность 1
Page 7: Разработка ПО. Введение в специальность 1

Задачи любой сложности!

Page 8: Разработка ПО. Введение в специальность 1
Page 9: Разработка ПО. Введение в специальность 1
Page 10: Разработка ПО. Введение в специальность 1
Page 11: Разработка ПО. Введение в специальность 1

АлгебраТеорВер

МатСтатМетВыч

ДифУры…

……

Page 12: Разработка ПО. Введение в специальность 1

Работа

Page 13: Разработка ПО. Введение в специальность 1

Печали профессии

Точность и безошибочность

задачи сверху

эта страшная отладка

Page 14: Разработка ПО. Введение в специальность 1

Начать легко!

Page 15: Разработка ПО. Введение в специальность 1

ifwhile

“;”

На сколько сложным должен быть язык программирования?

Теорема о структурном

программировании

Page 16: Разработка ПО. Введение в специальность 1

Не все так просто…

Page 17: Разработка ПО. Введение в специальность 1

20-30% всех IT-проектов проваливаются!

http://www.ambysoft.com/surveys/success2011.html

Чем больше система, тем выше риск

15—50 ошибок на 1000 строк кода Стив Макконнелл «Совершенный код»

Page 18: Разработка ПО. Введение в специальность 1

66.ru переписан с нуля трижды за 5 лет существования

Евгений Островский

JetStyle трижды делал с нуля «ПО для рабочих

групп»Алексей Кулаков

* Согласно докладам с конференции FailConf.ru

Page 19: Разработка ПО. Введение в специальность 1

Иногда «приходится бежать со всех ног, чтобы только остаться на том же месте!»

Такие проекты невозможно переписать с нуля

Page 20: Разработка ПО. Введение в специальность 1

— Легче переписать всё с нуля!

Robert Martin. Clean code

Деградация

Page 21: Разработка ПО. Введение в специальность 1

«Со временем продукт становится все менее

структурированным,

если только с этим специально не бороться»

Lehman Law

Page 22: Разработка ПО. Введение в специальность 1

— Легче переписать всё с нуля!

Robert Martin. Clean code

Деградация

Продукт готов

Page 23: Разработка ПО. Введение в специальность 1

Откуда берется сложность?

Page 24: Разработка ПО. Введение в специальность 1

Проклятье низкого порога вхождения

так заманчиво сразу бежать кодить!

Page 25: Разработка ПО. Введение в специальность 1

Больше кода — больше

зависимостей!

~ N2

Page 26: Разработка ПО. Введение в специальность 1

Year

Operating System

SLOC (Million) Team size

1993 Windows NT 3.1 4 340

1994 Windows NT 3.5 7 530

1996 Windows NT 4.0 11 1500

2000 Windows 2000 30 3100

2001 Windows XP 45 4000

2003

Windows Server 2003 50 4400

Разработка ПО — командная игра

Page 27: Разработка ПО. Введение в специальность 1

Как лечить?

Проводить разведкутребования, прототипированиеопросы, тестирование

Проектироватьдекомпозиция на модули, потенциальные

изменения

Держать код в порядке

Улучшать командное взаимодействие