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

advertisement
ТЕМА 5.
Стадии проектирования
и реализации ИС
Лекция 24.
Оценка трудоемкости разработки ИС.
Основные причины неудач проектов
разработки ИС



Плохое управление проектом
«Плывущие» требования
Неправильная оценка проекта, связанная с
отсутствием опыта или методики оценки
проекта;
 непредвиденными проблемами в используемых
средствах и компонентах;
 непониманием ключевых технических проблем
проекта.

2
Единица измерения проекта





Наиболее популярные единицы измерения – время и
функции системы.
зависит от сложности проекта и позволяет изменять
оценку размера проекта с изменением требований;
применима на всех стадиях жизненного цикла
системы, причем на различных этапах жизненного
цикла проекта его эффективность определяется
заново, с различной глубиной проработки;
дает независимые оценки времени выполнения
проекта и его трудоемкости;
позволяет распределить риски между всеми
участниками проекта.
3
Методы оценки трудоемкости
разработки ПО ИС
1. Алгоритмическое моделирование

Основан на анализе статистических данных о
ранее выполненных проектах, затраты
прогнозируются в зависимости от
количественного показателя
2. Экспертные оценки

Основан на опросе экспертов по технологии
разработки ПО в заданной предметной области
3. Оценка по аналогии

Основан на сравнении проекта с предыдущими,
имеющими подобные характеристики
4
Факторы оценки трудоемкости





Размер конечного продукта (количество строк
кода или количество функциональных точек);
Особенности технологии разработки ПО;
Квалификация персонала;
Особенности среды разработки
(инструментальных средств);
Требуемое качество продукта
(функциональные возможности,
производительность, надежность).
5
Недостатки метода определения размера
продукта через количество строк кода
1. Не применяется на ранних стадиях разработки.
2. Строки исходного кода зависят от типа языков
программирования, методов проектирования,
стиля и квалификации программиста.
3. Разработка ПО связана с большими затратами,
напрямую не зависящими от размера
программного кода.
4. Генераторы кода продуцируют чрезмерный
объем кода, в результате чего искажаются
показатели трудоемкости.
6
Показатель (по стадиям
ЖЦ)
Команда №1
Команда №2
(низкоуровневый ЯП) (высокоуровневый ЯП)
Изучение требований к ПО
1 мес.
1 мес.
Внешнее и концептуальное
проектирование
2 мес.
2 мес.
Кодирование
9 мес.
2 мес.
Тестирование
4 мес.
2 мес.
Подготовка комплекта
документации
3 мес.
2 мес.
ИТОГО по времени
19 мес.
9 мес.
Число строк кода
30000
5000
Затраты
150000 у.е.
90000 у.е.
Цена строки кода
5 у.е.
18 у.е.
Производительность труда
1500 строк/мес.
500 строк/мес.
7
Методы определения размера продукта
1. Количество строк кода - точка зрения
разработчика.
2. Количество функциональных точек – точка зрения
пользователей.
 Разработчик метода Алан Альбрехт (IBM),1979
 Основная идея метода - максимальный отказ от
деталей реализации ПО и перенос оценки в область
функциональности, наблюдаемой пользователем.
 1986 г. – сформирована Международная
Ассоциация Пользователей Функциональных
Точек (International Function Point User Group —
IFPUG)
8
Алгоритм метода функциональных
точек
9
Алгоритм метода функциональных
точек
1.
2.
3.
4.
5.
6.
7.
Определение типа оценки.
Определение области оценки и границ продукта.
Подсчет функциональных точек, связанных с
данными.
Подсчет функциональных точек, связанных с
транзакциями.
Определение суммарного количества не
выровненных функциональных точек (UFP).
Определение значения фактора выравнивания
(FAV).
Расчет количества выровненных функциональных
точек (AFP).
Тип оценки
Проект
разработки
Область оценки
Оценивается количество
Все разрабатываемые
функциональности,
функции
поставляемой пользователям
в первом релизе продукта.
Оценивается проект
Проект
доработки: добавление,
развития
(поддержки) изменение и удаление
Все добавляемые,
изменяемые и
удаляемые функции
функционала.
Готовый
продукт
Оценивается объем уже
существующего и
установленного продукта.
Только функции,
реально используемые
11
Границы продукта



Что является «внешним» по отношению к продукту.
Где располагается «граница системы», через которую
проходят транзакции, передаваемые или принимаемые
приложением, с точки зрения пользователя.
Какие данные поддерживаются приложением, а какие —
внешние.
12
Функциональные точки, связанные с
данными


DET (data element type) — неповторяемое уникальное поле
данных, например, Имя Клиента — 1 DET; Адрес Клиента
(индекс, страна, область, район, город, улица, дом, корпус,
квартира) — 9 DET's
RET (record element type) — логическая группа данных,
например, адрес, паспорт, ФИО.
Объект данных «Клиент»
13
Матрица сложности данных
1-19 DET
1 RET
Низкая
2-5 RET Низкая
6+ RET Средняя
20-50 DET
Низкая
Средняя
Высокая
50+ DET
Средняя
Высокая
Высокая
Оценка в функциональных точках
объекта данных «Клиент»
14
FP, связанные с транзакциями
Виды FP
Назначение
Пример
EI
(external
inputs)
внешние входные транзакции, элементарная
операция по обработке данных или
управляющей информации, поступающих в
систему из вне.
Поле ввода,
кнопка
EO
(external
outputs)
внешние выходные транзакции, элементарная
операция по генерации данных или
управляющей информации, которые выходят за
пределы системы. Предполагает определенную
логику обработки или вычислений информации
из одного или более ILF.
Поле
данных
отчета,
сообщение
об ошибке
EQ
(external
inquiries)
внешние запросы, элементарная операция,
которая в ответ на внешний запрос извлекает
данные или управляющую информацию из ILF
или EIF.
Поле ввода
для поиска,
поле вывода
результата
поиска
15
Оценка сложности транзакций
Матрица сложности внешних
входных транзакций (EI)
1-4 DET
5-15
DET
16+ DET
0-1 FTR
Низкая
Низкая
Средняя
2 FTR
Низкая
Средняя
3+ FTR
Средняя
Высокая
Матрица сложности внешних
выходных транзакций и
внешних запросов (EO & EQ)
1-5 DET
6-19
DET
20+
DET
0-1 FTR
Низкая
Низкая
Средняя
Высокая
2-3 FTR
Низкая
Средняя
Высокая
Высокая
4+ FTR
Средняя
Высокая Высокая
FTR (file type referenced) — позволяет подсчитать количество различных файлов
типа ILF и/или EIF, модифицируемых или считываемых в транзакции.
Оценка в функциональных точках сложности транзакций
Сложность
Количество FP (EI)
Количество FP (EO)
Количество FP (EQ)
Низкая
3
4
3
Средняя
4
5
4
Высокая
6
7
6
16
1 DET
1 DET
1 DET
Пример
оценки
сложности
транзакции
17 DET, 1 FTR
Средняя
сложность
1 FTR
4 UFP
17
Определение суммарного количества не
выровненных функциональных точек

Общий объем продукта в не выровненных
функциональных точках (UFP)
определяется путем суммирования по всем
информационным объектам (ILF, EIF) и
элементарным операциям (транзакциям EI,
EO, EQ).
18
Расчет количества выровненных
функциональных точек





Учет общесистемных требований осуществляется
путем применения фактора выравнивания (VAF –
Value Adjustment Factor) .
Значение фактора выравнивания зависит от 14
параметров (DI - degree of influence), каждый из
которых оценивается по 5-балльной шкале.
TDI = ∑ DI – суммарный эффект параметров
VAF = (TDI *0.01) + 0.65
AFP = UFP * VAF
Общесистемные параметры
Обмен данными
1.


0 — продукт представляет собой автономное приложение;
5 — продукт обменивается данными по более, чем одному
телекоммуникационному протоколу.
Распределенная обработка данных.
2.


0 — продукт не перемещает данные;
5 — распределенная обработка данных выполняется несколькими
компонентами системы.
Производительность.
3.


0 — пользовательские требования по производительности не установлены;
5 — время отклика критично для всех бизнес-операций, для удовлетворения
требованиям необходимы специальные проектные решения и инструменты
анализа.
Ограничения по аппаратным ресурсам
4.


0 — нет ограничений;
5 — продукт целиком должен функционировать на определенном
процессоре и не может быть распределен.
Транзакционная нагрузка.
5.


0 — транзакций не много, без пиков;
5 — число транзакций велико и неравномерно, требуются специальные
решения и инструменты.
Общесистемные параметры
Интенсивность взаимодействия с пользователем.
6.


0 — все транзакции обрабатываются в пакетном режиме;
5 — более 30% транзакций - интерактивные.
Эргономика
7.


0 — нет специальных требований;
5 — требования по эффективности очень жесткие.
Интенсивность изменения данных пользователями.
8.


0 — не требуются;
5 — изменения интенсивные, жесткие требования по
восстановлению
Сложность обработки
9.


0 — обработка минимальна;
5 — требования безопасности, логическая и математическая
сложность
Повторное использование
10.


0 — не требуется;
5 — продукт разрабатывается как стандартный многоразовый
компонент
Общесистемные параметры
Удобство инсталляции.
11.


0 — нет требований;
5 — установка и обновление ПО производится автоматически
Удобство администрирования
12.


0 — не требуется;
5 — система автоматически самовосстанавливается
Портируемость
13.


0 — продукт имеет только 1 инсталляцию на единственном
процессоре;
5 — система является распределенной и предполагает установку
на различные ТО и ОС
Гибкость
14.


0 — не требуется;
5 — гибкая система запросов и построение произвольных
отчетов, модель данных изменяется пользователем в
интерактивном режиме
Размер ПО в функциональных точках









Текстовые процессоры – 3500
Клиент-серверные приложения – 7500
ПО баз данных – 7500
Бизнес-приложения – 10000
Корпоративные приложения – 25000
Приложения в госучреждениях – 50000
Операционные системы – 75000
Системы масштаба предприятия – 150000
Крупные оборонные системы – 250000
23
Количество строк кода на одну
функциональную точку
Язык (средство)
программирования
Оценка количества строк кода на
1 FP
Наиболее
Оптимис- Пессимисвероятная
тическая
тическая
Assembler
JavaScript
C++
Visual Basic
172
56
60
50
86
44
29
14
320
65
178
276
24
Число
FP
Длительность Количество
Пример
разработчиков приложений
1
1 день
10
До 1 месяца 1
Дополнения к
готовой системе
100
До 6
месяцев
(85%)
До 1 года
1
Небольшое
приложение
10
Клиент-серверные
приложения
100
Крупные
приложения
До 1000
Операционные
системы
1000
От 1,5 до 5
лет
100000 От 3 до 8
лет
10000
1
Утилиты
25
Статистическая модель оценки
трудоемкости



Модель COCOMO (COnstructive COst MOdel) –
конструктивная модель стоимости (1985, Барри
Боэм, данные о 63 проектах).
Модель COCOMO II (1997, Центр по разработке
ПО Южно-Калифорнийского университета,
данные о 161 проекте).
В модели используется формула регрессии с
параметрами, определяемыми на основе
отраслевых данных и характеристик конкретного
проекта.
Допущения модели COCOMO







Исходный код конечного продукта включает в себя
все строки кода, кроме комментариев.
Начало цикла разработки совпадает с началом
стадии реализации продукта.
Окончание цикла разработки совпадает с
окончанием приемочного тестирования.
Виды деятельности включают в себя только работы,
непосредственно направленные на выполнение
проекта.
Человеко-месяц состоит из 152 часов.
Проект управляется надлежащим образом.
Требования стабильны.
27
Оценка трудоемкости проекта






PM – трудоемкость в
чел./мес.
SIZE — размер
продукта в тыс. строк
исходного кода
EMi — множители
трудоемкости
SFj — факторы
масштаба
n=7 — для
предварительной
оценки
n=17 — для
детальной оценки
Оценка длительности проекта



С = 3,67; D = 0,28;
TDEV – продолжительность проекта
PMNS — трудоемкость проекта без учета
множителя SCED, определяющего сжатие
расписания.
Факторы масштаба в COCOMO
Фактор
Низкий уровень Балл Высокий
уровень
Балл
Прецедентност
ь
опыт в продукте и
платформе
отсутствует
6,2
продукт и
платформа
полностью знакомы
0
Гибкость
процесса
разработки
процесс строго
детерминирован
5,07
определены только
общие цели
0
Архитектура и
разрешение
рисков
риски неизвестны/не 7,07
проанализированы
риски определены
на 100%
0
Сработанность
команды
формальные
взаимодействия
5,48
полное доверие,
0
взаимозаменяемость
и взаимопомощь
Зрелость
процессов
CMM Уровень 1
7,8
CMM Уровень 5
0
Множители трудоемкости



Множители EMi отражают совместное
влияние многих параметров.
Позволяют характеризовать и нормировать
среду разработки по параметрам,
содержащимся в БД проектов модели
COCOMO II.
Для конкретного проекта каждый
множитель оценивается с помощью
лингвистической переменной – очень
низкий, низкий, номинальный, высокий,
очень высокий.
Множители трудоемкости для
предварительной оценки
Квалификация персонала (PERS)
1.


Low — аналитики и программисты имеют низшую квалификацию,
текучесть больше 45%;
High — аналитики и программисты имеют высшую квалификацию,
текучесть меньше 4%
Сложность и надежность продукта (RCPX)
2.


Low — продукт простой, специальных требований по надежности
нет, БД маленькая, документация не требуется;
High — продукт очень сложный, требования по надежности жесткие,
БД сверхбольшая, документация требуется в полном объеме
Сложность платформы разработки (PDIF)
3.


Low — специальные ограничения по памяти и быстродействию
отсутствуют, платформа стабильна;
High — жесткие ограничения по памяти и быстродействию,
платформа нестабильна
Множители трудоемкости для
предварительной оценки
Опыт персонала (PREX)
4.


Low — новое приложение, инструменты и платформа;
High — приложение, инструменты и платформа хорошо известны
Оборудование (FCIL)
5.


Low — инструменты простейшие, коммуникации затруднены;
High — интегрированные средства поддержки жизненного цикла,
интерактивные мультимедиа коммуникации
Сжатие расписания (SCED)
6.


Low — 75% от номинальной длительности;
High — 160% от номинальной длительности
Разработка для повторного использования
(RUSE)
7.


Low — не требуется;
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
Способность программиста
APEX Знание приложений
1,34 – 0,76
1,22 – 0,81
Знание платформы
1,19 – 0,85
PCON Преемственность персонала
1,29 – 0,81
PLEX
LTEX
Знание языка/инструментальных средств
TOOL Использование инструментальных средств
1,20 – 0,84
1,17 – 0,78
SCED
Требуемые сроки разработки
1,43 – 1,0
SITE
Распределенность команды разработчиков
1,22 – 0,8
Пример определения TOOL
Элементы множителя
Уровни
рейтинга
Значение
Редакторы кода, отладчики
Очень низкий 1,17
Простые CASE-средства с
минимальной интеграцией
Низкий
Средства поддержки основных
процессов ЖЦ, средняя степень
интеграции
Номинальный 1,0
Развитые средства поддержки ЖЦ,
средняя степень интеграции
Высокий
0,9
Мощные средства поддержки ЖЦ,
хорошо интегрированные
Очень
высокий
0,78
1,09
Методы оценки трудоемкости
разработки ТД

ГОСТ Р ИСО/МЭК 15910-2002
«Информационная технология. Процесс создания
документации пользователя программного
средства»
 Метод нисходящего проектирования
 Поминутно-почасовой метод

Справочник базовых цен на разработку
технической документации на
автоматизированные системы управления
технологическими процессами (АСУТП)
37
Метод нисходящего проектирования

Число страниц оценивается:
автор может за месяц подготовить 22 страницы
нового текста;
 автор может за месяц подготовить 44 страницы
текста с изменениями.





15 % - планирование;
50 % - написание первой редакции;
25 % - написание второй редакции;
10 % - подготовка фотошаблонов
(скриншотов).
38
Поминутно-почасовой метод
Определение номенклатуры поставки
Исследование содержания документации
Написание плана документирования
Проектирование структуры документа и правил
оформления его страниц
5)
Написание первой редакции (документации)
6)
Разработка графических материалов
7) Объединение текстовых и графических материалов
8)
Проверка первой редакции (эксперт)
9)
Корректировка первой редакции и графики
10) Внесение замечаний пользователя
11) Грамматическое редактирование
12) Подготовка второй редакции (документации)
13) Проверка второй редакции (эксперт)
14) Окончательная корректировка документации
15) Нормоконтроль документации
16) Изготовление фотошаблонов
17) Печать и переплетение оригиналов
18) Печать и брошюровка копий
19) Рассылка
1)
2)
3)
4)
16 ч на проект
24 ч на проект
48 ч на проект
8 ч на том
1 ч на страницу
5 ч на материал
30 мин на страницу
30 мин на страницу
30 мин на страницу
30 мин на страницу
15 мин на страницу
15 мин на страницу
15 мин на страницу
10 мин на страницу
15 мин на страницу
3 сут.
5 сут.
10 сут.
1 сут.
39
40
Метрики документирования
Метрики
проекта
Метрики
пользовательской
перспективы
Метрики данных Метрики
интерфейса
пользователя
Объем
Количество
Количество
Количество
доступной
документации;
Количество
экспертов
Количество
рецензентов
функциональных
ролей;
Количество
пользовательских
задач;
Количество
функций программы;
Количество
реакций
пользователя на
сообщения
программы
сущностей;
Количество
атрибутов
объектов;
Количество
поддерживаемых
форматов данных
главных окон и
рабочих
областей;
Количество
крупных
экранных форм;
Количество
команд главного
меню;
Количество
сообщений об
ошибках
41
Последовательность разработки
эксплуатационной документации
Изучение
продукта
•Чтение
документации;
•Интервью;
•Работа на
стенде
Составление
плана
документирования
•Анализ требований
к документу;
•Составление
структуры
документа;
•Составление и
согласование плана
документирования
Написание
текста
Согласование
текста
Оформление
текста
•Изложение
структурной
информации;
•Изложение
процедурной
информации;
•Изложение
справочной
информации;
•Подготовка
рисунков
•Обсуждение
замечаний;
•Внесение
исправлений
•Авторская
разметка;
•Расстановка
перекрестных
ссылок;
•Разметка
указателя
42
Для решаемой задачи измеряются значения каждого показателя из списка метрик.
Для каждого вида работ рассчитывается трудоемкость по формуле:
Трудоемкостьi = Метрика1*Ti1 + Метрика2*Ti2 +…+ МетрикаN*TiN.
43
Расчет стоимости работ по
созданию ТД

Базовая цена разработки ТД определяется в зависимости
от количества баллов, подсчитанных по основным
факторам трудоемкости, соответствующего ценностного
множителя и общего поправочного коэффициента:
Цбаз = S x Б x К

Цены установлены отдельно на разработку каждой из
следующих частей проектной документации на АСУТП:






общесистемные решения (ОР);
организационное обеспечение (ОО);
информационное обеспечение (ИО);
техническое обеспечение (ТО).
математическое обеспечение (МО).
программное обеспечение (ПО).
44
Факторы трудоемкости разработки
проектной документации на АСУТП
1. Характер протекания управляемого технологического
процесса во времени (непрерывный, циклический,
дискретный)
2. Количество технологических операций, контролируемых или
управляемых АСУТП
3. Степень развитости информационных функций АСУТП (I-IV)
4. Степень развитости управляющих функций АСУТП (I-VII)
5. Режим выполнения управляющих функции АСУТП
(автоматизированный/автоматический, всего 5 режимов)
6. Количество переменных, измеряемых, контролируемых и
регистрируемых АСУТП
7. Количество управляющих воздействий, вырабатываемых
АСУТП
45
Ориентировочное распределение базовой
цены двухстадийной разработки ТД
Части ТД
ТП
РД
Общесистемные решения
70-80% 20-30%
Организационное обеспечение
30-40% 60-70%
Информационное обеспечение
40-50% 50-60%
Техническое обеспечение
40-50% 50-60%
Математическое обеспечение
80-90% 10-20%
Программное обеспечение
10-20% 80-90%
46
Пример определения цены разработки
проектной документации на АСУТП
Исходные данные по факторам трудоемкости:
1.
2.
3.
4.
5.
6.
7.
Характер протекания управляемого технологического процесса во
времени – полунепрерывный технологический процесс;
Количество технологических операций, контролируемых или
управляемых АСУТП – 36;
Степень развитости информационных функций АСУТП - III степень
(косвенное измерение (вычисление) отдельных комплексных
показателей функционирования ТОУ);
Степень развитости управляющих функций АСУТП - IV степень
(оптимальное управление установившимися режимами (в статике));
Режим выполнения управляющих функции АСУТП –
автоматизированный режим "советчика";
Количество переменных, измеряемых, контролируемых и
регистрируемых АСУТП – 365;
Количество управляющих воздействий, вырабатываемых АСУТП –
130
47
Пример определения цены разработки
проектной документации на АСУТП
Исходные данные для поправочных коэффициентов:
 создаваемая АСУТП является впервые
разрабатываемой и подлежит эксплуатации в России;
 АСУТП создается с использованием зарубежных
технических средств (К6);
 АСУТП подлежит эксплуатации в условиях
взрывоопасного производства (К10.1);
 АСУТП создается на вновь проектируемом
технологическом объекте управления;
 разработка документации выполняется в две стадии.
48
Определение базовой цены
Сумма баллов для каждого вида документации






для ОР
для ОО
для ИО
для ТО
для МО
для ПО
2+5+6+6+1+4+5= 29
1+3+2+3+1+4+4= 18
2+5+6+7+2+7+8= 37
1+3+5+7+1+7+8= 32
2+5+6+7+2+7+8= 37
2+5+6+7+2+7+8= 37
Повышающий коэффициент
К6 = 1,1;
К10.1 = 1,3.
49
Определение баллов для факторов
трудоемкости

Пример для фактора 7 (количество управляющих
воздействий, вырабатываемых АСУТП = 130)
Части ТД
ОР
ОО
ИО
ТО
МО
ПО
5
4
8
8
8
8
Значение
фактора
120-160
50
Базовая цена двухстадийной разработки
проектной документации на АСУТП
Части документации
Ценностный множитель
ОР
2,04
ОО
1,24
ИО
1,83
ТО
4,38
МО
4,92
ПО
6,00
51
Экспертиза технической
документации


Экспертиза документации определяет
согласованность документов, разработанных
на разных стадиях создания ИС.
Согласованность – главное требование к
технической документации, выражающееся
в непротиворечивости сведений, излагаемых
в отдельных документах, входящих в состав
комплекта технической документации.
52
Цели и задачи экспертизы ТД
ЦЕЛИ:
 снижение финансовых рисков заказчика и
исполнителя при создании ИС;
 сокращение сроков ввода ИС в действие.
ЗАДАЧИ:
 проверка технической документации на
комплектность;
 проверка структуры разделов технической
документации на соответствие требованиям
стандартов, нормативных документов и актов;
 проверка соответствия содержательной части
технической документации требованиям НТД и
техническим требованиям организации-эксперта.
53
Техническая документация,
подлежащая экспертизе





Техническое задание на создание
автоматизированной системы;
Технический или технорабочий проект;
Документы, разрабатываемые на стадии
«Рабочая документация»;
Эксплуатационная документация;
Программа и методики испытаний.
54
Взаимосвязь технической
документации
Требования
Стадия
Техническое
анализа
задание
предметной
области
Проектная
стадия
Стадия
реализации
(разработки)
Решения
Пояснительная
записка
к техническому
проекту
Сведения о
системе
Общее описание
системы
(рабочий проект)
55
Техническое задание Пояснительная
записка к ТП
Общее описание
системы
перечень подсистем,
их назначение и
основные
характеристики...
требования к
характеристикам
взаимосвязей системы
со смежными
системами,
требования к ее
совместимости
описание
взаимосвязей АС с
другими системами
решения по
сведения об АС в
структуре системы, целом и ее частях...
подсистем…
решения по
взаимосвязям АС
со смежными
системами,
обеспечению ее
совместимости
требования к режимам решения по
описание
функционирования
режимам
функционирования
системы
функционирования системы
56
57
Download