ТЕМА 5. Стадии проектирования и реализации ИС Лекция 23. Этап рабочего проектирования.

Презентация:



Advertisements
Похожие презентации
ТЕМА 5. Стадии проектирования и реализации ИС Лекция 22. Этап рабочего проектирования.
Advertisements

ТЕМА 4. Технологии внедрения информационных систем Лекция 17. Стадия реализации ИС. Оценка трудоемкости разработки ИС.
ТЕМА 5. Стадии проектирования и реализации ИС Лекция 24. Оценка трудоемкости разработки ИС.
Жизненный цикл программного обеспечения Лекция 4.
ОСНОВЫ ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММ. Разработка программ - промышленное производство необходима технология разработки программ. Д. Кнут «Искусство программирования.
Лекция 5 Организация разработки информационных систем УЧЕБНЫЕ ВОПРОСЫ: УЧЕБНЫЕ ВОПРОСЫ: 1. Каноническое проектирование ИС 2. Типовое проектирование ИС.
Технический проект системы Технический проект системы - это техническая документация, содержащая общесистемные проектные решения, алгоритмы решения задач,
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ.
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
РД «Методические указания. Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы. Автоматизированные.
Информационные системы Руководящие документы Госстандарта РФ. Проектная документация.
Информационные системы в экономике Лекция 1. Основные понятия и определения Автоматизированная информационная система это совокупность технических программных.
АВТОМАТИЗАЦИЯ РАСЧЕТА ОПЕРАЦИОННЫХ РАЗМЕРОВ «АВ.Р.О.РА»
Методология проектирования RAD МДК Раздел 1.
1 Основы надежности ЛА Надежность сложных систем.
Прогнозирование сложности проектирования заказных программных продуктов Презентация на тему: Проверил: Б.М.МихайловВыполнил: Д.Ю.Ермилов 2017.
УТКИН Денис Михайлович ЗОЛЬНИКОВ Владимир Константинович УТКИН Денис Михайлович МОДЕРНИЗИРОВАННАЯ МЕТОДИКА ПРОЕКТИРОВАНИЯ СЛОЖНЫХ БЛОКОВ ПРОГРАММНО-ТЕХНИЧЕСКИХ.
Положение об отделе В.Андреев, Д.Сатин. Штат отдела начальник отдела; бизнес-аналитик; проектировщик пользовательских интерфейсов; специалист по анализу.
Теория Курс пользователя типового реестра государственных и муниципальных услуг 1.
Базы данных Лекция 01 Информационные технологии баз данных.
Транксрипт:

ТЕМА 5. Стадии проектирования и реализации ИС Лекция 23. Этап рабочего проектирования.

2 Стадии ЖЦ по ISO/IEC 15288:2002 Формирование концепции Формирование концепции Разработка Разработка Реализация Реализация Эксплуатация Эксплуатация Поддержка Поддержка Снятие с эксплуатации Снятие с эксплуатации по ГОСТ Формирование требований к АС Разработка концепции АС. Техническое задание. Эскизный проект. Технический проект. Рабочая документация. Ввод в действие. Сопровождение АС Анализ требований Реализация Внедрение Эксплуатация Проектирование

3 Стадии ЖЦ по ГОСТ Стадия Этапы 4. Эскизный проект Разработка предварительных проектных решений по системе и её частям Разработка документации на АС и её части. 5. Технический проект Разработка проектных решений по системе и её частям Разработка документации на АС и её части Разработка и оформление документации на поставку изделий для комплектования АС и (или) технических требований (технических заданий) на их разработку Разработка заданий на проектирование в смежных частях проекта объекта автоматизации. 6. Рабочая документация Разработка рабочей документации на систему и её части Разработка и/или адаптация программ.

4 Проектирование ИС Эскизное проектирование Техническое проектирование Рабочее проектирование Техно-рабочее проектирование Готовая к внедрению ИС Эскизный проект (мнемосхемы, диаграммы процессов верхнего уровня) Технический проект (системный проект в виде комплекса моделей работы ИС) Результаты анализа предметной области Рабочий проект (комплекс программ с эксплуатационной документацией)

5 Рабочее проектирование Рабочее проектирование – детальное проектирование, включающее: разработку программ ИС, разработку программ ИС, выбор и адаптацию приобретаемых программных средств, выбор и адаптацию приобретаемых программных средств, разработку спецификаций каждого компонента, разработку спецификаций каждого компонента, разработку интерфейсов между компонентами, разработку интерфейсов между компонентами, разработку требований к тестам, разработку требований к тестам, разработку плана интеграции компонентов. разработку плана интеграции компонентов.

6 Связь между этапами проектирования

7 Документация этапа рабочего проектирования Рабочий проект – комплекс документации, содержащий все необходимые и достаточные сведения для обеспечения выполнения работ по вводу ИС в действие и её эксплуатации, а также для поддержания уровня эксплуатационных характеристик (качества) системы в соответствии с принятыми проектными решениями. Рабочий проект – комплекс документации, содержащий все необходимые и достаточные сведения для обеспечения выполнения работ по вводу ИС в действие и её эксплуатации, а также для поддержания уровня эксплуатационных характеристик (качества) системы в соответствии с принятыми проектными решениями. Источником разработки рабочего проекта служит технический проект. Источником разработки рабочего проекта служит технический проект. Рабочий проект оформляется в соответствии с ГОСТ «Виды, комплектность и обозначение документов при создании автоматизированных систем». Рабочий проект оформляется в соответствии с ГОСТ «Виды, комплектность и обозначение документов при создании автоматизированных систем». В комплекс рабочего проекта входит также программная документация в соответствии с ГОСТ В комплекс рабочего проекта входит также программная документация в соответствии с ГОСТ

8 1. Каталог базы данных 2. Состав выходных данных (сообщений) 3. Инструкция по формированию и ведению базы данных 4. Чертеж формы документа (видеокадра) 5. Ведомость машинных носителей информации 6. Массив входных данных 7. Методика (технология) автоматизированного проектирования 8. Технологическая инструкция 9. Руководство пользователя 10. Описание технологического процесса обработки данных 11. Инструкция по эксплуатации КТС 12. Схема соединений внешних проводок 13. Схема подключения внешних проводок 14. Таблица соединений и подключений 15. Схема деления системы (структурная) 16. Чертеж общего вида 17. Чертеж установки технических средств 18. Схема принципиальная 19. Схема структурная комплекса технических средств 20. План расположения оборудования и проводок 21. Спецификация оборудования 22. Ведомость потребности в материалах 23. Локальная смета 24. Общее описание системы 25. Программа и методика испытаний (компонентов, комплексов средств автоматизации, подсистемы, систем) 26. Проектная оценка надежности системы 27. Ведомость держателей подлинников 28. Ведомость эксплуатационных документов

9 Разработка спецификаций модулей ИС разработка спецификаций, которые выражают функциональные возможности каждого модуля в физических категориях; разработка спецификаций, которые выражают функциональные возможности каждого модуля в физических категориях; определение средств разработки для каждого модуля (или выделенных групп модулей), если используются несколько средств разработки в одном проекте; определение средств разработки для каждого модуля (или выделенных групп модулей), если используются несколько средств разработки в одном проекте; определение последовательности реализации модулей и зависимостей модулей. определение последовательности реализации модулей и зависимостей модулей.

10 Предназначение спецификаций Спецификации Функциональная Техническая Разрабатывается для заказчика с целью получения санкции на завершение проектирования и начало реализации. Создается для разработчиков модулей и групп тестирования, содержит описание деталей проекта, а также ряд отчетов из репозитория CASE- средств. Основанием для разработки служит постановка задачи.

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

12 Отсутствие спецификаций Ошибки Последствия Неконтролируемый рост объемов данных Резкое снижение производительности системы Возникновение потоков запросов с изначально высокой вероятностью конфликта Зацикливание Смешивание системных и интерфейсных модулей, ошибки в размещении бизнес- логики Создание «монолитной», тяжело сопровождаемой системы Дублирование модулей Неоправданный рост затрат Отсутствие или неполная реализация требуемых заказчиком функций системы Увеличение сроков разработки и конфликты с заказчиком

13 Разработка метрик генерации кода Метрика генерации кода – это таблица плановой трудоемкости по кодированию и отладке ПО. Метрика генерации кода – это таблица плановой трудоемкости по кодированию и отладке ПО. Оценку времени разработки производят: Оценку времени разработки производят: на основе аналитической документации (на этапе эскизного проектирования или при разработке ТЗ); на основе аналитической документации (на этапе эскизного проектирования или при разработке ТЗ); после выполнения большей части проектирования схемы данных и модулей (на этапе технического проектирования). после выполнения большей части проектирования схемы данных и модулей (на этапе технического проектирования). В метрике учитываются: В метрике учитываются: трудоемкость проектирования модуля, трудоемкость проектирования модуля, трудоемкость генерации кода модуля, трудоемкость генерации кода модуля, трудоемкость тестирования модуля. трудоемкость тестирования модуля.

14 Факторы оценки трудоемкости стабильность модели данных и степень ее изменения в течение разработки; стабильность модели данных и степень ее изменения в течение разработки; стабильность модели функций и степень ее изменения в течение разработки; стабильность модели функций и степень ее изменения в течение разработки; уровень квалификации персонала; уровень квалификации персонала; среда разработки (инструменты и методы, использование автоматических генераторов кода); среда разработки (инструменты и методы, использование автоматических генераторов кода); размер конечного продукта; размер конечного продукта; качество ИС (производительность, надежность, адаптируемость). качество ИС (производительность, надежность, адаптируемость).

15 Обмен данными Интерфейсы обмена с внешними системами можно разбить на следующие категории: Интерфейсы обмена с внешними системами можно разбить на следующие категории: одноразовый импорт данных, унаследованных из старой системы; одноразовый импорт данных, унаследованных из старой системы; периодический обмен данными между компонентами информационной системы (внутренний обмен); периодический обмен данными между компонентами информационной системы (внутренний обмен); периодический обмен данных с другими информационными системами (внешний обмен). периодический обмен данных с другими информационными системами (внешний обмен). Если обмен данными должен осуществляться в режиме, близком к реальному времени, то это будет задача о распределенной базе данных, а не о простой передаче данных. Если обмен данными должен осуществляться в режиме, близком к реальному времени, то это будет задача о распределенной базе данных, а не о простой передаче данных.

16 1)определение перечня подсистем, которым нужен интерфейс выгрузки/загрузки данных; 2)определение периодичности обмена данными и объема передаваемых данных; 3)определение возможных методов транспортировки данных; 4)согласование форматов данных для обмена; 5)определение порядка выполнения операций при загрузке/выгрузке; 6)определение мероприятий в случае сбоев во время загрузки и выгрузки данных; 7)формулировка правил определения ошибочных записей (при загрузке); 8)определение правил регистрации операций передачи и приема данных; 9)определение графика передачи данных; 10)составление графика разработки и тестирования собственных утилит обмена данными; 11)составление графика разовой загрузки данных, наследуемых из старой системы, и подготовка методики проверки корректности этой операции. Алгоритм загрузки/выгрузки данных

17Тестирование Объект тестирования Наименование теста Цель проведения теста Отдельный модуль Автономный тест 1) обнаружение отказов модуля; 2) соответствие модуля спецификации. Группа модулей Тесты связей Определение взаимного влияния модулей Тесты имитации отказов системы Определение степени восстановления системы после сбоев Тесты наработки на отказ Определение степени устойчивости системы в условиях штатной работы, оценка времени безотказной работы Тесты пиковой нагрузки Определение степени устойчивости системы в условиях перегрузки. Подсистема (система) Системный тест Внутренняя приемка продукта, показывающая уровень его качества

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

Основные причины неудач проектов разработки ИС 19 Плохое управление проектом «Плывущие» требования Неправильная оценка проекта, связанная с отсутствием опыта или методики оценки проекта; непредвиденными проблемами в используемых средствах и компонентах; непониманием ключевых технических проблем проекта.

Единица измерения проекта Наиболее популярные единицы измерения – время и функции системы. зависит от сложности проекта и позволяет изменять оценку размера проекта с изменением требований; применима на всех стадиях жизненного цикла системы, причем на различных этапах жизненного цикла проекта его эффективность определяется заново, с различной глубиной проработки; дает независимые оценки времени выполнения проекта и его трудоемкости; позволяет распределить риски между всеми участниками проекта. 20

21 Методы оценки трудоемкости разработки ПО ИС 1. Алгоритмическое моделирование Основан на анализе статистических данных о ранее выполненных проектах, затраты прогнозируются в зависимости от количественного показателя Основан на анализе статистических данных о ранее выполненных проектах, затраты прогнозируются в зависимости от количественного показателя 2. Экспертные оценки Основан на опросе экспертов по технологии разработки ПО в заданной предметной области Основан на опросе экспертов по технологии разработки ПО в заданной предметной области 3. Оценка по аналогии Основан на сравнении проекта с предыдущими, имеющими подобные характеристики Основан на сравнении проекта с предыдущими, имеющими подобные характеристики

22 Методы оценки трудоемкости разработки ПО 4. Закон Паркинсона Усилия, затраченные на работу, распределяются равномерно по выделенному на проект времени. Усилия, затраченные на работу, распределяются равномерно по выделенному на проект времени. Критерием для оценки затрат являются человеческие ресурсы, а не целевая оценка самого программного продукта. Критерием для оценки затрат являются человеческие ресурсы, а не целевая оценка самого программного продукта. 5. Оценка с целью выиграть контракт Трудоемкость проекта зависит от бюджета заказчика, а не от функциональных характеристик создаваемой ИС. Трудоемкость проекта зависит от бюджета заказчика, а не от функциональных характеристик создаваемой ИС.

23 Хорошая оценка трудоемкости создается и поддерживается коллективом разработчиков; создается и поддерживается коллективом разработчиков; основывается на подробно описанной и обоснованной модели оценки; основывается на подробно описанной и обоснованной модели оценки; основывается на данных по аналогичным проектам; основывается на данных по аналогичным проектам; учитывает все области риска. учитывает все области риска.

24 Факторы оценки трудоемкости Размер конечного продукта (количество строк кода или количество функциональных точек); Размер конечного продукта (количество строк кода или количество функциональных точек); Особенности технологии разработки ПО; Особенности технологии разработки ПО; Квалификация персонала; Квалификация персонала; Особенности среды разработки (инструментальных средств); Особенности среды разработки (инструментальных средств); Требуемое качество продукта (функциональные возможности, производительность, надежность). Требуемое качество продукта (функциональные возможности, производительность, надежность).

25 Недостатки метода определения размера продукта через количество строк кода 1. Не применяется на ранних стадиях разработки. 2. Строки исходного кода зависят от типа языков программирования, методов проектирования, стиля и квалификации программиста. 3. Разработка ПО связана с большими затратами, напрямую не зависящими от размера программного кода. 4. Генераторы кода продуцируют чрезмерный объем кода, в результате чего искажаются показатели трудоемкости.

Показатель (по стадиям ЖЦ) Команда 1 (низкоуровневый ЯП) Команда 2 (высокоуровневый ЯП) Изучение требований к ПО 1 мес. Внешнее и концептуальное проектирование 2 мес. Кодирование 9 мес.2 мес. Тестирование 4 мес.2 мес. Подготовка комплекта документации 3 мес.2 мес. ИТОГО по времени 19 мес.9 мес. Число строк кода Затраты у.е у.е. Цена строки кода 5 у.е.18 у.е. Производительность труда 1500 строк/мес.500 строк/мес. 26

27 Методы определения размера продукта 1. Количество строк кода - точка зрения разработчика. 2. Количество функциональных точек – точка зрения пользователей. Разработчик метода Алан Альбрехт (IBM),1979 Разработчик метода Алан Альбрехт (IBM),1979 Основная идея метода - максимальный отказ от деталей реализации ПО и перенос оценки в область функциональности, наблюдаемой пользователем. Основная идея метода - максимальный отказ от деталей реализации ПО и перенос оценки в область функциональности, наблюдаемой пользователем г. – сформирована Международная Ассоциация Пользователей Функциональных Точек (International Function Point User Group IFPUG) 1986 г. – сформирована Международная Ассоциация Пользователей Функциональных Точек (International Function Point User Group IFPUG)

28 Алгоритм метода функциональных точек

1. Определение типа оценки. 2. Определение области оценки и границ продукта. 3. Подсчет функциональных точек, связанных с данными. 4. Подсчет функциональных точек, связанных с транзакциями. 5. Определение суммарного количества не выровненных функциональных точек (UFP). 6. Определение значения фактора выравнивания (FAV). 7. Расчет количества выровненных функциональных точек (AFP).

Тип оценки Область оценки Проект разработки Оценивается количество функциональности, поставляемой пользователям в первом релизе продукта. Все разрабатываемые функции Проект развития (поддержки) Оценивается проект доработки: добавление, изменение и удаление функционала. Все добавляемые, изменяемые и удаляемые функции Готовый продукт Оценивается объем уже существующего и установленного продукта. Только функции, реально используемые 30

Границы продукта Что является «внешним» по отношению к продукту. Где располагается «граница системы», через которую проходят транзакции, передаваемые или принимаемые приложением, с точки зрения пользователя. Какие данные поддерживаются приложением, а какие внешние. 31

32 Внутренние логические файлы (ILFs) выделяемые пользователем логически связанные группы данных или блоки управляющей информации, которые поддерживаются внутри продукта. Внешние интерфейсные файлы (EIFs) выделяемые пользователем логически связанные группы данных или блоки управляющей информации, на которые ссылается продукт, но которые поддерживаются вне продукта.

33 Функциональные точки, связанные с данными DET (data element type) неповторяемое уникальное поле данных, например, Имя Клиента 1 DET; Адрес Клиента (индекс, страна, область, район, город, улица, дом, корпус, квартира) 9 DET's DET (data element type) неповторяемое уникальное поле данных, например, Имя Клиента 1 DET; Адрес Клиента (индекс, страна, область, район, город, улица, дом, корпус, квартира) 9 DET's RET (record element type) логическая группа данных, например, адрес, паспорт, ФИО. RET (record element type) логическая группа данных, например, адрес, паспорт, ФИО. Объект данных «Клиент»

Матрица сложности данных 1-19 DET20-50 DET50+ DET 1 RETНизкая Средняя 2-5 RETНизкая Средняя Высокая 6+ RETСредняя Высокая 34 Оценка в функциональных точках объекта данных «Клиент»

35 FP, связанные с транзакциями Виды FPНазначение Пример EI (external inputs) внешние входные транзакции, элементарная операция по обработке данных или управляющей информации, поступающих в систему из вне. Поле ввода, кнопка EO (external outputs) внешние выходные транзакции, элементарная операция по генерации данных или управляющей информации, которые выходят за пределы системы. Предполагает определенную логику обработки или вычислений информации из одного или более ILF. Поле данных отчета, сообщение об ошибке EQ (external inquiries) внешние запросы, элементарная операция, которая в ответ на внешний запрос извлекает данные или управляющую информацию из внутренних логических файлов (ILF) или внешних интерфейсных файлов (EIF). Поле ввода для поиска, поле вывода результата поиска

Оценка сложности транзакций Матрица сложности внешних входных транзакций (EI) 1-4 DET5-15 DET 16+ DET 0-1 FTRНизкая Средняя 2 FTRНизкая Средняя Высокая 3+ FTRСредняя Высокая Матрица сложности внешних выходных транзакций и внешних запросов (EO & EQ) 1-5 DET6-19 DET 20+ DET 0-1 FTRНизкая Средняя 2-3 FTRНизкая Средняя Высокая 4+ FTRСредняя Высокая 36 Сложность EI Количество FP (EI) EO Количество FP (EO) EQ Количество FP (EQ) Низкая 343 Средняя 454 Высокая 676 Оценка в функциональных точках сложности транзакций FTR (file type referenced) позволяет подсчитать количество различных файлов типа ILF и/или EIF, модифицируемых или считываемых в транзакции.

37 Пример оценки сложности транзакции 1 DET 1 FTR 17 DET, 1 FTR Средняя сложность 4 UFP

Определение суммарного количества не выровненных функциональных точек Общий объем продукта в не выровненных функциональных точках (UFP) определяется путем суммирования по всем информационным объектам (ILF, EIF) и элементарным операциям (транзакциям EI, EO, EQ). 38

Расчет количества выровненных функциональных точек Учет общесистемных требований осуществляется путем применения фактора выравнивания (VAF – Value Adjustment Factor). Значение фактора выравнивания зависит от 14 параметров (DI - degree of influence), каждый из которых оценивается по 5-балльной шкале. TDI = DI – суммарный эффект параметров VAF = (TDI *0.01) AFP = UFP * VAF

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

Общесистемные параметры Интенсивность взаимодействия с пользователем. 0 все транзакции обрабатываются в пакетном режиме; 5 более 30% транзакций - интерактивные Эргономика 0 нет специальных требований; 5 требования по эффективности очень жесткие Интенсивность изменения данных пользователями. 0 не требуются; 5 изменения интенсивные, жесткие требования по восстановлению Сложность обработки 0 обработка минимальна; 5 требования безопасности, логическая и математическая сложность Повторное использование 0 не требуется; 5 продукт разрабатывается как стандартный многоразовый компонент

Общесистемные параметры Удобство инсталляции. 0 нет требований; 5 установка и обновление ПО производится автоматически Удобство администрирования 0 не требуется; 5 система автоматически самовосстанавливается Портируемость 0 продукт имеет только 1 инсталляцию на единственном процессоре; 5 система является распределенной и предполагает установку на различные ТО и ОС Гибкость 0 не требуется; 5 гибкая система запросов и построение произвольных отчетов, модель данных изменяется пользователем в интерактивном режиме

43 Размер ПО в функциональных точках Текстовые процессоры – 3500 Клиент-серверные приложения – 7500 ПО баз данных – 7500 Бизнес-приложения – Корпоративные приложения – Приложения в госучреждениях – Операционные системы – Системы масштаба предприятия – Крупные оборонные системы –

Количество строк кода на одну функциональную точку Язык (средство) программирования Оценка количества строк кода на 1 FP Наиболее вероятная Оптимис- тическая Пессимис- тическая Assembler JavaScript C Visual Basic

45 Число FP Длительность Количество разработчиков Пример приложений 11 день 1 Утилиты 10До 1 месяца 1 Дополнения к готовой системе 100До 6 месяцев (85%) 1 Небольшое приложение 1000До 1 года 10 Клиент-серверные приложения 10000От 1,5 до 5 лет 100 Крупные приложения От 3 до 8 лет До 1000 Операционные системы

Статистическая модель оценки трудоемкости Модель COCOMO (COnstructive COst MOdel) – конструктивная модель стоимости (1985, Барри Боэм, данные о 63 проектах). Модель COCOMO II (1997, Центр по разработке ПО Южно-Калифорнийского университета, данные о 161 проекте). В модели используется формула регрессии с параметрами, определяемыми на основе отраслевых данных и характеристик конкретного проекта.

Допущения модели COCOMO Исходный код конечного продукта включает в себя все строки кода, кроме комментариев. Начало цикла разработки совпадает с началом стадии реализации продукта. Окончание цикла разработки совпадает с окончанием приемочного тестирования. Виды деятельности включают в себя только работы, непосредственно направленные на выполнение проекта. Человеко-месяц состоит из 152 часов. Проект управляется надлежащим образом. Требования стабильны. 47

Оценка трудоемкости проекта PM – трудоемкость в чел./мес. PM – трудоемкость в чел./мес. SIZE размер продукта в тыс. строк исходного кода SIZE размер продукта в тыс. строк исходного кода EM i множители трудоемкости EM i множители трудоемкости SF j факторы масштаба SF j факторы масштаба n=7 для предварительной оценки n=7 для предварительной оценки n=17 для детальной оценки n=17 для детальной оценки

Оценка длительности проекта С = 3,67; D = 0,28; TDEV – продолжительность проекта PM NS трудоемкость проекта без учета множителя SCED, определяющего сжатие расписания.

Факторы масштаба в COCOMO Фактор Низкий уровень Балл Высокий уровень Балл Прецедентност ь опыт в продукте и платформе отсутствует 6,2 продукт и платформа полностью знакомы 0 Гибкость процесса разработки процесс строго детерминирован 5,07 определены только общие цели 0 Архитектура и разрешение рисков риски неизвестны/не проанализированы 7,07 риски определены на 100% 0 Сработанность команды формальные взаимодействия 5,48 полное доверие, взаимозаменяемость и взаимопомощь 0 Зрелость процессов CMM Уровень 1 7,8 CMM Уровень 5 0

Множители трудоемкости Множители EM i отражают совместное влияние многих параметров. Множители EM i отражают совместное влияние многих параметров. Позволяют характеризовать и нормировать среду разработки по параметрам, содержащимся в БД проектов модели COCOMO II. Позволяют характеризовать и нормировать среду разработки по параметрам, содержащимся в БД проектов модели COCOMO II. Для конкретного проекта каждый множитель оценивается с помощью лингвистической переменной – очень низкий, низкий, номинальный, высокий, очень высокий. Для конкретного проекта каждый множитель оценивается с помощью лингвистической переменной – очень низкий, низкий, номинальный, высокий, очень высокий.

Множители трудоемкости для предварительной оценки 1. Квалификация персонала (PERS) Low аналитики и программисты имеют низшую квалификацию, текучесть больше 45%; Low аналитики и программисты имеют низшую квалификацию, текучесть больше 45%; High аналитики и программисты имеют высшую квалификацию, текучесть меньше 4% High аналитики и программисты имеют высшую квалификацию, текучесть меньше 4% 2. Сложность и надежность продукта (RCPX) Low продукт простой, специальных требований по надежности нет, БД маленькая, документация не требуется; Low продукт простой, специальных требований по надежности нет, БД маленькая, документация не требуется; High продукт очень сложный, требования по надежности жесткие, БД сверхбольшая, документация требуется в полном объеме High продукт очень сложный, требования по надежности жесткие, БД сверхбольшая, документация требуется в полном объеме 3. Сложность платформы разработки (PDIF) Low специальные ограничения по памяти и быстродействию отсутствуют, платформа стабильна; Low специальные ограничения по памяти и быстродействию отсутствуют, платформа стабильна; High жесткие ограничения по памяти и быстродействию, платформа нестабильна High жесткие ограничения по памяти и быстродействию, платформа нестабильна

Множители трудоемкости для предварительной оценки 4. Опыт персонала (PREX) Low новое приложение, инструменты и платформа; Low новое приложение, инструменты и платформа; High приложение, инструменты и платформа хорошо известны High приложение, инструменты и платформа хорошо известны 5. Оборудование (FCIL) Low инструменты простейшие, коммуникации затруднены; Low инструменты простейшие, коммуникации затруднены; High интегрированные средства поддержки жизненного цикла, интерактивные мультимедиа коммуникации High интегрированные средства поддержки жизненного цикла, интерактивные мультимедиа коммуникации 6. Сжатие расписания (SCED) Low 75% от номинальной длительности; Low 75% от номинальной длительности; High 160% от номинальной длительности High 160% от номинальной длительности 7. Разработка для повторного использования (RUSE) Low не требуется; Low не требуется; High требуется многократное использование в других продуктах High требуется многократное использование в других продуктах

Множители трудоемкости Идент. Описание множителя Диапазон RELY Требуемая надежность 0,82 – 1,26 DATA Размер базы данных 0,9 – 1,28 CLPX Сложность продукта 0,73 – 1,74 RUSE Требуемый уровень повторного использования 0,95 – 1,24 DOCU Соответствие документации требованиям ЖЦ 0,81 – 1,23 TIME Ограничение времени выполнения 1,0 – 1,63 STOR Ограничение по объему основной памяти 1,0 – 1,46 PVOL Изменчивость платформы 0,87 – 1,30

Множители трудоемкости Идент. Описание множителя Диапазон ACAP Способность аналитика 1,42 – 0,71 PCAP Способность программиста 1,34 – 0,76 APEX Знание приложений 1,22 – 0,81 PLEX Знание платформы 1,19 – 0,85 PCON Преемственность персонала 1,29 – 0,81 LTEX Знание языка/инструментальных средств 1,20 – 0,84 TOOL Использование инструментальных средств 1,17 – 0,78 SCED Требуемые сроки разработки 1,43 – 1,0 SITE Распределенность команды разработчиков 1,22 – 0,8

Пример определения TOOL Элементы множителя Уровни рейтинга Значение Редакторы кода, отладчики Очень низкий 1,17 Простые CASE-средства с минимальной интеграцией Низкий 1,09 Средства поддержки основных процессов ЖЦ, средняя степень интеграции Номинальный 1,0 Развитые средства поддержки ЖЦ, средняя степень интеграции Высокий 0,9 Мощные средства поддержки ЖЦ, хорошо интегрированные Очень высокий 0,78