Главная страница « Информация « 4 курс « курс ООАП «
|
Варианты задания практикума по ООАП. 2013-14 учебный год
|
Нет проблем! Мы можем покончить с этой ерундой за выходные!
Э. Йордон Путь камикадзе
|
Требования (версия для Modelio)
|
|
|
В каждом из предложенных вариантов требуется построить UML модель программного обеспечения в среде Modelio.
Процесс создания модели состоит из нескольких этапов:
Составление глоссария проекта.
Создание модели вариантов использования.
Анализ вариантов использования (по окончании производится
промежуточная сдача задания).
Проектирование системы.
Процесс создания модели должен проходить так, как это описано
в методическом пособии (см. Modelio).
Структура модели должна соответствовать структуре,
предусмотренной Rational Unified Process.
После выполнения третьего этапа модель должна удовлетворять перечисленным
ниже требованиям. Глоссарий проекта должен иметь вид таблицы и храниться
в отдельном файле. Каждое действующее лицо (actor) и вариант использования
должны сопровождаться описанием. Описание действующего лица должно коротко
(в одну-две строки) сообщать о роли данного лица. Описание варианта
использования должно включать в себя краткое описание, предусловие, потоки событий
(основной и альтернативные -- один или более) и постусловие.
Все описания действующих лиц и вариантов использования следует собрать в один текстовый файл. Описания должны быть составлены на русском языке. Для одного из вариантов использования должна быть составлена диаграмма деятельности, моделирующая его основной поток и альтернативные потоки.
В Analysis Model следует создать диаграмму KeyAbstractions, на которой отображены все классы -- ключевые абстракции и связи между ними. Следует создать пакет, названный Usecase realizations внутри Analysis Model. В этом пакете следует для каждого варианта использования создать:
отдельное взаимодействие (Interaction) с диаграммами последовательности, реализующими вариант использования,
отдельную диаграмму классов View of Participating Classes с классами анализа, участвующими в реализации варианта использования.
Все классы анализа следует разместить в пакете Analysis Model (на верхнем уровне). В Analysis Model следует создать диаграмму Main, на которой отображены все классы анализа и все связи между ними. Все созданные диаграммы должны содержать необходимые пояснения в виде примечаний. В сложных потоках событий ветвления и циклы должны быть промоделированы с помощью блоков на диаграммах последовательности.
В ходе работы рекомендуется перед переходом к анализу вариантов использования согласовать модель вариантов использования с преподавателем.
При проектировании системы (4й этап) требуется:
Разбить систему на уровни.
Создать структуру пакетов внутри Design model, как это описано в методичке.
Разработать диаграмму размещения, в зависимости от варианта задания диаграмма размещения должна показывать расположение процессов системы в вычислительной среде или связи между процессором и устройствами.
Разместить классы по пакетам в Design model, как это описано в методичке и рассказано в лекциях.
Рассмотреть возможность выделения подсистемы, в частности, в большинстве вариантов предусмотрена работа с устойчивыми объектами, её следует поручить подсистеме обеспечения устойчивости (взаимодействия с БД).
Создать интерфейс подсистемы, дать полные сигнатуры его операциям. Описание интерфейса поместить в текстовый файл, где указать краткое описание (ответственность подсистемы) и таблицу с описанием операций (полная сигнатура, описание).
Для подсистемы создать класс-фасад и другие классы подсистемы, связи между подсистемой и другими частями системы показать на отдельной диаграмме классов, связи между классами подсистемы показать на ещё одной диаграмме классов, создать диаграммы последовательности для описания реализации операций интерфейса подсистемы.
Изменить реализации вариантов использования, указав на них «экземпляры» интерфейсов подсистем.
Уточнить связи между классами системы, заменяя необязательные ассоциации на зависимости, указывая направления у всех оставшихся ассоциаций, выбирая при необходимости тип ассоциации: агрегация или композиция.
Уточнить типы атрибутов классов и дать полные сигнатуры операциям классов.
Каждый класс снабдить описанием, помещённом общий текстовый файл, где ранее описан интерфейс подсистемы, которое должно включать в себя краткое описание (ответственность класса), описание атрибутов в виде таблицы (имя, тип, описание), таблицу с описанием операций (полная сигнатура, описание).
Для описания поведения экземпляров отдельных классов со сложным поведением построить диаграммы состояний (в модели должна быть хотя бы одна нетривиальная диаграмма состояний).
Построить диаграммы деятельности для моделирования сложных методов с альтернативами и/или циклами (в проектной модели должна быть хотя бы одна нетривиальная диаграмма деятельности).
Разработать схему базы данных и отобразить её на диаграмме классов (во всех вариантах кроме 18).
|
|
Видеопрокат
Торговый автомат
Табло в поезде метро
Онлайновая билетная касса
Система контроля успеваемости
Управление контактами с клиентами
Терминал оплаты
Интернет-магазин
Сетевое фотосообщество
Блог
Информационная система книжного магазина
Торговый терминал
Информационный киоск метро
Турникет метро
Игра «Тетрис»
Система складского учёта
Система поддержки составления расписания занятий
Телефон
Игра «Пасьянс-косынка»
Система начисления зарплаты
Документооборот с налоговой инспекцией
Система для ввода информации при приёме сотрудника на работу
Сетевое хранилище файлов
Сетевой фотохостинг
|
|
Пункт проката видео нуждается в компьютерной системе. Его ассортимент составляет около тысячи видеодисков. В прокате имеются видеодиски разных форматов: DVD, MPEG4, Blu-Ray, HD-DVD. Фильмы закупаются у разных поставщиков. Обычно один заказ поставщику делается на несколько фильмов. База данных хранит обычную информацию о поставщиках: их адреса, телефонные номера и т. д. В каждом заказе поставщику указывается: перечень фильмов; их количество, форматы дисков; отпускная цена.
Каждый видеоноситель при поступлении от поставщика снабжается штрих-кодом (содержащим уникальный идентификационный номер) для того, чтобы сканер, интегрированный в систему, мог поддерживать операции выдачи и возврата видеофильмов.
Каждому клиенту при первом обращении в видеопрокат выдаётся клиентская карточка со штрих-кодом для автоматизации обработки его запросов. Данные о клиенте (ф. и. о., телефон, адрес) заносятся в базу данных.
При выдаче фильма в прокат устанавливается конкретный период проката (исчисляемый в днях). Плата за прокат вычисляется как произведение количества дней на цену одного дня проката. Цена зависит от формата диска (Blu-Ray дороже DVD и т. п.). Плата за прокат взимается в момент выдачи. За диски, возвращенные позже срока, взимается дополнительная плата за период, превышающий срок проката. Если диск задержан более чем на два дня, клиента ежедневно уведомляют о задержке. После двух уведомлений о задержке одного и того же диска, клиент заносится в список нарушителей. При следующем его обращении в видеопрокат работник проката решает: оставить клиента в списке нарушителей и отказать в обслуживании или удалить из списка нарушителей и обслужить. При порче видеоносителя клиентом с него взимается штраф. Испорченный видеоноситель списывается с баланса пункта проката, данные о нём удаляются из системы.
Система должна обладать поисковым механизмом по базе видео. Работники проката должны иметь возможность быстро получить ответ, имеется ли фильм в наличии, в каком количестве и на каких носителях. Если все носители фильма выданы в прокат, то система должна сообщить ближайшую дату возврата.
Постоянные клиенты (к ним относятся те, кто более десяти раз в течении 12 месяцев воспользовался услугами проката) могут оставлять заявки на фильмы, которых нет в прокате и которые не заказаны у поставщика. Фильмы из таких заявок включаются в следующий заказ поставщику, и в момент поступления фильмов от поставщика клиенты уведомляются о выполнении их заявок. Данные о выполненных заявках хранятся в течение 12 месяцев, после чего удаляются.
Клиенту одновременно могут быть выданы несколько дисков, однако каждому выданному видеоносителю ставится в соответствие отдельная запись. Для каждого выдаваемого напрокат фильма фиксируются дата и время выдачи, стоимость проката, установленный и фактический срок возврата. При возврате запись о прокате обновляется, чтобы отразить этот факт. Кроме того, запись хранит информацию о работнике, оформившем прокат. Записи хранятся в течение 12 месяцев, после чего удаляются.
|
|
Торговый автомат осуществляет продажу транспортных карт пассажирам городского транспорта. Используются 4 вида бланков в зависимости от вида транспорта (автобус, трамвай, троллейбус, метро). В состав автомата входят следующие устройства: информационное табло, кнопки выбора вида транспорта, кнопки выбора ёмкости карт, считыватель пополняемых карт, хранилище денег и лоток для их выдачи, хранилище бланков карт и лоток для их выдачи, принтер для печати на бланках карт, сервисная консоль, линии связи со станцией обслуживания и сервером транспортной компании.
Загрузка бланков карт в автомат осуществляется обслуживающим персоналом. Автомат следит за наличием бланков карт. Если бланки какого-либо вида заканчиваются, автомат отправляет сообщение об этом на станцию обслуживания по линии связи и информирует покупателей (зажигается красная лампочка рядом с кнопкой выбора данного вида транспорта).
Автомат принимает к оплате бумажные купюры и монеты. После ввода денег клиент выбирает вид транспорта нажатием на одну из четырёх кнопок. Затем клиент должен выбрать емкость карты при помощи одной из 11 кнопок выбора ёмкости. Ёмкости бывают: 1 поездка, 2 поездки, 5 поездок, 10 поездок, 20 поездок, 60 поездок, 1 день, 5 дней, 30 дней, 90 дней, 365 дней. После того как пассажир сделал свой выбор, выдача карты производится только в том случае, если имеются бланки выбранных карт, и если введённая сумма денег не меньше цены карты выбранной ёмкости. В этом случае автомат использует бланк карты из лотка, где лежат бланки нужного вида, и записывает на карту данные о времени продажи карты и её ёмкости. Дата продажи карты и её ёмкость печатаются на её бланке. Готовая карта выдаётся клиенту. Если введённая клиентом сумма превышает цену карты, вместе с картой выдаётся сдача. За один сеанс клиент может купить не более одной карты.
У некоторых пассажиров имеются пополняемые транспортные карты. Автомат даёт возможность заряжать пополняемую карту. Для пополнения пассажир должен вставить карту в считыватель. Автомат считывает данные со вставленной карты и определяет вид транспорта, на котором действует карта. Пополнение неисправных карт не производится. Если на карте имеются нерастраченные поездки, то пассажир может оплатить и добавить некоторое количество добавляемых поездок (1, 2, 5, 10, 20, 60 поездок), но не дни проезда. Если на карте есть нерастраченные дни, автомат разрешает пополнять такую карту только днями проезда (1, 5, 30, 90, 365), но не поездками. Если карта разряжена (0 поездок и 0 дней), пассажир может пополнить её либо днями либо поездками по своему выбору (но не тем и другим одновременно). Пополнение происходит схоже с тем, как описано выше. Разница в том, что вместо бланка карты используется пополняемая карта, вставленная в автомат клиентом, и что печать на пополняемых картах не производится.
На автомате имеется информационное табло, на котором высвечивается текущая сумма денег, принятых автоматом к оплате, и сообщения для клиентов, такие как: «введите деньги», «выберите вид транспорта», «выберите ёмкость карты», «введённой суммы недостаточно», «закончились бланки», «заберите карту», «заберите сдачу», «заберите деньги», «добавьте сумму ... руб. чтобы получить сдачу».
Купюры и монеты, имеющиеся в распоряжении автомата, хранятся в денежном ящике. Автомат хранит сведения о том, сколько купюр или монет какого номинала есть в ящике. Принимаются купюры по 10, 50, 100, 500, 1000, 5000 рублей и монеты по 1, 2, 5, 10 рублей. Возможна ситуация, когда у автомата нет возможности выдать сдачу теми купюрами или монетами, что хранятся в ящике. В этом случае после нажатия на кнопку выдачи товара не производится выдача, а выводится сообщение, указывающее, минимальную сумму, которую надо добавить клиенту, чтобы автомат смог выдать сдачу. Например, пассажир покупает карту с 1 поездкой на метро за 28 рублей, опуская 3 монеты по 10 рублей. Пусть в автомате есть только монеты по 5 или 10 рублей, а по 1 рублю и по 2 рубля нет. В такой ситуации автомат высвечивает сообщение «Добавьте сумму 3 руб. чтобы получить сдачу.».
При нажатии на кнопку "Возврат" клиенту возвращаются все принятые от него к оплате деньги. Возврат денег не производится после выдачи карты. Автомат должен корректно работать при нажатии на "Возврат" во время выдачи карты.
В течение рабочего дня автомат накапливает данные о проданных или пополненных картах (тип карты, ёмкость, стоимость, время покупки). В конце рабочего дня эти сведения передаются серверу транспортной компании, после чего удаляются из памяти. Задание включает в себя разработку схемы базы данных о типах карт, ценах, проданных и пополненных картах.
В специальном отделении автомата, закрываемом замком, есть сервисная консоль, которая используется обслуживающим персоналом. С консоли производится управление доступом к ящику с деньгами для изъятия/добавления купюр и монет, управление доступом к лоткам для загрузки или замены бланков карт, а также ввод данных о текущих тарифах за проезд в память автомата. Данные включают в себя цену карт всех видов и всех ёмкостей, а также сведения о том, сколько бланков карт в каком лотке находится.
|
|
Система информационных табло расположена в каждом поезде метро. В любом вагоне имеется несколько экранов для выдачи в виде бегущей строки информации пассажирам. Все экраны всех вагонов одного поезда одновременно показывают одну и ту же информацию, они работают под управлением единой системы табло поезда. Когда поезд движется в туннеле, табло в цикле отображает следующие сведения:
текущее время (часы, минуты, секунды, отчёт которых ведётся с помощью электронных часов, установленных в поезде и являющихся частью системы);
температура в вагоне (полученная от датчика, расположенного в головном вагоне);
ближайшая станция, к которой прибывает поезд;
конечная станция, до которой следует поезд;
рекламное сообщения (одно из хранящихся в памяти системы).
Когда поезд находится на промежуточной станции маршрута, сведения таковы:
текущая станция;
станции, на которые можно сделать пересадку, если таковые есть;
следующая станция;
конечная станция, до которой следует поезд.
Когда поезд находится на конечной станции маршрута, сведения таковы:
текущая станция;
станции, на которые можно сделать пересадку, если таковые есть;
сообщение о том, что поезд дальше не идёт, и пассажиры должны покинуть вагоны.
Система отслеживает положение поезда на маршруте при помощи датчиков, расположенных в головном вагоне, и излучателей, установленных на путях при въезде и выезде со станций. Когда поезд прибывает на очередную станцию, он пересекает инфракрасный луч, и датчики срабатывают, оповещая систему о прибытии. Аналогично, при отправлении. По умолчанию конечными станциями являются первая и последняя станции линии, но у машиниста есть возможность при необходимости назначить конечными промежуточные станции на линии.
Сведения о станциях и о порядке их следования на маршруте хранятся в памяти системы. Также там хранятся до 10 рекламных сообщений. Рекламные сообщения отображаются друг за другом, циклически. Содержание рекламных сообщений загружается в память системы работником сервисной службы перед выходом поезда на линию. Те же работники обеспечивают актуальность сведений о станциях линии метро, на которой работает поезд.
Дополнительная функция табло по сигналу, который даёт машинист при незапланированной остановке поезда, выдать предупреждающее сообщение "Поезд скоро отправится, сохраняйте спокойствие". После возобновления движения поезда машинист переключает табло в обычный режим работы.
В ходе выполнения задания должна быть создана схема базы данных для хранения рекламных сообщений и о станциях, маршрутах, пересадках.
|
|
Онлайновая касса "Чух-чух.Рф" представляет собой web-сайт службы бронирования и доставки билетов на поезда дальнего следования.
Перед тем как впервые воспользоваться услугами кассы клиент должен зарегистрироваться. В ходе регистрации он указывает данные о себе (ф. и. о., телефон, адрес электронной почты, паспортные данные) и получает логин и пароль (логины и пароли разных клиентов не должны совпадать).
Войдя в систему, клиент может ознакомиться с расписанием движения поездов между нужными ему населёнными пунктами, выбрать станцию и дату отправления, а также номер поезда. Получив от системы сведения о билетах имеющихся в наличии, пользователь может забронировать нужное ему количество билетов. Билеты бывают разных типов: плацкартные, купейные (1, 2 и 3 класса), сидячие, в мягкий вагон, в вагон люкс и т. п. Места могут быть верхними, нижними, боковыми, в зависимости от расположения в вагоне. Цена билета зависит от маршрута следования, типа поезда (фирменный, скорый, пассажирский), типа вагона, в котором расположено пассажирское место, и расположения места в вагоне. Билеты могут быть выкуплены в течение трех суток с момента бронирования, но не позднее двух суток до отправления поезда. Клиент может самостоятельно выкупить забронированные билеты, приехав в офис, или заказать доставку билетов курьером, сделав пометку в заявке и указав адрес доставки. Стоимость доставки зависит от дальности: центр / спальный район / дальний пригород. Клиент может получить информацию обо всех своих заявках с web-страницы онлайновой кассы.
Заявки клиентов хранятся в системе. В каждой указаны: сведения о клиенте, сведения об одном или более билетах (к одной заявке может относиться несколько билетов на одно и то же имя), общая стоимость билетов в заявке, время создания заявки, время оплаты, вид доставки (самовывоз / курьер), адрес доставки, стоимость доставки, статус заявки (новая / рабочая / оплаченная / аннулированная). По истечении 12 месяцев с момента создания заявки данные автоматически удаляются из системы.
В обязанности работников онлайновой кассы входит внесение в систему сведений о расписании поездов, стоимости проезда и об имеющихся в наличии местах, на которые могут быть куплены билеты. Некоторые поезда ходят ежедневно. Другие назначаются только в определённый день (определённые дни) недели. Также есть отдельные поезда назначаемые на конкретные дни года. Данные о билете содержат уникальный номер билета, даты и станции отправления и прибытия, тип билета, номер места, цену билета, статус билета (место свободно / забронировано / продано / передано для реализации в кассы на вокзалах). По истечении 12 месяцев с даты, указанной в билете, данные автоматически удаляются из системы.
Работник кассы, получив новую заявку клиента, связывается с ним для подтверждения и уточнения мест. Согласовав с клиентом места, работник делает пометку о бронировании билетов в системе (тем самым уменьшается количество билетов, имеющихся в наличии) и меняет статус заявки на "рабочая". После оплаты и/или доставки "рабочей" заявки билеты из заявки помечаются как проданные, а заявка как оплаченная. За 2 суток до отправления поезда все не проданные билеты передаются для реализации в обычные кассы, в системе они автоматически помечаются как "передан для реализации", заявки на них аннулируются, клиенты, не успевшие оплатить заказанные билеты, информируются о снятии брони. Через 4 суток после создания все неоплаченные "рабочие" заявки автоматически аннулируются, бронирование с билетов снимается, клиентам посылается соответствующее сообщение. Также должна быть возможность аннулирования заявок вручную работниками онлайновой кассы. При аннулировании заявки вручную работник должен уведомить клиента, изменить статус заявки, снять бронирование билетов (количество билетов в наличии возрастает).
|
|
Система контроля успеваемости используется в университете для отслеживания работы студентов в семестре.
Сотрудники учебного отдела вводят в систему данные о студентах, преподавателях и учебных дисциплинах. Данные могут быть изменены и/или удалены. Студенты университета делятся на курсы. Курс делится на группы. Каждая группа студентов ходит на занятия по дисциплинам, которые ведутся преподавателями. Преподаватель может вести любое количество дисциплин у одной или нескольких групп. Несколько преподавателей могут вести одну и ту же дисциплину в одной и той же группе или в разных группах.
Преподаватели пользуются системой, чтобы отмечать успехи и неуспехи студентов, посещающих их занятия. В течение семестра преподаватель последовательно выдаёт студентам "своей" группы несколько заданий по своей дисциплине. Для каждого задания устанавливается контрольный срок, когда оно должно быть сдано. Когда студент сдаёт задание, преподаватель отмечает этот факт в системе. Он ставит «±», если задание сдано не до конца, «+» -- если задание сдано полностью. Система контроля автоматически ставит «−», если задание пока не сдано. От времени сдачи зависит цвет, которым отметка о сдаче выделена в системе. Если сдача проходила до установленного срока (за неделю и более), отметка высвечивается зелёным. Если сдача проходила после установленного срока (через неделю и более) отметка высвечивается красным. В остальных случаях отметка чёрная. Поскольку сдача может быть не полной, студент может сдавать задание несколько раз. После получения отметки «±» за это же задание может быть поставлена отметка «±» или «+», относящаяся к старшей дате. если за задание уже стоит отметка «+» никакая отметка не может быть поставлена за это же задание. По этим правилам преподаватели могут ставить одному и тому же студенту несколько отметок о сдаче одного и того же задания. Если преподаватель ошибся, он может удалить отметку или изменить её.
За сдачу заданий студентам начисляются баллы. Баллы зависят от текущей даты и от сведений об отметке по этому заданию, относящихся к самой старшей дате. Если на текущую дату студент имеет отметку «−» или «±», то ему начисляются штрафные баллы в количестве равном, количеству полных недель с момента наступления контрольного срока до текущей даты. Количество штрафных баллов неотрицательно. Если на текущую дату студент имеет отметку «+», полученную раньше наступления срока сдачи, то ему начисляются бонусные баллы в количестве, равном количеству полных недель с момента получения отметки «+» до наступления контрольного срока. Количество бонусных баллов неотрицательно. Если на текущую дату студент имеет отметку «+», полученную позже наступления срока сдачи, то ему начисляются штрафные баллы в количестве равном количеству полных недель с момента наступления контрольного срока до момента получения отметки. Количество штрафных баллов неотрицательно.
Преподаватель для любой группы, в которой он ведёт занятия, может видеть полный список группы с полным набором отметок по заданиям, раскрашенных по указанным выше правилам, с указанием штрафных и бонусных баллов и общей суммы баллов по всем заданиям. Преподаватель может начислять студентам, у которых он ведет задания, дополнительные бонусные (и штрафные) баллы, поощряя или наказывая их по своему усмотрению.
Студенты также могут пользоваться системой, чтобы узнать сроки сдачи заданий и результаты собственных сдач. Каждому студенту высвечивается сводная таблица, с отметками о сдаче заданий по всем, изучаемым им дисциплинам, с указанием штрафных и бонусных баллов, и номера в рейтинге по данной дисциплине. Рейтинг составляется на основе вычитания из бонусных баллов штрафных баллов. Сортировка в рейтинге идёт по невозрастанию. Чужие отметки студенты видеть не должны, это конфиденциальная информация.
Вариант задания включает в себя разработку схемы базы данных для хранения отметок, данных о студентах, дисциплинах и преподавателях.
|
|
Компания, поставляющая оборудование, в рамках обеспечения своей коммерческой деятельности нуждается в системе управления контактами со своей клиентурой. Клиенты делятся на два вида: текущие те, с которыми у компании заключены договора в текущий момент или ранее, и потенциальные.
Система управления контактами находится в распоряжении всех работников компании. Система поддерживает функции "постоянного контакта" с наличной и потенциальной клиентской базой, так, чтобы откликаться на её нужды, получать новые контракты, обеспечивать выполнение старых. Система позволяет сотрудникам планировать задания, которые необходимо провести в отношении контактных лиц. Некоторые сотрудники должны иметь доступ к планированию заданий только для себя, другие и для других сотрудников, и для себя.
Система хранит имена, номера телефонов и факсов, почтовые и электронные адреса и т. д. организаций и контактных лиц в этих организациях.
Каждое задание связано с каким-либо контактным лицом. Примерами заданий являются телефонный звонок, визит, отправка факса, отправка электронного сообщения, проведение презентации и т. д. Некоторые задания связаны с выполнением контракта, например, отправка оборудования, поставка, установка, гарантийный и послегарантийный ремонт. В таких заданиях указывается необходимая информация: номер контракта, серийный номер ремонтируемого оборудования. Каждое задание имеет дату создания время внесения её в систему. Некоторые задания имеют срок исполнения период времени от начальной даты до финальной, другие являются бессрочными. Дата создания задания не может изменяться, а срок исполнения может. По исполнении задания дата и время его завершения фиксируются.
Каждое задание имеет автора сотрудника, который его создал. Исполнителем задания может быть сотрудник, не являющийся автором. Рядовые сотрудники не могут назначать задания кому-либо кроме себя. Менеджеры назначают задания себе или кому-либо из рядовых сотрудников. Менеджер в ходе выполнения созданного им задания может поменять исполнителя.
Видеть информацию о задании, автором которого является менеджер, может либо автор, либо исполнитель задания. К заданиям, автором которого является рядовой сотрудник, кроме автора имеет доступ каждый менеджер. Приоритет каждого задания (низкий, средний, высокий) визуально выделяется на экране. Информация выдаётся системой в виде календаря, на котором дни имеют пометки, соответствующие заданиям, также система должна выдавать перечень заданий, попадающих на тот или иной день. Каждый менеджер может помимо своего календаря просматривать календари рядовых сотрудников. Помечать задание как выполненное и указывать дату завершения может либо автор, либо исполнитель задания. Вносить какие-либо другие изменения в задание может только автор. После завершения задания внесение в него изменений не допускается. По прошествии 12 месяцев после даты завершения задания сведения о нем удаляются из системы.
Администратор системы управляет доступом сотрудников: выдаёт логины и пароли пользователям, формирует две группы пользователей: менеджеров и рядовых сотрудников. Он также имеет доступ к специальным функциям, например, может изменить автора задания или внести изменения в завершённое задание.
Система имеет возможности для поиска в базе клиентов и контактных лиц по их атрибутам (названию, городу, имени контактного лица). Система генерирует отчет по исполнению заданий каким-либо сотрудником в течение периода времени, указываемого в параметре отчёта. В отчёте указывается: общее количество заданий для данного сотрудника в указанный период, сколько заданий завершено вовремя, сколько заданий завершено с нарушением срока исполнения, сколько заданий с истекшим сроком исполнения не завершено, и каково количество не завершённых заданий, срок исполнения которых не истёк.
|
|
Терминал оплаты «Эму» это автомат для приёма платежей наличными деньгами или по кредитным пластиковым карточкам. В его состав входят следующие устройства: дисплей, клиентская консоль с кнопками, хранилище денег и лоток для их приёма, принтер для печати справок, сервисная консоль с кнопками. Терминал подключён к линии связи для обмена данных с центральным сервером, хранящим сведения о клиентах, их счетах и операциях по счетам.
Обслуживание клиента начинается с приглашения ввести свой логин и пин-код. Логином является 11-тизначный телефонный номер, совпадающий с номером мобильного телефона клиента. Пин-код представляет собой четырёхзначное число. Затем терминал оправляет запрос на центральный сервер для проверки правильности пин-кода. Если код указан неверно, пользователю предоставляются ещё две попытки для ввода правильного пин-кода. После ещё двух неудач терминал заново запрашивает логин и код, блокируя при этом на 15 минут попытки входа в систему с тем же логином. После ввода правильного кода терминал предлагает пользователю выбрать операцию. Клиент может либо внести наличные на свой счёт, либо узнать остаток на его счету, либо осуществить безналичный платёж со своего счёта.
При внесении наличных на счёт терминал предлагает поместить банкноты одну за другой в приёмный лоток (принимаются купюры достоинством 10, 50, 100, 500, 1000, 5000 рублей). Каждая принятая банкнота перемещается в хранилище денег, при этом сумма внесённых средств, отображаемая на экране, соответственно увеличивается. По окончании внесения денег клиент нажимают кнопку на клиентской консоли. Терминал запрашивает его, нужно ли печатать справку по операции. Получив ответ терминал передаёт центральному компьютеру серверу сведения о произведённой операции. Получив по линии связи подтверждение, терминал печатает справку по произведённой операции, если она была затребована клиентом.
Если клиент хочет узнать остаток на счету, то терминал посылает запрос центральному серверу и выводит сумму остатка на дисплей. По требованию клиента печатается и выдаётся соответствующая справка.
Если клиент хочет осуществить безналичный платёж, то терминал запрашивает у него банковские реквизиты получателя платежа и сумму платежа. Затем терминал посылает запрос центральному серверу на совершение платежа. Варианты ответа на такой тип запроса следующие: платёж осуществлён; ошибка в реквизитах получателя платежа; недостаточно денег на счету клиента для осуществления платежа. В случае успешного совершения платежа, на дисплей выводится сообщение "платёж осуществлён". Далее терминал печатает справку по произведённой операции, если она была затребована клиентом.
По окончании работы с терминалом клиент должен выйти из сеанса. Если во время незавершённого сеанса в течение 5 минут клиент не совершает ожидаемого от него действия (нажатия кнопки, ввода банкноты и т. п.), то сеанс принудительно завершается.
Сервисная консоль, которая используется обслуживающим персоналом, находится в специальном отделении терминала, закрываемом на замок. С консоли производится управление доступом к хранилищу денег для выгрузки банкнот, конфигурация сетевого соединения с центральным сервером и проверка его работоспособности.
Примечание: центральный сервер не является частью моделируемой системы, но проектирование схемы базы данных о клиентах, счетах и операциях является частью задания.
|
|
Магазин компьютеров предлагает возможность приобретения своих товаров через Интернет. Клиент может выбрать компьютер на web-странице магазина. Компьютеры подразделяются на серверы, настольные, портативные и карманные. Заказчик может выбрать стандартную конфигурацию из списка и детально ознакомиться с ней на отдельной web-странице. Если стандартная конфигурация ему не подходит, он может построить требуемую ему конфигурацию в диалоговом режиме. Компоненты конфигурации (такие, как оперативная память, процессор, жёсткий диск и т. п.) представляются как список для выбора из доступных альтернатив. Для каждой новой конфигурации система может подсчитать цену.
Чтобы оформить заказ, клиент должен заполнить электронную форму с адресами для доставки товара и отправки счета-фактуры, а также деталями, касающимися оплаты. Оплата компьютеров осуществляется наличными курьеру, осуществляющему доставку, или банковским переводом на счёт Интернет-магазина. После ввода заказа система отправляет клиенту по электронной почте сообщение с подтверждением получения заказа вместе с относящимися к нему деталями (стоимость, номер счета, банковские реквизиты для безналичной оплаты и т. п.). Пока клиент ожидает прибытия компьютера, он может проверить состояние заказа (поставлен в очередь / собран / отправлен). Работник магазина проверяет, поступила ли оплата (в случае безналичного расчёта) и делает соответствующую пометку при поступлении денег. Если деньги не поступают в течение 5 банковских дней, заказ аннулируется. После оплаты или в случае оплаты наличными работник печатает счёт-фактуру и отправляет ее на склад вместе с требованием заказанной конфигурации. Заказ помечается как поставленный в очередь. Собранный компьютер вместе со счётом-фактурой и накладной передаётся со склада в отдел доставки, при этом заказ помечается как собранный. Компьютер поставляется клиенту (статус заказа отправлен). Если заказ оплачивается наличными, курьер по возвращении передаёт деньги в кассу, заказ помечается как оплаченный.
По окончании работы с заказом, он помечается в системе как выполненный. Заказы хранятся в системе в течение 15 месяцев с момента создания для составления годовых и квартальных отчётов, после чего автоматически удаляются.
Следует разработать схему базы данных о стандартных конфигурациях, компонентах, ценах, клиентах, заказах.
|
|
Система поддержки сетевого фотосообщества позволяет фотолюбителям публиковать фотографии в Веб. Чтобы стать пользователем фотосообщества нужно зарегистрироваться. В регистрационную форму следует ввести следующие сведения: фамилию, имя и отчество пользователя; его логин и пароль, список используемых пользователем фотокамер и объективов. Если форма заполнена верно и логин не совпадает с логином другого пользователя, регистрационная запись о новом пользователе создаётся.
Чтобы использовать услуги сообщества зарегистрированный пользователь должен войти в систему. При входе он указывает логин и пароль. Залогиненный пользователь попадает на свою персональную страницу. На этой странице отображаются 10 последних его фотографий (или менее, если их недостаточно). Если снимков загружено больше 10, то с начальной страницы можно перейти на вторую, где отображается второй десяток фотографий и т. д.. Снимки упорядочены по убыванию даты загрузки. Любой загруженный снимок может быть удалён его автором, либо сведения о загруженном снимке могут быть изменены. При загрузке снимка автор указывает его название, примечание, список меток, расположение файла снимка на локальном компьютере. Загрузка нового снимка одному и тому же автору доступна не чаще чем по прошествии 12 часов с момента предыдущей загрузки.
Пользователь сообщества может просматривать и комментировать снимки, загруженные любыми пользователями, в том числе свои собственные. При поиске снимков он может указать метки, дату загрузки, часть названия или примечания, часть имени автора снимка. Результаты поиска выдаются в виде нескольких страниц, на каждой из которых представлено по 10 фотографий. Для комментирования пользователю следует открыть отдельную страницу с фотографией и комментариями к ней. Комментарий состоит из текста и даты, указывающей, когда он написан. Комментарий может быть дан к снимку или к ранее написанному комментарию. Пользователь может запретить комментирование любой своей фотографии. Комментарии, полученные раньше запрета, сохраняются. Запрет на комментирование может быть снят. Все комментарии к снимку отображаются в виде дерева. Каждый комментарий помечен именем его автора.
Комментарии не могут быть отредактированы, но могут быть удалены автором комментируемого снимка. При удалении комментария также стираются все ответы на него, если таковые были.
Пользователь может запретить другому пользователю оставлять комментарии подо всеми своими фотографиями. Когда запрет действует, "забаненый" пользователь не может оставить комментарий ни под какой фотографией пользователя, поставившего бан. В последствии запрет может быть снят.
Сведения из регистрационной формы (кроме пароля) отображаются на странице профиля пользователя. Пользователь может отредактировать собственный профиль, изменив в нем все, кроме логина. Пользователь может изменить свой пароль. Пароль не может быть короче 8 символов.
Пользователь может полностью удалить свою учётную запись вместе со всеми своими снимками и комментариями под ними. После удаления регистрационные данные стираются из системы.
Вариант задания включает в себя разработку схемы базы данных для хранения фотографий и комментариев, а также информации о зарегистрированных пользователях.
|
|
Каждый блог принадлежит одному пользователю и состоит из нескольких записей. В момент создания блога в нем записей нет. Пользователь может создавать записи лишь в собственном блоге. Читать записи любого пользователя может каждый пользователь. В каждой записи есть заголовок, дата, текст. На каждой странице блога находятся ссылка на профиль. На начальной странице блога отображаются 10 последних записей (или менее, если в блоге их недостаточно). Если записей в блоге больше 10, то с начальной страницы можно перейти на вторую, где отображается второй десяток записей и т. д.. Записи в блоге упорядочены по убыванию даты. Любая запись может быть отредактирована, дата записи может быть изменена. Запись может быть удалена автором.
Перейдя на страницу отдельной записи, пользователь может её комментировать, независимо от того чужая это запись или его собственная. Комментарий состоит из текста и даты, указывающей, когда он написан. Комментарий может быть дан к записи блога или к ранее написанному комментарию. Пользователь может запретить комментирование выбранной им записи в своём блоге. Комментарии, полученные раньше запрета, сохраняются. Запрет на комментирование может быть снят. Закрытых на комментирование записей может быть несколько. Все комментарии к записи отображаются под ее текстом в виде дерева. Каждый комментарий помечен именем его автора. Имя может быть использовано для перехода к начальной странице блога с этим именем.
Комментарии не могут быть отредактированы, но могут быть удалены автором записи. При удалении комментария также стираются все ответы на него, если таковые были.
Владелец блога может запретить другому пользователю оставлять комментарии подо всеми своими записями. В последствии этот запрет может быть им снят.
Любой желающий вести блог должен зарегистрироваться. При регистрации пользователь заполняет форму, указывая желаемое имя, пароль, список своих интересов, дату рождения, контакты, краткие сведения о себе. Если имя не занято, и форма заполнена полностью, система заводит блог нового пользователя.
Сведения из регистрационной формы (кроме пароля) отображаются на странице профиля пользователя. Пользователь может отредактировать собственный профиль, изменив в нем все, кроме имени. Пользователь может изменить свой пароль. Пароль не может быть короче 8 символов.
Зарегистрированный пользователь, осуществляет вход в собственный блог, указывая имя и пароль. Все описанные выше действия с записями, комментариями, собственным профилем и т. д. доступны пользователю только после входа.
Пользователь может полностью удалить свой блог со всеми записями, комментариями и профилем. После удаления блога регистрационные данные стираются из системы.
Вариант задания включает в себя разработку схемы базы данных для хранения записей и комментариев блогов, а также информации о зарегистрированных пользователях.
|
|
Информационная система книжного магазина служит для помощи покупателям, информирования их о расположении книг на полках в отделах магазина, анонсирования книжных новинок. Персоналу магазина система обеспечивает операции над данными о книгах (добавление, удаление и изменение). В системе хранятся следующие сведения: фамилия, имя и отчество автора (авторов у книги может быть несколько); номер ISBN, штрих-код книги, название книги, цена книги, год издания, названия издательства, жанр книги, сведения о расположении книги в торговом зале (номер отдела магазина, номер шкафа, номер полки), количество экземпляров книги, доступное в текущий момент.
Клиентам магазина система через терминалы обеспечивает поиск книг на основании введённого номера ISBN, или названия книги, или автора, или издательства, или жанра. Покупатель может ввести штрих-код книги, пользуясь сканером, встроенным в терминал, и получить сведения о книге. Покупатели могут осуществлять в системе только поиск и просмотр сведений о книгах. Если в результате поиска найдено несколько книг, система выводит на дисплей терминала их список с указанием названий, сведений об авторах и ценах. Выбрав книгу из списка, покупатель получает возможность ознакомиться с полными сведениями о ней. Терминал позволяет распечатать сведения о книге (название, авторы, цена, расположение книги в зале, количество доступных экземпляров).
Информационная система магазина получает сведения о продажах книг от автоматизированных касс, установленных в торговом зале. Кассы не являются частью системы, однако они передают в систему данные о проданных экземплярах книг. В соответствии с этими сведениями обновляется и поддерживается в актуальном состоянии информация о количестве экземпляров книг, доступном покупателям.
Персонал магазина может осуществлять поиск книг. Также информационная система может выдавать персоналу следующую справочную информацию:
какие названия книг и сколько раз были запрошены покупателями при поиске за данный промежуток времени;
книги каких авторов и сколько раз были запрошены покупателями при поиске за данный промежуток времени;
книги каких издательств и сколько раз были запрошены покупателями при поиске за данный промежуток времени;
какие книги находятся в торговом зале в недостаточном количестве (менее 4-х экземпляров) в текущий момент.
Вариант задания предусматривает разработку схемы базы данных, хранящей данные о книгах, их наличии и расположении в торговом зале, и о поисковых запросах покупателей.
|
|
Торговый терминал (автоматизированная касса самообслуживания покупателей) обеспечивает расчёт с клиентами супермаркета «Шестёрочка». Терминал снабжён дисплеем, консолью с кнопками, устройством чтения штрих-кода (сканером), печатающим устройством, выдающим чеки, линиями связи с сервером данных супермаркета и с банком, устройством чтения банковских карт.
Очередной покупатель, подходя к терминалу, нажимает кнопку "Новый чек". Дисплей терминала высвечивают нулевую сумму. Каждый купленный товар снабжён штрих-кодом, который считывается сканером, когда покупатель подносит товар к нему. На дисплее высвечивается наименование и стоимость товара и текущая сумма чека. Покупатель может передумать и удалить последний (текущий) товар в чеке, при этом текущим становится предшествующий товар. Когда все сведения о купленных товарах введены, покупатель нажимает кнопку "Расплатиться". При этом терминал высвечивает на дисплее приглашение вставить банковскую карту в приёмник. После вставки карты в ридер, покупатель должен ввести четырёхзначный пин-код. Если трижды введён неверный пин-код, карта конфискуется, а чек аннулируется. Если пин-код верен, терминал по линии связи с банком отправляет запрос на операцию для оплаты покупки. Варианты ответов на запрос: операция одобрена банком, операция невозможна, так как карта блокирована, операция невозможна, так как превышен кредитный баланс, операция невозможна из-за сбоя. Если операция одобрена, терминал печатает чек с указанием даты и времени покупки, всех купленных товаров (для каждого печатается код товара, наименование товара, стоимость товара, сумму скидки на товар, если есть), общей суммы скидки, итоговой суммы к оплате, сведений о проведённой операции и использованном торговом терминале. Затем терминал пересылает полные сведения о чеке серверу данных супермаркета, после чего он готов обслужить следующего клиента. Если операция невозможна, клиент может попробовать оплатить другой картой или удалить из чека один или несколько последних товаров, или отказаться от покупки совсем.
Данные о товарах, ценах и скидках, торговый терминал получает с сервера данных супермаркета. В ходе выполнения этого варианта задания должна быть разработана схема базы данных о товарах, ценах, скидках, чеках (покупках).
В связи с изменением в законодательстве торговый терминал должен особым образом обрабатывать покупку спиртных напитков. С 23-00 до 8-00 в чек не могут быть добавлены товары, являющиеся напитками, содержащими спирт в количестве более 5% объёма.
У терминала помимо рабочего режима работы есть сервисный режим. Терминал может быть переключён в сервисный режим обслуживающим персоналом при помощи специального штрих-кода и пин-кода. В сервисном режиме можно настраивать параметры сетевых соединений с сервером данных и с банком, извлекать конфискованные банковские карты, производить диагностику устройств в составе терминала. Обратное переключение в рабочий режим производится обслуживающим персоналом также с помощью штрих-кода и пин-кода.
|
|
Информационный киоск метро предоставляет пассажирам сведения о метрополитене, помогает им планировать своё передвижение под землёй. В состав киоска входят следующие устройства: сенсорный дисплей, видеокамера, микрофон, кнопка тревоги, сервисная консоль.
Киоск выдаёт информацию на нескольких языках (русском, английском, японском и др.), выбор языка осуществляется в главном меню киоска. Также в главном меню отображаются разделы информации, отображаемой киоском:
интерактивная схема метро;
правила пользования метрополитеном;
исторические сведения о метрополитене в целом (с фотографиями);
сведения о том, как доехать до вокзалов, крупных торговых центров, исторических памятников и т. п.
На интерактивной схеме отображаются все линии, их станции, переходы и станции пересадки. На схеме специально выделяется станция, на которой установлен данный киоск. Пользователь может запросить поиск маршрута по схеме, указав стартовую и финишную станции. Киоск высвечивает варианты движения на схеме (их может быть несколько), сопровождая их рассчитанным временем проезда. Пользователь может запросить подробную справку о какой-либо станции, и киоск выдаст в отдельном окне сведения об истории создания станции, фотографии, перечень туристических объектов, расположенных рядом.
Правила пользования метрополитеном представляют собой перечень положений, который может не поместиться целиком на экране.
Исторические сведения о метрополитене разбиты на страницы-экраны. Переход со страницы на страницу осуществляется нажатием на стрелки, высвеченные на экране.
Четвёртый раздел представляет собой список вокзалов, крупных магазинов и т. п. Маршрут проезда высвечивается в отдельном окне, если пользователь нажимает на название интересующего его объекта.
В случае аварии, нарушения общественного порядка или террористического акта пассажир может оставить сообщение, нажав тревожную кнопку. Камера и микрофон записывают сообщение все время, пока кнопка нажата. Сообщение сразу передаётся по линии связи в отдел УВД при метрополитене.
Сервисная консоль, которая используется обслуживающим персоналом, находится в специальном отделении киоска, закрываемом на замок. Персонал может провести самодиагностику киоска, нажав кнопку диагностики, находящуюся на этой консоли. Результат отображается на дисплее. Также есть возможность загрузить новую информацию. Для этого к консоли присоединяется носитель данных и нажимается кнопка загрузки. В ходе загрузки на дисплее отображается ход процесса. По окончании носитель данных отсоединяется.
Разработанная модель должна содержать схему базы данных для хранения схемы метро и содержимого остальных информационных разделов киоска.
|
|
Турникеты контролируют проход пассажиров в метро и взимают входную плату. Любой турникет имеет устройство, считывающее данные с бесконтактных карт, два набора створок из ударопрочного стекла для перекрывания прохода, таймер, оптические датчики для контроля прохода пассажира, устройство подачи звуковых сигналов, индикаторы "Проход" и "Стоп", индикатор количества оставшихся поездок.
Турникет работает в одном из трёх режимов: "Вход", "Выход", "Блокировка".
Опишем работу в режиме "Вход". В начальном состоянии турникета зажжён индикатор "Стоп", индикатор "Проход" потушен, передние и задние створки закрыты. Если один из датчиков, расположенных до передних створок, или после задних створок, посылает сигнал, то турникет подаёт предупредительный звуковой сигнал и остаётся в исходном состоянии. Для прохода пассажир должен поднести бесконтактную карту к считывающему устройству. Каждая карта имеет срок годности, по истечении которого она не может быть использована для прохода. Пассажирские карты бывают трёх типов: с фиксированным количеством поездок, с неограниченным количеством поездок и карты "99 минут". Турникет считывает с карты данные: срок годности карты, номер карты, тип карты и количество поездок. Если данные не удаётся считать, или карта просрочена, или количество поездок нулевое, то турникет подаёт предупредительный звуковой сигнал и остаётся в исходном состоянии. Иначе с карты с фиксированным количеством поездок списывается одна поездка, индикатор "Стоп" гаснет, зажигается индикатор "Проход", индикатор количества оставшихся поездок высвечивает текущее значение, открываются передние створки и пассажир может пройти сквозь турникет до задних створок, которые пока закрыты. Получив от датчика между передними и задними створками сигнал, что пассажир прошёл внутрь, турникет закрывает передние створки и открывает задние створки. Когда датчик после задних створок сообщает, что пассажир вышел из турникета, задние створки закрываются, и турникет возвращается в начальное состояние. Если карта имеет неограниченное количество поездок, то при проходе с картой такого типа индикатор количества оставшихся поездок высвечивает символ ∞ (бесконечность), а поездки не списываются. Если карта относится к третьему типу ("99 минут"), то работа с ней ведётся почти также как с картой с фиксированным количеством поездок, за одним исключением: в течение 99 минут с момента списания поездки карта даёт право прохода без списания последующих поездок. Во избежание злоупотреблений с картами "99 минут" и с картами без лимита поездок в течение пяти минут после любого прохода пассажира через любой турникет должны блокироваться остальные попытки прохода с той же картой через все турникеты той же станции метро.
Турникет заносит в свою память время всех проходов по пассажирским картам (в том числе безуспешных) и номера карт, используемых при проходах. В конце рабочего дня он передаёт всю информацию, накопленную за день, в АСУ метрополитена. В ходе выполнения этого варианта задания должна быть разработана схема базы данных о проходах через турникет и использованных картах.
Работа в режиме "Выход" такова: В начальном состоянии турникета зажжён индикатор "Проход", индикатор "Стоп" потушен, передние и задние створки закрыты. Если один из датчиков, расположенных после задних створок, посылает сигнал, то турникет открывает задние створки и пассажир может пройти сквозь турникет до передних створок, которые пока закрыты. Получив от датчика между передними и задними створками сигнал, что пассажир прошёл внутрь, турникет закрывает задние створки и открывает передние створки. Когда датчик до передних створок сообщает, что пассажир вышел из турникета, передние створки закрываются, и турникет возвращается в начальное состояние. Если в начальном состоянии срабатывает датчик до передних створок, турникет подаёт предупредительный звуковой сигнал и остаётся в исходном состоянии. На использование пассажирских карт турникет в этом режиме не реагирует.
Работа в режиме "Блокировка": В начальном состоянии турникета зажжён индикатор "Стоп", индикатор "Проход" потушен, передние и задние створки закрыты. Если один из датчиков, расположенных до передних створок, или после задних створок, посылает сигнал, то турникет подаёт предупредительный звуковой сигнал и остаётся в исходном состоянии.
На использование пассажирских карт турникет в этом режиме не реагирует.
Переключение между режимами "Вход", "Выход", "Блокировка" осуществляется обслуживающим персоналом при помощи специальных сервисных бесконтактных карт. Считав данные с такой карты, турникет из любого режима переходит в требуемый режим.
|
|
В ходе игры программа отображает прямоугольное игровое поле размером 50 х 15 клеток "стакан", в который падают одна за другой кости. Кости состоят из 4-х клеток и бывают следующих видов:
Рис. 15.1. Виды игровых костей.
Игрок во время падения кости может сдвигать её влево или вправо, поворачивать ее относительно центра и "уронить" её, не дожидаясь, пока она достигнет дна. Скорость падения кости зависит от количества набранных очков (увеличивается после каждой сотни). Очки начисляются игроку за полностью заполненные горизонтальные ряды (15 очков за ряд). Падение кости прекращается, когда непосредственно под любой из её клеток оказывается клетка ранее упавшей кости или дно "стакана". По окончании падения анализируется ситуация на игровом поле. Все образовавшиеся заполненные ряды удаляются, при этом начисляются очки. Удаление рядов может привести к изменению положения клеток костей, под которыми удалена опора, и образованию новых заполненных рядов. Например (см. рис. 15.2), после падения квадратной кости удаляется второй снизу заполненный ряд, Т-образная кость теряет опору и смещается на дно, образуется еще один заполненный ряд, который также удаляется.
Рис. 15.2. Изменение игровой ситуации при удалении заполненных рядов.
По окончании анализа игровой ситуации случайным образом определяется тип и цвет очередной кости, которая появляется в середине верхней части "стакана" и начинает падать. Игра заканчивается, если после падения кости какая-либо ее клетка оказывается в верхнем ряду игрового поля. Если результат игрока оказывается одним из 10 лучших, программа запрашивает его имя и сохраняет запись о нем в таблице рекордов. Записи в таблице упорядочены по невозрастанию количества набранных очков. По окончании игры пользователь может начать новую или выйти из программы.
В ходе игры пользователь выйти из игры, нажав кнопку выхода, при этом можно сохранить текущее состояние игрового поля, чтобы в следующий раз начать играть в сохранённом состоянии. Можно начать игру заново, нажав соответствующую кнопку.
Для удобства игроков программу можно настроить, указав клавиши для управления падающей костью, клавишу выхода и др.
В ходе выполнения этого варианта задания должна быть разработана схема базы данных о состоянии игрового поля и таблице рекордов.
|
|
На продуктовом складе для каждого товара фиксируется место хранения (определённая полка), количество товара и его наименование. Разные товары имеют разные единицы измерения: штуки, килограммы, коробки, бутылки и др. Система учёта товаров должна обеспечивать добавление информации о новом товаре, изменение или удаление информации об имеющемся товаре, хранение (добавление, изменение и удаление) информации о поставщиках и покупателях, включающей в себя название фирмы, её адрес и телефон. В системе учитывается приход товаров от поставщиков. В каждом приходе товаров могут содержаться несколько позиций, в каждой позиции указываются наименование товара и его количество. После оформления прихода товара в системе количество товара в инвентаризационной описи соответственно увеличивается.
Товар со склада отпускается покупателям по расходным накладным. В каждой накладной могут содержаться несколько позиций, в каждой позиции указываются наименование товара и его количество. После оформления расхода товара в системе количество товара в инвентаризационной описи соответственно уменьшается. Количество расходуемого товара не может превысить общее количество этого товара на складе.
Система учёта по требованию пользователя формирует и выдаёт на печать следующую справочную информацию:
список всех товаров;
инвентаризационную опись товаров, имеющихся в наличии;
список товаров, количество которых необходимо пополнить;
список товаров, поставляемых данным поставщиком;
все позиции в каком-либо приходе товара;
все позиции в какой-либо расходной накладной.
Система осуществляет поиск информации о клиенте или поставщике по части названия фирмы. Это необходимо, чтобы работники склада могли связаться с фирмой по какому-либо вопросу.
В ходе выполнения этого варианта задания должна быть разработана схема базы данных, хранящей информацию о товарах, приходах и расходах товара, поставщиках и клиентах.
|
|
Система обеспечивает составление расписания некоторого учебного заведения, внесение в него изменений, выдачу полного расписания и дополнительной информации (например, по итоговому расписанию составляется расписание указанной группы или указанного преподавателя на заданный день или неделю).
В расписании фиксируются время и место проведения занятия, предмет и преподаватель, проводящий занятие, а также номер группы, для которой это занятие проводится. Некоторые занятия проводятся для нескольких групп: потока или всего курса. Некоторые занятия проводятся раз в две недели: только по нечётным или только по чётным неделям.
Расписание не должно содержать коллизий (например, разные занятия не должны пересекаться друг с другом по месту и времени их проведения, один преподаватель не может вести одновременно два разных занятия, в одно и то же время, у одной и той же группы не допускается одновременно два различных занятия и т. д.).
Система по требованию пользователя должна осуществлять поиск свободных аудиторий на заданную дату и время.
При работе над этим вариантом задания необходимо разработать схему базы о расписании, курсах, преподавателях.
|
|
Аппарат подключён к линии связи, ведущей к мини-АТС. В его задачу входит приём и передача сигналов (в том числе и голосовых данных) от мини-АТС. Аппарат имеет кнопочную панель управления, соединение с линией сети, тактовый генератор для отсчёта времени, экран для отображения набираемых номеров, звонок, память, хранящую последние 10 набранных номеров и трубку, в которую встроены микрофон и громкоговоритель.
В начальном состоянии трубка телефона повешена, телефон не реагирует на нажатия кнопок. Пользователь телефона, желающий сделать звонок, снимает трубку. Телефон подаёт на АТС сигнал "Трубка". При получении ответного сигнала "Тон" от АТС телефон воспроизводит звуковой тон "Готов" (длинный непрекращающийся гудок) в трубку. При получении сигнала "Занято" (посылается если АТС не может сейчас обслужить абонента) в трубке воспроизводится тон "Занято" (частые короткие гудки).
Пользователь, слыша в трубке тон "Готов", набирает трёхзначный номер. Номер может быть набран при помощи кнопок с цифрами или нажатием на специальную кнопку "#". При нажатии на кнопку с цифрой соответствующий ей сигнал "Цифра" передаётся АТС. Нажатия на кнопки с цифрами после третьего игнорируются. Во время набора номера введённые цифры отображаются на экране. При нажатии на кнопку "#" телефон высвечивает последний запомненный номер, ждёт 5 секунд, и если за это время не была нажата кнопка "#", набирает запомненный номер (АТС передаётся последовательность из трёх сигналов "Цифра"). При повторном нажатии "#" телефон высвечивает предпоследний номер и т. д. В ответ на набранный номер от АТС приходит либо сигнал "Занято" (если вызываемый абонент занят), либо сигнал "Вызов". При получении сигнала "Вызов" телефон воспроизводит в трубку длинные гудки до того момента, когда АТС осуществит коммутацию и передаст сигнал "Данные".
Телефонный громкоговоритель воспроизводит данные, передаваемые с сигналом "Данные". Ответ пользователя воспринимается микрофоном трубки, преобразуется в сигнал "Данные" и передаётся АТС. В течение разговора на экране высвечивается текущая длительность звонка, отсчитываемая с момента, АТС осуществило коммутацию. Обмен данными прерывается, если повешена трубка одного из телефонов, участвующих в обмене. О том, что трубку повесил вызываемый абонент, сообщает сигнал "Занято", посылаемый АТС.
Получив сигнал "Занято" телефон ожидает, когда пользователь повесит трубку, игнорируя нажатия кнопок и т. п.
После того, как трубка аппарата была повешена, телефон посылает АТС сигнал "Конец", и переходит в начальное состояние. Сеанс завершается. По завершении сеанса телефон суммирует длительность звонка с текущей общей длительностью звонков, хранящейся в памяти телефона.
В начальном состоянии телефон может получить от АТС сигнал "Вызов", при этом его звонок начинает звонить. Пользователь, принимая вызов, поднимает трубку, при этом АТС получает сигнал "Трубка", осуществляет коммутацию с вызывающим абонентом и начинает передачу голосовых данных. Завершение сеанса такое же, как ранее описанное.
Если вызываемый абонент не подходит к телефону, то вызывающий абонент может, не дождавшись, повесить трубку. Его телефон в этом случае посылает АТС сигнал "Конец" и завершает сеанс. Телефон вызываемого абонента принимает сигнал "Сброс", перестаёт звонить и переходит в начальное состояние.
Если в начальном состоянии при опущенной трубке нажать кнопку "#" телефон в течение 5 секунд высвечивает суммарную длительность разговоров, затем возвращается в обратное состояние. Если, пока отображается длительность, успеть снова нажать "#", то суммарная длительность в памяти телефона обнуляется.
|
|
В игре участвует колода из 52 игральных карт. Устанавливается следующее старшинство (по возрастанию): туз, 2, 3, ..., 10, валет, дама, король. В колоде четыре масти: чёрные (пики, трефы) и красные (бубны, червы). В начале игры карты располагаются в колоде случайным образом, затем выкладываются на игровое поле. В поле располагаются семь стопок (в первой одна, во второй две, ..., в седьмой семь карт), дом, состоящий из четырёх столбцов, и не розданная часть колоды. Каждая стопка состоит из открытой и закрытой части. В начале игры в каждой стопке открыта лишь последняя карта. В не розданной колоде открыта верхняя карта.
Цель игрока состоит в том, чтобы сложить в столбцах дома четыре масти карт по порядку старшинства (от туза до короля). Для этого он может делать следующие ходы с открытыми картами:
поместить туза в пустой столбец дома, если туз является последним в стопке или верхним в открытой части колоды;
поместить последнюю карту стопки или верхнюю карту открытой части колоды в дом, если она подходит по масти и старшинству (например, 3♠ на 2♠);
поместить последнюю карту стопки или верхнюю карту открытой части колоды или верхнюю карту столбца дома в другую стопку так, чтобы соблюдался порядок соседние карты имеют масти разного цвета и расположены подряд по убыванию старшинства (например, даму пик переложить на короля червей);
сделать такой же ход с несколькими подряд идущими картами какой-либо стопки, включая последнюю(!) (например, 10 пик, 9 червей, 8 пик, 7 бубей переложить на валета червей из другой стопки);
положить короля или несколько подряд идущих начинающихся с короля карт из стопки, включая последнюю(!), в начало пустой стопки.
Помимо указанных ходов пользователь может:
открыть последнюю закрытую карту стопки, если её открытая часть пуста;
открыть закрытую верхнюю карту колоды и положить её сверху открытой части колоды;
повторно закрыть колоду, если она вся была открыта, при этом порядок карт в колоде сохраняется.
Любое последнее действие пользователя может быть им отменено. Неправильные ходы не допускаются. Корректное состояние игры должно восстанавливаться после неверных ходов.
Игра заканчивается, если нельзя сделать ни одного из указанных ходов, либо если все карты оказались в доме. В ходе игры ведётся подсчёт очков:
за перемещение карты в дом +10 очков;
за возврат карты из дома в стопку -15 очков;
за перемещение карты из колоды в стопку +5 очков;
за открытие карты в стопке +5 очков;
за каждый повторный просмотр колоды -100 очков;
при отмене пользователем последнего действия начисленные очки (в плюс или в минус) снимаются.
По окончании игры пользователь может разложить следующий пасьянс, при этом набранные очки сохраняются. В ходе игры пользователь может нажать на кнопку выхода. Если результат игрока оказывается одним из 10 лучших, программа запрашивает его имя и сохраняет запись о нем в таблице рекордов. Записи в таблице упорядочены по невозрастанию количества набранных очков. Перед выходом можно сохранить состояние игрового поля, чтобы в следующий раз начать играть в сохранённом состоянии.
В любой момент можно начать игру заново, нажав соответствующую кнопку, при этом все набранные очки сгорают.
В ходе выполнения этого варианта задания должна быть разработана схема базы данных о состоянии игрового поля и таблице рекордов.
|
|
Перед информационной службой компании поставлена задача создания новой системы начисления зарплаты взамен морально устаревшей существующей системы. Новая система должна предоставлять служащим возможность записывать электронным способом информацию по учёту рабочего времени и автоматически формировать чеки на оплату, учитывающие количество отработанных часов и общий объем продаж (для служащих, получающих комиссионное вознаграждение).
Новая система должна предоставлять служащим возможность ежедневно вводить информацию об отработанном времени, вводить заказы на поставку, изменять свои параметры (такие, как способ оплаты за работу), и формировать различные отчёты. Система должна работать на персональных компьютерах служащих всей компании. В целях обеспечения безопасности и аудита служащие должны иметь возможность доступа и редактирования только своих данных, доступ к чужим данным должен быть запрещён.
В системе должна храниться информация обо всех служащих компании в различных странах. Система должна обеспечивать правильную и своевременную оплату работы каждого служащего в соответствии с указанным им способом. Компания из соображений экономии расходов желает сохранить без изменений одну из существующих баз данных, которая содержит всю информацию относительно заказов, должностных месячных окладов и тарифов. Эта БД функционирует в среде DB2 на мейнфрейме IBM. Новая система может читать из неё данные, но не может обновлять их.
Некоторые служащие получают почасовую зарплату. Она начисляется на основе записей по учёту рабочего времени, каждая из которых содержит дату и количество часов, отработанных в соответствии с конкретным тарифом. Если какой-либо служащий отработал в день более 8 часов, сверхурочное время оплачивается с коэффициентом 1.5. Служащие-почасовики получают зарплату каждую пятницу.
Некоторые служащие получают фиксированный оклад. Однако система должна вести учёт количества отработанных ими часов, чтобы снижать выплату на 5%, если служащий отработал менее 40 часов в неделю. Сверхурочные служащим с фиксированным окладом оплачиваются на тех же основаниях, что и почасовикам. Расчёт и выплата служащим с окладом осуществляется в последний рабочий день месяца.
Некоторые из служащих с фиксированным окладом также получают комиссионное вознаграждение, учитывающее объем продаж. Помимо отработанного времени они указывают в системе заказы, по которым подсчитывается объем продаж за месяц. Процент комиссионного вознаграждения определяется индивидуально для каждого служащего и может составлять 10%, 15%, 25% или 35%.
Служащие ежегодно уходят в отпуск на 28 рабочих дней. Служащий может проинформировать систему об уходе в отпуск заблаговременно (срок, оставшийся до ухода в отпуск, не может быть меньше 60 дней). Отпускные выплачиваются служащему авансом и составляют среднее из выплат за 3 месяца, предшествующих отпуску.
Одной из наиболее часто используемых возможностей новой системы является формирование различных отчётов: запросить количество отработанных часов, суммарную зарплату, оставшееся время отпуска и т.д.
Служащие могут выбирать способ оплаты за работу. Они могут получать свои чеки на оплату по почте, на счёт в банке или на руки в офисе.
Администратор системы ведёт информацию о служащих. В его обязанности входит ввод данных о новых служащих, удаление данных и изменение любой информации о служащем, такой, как имя, адрес и способ оплаты, а также формирование различных отчётов для руководства.
Приложение начисления зарплаты запускается автоматически каждую пятницу и в последний рабочий день месяца, рассчитывая в эти дни зарплату соответствующих служащих. Начисление зарплаты должно производиться автоматически, без ручного вмешательства.
В ходе выполнения этого варианта задания должна быть разработана схема базы данных по учёту рабочего времени, отпускам и выплатам.
|
|
Клиенту необходимо отправлять и получать из налоговой инспекции различные документы (налоговые декларации), получать от налоговой службы массовые рассылки (рассылаются всем клиентам сразу) и персональные рассылки (предназначены для конкретного клиента). Напрямую делать это нельзя, налоговая инспекция работает со специализированными операторами связи, которые являются посредниками между ней и клиентом. Необходимо разработать модель сервера специализированного оператора связи (далее СОС -- сервер оператора связи), который бы осуществлял транзакции между клиентским приложением и налоговой службой (последняя имеет множество представительств).
Клиент может вести документооборот с одним или несколькими представительствами налоговой службы (например, клиент Бухгалтер Иванов сдаёт налоговые отчёты за компанию ООО "Летающая тарелка" в городе N и за ООО "Коровник и прочая С" в городе К, в этих городах разные представительства налоговой службы), т.е. у каждого клиента есть список пар "организация -- представительство налоговой службы", далее такая пара будет называться Направлением.
Каждая компания имеет уникальный идентификатор (для простоты, ИНН).
Каждое представительство налоговой службы имеет свой четырёхсимвольный код, например, 7799.
Каждая налоговая декларация имеет свой код.
СОС должен поддерживать сервис регистрации нового клиента, с выдачей ему логина-пароля для дальнейшего осуществления доступа, сервис добавления и удаления направления, сервис осуществления документооборота между клиентом и налоговой службой, сервис выдачи статистики документооборотов по каждому направлению и по каждому клиенту. Статистика включает в себя перечень произведённых документооборотов, с фиксацией времени прохождения всех его стадий и итогового статуса. Администратор СОС имеет возможность управлять списком представительств налоговой службы, с которым поддерживается работа данного СОС.
В дальнейшем вместо "представительство налоговой службы" будем использовать сокращённое название: "налоговая инспекция".
Виды документооборотов:
1. Подача налоговой декларации -- инициирует клиент, он посылает налоговую декларацию по выбранному направлению на СОС, тот в ответ присылает уведомление о получении и пересылает декларацию в указанную налоговую инспекцию, от налоговой инспекции на СОС приходит уведомление о получении, СОС фиксирует у себя его дату и пересылает сообщение клиенту. В какой-то момент времени после посылки сообщения в налоговую инспекцию от неё приходит результат обработки: декларация принята; декларация не принята; декларация принята с ошибками. СОС фиксирует у себя статус обработки декларации и пересылает сообщение клиенту. На этом документооборот считается завершённым.
2. Массовые рассылки -- инициирует налоговая инспекция, на СОС от конкретной налоговой инспекции приходит "рассылка" -- сообщение, которое должно быть разослано всем клиентам которые зарегистрированы в этой налоговой инспекции. В ответ от клиента требуется получить "уведомление о получении", которое посылается через СОС (дата фиксируется). На этом документооборот считается завершённым.
3. Персональная рассылка -- инициирует налоговая инспекция, на СОС от конкретной налоговой инспекции приходит "рассылка" -- сообщение, которое должно быть доставлено конкретной организации. В ответ от клиента требуется получить "уведомление о получении", которое посылается через СОС (дата фиксируется). На этом документооборот считается завершённым.
Вариант включает в себя разработку схемы базы данных, используемой СОС.
|
Вариант 22. Система для ввода информации при приёме сотрудника на работу
|
К списку вариантов
|
|
Подразделение/кафедра выбирается путём позиционирования на определённой (нужной) строке. Подразделения меняются сравнительно часто и поэтому их названия и коды хранятся в соответствующих справочниках.
Должности также выбираются в соответствии со штатным расписанием. Если соответствующие должности уже заняты, то ввод не может быть осуществлён.
Каждому сотруднику в соответствии с имеющимися ограничениями должен быть присвоен тарифный разряд.
Наряду с другими сведениями, вводится информация о знании иностранных языков. Языки выбираются из списка. Выбор может быть множественным (т.е. сотрудник может владеть более чем одним языком). Все выбранные позиции должны быть видны; пользователь может корректировать свой выбор перед тем, как окончательно занести данные в БД. Кроме названия языка, фиксируется ещё и степень владения языком.
Запрещается принимать на работу лиц пенсионного возраста.
При приёме на преподавательскую должность образование должно быть высшим.
При приёме на должность выше ассистента научно-педагогический стаж должен быть больше 3 лет. Научно-педагогический стаж не может быть больше общего стажа.
После занесения всей информации о сотруднике в БД каждому сотруднику автоматически присваивается табельный номер.
Зачисление в штат производится на пятилетний срок, по истечении которого трудовой контракт либо продлевается на 5 лет, либо разрывается. Сотрудник также может быть уволен или переведён на другую должность до истечения срока его трудового контракта.
Система должна по запросу готовить различные отчёты:
перечень сотрудников, имеющих общий стаж не менее указанного;
перечень сотрудников, имеющих научно-педагогический стаж не менее указанного;
перечень незанятых должностей по всем подразделениям;
перечень сотрудников, чей трудовой контракт истекает в ближайшем месяце;
перечень сотрудников, владеющих указанным иностранным языком.
В ходе выполнения этого варианта задания должна быть разработана схема базы данных о штатном расписании и сотрудниках.
|
|
Система поддержки сетевого файлового хранилища позволяет пользователям размещать свои файлы в Веб. Чтобы стать пользователем хранилища нужно зарегистрироваться. В регистрационную форму следует ввести следующие сведения: фамилию, имя и отчество пользователя; его логин и пароль. Если форма заполнена верно и логин не совпадает с логином другого пользователя, регистрационная запись о новом пользователе создаётся.
Чтобы использовать услуги хранилища зарегистрированный пользователь должен войти в систему. При входе он указывает логин и пароль. Залогиненный пользователь попадает на свою персональную страницу. На этой странице отображается список загруженных им файлов и созданных им каталогов, расположенных в корневом каталоге пользователя. Про элементы списка сообщается имя, дата изменений, тип доступа (публичный или приватный), размер (только для файлов). Элементы списка можно сортировать по имени, по дате, по типу, по размеру. Любой файл или каталог может быть переименован, удалён, либо может быть изменён режим доступа к нему. При удалении каталога удаляется всё его содержимое -- все вложенные каталоги и файлы. Хранилище обеспечивает пользователю навигацию по дереву каталогов и файлов. Можно переходить на страницы вложенных каталогов или подыматься на уровень выше -- в родительский каталог.
При загрузке файла автор указывает расположение файла на своём локальном компьютере и его имя, под которым он будет находиться в хранилище. Файл загружается в текущий каталог, страница которого открыта пользователем. Если имя совпадает с именем ранее загруженного файла, выдаётся предупреждение и приглашение перезаписать ранее загруженный файл. Пользователь может согласиться или отказаться. Загрузка файлов доступна пользователю, пока общий их объём меньше 10 Гб. Количество свободного файлового пространства сообщается пользователю на каждой странице.
Загруженные файлы пользователь может скачивать. Для файлов с публичным режимом доступа пользователь может получить ссылки для скачивания их любым пользователем Сети. Для скачивания по таким ссылкам нет необходимости регистрироваться и входить в систему хранилища. По такой ссылке хранилище открывает страницу-форму со сведениями о скачиваемом файле и кнопкой "Скачать", после нажатия на которую передаёт файл пользователю. Если файл удаляется пользователем, он перестаёт быть доступным по публичной ссылке. То же происходит при смене режима доступа на приватный. Файлы, находящиеся в приватном режиме могут быть скачены залогиненным пользователем со страницы каталога, где они помещены.
Пользователь может осуществлять поиск среди своих загруженных файлов и каталогов. При поиске он может указать период, содержащий дату искомого файла, часть имени, ограничение на размер. Результаты поиска выдаются в виде списка с указанием полных имён, содержащих помимо имени элемента последовательность имён каталогов, отражающих путь к файлу из корневого каталога.
Пользователь может изменить свой пароль. Пароль не может быть короче 8 символов.
Пользователь может полностью удалить свою учётную запись вместе со всеми своими каталогами и файлами. После удаления регистрационные данные стираются из системы.
Вариант задания включает в себя разработку схемы базы данных о зарегистрированных пользователях, их файлах и каталогах.
|
|
Система поддержки сетевого фотохостинга позволяет фотолюбителям размещать изображения в Веб. Чтобы стать пользователем фотохостинга нужно зарегистрироваться. В регистрационную форму следует ввести следующие сведения: фамилию, имя и отчество пользователя; его логин и пароль. Если форма заполнена верно и логин не совпадает с логином другого пользователя, регистрационная запись о новом пользователе создаётся.
Чтобы использовать услуги фотохостинга зарегистрированный пользователь должен войти в систему. При входе он указывает логин и пароль. Залогиненный пользователь попадает на свою персональную страницу. На этой странице отображаются 10 последних загруженных им фотографий (или менее, если их недостаточно). Если снимков загружено больше 10, то с начальной страницы можно перейти на вторую, где отображается второй десяток фотографий и т. д.. Снимки упорядочены по убыванию даты загрузки. Любой загруженный снимок может быть удалён его автором, либо сведения о загруженном снимке могут быть изменены. При загрузке снимка автор указывает расположение файла снимка на локальном компьютере, его описание и его имя, под которым изображение будет храниться на хостинге. Если имя совпадает с именем ранее загруженного снимка, выдаётся сообщение об ошибке. Загрузка доступна, пока общий объём изображений пользователя меньше 500 Мб.
Пользователь может осуществлять поиск среди своих загруженных снимков. При поиске он может указать дату загрузки, часть описания или имени снимка. Результаты поиска выдаются в виде нескольких страниц, на каждой из которых представлено по 10 фотографий. Снимки в списке сопровождаются ссылками, которые пользователь может использовать на других веб-ресурсах (блогах, форумах), чтобы его снимки отображались в его сообщениях.
Пользователь может изменить свой пароль. Пароль не может быть короче 8 символов.
Пользователь может полностью удалить свою учётную запись вместе со всеми своими снимками. После удаления регистрационные данные стираются из системы.
Вариант задания включает в себя разработку схемы базы данных для хранения фотографий, а также информации о зарегистрированных пользователях.
|
|
Размещение на других ресурсах, а также коммерческое использование материалов, опубликованных в данном разделе, возможно только с разрешения авторов. По всем вопросам пишите:
|
|
© Кафедра системного программирования ВМК МГУ.
|
Обновлено: 29.11.2013
|
|
|