Документ взят из кэша поисковой машины. Адрес оригинального документа : http://sp.cs.msu.ru/courses/ooap/vars2016.html
Дата изменения: Wed Mar 30 17:03:36 2016
Дата индексирования: Sun Apr 10 00:10:19 2016
Кодировка: Windows-1251
Варианты задания по ООАП для группы 341. 2015-16 учебный год

Главная страница « Информация « 4 курс « курс ООАП «

Варианты задания по ООАиП для группы 528. 2014-15 учебный год


„Нет проблем! Мы можем покончить с этой ерундой за выходные!“
Э. Йордон „Путь камикадзе“

Требования


В каждом из предложенных вариантов требуется при помощи CASE-средства построить UML модель программного обеспечения. Процесс создания модели состоит из нескольких этапов, по окончании каждого из которых производится сдача полученных результатов:

  1. Создание модели требований.

  2. Создание модели анализа.

  3. Создание проектной модели системы.

Процесс моделирования должен проходить так, как это описано в методическом пособии (см. Visual Paradigm). Структура модели должна соответствовать структуре, предусмотренной Rational Unified Process.

После выполнения первого этапа модель должна удовлетворять следующим требованиям. К ней должен быть приложен глоссарий проекта, составленный в виде таблицы. В модели должна присутствовать диаграмма вариантов использования системы. Каждое действующее лицо (actor) и вариант использования должны сопровождаться описанием. Описание действующего лица должно коротко (в одну-две строки) сообщать о роли данного лица. Три ключевых варианта использования должны быть описаны полностью, остальные -- лишь кратко. Вход в систему не может быть назначен ключевым вариантом использования. Краткое описание варианта использования состоит примерно из 2-6 предложений. В них указываются основные действия системы и действующих лиц, а также перечисляются особые случаи, соответствующие альтернативным потокам. Полное описание варианта использования должно включать в себя краткое описание, предусловие, потоки событий (основной и альтернативные -- один или более) и постусловие. Постусловие должно быть не пусто, оно составляется из двух частей: гарантии успеха (что истинно по окончании основного потока) и минимальных гарантий (что истинно всегда, в том числе при неуспехе). Глоссарий, описания действующих лиц и вариантов использования следует собрать в один текстовый файл. Описания должны быть составлены на русском языке. Для одного из ключевых вариантов использования должна быть составлена диаграмма деятельности, моделирующая его основной поток и альтернативные потоки. Диаграммы деятельности, моделирующие вход в систему не принимаются.

После выполнения второго этапа модель должна удовлетворять перечисленным ниже требованиям. В Analysis Model следует создать диаграмму KeyAbstractions, на которой отображены все классы -- ключевые абстракции и связи между ними. Следует создать пакет, названный Usecase realizations внутри Analysis Model. В этом пакете следует для каждого из трех вариантов использования, выделенных как ключевые и описанных на первом этапе, создать отдельный пакет, содержащий относящиеся к реализации этого варианта использования элементы модели:

  • диаграммы последовательности, реализующие потоки варианта использования,

  • диаграмму классов View of Participating Classes, на которой представлены классы анализа, участвующие в реализации варианта использования.

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

При работе с проектной моделью (3й этап) требуется:

  1. Разбить систему на уровни.

  2. Создать структуру пакетов внутри Design model, как это описано в методичке.

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

  4. Разместить классы по пакетам в Design model, как это описано в методичке и рассказано в лекциях.

  5. Выделить хотя бы одну подсистему. В частности, в большинстве вариантов предусмотрена работа с устойчивыми объектами, ее следует поручить системе обеспечения устойчивости (взаимодействия с БД). Другой вариант подсистемы -- подсистема для взаимодействия с внешней программой.

  6. Создать интерфейс подсистемы, дать полные сигнатуры его операциям. Описание интерфейса поместить в текстовый файл, где указать краткое описание (ответственность подсистемы) и таблицу с описанием операций (полная сигнатура, описание).

  7. Для подсистемы создать класс-фасад и другие классы подсистемы, связи между подсистемой и другими частями системы показать на отдельной диаграмме классов, связи между классами подсистемы показать на еще одной диаграмме классов, создать диаграммы последовательности для описания реализации операций интерфейса подсистемы.

  8. Изменить созданные ранее реализации вариантов использования, указав на них экземпляры классов-реализаций интерфейсов подсистем.

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

  10. Уточнить типы атрибутов классов и дать полные сигнатуры операциям классов.

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

  12. Для описания поведения экземпляров отдельных классов со сложным поведением построить диаграммы состояний (в модели должна быть хотя бы одна нетривиальная диаграмма состояний).

  13. Построить диаграммы деятельности для моделирования сложных методов с альтернативами и/или циклами (в проектной модели должна быть хотя бы одна нетривиальная диаграмма деятельности, моделирующая метод).

  14. Разработать схему базы данных и отобразить ее на диаграмме классов (во всех вариантах).

Список вариантов

  1. Сайт гостиничной сети

  2. Касса супермаркета

  3. Медиатека

  4. Вебмаркет

  5. Фильмопоиск

  6. Вебафиша

  7. Инфомат на вокзале

  8. Инфомат в музее

  9. Тестирование учащихся

  10. Билетный киоск

  11. Вебпетиция

  12. Инфомат в книжном магазине

Вариант 1. Сайт гостиничной сети

К списку вариантов


Сайт гостиничной сети предлагает сведения об отелях, расположенных в разных городах, дает возможность бронировать номера и участвовать в программе постоянных клиентов. Посетитель сайта может узнать о любом отеле, входящем в сеть, о категориях номеров в отеле (бюджетный, стандартный, полулюкс, люкс), ценах за размещение в номере в разное время года. Выбрав отель, посетитель может забронировать на свое имя номер. Он вводит сведения о себе, контактные данные, дату заезда и количество ночей, категорию номера и его размер (одноместный, двухместный). Сайт проверяет, есть ли свободные номера в указанный период времени, выводит сумму и предлагает ввести предоплату. Посетитель вводит номер своей банковской карты и код CVV2 и подтверждает готовность внести предоплату. Сайт связывается с банком и посылает запрос на блокирование суммы на счету посетителя. Если операция успешна, сайт сообщает посетителю номер брони, который ему понадобится при заселении в отель.

Постоянные клиенты гостиничной сети имеют собственные аккаунты для входа на сайт. Им предоставляется возможность узнать количество накопленных баллов. За каждый рубль, потраченный на оплату номеров, постоянный клиент получает один балл. Если сумма баллов ниже 40 000, постоянный клиент пользуется скидкой 3% при бронировании/оплате номера. При сумме баллов от 40 001 до 80 000 скидка составляет 5%; 80 001 - 150 000 -- 10%, от 150 001 -- 15%. Для получения скидки постоянный клиент должен бронировать номер, выполнив вход на сайт. Начисление баллов производится по окончании пребывания клиента в гостинице.

Контент-менеджер сайта поддерживает в актуальном состоянии сведения об отелях, ценах и т. д. При расширении сети добавляются новые отели. Часть номеров может быть отмечена временно недоступной из-за ремонта. Отель может быть временно закрыт на реконструкцию.

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

Бронь может быть снята клиентом, оформившим ее, если до дня заезда остается не менее 10 суток. При отмене брони сайт возвращает забронированный номер в список номеров, доступных для бронирования, а также отправляет в банк запрос на разблокирование суммы, ранее заблокированной при бронировании. При отмене брони со счета пользователя снимается 3% от суммы в пользу гостиничной сети.

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

Вариант 2. Касса супермаркета

К списку вариантов


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

Подходя к кассе, покупатель предъявляет покупки. Кассир начинает новый чек, при этом дисплеи высвечивают нулевую сумму. Каждый товар снабжен штрих-кодом, который считывается сканером. На дисплее высвечивается наименование и цена товара. Если товар штучный, кассир вводит его количество, стоимость высвечивается и добавляется к сумме чека. Если товар весовой, кассир вводит вес, стоимость высвечивается и добавляется. При ошибке кассира или по требованию покупателя последняя (текущая) позиция чека может быть удалена, при этом текущей становится предыдущая позиция. Когда все сведения о покупках введены верно, кассир получает деньги от покупателя, вводит полученную сумму и закрывает чек. При этом касса рассчитывает сдачу и высвечивает ее на дисплеи, а также печатает чек с указанием всех позиций (для каждой печатается код товара, наименование товара, количество, цена, процент НДС, сумма НДС и стоимость), итоговой суммы НДС и суммы к оплате, сведений о кассире, полученной от покупателя суммы и сдачи. Кассир выдает чек и сдачу, кладет деньги в ящик и готовится обслужить следующего клиента.

Касса следит за общей выручкой, и если выручка достигает определенного значения (200 000), перед обслуживанием очередного клиента она информирует кассира о необходимости сдать выручку. В таком случае кассир должен приостановить обслуживание клиентов, сдать деньги менеджеру, оставив минимальную сумму для расчетов с последующими клиентами (5 000).

В начале работы кассир авторизуется при помощи рабочей карты (со штрих-кодом) и пароля. Только после успешной авторизации он может работать с кассой и получить доступ к ящику с деньгами. В него он помещает, полученные от менеджера 5 000 для выдачи сдачи покупателям. Эта сумма вводится в кассу как начальная сумма выручки. В конце рабочего дня кассир закрывает день, сдает менеджеру всю выручку, инициализирует передачу сведений о покупках за день на сервер супермаркета и выключает кассу по окончании передачи, заново авторизуясь при помощи пароля.

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

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

Вариант 3. Медиатека

К списку вариантов


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

Наряду с регистрационным списком системой должен поддерживаться каталог медиатеки, где хранится информация о носителях информации: бумажных книгах, аудиокнигах на CD, музыкальных CD, видеоматериалах на DVD и Blu Ray. Следует различать запись в каталоге -- наименование, и отдельные экземпляры книг или дисков. Одному наименованию могут соответствовать один или несколько экземпляров. О наименовании-книге известны следующие данные: название, ISBN, список авторов, каталожный шифр, год и место издания, название издательства, общее количество экземпляров книги в медиатеке и количество ее экземпляров, доступных в текущий момент. О наименовании-диске известны следующие данные: название, тип диска, список людей, имеющих отношение к материалам на диске (авторов, актеров, исполнителей и т. п.), каталожный шифр, год выпуска диска, название издательства, общее количество экземпляров диска в медиатеке и количество его экземпляров, доступных в текущий момент. Система обеспечивает добавление, удаление и изменение данных каталога, а также поиск наименований в каталоге на основании введенного шифра или ISBN, или названия, или фамилии. Читатели имеют доступ только к каталогу медиатеки (они могут осуществлять в нем только поиск и просмотр).

В системе поддерживается реестр всех экземпляров всех наименований. Каждый экземпляр имеет свой уникальный идентификационный номер, вообще говоря, не совпадающий с каталожным шифром. Идентификационный номер экземпляра в виде штрих-кода наносится на каждую книгу и диск медиатеки. В системе осуществляется регистрация взятых и возвращенных клиентом экземпляров с использованием этих штрих-кодов. Про каждый выданный экземпляр в реестре хранится запись о том, кому и когда он был выдан, и когда он должен быть возвращен. При возврате экземпляра в записи делается пометка, о том, что данный экземпляр находится в наличии и указывается, какой клиент пользовался этим экземпляром последним. Если экземпляр приходит в негодность, запись реестра о нем удаляется. Если от поставщиков приходят новые книги и диски, записи о них добавляются в реестр экземпляров и в каталог (в случае если появляются новые наименования).

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

При регистрации нового клиента сотрудник медиатеки вносит сведения о клиенте в систему и печатает клиентский билет -- карточку со штрих-кодом. При помощи этих карточек осуществляется доступ читателей к каталогу медиатеки, а также прием и выдача книг и/или дисков. Перед началом работы клиента с каталогом он должен поднести билет к считывателю, чтобы система его идентифицировала.

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

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

Вариант 4. Вебмаркет

К списку вариантов


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

Представители интернет-магазинов регистрируются на сайте, после чего могут добавить в систему данные о своем магазине: название, url сайта, юридический адрес и контактную информацию, url страницы с ежедневно обновляемым перечнем товаров и цен. На указанной странице в формате CSV публикуются сведения о названии товара, его категории, производителе, цене, наличии (в продаже / на складе / только под заказ), url веб-страницы интернет-магазина, с которой можно приобрести товар. Эти данные система регулярно запрашивает, чтобы поддерживать собственную базу данных в актуальном состоянии. Если сведения о товарах какого-либо интернет-магазина невозможно получить в течение 5 последних попыток обновления, то магазин помечается, как недоступный. Для экономии трафика попыток обновить перечни товаров недоступных интернет-магазинов не производятся. Менеджер может связаться с представителем недоступного интернет-магазина и либо деактивировать его аккаунт, а заодно убрать сведения о магазине из системы, либо скорректировать url страницы с перечнем товаров интернет-магазина. В последнем случае менеджер помечает магазин как вновь доступный.

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

Пользователи сайта могут оставлять отзывы о работе интернет-магазинов и оценивать их работу по пятибалльной системе (от 1 до 5). Для ограничения накруток одному магазину с одного IP-адреса может быть выставлено не более одной оценки. По оценкам рассчитывается рейтинг интернет-магазина, используемый при ранжировании результатов поиска товаров. Количество комментариев от пользователей не ограничено. Через сайт-прейскурант пользователи могут сообщать менеджеру сайта свои жалобы на работу интернет-магазинов. По жалобам пользователей менеджер может удалить сведения об интернет-магазине с сайта. Также менеджер может заблокировать использование сайта пользователям с определенных IP-адресов, если они оставляют спам в комментариях. Нежелательные комментарии могут быть удалены менеджером.

Следует разработать схему базы данных вебмаркета.

Вариант 5. Фильмопоиск

К списку вариантов


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

Незарегистрированный пользователь «Фильмопоиска» может осуществлять поиск фильмов среди сведений, представленных на сайте. Фильмы можно искать по названию, году выхода, персоне задействованной в съемках фильма. Незарегистрированный пользователь может оценить любой фильм и любую персону по 10-тибальной шкале. На основании этих оценок вычисляются средние баллы для ранжирования фильмов (и персон) в рейтинге рядовых зрителей. Для ограничения накруток одному фильму с одного IP-адреса может быть выставлено не более одной оценки. Такое же ограничение действует при оценивании персон.

Зарегистрированный пользователь -- кинокритик, войдя в систему, может оставить рецензию на фильм. Рецензия может сопровождаться оценкой. От одного критика может быть принято любое количество рецензий на один фильм. При подсчете средней оценки фильма о кинокритиков учитывается оценка, связанная с более поздней рецензией (если есть несколько рецензий с оценками от одного и того же кинокритика). Рецензии кинокритиков публикуются на сайте не сразу, а только после того, как их утвердит редактор «Фильмопоиска». При утверждении редактор может исправить текст рецензии, но не оценку.

При удалении сведений о фильме удаляются связанные с ним оценки и рецензии. При удалении сведений о персоне удаляются все ее оценки. Логины разных зарегистрированных пользователей не должны совпадать. Минимальная длина логина и пароля -- 8 символов.

За актуальностью сведений о фильмах и персонах следят редактора сайта. Они вносят данные о новых фильмах и обновляют ранее внесенные сведения, например, после присуждения новых наград фильму и/или персоне.

Следует создать схему базы данных сайта «Фильмопоиск».

Вариант 6. Вебафиша

К списку вариантов


На сайте вебафиши можно ознакомиться со сведениями о проведении различных мероприятий: кинопоказов, театральных представлений, мастер-классов, выставок, концертов в различных городах. Добавлять новые сведения могут только зарегистрированные пользователи. Внося сведения о новом мероприятии, пользователь сайта указывает: название мероприятия, тип мероприятия, его тематику, даты начала и окончания, место проведения, условия участия, текстовое описание мероприятия, данные об организаторах, включающие телефон и e-mail, максимально допустимое количество участников (0 -- если количество участников не ограничено). Для привлечения внимания может быть приложена картинка, размер которой не превышает 800х640 пикселей. Местом проведения может быть театр, кинотеатр, выставочный зал, концертный зал, музей, площадь, кафе и т. п. В описании места проведения обязательно указывается адрес и сведения для связи (телефон, e-mail, аккаунты в соц. сетях). Участие в мероприятиях может быть либо платным, либо бесплатным. Публикация новых сведений происходит только после того, как модератор сайта их вычитает и одобрит.

Регистрация пользователей на сайте происходит после того, как они заполнят анкету, указав e-mail в качестве логина, пароль, ф. и. о. Зарегистрированный пользователь может отправить на сайт информацию, которую хочет добавить в афишу, изменить ранее введенную им информацию, пригласить других пользователей участвовать в своем мероприятии, а также записаться в качестве участника того или иного мероприятия. Запись участников производится двумя способами: либо пользователь принимает полученное им приглашение от другого участника, либо пользователь по собственной инициативе записывается на выбранное им мероприятие. Если количество записавшихся участников достигает предела, установленного для мероприятия, дальнейшая запись прекращается. Записавшиеся участники могут с помощью сайта распечатать пропуск-флайер, служащий для прохода на мероприятие.

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

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

Следует создать базу данных вебафиши.

Вариант 7. Инфомат на вокзале

К списку вариантов


Инфомат предоставляет пассажирам сведения о расположении служб, залов ожидания, кафе, магазинов и др. в зданиях вокзала, а также позволяет зарегистрировать электронный билет. В состав инфомата входят следующие устройства: сенсорный дисплей, часы, сканер штрих-кода, принтер посадочных талонов, линия связи с сервером вокзала. Работа любого пользователя с инфоматом начинается с главного меню. В нем отображаются следующие пункты:
• интерактивная схема вокзала;
• инструкция по регистрации электронного билета;
• расписание поездов;
• объявления.

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

Второй пункт меню дает возможность пассажиру ознакомиться с инструкцией по регистрации электронного билета. Она состоит из нескольких шагов, каждый из которых описан на отдельной экранной странице. Пассажир может передвигаться по инструкции вперед/назад или вернуться в главное меню. Прочитав или пролистав всю инструкцию, пассажир может вернуться в меню и начать регистрацию электронного билета в разделе «Расписание поездов». Он должен выбрать поезд из расписания и ввести свою фамилию и инициалы. Затем он должен открыть на экране смартфона сведения о билете, так чтобы был виден штрих-код. Экран смартфона следует поднести к сканеру. Далее инфомат запрашивает сервер вокзала о возможности регистрации данного электронного билета. Получив подтверждение, инфомат дублирует его на экран и предлагает распечатать посадочный талон. Если пассажир затребовал печать талона, инфомат печатает посадочный талон. На этом регистрация завершается и на экран выводится главное меню. В ходе регистрации пассажир может вместо штрих-кода ввести 14тизначный цифровой шифр электронного билета. Если возникают проблемы с получением подтверждения от сервера или с вводом сведений о билете, инфомат информирует пассажира о возникших затруднениях и предлагает начать регистрацию заново и вернуться к выбору поезда, либо вернуться в главное меню.

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

При запросе объявлений инфомат выдает запрашивает у сервера вокзала сведения об объявлениях, и демонстрирует их одно за другим с периодом 15 секунд. Объявления могут содержать сведения об изменениях в расписании, о потерявшихся пассажирах и/или вещах, а также рекламные сообщения. Пассажир может прервать показ объявлений и вернуться в главное меню.

Если пассажир не совершает никаких действий с инфоматом в течение 5 минут, происходит автоматический переход в главное меню.

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

Вариант 8. Инфомат в музее

К списку вариантов


Инфомат предоставляет посетителям музея сведения об экспонатах музея, текущих выставках, а также позволяет приобретать входные билеты. В состав инфомата входят следующие устройства: сенсорный дисплей, часы, кардридер, линия связи с банком, принтер для билетов, линия связи с сервером музея.

На интерактивной схеме музея отображаются залы музея, магазины при музее, кассы, банкоматы, туалеты, гардероб, музейное кафе. Посетитель может запросить подробную справку о каком-либо зале музея. Инфомат сообщает, проходят ли в этом зале временные выставки или в нем размещена постоянная экспозиция. По каждой временной выставке дается ее описание. Если в зале постоянная экспозиция, то выдается перечень интересных экспонатов и краткие данные о каждом из них. Эти данные включают название экспоната, его автора, год создания, историю экспоната и его изображение. О каждом элементе схемы можно получить указание, как пройти к нему от входа в музей, где установлен инфомат.

Для приобретения билета посетитель должен выбрать тип билета (взрослый, детский, студенческий или билет для нерезидента). Билет может давать право на посещения всего музея, или только постоянной экспозиции, или только одной из временных выставок. От этого зависит стоимость билета. Далее инфомат предлагает вставить в ридер банковскую карту. После вставки банковской карты посетитель должен ввести четырехзначный пин-код. Если введен неверный пин-код, приобретение билета прекращается, а карта возвращается пользователю. Если пин-код верен, инфомат по линии связи с банком отправляет запрос на операцию для оплаты билета. Варианты ответов на запрос: операция одобрена банком; операция невозможна, так как карта блокирована; операция невозможна, так как превышен кредитный баланс. Если операция одобрена, сервер музея информируется о проданном билете, инфомат печатает билет, указывая дату, тип билета, цену и разрешенные к посещению выставки. На этом покупка билета завершается и на экран выводится главное меню. В ходе покупки посетитель может раздумать и до момента оплаты поменять тип билета и другие параметры, или отказаться от покупки. Продажа билетов прекращается в 19:00 -- за час до окончания работы музея.

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

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

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

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

Вариант 9. Тестирование учащихся

К списку вариантов


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

Учащиеся проходят тесты по порядку следования тем в дисциплине. Время прохождения теста задается преподавателем при его создании. Когда учащийся желает пройти тест, система создает для него индивидуальный вариант теста. Варианты разных учащихся различаются, поскольку система, во-первых, случайным образом выбирает вопросы и их формулировки, включенные в вариант (считается, что вопросов теста, введенных преподавателем, как минимум в двое больше, чем количество вопросов в варианте); во-вторых, случайным образом переупорядочивает выбранные вопросы; в-третьих, случайно выбирает варианты ответов к вопросам теста; в-четвертых, случайно упорядочивает варианты ответов. Создавая вариант теста система обеспечивает наличие для каждого вопроса хотя бы одного верного варианта ответа и хотя бы одного неверного. После того, как вариант создан, система предлагает учащемуся ответить на первый вопрос. Учащийся выбирает варианты ответов и переходит к следующему вопросу или отказывается отвечать на вопрос и также проходит дальше. Тестирование завершается, когда учащийся дал ответ (либо отказался отвечать) на последний вопрос, либо когда истекло отведенное время. По завершении, система подсчитывает баллы за тест. Система подсчета такова: если на вопрос дан хоть один неверный ответ, за вопрос ставится 0 баллов; если на вопрос не дан ни один неверный ответ и указаны не менее 50% верных ответов, но не все, ставится 1 балл; если даны все верные ответы и ни одного неверного, ставится 2 балла; иначе ставится 0 баллов. Баллы по всем вопросам суммируются и составляют оценку за тест.

Система ведет журнал тестирований. Учащийся может узнать оценку за каждое свое тестирование и получить детализацию баллов по каждому вопросу теста. Сами вопросы при этом не выводятся, и правильные/неправильные ответы не раскрываются. Преподаватель может видеть полные сведения о тестировании учащихся. Ему выводится полностью вариант, предложенный учащемуся, с указанием правильных и неправильных вариантов ответов и выбранных учащимся ответов.

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

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

Вариант 10. Билетный киоск

К списку вариантов


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

Загрузка бумажных бланков карт в автомат осуществляется обслуживающим персоналом. Автомат следит за наличием бланков карт. Если бланки какого-либо вида заканчиваются, автомат отправляет сообщение об этом на станцию обслуживания по линии связи и информирует покупателей (зажигается красная лампочка рядом с кнопкой выбора данного вида транспорта).
Автомат принимает к оплате бумажные купюры и монеты. После ввода денег клиент выбирает вид транспорта нажатием на одну из четырех кнопок. Затем клиент должен выбрать емкость карты, перемещаясь по списку при помощи кнопок "Вверх", "Вниз" и "Выбор". Емкости бывают: 1 поездка, 2 поездки, 5 поездок, 10 поездок, 20 поездок, 60 поездок, 1 день, 5 дней, 30 дней, 90 дней, 365 дней. После того как пассажир сделал свой выбор, выдача карты производится только в том случае, если имеются бланки выбранных карт, и если введенная сумма денег не меньше цены карты выбранной емкости. В этом случае автомат использует бланк карты из лотка, где лежат бланки нужного вида, и записывает на бумажную карту данные о времени продажи карты и ее емкости. Дата продажи карты и ее емкость печатаются на ее бланке. Готовая карта выдается клиенту. Если введенная клиентом сумма превышает цену карты, вместе с картой выдается сдача. За один сеанс клиент может купить не более одной карты.

Помимо бумажных билетных карт киоск может работать с пластиковыми картами "Квадрига". Разница при работе состоит в том, что в самом начале клиент вставляет свою пластиковую карту в ридер киоска, киоск считывает данные о карте, проверяет их валидность, а также запрашивает сервер транспортной компании о том, не заблокирована ли карта. Дальше работа происходит в том же ключе, что и с бумажной картой. При успешной покупке данные о купленном билете записываются на карту. Если на карте уже записан действующий билет на тот же вид транспорта, киоск препятствует покупке. На картах "Квадрига" помимо указанных выше типов билетов действует "электронный кошелек", в который пассажир может добавить любую ненулевую сумму денег, не превышающую 5 000 рублей.
У киоска имеется информационное табло, на котором высвечивается текущая сумма денег, принятых к оплате, и сообщения для клиентов, такие как: «введите деньги», «выберите вид транспорта», «выберите емкость карты», «введенной суммы недостаточно», «закончились бланки», «заберите карту», «заберите сдачу», «заберите деньги», «добавьте сумму ... руб. чтобы получить сдачу».
Купюры и монеты, имеющиеся в распоряжении киоска, хранятся в денежном ящике. Киоск хранит сведения о том, сколько купюр или монет какого номинала есть в ящике. Принимаются купюры по 10, 50, 100, 500, 1000, 5000 рублей и монеты по 1, 2, 5, 10 рублей. Возможна ситуация, когда у киоска нет возможности выдать сдачу теми купюрами или монетами, что хранятся в ящике. В этом случае после нажатия на кнопку выдачи не производится выдача, а выводится сообщение, указывающее, минимальную сумму, которую надо добавить клиенту, чтобы киоск смог выдать сдачу. Например, пассажир покупает карту с 60 поездками на метро за 1570 рублей, опуская 1 купюру по 1000 рублей, 1 купюру по 500 рублей и 1 купюру по 100 рублей. Пусть в киоске есть только 2 монеты по 10 рублей, а других монет нет. Киоск мог бы выдать сдачу 50рублевой купюрой из денежного ящика. В такой ситуации автомат высвечивает сообщение «Добавьте сумму 20 руб. чтобы получить сдачу.».
При нажатии на кнопку "Возврат" клиенту возвращаются все принятые от него к оплате деньги. Возврат денег не производился после выдачи карты. Киоск должен корректно работать при нажатии на "Возврат" во время выдачи карты.
В течение рабочего дня киоск накапливает данные о проданных картах (тип карты, емкость, стоимость, время покупки). В конце рабочего дня эти сведения передаются серверу транспортной компании, после чего удаляются из памяти. Задание включает в себя разработку схемы базы данных о типах карт, ценах, проданных и пополненных картах.
В специальном отделении киоска, закрываемом замком, есть сервисная консоль, которая используется обслуживающим персоналом. С консоли производится управление доступом к ящику с деньгами для изъятия/добавления купюр и монет, управление доступом к лоткам для загрузки или замены бланков карт, а также ввод данных о текущих типах карт и тарифах за проезд в память автомата. Данные включают в себя цену карт всех видов и всех емкостей, а также сведения о том, сколько бланков карт в каком лотке находится.

Вариант 11. Вебпетиция

К списку вариантов


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

Зарегистрированный пользователь может либо подписать/поддержать чужую петицию, либо составить свои собственные петиции и управлять ими. Для того, чтобы поддержать петицию, пользователь должен войти в систему. Затем в списке петиций он выбирает одну (ту, по которой сбор подписей еще открыт). Затем пользователь отправляет свой голос в поддержку петиции, указывая хочет ли он, чтобы его имя высвечивалось в списке тех, кто подписал петицию. Также пользователь может оставить комментарий, объясняющий, по каким причинам он поддерживает петицию. Если пользователь хоче отозвать свою подпись, сайт «Вебпетиция» дает ему возможность это сделать. После того как подпись отозвана, имя пользователя не может быть показано в списке поддержавших петицию. После отзыва подписи возможность снова подписать петицию не предоставляется. При желании пользователь может прокомменировать причины отзыва своего голоса. Поддержка петиции также может заключаться в том, что пользователь может отправить приглашения подписать петицию другим пользователям сайта, которых он пометил, как своих друзей.

Зарегистрированный пользователь может составлять свои собственные петиции. При создании петиции следует указать ее название, краткое и полное описание, адресатов (те организации или органы власти, к которым она адресована), а также срок -- количество суток, по истечении которых сбор подписей будет прекращен. К своим активным петициям пользователи могут оставлять новости -- заметки с описанием событий, относящихся к петиции, с указанем прогресса в сборе подписей, или реакции в СМИ, органах власти, в обществе. Пользователи, подписавшие петицию, могут комментировать новости по ней. Автор петиции может досрочно прекратить сбор подписей, а также поместить петицию в архив, после чего она перестает отображаться в открытых списках на сайте. Если автор петиции более полугода не обновляет петицию (не редактирует, не добавляет новости и т. п.) петиция автоматически переводится в приостановленное состояние. Сбор подписей по таким петициям приостанавливается. Автор может заново открыть приостановленные петиции. Приостановленная петиция, состояние которой не меняется в течение полугода после приостановки, автоматически переводится в архив.

Петиции публикуются на сайте после просмотра редакторами сайта. Публикация может быть ими отклонена. Редакторы могут просматривать новости, добавляемые авторами петиций и комментарии, оставляемые пользователями. Если они находят недопустимые материалы, новость или комментарий подлежит удалению. При удалении новости удаляются все комментарии к ней. Редакторы могут замораживать действие аккаунтов пользователей, если те нарушают правила пользования сайтом. Когда такой пользователь пытается зайти в систему, ему выдается сообщение о заморозке аккаунта.

Внутри сайта есть система отправки сообщений. Автор петиции получает автоматические сообщения о своих петициях. Сообщения содержат данные либо о действиях пользователей (кто-то подписал, кто-то отозвал подпись, кто-то прокомментировал), либо о действиях редакторов (удалена новость, удален комментарий, петиция опубликована, петиция отклонена), либо действиях системы (петиция приостановлена, петиция переведена в архив). Пользователь, подписавший петицию получает сообщения о ней (добавлена новость, завершен сбор подписей, достигнуто очередное значительное количество поддержавших пользователей: 100, 250, 500, 1000, 1500, 2000, и далее с шагом 1000). Полученные сообщения могут быть удалены.

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

Следует разработать схему базы данных сайта «Вебпетиция».

Вариант 12. Инфомат в книжном магазине

К списку вариантов


Инфоматы в книжном магазине служат для помощи покупателям, информирования их о расположении книг на полках в отделах магазина, анонсирования книжных новинок. Персоналу магазина система через специальные рабочие станции, не доступные покупателям, дает возможность совершать операции над данными о книгах (добавление, удаление и изменение). В системе хранятся следующие сведения о книге: фамилия, имя и отчество автора (авторов у книги может быть несколько); номер ISBN, штрих-код книги, название книги, цена книги, год издания, названия издательства, жанр книги, сведения о расположении книги в торговом зале (номер отдела магазина, номер шкафа, номер полки), количество экземпляров книги, доступное в текущий момент.

Клиентам магазина система через терминалы-инфоматы обеспечивает поиск книг на основании введенного номера ISBN, или названия книги, или автора, или издательства, или жанра. Покупатель может ввести штрих-код книги, пользуясь сканером, встроенным в инфомат, и получить сведения о книге. Покупатели могут осуществлять в системе только поиск и просмотр сведений о книгах. Если в результате поиска найдено несколько книг, система выводит на дисплей инфомата их список с указанием названий, сведений об авторах и ценах. Выбрав книгу из списка, покупатель получает возможность ознакомиться с полными сведениями о ней. Инфомат позволяет распечатать сведения о книге (название, авторы, цена, расположение книги в зале, количество доступных экземпляров).

Помимо бумажных книг магазин предлагает музыку и аудиокниги на CD, а также фильмы и видовые программы на дисках DVD и Blu Ray. Система должна информировать покупателей о дисках в том же объеме как о книгах. Персоналу магазина должна быть предоставлена возможность вводить, изменять, удалять данные о дисках. Система должна быть способна хранить о диске следующие данные: название, тип диска (CD, DVD, Blu Ray), цена диска, список людей, имеющих отношение к материалам на диске (авторов, актеров, исполнителей и т. п.), штрих-код с обложки диска, год выпуска диска, производитель диска, количество доступных экземпляров диска.

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

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

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

Предупреждение


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

  

© Кафедра системного программирования ВМК МГУ.

Обновлено: 1.3.2016