Экспертная оценка размера проекта программного средства наиболее сложная задача в этой методике. Приступая к разработке комплекса программ, как в любой профессиональной деятельности, необходимо сначала провести реалистическую оценку возможного масштаба проекта — поставленных целей, ресурсов проекта и выделенного времени. Задача управления масштабом состоит в задании базовых требований, которые включают разбитое на компоненты ограниченное множество функций и требований, намеченных для реализации в конкретной версии проекта. Базовый уровень масштаба должен обеспечивать'.
приемлемый для заказчика минимум функций и требований к проекту;
разумную вероятность успеха с точки зрения возможностей и ресурсов коллектива разработчиков.
При оценивании масштаба следует определить приоритеты функций для установления состава работ, согласованного между заказчиком и разработчиком, которые обязательно должны быть выполнены и для определения базового уровня масштаба конкретного проекта с допустимым риском неуспешной реализации. Сокращение масштаба проекта до размеров, адекватных выделенному времени и ресурсам, может привести к конфликтам заказчиков и разработчиков. Для уменьшения вероятности таких конфликтов целесообразно активно привлекать заказчиков к управлению их требованиями и масштабом проекта, чтобы обеспечить как качество, так и своевременность разработки ПС.
Экспертные оценки удельных затрат на строку текста программ относятся к полному циклу разработки крупных комплексов программ, начиная от создания концепции и требований до завершения испытаний и передачи программного продукта заказчику или пользователям, с учетом всего состава коллектива специалистов всех квалификаций. По мнению некоторых специалистов, несмотря на появление новых методов и инструментальных средств разработки сложных ПС, средняя производительность при их создании за последние двадцать лет осталась почти неизменной и составляет около 3000 строк кода на одного разработчика проекта в год (порядка 250 строк на человеко-месяц). Это отражает то, что уменьшение времени, затрачиваемого на цикл разработки, не может быть достигнуто за счет значительного повышения производительности труда отдельных специалистов. Причем это практически не зависит от усовершенствований языка программирования, организационных усилий со стороны менеджеров, от наличия или отсутствия некоторых отдельных видов инструментария и автоматизации работ, хотя значительную роль играет увеличившаяся доля повторно используемых компонентов (ПИК). На самом деле при достаточно высоком уровне технологии (3—4-й уровень СММ — см. лекцию 3) большое значение имеют возросший размер и сложность состава функциональных задач комплексов программ, а также значительное повышение требуемого качества создаваемых ПС.
В качестве ориентиров при экспертной оценке ТЭП для таблицы 5.2 можно использовать следующие данные средней трудоемкости разработки сложных комплексов программ. Весьма общие данные опубликованы в виде широких диапазонов производительности труда: для относительно простых ПС — 8 LOC на человеко-день и 4 LOC на человеко-день для достаточно сложных ПС. Также приводятся широкие диапазоны производительности труда при разработке программ на ассемблере — 60— 500 LOC на человеко-месяц, и 50—300 LOC на человеко-месяц для языков высокого уровня. Подобные оценки можно использовать как ориентиры при первичных определениях ТЭП.
Более точные оценки производительности при разработке программ различного размера и классов на основе обобщения статистических данных множества проектов представлены в базовой модели СОСОМО:
для программ административных систем (ИПС) размером порядка 30 тысяч строк оценка производительности составляет около 220 строк на человеко-месяц, а для ПС размером 500 тысяч строк — 160 строк на человеко-месяц;
для встроенных комплексов программ реального времени размером 30 тысяч строк рекомендуется для оценок использовать производительность около 140 строк на человеко-месяц, а для крупных ПС размером 500 тысяч строк предлагается значение производительности около 80 строк на человеко-месяц.
Эти данные находятся в середине представленных выше диапазонов и их целесообразно использовать при экспертной оценке полной трудоемкости разработки соответствующих новых ПС. При использовании готовых повторно используемых компонентов обобщенная производительность труда возрастает и зависит от доли таких компонентов в комплексе программ. Их также можно использовать для оценки полной стоимости проекта конкретного ПС. Однако при этом необходимы удельные данные средней стоимости труда одного человеко-месяца специалистов в конкретном предприятии с учетом всех накладных расходов, которые могут различаться в несколько раз. Такие сведения обычно являются коммерческой тайной, и при использовании данной методики для определенного проекта ПС их следует запрашивать у экономических служб конкретного предприятиям. Тем не менее опубликованы ориентиры стоимости разработки одной строки текста программ реального времени — около 100$ и более, а для административных систем — около 20—50$.
Do'stlaringiz bilan baham: |