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

Варианты задания практикума по ООАиП. Группы 431, 441. 2013-14 учебный год


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

Требования


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

  1. Составление глоссария проекта.

  2. Создание модели вариантов использования.

  3. Анализ вариантов использования (по окончании производится промежуточная сдача задания).

  4. Проектирование системы.

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

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

  • отдельное взаимодействие (Interaction) с диаграммами последовательности, реализующими вариант использования,

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

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

При проектировании системы (4й этап) требуется:

  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Б. Торговый автомат

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


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

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

Вариант 2Б. Табло в поезде метро

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


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

  • текущее время (часы, минуты, секунды, отчёт которых ведётся с помощью электронных часов, установленных в поезде и являющихся частью системы);

  • ближайшая станция, к которой прибывает поезд;

  • конечная станция, до которой следует поезд;

  • рекламное сообщения (одно из хранящихся в памяти системы).

Когда поезд находится на промежуточной станции маршрута, сведения таковы:

  • текущая станция;

  • станции, на которые можно сделать пересадку, если таковые есть;

  • следующая станция;

  • конечная станция, до которой следует поезд.

Когда поезд находится на конечной станции маршрута, сведения таковы:

  • текущая станция;

  • станции, на которые можно сделать пересадку, если таковые есть;

  • сообщение о том, что поезд дальше не идёт, и пассажиры должны покинуть вагоны.

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

Вариант 3Б. Терминал оплаты

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


Терминал оплаты «Эму» – это автомат для приёма платежей наличными деньгами или по кредитным пластиковым карточкам. В его состав входят следующие устройства: дисплей, клиентская консоль с кнопками, хранилище денег и лоток для их приёма, принтер для печати справок, сервисная консоль с кнопками. Терминал подключён к линии связи для обмена данных с центральным сервером, хранящим сведения о клиентах, их счетах и операциях по счетам.
Обслуживание клиента начинается с приглашения ввести свой логин и пин-код. Логином является 11-тизначный телефонный номер, совпадающий с номером мобильного телефона клиента. Пин-код представляет собой четырёхзначное число. Затем терминал оправляет запрос на центральный сервер для проверки правильности пин-кода. Если код указан неверно, пользователю предоставляются ещё две попытки для ввода правильного пин-кода. После ещё двух неудач терминал заново запрашивает логин и код, блокируя при этом на 15 минут попытки входа в систему с тем же логином. После ввода правильного кода терминал предлагает пользователю выбрать операцию. Клиент может либо внести наличные на свой счёт, либо узнать остаток на его счету, либо осуществить безналичный платёж со своего счёта.
При внесении наличных на счёт терминал предлагает поместить банкноты одну за другой в приёмный лоток (принимаются купюры достоинством 10, 50, 100, 500, 1000, 5000 рублей). Каждая принятая банкнота перемещается в хранилище денег, при этом сумма внесённых средств, отображаемая на экране, соответственно увеличивается. По окончании внесения денег клиент нажимают кнопку на клиентской консоли. Терминал запрашивает его, нужно ли печатать справку по операции. Получив ответ терминал передаёт центральному компьютеру серверу сведения о произведённой операции. Получив по линии связи подтверждение, терминал выводит на экран результат операции и печатает справку по произведённой операции, если она была затребована клиентом.
Если клиент хочет узнать остаток на счету, то терминал посылает запрос центральному серверу и выводит сумму остатка на дисплей. По требованию клиента печатается и выдаётся соответствующая справка.
Если клиент хочет осуществить безналичный платёж, то терминал запрашивает у него банковские реквизиты получателя платежа и сумму платежа. Затем терминал посылает запрос центральному серверу на совершение платежа. Варианты ответа на такой тип запроса следующие: платёж осуществлён; ошибка в реквизитах получателя платежа; недостаточно денег на счету клиента для осуществления платежа. В случае успешного совершения платежа, на дисплей выводится сообщение "платёж осуществлён". Далее терминал печатает справку по произведённой операции, если она была затребована клиентом.
По окончании работы с терминалом клиент должен выйти из сеанса.
Сервисная консоль, которая используется обслуживающим персоналом, находится в специальном отделении терминала, закрываемом на замок. С консоли производится управление доступом к хранилищу денег для выгрузки банкнот, конфигурация сетевого соединения с центральным сервером и проверка его работоспособности.
Примечание: центральный сервер не является частью моделируемой системы, но проектирование схемы базы данных о клиентах, счетах и операциях является частью задания.

Вариант 4Б. Интернет-магазин

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


Магазин компьютеров предлагает возможность приобретения своих товаров через Интернет. Клиент может выбрать компьютер на web-странице магазина. Компьютеры подразделяются на серверы, настольные, портативные и карманные. Заказчик может выбрать стандартную конфигурацию из списка и детально ознакомиться с ней на отдельной web-странице. Если стандартная конфигурация ему не подходит, он может построить требуемую ему конфигурацию в диалоговом режиме. Компоненты конфигурации (такие, как оперативная память, процессор, жёсткий диск и т. п.) представляются как список для выбора из доступных альтернатив. Для каждой новой конфигурации система может подсчитать цену.
Чтобы оформить заказ, клиент должен заполнить электронную форму с адресами для доставки товара и отправки счета-фактуры, а также деталями, касающимися оплаты. Оплата компьютеров осуществляется наличными курьеру, осуществляющему доставку, или банковским переводом на счёт Интернет-магазина. После ввода заказа система отправляет клиенту по электронной почте сообщение с подтверждением получения заказа вместе с относящимися к нему деталями (стоимость, номер счета, банковские реквизиты для безналичной оплаты и т. п.). Пока клиент ожидает прибытия компьютера, он может проверить состояние заказа (поставлен в очередь / собран / отправлен). Работник магазина проверяет, поступила ли оплата (в случае безналичного расчёта) и делает соответствующую пометку при поступлении денег. Если деньги не поступают в течение 5 банковских дней, заказ аннулируется. После оплаты или в случае оплаты наличными работник печатает счёт-фактуру и отправляет её на склад вместе с требованием заказанной конфигурации. Заказ помечается как поставленный в очередь. Собранный компьютер вместе со счётом-фактурой и накладной передаётся со склада в отдел доставки, при этом заказ помечается как собранный. Компьютер поставляется клиенту (статус заказа – отправлен). Если заказ оплачивается наличными, курьер по возвращении передаёт деньги в кассу, заказ помечается как оплаченный.
По окончании работы с заказом, он помечается в системе как выполненный.
Следует разработать схему базы данных о стандартных конфигурациях, компонентах, ценах, клиентах, заказах.

Вариант 5Б. Информационная система книжного магазина

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


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

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

Вариант 6Б. Блог

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


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

Вариант 7Б. Сетевой фотохостинг

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


Система поддержки сетевого фотохостинга позволяет фотолюбителям размещать изображения в Веб. Чтобы стать пользователем фотохостинга нужно зарегистрироваться. В регистрационную форму следует ввести следующие сведения: фамилию, имя и отчество пользователя; его логин и пароль. Если форма заполнена верно и логин не совпадает с логином другого пользователя, регистрационная запись о новом пользователе создаётся.
Чтобы использовать услуги фотохостинга зарегистрированный пользователь должен войти в систему. При входе он указывает логин и пароль. Залогиненный пользователь попадает на свою персональную страницу. На этой странице отображаются 10 последних загруженных им фотографий (или менее, если их недостаточно). Если снимков загружено больше 10, то с начальной страницы можно перейти на вторую, где отображается второй десяток фотографий и т. д.. Снимки упорядочены по убыванию даты загрузки. Любой загруженный снимок может быть удалён его автором, либо сведения о загруженном снимке могут быть изменены. При загрузке снимка автор указывает расположение файла снимка на локальном компьютере, его описание и его имя, под которым изображение будет храниться на хостинге. Если имя совпадает с именем ранее загруженного снимка, выдаётся сообщение об ошибке. Загрузка доступна, пока общий объём изображений пользователя меньше 500 Мб.
Пользователь может осуществлять поиск среди своих загруженных снимков. При поиске он может указать дату загрузки, часть описания или имени снимка. Результаты поиска выдаются в виде нескольких страниц, на каждой из которых представлено по 10 фотографий. Снимки в списке сопровождаются ссылками, которые пользователь может использовать на других веб-ресурсах (блогах, форумах), чтобы его снимки отображались в его сообщениях.
Пользователь может изменить свой пароль. Пароль не может быть короче 8 символов.
Пользователь может полностью удалить свою учётную запись вместе со всеми своими снимками. После удаления регистрационные данные стираются из системы.
Вариант задания включает в себя разработку схемы базы данных для хранения фотографий, а также информации о зарегистрированных пользователях.

Вариант 8Б. Турникет метро

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


Турникеты контролируют проход пассажиров в метро и взимают входную плату. Любой турникет имеет устройство, считывающее данные с бесконтактных карт, створки из ударопрочного стекла для перекрывания прохода, таймер, оптические датчики для контроля прохода пассажира, устройство подачи звуковых сигналов, индикаторы "Проход" и "Стоп", индикатор количества оставшихся поездок.
В начальном состоянии турникета зажжён индикатор "Стоп", индикатор "Проход" потушен, передние и задние створки закрыты. Если датчик, расположенный до створок, или датчик расположенный после створок, посылает сигнал, то турникет подаёт предупредительный звуковой сигнал и остаётся в исходном состоянии. Для прохода пассажир должен поднести бесконтактную карту к считывающему устройству. Каждая карта имеет срок годности, по истечении которого она не может быть использована для прохода. Пассажирские карты бывают трёх типов: с фиксированным количеством поездок, с неограниченным количеством поездок и карты "99 минут". Турникет считывает с карты данные: срок годности карты, номер карты, тип карты и количество поездок. Если данные не удаётся считать, или карта просрочена, или количество поездок нулевое, то турникет подаёт предупредительный звуковой сигнал и остаётся в исходном состоянии. Иначе с карты с фиксированным количеством поездок списывается одна поездка, индикатор "Стоп" гаснет, зажигается индикатор "Проход", индикатор количества оставшихся поездок высвечивает текущее значение, открываются створки и пассажир может пройти сквозь турникет. Получив от датчика после створок сообщение, что пассажир вышел из турникета, турникет закрывает створки и возвращается в начальное состояние. Если карта имеет неограниченное количество поездок, то при проходе с картой такого типа индикатор количества оставшихся поездок высвечивает символ ∞ (бесконечность), а поездки не списываются. Если карта относится к третьему типу ("99 минут"), то работа с ней ведётся почти также как с картой с фиксированным количеством поездок, за одним исключением: в течение 99 минут с момента списания поездки карта даёт право прохода без списания последующих поездок. Во избежание злоупотреблений с картами "99 минут" и с картами без лимита поездок в течение пяти минут после любого прохода пассажира через любой турникет должны блокироваться остальные попытки прохода с той же картой через все турникеты той же станции метро.
Турникет заносит в свою память время всех проходов по пассажирским картам (в том числе безуспешных) и номера карт, используемых при проходах. В конце рабочего дня он передаёт всю информацию, накопленную за день, в АСУ метрополитена. В ходе выполнения этого варианта задания должна быть разработана схема базы данных о проходах через турникет и использованных картах.

Вариант 9Б. Система складского учёта

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


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

  • список всех товаров;

  • инвентаризационную опись товаров, имеющихся в наличии;

  • список товаров, количество которых необходимо пополнить;

  • список товаров, поставляемых данным поставщиком;

  • все позиции в каком-либо приходе товара;

  • все позиции в какой-либо расходной накладной.

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

Вариант 10Б. Система поддержки составления расписания занятий

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


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

Вариант 11Б. Торговый терминал

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


Торговый терминал (автоматизированная касса самообслуживания покупателей) обеспечивает расчёт с клиентами супермаркета «Шестёрочка». Терминал снабжён дисплеем, консолью с кнопками, устройством чтения штрих-кода (сканером), печатающим устройством, выдающим чеки, линиями связи с сервером данных супермаркета и с банком, устройством чтения банковских карт.
Очередной покупатель, подходя к терминалу, нажимает кнопку "Новый чек". Дисплей терминала высвечивают нулевую сумму. Каждый купленный товар снабжён штрих-кодом, который считывается сканером, когда покупатель подносит товар к нему. На дисплее высвечивается наименование и стоимость товара и текущая сумма чека. Когда все сведения о купленных товарах введены, покупатель нажимает кнопку "Расплатиться". При этом терминал высвечивает на дисплее приглашение вставить банковскую карту в приёмник. После вставки карты в ридер, покупатель должен ввести четырёхзначный пин-код. Если трижды введён неверный пин-код, карта конфискуется, а чек аннулируется. Если пин-код верен, терминал по линии связи с банком отправляет запрос на операцию для оплаты покупки. Варианты ответов на запрос: операция одобрена банком, операция невозможна, так как карта блокирована, операция невозможна, так как превышен кредитный баланс, операция невозможна из-за сбоя. Если операция одобрена, терминал печатает чек с указанием даты и времени покупки, всех купленных товаров (для каждого печатается код товара, наименование товара, стоимость товара, сумму скидки на товар, если есть), общей суммы скидки, итоговой суммы к оплате, сведений о проведённой операции и использованном торговом терминале. Затем терминал пересылает полные сведения о чеке серверу данных супермаркета, после чего он готов обслужить следующего клиента. Если операция невозможна, клиент может попробовать оплатить другой картой или отказаться от покупки совсем.
Данные о товарах, ценах и скидках, торговый терминал получает с сервера данных супермаркета. В ходе выполнения этого варианта задания должна быть разработана схема базы данных о товарах, ценах, скидках, чеках (покупках).
В связи с изменением в законодательстве торговый терминал должен особым образом обрабатывать покупку спиртных напитков. С 23-00 до 8-00 в чек не могут быть добавлены товары, являющиеся напитками, содержащими спирт в количестве более 5% объёма.
У терминала помимо рабочего режима работы есть сервисный режим. Терминал может быть переключён в сервисный режим обслуживающим персоналом при помощи специального штрих-кода и пин-кода. В сервисном режиме можно настраивать параметры сетевых соединений с сервером данных и с банком, извлекать конфискованные банковские карты. Обратное переключение в рабочий режим производится обслуживающим персоналом также с помощью штрих-кода и пин-кода.

Вариант 12Б. Сетевое хранилище файлов

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


Система поддержки сетевого файлового хранилища позволяет пользователям размещать свои файлы в Веб. Чтобы стать пользователем хранилища нужно зарегистрироваться. В регистрационную форму следует ввести следующие сведения: фамилию, имя и отчество пользователя; его логин и пароль. Если форма заполнена верно и логин не совпадает с логином другого пользователя, регистрационная запись о новом пользователе создаётся.
Чтобы использовать услуги хранилища зарегистрированный пользователь должен войти в систему. При входе он указывает логин и пароль. Залогиненный пользователь попадает на свою персональную страницу. На этой странице отображается список загруженных им файлов и созданных им каталогов, расположенных в корневом каталоге пользователя. Про элементы списка сообщается имя, дата изменений, тип доступа (публичный или приватный), размер (только для файлов). Элементы списка можно сортировать по имени, по дате, по типу, по размеру. Любой файл или каталог может быть переименован, удалён, либо может быть изменён режим доступа к нему. При удалении каталога удаляется всё его содержимое -- все вложенные каталоги и файлы. Хранилище обеспечивает пользователю навигацию по дереву каталогов и файлов. Можно переходить на страницы вложенных каталогов или подыматься на уровень выше -- в родительский каталог.
При загрузке файла автор указывает расположение файла на своём локальном компьютере и его имя, под которым он будет находиться в хранилище. Файл загружается в текущий каталог, страница которого открыта пользователем. Если имя совпадает с именем ранее загруженного файла, выдаётся предупреждение и приглашение перезаписать ранее загруженный файл. Пользователь может согласиться или отказаться. Загрузка файлов доступна пользователю, пока общий их объём меньше 10 Гб. Количество свободного файлового пространства сообщается пользователю на каждой странице.
Загруженные файлы пользователь может скачивать. Для файлов с публичным режимом доступа пользователь может получить ссылки для скачивания их любым пользователем Сети. Для скачивания по таким ссылкам нет необходимости регистрироваться и входить в систему хранилища. По такой ссылке хранилище открывает страницу-форму со сведениями о скачиваемом файле и кнопкой "Скачать", после нажатия на которую передаёт файл пользователю. Если файл удаляется пользователем, он перестаёт быть доступным по публичной ссылке. То же происходит при смене режима доступа на приватный. Файлы, находящиеся в приватном режиме могут быть скачены залогиненным пользователем со страницы каталога, где они помещены.
Пользователь может осуществлять поиск среди своих загруженных файлов и каталогов. При поиске он может указать период, содержащий дату искомого файла, часть имени, ограничение на размер. Результаты поиска выдаются в виде списка с указанием полных имён, содержащих помимо имени элемента последовательность имён каталогов, отражающих путь к файлу из корневого каталога.
Пользователь может изменить свой пароль. Пароль не может быть короче 8 символов.
Пользователь может полностью удалить свою учётную запись вместе со всеми своими каталогами и файлами. После удаления регистрационные данные стираются из системы.
Вариант задания включает в себя разработку схемы базы данных о зарегистрированных пользователях, их файлах и каталогах.

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


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

  

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

Обновлено: 29.11.2013