Курсы программирования. Занятие третье

{lang: 'ru'}

Недавно у нас прошло третье занятие по дисциплине «программирование» в рамках «Курсов повышения ИТ-компетенций». Сразу хочется отметить, что оно было интереснее и, наверное, полезнее, нежели два предыдущих. Было меньше слов и больше надписей на доске. За первые два занятия я исписал полторы страницы (половину – на первом, и одну – на втором). А тут за один раз – полтора листа! Думаю, что это показатель. :) Писать мы стали больше.

А теперь перейдем к тому, что же мы собственно писали и о чем нам говорили там.

Заглавной темой занятия был этап «Проектирование». Из всего сказанного о нем, можно выделить несколько моментов.

Для начала, нам «поведали», что с ростом размера программы (в тысячах строк кода) стоимость этапов анализа и проектирование, вместе с тестированием и внедрением продукта – растут (имеется ввиду рост затрат в процентах относительно этапа программирования). Т.е. важность аналитиков и тестеров возрастает. Если для программы в 1000 строк кода доля распределения «затратности» между этапами: (анализ+проектирование), программирование, (тестирование+внедрение); выглядет примерно как 20:60:20 %. То для программы в 1000 000 строк кода, соотношение получается уже 30:40:30 %. А то мы и сами не могли догадаться. ;)

Далее, перешли к оценке времени выполнения проекта. Здесь нам кратко объяснили, что такое диаграмма Ганта, зачем она нужна и как используется для – оценки продолжительности работ. Здесь следует отметить, что по ней хорошо определяется «критический путь» разработки, который следует внимательно отслеживать в процессе. Главное замечание, которое хочется сделать по этой теме – при планировании времени нужно декомпозировать задачу так, чтобы время выполнения каждой подзадачи не превышало 8 часов. Если это удастся сделать (а удастся это должно, иначе это будет означать, что у вас скорее всего просто не хватает опыта, чтобы выполнить эту работу за приемлемое время), то в результате мы получим цифру, которая будет означать время, требуемое на разработку ПО с отклонением не более 20% от реального. Стоит отметить, что по этой причине, обговаривая с заказчиком сроки, стоит сразу «накинуть сверху» эти 20% и исходить из максимального срока.

В итоге, по завершению этапа анализа, необходимо иметь две вещи:


  1. Четкое распределение ответственности по исполнителям;
  2. Четкий список работ.

Также было сказано, что нормальная цена разработки продукта в Ульяновске – 500-600 р./час.

А также то, что в некоторых местах (в частности, в «Креативной разработке») используется понятие «норма-час». Т.е. то, за сколько в среднем выполняется данная операция профессионалом. Она оценивается (по времени и деньгам), и отдается конкретному разработчику. Тот выполняет за столько, за сколько сможет, но оплату получает фиксированную, по факту сдачи (т.е. чем быстрее работаешь, тем больше получаешь).

Вторым пунктом в программе шли UML-диаграммы. Они были рассмотрены обзорно. Только основные конструкции. Здесь я не буду перепечатывать Википедию, поэтому, если заинтересовало, лучше сразу залезть туда.

А закончилось наше третье занятие на курсах «повышения ИТ-компетенций» упоминанием шаблонов проектирования и домашним заданием: прочитать и усвоить информацию о пяти шаблонах проектирования (в том числе – одиночка, фасад, композит) и «прикрутить» графический интерфейс (GUI) к тому, что получилось по результатам предыдущего задания .


Полезная статья? Их будет больше, если вы поддержите меня!