<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8820&amp;view=findpost&amp;p=87866</guid>
        <pubDate>Sun, 06 Jul 2003 03:30:32 +0000</pubDate>
        <title>МЕТОДИКИ ОЦЕНКИ ТРУДОЕМКОСТИ РАЗРАБОТКИ ПО</title>
        <link>https://forum.sources.ru/index.php?showtopic=8820&amp;view=findpost&amp;p=87866</link>
        <description><![CDATA[Vasya2000: <strong class='tag-b'>МЕТОДИКА ОЦЕНКИ ТРУДОЕМКОСТИ РАЗРАБОТКИ НА ОСНОВЕ<br>ФУНКЦИОНАЛЬНЫХ ТОЧЕК</strong><br>ОБЩИЕ СВЕДЕНИЯ<br>Рассматриваемый в данном разделе сокращенный вариант методики оценки трудоемкости разработки ПО основан на материалах консорциума IFPUG (International Function Point User Group) и компании SPR (Software Productivity Research), которая является одним из лидеров в области методов и средств оценки характеристик ПО.<br>Составляющие оценки трудоемкости разработки ПО:<br><ul class="tag-list"><br></li><li>оценка размера разрабатываемого продукта. Для ПО в прежнее время основной мерой оценки являлось количество строк кода (LOG - Lines of Code), а в настоящее время является количество функциональных точек (FPs - Function Points);<br></li><li>оценка трудоемкости в человеко-месяцах или человеко-часах;<br></li><li>оценка продолжительности проекта в календарных месяцах;<br></li><li>оценка стоимости проекта.<br></li></ul><br>Согласно данной методике трудоемкость вычисляется на основе функциональности разрабатываемой системы, которая в свою очередь определяется на основе выявления функциональных типов - логических групп взаимосвязанных данных, используемых и поддерживаемых приложением, а также элементарных процессов, связанных с вводом и выводом информации.<br>Порядок расчета трудоемкости разработки ПО:<br><ul class="tag-list"><br></li><li>определение количества и сложности функциональных типов приложения;<br></li><li>определение количества связанных с каждым функциональным типом элементарных данных (DET), элементарных записей (RET) и файлов типа ссылок (FTR);<br></li><li>определение сложности (в зависимости от количества DET, RET и FTR);<br></li><li>подсчет количества функциональных точек приложения;<br></li><li>подсчет количества функциональных точек с учетом общих характеристик системы<br></li><li>оценка трудоемкости разработки (с использованием различных статистических данных).<br></li></ul><br>В состав функциональных типов (function type) включаются следующие элементы приложений разрабатываемой системы:<br>[nlist]<br>[*]<strong class='tag-b'>Внутренний логический файл (Internal Logical File, ILF)</strong> -идентифицируемая совокупность логически взаимосвязанных записей данных, поддерживаемая внутри приложения посредством элементарного процесса <br>[*]<strong class='tag-b'>Внешний интерфейсный файл (External Interface File, EIF</strong>) - идентифицируемая совокупность логически взаимосвязанных записей данных, передаваемых другому приложению или получаемых от него и поддерживаемых вне данного приложения.<br>[*]<strong class='tag-b'>Входной элемент приложения (External Input, El</strong>) - элементарный процесс, связанный с обработкой входной информации приложения - входного документа или экранной формы. Обрабатываемые данные могут соответствовать одному или более ILF.<br>[*]<strong class='tag-b'>Выходной элемент приложения (External Output, EO</strong>) - элементарный процесс, связанный с обработкой выходной информации приложения - выходного отчета, документа, экранной формы.<br>[*]<strong class='tag-b'>Внешний запрос (External Query, EQ)</strong> - элементарный процесс, состоящий из комбинации «запрос/ответ», не связанной с вычислением производных данных или обновлением ILF (базы данных).[/nlist]<br>]]></description>
        <author>Vasya2000</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8820&amp;view=findpost&amp;p=87865</guid>
        <pubDate>Sun, 06 Jul 2003 03:16:47 +0000</pubDate>
        <title>МЕТОДИКИ ОЦЕНКИ ТРУДОЕМКОСТИ РАЗРАБОТКИ ПО</title>
        <link>https://forum.sources.ru/index.php?showtopic=8820&amp;view=findpost&amp;p=87865</link>
        <description><![CDATA[Vasya2000: <strong class='tag-b'>ОЦЕНКА ТРУДОЕМКОСТИ ПРОЕКТА</strong><br>В качестве начального значения предлагается использовать 20 чел.-ч на одну <strong class='tag-b'>UCP</strong>. Эта величина может уточняться с учетом опыта разработчиков. Приведем пример возможного уточнения.<br>Рассмотрим показатели F1 - F8 и определим, сколько показателей F1 - F6 имеют значение меньше 3 и сколько показателей F7 - F8 имеют значение больше 3. Если общее количество меньше или равно 2, следует использовать 20 чел.-ч на одну UCP, если 3 или 4 - 28. Если общее количество равно 5 или более, следует внести изменения в сам проект, в противном случае риск провала слишком высок.<br>]]></description>
        <author>Vasya2000</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8820&amp;view=findpost&amp;p=87864</guid>
        <pubDate>Sun, 06 Jul 2003 03:14:38 +0000</pubDate>
        <title>МЕТОДИКИ ОЦЕНКИ ТРУДОЕМКОСТИ РАЗРАБОТКИ ПО</title>
        <link>https://forum.sources.ru/index.php?showtopic=8820&amp;view=findpost&amp;p=87864</link>
        <description><![CDATA[Vasya2000: <br><strong class='tag-b'>ОПРЕДЕЛЕНИЕ УРОВНЯ КВАЛИФИКАЦИИ РАЗРАБОТЧИКОВ</strong><br>Уровень квалификации разработчиков (EF - Environmental Factor) вычисляется с учетом следующих показателей (табл. 3,8).<br><br>Таблица 3,8 Показатели уровня квалификации разработчиков<br><table class='post_table tag-table'><br><tr><br><td> Показатель </td><td> Описание </td><td> Вес </td><br></tr><br><tr><br><td> F1 </td><td> Знакомство с технологией </td><td> 1,5  </td><br></tr><br><tr><br><td> F2 </td><td> Опыт разработки приложений </td><td> 0,5 </td><br></tr><br><tr><br><td> F3 </td><td> Опыт использования объектно-ориентированного подхода </td><td> 1 </td><br></tr><br><tr><br><td> F4 </td><td> Наличие ведущего аналитика </td><td> 0,5 </td><br></tr><br><tr><br><td> F5 </td><td> Мотивация </td><td> 1 </td><br></tr><br><tr><br><td> F6 </td><td> Стабильность требований </td><td> 2 </td><br></tr><br><tr><br><td> F7 </td><td> Частичная занятость </td><td>-1 </td><br></tr><br><tr><br><td> F8 </td><td> Сложные языки программирования </td><td>-1 </td><br></tr><br> </table><br><br><br>Каждому показателю присваивается значение в диапазоне от О до 5. Для показателей F1 - F4 0 означает отсутствие, 3 - средний уровень, 5 - высокий уровень. Для показателя F5 0 означает отсутствие мотивации, 3 - средний уровень, 5 - высокий уровень мотивации. Для F6 0 означает высокую нестабильность требований, 3 -среднюю, 5 - стабильные требования. Для F7 0 означает отсутствие специалистов с частичной занятостью, 3 - средний уровень, 5 - все специалисты с частичной занятостью. Для показателя F8 0 означает простой язык программирования, 3 - среднюю сложность* 5 - высокую, сложность.<br>Значение EF вычисляется по формуле<br>EF = 1,4 + (- 0,03 * (S Fi * Весi))<br><br>Окончательное значение <strong class='tag-b'>UCP (Use Case Points)</strong> вычисляется следующим образом:<br>UCP=UUCP*TCF*EF<br>]]></description>
        <author>Vasya2000</author>
        <category>Software Design</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=8820&amp;view=findpost&amp;p=87863</guid>
        <pubDate>Mon, 30 Jun 2003 08:24:42 +0000</pubDate>
        <title>МЕТОДИКИ ОЦЕНКИ ТРУДОЕМКОСТИ РАЗРАБОТКИ ПО</title>
        <link>https://forum.sources.ru/index.php?showtopic=8820&amp;view=findpost&amp;p=87863</link>
        <description><![CDATA[Vasya2000: <strong class='tag-b'> МЕТОДИКИ ОЦЕНКИ ТРУДОЕМКОСТИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ </strong><br>Данная методика основана на материалах компании <strong class='tag-b'><span class="tag-color tag-color-named" data-value="blue" style="color: blue">Rational Software</span></strong>.<br><strong class='tag-b'>1 ОПРЕДЕЛЕНИЕ ВЕСОВЫХ ПОКАЗАТЕЛЕЙ ДЕЙСТВУЮЩИХ ЛИЦ</strong><br>Все действующие лица системы делятся на три типа: простые, средние и сложные.<br><ul class="tag-list"><br></li><li>Простое действующее лицо представляет внешнюю систему с четко определенным программным интерфейсом.<br></li><li>Среднее действующее лицо представляет либо внешнюю систему, взаимодействующую с данной системой посредством протокола наподобие TCP/IP, либо личность, пользующуюся текстовым интерфейсом (например, алфавитно-цифровым терминалом).<br></li><li>Сложное действующее лицо представляет личность, пользующуюся графическим пользовательским интерфейсом.<br></li></ul><br>Общее количество действующих лиц каждого типа умножается на соответствующий весовой коэффициент, затем вычисляется общий весовой показатель (табл. 3.1).<br><br>Таблица 3.1 <strong class='tag-b'>Весовые коэффициенты действующих лиц</strong><br><table class='post_table tag-table'><tr><td>Тип действующего лица</td><td> Весовой коэффициент</td><br></tr><br><tr><br><td>Простое</td><br><td>1</td><br></tr><br><tr><br><td>Среднее</td><br><td>2</td><br></tr><br><tr><br><td>Сложное</td><br><td>3</td><br></tr><br></table><br><br>В качестве примера рассмотрим систему регистрации для учебного заведения (табл. 3.2).<br><br>Таблица 3.2 <strong class='tag-b'>Типы действующих лиц</strong><br><table class='post_table tag-table'><br><tr><br><td>Действующее лицо</td><td>Тип</td><br></tr><br><td>Студент </td><td> Сложное </td><br>[/tr]<br><tr><br><td> Профессор </td><td> Сложное </td><br></tr><br><tr><br><td> Регистратор </td><td> Сложное </td><br></tr><br><tr><br><td> Расчетная система </td><td> Простое </td><br></tr><br><tr><br><td> Каталог курсов </td><td> Простое </td><br></tr><br></table><br><br>Таким образом, общий весовой показатель равен: А=2*1 + 3*3 = 11<br><br><strong class='tag-b'>2 ОПРЕДЕЛЕНИЕ ВЕСОВЫХ ПОКАЗАТЕЛЕЙ ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ</strong><br>Все варианты использования делятся на три типа; простые, средние и сложные в зависимости от количества транзакций в потоках событий (основных и альтернативных). В данном случае под транзакцией понимается атомарная последовательность действий, которая выполняется полностью или отменяется.<br>Общее количество вариантов использования каждого типа умножается на соответствующий весовой коэффициент, затем вычисляется общий весовой показатель (табл. 3.3).<br><br>Таблица 3.3 Весовые коэффициенты вариантов использования<br><table class='post_table tag-table'><br><tr><br><td> Тип варианта использования </td><td> Описание </td><td> Весовой коэффициент </td><br></tr><br><tr><br><td> Простой </td><td> 3 или менее транзакций </td><td> 5 </td><br></tr><br><tr><br><td> Средний </td><td> От 4 до 7 транзакций </td><td> 10 </td><br></tr><br><tr><br><td> Сложный </td><td> Более 7 транзакций </td><td> 15 </td><br></tr><br></table><br><br>Другой способ определения сложности вариантов использования заключается в подсчете количества классов анализа, участвующих в их реализации (табл. 3.4).<br><br>Таблица 3.4 Весовые коэффициенты вариантов использования<br><table class='post_table tag-table'><br><tr><br><td> Тип варианта использования </td><td> Описание </td><td> Весовой коэффициент </td><br></tr><br><tr><br><td> Простой </td><td> Менее 5 классов </td><td> 5 </td><br></tr><br><tr><br><td> Средний </td><td> От 5 до 10 классов </td><td> 10 </td><br></tr><br><tr><br><td> Сложный </td><td> Более 10 классов </td><td> 15 </td><br></tr><br></table><br><br>Для системы регистрации сложность вариантов использования определяется следующим образом (табл. 3.5).<br>Таблица 3.5<br>Сложность вариантов использования<br><table class='post_table tag-table'><br><tr><br><td> Вариант использования </td><td> Тип </td><br></tr><br><tr><br><td> Войти в систему </td><td> Простой </td><br></tr> <br><tr><br><td> Зарегистрироваться на курсы </td><td> Средний </td><br></tr> <br><tr><br><td> Просмотреть табель успеваемости </td><td> Простой </td><br></tr> <br><tr><br><td> Выбрать курсы для преподавания </td><td> Средний </td><br></tr> <br><tr><br><td> Проставить оценки </td><td> Простой </td><br></tr> <br><tr><br><td> Курировать информацию о профессорах </td><td> Простой </td><br></tr> <br><tr><br><td> Курировать информацию о студентах </td><td> Простой </td><br></tr><br><tr><br><td> Закрыть регистрацию </td><td> Средний </td><br></tr><br></table><br>Таким образом, общий весовой показатель равен:<br>UC = 5 * 5 +10 * 3 = 55.<br>В результате получаем показатель UUCP (Unadjusted Use Case Points):<br>UUCP=A+UC=66<br><br><br><strong class='tag-b'>3 ОПРЕДЕЛЕНИЕ ТЕХНИЧЕСКОЙ СЛОЖНОСТИ ПРОЕКТА</strong><br>Техническая сложность проекта (TCF - Technical Complexity Factor) вычисляется с учетом показателей технической сложности (табл. 3.6).<br>Каждому показателю присваивается значение Тi. в диапазоне от 0 до 5 (0 означает отсутствие значимости показателя для данного проекта, 5 - высокую значимость). Значение TCF вычисляется по формуле<br>TCF = 0,6 + (0,01*(STi* Весi))<br>Вычислим TCF для системы регистрации (табл. 3.7), <br>TCF = 0,6 + (0,01 * 40) = 1,0.<br><br>Таблица 3.6 Показатели технической сложности проекта TCF<br><table class='post_table tag-table'><br><tr><br><td> Показатель </td><td> Описание </td><td> Вес </td><br></tr><br><tr><br><td> Т1 </td><td> Распределенная система </td><td> 2 </td><br></tr><tr><br><td> Т2 </td><td> Высокая производительность (пропускная способность) </td><td> 1 </td><br></tr><tr><br><td> T3 </td><td> Работа конечных пользователей в режиме он-лайн </td><td> 1 </td><br></tr><tr><br><td> Т4 </td><td> Сложная обработка данных </td><td> -1 </td><br></tr><br><tr><br><td> Т5 </td><td> Повторное использование кода </td><td> 1 </td><br></tr> <br><tr><br><td> Т6 </td><td> Простота установки </td><td> 0,5 &nbsp;</td><br></tr><br><tr><br><td> Т7 </td><td> Простота использования </td><td> 0,5 &nbsp;</td><br></tr><br><tr><br><td> Т8 </td><td> Переносимость </td><td> 2 </td><br></tr><br><tr><br><td> Т9 </td><td> Простота внесения изменений </td><td> 1 </td><br></tr><br><tr><br><td> T10 </td><td> Параллелизм </td><td> 1 </td><br></tr><br> <tr><br><td> T11 </td><td> Специальные требования к безопасности </td><td> 1 </td><br></tr><br><tr><br><td> T12 </td><td> Непосредственный доступ к системе со стороны внешних пользователей </td><td> 1 </td><br></tr><br><tr><br><td> T13 </td><td> Специальные требования к обучению пользователей </td><td> 1 </td><br></tr><br></table><br><br>Таблица 3.7 Показатели технической сложности системы регистрации<br><table class='post_table tag-table'><br><tr><br><td> Показатель </td><td> Вес </td><td> Значение </td><td> Значение с учетом веса </td><br></tr><br><tr><br><td> T1 </td><td> 2 </td><td> 4 </td><td> 8 </td><br></tr><br><tr><br><td> T2 </td><td> 1 </td><td> 3 </td><td> 3 </td><br></tr><br><tr><br><td> T3 </td><td> 1 </td><td> 5 </td><td> 5 </td><br></tr><br><tr><br><td> T4 </td><td> 1 </td><td> 1 </td><td> 1 </td><br></tr><br><tr><br><td> T5 </td><td> 1 </td><td> 0 </td><td> 0 </td><br></tr><br><tr><br><td> T6 </td><td> 0,5 </td><td> 5 </td><td> 2,5 </td><br></tr><br><tr><br><td> T7 </td><td> 0,5 </td><td> 5 </td><td> 2,5 </td><br></tr><br><tr><br><td> T8 </td><td> 2 </td><td> 0 </td><td> 0 </td><br></tr><br><tr><br><td> T9 </td><td> 1 </td><td> 4 </td><td> 4 </td><br></tr><br><tr><br><td> T10 </td><td> 1 </td><td> 5 </td><td> 5 </td><br></tr><br><tr><br><td> T11 </td><td> 1 </td><td> 3 </td><td> 3 </td><br></tr><br><tr><br><td> T12 </td><td> 1 </td><td> 5 </td><td> 5 </td><br></tr><br><tr><br><td> T13 </td><td> 1 </td><td> 1 </td><td> 1 </td><br></tr><br><tr><br><td> S </td><td> &nbsp; </td><td> &nbsp; </td><td> 40 </td><br></tr><br> </table><br><br>продолжение следует...]]></description>
        <author>Vasya2000</author>
        <category>Software Design</category>
      </item>
	
      </channel>
      </rss>
	