Правильный ли параметр LOC для оценки проекта?

Правильный ли параметр LOC для оценки проекта?

существует так много сценариев, где сложность занимает гораздо больше времени для одной строки кода, кроме LOC, что может быть предложенным параметром для оценки проекта?

Как говорят люди о функциональной точке программы, это означает для информации, связанной с конкретным случаем?

Я пытаюсь найти какую-либо прочную основу для полной оценки разработки программного обеспечения, которая может состоять из анализа, проектирования, подготовки тестовых документов и кодирования, пожалуйста, предложите?

Ответ 1

Стив Макконнелл в Rapid Development (Microsoft Press, 1996):

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

Google "Function Point" для получения дополнительной информации.

Ответ 2

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

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

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

* они должны делать, по крайней мере. Если они тратят больше времени на написание кода, чем тестирование, вероятно, он заполнен ошибками. И я имею в виду, прежде чем он достигнет вашей выделенной команды QA.

Ответ 3

Только если вы используете его в обратном.

- Изменить

Но нет. Это не так. Это, в основном, бесполезная мера и вообще вредно. Как вы заметили, меньше кода почти всегда лучше.

Другие вещи для проверки? Ну, что вы пытаетесь измерить? Какой результат вы хотите увидеть из-за изменения в том, что вы будете проверять? Какие решения вы будете принимать на основе этих изменений?

Ответ 4

LOC - это одна прокси-мера для измерения размера проблемы.

Можно использовать оценку LOC, а количество LOC относительно дешево для оценки из исторических проектов. Но LOC может быть проблематичным, если он используется для чего-либо другого, кроме прокси-сервера для размера проблемы, как уже указывалось другими ответами.

Размер проблемы довольно постоянный с учетом требований. Из оценки размера вы можете перейти к оценке усилий, графикам и расходам. Это зависит от ваших драйверов планирования, таких как стоимость или график. Из исторических данных вы можете найти корреляцию в том, как размер проблемы переводится в действие и как другие факторы планирования влияют на результат. Таким образом, вам нужно измерить размер и усилие по сравнению с другими параметрами и продолжать точную настройку процесса оценки. В литературе есть некоторые меры LOC-to-effort, но они не очень точны в вашем домене, используя используемую вами технологию и вашу команду.

Другими прокси-серверами для размера проблемы являются функциональные точки и сюжетные точки. Мой опыт в функциональных точках заключается в том, что они редко стоят усилий. С другой стороны, сюжетные точки в гибких методах работают очень хорошо, поскольку они преднамеренно абстрактны (таким образом, избегая множества проблем с LOC) и измеряются на основе спринта по спринту, с мгновенной обратной связью в следующие спринты.

Ответ 5

Нет, это не так. Причина проста: если вы создаете новую строку кода во время своей разработки, вы на один шаг ближе к решению? Если вы оценили 1000 строк кода для выполнения задачи, вы теперь на 0.1% в комплекте с этой задачей?

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

Вот некоторые полезные и измеримые факторы, которые стоит рассмотреть:

  • Часы работы.
  • Доллары потрачены: это хороший результат, потому что он настоятельно обеспечивает реальность, что вы скорее найдете ошибки на рабочем столе разработчика, чем в руках тестера или клиента).
  • Достигнутые вехи: доступна ли система для клиентов в правильную дату?
  • Выполненные требования: это может быть забавным: что, если вы обнаружите новую потребность клиента во время проекта?

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

Ответ 6

Единственный способ получить разумную оценку продолжительности проекта - ПОЛНОСТЬЮ реализовать и предоставить некоторое подмножество окончательных требований. Затем вы можете оценить оставшиеся требования, сравнив их сложность с завершенной работой.