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

Post on 16-Jun-2015

954 views 0 download

description

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

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

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

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

pe@kontur.ru

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

https://twitter.com

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

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

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

ДифУры…

……

Работа

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

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

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

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

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

ifwhile

“;”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Robert Martin. Clean code

Деградация

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

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

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

Lehman Law

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

Robert Martin. Clean code

Деградация

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

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

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

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

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

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

~ N2

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

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

Как лечить?

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

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

изменения

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

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

Вопросы?

@xoposhiype@kontur.ru

http://vk.com/kontur_edu