Разделы презентаций


Управление моделями в UML

Содержание

Управление моделямиВ UML определены несколько понятий, которые имеют особое для значение при определении как структуры модели, так и структуры моделируемого приложения: модели, системы и подсистемы, а также синтаксические средства их выражения

Слайды и текст этой презентации

Слайд 1Анализ и проектирование на UML

Направления подготовки
«Бизнес-информатика», «Прикладная информатика»


Максим Валерьевич Хлопотов,
старший

преподаватель кафедры ИС

Анализ и проектирование на UMLНаправления подготовки«Бизнес-информатика», «Прикладная информатика»Максим Валерьевич Хлопотов,старший преподаватель кафедры ИС

Слайд 2Управление моделями
В UML определены несколько понятий, которые имеют особое для

значение при определении как структуры модели, так и структуры моделируемого

приложения: модели,
системы и подсистемы,
а также синтаксические средства их выражения в UML.
Управление моделямиВ UML определены несколько понятий, которые имеют особое для значение при определении как структуры модели, так

Слайд 3Управление моделями
При моделировании наше внимание сосредоточено на описании некоторой части

реального мира. Например, при моделировании приложения рассматривается его программная реализация,

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

Все это вместе называется физической системой.
Управление моделямиПри моделировании наше внимание сосредоточено на описании некоторой части реального мира. Например, при моделировании приложения рассматривается

Слайд 4Управление моделями
Одна и та же физическая система может быть описана

с различных точек зрения. Описание физической системы называется моделью. Каждая

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

Слайд 5Управление моделями
Если физическая система сложна и велика (а именно так

обычно и бывает), то ее целесообразно мысленно разбить на части,

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

Слайд 6Управление моделями
Например, информационная система отдела кадров конкретной организации, как физическая

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

и развернутых на этих компьютерах, а также служащих отдела кадров, которым вменено в обязанность использовать приложение в повседневной работе.
С точки зрения выполняемых функций в этой физической системе можно выделить две подсистемы: подсистему работы с персоналом и подсистему работы со штатным расписанием.
Можно разделить все описание на несколько моделей, чтобы описать систему в целом с различных точек зрения, а можно разделить систему на части и описать их по отдельности как подсистемы. Более того, можно комбинировать эти структуры произвольным образом: разбить модель на несколько подсистем, каждую из которых описать с помощью нескольких моделей и т. д.
Управление моделямиНапример, информационная система отдела кадров конкретной организации, как физическая система, состоит из некоторого количества компьютеров, программных

Слайд 7Управление моделями
Когда модель достаточно велика, реально возникает проблема управления моделями.


Если модель достаточно велика, ее нужно разделить на части обозримого

размера и рассматривать их по отдельности. Для этой цели в UML используется одно универсальное средство — пакет.

Пакет — это группирующая сущность в UML.
На диаграммах пакет изображается в виде фигуры — прямоугольник с закладкой.
Если внутри пакета ничего не изображено, то имя пакета пишется в основном прямоугольнике, в противном случае — в закладке.
Управление моделямиКогда модель достаточно велика, реально возникает проблема управления моделями. Если модель достаточно велика, ее нужно разделить

Слайд 8Свойства пакета в UML
• Отношение владения.

Говорят, что пакет владеет

объявленными в нем элементами модели, а элементы принадлежат владеющему ими

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

Слайд 9Свойства пакета в UML
• Пространство имен.

Каждый пакет в модели

образует пространство имен, т. е. область определения и использования имен.



Пространства имен вложены друг в друга. Пространства имен пакетов вложены в соответствии с иерархией отношения владения, пространства имен прочих элементов вложены в соответствии со специфической иерархией элементов. В частности, каждое составное состояние машины состояний образует вложенное пространство имен. Таким образом, пространства имен также образуют строгую иерархию.
Свойства пакета в UML• Пространство имен. Каждый пакет в модели образует пространство имен, т. е. область определения

Слайд 10Управление моделями
Отношение владения

Внутри основного прямоугольника фигуры пакета можно

помещать любые элементы модели — тем самым моделируется отношение владения:

пакет владеет элементом, помещенным внутрь его фигуры.
Управление моделями Отношение владения Внутри основного прямоугольника фигуры пакета можно помещать любые элементы модели — тем самым

Слайд 11Управление моделями
Модели нуждаются в структуре, в противном случае они не

отвечают своему основному назначению — служить средством визуализации, спецификации, проектирования

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

Слайд 12Управление моделями
Если диаграмма в модели не помещается на экран так,

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

Если имена элементов модели состоят из десятков непонятных слов, модель трудно использовать. Если для понимания какой-то характеристики приложения нужно одновременно рассматривать десяток диаграмм, модель не отвечает своему назначению. Если для поиска ответа на конкретный вопрос нужно просмотреть всю модель подряд, она никуда не годится.
Управление моделямиЕсли диаграмма в модели не помещается на экран так, чтобы тексты и значки оставались читаемыми, от

Слайд 13Управление моделями
Модель имеет хорошую, удобную для работы структуру, если выполняются

следующие три количественных критерия.
- Количество сущностей, изображенных на всех диаграммах,

примерно одинаково и равно 7±3.
Если сущностей на диаграмме три или меньше, то диаграмма недостаточно информативна, чтобы включать ее в модель отдельно. Такую диаграмму либо не стоит включать в модель, либо можно объединить с другой однородной диаграммой.
Если на диаграмме больше десяти сущностей, то она, как правило, слишком трудна для понимания с одного взгляда. Такую диаграмму целесообразно разбить на несколько диаграмм.
Управление моделямиМодель имеет хорошую, удобную для работы структуру, если выполняются следующие три количественных критерия.- Количество сущностей, изображенных

Слайд 14Управление моделями
- Ширина ветвления в дереве вложенности пакетов с учетом

диаграмм примерно постоянна и равна 7±3.
Другими словами, пакету должны

принадлежать от трех до десяти пакетов или диаграмм. Если их меньше, то не понятно, нужен ли такой малосодержательный пакет как отдельная сущность. Если больше, то в деталях пакета можно "утонуть".
Управление моделями- Ширина ветвления в дереве вложенности пакетов с учетом диаграмм примерно постоянна и равна 7±3. Другими

Слайд 15Управление моделями
- Число использующих вхождений элементов модели должно быть ограничено

сверху значением 7±3, при этом больше половины элементов модели должно

присутствовать на диаграммах.
Любой данный элемент модели может присутствовать на некотором количестве диаграмм: 0, 1 или больше. Если на диаграммах нарисовано меньше половины существующих в модели элементов, то это не модель, а "вещь в себе", о назначении которой трудно догадаться.
Если один и тот же элемент повторяется в разных местах больше десяти раз, то это "масло масляное".
Управление моделями- Число использующих вхождений элементов модели должно быть ограничено сверху значением 7±3, при этом больше половины

Слайд 16Управление моделями
Приведенные критерии характеризуют форму модели, но никак не затрагивают

ее содержание.
Способы структурирования модели по содержанию:
- По структуре приложения.


В основу структуры пакетов кладется одна из реальных структур приложения, например, компонентная структура.
Вся система разбивается на пакеты, соответствующие компонентам (или подсистемам), они, если нужно, разбиваются на более мелкие части и т. д.
- По фазам процесса разработки.
Модель делится на пакеты в соответствии с фазами ее создания (набор которых зависит от принятой дисциплины моделирования). Например, пакет для диаграмм концептуального уровня, пакет диаграмм детального проектирования, пакет диаграмм реализации и развертывания и т. д.
- По представлениям.
Модель делится на пакеты по представлениям. Например, представление использования, логическое представление, представление реализации и т. д.
Управление моделямиПриведенные критерии характеризуют форму модели, но никак не затрагивают ее содержание. Способы структурирования модели по содержанию:-

Слайд 17Управление моделями
Авторы языка рекомендуют структурировать модель по представлениям. Вслед за

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

в сравнительно простых моделях можно обойтись каким-то одним принципом структуризации.
В более сложных моделях приходится определять достаточно много пакетов (особенно если придерживаться наших критериев локального ограничения сложности).
Поэтому исходить нужно из потребностей модели, руководствуясь опытом и здравым смыслом — указанные принципы структуризации полезны, но все равно требуют размышлений при применении.
Управление моделямиАвторы языка рекомендуют структурировать модель по представлениям. Вслед за ними разработчики большинства инструментов пытаются навязать пользователю

Слайд 18Управление моделями
Допустим, что выбрана принципиальная структура пакетов в модели.
Пакеты могут

находиться в следующих отношениях:
• отношения владения (вложенности);
• индуцированные отношения;
• стереотипные

зависимости;
• обобщение.
Управление моделямиДопустим, что выбрана принципиальная структура пакетов в модели.Пакеты могут находиться в следующих отношениях:• отношения владения (вложенности);•

Слайд 19Управление моделями
Вложенность пакетов влечет вложенность пространств имен. Всякий элемент модели,

определенный в данном пространстве имен, видит все элементы, определенные в

этом же пространстве имен и во всех объемлющих пространствах имен. Имена в "параллельных" и вложенных пространствах имен не видимы для данного элемента. Если в цепочке вложенных пространств имен определены несколько разных элементов с одним именем, то для данного элемента видимым является ближайший при просмотре изнутри наружу.

Управление моделямиВложенность пакетов влечет вложенность пространств имен. Всякий элемент модели, определенный в данном пространстве имен, видит все

Слайд 20Управление моделями
Индуцированное отношение — это отношение между пакетами, которое просто

отражает наличие такого же отношения между некоторыми элементами данных пакетов.
Например,

если указано, что пакет X зависит от пакета Y, то это означает, что один или несколько элементов модели, которыми владеет пакет X, зависят от одного или нескольких элементов модели, которыми владеет пакет Y. При этом вовсе не подразумевается, что все элементы пакетов находятся в данном отношении — достаточно наличия одной пары.
Управление моделямиИндуцированное отношение — это отношение между пакетами, которое просто отражает наличие такого же отношения между некоторыми

Слайд 21Управление моделями
Существуют два специальных стандартных стереотипа отношения зависимости — «access»

и «import», которые имеют сходное назначение, но различаются в некоторых

деталях.

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

Различие между ними в том, что использование зависимости «access» не влияет на пространство имен зависимого пакета — для доступа к элементу независимого пакета нужно указывать составное имя, а при использовании зависимости «import» происходит расширение пространства имен зависимого пакета пространством имен независимого пакета.
Управление моделямиСуществуют два специальных стандартных стереотипа отношения зависимости — «access» и «import», которые имеют сходное назначение, но

Слайд 22Управление моделями
Хотя пакеты не являются классификаторами, тем не менее для

них можно указать отношение обобщения.
Обычно отношение обобщения для пакетов

применяется в следующей ситуации. Допустим, что имеется несколько однородных в некотором смысле пакетов, например, несколько альтернативных вариантов реализации одной и той же функциональности. В таком случае можно определить в модели абстрактный пакет, который обобщает конкретные варианты.
Управление моделямиХотя пакеты не являются классификаторами, тем не менее для них можно указать отношение обобщения. Обычно отношение

Слайд 23Управление моделями
Например, на рисунке. представлена одна из возможных структур пакетов

информационной системы отдела кадров, касающаяся управления данными.
Пакеты Personnel Management

и Staff Management зависят от абстрактного пакета Data Management, который является обобщением пакетов Database Management и Files Management.
Управление моделямиНапример, на рисунке. представлена одна из возможных структур пакетов информационной системы отдела кадров, касающаяся управления данными.

Слайд 24Управление моделями
Спецификация UML предусматривает довольно большое число стандартных стереотипов для

пакетов,
«facade»
Пакет, который содержит только ссылки на элементы, определенные в

других пакетах. Используется для описания "внешнего вида" других пакетов.
«framework»
Пакет, содержащий образцы и шаблоны. Используется для описания повторно используемых архитектурных решений.
«metamodel»
Модель, которая описывает другую модель. Например, метамодель UML.
«modelLibrary»
Пакет, содержащий определения элементов моделирования, предназначенных для использования в других пакетах.
«profile»
Пакет, содержащий определения элементов моделирования, предназначенных для моделирования в определенной предметной области.
«systemModel»
Модель, содержащая несколько моделей одной физической системы.
«topLevel»
Пакет, который является конем иерархии вложенности пакетов.
Управление моделямиСпецификация UML предусматривает довольно большое число стандартных стереотипов для пакетов,«facade» Пакет, который содержит только ссылки на

Слайд 25Управление моделями
UML позволяет придать описанию модели любую структуру — моделирующий

субъект должен приложить определенные мыслительные усилия, чтобы выбрать хорошую структуру,

подходящую для данного случая.
Управление моделямиUML позволяет придать описанию модели любую структуру — моделирующий субъект должен приложить определенные мыслительные усилия, чтобы

Слайд 26Управление моделями
UML позволяет придать описанию модели любую структуру — моделирующий

субъект должен приложить определенные мыслительные усилия, чтобы выбрать хорошую структуру,

подходящую для данного случая.
Управление моделямиUML позволяет придать описанию модели любую структуру — моделирующий субъект должен приложить определенные мыслительные усилия, чтобы

Слайд 27Применение UML
Технологию программирования целесообразно рассматривать в трех аспектах.
• Модель процесса,

т. е. порядок проведения типового проекта по разработке программного обеспечения.

Сюда относятся понятия жизненного цикла программного обеспечения, определение модели процесса — выделение в нем фаз, вех, потоков работ и других составляющих. Характерным для данного аспекта является рассмотрение на уровне программирующей организации в целом.
Применение UMLТехнологию программирования целесообразно рассматривать в трех аспектах.• Модель процесса, т. е. порядок проведения типового проекта по

Слайд 28Применение UML
• Модель команды, т. е. отношения между людьми в

процессе разработки. Сюда относятся определение обязанностей работников — участников процесса,

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

Слайд 29Применение UML
• Дисциплина программирования, т. е. методы создания конкретных артефактов,

входящих в состав программного обеспечения. Сюда относятся описание и применение

образцов проектирования, стандарты кодирования, методы тестирования и отладки и т. д. Характерным для данного аспекта является рассмотрение на уровне отдельного работника.
Применение UML• Дисциплина программирования, т. е. методы создания конкретных артефактов, входящих в состав программного обеспечения. Сюда относятся

Слайд 30Применение UML
Задачей технологии программирования является исследование и улучшение процессов разработки

программного обеспечения. При этом можно преследовать различные цели, т. е.

улучшать процесс в различных направлениях.
Применение UMLЗадачей технологии программирования является исследование и улучшение процессов разработки программного обеспечения. При этом можно преследовать различные

Слайд 31Применение UML
Приведем несколько примеров задач, исследуемых и решаемых технологией программирования.

Повышение надежности программного обеспечения.
• Снижение совокупной стоимости владения программным

обеспечением.
• Повышение продуктивности программирования.


Применение UMLПриведем несколько примеров задач, исследуемых и решаемых технологией программирования.• Повышение надежности программного обеспечения. • Снижение совокупной

Слайд 32Применение UML
Применение UML оказывает положительное влияние на продуктивность процесса разработки

программного обеспечения. Причина влияния заключается в том, что применение UML

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

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

Слайд 33Применение UML
Применение элементов UML
Первый вопрос, который надлежит поставить перед собой,

приступая к применению UML: чего мы хотим достичь?

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


Спецификация требований.
Детальное проектирование.
Применение UMLПрименение элементов UMLПервый вопрос, который надлежит поставить перед собой, приступая к применению UML: чего мы хотим

Слайд 34Концептуальное моделирование
В этом варианте целью моделирования является достижение понимания моделируемой

физической системы (приложения, бизнес-процесса…), ее назначения и области применения.
Уровни

понимания:
• первый уровень — когда появляется приятное чувство, что все понял;
• второй уровень — когда можешь повторить сказанное;
• третий уровень — когда можешь найти ошибку.
Для понимания системы на первом уровне моделирование на UML не обязательно — достаточно устного объяснения и, может быть, нескольких наглядных слайдов с картинками. Второй уровень легко достигается с помощью связного текста на естественном языке. Применение UML оправдано, когда нужно достичь третьего уровня — не просто познакомиться с идеей системы, но увидеть ее в целом и, может быть, найти пробелы или ошибки.
Концептуальное моделированиеВ этом варианте целью моделирования является достижение понимания моделируемой физической системы (приложения, бизнес-процесса…), ее назначения и

Слайд 35Применение UML
Для концептуального моделирования полные диаграммы использования обязательны, а также

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

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

Слайд 36Спецификация требований
Основной целью моделирования является получение артефакта, который мог бы

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

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

Слайд 37Спецификация требований
Реализация вариантов использования в форме диаграмм взаимодействия обязательна —

это основа для построения набора тестов приемо-сдаточных испытаний.
На диаграммы

использования возлагается значительно большая ответственность, поэтому разрабатывать их необходимо намного тщательнее. Например, если на диаграмме не изображен некоторый вариант использования, то это означает, что система не должна иметь соответствующую функциональность.
Спецификация требованийРеализация вариантов использования в форме диаграмм взаимодействия обязательна — это основа для построения набора тестов приемо-сдаточных

Слайд 38Спецификация требований
В спецификации требований диаграмма компонентов не просто желательна, а

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

названий, что именно должно быть разработано. Между концептуальной моделью и спецификацией требований нет непроходимой границы — довольно часто концептуальная модель за несколько итераций перерастает в спецификацию требований. По нашим наблюдениям, удовлетворительная спецификация требований оказывается в 3–5 раз объемнее концептуальной модели.
Спецификация требованийВ спецификации требований диаграмма компонентов не просто желательна, а обязательна — техническое задание должно определять, хотя

Слайд 39Циклы продуктивности
С основным циклом последовательного выполнения фаз процесса разработки сопряжены

два внешних цикла движения определенных артефактов.
Цикл, в который вовлечен

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

Слайд 40Циклы продуктивности
UML унифицирует представления артефактов в циклах повышения продуктивности. Унификация

обеспечивает ускорение прохождения циклов, повышение сохранности, облегчение восприятия и повышение

надежности принимаемых решений.
Циклы продуктивностиUML унифицирует представления артефактов в циклах повышения продуктивности. Унификация обеспечивает ускорение прохождения циклов, повышение сохранности, облегчение

Слайд 41Циклы продуктивности

Циклы продуктивности

Слайд 42Циклы продуктивности
Применение UML оказывает положительное влияние на продуктивность процесса разработки

программного обеспечения.
Причина влияния заключается в том, что применение UML

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

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

Слайд 43Применение UML
"Единственно правильной" модели нет и не может быть. Если

программирование — это искусство, то что говорить об архитектурном проектировании

и концептуальном моделировании? Это, видимо, элитарное искусство.

Не переоценивайте возможности инструмента.
Не пренебрегайте возможностями инструмента.
Не переоценивайте собственные возможности
Не пренебрегайте собственными возможностями
Применение UML

Слайд 44Выводы
7 ± 3 сущности на одной диаграмме.
Диаграмма должна охватываться «одним

взглядом».
Управление моделями – для того, кто моделирует, а не для

компьютера.
Нет наилучшего процесса для всех типов проектов и всех типов организаций, но для каждого типа проектов и для каждого типа организаций в отдельности — есть.
Выводы7 ± 3 сущности на одной диаграмме.Диаграмма должна охватываться «одним взглядом».Управление моделями – для того, кто моделирует,

Слайд 45Л.р. 4
Отчёт должен содержать тему и её краткое описание
Отчёт должен

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

с примечаниями,
диаграмма деятельности с дорожками,
диаграмма классов полная (с интерфейсами),
диаграмма состояний,
диаграммы взаимодействия (минимум 2) с указанием состояний объектов,
7 ± 3 сущности на одной диаграмме.
Приветствуется применение паттернов проектирования

Л.р. 4Отчёт должен содержать тему и её краткое описаниеОтчёт должен содержать 10 диаграмм, описывающих использование, структуру и

Слайд 46Бонусы
Те, кому не хватает баллов, могут получить их в виде

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

согласуется с предложенной в лабораторной работе 4 моделью.
Второй бонус для докладчиков. Нужно подготовить презентацию по теме своей работы и выступить с ней на лекции 18.12.14.
БонусыТе, кому не хватает баллов, могут получить их в виде бонусов.Первый бонус для разработчиков. Нужно создать прототип

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика