1. Планирование и оценка затрат создания программного продукта

    1. Смоляная яма программирования

Самая яркая сцена доисторических времён - борьба огромных животных со смертью в смоляных ямах. Воображение представляет динозавров, мамонтов и саблезубых тигров, пытающихся высвободиться из смолы. Чем отчаянней борьба, тем сильнее затягивает смола, и как бы ни был силён или ловок зверь, в конечном итоге ему уготована гибель.

Такой смоляной ямой в последние десятилетия было программирование больших систем: в ней сгинул не один большой и сильный зверь. По большей части это происходило в области систем, где мало кому удалось реализовать спецификации, уложиться в график и бюджет. Большие и малые, массивные и жилистые – одна за другой команды программистов увязли в смоле. Казалось ничто в отдельности не вызывает трудностей – одну лапу всегда можно вытащить. Но накопление действующих одновременно и взаимно влияющих факторов всё более и более замедляет движение. Вызывает удивление неприятность возникшей проблемы, и распознать её сущность нелегко. Выделим несколько факторов могущих привести к гибели проекта:

  • Оптимизм. Все программисты – оптимисты. В основе планирования разработки программ лежит ложное допущение, что всё будет хорошо, т.е. каждая задача займёт столько времени, сколько должна занять.

  • Человеко-месяц. Вторым фактором, который может привести к срыву графика работ, является ошибочность в самой единице измерения, используемой при планировании и оценивании.

  • Неправильные действия при срыве графика работ.

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

    1. Сетевое планирование

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

Перечень элементарных работ комплекса.

Перечень работ, на которые опираются элементарные работы.

Время выполнения каждой работы.

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

Соседние файлы в папке Skyn (дата сдачи 19.06.02, оценка отлично)