91
РАСЧЕТНАЯ РАБОТА ПО ДИСЦИПЛИНЕ «МОДЕЛИРОВАНИЕ И АНАЛИЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ» НА ТЕМУ: ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА Выполнила студентка группы ПОС-10б Лысакова Н.В. Руководитель ст. преп. Гудаев О.А. Донецкий Национальный Технический Университет

расчетная работа

  • View
    893

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: расчетная работа

РАСЧЕТНАЯ РАБОТА

ПО ДИСЦИПЛИНЕ «МОДЕЛИРОВАНИЕ И АНАЛИЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

НА ТЕМУ: ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА

Выполнила студентка группы ПОС-10б Лысакова Н.В.Руководитель ст. преп. Гудаев О.А.

Донецкий Национальный Технический Университет

Page 2: расчетная работа

2

PIXELCRAFT Класс ПО: Системный WebGL-класс векторной SVG-графики. Ник: Web-интерфейс сайта в стиле 2D Minecraft. Тема: Отображение пунктов графического интерфейса 2D полем плиток

в игровой «песочнице». Назначение: Применение двухмерного игрового поля «песочница

строительных блоков Pixelcraft» плиток как элемента управления графическим интерфейсом сайта или программы для сенсорного экрана.

Page 3: расчетная работа

3

ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

Поле размечено невидимой или полупрозрачной к фону сеткой прямоугольных ячеек. Ячейка - это пустое место поля, занятая ячейка поля - это плитка. Плитка имеет типовое оформление: цвет фона; рамка {цвет, толщина линии, ширина отступа от края не меньше двух}, текстовое содержание {тема, категория, автор, дата и время}, картинка, положение текста относительно картинки {слева, справа, внизу, вверху, сначала и слева, но в тексте}. Плитки добавляются динамически программным способом разработчиком сайта в свободную ячейку с начала игрового мира или мир формируется заданной конфигурации. Пользователю сайта доступны главные действия с плиткой: переход по ссылке; забрать плитку в «карман»; поставить плитку из «кармана» или «сундука». Пользователь собирает плитки из ячеек в карман, при этом освобождаемая ячейка на поле отображается цветом подложки. Карман - это временный список плиток для перемещения по игровому полю. Если пользователь не решил, куда поставить плитку на игровом поле, то он может переместить её в сундук. Сундук - это долговременный список ненужных на поле плиток. Плитки в кармане организованы очередью FIFO. Плитки в сундуке отсортированы подбиванию даты и времени. Существует специальная плитка «стикер», которая не имеет рамки и картинки и может занимать несколько ячеек, а самое главное, текст стикера программируется пользователем или разработчиком. Только в пустую ячейку поля пользователь может разместить плитку из кармана. Для размещаемой из кармана плитки выполняется автоматическое определение цвета фона. В восьмисвязной окрестности Мура для ячейки, куда помещается плитка, определяется максимальное количество плиток одинакового цвета фона, но приоритет цвета перекрашивания выше для соседних плиток в четырёхсвязной окрестности фон Неймана. Поле имеет цветной фон или градацию двух цветов или картинку подложки, которую изменяет пользователь. Различают тематические картинки подложки: «голубой океан», лунная поверхность», «крупная листва», «континенты планеты». Поле масштабируется ползунком до минимума: одна ячейка два горизонтальных пикселя цвета фона плитки или цвет поля. Уменьшив поле до минимума, получим цифровую карту, где группа плиток будут выглядеть как остров. Группа рядом стоящих плиток имеет одинаковый цвет фона, поэтому образует «остров». На фоне подложки «лунная поверхность» можно разместить на фоне кратера остров плиток и подписать стикером: кратер «Музыка» или кратер «Спортивные новости». Для зарегистрированных пользователей конфигурация размещения на поле плиток сохраняется в базе данных. Для решение навигации по сайту в стиле «Pixelcraft» необходимо три действия: переход, забрать, оставить. А у мышки две кнопки. Первыйвариант: LClick мышки - переход по гиперссылке, RClick мышки+удерживание -забираем плитку в карман; «трусим курсор» над свободной ячейкой, делаем не размашистый зигзаг курсором мышки над пустой ячейкой, в которую автоматически "сбрасывается» первая плитка из обоймы кармана и стек кармана сдвигается. Таким образом, можно быстро «струсить» все плитки из кармана. Второй вариант: LClick иRClick аналогичные действия первому варианту, а вот если LClick мышки+удерживаниенад свободной ячейкой, прикоснутся и держать, то плитка из кармана перетекает, как капелька воды, т.е. построчно проявляется в ячейке с прозрачность трех ведущих строк{коэффициент альфа-канала 25%, 50%, 80% для самой крайней строки}, задержка 20 мс.

Page 4: расчетная работа

4

DEMOHTTP://PIXELCRAFT.SOMEE.COM/

Page 5: расчетная работа

5 ТЕСТИРОВАНИЕ ИНТЕРФЕЙСА

Page 6: расчетная работа

6

ГЛАВНАЯ СТРАНИЦАСодержит три ссылки: на страницу регистрации для новых пользователей, на страницу авторизации для уже зарегистрированных, и на страницу информации о разработчике.Внизу автоматически размещена ссылка на сайт хостера.

Page 7: расчетная работа

7

СТРАНИЦА РЕГИСТРАЦИИ И АВТОРИЗАЦИИНа слайде изображены страницы с формой авторизации, а также регистрации и подтверждением об успешной регистрации.

Page 8: расчетная работа

8

ИГРОВОЕ ПОЛЕНа слайде изображено игровое поле, представляющее из себя сетку, наполненную плитками. Каждая плитка ведет на какой либо контент: музыка, фильмы, новости. В зависимости от категории контента рамка плитки имеет определённый цвет. Карман и Сундук вызываются кнопками, расположенными в нижней части поля.Нажатие кнопки «Выход» влечет за собой выход из системы и перенаправление пользователя на страницу авторизации.

Page 9: расчетная работа

9

РЕЗУЛЬТАТЫ КЛИКОВ ПО ПЛИТКАМ

Page 10: расчетная работа

10

СТРАНИЦА «ОБ АВТОРЕ»На данном слайде изображена страница «Об авторе», которая содержит информацию о разработчике и системе

Page 11: расчетная работа

11 КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ

Page 12: расчетная работа

12

КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ

Page 13: расчетная работа

13

ОПИСАНИЕ Системный элемент навигации Pixelcraft представляет собой

масштабируемое рабочее пространство с настраиваемым отображением информации.

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

является мышь.

Page 14: расчетная работа

14

СОДЕРЖИТ

Page 15: расчетная работа

15

ОПИСАНИЕ Система состоит из трех основных компонентов: Поле, Сундук и карман. Минимальная единица на поле – плитка. Сундук – долговременное хранилище ненужных плиток. Карман – хранилище для новых плиток.

Page 16: расчетная работа

16

ПОЛЕ

Page 17: расчетная работа

17

ОПИСАНИЕ Поле размечено невидимой или полупрозрачной к фону сеткой прямоугольных

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

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

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

Группа рядом стоящих плиток имеет одинаковый цвет фона, поэтому образует «остров».

Page 18: расчетная работа

18

ПЛИТКИ

Page 19: расчетная работа

19

ОПИСАНИЕ Плитка имеет типовое оформление: цвет фона; рамка, текстовое содержание, картинка,

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

свободную ячейку с начала игрового мира или мир формируется заданной конфигурации. Пользователю сайта доступны главные действия с плиткой: переход по ссылке; забрать

плитку в «карман»; поставить плитку из «кармана» или «сундука». Стикер – отдельный вид плитки, который служит для группирования плиток на поле. стикер, не имеет рамки и картинки и может занимать несколько ячеек, а его текст

программируется пользователем или разработчиком. Каждая плитка может ссылаться либо на адрес url либо на любой файл/приложение на

устройстве.

Page 20: расчетная работа

20

ПРОЦЕСС

Page 21: расчетная работа

21

ОПИСАНИЕ В системе можно выделить несколько процессов: Анимация,

масштабирование, преобразование и действия с плитками. Масштабирование используется для получения цифровой карты поля. Преобразование – процесс присоединения/отсоединения плитки от

«острова». рамка Плитки становиться такого же цвета как и остров к которому она присоединилась.

С плитками можно совершить следующие действия: перейти по ссылке/открыть файл, поместить плитку на поле, забрать плитку с поля.

Page 22: расчетная работа

22ПРОТОКОЛ В ФОРМАТЕ RTF

Системный компонент навигации PixelCraft

1 Участвуют 1.1 Разработчик 1.2 Пользователь 2 Содержит 2.1 Карман 2.2 Сундук 2.3 Поле

2.3.1 Ячейки 2.3.1.1 Ширина 2.3.1.2 Высота 2.3.2 Плитки 2.3.2.1 Цвет фона 2.3.2.2 Текстовое содержание

2.3.2.2.1 Тема 2.3.2.2.2 Категория 2.3.2.2.3 Автор 2.3.2.2.4 Время

2.3.2.3 Ссылка 2.3.2.3.1 URL 2.3.2.3.2 Путь к файлу

2.3.2.3.2.1 Фильм 2.3.2.3.2.2 Документ

2.3.2.3.2.3 Музыка

Page 23: расчетная работа

23ПРОТОКОЛ В ФОРМАТЕ RTF

2.3.2.4 Рамка 2.3.2.4.1 Цвет 2.3.2.4.2 Отступ 2.3.2.4.2.1 Сверху 2.3.2.4.2.2 Снизу 2.3.2.4.2.3 Слева 2.3.2.4.2.4 Справа 2.3.2.4.3 Толщина 2.3.2.5 Картинка 2.3.2.5.1 Обтекание текстом

2.3.2.5.1.1 Слева 2.3.2.5.1.2 Справа 2.3.2.5.1.3 Сверху 2.3.2.5.1.4 Снизу 2.3.3 Сетка 2.3.3.1 Цвет 2.3.3.2 Прозрачность

2.3.3.3 Подложка 2.3.3.4 Размер 2.3.3.4.1 Столбцов

2.3.3.4.2 Строк 2.3.4 Стикер 2.3.4.1 Текст 2.3.4.2 Ширина 2.3.4.3 Высота 2.3.4.4 Цвет

Page 24: расчетная работа

24ПРОТОКОЛ В ФОРМАТЕ RTF

2.3.5 Цифровая карта

3 Процесс 3.1 Действия 3.1.1 Перейти 3.1.1.1 LClick 3.1.2 Поместить 3.1.2.1 (1 вариант) Z-обазное движение мышью

3.1.2.2 (1 вариант)

3.1.3 Забрать 3.1.3.1 RClick + удерживание

3.2 Преобразование

3.2.1 Присоеенение 3.2.2 Отсоеденение 3.3 Масштабирование

3.3.1 Увеличение 3.3.2 Уменьшение

3.4 Время анимации

3.4.1 Милисекунды 3.4.2 2 вариант 4 Инструмент 4.1 Мышь

Page 25: расчетная работа

25СХЕМА ЗНАНИЙ

Page 26: расчетная работа

26 IDF0 И DFD ДИАГРАММЫ

Page 27: расчетная работа

27

Page 28: расчетная работа

28

WEB-ИНТЕРФЕЙС САЙТАНа слайде отображен процесс – создание web-интерфейса сайта со стороны разработчика. Входными данными для данного процесса является пустое поле и идентификатор пользователя. Выходными данными является сам пользовательский интерфейс по умолчанию. Исполнительный механизм – разработчик и браузер. Ограничения: поле в 50 строк и 50 столбцов и реализация при помощи HTML5

Page 29: расчетная работа

29

Page 30: расчетная работа

30

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

Page 31: расчетная работа

31

Page 32: расчетная работа

32

На слайде изображена декомпозиция процесса добавления плиток на поле. В качестве входных данных появляется источник контента. Контент должен быть в формате XML. По умолчанию на поле располагается 100 плиток, 20 из них помещаются непосредственно на поле, 80 в карман, чтоб пользователь в дальнейшем мог расположить их по собственному желанию.

Page 33: расчетная работа

33

Page 34: расчетная работа

34

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

Page 35: расчетная работа

35

Page 36: расчетная работа

36

WEB-ИНТЕРФЕЙС САЙТАНа слайде отображен процесс – создание web-интерфейса сайта со стороны пользователя. Входными данными для данного процесса является поле по умолчанию и идентификатор пользователя. Выходными данными является кастомизированный пользовательский интерфейс или осуществление навигации о ссылке. Исполнительный механизм – пользователь и мышь. Ограничения: поле в 50 строк и 50 столбцов

Page 37: расчетная работа

37

Page 38: расчетная работа

38

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

Page 39: расчетная работа

39

Page 40: расчетная работа

40

На слайде изображена декомпозиция процесса настройки пользовательского интерфейса. Этот процесс можно разбить на два подпроцесса, а именно: помещение плиток на поле и удаление плиток с поля. Плитки с поля убираются в сундук.

Page 41: расчетная работа

41

Page 42: расчетная работа

42

НАСТРОЙКА ПОЛЯ ПО УМОЛЧАНИЮНа слайде изображена контекстная DFD диаграмма настройки пользовательского интерфейса по умолчанию. В систему из источника контента передается контент в формате XML. В результате работы системы пользователю передаться поле по умолчанию. Настройка поля осуществляется разработчиком.

Page 43: расчетная работа

43

Page 44: расчетная работа

44

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

Page 45: расчетная работа

45

Page 46: расчетная работа

46

НАВИГАЦИЯ ПРИ ПОМОЩИ WEB-ИНТЕРФЕЙСАНа слайде изображена контекстная DFD диаграмма навигации при помощи web-интерфейса. В систему от разработчика поступает поле по умолчанию, а пользователь выбирает плитки, с которыми будет взаимодействовать. В результате работы системы пользователю предоставляется запрашиваемый контент.

Page 47: расчетная работа

47

Page 48: расчетная работа

48

На слайде изображена декомпозиция навигации при помощи web-интерфейса. Если в кармане имеются плитки, которые можно добавить на поле, то пользователь выбирает плитку и с помощью мыши помещает её на поле. Для навигации следует выбрать плитку и кликнуть на неё мышью.

Page 49: расчетная работа

49 UML ДИАГРАММЫ

Page 50: расчетная работа

50

Page 51: расчетная работа

51

ДИАГРАММА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ На диаграмме изображена структура одного из вариантов

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

Для наполнения поля необходимо распарсить контент, сформировать плитки и добавить их на поле.

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

Пользователь взаимодействует вариантом использования «Работа с системой»

«Работа с системой» включает в себя такие варианты как: «Переход по ссылке», «Перемещение плиток из кармана», «перемещение плиток в сундук», «Обновление поля»

Page 52: расчетная работа

52

123

Page 53: расчетная работа

53

1

Page 54: расчетная работа

54

2

Page 55: расчетная работа

55

3

Page 56: расчетная работа

56

ДИАГРАММА КОМПОНЕНТОВ Данная диаграмма показывает из каких реальны компонентов

состоит проектируемая система. При анализе системы нам потребуются такие компоненты: Web-

клиент (browser), Web-сервер (с модулями сайта PixelCraft), Модули сайта (Defaut.aspx, Default.css, Default.cs, MasterPage.master (Auth.aspx, Auth.cs, Auth.css, Setting.aspx, Setting.css, Setting.cs), User.db, ContentPlaceHolder (Field.cs, Tile.cs, Chest.cs), Filed.db)

Компонент Filed.cs связан с базой данны Field.db по интерфейсу Ifeld, компоненты Auth.aspx, Setting.aspx связаны с базой данных User.db по интерфейсам IAdd и IDelete, с которой свзан и компонет Fied.cs по интерфеусу IUser.

Компоненты Web-клиент и Web-сервер соедены интерфейсов HTTP.

Page 57: расчетная работа

57

1

2

Page 58: расчетная работа

58

1

Page 59: расчетная работа

592

Page 60: расчетная работа

60

ДИАГРАММА ДЕЯТЕЛЬНОСТИ На данной диаграмме показана последовательность действия которая происходит при взаимодействии с интерфейсом сайта «PixelCraft».

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

Проверка кармана происходит до тех пор, пока в кармане есть непроверенные плитки.

Page 61: расчетная работа

61

1

2

Page 62: расчетная работа

62

1

Page 63: расчетная работа

632

Page 64: расчетная работа

64

ДИАГРАММА КЛАССОВ Главный класс системы : Field, он содержит в себе объекты всех остальных классов.

Классы Pocket и Chest наследуются от абстрактного класса Storadge.

Классе Storadge хранит в себе колекцию объектов Tile. От класса Tile наследуются два класса Sticker и ContentTile. Класс ContentTile содержит в себе структуры Border, TilteText, TileImage

Page 65: расчетная работа

65

1

2

Page 66: расчетная работа

66

1

Page 67: расчетная работа

67

2

Page 68: расчетная работа

68

ДИАГРАММА ПОСЛЕДОВАТЕЛЬНОСТИ Данная диаграмма является частным случаем диаграммы взаимодействия, но в отличии от неё, отображается временную последовательность выполнения действий.

Page 69: расчетная работа

69ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

Page 70: расчетная работа

СТАРТОВАЯ СТРАНИЦА САЙТА

Page 71: расчетная работа

СТАРТОВАЯ СТРАНИЦА САЙТА

Page 72: расчетная работа

ОПИСАНИЕ СТАРТОВОЙ СТРАНИЦЫ САЙТА На главной странице изображено две кнопки «Авторизация» и

«Регистрация» Если у пользователя уже есть логин и пароль, то он нажимает кнопку

«Авторизация» и переходит на форму вода логина и пароля. Если пользователь еще ни разу не пользовался сайтом, то он

нажимает на кнопку «Регистрация» и переходит на страницу регистрации.

Page 73: расчетная работа

СТРАНИЦА РЕГИСТРАЦИИ

Page 74: расчетная работа

СТРАНИЦА ПОДТВЕРЖДЕНИЯ РЕГИСТРАЦИИ

Page 75: расчетная работа

СТРАНИЦА РЕГИСТРАЦИИ

Page 76: расчетная работа

ОПИСАНИЕ СТРАНИЦЫ РЕГИСТРАЦИИ На странице регистрации пользователю предложено придумать себе

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

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

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

Page 77: расчетная работа

СТРАНИЦА АВТОРИЗАЦИИ

Page 78: расчетная работа

СТРАНИЦА АВТОРИЗАЦИИ

Page 79: расчетная работа

ОПИСАНИЕ СТРАНИЦЫ АВТОРИЗАЦИИ На странице авторизации пользователь вводит свой логин и пароль

для входа в систему. Если авторизация прошла успешно, то пользователь

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

Page 80: расчетная работа

ИГРОВОЕ ПОЛЕ

Page 81: расчетная работа

ИГРОВОЕ ПОЛЕ C ОТОБРАЖЕНИЕМ СЕТКИ

Page 82: расчетная работа

ИГРОВОЕ ПОЛЕ

Page 83: расчетная работа

ИГРОВОЕ ПОЛЕ: КАРМАН

Page 84: расчетная работа

ИГРОВОЕ ПОЛЕ: СУНДУК

Page 85: расчетная работа

ИГРОВОЕ ПОЛЕ: ВИДЫ ПЛИТОК

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

Широкая плитка. Используетсяна поле тля отображения краткой информации о плитке

Простая плитка. Используется на полеОтображает только картинку.

Page 86: расчетная работа

ИГРОВОЕ ПОЛЕ: НАВИГАЦИЯ

Page 87: расчетная работа

ОПИСАНИЕ ИГРОВОГО ПОЛЯ Игровое поле состоит из нескольких частей: поле, карман и сундук. При нажатии кнопки «Карман» поверх рабочего поля появляется слой,

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

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

По нажатию кнопки «Выход» происходит выход из системы и для повторного её использования необходимо авторизоваться заново.

Плитки на поле группируются в зависимости от категории и имеют общий цвет рамки.

При клике на плитку открывается связанная с ней ссылка, либо файл.

Page 88: расчетная работа

88

ССЫЛКИ Презентация SlideShare - http://www.slideshare.net/NatashaLysakova/ss-28570264

GUI Designer Project - https://www.dropbox.com/sh/idv26v3qf7rrz5e/I0TjMdX51w

ASP.NET прототип – http://pixelcraft.somee.com ASP.NET проект - https://www.dropbox.com/sh/qsa28hrnmkcv3hx/KoSc-4gP7G

Page 89: расчетная работа

89 ВЫВОДЫ

Page 90: расчетная работа

90

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

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

В качестве дополнительных опций можно реализовать интеграцию с социальными сетями, кнопки “Share”, “Like” а также возможность регистрации про помощи профилей из социальных сетей (Facebook, Google+, Twitter, LinkedIn, Вконтакте).

Page 91: расчетная работа

91 СПАСИБО ЗА ВНИМАНИЕ