70
Расчетная работа По дисциплине «Моделирование и анализ ПО» Выполнил студент ДонНТУ группы ПОС- 10Б Пожидаев Святослав Тема: Проектирование и разработка программного продукта. Цель: Ознакомиться с основами разработки программного продукта по моделям проектной документации.

рр

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: рр

Расчетная работаПо дисциплине «Моделирование и анализ ПО»

Выполнил студент ДонНТУ группы ПОС-10Б

Пожидаев Святослав

Тема: Проектирование и разработка программного продукта.

Цель: Ознакомиться с основами разработки программного продукта по моделям проектной документации.

Page 2: рр

Индивидуальное заданиеКласс ПО: Web-служба.Ник: Игровое 3D мультимедиа сообщение - Game Message (GMS).Тема: Игровое сообщение-альбом изображений на 3-, 4-, 5-, 6-стенных комнатах трехмерной VRML галереи со стилистическим освещением.Назначение: Представление альбома фотографий, слайдов или картинок трехмерной галереей открытым форматом файла VRML для обмена игровыми сообщениями в мобильной и глобальной сети. Функции: Растровые изображения альбома пользователя разбиваются случайно или по усмотрению пользователя на группы по три, четыре, пять и шесть файлов. Графические файлы масштабируются до размера не более 480 на 320 пикселей и представляются в текстовом формате VRML. Из текстовых файлов изображение создается интерактивная VRML сцена вложенных уровней LOD и переходы между ними. Поочередно на каждом уровне размещается комната, состоящая из рядом стоящих прямоугольных параллелепипедов, по числу файлов группы.

Page 3: рр

Индивидуальное заданиеПродолжение функций: Параллелепипеды расставлены в центростремительном порядке относительно центральной точки, т.е. образуют замкнутую фигуру стен в комнате. На параллелепипеды наложено по одной текстуре на каждый графический файл из группы. Интервьюер помещается в центр комнаты. Комната освещена одним из трех стилистических источников света: яркий солнечный свет, тёмный средневековый свет, призрачный ночной свет. Для перехода между комнатами на одну из стен, в случайном местоположении, размещается утопленная в стену сфера радиусом 12% от ширины полотна. На сферу наложена текстура центральной части шириной 20% от одного, случайно выбранного, графического файла следующей комнаты. Утопленная сфера не должна выходить за видимые границы стены. Клик мыши на сфере должен приводить к анимации её перелета в центр комнаты и одновременным плавным масштабированием до увеличенного окончательного размера радиуса сферы на 30%. Сферу перемещают для удаления посторонних изображение с оригинала стены.

Page 4: рр

Индивидуальное задание

Продолжение функций: Теперь, сфера в центре комнаты является ключом для перехода на следующий уровень LOD, т.е. в следующую комнату галереи. Сгенерированный программой текстовый файл VRML-сцены, с расширением wrl, архивируется методом gzip и переименовывают с расширения gz на расширение wrl. Полученный файл игрового мультимедиа сообщения GMS выкладывают на сайте афиш, плакатов или в облаке фотобанков, передают по электронной почте или распространяют в специализированной мобильной социальной сети, по типу WhatsApp Messenger.

Page 5: рр

Задание• 1. Согласно диаграмм лабораторных работ №2, 3, 4, 5 на языке

высокого уровня (ЯВУ) написать интерфейс Windows-приложения. Используйте среду программирования "SharpDevelop (v.2.2.1.2648).msi".

• 2. Программный продукт обязательно должен содержать форму, удостоверяющую авторские права разработчика, своеобразную цифровую подпись (см. рис. 1). Все поля обязательны для заполнения.

• 3. Протестировать работу интерфейса программного продукта.• 4. Разработать презентацию по экранным формам

тестирования интерфейса программного продукта. Созданную презентацию объединить с презентациями лабораторных работ № 2, № 3, № 4, № 5.

• 5. Разместить презентацию на SlideShare.net и прислать ссылку на электронный ящик [email protected].

Page 6: рр

«Построение концептуальной модели заданной функциональности при помощи САПР

«ConceptDraw».

Page 7: рр

Концептуальная модель

Page 8: рр

ОписаниеГлавными сущностями проекта «Game Message» являются:

«Альбом изображений пользователя», «3-х мерная галерея», «Средства отображения», «Технология реализации».

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

Page 9: рр

Альбом изображений пользователя

Page 10: рр

ОписаниеАльбом изображений пользователя - это

коллекция изображений пользователя, хранящиеся на носители информации.

Каждое изображение в коллекции характеризуется такими параметрами как формат и размеры. Форматом изображения может быть : gif, jpeg, jpg, tiff, png. Размеры изображения характеризуются шириной и высотой в пикселях.

Page 11: рр

3-х мерная галерея

Page 12: рр

Описание

Игровое сообщение будет представлять собой галерею изображений пользователя.

Галерея в совою очередь представлена в виде 3D сцены. Сцена состоит из комнаты, логического перехода между комнатами и источника света. Комната состоит из замкнутых 3-х, 4-х, 5-ти, 6-ти стен. Каждая стена имеет размеры 480px на 320px и текстуру (растрового изображения из альбома пользователя). Источник света имеет стилистическое освещение (средневековое, призрачное ночное, солнечное)

Page 13: рр

Технология реализации

Page 14: рр

ОписаниеТак как галерея является 3D сценой, то для

описания сцены нужны технологии реализации. К технологиями реализации можно отнести клиент (плагин VRML браузера, браузер с поддержкой HTML5) и библиотеки: WebGL и АсtiveX

Page 15: рр

Средства отображения

Page 16: рр

ОписаниеОтобразить сцену галереи можно 2-мя средствами,

а именно: специальный плагин браузеров (Chrome, FireFox, IE) для отображения 3D сцен (в частности Cortona3D) либо с помощью 3D редакторов, таких как Maya, 3ds max, blender.

Page 17: рр

Общая схема

Page 18: рр

ПротоколGame Message

1 Средства отображения1.1 3D редактор1.1.1 Maya1.1.2 3ds MAX1.1.3 Blender1.2 Плагин для браузера1.2.1 Cortona3D1.2.2 Браузер1.2.2.1 Chrome1.2.2.2 FireFox1.2.2.3 IE

2 3-х мернаягалерея2.1 3D сцена2.1.1 Логические переход между комнатами2.1.2 Комната2.1.2.1 Стены2.1.2.1.1 Текстура2.1.2.1.1.1 растровое Изображение из альбома пользователя2.1.2.1.2 размер2.1.2.1.2.1 ширина2.1.2.1.2.1.1 480px2.1.2.1.2.2 высота2.1.2.1.2.2.1 320px2.1.2.2 6 стен2.1.2.3 5 стен2.1.2.4 4 стены2.1.2.5 3 стены2.1.2.6 Замкнутая2.1.3 Источник света2.1.3.1 Стилистическое освещение2.1.3.1.1 темное средневековое2.1.3.1.2 яркое солнечное2.1.3.1.3 призрачное ночное

3 Альбом изображений пользоватля3.1 Изображение3.1.1 Формат3.1.1.1 gif3.1.1.2 jpeg3.1.1.3 jpg3.1.1.4 tiff3.1.1.5 png3.1.2 размер3.1.2.1 ширина3.1.2.2 высота

4 Технология реализации4.1 Клиент4.1.1 плагин VRML браузера4.1.2 HTML54.2 библиотека4.2.1 WebGL4.2.2 ActiveX

Page 19: рр

Разработка структурно-функциональной модели. Схема информационных потоков.

Page 20: рр

Контекстная диаграмма IDEF0

Page 21: рр

Описание

Данная диаграмма показывает что входными данными разрабатываемой системы является «Коллекция изображений пользователя», а выходными данными «Сжатый VRML файл». На ряд процессов и данных накладывается ограничения, такие как: «Количество стен 3-6», «максимальное количество фото в альбоме 3-99», «максимальный размер VRML файла 100мб», «стилистическое освещение» (солнечное, ночное, средневековое), «ширина 480px», «высота 320px». И все процессы в системе осуществляются по управлением пользователя и веб приложения.

Page 22: рр

Декомпозиция контекстной диаграммы

Page 23: рр

Описание

Данная диаграмма показывает на какие процессы разделяется контекстная диаграмма, а именно: «Загрузить альбом», «Сформировать описание галереи», «Сформировать VRML файл». Также на данной диаграмме отображены все входные, выходные данные, ограничения и механизмы из контекстной диаграмма, а также добавлен еще 1 механизм с помощью которые выполняются все процессы это «JavaScript». Новы механизм отображен на диаграмме как туннель, что показывает отсутствие его не диаграмме выше по уровню.

Page 24: рр

Декомпозиция узла 1 диаграммы А0

Page 25: рр

Описание

Данная диаграмма показывает что процесс «Загрузить альбом» делится на 2 под процесса: «Выбрать изображения пользователя», «Загрузить изображения на сервер». Все входы и выходы, ограничения и механизмы унаследованы от узла который был декомпозирован.

Page 26: рр

Декомпозиция узла 2 диаграммы А0

Page 27: рр

Описание

Данная диаграмма показывает что процесс формирования описания галереи состоит из ряда процессов: «Задать количество стен», «Задать освещение», «Выбрать изображение на стены», «Создать описание комнаты», «Добавить описание комнаты в описание 3-х мерной галереи», «Проверить количество изображений для создания комнаты», «Сформировать описание 3-х мерной галереи».

Также на данной диаграмма были добавлены рад входных данных и ограничений. Добавленные входные данные: «Количество стен заданное пользователем», «Освещение выбранное пользователем». Добавленные ограничения: «Правила описания комнаты», «Правила добавления комнаты», «Правила описания 3х мерной галереи».

Page 28: рр

Декомпозиция узла 3 диаграммы А0

Page 29: рр

Описание

Данная диаграмма показывает что процесс формирования VRML файла состоит из 2х под процессов: «Создать VRML файл», «Сжать VRML файл». На процесс «Сжать VRML файл» было добавлено ограничения «Алгоритм Deflate».

Page 30: рр

Декомпозиция узла 1 диаграммы А3

Page 31: рр

Описание

Данная диаграмма показывает под процессы связанные с процессов создания VRML файла. К таким под процесса относятся процесс «Создать VRML код», на который было добавлено ограничение «Правила преобразования описаний в VRML», и «Создание файла с расширением VRL».

Page 32: рр

Контекстная DFD диаграмма

Page 33: рр

Описание

Данная диаграмма какие входные и выходные потоки данных связаны с «Система: Формированием сжатого VRML файла 3х мерное галереи», а именно: «Коллекция изображений» и «Параметры настройки 3х мерной галереи» идущие от внешней сущности «Пользователь», на выходе получаем «сжатый VRML файл».

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

Page 34: рр

Декомпозиция контекстной DFD

Page 35: рр

Описание

Данная диаграмма является декомпозиция контекстной DFD диаграммы, и показывает разбиение системы на отдельные процессы (Загрузка изображений на сервер, создания 3-х мерной галереи, Сжатие VRML файла) и потоки данных между ними. В результате выполнения процесса «Загрузка изображений на сервер» образуется хранилище данных «Коллекция изображений на сервере».

Page 36: рр

Декомпозиция узла 2 диаграммы А0

Page 37: рр

Описание

На данной диаграмме показано на какие процессы разбит процесс «создания 3-х мерной галереи и потоки данных между ними.

К таким процессам относится: определение параметра, выбор изображений из загруженных, выбор источника света, создание описания комнаты, формирования описания 3-х мерной галереи, Создание VRML файла.

К потокам данных относиться: задание пользователем изображений, задание света, количество стен (3-6), хранилище выбранных изображений, выбранный источник света, VRML код комнаты, VRML код галереи.

Page 38: рр

Объектное моделирование программного обеспечения с помощью спецификации UML.

Построение UML-диаграмм.

Page 39: рр

Диаграмма деятельности

С точки зрения сервера

Page 40: рр

ОписаниеНа данной диаграмме показана последовательность

действий для достижения цели «Создания сжатого файла 3-х мерной галереи». Элементарные действия представлены: Загрузить изображения на сервер, Задание количества стен, Указание изображения для комнаты, Выбор источника освещения, Добавление комнаты в 3-х мерную галерею, Определение количество нераспределенных изображений, Создание сжатого файла 3-х мерной галереи.

Page 41: рр

Диаграмма UseCase

Отправительсообщения

Получательсообщения

Пользовательсайта

«include»

«include»«extend»

«include»

«include»

«include»

«include»

«include»

«include»

«include» «include»

Загрузкаизображений на сервер

Создать игровоесообщение

Сформировать описание3-х мерного сообщения задать количество

стен

Добавление изображенийкомнату

Задание источникаосвещение

Добавление описаниекомнаты в сообщение «extend»

Формированиеописание комнаты

Создать URLсообщения

Создание сжатогоVRML файла

Преобразованиеописание галереи

в VRML

Создание VRMLфайла

Сжатие VRMLфайла

«include»

«include»

СформироватьURL

Открыть URLсообщение

Сохранение VRMLфайла на сервер

«include»

«extend»

Показать загруженныеизображения

Сервер

Page 42: рр

ОписаниеНа данной диаграмме отображён сценарий взаимодействия

субъектов с элементами системами.Субъект «Отправитель сообщения» может выполнять такие

сценарии как «Загрузка изображений», «Создание игрового сообщения». Субъект «Получатель сообщения» взаимодействует только с «Открытие URL галереи». Субъект «Сервер» выполняет только сценарий создания URL сообщения.

Page 43: рр

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

Web серверсайт "GameMessage"

Web клиент"браузер"

Получатель

Отправитель

Линия связиInternet (HTTP)

«component»

Модудь загрузкиизображений

«artifact»

Editor.html

«artifact»

style.css

Игровое сообщение(URL созданной галереи)

«artifact»

Player.html

«component»

Модуль открытия 3-хмерного сообщения

«artifact»

csen.gzip

«component»

Модуль созданияописания сообщения

«component»

Модуль созданиясжатого VRMLфайла

Хранилищеизображений

ХранилищеVRML сообщений

Page 44: рр

ОписаниеНа данной диаграмме показано разбиение программной

системы на структурные компоненты и связи (зависимости) между компонентами.

Из диаграммы видно, что Web-сервер и Web-клиент находятся удалены друг от дуга и связаны линий связи Internet. На сервере находятся модули сайта. Сервер по правилам описанные в модулях, генерирует HTML страницы и передает их Web-клиенту. Все модули сайта зависят от файла СSS в котором находятся стили для для разметки HTML. С Web клиентом взаимодействуют «Отправитель» и «Получатель». Отправитель взаимодействует с «Editor.html» для создания сообщения. Получатель взаимодействует с «Player.html» через полученное URL от отправитель

Page 45: рр

Диаграмма последовательности

Page 46: рр

Описание

На данной диаграмме показаны взаимодействия объектов, упорядоченные по времени их проявления. Также данная является частным случаем диаграммы взаимодействия.

Page 47: рр

Диаграмма классов

Page 48: рр

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

связи между ними. Диаграмма включает 8 классов: Сцена, Список комнат, Комната, Стена, Портал, Источник освещения, Изображение, VRML файл.

Класс «Сцена» содержит менеджер списка комнат, функции получения URL сообщения, создания кода сцены.

Класс «Список комнат» служит для хранения списка информации о комнатах, функции управления списком.

Класс «Комната» хранит информацию о комнате (количество стен, список стен, источник освещения, портал в следующую комнату). Функции настройкой комнаты.

Класс «Источник освещения» служит для хранения настроек освещения (координаты расположения, направления, цвет света, отражения, рассеивания).

Класс «Портал» служит для связи комнаты с комнатой и хранить указатель на комнату и координаты расположения.

Класс «Изображения» служит для добавления изображения на стену и содержит функции управления изображением (масштабирование).

Класс «Стена» служит для хранения информации о стене в комнате (изображение, размеры).

Page 49: рр

Разработка графического пользовательского интерфейса.

Page 50: рр

Общая схема

Page 51: рр

ОписаниеНа данном слайде показана иерархия переходов между страницами сайта. Схема показывает что сайт состоит из 5 страниц: «Главная», «Добавление комнат», «Просмотрщик», «О сайте», «URL сообщения».

Page 52: рр

Главная странца

Page 53: рр

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

Page 54: рр

Страница добавления комнаты

Page 55: рр

Страница добавления комнаты (схема)Страница предоставления URLСтраница «О

сайте»

«Главная страница»

Page 56: рр

ОписаниеНа слайде представлена схема станицы добавления комнаты. На схеме представлена иерархия взаимодействия диалоговых окон. На странице расположены 3 выпадающих списка, список отображения миниатюр загруженных изображений. При загрузке изображений вызывается диалоговое окно выбора изображений для загрузки. При нажатии кнопки «Завершить сообщений» сервер создает VRML файл и показывает URL данного файла и предлагает скачать файл или просмотреть.

Page 57: рр

Страница «О сайте»

Page 58: рр

ОписаниеНа данном слайде отображена страница с общей информацией о сайте (разработчик, группа, специальность, факультет)

Page 59: рр

Страница после завершения создания сообщения

Page 60: рр

ОписаниеНа данном слайде представлена страница отображающая URL созданного сообщения. Также на странице расположены кнопки позволяющие скачать сообщение в виде сжатого VRML файла и просмотра сообщения.

Page 61: рр

Страница просмотра сообщения

Page 62: рр

ОписаниеДанная страница открывает если нажать кнопку просмотра или по переходу по созданному URL сообщения. На данной странице отображается 3х мерное сообщение (если в браузере установлен плагин отображения VRML сцен). Также на странице дополнительно отображается URL сообщения и кнопка для скачивания сжатого файла VRML.

Page 63: рр

Реализация интерфейс на языке высокого уровня.

Page 64: рр

Главная страница в браузере Chrome

Page 65: рр

Страница «О сайте»

Page 66: рр

Страница создания сообщения (Editor)

Page 67: рр

Страница отображения URL сообщения

Page 68: рр

Страница просмотра сообщения (Player)

Page 69: рр

ВыводыВ результате выполнения данной расчетной работы мною был спроектирован программный продукт Web-служба для игрового 3D мультимедиа сообщение - Game Message (GMS). На основе проектирования был создан программный продукт, который можно модернизировать для улучшения качества и возможности использовать. Так как на данный момент 3D графика неплохо развита и идея использования весьма интересна и мало кем пока использована, то данный продукт имеет все перспективы на дальнейшее его развитие и использование.

Page 70: рр

КОНЕЦСпасибо за внимание