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

ТЕМА 5. Стадии проектирования и реализации ИС

Embed Size (px)

DESCRIPTION

ТЕМА 5. Стадии проектирования и реализации ИС. Лекция 23. Этап рабочего проектирования. по ISO/IEC 15288:2002 Формирование концепции Разработка Реализация Эксплуатация Поддержка Снятие с эксплуатации. по ГОСТ 34.601-90 Формирование требований к АС Разработка концепции АС. - PowerPoint PPT Presentation

Citation preview

Page 1: ТЕМА 5. Стадии проектирования и реализации ИС

ТЕМА 5.ТЕМА 5. Стадии проектирования Стадии проектирования

и реализации ИСи реализации ИС

Лекция 23.Лекция 23.Этап рабочего проектирования.Этап рабочего проектирования.

Page 2: ТЕМА 5. Стадии проектирования и реализации ИС

2

Стадии ЖЦСтадии ЖЦ

по ISO/IEC 15288:2002по ISO/IEC 15288:2002 Формирование концепцииФормирование концепции РазработкаРазработка РеализацияРеализация ЭксплуатацияЭксплуатация ПоддержкаПоддержка Снятие с эксплуатацииСнятие с эксплуатации

по ГОСТ 34.601-90по ГОСТ 34.601-90 Формирование Формирование

требований к АСтребований к АС Разработка концепции АС.Разработка концепции АС. Техническое задание.Техническое задание. Эскизный проект.Эскизный проект. Технический проект.Технический проект. Рабочая документация.Рабочая документация.

Ввод в действие.Ввод в действие.

Сопровождение АССопровождение АС

Анализ требований

Реализация

ВнедрениеЭксплуатация

Проектирование

Page 3: ТЕМА 5. Стадии проектирования и реализации ИС

3

Стадии ЖЦ по ГОСТ 34.601-90Стадии ЖЦ по ГОСТ 34.601-90

Стадия Стадия ЭтапыЭтапы

4. Эскизный 4. Эскизный проект.проект.

4.1. Разработка предварительных проектных решений по 4.1. Разработка предварительных проектных решений по системе и её частям.системе и её частям.4.2. Разработка документации на АС и её части.4.2. Разработка документации на АС и её части.

5. Технический 5. Технический проект.проект.

5.1. Разработка проектных решений по системе и её 5.1. Разработка проектных решений по системе и её частям.частям.5.2. Разработка документации на АС и её части.5.2. Разработка документации на АС и её части.5.3. Разработка и оформление документации на поставку 5.3. Разработка и оформление документации на поставку изделий для комплектования АС и (или) технических изделий для комплектования АС и (или) технических требований (технических заданий) на их разработку.требований (технических заданий) на их разработку.5.4. Разработка заданий на проектирование в смежных 5.4. Разработка заданий на проектирование в смежных частях проекта объекта автоматизации.частях проекта объекта автоматизации.

6. Рабочая 6. Рабочая документация.документация.

6.1. Разработка рабочей документации на систему и её 6.1. Разработка рабочей документации на систему и её части.части.6.2. Разработка и6.2. Разработка и//или адаптация программ.или адаптация программ.

Page 4: ТЕМА 5. Стадии проектирования и реализации ИС

4

Проектирование ИСПроектирование ИС

Эскизное проектирование

Техническоепроектирование

Рабочеепроектирование

Техно-рабочеепроектирование Готовая к

внедрению ИС

Эскизный проект (мнемосхемы,

диаграммы процессовверхнего уровня)

Технический проект (системный

проект в виде комплекса моделей

работы ИС)

Результатыанализа предметной области

Рабочий проект (комплекс программ с

эксплуатационной документацией)

Page 5: ТЕМА 5. Стадии проектирования и реализации ИС

5

Рабочее проектированиеРабочее проектирование

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

программных средств,программных средств, разработку спецификаций каждого компонента, разработку спецификаций каждого компонента, разработку интерфейсов между компонентами, разработку интерфейсов между компонентами, разработку требований к тестам,разработку требований к тестам, разработку плана интеграции компонентов. разработку плана интеграции компонентов.

Page 6: ТЕМА 5. Стадии проектирования и реализации ИС

6

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

Информационная модель

Функциональная модель

Модель данных Схема БД База данных

Функциональные спецификации

Технические спецификации

Программный код

Эскизное проектирование

Техническое проектирование

Рабочее проектирование

Бизнес-аналитики, системные аналитики

Системные аналитики,

проектировщики

Проектировщики,программисты, тестировщики

Page 7: ТЕМА 5. Стадии проектирования и реализации ИС

7

Документация этапа рабочего Документация этапа рабочего проектированияпроектирования

Рабочий проектРабочий проект – комплекс документации, – комплекс документации, содержащий все необходимые и достаточные содержащий все необходимые и достаточные сведения для обеспечения выполнения работ по сведения для обеспечения выполнения работ по вводу ИС в действие и её эксплуатации, а также для вводу ИС в действие и её эксплуатации, а также для поддержания уровня эксплуатационных поддержания уровня эксплуатационных характеристик (качества) системы в соответствии с характеристик (качества) системы в соответствии с принятыми проектными решениями. принятыми проектными решениями.

Источником разработки рабочего проекта служит Источником разработки рабочего проекта служит технический проекттехнический проект..

Рабочий проект оформляется в соответствии с Рабочий проект оформляется в соответствии с ГОСТ 34.201-ГОСТ 34.201-9090 «Виды, комплектность и обозначение документов при «Виды, комплектность и обозначение документов при создании автоматизированных систем». создании автоматизированных систем».

В комплекс рабочего проекта входит также программная В комплекс рабочего проекта входит также программная документация в соответствии с документация в соответствии с ГОСТ 19.701-90ГОСТ 19.701-90..

Page 8: ТЕМА 5. Стадии проектирования и реализации ИС

8

1.1. Каталог базы данных Каталог базы данных 2.2. Состав выходных данных Состав выходных данных

(сообщений) (сообщений) 3.3. Инструкция по формированию и Инструкция по формированию и

ведению базы данных ведению базы данных 4.4. Чертеж формы документа Чертеж формы документа

(видеокадра) (видеокадра) 5.5. Ведомость машинных носителей Ведомость машинных носителей

информации информации 6.6. Массив входных данных Массив входных данных 7.7. Методика (технология) Методика (технология)

автоматизированного автоматизированного проектирования проектирования

8.8. Технологическая инструкция Технологическая инструкция 9.9. Руководство пользователя Руководство пользователя 10.10. Описание технологического Описание технологического

процесса обработки данныхпроцесса обработки данных11.11. Инструкция по эксплуатации Инструкция по эксплуатации

КТС КТС 12.12. Схема соединений внешних Схема соединений внешних

проводок проводок 13.13. Схема подключения внешних Схема подключения внешних

проводок проводок 14.14. Таблица соединений и Таблица соединений и

подключений подключений

15.15. Схема деления системы Схема деления системы (структурная) (структурная)

16.16. Чертеж общего вида Чертеж общего вида 17.17. Чертеж установки технических Чертеж установки технических

средств средств 18.18. Схема принципиальная Схема принципиальная 19.19. Схема структурная комплекса Схема структурная комплекса

технических средств технических средств 20.20. План расположения План расположения

оборудования и проводок оборудования и проводок 21.21. Спецификация оборудования Спецификация оборудования 22.22. Ведомость потребности в Ведомость потребности в

материалах материалах 23.23. Локальная смета Локальная смета 24.24. Общее описание системы Общее описание системы 25.25. Программа и методика Программа и методика

испытаний (компонентов, испытаний (компонентов, комплексов средств комплексов средств автоматизации, подсистемы, автоматизации, подсистемы, систем) систем)

26.26. Проектная оценка надежности Проектная оценка надежности системы системы

27.27. Ведомость держателей Ведомость держателей подлинников подлинников

28.28. Ведомость эксплуатационных Ведомость эксплуатационных документов документов

Page 9: ТЕМА 5. Стадии проектирования и реализации ИС

9

Разработка спецификаций Разработка спецификаций модулей ИСмодулей ИС

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

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

определение последовательности реализации определение последовательности реализации модулей и зависимостей модулей. модулей и зависимостей модулей.

Page 10: ТЕМА 5. Стадии проектирования и реализации ИС

10

Предназначение спецификацийПредназначение спецификаций

Спецификации

Функциональная Техническая

Разрабатывается для заказчика с целью получения санкции на завершение проектирования и начало реализации.

Создается для разработчиков модулей и групп тестирования, содержит описание деталей проекта, а также ряд отчетов из репозитария CASE-средств. Основанием для разработки служит постановка задачи.

Page 11: ТЕМА 5. Стадии проектирования и реализации ИС

11

Содержание технической спецификацииСодержание технической спецификации

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

и реакция на них; и реакция на них; ограничения доступа к форме (модулю);ограничения доступа к форме (модулю); вероятные блокировки (потенциальные конфликты и вероятные блокировки (потенциальные конфликты и

обработка ожидания); обработка ожидания); ожидаемое состояние базы данных после выполнения модуля;ожидаемое состояние базы данных после выполнения модуля; способ проверки целостности данных.способ проверки целостности данных.

Page 12: ТЕМА 5. Стадии проектирования и реализации ИС

12

Отсутствие спецификацийОтсутствие спецификаций

ОшибкиОшибки ПоследствияПоследствия

Неконтролируемый рост Неконтролируемый рост объемов данныхобъемов данных

Резкое снижение Резкое снижение производительности системыпроизводительности системы

Возникновение потоков Возникновение потоков запросов с изначально высокой запросов с изначально высокой вероятностью конфликтавероятностью конфликта

ЗацикливаниеЗацикливание

Смешивание системных и Смешивание системных и интерфейсных модулей, интерфейсных модулей, ошибки в размещении бизнес-ошибки в размещении бизнес-логикилогики

Создание «монолитной», Создание «монолитной», тяжело сопровождаемой тяжело сопровождаемой системысистемы

Дублирование модулейДублирование модулей Неоправданный рост затратНеоправданный рост затрат

Отсутствие или неполная Отсутствие или неполная реализация требуемых реализация требуемых заказчиком функций системызаказчиком функций системы

Увеличение сроков разработки Увеличение сроков разработки и конфликты с заказчикоми конфликты с заказчиком

Page 13: ТЕМА 5. Стадии проектирования и реализации ИС

13

Разработка метрик генерации кодаРазработка метрик генерации кода Метрика генерации кода – это таблица плановой Метрика генерации кода – это таблица плановой

трудоемкости по кодированию и отладке ПО. трудоемкости по кодированию и отладке ПО. Оценку времени разработки производят: Оценку времени разработки производят:

на основе аналитической документации (на этапе на основе аналитической документации (на этапе эскизного проектирования или при разработке ТЗ);эскизного проектирования или при разработке ТЗ);

после выполнения большей части проектирования схемы после выполнения большей части проектирования схемы данных и модулей (на этапе технического данных и модулей (на этапе технического проектирования). проектирования).

В метрике учитываются: В метрике учитываются: трудоемкость проектирования модуля, трудоемкость проектирования модуля, трудоемкость генерации кода модуля,трудоемкость генерации кода модуля, трудоемкость тестирования модуля. трудоемкость тестирования модуля.

Page 14: ТЕМА 5. Стадии проектирования и реализации ИС

14

Факторы оценки трудоемкостиФакторы оценки трудоемкости стабильность модели данных и степень ее стабильность модели данных и степень ее

изменения в течение разработки; изменения в течение разработки; стабильность модели функций и степень ее стабильность модели функций и степень ее

изменения в течение разработки; изменения в течение разработки; уровень квалификации персонала; уровень квалификации персонала; среда разработки (инструменты и методы, среда разработки (инструменты и методы,

использование автоматических генераторов кода); использование автоматических генераторов кода); размер конечного продукта;размер конечного продукта; качество ИС (производительность, надежность, качество ИС (производительность, надежность,

адаптируемость). адаптируемость).

Page 15: ТЕМА 5. Стадии проектирования и реализации ИС

15

Обмен даннымиОбмен данными Интерфейсы обмена с внешними системами можно Интерфейсы обмена с внешними системами можно

разбить на следующие категории: разбить на следующие категории: одноразовый импорт данных, унаследованных из старой одноразовый импорт данных, унаследованных из старой

системы; системы; периодический обмен данными между компонентами периодический обмен данными между компонентами

информационной системы (внутренний обмен); информационной системы (внутренний обмен); периодический обмен данных с другими периодический обмен данных с другими

информационными системами (внешний обмен). информационными системами (внешний обмен). Если обмен данными должен осуществляться в Если обмен данными должен осуществляться в

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

Page 16: ТЕМА 5. Стадии проектирования и реализации ИС

16

1)1) определение перечня подсистем, которым нужен интерфейс определение перечня подсистем, которым нужен интерфейс выгрузки/загрузки данных; выгрузки/загрузки данных;

2)2) определение периодичности обмена данными и объема определение периодичности обмена данными и объема передаваемых данных; передаваемых данных;

3)3) определение возможных методов транспортировки данных;определение возможных методов транспортировки данных;4)4) согласование форматов данных для обмена; согласование форматов данных для обмена; 5)5) определение порядка выполнения операций при загрузке/выгрузке; определение порядка выполнения операций при загрузке/выгрузке; 6)6) определение мероприятий в случае сбоев во время загрузки и определение мероприятий в случае сбоев во время загрузки и

выгрузки данных; выгрузки данных; 7)7) формулировка правил определения ошибочных записей (при формулировка правил определения ошибочных записей (при

загрузке); загрузке); 8)8) определение правил регистрации операций передачи и приема определение правил регистрации операций передачи и приема

данных; данных; 9)9) определение графика передачи данных; определение графика передачи данных; 10)10) составление графика разработки и тестирования собственных составление графика разработки и тестирования собственных

утилит обмена данными; утилит обмена данными; 11)11) составление графика разовой загрузки данных, наследуемых из составление графика разовой загрузки данных, наследуемых из

старой системы, и подготовка методики проверки корректности старой системы, и подготовка методики проверки корректности этой операции.этой операции.

Алгоритм загрузки/выгрузки данныхАлгоритм загрузки/выгрузки данных

Page 17: ТЕМА 5. Стадии проектирования и реализации ИС

17

ТестированиеТестированиеОбъект Объект тестированиятестирования

Наименование Наименование тестатеста

Цель проведения тестаЦель проведения теста

Отдельный Отдельный модульмодуль

Автономный Автономный тесттест

1) 1) обнаружение отказов модуля; обнаружение отказов модуля;

2) 2) соответствие модуля спецификации.соответствие модуля спецификации.

Группа Группа модулеймодулей

Тесты связейТесты связей Определение взаимного влияния модулейОпределение взаимного влияния модулей

Тесты имитации Тесты имитации отказов системыотказов системы

Определение степени восстановления Определение степени восстановления системы после сбоев системы после сбоев

Тесты Тесты наработки на наработки на отказотказ

Определение степени устойчивости Определение степени устойчивости системы в условиях штатной работы, системы в условиях штатной работы, оценка времени безотказной работыоценка времени безотказной работы

Тесты пиковой Тесты пиковой нагрузкинагрузки

Определение степени устойчивости Определение степени устойчивости системы в условиях перегрузки.системы в условиях перегрузки.

Подсистема Подсистема (система)(система)

Системный тестСистемный тест ВВнутренннутренняяяя приемк приемкаа продукта, продукта, показывающпоказывающаяая уровень его качества уровень его качества

Page 18: ТЕМА 5. Стадии проектирования и реализации ИС

18

Функции системы хранения ошибок Функции системы хранения ошибок хранение сообщения об ошибке; хранение сообщения об ошибке; уведомление о появлении новых ошибок, об уведомление о появлении новых ошибок, об

изменении статуса известных в системе ошибок; изменении статуса известных в системе ошибок; формирование отчетов об актуальных ошибках по формирование отчетов об актуальных ошибках по

компонентам системы, по интервалам времени, по компонентам системы, по интервалам времени, по разработчикам; разработчикам;

хранение информации об истории ошибки; хранение информации об истории ошибки; организация доступа разработчиков к ошибкам организация доступа разработчиков к ошибкам

разных категорий;разных категорий; организация доступа конечного пользователя ИС организация доступа конечного пользователя ИС

как интерфейс обмена информацией между как интерфейс обмена информацией между пользователем и службой технической пользователем и службой технической поддержки. поддержки.

Page 19: ТЕМА 5. Стадии проектирования и реализации ИС

Основные причины неудач проектов разработки ИС

19

Плохое управление проектом «Плывущие»  требования Неправильная оценка проекта, связанная с

отсутствием опыта или методики оценки проекта;

непредвиденными проблемами в используемых средствах и компонентах;

непониманием ключевых технических проблем проекта.

Page 20: ТЕМА 5. Стадии проектирования и реализации ИС

Единица измерения проектаЕдиница измерения проекта Наиболее популярные единицы измерения – время и

функции системы. зависит от сложности проекта и позволяет изменять

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

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

дает независимые оценки времени выполнения проекта и его трудоемкости;

позволяет распределить риски между всеми участниками проекта.

20

Page 21: ТЕМА 5. Стадии проектирования и реализации ИС

21

Методы оценки трудоемкости разработки ПО ИС

1.1. Алгоритмическое моделированиеАлгоритмическое моделирование Основан на анализе статистических данных о Основан на анализе статистических данных о

ранее выполненных проектах, затраты ранее выполненных проектах, затраты прогнозируются в зависимости от прогнозируются в зависимости от количественного показателяколичественного показателя

2.2. Экспертные оценкиЭкспертные оценки Основан на опросе экспертов по технологии Основан на опросе экспертов по технологии

разработки ПО в заданной предметной областиразработки ПО в заданной предметной области

3.3. Оценка по аналогииОценка по аналогии Основан на сравнении проекта с предыдущими, Основан на сравнении проекта с предыдущими,

имеющими подобные характеристикиимеющими подобные характеристики

Page 22: ТЕМА 5. Стадии проектирования и реализации ИС

22

Методы оценки трудоемкости Методы оценки трудоемкости разработки ПОразработки ПО

4.4. Закон ПаркинсонаЗакон Паркинсона Усилия, затраченные на работу, распределяются Усилия, затраченные на работу, распределяются

равномерно по выделенному на проект времени.равномерно по выделенному на проект времени. Критерием для оценки затрат являются Критерием для оценки затрат являются

человеческие ресурсы, а не целевая оценка человеческие ресурсы, а не целевая оценка самого программного продукта.самого программного продукта.

5.5. Оценка с целью выиграть контрактОценка с целью выиграть контракт Трудоемкость проекта зависит от бюджета Трудоемкость проекта зависит от бюджета

заказчика, а не от функциональных заказчика, а не от функциональных характеристик создаваемой ИС.характеристик создаваемой ИС.

Page 23: ТЕМА 5. Стадии проектирования и реализации ИС

23

Хорошая оценка трудоемкостиХорошая оценка трудоемкости

создается и поддерживается коллективом создается и поддерживается коллективом разработчиков;разработчиков;

основывается на подробно описанной и основывается на подробно описанной и обоснованной модели оценки;обоснованной модели оценки;

основывается на данных по аналогичным основывается на данных по аналогичным проектам;проектам;

учитывает все области риска.учитывает все области риска.

Page 24: ТЕМА 5. Стадии проектирования и реализации ИС

24

Факторы оценки трудоемкостиФакторы оценки трудоемкости Размер конечного продукта (количество строк Размер конечного продукта (количество строк

кода или количество функциональных точек);кода или количество функциональных точек); Особенности технологии разработки ПО;Особенности технологии разработки ПО; Квалификация персонала;Квалификация персонала; Особенности среды разработки Особенности среды разработки

(инструментальных средств);(инструментальных средств); Требуемое качество продукта Требуемое качество продукта

(функциональные возможности, (функциональные возможности, производительность, надежность).производительность, надежность).

Page 25: ТЕМА 5. Стадии проектирования и реализации ИС

25

Недостатки метода определения размера продукта через количество строк кода

1.1. Не применяется на ранних стадиях разработки.Не применяется на ранних стадиях разработки.

2.2. Строки исходного кода зависят от типа языков Строки исходного кода зависят от типа языков программирования, методов проектирования, программирования, методов проектирования, стиля и квалификации программиста.стиля и квалификации программиста.

3.3. Разработка ПО связана с большими затратами, Разработка ПО связана с большими затратами, напрямую не зависящими от размера напрямую не зависящими от размера программного кода.программного кода.

4.4. Генераторы кода продуцируют чрезмерный Генераторы кода продуцируют чрезмерный объем кода, в результате чего искажаются объем кода, в результате чего искажаются показатели трудоемкости.показатели трудоемкости.

Page 26: ТЕМА 5. Стадии проектирования и реализации ИС

Показатель (по стадиям ЖЦ)

Команда №1(низкоуровневый ЯП)

Команда №2(высокоуровневый ЯП)

Изучение требований к ПО 1 мес. 1 мес.

Внешнее и концептуальное проектирование

2 мес. 2 мес.

Кодирование 9 мес. 2 мес.

Тестирование 4 мес. 2 мес.

Подготовка комплекта документации

3 мес. 2 мес.

ИТОГО по времени 19 мес. 9 мес.

Число строк кода 30000 5000

Затраты 150000 у.е. 90000 у.е.

Цена строки кода 5 у.е. 18 у.е.

Производительность труда 1500 строк/мес. 500 строк/мес. 26

Page 27: ТЕМА 5. Стадии проектирования и реализации ИС

27

Методы определения размера продукта

1.1. Количество строк кода - точка зрения Количество строк кода - точка зрения разработчика.разработчика.

2.2. Количество функциональных точек – точка зрения Количество функциональных точек – точка зрения пользователей.пользователей.

Разработчик метода Алан Альбрехт (Разработчик метода Алан Альбрехт (IBM)IBM),1979,1979 Основная идея метода - максимальный отказ от Основная идея метода - максимальный отказ от

деталей реализации ПО и перенос оценки в область деталей реализации ПО и перенос оценки в область функциональности, наблюдаемой пользователем.функциональности, наблюдаемой пользователем.

1986 г. – сформирована Международная 1986 г. – сформирована Международная Ассоциация Пользователей Функциональных Ассоциация Пользователей Функциональных Точек (International Function Point User Group — Точек (International Function Point User Group — IFPUG) IFPUG)

Page 28: ТЕМА 5. Стадии проектирования и реализации ИС

28

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

Page 29: ТЕМА 5. Стадии проектирования и реализации ИС

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

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

данными. данными. 4.4. Подсчет функциональных точек, связанных с Подсчет функциональных точек, связанных с

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

выровненных функциональных точек (UFP). выровненных функциональных точек (UFP). 6.6. Определение значения фактора выравнивания Определение значения фактора выравнивания

(FAV). (FAV). 7.7. Расчет количества выровненных функциональных Расчет количества выровненных функциональных

точек (AFP). точек (AFP).

Page 30: ТЕМА 5. Стадии проектирования и реализации ИС

Тип оценки Область оценкиПроект разработки

Оценивается количество функциональности, поставляемой пользователям в первом релизе продукта.

Все разрабатываемые функции

Проект развития (поддержки)

Оценивается проект доработки: добавление, изменение и удаление функционала.

Все добавляемые, изменяемые и удаляемые функции

Готовый продукт

Оценивается объем уже существующего и установленного продукта.

Только функции, реально используемые

30

Page 31: ТЕМА 5. Стадии проектирования и реализации ИС

Границы продукта

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

проходят транзакции, передаваемые или принимаемые приложением, с точки зрения пользователя.

Какие данные поддерживаются приложением, а какие — внешние.

31

Page 32: ТЕМА 5. Стадии проектирования и реализации ИС

32

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

Page 33: ТЕМА 5. Стадии проектирования и реализации ИС

33

Функциональные точки, связанные с данными

DET (data element type) — неповторяемое уникальное поле DET (data element type) — неповторяемое уникальное поле данных, например, Имя Клиента — 1 DET; Адрес Клиента данных, например, Имя Клиента — 1 DET; Адрес Клиента (индекс, страна, область, район, город, улица, дом, корпус, (индекс, страна, область, район, город, улица, дом, корпус, квартира) — 9 DET's квартира) — 9 DET's

RET (record element type) — логическая группа данных, RET (record element type) — логическая группа данных, например, адрес, паспорт, ФИО. например, адрес, паспорт, ФИО.

Объект данных «Клиент»

Page 34: ТЕМА 5. Стадии проектирования и реализации ИС

Матрица сложности данных Матрица сложности данных

1-19 DET 20-50 DET 50+ DET

1 RET Низкая Низкая Средняя

2-5 RET Низкая Средняя Высокая

6+ RET Средняя Высокая Высокая

34

Оценка в функциональных точках объекта данных «Клиент»

Page 35: ТЕМА 5. Стадии проектирования и реализации ИС

35

FP, связанные с транзакциямиВиды FP Назначение Пример

EI (external inputs)

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

Поле ввода, кнопка

EO (external outputs)

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

Поле данных отчета, сообщение об ошибке

EQ (external inquiries)

внешние запросы, элементарная операция, которая в ответ на внешний запрос извлекает данные или управляющую информацию из внутренних логических файлов (ILF) или внешних интерфейсных файлов (EIF).

Поле ввода для поиска, поле вывода результата поиска

Page 36: ТЕМА 5. Стадии проектирования и реализации ИС

Оценка сложности транзакций

Матрица сложности внешних Матрица сложности внешних входных транзакцийвходных транзакций (EI) (EI)

1-4 DET 5-15 DET

16+ DET

0-1 FTR Низкая Низкая Средняя

2 FTR Низкая Средняя Высокая

3+ FTR Средняя Высокая Высокая

Матрица сложности внешних Матрица сложности внешних выходных транзакций и внешних выходных транзакций и внешних запросов (запросов (EO & EQEO & EQ))

1-5 DET 6-19 DET

20+ DET

0-1 FTR Низкая Низкая Средняя

2-3 FTR Низкая Средняя Высокая

4+ FTR Средняя Высокая Высокая

36

Сложность Количество FP (EIEI) Количество FP (EOEO) Количество FP (EQEQ)

Низкая 3 4 3

Средняя 4 5 4

Высокая 6 7 6

Оценка в функциональных точках сложности транзакций

FTR (file type referenced) — позволяет подсчитать количество различных файлов типа ILF и/или EIF, модифицируемых или считываемых в транзакции.

Page 37: ТЕМА 5. Стадии проектирования и реализации ИС

37

Пример оценки сложности транзакции

1 DET

1 DET

1 DET

1 FTR

17 DET, 1 FTR

Средняя сложность

4 UFP

Page 38: ТЕМА 5. Стадии проектирования и реализации ИС

Определение суммарного количества не Определение суммарного количества не выровненных функциональных точеквыровненных функциональных точек

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

38

Page 39: ТЕМА 5. Стадии проектирования и реализации ИС

Расчет количества выровненных функциональных точек

Учет общесистемных требований осуществляется путем применения фактора выравнивания (VAF – Value Adjustment Factor) .

Значение фактора выравнивания зависит от 14 параметров (DI - degree of influence), каждый из которых оценивается по 5-балльной шкале.

TDI = ∑ DI – суммарный эффект параметров

VAF = (TDI *0.01) + 0.65 AFP = UFP * VAF

Page 40: ТЕМА 5. Стадии проектирования и реализации ИС

Общесистемные параметры1. Обмен данными

0 — продукт представляет собой автономное приложение; 5 — продукт обменивается данными по более, чем одному

телекоммуникационному протоколу. 2. Распределенная обработка данных.

0 — продукт не перемещает данные; 5 — распределенная обработка данных выполняется несколькими

компонентами системы. 3. Производительность.

0 — пользовательские требования по производительности не установлены; 5 — время отклика критично для всех бизнес-операций, для удовлетворения

требованиям необходимы специальные проектные решения и инструменты анализа.

4. Ограничения по аппаратным ресурсам 0 — нет ограничений; 5 — продукт целиком должен функционировать на определенном

процессоре и не может быть распределен. 5. Транзакционная нагрузка.

0 — транзакций не много, без пиков; 5 — число транзакций велико и неравномерно, требуются специальные

решения и инструменты.

Page 41: ТЕМА 5. Стадии проектирования и реализации ИС

Общесистемные параметры6. Интенсивность взаимодействия с пользователем.

0 — все транзакции обрабатываются в пакетном режиме; 5 — более 30% транзакций - интерактивные.

7. Эргономика 0 — нет специальных требований; 5 — требования по эффективности очень жесткие.

8. Интенсивность изменения данных пользователями. 0 — не требуются; 5 — изменения интенсивные, жесткие требования по

восстановлению

9. Сложность обработки 0 — обработка минимальна; 5 — требования безопасности, логическая и математическая

сложность

10. Повторное использование 0 — не требуется; 5 — продукт разрабатывается как стандартный многоразовый

компонент

Page 42: ТЕМА 5. Стадии проектирования и реализации ИС

Общесистемные параметры

11. Удобство инсталляции. 0 — нет требований; 5 — установка и обновление ПО производится автоматически

12. Удобство администрирования 0 — не требуется; 5 — система автоматически самовосстанавливается

13. Портируемость 0 — продукт имеет только 1 инсталляцию на единственном

процессоре; 5 — система является распределенной и предполагает

установку на различные ТО и ОС

14. Гибкость 0 — не требуется; 5 — гибкая система запросов и построение произвольных

отчетов, модель данных изменяется пользователем в интерактивном режиме

Page 43: ТЕМА 5. Стадии проектирования и реализации ИС

43

Размер ПО в функциональных точках

Текстовые процессоры – 3500 Клиент-серверные приложения – 7500 ПО баз данных – 7500 Бизнес-приложения – 10000 Корпоративные приложения – 25000 Приложения в госучреждениях – 50000 Операционные системы – 75000 Системы масштаба предприятия – 150000 Крупные оборонные системы – 250000

Page 44: ТЕМА 5. Стадии проектирования и реализации ИС

Количество строк кода на одну Количество строк кода на одну функциональную точкуфункциональную точку

Язык (средство) программирования

Оценка количества строк кода на 1 FP

Наиболее вероятная

Оптимис-тическая

Пессимис-тическая

Assembler 172 86 320

JavaScript 56 44 65

C++ 60 29 178

Visual Basic 50 14 276

44

Page 45: ТЕМА 5. Стадии проектирования и реализации ИС

45

Число FP

Длительность Количество разработчиков

Пример приложений

1 1 день 1 Утилиты

10 До 1 месяца 1 Дополнения к готовой системе

100 До 6 месяцев (85%)

1 Небольшое приложение

1000 До 1 года 10 Клиент-серверные приложения

10000 От 1,5 до 5 лет

100 Крупные приложения

100000 От 3 до 8 лет До 1000 Операционные системы

Page 46: ТЕМА 5. Стадии проектирования и реализации ИС

Статистическая модель оценки Статистическая модель оценки трудоемкоститрудоемкости

Модель COCOMO (COnstructive COst MOdel) – конструктивная модель стоимости (1985, Барри Боэм, данные о 63 проектах).

Модель COCOMO II (1997, Центр по разработке ПО Южно-Калифорнийского университета, данные о 161 проекте).

В модели используется формула регрессии с параметрами, определяемыми на основе отраслевых данных и характеристик конкретного проекта.

Page 47: ТЕМА 5. Стадии проектирования и реализации ИС

Допущения модели Допущения модели COCOMOCOCOMO Исходный код конечного продукта включает в себя

все строки кода, кроме комментариев. Начало цикла разработки совпадает с началом

стадии реализации продукта. Окончание цикла разработки совпадает с

окончанием приемочного тестирования. Виды деятельности включают в себя только работы,

непосредственно направленные на выполнение проекта.

Человеко-месяц состоит из 152 часов. Проект управляется надлежащим образом. Требования стабильны. 47

Page 48: ТЕМА 5. Стадии проектирования и реализации ИС

Оценка трудоемкости проектаОценка трудоемкости проекта

PM – PM – трудоемкость в трудоемкость в чел./мес.чел./мес.

SIZE — размер SIZE — размер продукта в тыс. строк продукта в тыс. строк исходного кода исходного кода

EMEMii — множители — множители трудоемкости трудоемкости

SFSFjj — факторы — факторы масштаба масштаба

n=7 — для n=7 — для предварительной предварительной оценки оценки

n=17 — для n=17 — для детальной оценки детальной оценки

Page 49: ТЕМА 5. Стадии проектирования и реализации ИС

Оценка длительности проектаОценка длительности проекта

С = 3,67; D = 0,28;С = 3,67; D = 0,28; TDEVTDEV – – продолжительность проектапродолжительность проекта PMPMNSNS — трудоемкость проекта без учета — трудоемкость проекта без учета

множителя множителя SCED,SCED, определяющего сжатие определяющего сжатие расписания. расписания.

Page 50: ТЕМА 5. Стадии проектирования и реализации ИС

Факторы масштаба в Факторы масштаба в COCOMOCOCOMO

ФакторФактор Низкий уровеньНизкий уровень БаллБалл Высокий Высокий уровеньуровень

БаллБалл

ПрецедентностьПрецедентность опыт в продукте и опыт в продукте и платформе платформе отсутствуетотсутствует

6,26,2 продукт и продукт и платформа платформа полностью знакомыполностью знакомы

00

Гибкость Гибкость процесса процесса разработкиразработки

процесс строго процесс строго детерминировандетерминирован

5,075,07 определены только определены только общие целиобщие цели

00

Архитектура и Архитектура и разрешение разрешение рисковрисков

риски неизвестны/не риски неизвестны/не проанализированыпроанализированы

7,077,07 риски определены риски определены на 100%на 100%

00

Сработанность Сработанность командыкоманды

формальные формальные взаимодействиявзаимодействия

5,485,48 полное доверие, полное доверие, взаимозаменяемость взаимозаменяемость и взаимопомощьи взаимопомощь

00

Зрелость Зрелость процессовпроцессов

CMM Уровень 1CMM Уровень 1 7,87,8 CMM Уровень 5CMM Уровень 5 00

Page 51: ТЕМА 5. Стадии проектирования и реализации ИС

Множители трудоемкостиМножители трудоемкости

Множители Множители EMEMii отражают совместное отражают совместное влияние многих параметров. влияние многих параметров.

Позволяют характеризовать и нормировать Позволяют характеризовать и нормировать среду разработки по параметрам, среду разработки по параметрам, содержащимся в БД проектов модели содержащимся в БД проектов модели COCOMO II.COCOMO II.

Для конкретного проекта каждый Для конкретного проекта каждый множитель оценивается с помощью множитель оценивается с помощью лингвистической переменной – очень лингвистической переменной – очень низкий, низкий, номинальный, высокий, низкий, низкий, номинальный, высокий, очень высокий.очень высокий.

Page 52: ТЕМА 5. Стадии проектирования и реализации ИС

Множители трудоемкостиМножители трудоемкости для для предварительной оценкипредварительной оценки

1.1. Квалификация персоналаКвалификация персонала (PERS) (PERS) Low — аналитики и программисты имеют низшую квалификацию, Low — аналитики и программисты имеют низшую квалификацию,

текучесть больше 45%; текучесть больше 45%; High — аналитики и программисты имеют высшую квалификацию, High — аналитики и программисты имеют высшую квалификацию,

текучесть меньше 4% текучесть меньше 4%

2.2. Сложность и надежность продуктаСложность и надежность продукта (RCPX) (RCPX) Low — продукт простой, специальных требований по надежности Low — продукт простой, специальных требований по надежности

нет, БД маленькая, документация не требуется; нет, БД маленькая, документация не требуется; High — продукт очень сложный, требования по надежности жесткие, High — продукт очень сложный, требования по надежности жесткие,

БД сверхбольшая, документация требуется в полном объеме БД сверхбольшая, документация требуется в полном объеме

3.3. Сложность платформы разработкиСложность платформы разработки (PDIF) (PDIF) Low — специальные ограничения по памяти и быстродействию Low — специальные ограничения по памяти и быстродействию

отсутствуют, платформа стабильна; отсутствуют, платформа стабильна; High — жесткие ограничения по памяти и быстродействию, High — жесткие ограничения по памяти и быстродействию,

платформа нестабильнаплатформа нестабильна

Page 53: ТЕМА 5. Стадии проектирования и реализации ИС

Множители трудоемкости для предварительной оценки

4.4. Опыт персоналаОпыт персонала (PREX) (PREX) Low — новое приложение, инструменты и платформа; Low — новое приложение, инструменты и платформа; High — приложение, инструменты и платформа хорошо известны High — приложение, инструменты и платформа хорошо известны

5.5. ОборудованиеОборудование (FCIL) (FCIL) Low — инструменты простейшие, коммуникации затруднены; Low — инструменты простейшие, коммуникации затруднены; High — интегрированные средства поддержки жизненного цикла, High — интегрированные средства поддержки жизненного цикла,

интерактивные мультимедиа коммуникацииинтерактивные мультимедиа коммуникации

6.6. Сжатие расписанияСжатие расписания (SCED) (SCED) Low — 75% от номинальной длительности; Low — 75% от номинальной длительности; High — 160% от номинальной длительностиHigh — 160% от номинальной длительности

7.7. Разработка для повторного использованияРазработка для повторного использования (RUSE)(RUSE)

Low — не требуется; Low — не требуется; High — требуется многократное использование в других High — требуется многократное использование в других

продуктахпродуктах

Page 54: ТЕМА 5. Стадии проектирования и реализации ИС

Множители трудоемкостиМножители трудоемкости

ИдентИдент.. Описание множителяОписание множителя ДиапазонДиапазон

RELYRELY Требуемая надежностьТребуемая надежность 0,82 – 1,26 0,82 – 1,26

DATADATA Размер базы данныхРазмер базы данных 0,9 – 1,280,9 – 1,28

CLPXCLPX Сложность продуктаСложность продукта 0,73 – 1,740,73 – 1,74

RUSERUSE Требуемый уровень повторного Требуемый уровень повторного использованияиспользования

0,95 – 1,240,95 – 1,24

DOCUDOCU Соответствие документации требованиям Соответствие документации требованиям ЖЦЖЦ

0,81 – 1,230,81 – 1,23

TIMETIME Ограничение времени выполненияОграничение времени выполнения 1,0 – 1,631,0 – 1,63

STORSTOR Ограничение по объему основной памятиОграничение по объему основной памяти 1,0 – 1,461,0 – 1,46

PVOLPVOL Изменчивость платформыИзменчивость платформы 0,87 – 1,300,87 – 1,30

Page 55: ТЕМА 5. Стадии проектирования и реализации ИС

Множители трудоемкостиМножители трудоемкости

ИдентИдент.. Описание множителяОписание множителя ДиапазонДиапазон

ACAPACAP Способность аналитикаСпособность аналитика 1,42 – 0,711,42 – 0,71

PCAPPCAP Способность программистаСпособность программиста 1,34 – 0,761,34 – 0,76

APEXAPEX Знание приложенийЗнание приложений 1,22 – 0,811,22 – 0,81

PLEXPLEX Знание платформыЗнание платформы 1,19 – 0,851,19 – 0,85

PCONPCON Преемственность персоналаПреемственность персонала 1,29 – 0,811,29 – 0,81

LTEXLTEX Знание языка/инструментальных средствЗнание языка/инструментальных средств 1,20 – 0,841,20 – 0,84

TOOLTOOL Использование инструментальных средствИспользование инструментальных средств 1,17 – 0,781,17 – 0,78

SCEDSCED Требуемые сроки разработкиТребуемые сроки разработки 1,43 – 1,01,43 – 1,0

SITESITE Распределенность команды разработчиковРаспределенность команды разработчиков 1,22 – 0,81,22 – 0,8

Page 56: ТЕМА 5. Стадии проектирования и реализации ИС

Пример определения Пример определения TOOLTOOL

Элементы множителяЭлементы множителя Уровни Уровни рейтингарейтинга

ЗначениеЗначение

Редакторы кода, отладчикиРедакторы кода, отладчики Очень низкийОчень низкий 1,171,17

Простые Простые CASE-CASE-средства с средства с минимальной интеграциейминимальной интеграцией

НизкийНизкий 1,091,09

Средства поддержки основных Средства поддержки основных процессов ЖЦ, средняя степень процессов ЖЦ, средняя степень интеграцииинтеграции

Номинальный Номинальный 1,01,0

Развитые средства поддержки ЖЦ, Развитые средства поддержки ЖЦ, средняя степень интеграциисредняя степень интеграции

ВысокийВысокий 0,90,9

Мощные средства поддержки ЖЦ, Мощные средства поддержки ЖЦ, хорошо интегрированныехорошо интегрированные

Очень Очень высокийвысокий

0,780,78