Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_ТП (с рамками)_2013.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
253.1 Кб
Скачать

35. Производительность труда программиста. Различия в прогах опытного программиста и новичка по ф. Бруксу.

Производительность труда очень важно в программировании, т.к. время – самый дорогой ресурс. Любое нововведение в программирование остаётся если оно позволяет повысить производительность труда программиста.

Соотношение производительности труда программистов. Впервые эта цифра появилась в исследованиях Сакмана. Он приводит, что производительность труда у разных программистов соотносится как 1:25. Такого соотношения производительности труда нет ни в одной отрасли. Это, безусловно, крайние цифры, но 1:10 гарантировано встречается на практике. Кроме того, программы написанные более опытным программистом чаще всего требуют меньше ресурсов (1:2) и работают быстрее (1:2), не говоря уже о том, что они содержат меньше ошибок. Программы, написанные опытным программистом легче читать, они яснее концептуально.

Одним из шагов по увеличению производительности программиста являлся уход от «программирования в коде». Основные недостатки «программирования в коде» чрезвычайно низкая производительность труда программиста, значительная трудоёмкость написания любой программы и «машинные» требования к кодированию. Поэтому, как только стало ясно, что такое «программирование в коде», появилось множество идей по «упрощению» технологии программирования. Большинство из них было направлено на повышение производительности труда программиста, «упрощение» технологии программирования, повышение эффективности отладки.

Различия в программах опытного программиста и новичка. Опыт – важный фактор, который дает новые знания и понимание. «Программирование в коде» - кропотливый и трудоёмкий процесс. Практика показала, что скорость программирования составляла примерно 10 команд в день (но это у опытного программиста). Переход с одной машины на другую у опытного программиста занимал примерно полгода. На обучение программированию в коде новичка уходило до года.

36. Распределение стоимости разработки программного обеспечения по технологическим стадиям создания.

Рис. ЖЦ ПО, распределение стоимости по фазам.

Распределение стоимости разработки программного обеспечения обычно рассматривают по технологическим стадиям создания. Откуда видно, что, несмотря на свою ценность, стадия проектирования, как таковая занимает не более 20% стоимости ПО. Стадия собственно программирования около 30%. А вот стоимость сопровождения составляет половину стоимости ПО, что было далеко не очевидно до исследования. Сопровождение заключается в удовлетворении потребностей пользователя: устранении ошибок, проведении доработок по просьбе пользователя и, вообще, повышении полезности программы. Программисты стремятся избежать такой работы, т.к. считают ее менее творческой. Самая большая помеха при сопровождении обусловлена отсутствие квалифицированных кадров. Если сопровождение превалирует по стоимости, то стадия проектирования превалирует по числу допущенных ошибок.

При проектировании возникает до 61% - 64% ошибок и лишь остальные при реализации. Кроме того, ошибки, допущенные при проектировании, влияют на все последующие стадии, а их ликвидация обходится гораздо дороже. Иной раз ошибки, пропущенные на этой стадии, приводят к пересмотру всей схемы реализации программы.

В основном ошибки выявляются на этапе сопровождения, хотя и при отладке выявляется достаточно значительное количество ошибок. Ликвидация ошибок в стадии сопровождения является наиболее дорогим удовольствием.