Расчетная работаПо дисциплине «Моделирование и анализ ПО»
Выполнил студент ДонНТУ группы ПОС-10Б
Пожидаев Святослав
Тема: Проектирование и разработка программного продукта.
Цель: Ознакомиться с основами разработки программного продукта по моделям проектной документации.
Индивидуальное заданиеКласс ПО: Web-служба.Ник: Игровое 3D мультимедиа сообщение - Game Message (GMS).Тема: Игровое сообщение-альбом изображений на 3-, 4-, 5-, 6-стенных комнатах трехмерной VRML галереи со стилистическим освещением.Назначение: Представление альбома фотографий, слайдов или картинок трехмерной галереей открытым форматом файла VRML для обмена игровыми сообщениями в мобильной и глобальной сети. Функции: Растровые изображения альбома пользователя разбиваются случайно или по усмотрению пользователя на группы по три, четыре, пять и шесть файлов. Графические файлы масштабируются до размера не более 480 на 320 пикселей и представляются в текстовом формате VRML. Из текстовых файлов изображение создается интерактивная VRML сцена вложенных уровней LOD и переходы между ними. Поочередно на каждом уровне размещается комната, состоящая из рядом стоящих прямоугольных параллелепипедов, по числу файлов группы.
Индивидуальное заданиеПродолжение функций: Параллелепипеды расставлены в центростремительном порядке относительно центральной точки, т.е. образуют замкнутую фигуру стен в комнате. На параллелепипеды наложено по одной текстуре на каждый графический файл из группы. Интервьюер помещается в центр комнаты. Комната освещена одним из трех стилистических источников света: яркий солнечный свет, тёмный средневековый свет, призрачный ночной свет. Для перехода между комнатами на одну из стен, в случайном местоположении, размещается утопленная в стену сфера радиусом 12% от ширины полотна. На сферу наложена текстура центральной части шириной 20% от одного, случайно выбранного, графического файла следующей комнаты. Утопленная сфера не должна выходить за видимые границы стены. Клик мыши на сфере должен приводить к анимации её перелета в центр комнаты и одновременным плавным масштабированием до увеличенного окончательного размера радиуса сферы на 30%. Сферу перемещают для удаления посторонних изображение с оригинала стены.
Индивидуальное задание
Продолжение функций: Теперь, сфера в центре комнаты является ключом для перехода на следующий уровень LOD, т.е. в следующую комнату галереи. Сгенерированный программой текстовый файл VRML-сцены, с расширением wrl, архивируется методом gzip и переименовывают с расширения gz на расширение wrl. Полученный файл игрового мультимедиа сообщения GMS выкладывают на сайте афиш, плакатов или в облаке фотобанков, передают по электронной почте или распространяют в специализированной мобильной социальной сети, по типу WhatsApp Messenger.
Задание• 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].
«Построение концептуальной модели заданной функциональности при помощи САПР
«ConceptDraw».
Концептуальная модель
ОписаниеГлавными сущностями проекта «Game Message» являются:
«Альбом изображений пользователя», «3-х мерная галерея», «Средства отображения», «Технология реализации».
«Альбом изображений пользователя» это изображения которые хранятся на носителях информации пользователя. «3-х мерная галерея» отображение изображений пользователя в виде картинной галереи, а именно изображения на стенах. «Средство отображения» это с помощью чего можно и нужно отображать созданные галереи. «Технологии реализации» это технологи с помощью чего создавать галереи.
Альбом изображений пользователя
ОписаниеАльбом изображений пользователя - это
коллекция изображений пользователя, хранящиеся на носители информации.
Каждое изображение в коллекции характеризуется такими параметрами как формат и размеры. Форматом изображения может быть : gif, jpeg, jpg, tiff, png. Размеры изображения характеризуются шириной и высотой в пикселях.
3-х мерная галерея
Описание
Игровое сообщение будет представлять собой галерею изображений пользователя.
Галерея в совою очередь представлена в виде 3D сцены. Сцена состоит из комнаты, логического перехода между комнатами и источника света. Комната состоит из замкнутых 3-х, 4-х, 5-ти, 6-ти стен. Каждая стена имеет размеры 480px на 320px и текстуру (растрового изображения из альбома пользователя). Источник света имеет стилистическое освещение (средневековое, призрачное ночное, солнечное)
Технология реализации
ОписаниеТак как галерея является 3D сценой, то для
описания сцены нужны технологии реализации. К технологиями реализации можно отнести клиент (плагин VRML браузера, браузер с поддержкой HTML5) и библиотеки: WebGL и АсtiveX
Средства отображения
ОписаниеОтобразить сцену галереи можно 2-мя средствами,
а именно: специальный плагин браузеров (Chrome, FireFox, IE) для отображения 3D сцен (в частности Cortona3D) либо с помощью 3D редакторов, таких как Maya, 3ds max, blender.
Общая схема
Протокол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
Разработка структурно-функциональной модели. Схема информационных потоков.
Контекстная диаграмма IDEF0
Описание
Данная диаграмма показывает что входными данными разрабатываемой системы является «Коллекция изображений пользователя», а выходными данными «Сжатый VRML файл». На ряд процессов и данных накладывается ограничения, такие как: «Количество стен 3-6», «максимальное количество фото в альбоме 3-99», «максимальный размер VRML файла 100мб», «стилистическое освещение» (солнечное, ночное, средневековое), «ширина 480px», «высота 320px». И все процессы в системе осуществляются по управлением пользователя и веб приложения.
Декомпозиция контекстной диаграммы
Описание
Данная диаграмма показывает на какие процессы разделяется контекстная диаграмма, а именно: «Загрузить альбом», «Сформировать описание галереи», «Сформировать VRML файл». Также на данной диаграмме отображены все входные, выходные данные, ограничения и механизмы из контекстной диаграмма, а также добавлен еще 1 механизм с помощью которые выполняются все процессы это «JavaScript». Новы механизм отображен на диаграмме как туннель, что показывает отсутствие его не диаграмме выше по уровню.
Декомпозиция узла 1 диаграммы А0
Описание
Данная диаграмма показывает что процесс «Загрузить альбом» делится на 2 под процесса: «Выбрать изображения пользователя», «Загрузить изображения на сервер». Все входы и выходы, ограничения и механизмы унаследованы от узла который был декомпозирован.
Декомпозиция узла 2 диаграммы А0
Описание
Данная диаграмма показывает что процесс формирования описания галереи состоит из ряда процессов: «Задать количество стен», «Задать освещение», «Выбрать изображение на стены», «Создать описание комнаты», «Добавить описание комнаты в описание 3-х мерной галереи», «Проверить количество изображений для создания комнаты», «Сформировать описание 3-х мерной галереи».
Также на данной диаграмма были добавлены рад входных данных и ограничений. Добавленные входные данные: «Количество стен заданное пользователем», «Освещение выбранное пользователем». Добавленные ограничения: «Правила описания комнаты», «Правила добавления комнаты», «Правила описания 3х мерной галереи».
Декомпозиция узла 3 диаграммы А0
Описание
Данная диаграмма показывает что процесс формирования VRML файла состоит из 2х под процессов: «Создать VRML файл», «Сжать VRML файл». На процесс «Сжать VRML файл» было добавлено ограничения «Алгоритм Deflate».
Декомпозиция узла 1 диаграммы А3
Описание
Данная диаграмма показывает под процессы связанные с процессов создания VRML файла. К таким под процесса относятся процесс «Создать VRML код», на который было добавлено ограничение «Правила преобразования описаний в VRML», и «Создание файла с расширением VRL».
Контекстная DFD диаграмма
Описание
Данная диаграмма какие входные и выходные потоки данных связаны с «Система: Формированием сжатого VRML файла 3х мерное галереи», а именно: «Коллекция изображений» и «Параметры настройки 3х мерной галереи» идущие от внешней сущности «Пользователь», на выходе получаем «сжатый VRML файл».
Данная диаграмма является контекстной, это очзначает что на ней показаны потоки данных самого верхнего уровня.
Декомпозиция контекстной DFD
Описание
Данная диаграмма является декомпозиция контекстной DFD диаграммы, и показывает разбиение системы на отдельные процессы (Загрузка изображений на сервер, создания 3-х мерной галереи, Сжатие VRML файла) и потоки данных между ними. В результате выполнения процесса «Загрузка изображений на сервер» образуется хранилище данных «Коллекция изображений на сервере».
Декомпозиция узла 2 диаграммы А0
Описание
На данной диаграмме показано на какие процессы разбит процесс «создания 3-х мерной галереи и потоки данных между ними.
К таким процессам относится: определение параметра, выбор изображений из загруженных, выбор источника света, создание описания комнаты, формирования описания 3-х мерной галереи, Создание VRML файла.
К потокам данных относиться: задание пользователем изображений, задание света, количество стен (3-6), хранилище выбранных изображений, выбранный источник света, VRML код комнаты, VRML код галереи.
Объектное моделирование программного обеспечения с помощью спецификации UML.
Построение UML-диаграмм.
Диаграмма деятельности
С точки зрения сервера
ОписаниеНа данной диаграмме показана последовательность
действий для достижения цели «Создания сжатого файла 3-х мерной галереи». Элементарные действия представлены: Загрузить изображения на сервер, Задание количества стен, Указание изображения для комнаты, Выбор источника освещения, Добавление комнаты в 3-х мерную галерею, Определение количество нераспределенных изображений, Создание сжатого файла 3-х мерной галереи.
Диаграмма 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»
Показать загруженныеизображения
Сервер
ОписаниеНа данной диаграмме отображён сценарий взаимодействия
субъектов с элементами системами.Субъект «Отправитель сообщения» может выполнять такие
сценарии как «Загрузка изображений», «Создание игрового сообщения». Субъект «Получатель сообщения» взаимодействует только с «Открытие URL галереи». Субъект «Сервер» выполняет только сценарий создания URL сообщения.
Диаграмма компонентов
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 сообщений
ОписаниеНа данной диаграмме показано разбиение программной
системы на структурные компоненты и связи (зависимости) между компонентами.
Из диаграммы видно, что Web-сервер и Web-клиент находятся удалены друг от дуга и связаны линий связи Internet. На сервере находятся модули сайта. Сервер по правилам описанные в модулях, генерирует HTML страницы и передает их Web-клиенту. Все модули сайта зависят от файла СSS в котором находятся стили для для разметки HTML. С Web клиентом взаимодействуют «Отправитель» и «Получатель». Отправитель взаимодействует с «Editor.html» для создания сообщения. Получатель взаимодействует с «Player.html» через полученное URL от отправитель
Диаграмма последовательности
Описание
На данной диаграмме показаны взаимодействия объектов, упорядоченные по времени их проявления. Также данная является частным случаем диаграммы взаимодействия.
Диаграмма классов
ОписаниеНа данной диаграмме показаны классы которые будут находится в системе и
связи между ними. Диаграмма включает 8 классов: Сцена, Список комнат, Комната, Стена, Портал, Источник освещения, Изображение, VRML файл.
Класс «Сцена» содержит менеджер списка комнат, функции получения URL сообщения, создания кода сцены.
Класс «Список комнат» служит для хранения списка информации о комнатах, функции управления списком.
Класс «Комната» хранит информацию о комнате (количество стен, список стен, источник освещения, портал в следующую комнату). Функции настройкой комнаты.
Класс «Источник освещения» служит для хранения настроек освещения (координаты расположения, направления, цвет света, отражения, рассеивания).
Класс «Портал» служит для связи комнаты с комнатой и хранить указатель на комнату и координаты расположения.
Класс «Изображения» служит для добавления изображения на стену и содержит функции управления изображением (масштабирование).
Класс «Стена» служит для хранения информации о стене в комнате (изображение, размеры).
Разработка графического пользовательского интерфейса.
Общая схема
ОписаниеНа данном слайде показана иерархия переходов между страницами сайта. Схема показывает что сайт состоит из 5 страниц: «Главная», «Добавление комнат», «Просмотрщик», «О сайте», «URL сообщения».
Главная странца
ОписаниеНа данном слайде показано, что на главной странице имеется логотип, ссылка на главную и страницу информации о сайте. Также на странице расположено текстовое поле, для ввода название сообщения и кнопка для начала создания сообщения.
Страница добавления комнаты
Страница добавления комнаты (схема)Страница предоставления URLСтраница «О
сайте»
«Главная страница»
ОписаниеНа слайде представлена схема станицы добавления комнаты. На схеме представлена иерархия взаимодействия диалоговых окон. На странице расположены 3 выпадающих списка, список отображения миниатюр загруженных изображений. При загрузке изображений вызывается диалоговое окно выбора изображений для загрузки. При нажатии кнопки «Завершить сообщений» сервер создает VRML файл и показывает URL данного файла и предлагает скачать файл или просмотреть.
Страница «О сайте»
ОписаниеНа данном слайде отображена страница с общей информацией о сайте (разработчик, группа, специальность, факультет)
Страница после завершения создания сообщения
ОписаниеНа данном слайде представлена страница отображающая URL созданного сообщения. Также на странице расположены кнопки позволяющие скачать сообщение в виде сжатого VRML файла и просмотра сообщения.
Страница просмотра сообщения
ОписаниеДанная страница открывает если нажать кнопку просмотра или по переходу по созданному URL сообщения. На данной странице отображается 3х мерное сообщение (если в браузере установлен плагин отображения VRML сцен). Также на странице дополнительно отображается URL сообщения и кнопка для скачивания сжатого файла VRML.
Реализация интерфейс на языке высокого уровня.
Главная страница в браузере Chrome
Страница «О сайте»
Страница создания сообщения (Editor)
Страница отображения URL сообщения
Страница просмотра сообщения (Player)
ВыводыВ результате выполнения данной расчетной работы мною был спроектирован программный продукт Web-служба для игрового 3D мультимедиа сообщение - Game Message (GMS). На основе проектирования был создан программный продукт, который можно модернизировать для улучшения качества и возможности использовать. Так как на данный момент 3D графика неплохо развита и идея использования весьма интересна и мало кем пока использована, то данный продукт имеет все перспективы на дальнейшее его развитие и использование.
КОНЕЦСпасибо за внимание
Top Related