Расчетная работа по дисциплине МАПО (Кондратюк Т.А.)

Post on 15-Jun-2015

371 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

анализ программного обеспечения»Тема: «Проектирование и разработка

программного продукта»

ПОС-10в/Кондратюк Т.А.

• Класс ПО: WEB-служба.• Ник: Цифровой калейдоскоп растрового

коллажа.• Тема: Программный робот автоматической

генерации плаката современного фигуративного искусства.

• Назначение: Ключевые слова облака тегов используются для автоматической генерации

• растрового 2D изображения фигуративного цифрового коллажа.

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

Описание

• Участниками процесса создания коллажа является пользователь и программный робот

• Исходные данные в виде фразы или набора слов задаются пользователем

• Выходные данные в видео готового коллажа формируются программным роботом

Описание

• Роль пользователя заключается в составлении фразы или набора слов для формирования коллажа

• Роль программного робота заключается в построении картины из заданных пользователем предметов

Описание

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

Описание

• Выходными данными является готовая картина имеющая такие характеристики как ширина и высота, а также имеющая составные части: спрайты

• Спрайт имеет свойства: размер и граница. Размер спрайта будет составлять 20% от исходного размера спрайта. Граница спрайта будет иметь определенную толщину и будет размыта с прозрачностью по убыванию коэффициента альфа-канала до нуля.

• Спрайты могут быть как простыми и геометрически сложными объектами

• Спрайты могут располагаться как случайным, так и неслучайным образом

Протокол в формате rtf• Цифровой калейдоскоп растрового коллажа

• Участники

– Пользователь

• действия

• составление фразы или набора слов

– программный робот

• действия

• Анализ составленных пользователем фразы или набора слов

• Автоматическая генерация плаката по фразе пользователя

• Исходные данные

– Названия каких-либо предметов,явлений

Протокол в формате rtf• Выходные данные

– готовый плакат• Характеристики• ширина• высота• состоит• спрайт• характер расположения

– случайный– неслучайный

• свойства– размер– граница

» характеристики» ширина» размытость

• виды– простые объекты– большие и геометрически сложные объектыы

Схема знаний

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

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

На данном слайде показана декомпозиция блока А0 «Построение коллажа». При декомпозиции данного блока были выделены такие подпроцессы: «Поиск картинок в интернете», «Формирование коллажа», «Отображение коллажа».

На данном слайде отображена декомпозициия блока A2 «Поиск картинок в Интернете». Данный блок содержит подпроцессы «Отправка запроса в поисковую систему» и «Сохранение запрашиваемых картинок в БД программы». Программный робот будет отправлять запрос в поисковую систему, и запрос должен содержать только 1 слово из набора слов пользователя. Входными данными для подпроцесса А12 будут являться картинки из Интернета.

На данном слайде отображена декомпозиции я блока A3 «Формирование коллажа». Данный блок содержит подпроцессы «Обнаружение контуров», «Вырезание объекта», «Масштабирование», «Расположение случайным образом или в виде «пирамиды»». Спрайты вырезаются с ограничением 20 Px с отступом по границе контура. Также есть ограничение на размытие по границе объекта – 20 рх.

DFD диаграммы

Данная DFD диаграмма показывает, какие входные и выходные потоки связаны с процессом «Построение коллажа». Входные данные - это набор слов, задаваемый сущностью «Пользователь», выходные данные – URL-ссылка на готовый плакат.

На данном слайде отображена декомпозиция процесса «Построение коллажа». Вследствие декомпозиции выделилось 2 подпроцесса: «Найти картинки в Интернете» и «Формирование коллажа». Сущностью на данной диаграмме выступает пользователь.

На данном слайде отображена декомпозиция процесса «Формирование коллажа». Вследствие данной декомпозиции выделились такие подпроцессы: «Обнаружить контур картинки», «Вырезать спрайт», «Размыть по границе спрайта» и тд. В конечном итоге пользователь получает URL-ссылку на построенный коллаж.

UML диаграммы

пользователь

программный робот

просмотреть коллаж

найти картинки в Интернете найти контуры изображения

сформировать коллаж

«включить»«включить»

сформировать URL-ссылку

«включить»

Вырезать спрайт по контуру

«включить»

Масштабировать на 20%

«включить»

Размыть по границам спрайта«включить» Разместить на полотне«включить»

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

«расширить»

Разместить в виде пирамиды

«расширить»

зритель

разработчик

ввести набор слов

• На данной диаграмме отображены 2 актора: зритель и программный робот. Зритель является обобщением Пользователя и Разработчика.

• Действие «Сформировать коллаж» включает в себя: «Найти картинки в Интернете», «Разместить на полотне», «Вырезать спрайт по контуру», «Найти контуры изображения» и тд.

• Действие «Разместить на полотне» имеет расширения: «Разместить случайным образом» и «Разместить в виде пирамиды».

ПользовательПрограммный робот

ввести набор слов

Кол-во слов равно 12?

найти картинки в Интернете

сохранение картинок в БД программы

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

формирование URL-ссылки на готовый коллаж

обнаружение контуров изображения

Размытие спрайтов по контуру

Масштабирование на 20%

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

Просмотр коллажа

ПользовательПрограммный робот

ввести набор слов

Кол-во слов равно 12?

найти картинки в Интернете

сохранение картинок в БД программы

обнаружение контуров изображения

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

формирование URL-ссылки на готовый коллаж

Размытие спрайтов по контуру

Масштабирование на 20%

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

Просмотр коллажа

На данной диаграмме отображена последовательность действий для создания коллажа из спрайтов. Действия разделены между двумя акторами – пользователем и программным роботом. Действия пользователя : ввести набор слов, просмотреть готовый коллаж. Действия программного робота: найти картинки в Интернете, сохранить картинки, вырезать спрайт по контуру и тд.

p : Пользователь t : словоprog : Программный робот k : Картинка s : спрайтp : полотно

"create"

"call"

найти картинку в Интернете

обнаружение контура

координаты контура

"create"

вырезание по контуру

вырезанная картинка

размыть по границе

масштабировать

готовый спрайт

разместит спрайты случ. образом или в виде пирамиды

готовый коллаж

p : Пользователь t : словоprog : Программный робот k : Картинка s : спрайтp : полотно

"create"

"call"

найти картинку в Интернете

обнаружение контура

координаты контура

вырезание по контуру

вырезанная картинка

"create"

размыть по границе

масштабировать

готовый спрайт

разместит спрайты случ. образом или в виде пирамиды

готовый коллаж

На данной диаграмме отоборажены взаимодействия объектов и акторов упорядоченные по времени. Акторами выступают «Пользователь» и «Программный робот». Объектами являются «Фраза», «Спрайт», «Коллаж».

Программный робот.php

«компонент»

Веб-сервер

«компонент»

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

«компонент»

Поисковая систем Google

«компонент»

ISearch

Url-ссылки на картинки

«компонент»

Веб-служба

«компонент»

IUser

База данных картинок.db

«компонент»

style.css

«компонент»

main.html

«компонент»

Запрос.js

«компонент»

URL-сcылка на готовый коллаж

«компонент»

• На данной диаграмме показаны все существующие компоненты системы.

• Пользователь взаимодуйствует с Веб-Службой через интерфейс IUser. Веб-служба посылает запрос на Веб-Сервер, который в свою очередь отсылает запрос в поисковую систему Google (с помощью Запрос.js).Поисковая система выдает URL ссылки на картинки, которые впоследствии использует веб-служба для построения коллажа

Картинка

Атрибуты

+ высота+ имя файла+ цепной код контура изображения+ ширина

Операции

+ вырезание по контуру()+ обнаружение контура()

Коллаж

Атрибуты

+ высота+ ширина

Операции

+ вывести на экран()

Спрайт

Атрибуты

+ высота+ коэффициент масштабирования+ коэффициент размытия+ ширина

Операции

+ масштабирование()+ размытие()

Спрайт*

Коллаж1

Спрайт

1

Картинка

1

Программный робот

Атрибуты

Операции

+ вывести на экран()+ поиск картинок в Интернете()+ расположение в виде пирамиды()+ расположение случ. образом()+ формирование URL-ссылки на готовый коллаж()Программный робот

1

Спрайт *

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

Проектирование Проектирование пользовательского интерфейсапользовательского интерфейса

Общая схема интерфейса

На данной схеме отображены следующие формы: «Ввод фразы», «Коллаж», «Вид размещения», «Оформленный коллаж», «Формирование ссылки», «Поиск». Стартовой формой является форма «Ввод фразы».

Формы «Ввод фразы», «Поиск», «Коллаж»

На форме «Ввод фразы», после подтверждения выбора картинок, осуществляется поиск картинок в Интернете. После того, как поиск завершился, форма «Коллаж» становится активной. При нажатии на кнопку «Отмена» открывается форма «Ввод фразы», кнопка «Продолжить» переносит пользователя на форму «Вид размещения»

Формы «Оформленный коллаж», «Вид размещения», «Формирование ссылки»

На форме «Вид размещения», пользователь выбирает вид размещения слайдов: в виде пирамиды, или случайным образом. При нажатии на кнопку «Создание коллажа» открывается форма «Оформленный коллаж». На форме «Оформленный коллаж» пользователь может просмотреть коллаж, и масштабировать его. При нажатии на кнопку «Получить ссылку», открывается форма «Формирование ссылки». При нажатии на кнопку «Ввод новой фразы» открывается начальная форма для ввода фразы. На форме «Формирование ссылки» пользователю предоставляется ссылка на коллаж, которую можно скопировать в буфер, нажав на кнопку «Скопировать ссылку».

Спасибо за внимание!

top related