Разработка ПО. Введение в специальность 1
DESCRIPTION
Первая, вводная часть из серии обзорных лекций про промышленную разработку ПО студентам первых курсов.TRANSCRIPT
Радости профессии
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
Разработка ПО — командная игра
Как лечить?
Проводить разведкутребования, прототипированиеопросы, тестирование
Проектироватьдекомпозиция на модули, потенциальные
изменения
Держать код в порядке
Улучшать командное взаимодействие
Вопросы?
http://vk.com/kontur_edu