Автоматизированная система построения лабиринта и поиска выхода из него - Программирование, компьютеры и кибернетика курсовая работа

Автоматизированная система построения лабиринта и поиска выхода из него - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Автоматизированная система построения лабиринта и поиска выхода из него

Описание алгоритмов поиска пути. Диаграмма объектов предметной области. Разработка структурной схемы. Проектирование интерфейса пользователя. Выбор и обоснование комплекса программных средств. Разработка пользовательского меню. Диаграмма компонентов.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ АКАДЕМИКА С. П. КОРОЛЁВА
(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)» Факультет Информатики
по теме «Автоматизированная система построения лабиринта и поиска выхода из него»
1.2 Описание алгоритмов поиска пути
1.3 Обзор существующих систем-аналогов
1.4 Диаграмма объектов предметной области
2.3 Проектирование интерфейса пользователя
2.4 Информационно-логический проект системы
2.4.2 Диаграмма вариантов использования
2.5 Выбор и обоснование комплекса программных средств
2.5.1 Выбор языка программирования и среды разработки
3.1 Разработка и описание интерфейса пользователя
3.1.1 Разработка и описание пользовательского меню
3.1.2 Описание контрольного примера
3.3 Выбор и обоснование комплекса технических средств
3.3.1 Минимальные требования, предъявляемые к системе
Слово "лабиринт" греческого происхождения, и переводится как подземные ходы или подземелье. В природе существует много подземных пещер с огромным количеством ходов, перекрестков и тупиков. Есть примеры и других природных лабиринтов, например, шхеры - множество мелких островков, составляющих единую группу. В шхерах десятки фарватеров, проливов, заливов, бухт, в которых нетрудно заблудиться [1].
Но существуют лабиринты и искусственного происхождения, созданные человеком вольно или невольно. Примером невольного создания лабиринтов являются различные шахты, рудники, каменоломни, называемые общим словом "Катакомбы". Чаще всего под словом "лабиринт" подразумевают искусственное, специально созданное, чрезвычайно сложное сооружение. Происхождение таких "лабиринтов" довольно древнее. Например, Геродот описывает египетский лабиринт, в котором было 5000 комнат. Сначала лабиринты носили религиозно-мистический характер, но в более поздние времена стали предметом развлечений, перейдя в сады и парки в виде живой изгороди сложной конфигурации. В наше время, по утверждению Мартина Гарднера, существует две области науки, в которых интерес к лабиринтам остается неизменно высоким: психология и конструирование вычислительных машин.
Однако существует еще одна область человеческой деятельности, в которой лабиринты являются необходимым атрибутом - это компьютерные игры. Действительно, почти все игры приключенческих жанров и аркады используют лабиринты. Встречаются они и в других жанрах: логические игры, экшен, изредка в симуляторах. В связи с этим у пользователя компьютера появляются две задачи: прохождение лабиринтов в игровых программах и создание лабиринтов для "своих" программ.
В курсовом проекте необходимо разработать автоматизированную систему построения односвязного лабиринта, в котором основная цель - дойти до конечной локации, при этом, кроме стен у игрока нет никаких других препятствий.
При реализации проекта будет использоваться методология быстрой разработки приложений RAD (Rapid Application Development - быстрая разработка приложений) [2]. Данная модель очень хорошо подходит к разработке учебных программ, т.к. включает в себя три составляющие:
? небольшую команду программистов (от 2 до 4 человек);
? короткий, но тщательно проработанный производственный график (от 2 до 4 мес.);
? повторяющийся цикл, при котором разработчики по мере того, как приложение начинает обретать форму, запрашивают и реализуют в продукте требования, полученные через взаимодействие с заказчиком.
При проектировании будет использоваться UML (Unified Modeling Language - унифицированный язык моделирования) - стандартный инструмент для разработки «чертежей» программного обеспечения. Его можно использовать для визуализации, спецификации, конструирования и документирования артефактов программных систем. UML подходит для моделирования любых систем - от информационных систем масштаба предприятия до распределенных Web-приложений и даже встроенных систем реального времени. Язык UML предоставляет стандартный способ написания проектной документации на системы, включая концептуальные аспекты, такие как бизнес-процессы и функции системы, а также конкретные аспекты, такие как выражения языков программирования, схемы баз данных и повторно используемые компоненты ПО.
Лабиримнт (др.-греч. лбвэсйнипт) - какая-либо структура (обычно в двухмерном или трёхмерном пространстве), состоящая из запутанных путей к выходу (и/или путей, ведущих в тупик). Под лабиринтом у древних греков и римлян подразумевалось более или менее обширное пространство, состоящее из многочисленных залов, камер, дворов и переходов, расположенных по сложному и запутанному плану, с целью запутать и не дать выхода несведущему в плане лабиринта человеку [3].
По своему происхождению все лабиринты можно разделить на две категории: естественные и искусственные.
Естественный лабиринт - лабиринт, к созданию которого человек не имеет никакого отношения, все они были созданы природой. К таким лабиринтам можно отнести:
Природные пещеры. В природе существует много подземных пещер с огромным количеством ходов, перекрестков и тупиков. Пример изображен на рисунке 1.
Рисунок 1 - Пример природной пещеры
Шхеры - архипелаг, состоящий из мелких скалистых островов, разделённых узкими проливами и покрывающих значительную часть прибрежной морской полосы, окаймляя берега фьордового типа. Каждый из таких островков в отдельности называется «шхера». Пример шхер изображен на рисунке 2.
Муравейники. На рисунке 3 хорошо видно, что ходы в муравейнике образуют своеобразный лабиринт.
Рисунок 3 - Пример муравейника в разрезе
Существуют лабиринты и искусственного происхождения, созданные человеком вольно или невольно. Чаще всего под словом "Лабиринт" подразумевают искусственное, специально созданное, чрезвычайно сложное сооружение. К таким лабиринтам относятся:
Различные шахты, рудники, каменоломни, называемые общим словом «Катакомбы». Пример изображен на рисунке 4.
Дерновые лабиринты. Пример таких лабиринтов изображен на рисунке 5. В XIII-XIX веках лабиринтами называли особого рода садовые украшения, состоящие из более или менее высоких живых изгородей или из трельяжей, обсаженные растениями, которые расположены так, что между ними образуются дорожки, ведущие к одному центру, но изгибающиеся в разные стороны и сообщающиеся между собой столь замысловато, что гуляющему не легко добраться до этого центра, также как и найти обратный путь.
Игровые лабиринты. К этим лабиринтам можно отнести игровые аттракционы (например, зеркальный лабиринт, изображенный на рисунке 6). Также лабиринт часто является частью компьютерных игр, выполненных в 2D и 3D графике. Примеры таких игр изображены на рисунках 7 и 8.
Рисунок 5 - Пример дернового лабиринта
Рисунок 6 - Пример зеркального лабиринта
Рисунок 7 - Пример лабиринта в 2D - игре
Рисунок 8 - Пример лабиринта в 3D - игре
1.2 Описание алгоритмов поиска пути
В данном курсовом проекте необходимо реализовать два алгоритма поиска пути: алгоритм «одной руки» и волновой алгоритм.
Одним из самых простых правил для прохождения лабиринта является правило "одной руки": двигаясь по лабиринту, надо все время касаться правой или левой рукой его стены [4]. Этот алгоритм, вероятно, был известен еще древним грекам. Придется пройти долгий путь, заходя во все тупики, но в итоге цель будет достигнута.
Попробуем описать робота, действующего в соответствии с правилом "правой руки".
1) В начале своей работы робот должен найти стену, по которой он будет следовать. Для этого он может просто двигаться вперед, пока не упрется в преграду.
2) После того как робот наткнулся на препятствие, он начинает передвигаться в соответствии с правилом "правой руки".
3) Двигаясь вдоль стены, робот следит, есть ли проход справа. Если проход есть, робот должен идти по нему, чтобы не оторваться от стены справа.
4) Если прохода нет - впереди стена - робот поворачивает налево. Если прохода снова нет, он еще раз поворачивает налево, таким образом разворачиваясь на 180 градусов, и идет в обратном направлении.
Если же лабиринт содержит отдельно стоящие стенки, то, применяя правило "одной руки", не всегда можно пройти все коридоры и тупики. Лабиринты с отдельно стоящими стенками и с замкнутыми маршрутами называются многосвязными. При этом многосвязные лабиринты можно разделить на две группы: без "петли" вокруг цели (замкнутый маршрут не проходит вокруг цели) и с замкнутой "петлей" вокруг цели (цель можно обойти по замкнутому маршруту).
Рисунок 9 - Схема алгоритма "правой руки"
В многосвязных лабиринтах второй группы правило "одной руки" не работает и, применяя его, достичь цели невозможно. Но и эти лабиринты можно пройти, полагаясь на точный алгоритм.
Волновой алгоритм позволяет построить путь между двумя элементами в любом лабиринте [5]. Сам процесс можно разделить на 2 этапа:
1) Из начального элемента распространяется в 4-х направлениях волна. Элемент, в который пришла волна, образует фронт волны. На рисунке цифрами обозначены номера фронтов волны.
Каждый элемент первого фронта волны является источником вторичной волны. Элементы второго фронта волны генерируют волну третьего фронта и т.д. Процесс продолжается до тех пор, пока не будет достигнут конечный элемент, или пока не станет ясно, что его не достигнуть.
2) Строится сама трасса. Её построение осуществляется от конечного элемента к начальному.
Достоинство алгоритма в том, что он позволяет найти путь в любом лабиринте (при условии, что путь существует). Но главный недостаток этого алгоритма в том, что при построении трассы требуется большой объем памяти.
Рисунок 10 - Пример работы волнового алгоритма
1.3Обзор существующих систем-аналогов
Существует множество различных игровых систем, разработанных на основе лабиринта. Рассмотрим некоторые из них.
На рисунке 11 изображение популярной игры Pac-Man [6]. Pac-Man ? круглое жёлтое существо только с одним ртом.
Задача игрока ? собрать (съесть) все белые точки на уровне, избегая столкновений с привидениями. Уровень заканчивается, когда съедены все точки. Привидения в начале уровня находятся в центре экрана в небольшой комнате, откуда они выходят по одному, а одно привидение начинает уровень вне комнаты. Каждое привидение обладает индивидуальными характеристиками. Если Pac-Man «съест» большую белую точку ? «энерджайзер», то на несколько секунд привидения становятся уязвимыми и сами избегают встречи с Pac-Man-ом. Съеденные в такой ситуации привидения не исчезают, но возвращаются в центр экрана, а игроку начисляются дополнительные очки, которые возрастают вдвое после поедания каждого привидения. Если войти в коридор, ведущий направо или налево за границу экрана, то Pac-Man выйдет с противоположной стороны (это могут сделать и привидения, однако, перед заходом в коридор они замедляются, Pac-Man же сохраняет скорость). Также на уровне могут появляться различные бонусы ? фрукты, съев которые, игрок получает дополнительные очки.
На рисунке 12 представлена популярная в 90-е годы игра «Мудрый крот». Игровое поле представляет собой лабиринт, в котором особым образом расположено некоторое количество ящиков и такое же количество специальных мест для их размещения. Это места на фоне лабиринта выделены цветом. В лабиринте также располагается крот. Управляя перемещением крота надо разместить ящики в отведенные для этого места. Одновременно крот может перемещать строго один ящик. Результат - функция количества шагов крота. Успешность решения задачи фиксируется в файле результатов [7].
1.4 Диаграмма объектов предметной области
Процесс представления предметной области задачи в виде совокупности объектов, обменивающихся сообщениями, называется объектной декомпозицией [8].
При объектной декомпозиции между объектами устанавливается отношения:
Использования - первый объект (активный) передает сообщение другому (пассивному), между ними могут быть объекты посредники.
Включения - если объект является результатов декомпозиции более сложного объекта.
Объектная декомпозиция, так же как и процедурная, может применяться многократно, или быть многоуровневой. Это значит, что каждый объект может рассматриваться как система, которая состоит из элементов, взаимодействующих друг с другом через передачу сообщений. При многоуровневой декомпозиции на каждом уровне мы получаем объекты с более простым поведением, что позволяет разрабатывать системы повышенной сложности по частям.
Объект - элемент системы, объединяющий в себе в себе данные и операции над ними, обладающий свойствами наследования, инкапсуляции и полиморфизма.
Диаграмма объектов представляет статическую составляющую взаимодействующих между собой объектов, она должна включить в себя только те объекты предметной области, которые потом преобразуются в диаграмму классов. Связи между объектами показывают отношения между ними, при необходимости в диаграмме можно привести и атрибуты(свойства) объектов [2]. На рисунке 13 приведена диаграмма объектов для рассматриваемой системы.
Как видно из диаграммы, лабиринт представляет собой совокупность следующих объектов: сетки, на которой будут располагаться стены и проходы, которые подразделяются на обычные проходы между стенами, вход и выход из лабиринта; персонажа (курсор, движущийся объект и т.д.), который движется по проходу.
Перед авторами поставлена задача разработать автоматизированную систему генерирования лабиринта и поиска пути в нем.
Рисунок 13 - Диаграмма объектов предметной области
Для достижения поставленной цели необходимо решить следующие задачи:
Настройка параметров лабиринта. Задание параметров лабиринта производится вручную: пользователь должен задать размеры лабиринта по ширине и высоте (от 7 до 21 клетки), размер лабиринта должен быть нечетный; должен выбрать тему лабиринта (одну из четырех); должен определить местоположение входа и выхода из лабиринта, которые не должны совпадать и должны располагаться по периметру лабиринта. При этом система должна провести проверку правильности этой структуры и, в случае несоответствия, выдать предупредительное сообщение и обеспечить повторный ввод параметров.
Автоматическая генерация лабиринта. В системе будет использоваться два алгоритма генерации лабиринта: прореживания и «основного пути».
Работа с файлами. Пользователь должен иметь возможность сохранить лабиринт в файл и загрузить его из файла.
Поиск пути. Пользователь должен выбрать, с помощью какого алгоритма будет найден путь (волновой или «правой руки»).
Визуализация процессов работы с лабиринтом. Пользователь должен выбрать вид визуализации: статическая (с задержкой по времени) или динамическая (с оставлением следов).
В системе также должна быть обеспечена возможность получения справочной информации как о самой системе, так и предоставляемых ею возможностях.
Таким образом, система должна выполнять следующие функции:
Автоматическое построение (генерация) лабиринта:
Визуализация процессов работы с лабиринтом:
Выдача справочной информации о системе.
Система (греч. «составленное из частей», «соединение» от «соединяю») множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство [2] .
Как следует из определения, отличительным (главным свойством) системы является ее целостность: комплекс объектов, рассматриваемых в качестве системы, должен обладать общими свойствами и поведением. Очевидно, необходимо рассматривать и связи системы с внешней средой. В самом общем случае понятие «система» характеризуется:
? целостным характером данного устройства или процесса.
Система должна представлять собой совокупность элементов (объектов, субъектов), находящихся между собой в определенной зависимости и составляющих некоторое единство (целостность), направленное на достижение определенной цели. Система может являться элементом другой системы более высокого порядка (надсистема) и включать в себя системы более низкого порядка (подсистемы). То есть систему можно рассматривать как набор подсистем, организованных для достижения определенной цели и описанных с помощью набора моделей (возможно, с различных точек зрения), а подсистему - как группу элементов, часть которых составляет спецификацию поведения, представленного другими ее составляющими [8].
На рисунке 14 приведена структурная схема системы.
В состав системы входят следующие подсистемы:
1) Подсистема управления, которая отвечает за взаимодействие подсистем между собой и представлена в виде иерархического меню;
2) Подсистема составления лабиринта, в состав которой входят:
a) подсистема настройки параметров, которая отвечает за ввод (выбор) значений параметров лабиринта и проверку корректности этих значений;
b) подсистема генерирования, которая отвечает за автоматическое составление лабиринта;
3) Подсистема нахождения пути, которая отвечает за поиск пути в лабиринте в соответствии с выбранным алгоритмом;
4) Файловая подсистема, которая отвечает за хранение лабиринта в файле заранее определенного типа;
5) Подсистема визуализации, которая отвечает за корректное отображение лабиринта у пользователя и дает возможность выбора оформления;
6) Справочная подсистема, которая содержит сведения о системе (руководство пользователю) и ее об ее разработчиках.
Требования - это свойства, которыми должно обладать ПО для адекватного определения функций, условий и ограничений выполнения ПО, а также объемов данных, технического обеспечения и среды функционирования [2].
Программные требования (Software Requirements) - свойства программного обеспечения, которые должны быть надлежащим образом представлены в нём для решения конкретных практических задач [11]. Данная область знаний касается вопросов извлечения (сбора), анализа, специфицирования и утверждения требований к разрабатываемой ПС.
Спецификация требований к ПО (SRS) - процесс формализованного описания функциональных и нефункциональных требований, требований к характеристикам качества в соответствии со стандартом качества ISO/IEC 9126-94, которые будут отрабатываться на этапах жизненного цикла ПО. В спецификации требований отражается:
? требования к функциям, качеству и документации;
? задается в общих чертах архитектура системы и ПО, алгоритмы, логика управления и структуры данных.
Функциональные требования задают то, что система должна делать; нефункциональные - с соблюдением «каких условий» (например, скорость отклика при выполнении заданной операции). При разработке этих требований в первую очередь необходимо учитывать потребности пользователя (заказчика). Пользовательские требования (User Requirements) - описывают цели/задачи пользователей системы, которые должны достигаться/выполняться пользователями при помощи создаваемой программной системы. Часто пользовательские требования представляют в виде сценариев (вариантов использования) [2].
Функциональная спецификация должна в полном объёме отображать информационные связи проектируемой системы как с внешним миром, так и между подсистемами. Перечень функций, выполняемых автоматизированной системой составления и разгадывания классического кроссворда содержится в таблице 1.
2.2.2 Перечень исключительных ситуаций
Исключительная ситуация - это ситуация, при которой система не может выполнить возложенных на нее функций или которая может привести к денормализации работы системы. Перечень исключительных ситуаций представлен в таблице 2.
Разработка спецификации качества сводится к построению своеобразной модели качества разрабатываемой ПС [2]. В этой модели должен быть перечень всех тех достаточно элементарных свойств, которые требуется обеспечить в разрабатываемом ПС и которые в совокупности образуют приемлемое для пользователя качество ПС. При этом каждое из этих свойств должно быть в достаточной степени конкретизировано с учетом определения требований к разрабатываемому ПС и возможности оценки его наличия у разработанного ПС или необходимой степени обладания им этим ПС.
Для конкретизации качества ПС по каждому из критериев используется стандартизованный набор достаточно простых свойств ПС однозначно интерпретируемых разработчиками.
В спецификации качества перечисляются основные требования по показателям качества:
формулируются требования по быстродействию;
требования к разработке интерфейса и т.п.
Таблица 1 - Перечень функций, выполняемых системой
1.1 Выдать сведения о разработчиках
Сведения о разработчиках системы (ФИО, номер группы)
Объект, структура определяется в ходе проектирования
2.5 Поставить вход (для ручной расстановки)
Координаты клеток, текущие значения высоты и ширины
Объект, структура определяется в ходе проектирования
2.6 Поставить выход (для ручной расстановки)
Координаты клеток, текущие значения высоты и ширины
Целые, на периметре, не в углах, не совпадает с входом
Объект, структура определяется в ходе проектирования
Объект, структура определяется в ходе проектирования
Объект, структура определяется в ходе проектирования
Объект, структура определяется в ходе проектирования
Файл, структура определяется в ходе проектирования
Объект, структура определяется в ходе проектирования
4.1 Отобразить текущее состояние лабиринта
Объект, структура определяется в ходе проектирования
4.2 Отобразить путь (для волнового алг.)
4.3 Отобразить текущее состояние клетки
Объект, структура определяется в ходе проектирования
5.2 Найти путь (для волнового алгоритма)
Объект, структура определяется в ходе проектирования
5.3 Определить статус текущей клетки
Объект, структура определяется в ходе проектирования
Таблица 2 - Перечень исключительных ситуаций
1.1 Не возможно открыть файл справки
Выдача сообщения «Файл справки поврежден»
Выдача сообщения «Отсутствует файл справки»
2.1 Попытка открытия файла с несобственным форматом
Выдача сообщения «Файл поврежден или недопустимого формата»
2.2 Файл с заданным именем не существует
Выдача сообщения «Неверное имя файла»
2.3 Проектирование интерфейса пользователя
Интерфейс (от англ. interface - поверхность раздела, перегородка) - совокупность средств и методов взаимодействия между элементами системы.
Интерфейс является основной и наиболее важной частью программы. Поскольку пользователь управляет программой и данными именно через интерфейс, мы уделяем большое внимание понятности и простоте интерфейсов в разработанных нами программах [2].
Для выполнения начальной фазы разработки необходимо погрузиться целиком в задачи пользователей и создать бумажный прототип интерфейса.
При запуске программы будет появляться главное окно программы, представленное на рисунке 14.
При нажатии на кнопку «X» основная форма будет закрываться. При нажатии кнопки «Файл», когда никакой лабиринт еще не будет сгенерирован, пользователю будет предложено загрузить лабиринт из файла. При нажатии кнопки «Справка» справочное окно, содержащее информацию об авторах и документацию.
Сначала пользователь выбирает тему оформления лабиринта по своему желанию (по умолчанию выбрана тема «Лето»). В полях «Высота» и «Ширина» пользователь должен будет задать соответствующие значения будущего лабиринта. При нажатии кнопки «Создать шаблон» на поле справа появляется сетка для будущего лабиринта заданных размеров.
Рисунок 14 - Интерфейс (главное окно программы)
Область «Вход/выход» становится доступной на этом шаге. Пользователю предложено выбрать один из способов расстановки входа выхода. После нажатия кнопки «Расставить» вход и выход расставляются соответствующим способом и появляется кнопка «Сгенерировать лабиринт». После ее нажатия, на поле справа появляется лабиринт, в меню «Файл» появляется возможность сохранить лабиринт и становится доступным поле «Поиск пути».
Пользователь выбирает способ, которым программа будет находить путь в лабиринте и нажимает кнопку «Искать путь». В зависимости от выбранного алгоритма, на поле отображается найденный путь.
2.4 Информационно-логический проект системы
Одной из широко используемых методик документирования требований является построение ряда моделей системы. Эти модели используют графические представления, показывающие решения как исходной задачи, так и разрабатываемой системы [2]. Как правило, графическое представление более понятно, чем описание требований на естественном языке.
Моделирование - это устоявшаяся и повсеместно принятая инженерная методика. Модели являются связующим звеном между процессом анализа и процессом проектирования системы. Модель - это упрощенное представление реальности, по существу - это «чертеж» системы: в нее может входить как детальный план, так и более абстрактное представление системы «с высоты птичьего полета». Хорошая модель всегда включает элементы, которые существенно влияют на результат, и не включает те, которые малозначимы на данном уровне абстракции. Модель строится для того, чтобы лучше понимать разрабатываемую систему. Моделирование позволяет решить четыре различные задачи:
Визуализировать систему в ее текущем или желательном для нас состоянии;
Описать структуру или поведение системы;
Получить шаблон, позволяющий сконструировать систему;
Документировать принимаемые решения, используя полученные модели.
Унифицированный язык моделирования (Unified Modeling Language - UML) - это стандартный инструмент для разработки «чертежей» программного обеспечения. Его можно использовать для визуализации, спецификации, конструирования и документирования артефактов программных систем. UML подходит для моделирования любых систем - от информационных систем масштаба предприятия до распределенных Web-приложений и даже встроенных систем реального времени. Язык UML предоставляет стандартный способ написания проектной документации на системы, включая концептуальные аспекты, такие как бизнес-процессы и функции системы, а также конкретные аспекты, такие как выражения языков программирования, схемы баз данных и повторно используемые компоненты ПО.
Язык UML не является языком программирования (он инвариантен к языкам программирования).
В нотации языка UML определены следующие виды канонических диаграмм:
вариантов использования (use case diagram);
кооперации (collaboration diagram);
последовательности (sequence diagram);
развертывания (deployment diagram).
2.4.2 Диаграмма вариантов использования
Диаграмма вариантов использования представляет собой наиболее общую концептуальную модель сложной системы, которая является исходной для построения всех остальных диаграмм.
Диаграмма вариантов использования представляет собой наиболее общую концептуальную модель сложной системы, которая является исходной для построения всех остальных диаграмм.
? Определить общие границы и контекст моделируемой предметной области на начальных этапах проектирования системы.
? Сформулировать общие требования к функциональному поведению проектируемой системы.
? Разработать исходную концептуальную модель системы для ее последующей детализации в форме логических и физических моделей.
? Подготовить исходную документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.
Актер (actor) - согласованное множество ролей, которые играют внешние сущности по отношению к вариантам использования при взаимодействии с ними (это может быть любой объект, субъект или система, взаимодействующая с моделируемой бизнес-системой извне, т.е. человек, техническое устройство, программа и т.п.) .
Вариант использования - внешняя спецификация последовательности действий, которые система или другая сущность могут выполнять в процессе взаимодействия с актерами (он определяет набор действий, совершаемый системой при диалоге с актером).
Цель спецификации варианта использования заключается в том, чтобы зафиксировать некоторый аспект или фрагмент поведения проектируемой системы без указания особенностей реализации данной функциональности. В этом смысле каждый вариант использования соответствует отдельному сервису, который предоставляет моделируемая система по запросу актера, т. е. определяет один из способов применения системы. Сервис, который инициализируется по запросу актера, должен представлять собой законченную последовательность действий. Это означает, что после того как система закончит обработку запроса актера, она должна возвратиться в исходное состояние, в котором снова готова к выполнению следующих запросов.
На рисунке 15 приведена диаграмма вариантов использования для разрабатываемой системы (она соответствует функциональной спецификации, приведенной в таблице 1).
создать лабиринт. Чтобы создать лабиринт, пользователь должен задать соответствующие параметры, такие как ширина, высота, тема оформления лабиринта. Также, необходимым условием является расставление входа и выхода (автоматически или вручную);
найти путь. Пользователь может осуществить поиск пути из лабиринта в соответствии с выбранным алгоритмом;
просмотр справочной информации о системе и об авторах.
Сценарий - определенная последовательность действий, которая описывает действия актеров и поведение моделируемой системы в форме обычного текста.
В контексте языка UML сценарий используется для дополнительной иллюстрации взаимодействия актеров и вариантов использования.
Рассмотрим сценарии варианта использования «Установить параметры лабиринта» и «Поиск пути» для автоматизированной системы построения лабиринта и поиска выхода из него.
Вариант использования: Установить параметры лабиринта.
Краткое описание. Даёт возможность пользователю задать параметры лабиринта, которые будут использованы при дальнейшей работе программы.
Рисунок 15 - Диаграмма вариантов использования системы
Предусловия. Компьютер пользователя включён, приложение «Лабиринт» запущено. На экране - окно приложения с блоками «Параметры лабиринта», «Поиск пути» и полем для лабиринта.
1 В лабиринте находятся активный блок «тема» (лето, осень, зима, весна), поле «высота», поле «ширина», кнопка «создать шаблон», неактивные блоки «расстановка входа/выхода» и «поиск пути», кнопки «расставить», «сгенерировать», «искать путь». Пользователь выбирает тему, задает высоту и ширину и щелкает кнопку «Создать шаблон».
2 Система создает шаблон лабиринта и отображает его на поле, блок «расстановка вх
Автоматизированная система построения лабиринта и поиска выхода из него курсовая работа. Программирование, компьютеры и кибернетика.
Курсовая работа по теме Служба снабжения (закупок) в организации
Релігійне життя України в роки війни та післявоєнний час
Курсовая работа по теме Оценка стоимости объекта недвижимости
Реферат: Инфляция в России, её особенности
Реферат: Механизмы и формы психологической защиты. Скачать бесплатно и без регистрации
Курсовая работа: Государство, право, мораль. Скачать бесплатно и без регистрации
Реферат: Статистика уровня жизни населения
Дневник Производственной Педагогической Летней Практики
Характерные черты информационной поддержки программы "дети-сироты" в ярославских региональных СМИ
Система Безопасности Предприятия Реферат
Курсовая работа по теме Формирование ролевой игры у умственно отсталых детей дошкольного возраста в условиях детского сада
Реферат: Решение проблем социального развития ребёнка в неблагополучной семье
Маркетинг Предприятия Курсовая Работа
Курсовая работа: Формирование и управление инвестиционным портфелем
Контрольная работа по теме Виды норм права
Сочинение Женские Образы В Прозе Тургенева Накануне
Курсовая Работа На Тему Современное Состояние Рынка Конкуренции В России
Курсовая работа по теме Расчет и проектирование электрической части тупиковой подстанции с заданными параметрами напряжения
Маслова Диссертация
Контрольная работа по теме Закон України "Про порядок здійснення розрахунків в іноземній валюті"
Новітня історія Фінляндії - История и исторические личности контрольная работа
Тенденции развития права собственности - Государство и право курсовая работа
Правовые основы промышленной безопасности - Государство и право курсовая работа


Report Page