Варианты задания практикума. В каждом из предложенных вариантов требуется при помощи CASE-средства RationalRose построить модель программного обеспечения. Процесс создания модели состоит из нескольких этапов:
составление глоссария проекта;
создание модели вариантов использования;
анализ вариантов использования (по окончании производится промежуточная сдача задания);
проектирование системы;
реализация системы.
После выполнения третьего этапа модель должна удовлетворять перечисленным ниже требованиям. Глоссарий проекта должен иметь вид таблицы и храниться в отдельном файле. На диаграммах вариантов использования каждое действующее лицо (actor) и вариант использования должны сопровождаться описанием. Эти описания должны быть составлены на русском языке. Описание действующего лица должно коротко (в одну-две строки) сообщать о роли данного лица. Описание варианта использования должно включать в себя пояснение, предусловие, потоки событий (основной и альтернативные, если таковые есть) и постусловие. Описания представляют собой либо присоединенные текстовые файлы, либо текст, введенный в поле Documentation спецификации соответствующего элемента диаграммы. Диаграммы взаимодействия, соответствующие потокам событий вариантов использования, должны содержать необходимые пояснения.
* * *
Ниже перечислены варианты заданий.
Магазин видеопроката
Торговый автомат
Табло на станции метро
Система автоматизации для пункта проката видеокассет
Мини-АТС
Система складского учета
Система торговой компании
Управление контактами с клиентами
Банкомат
Система кредитования банка
Система табельного учета
Web-сайт авиакомпании
Система учета товаров
Библиотечная система
Интернет-магазин
WWW-конференция
Каталог ресурсов Интернет
Система для ввода информации при приеме сотрудника на работу
Генеалогическое дерево
Служба занятости в рамках вуза
Система поддержки составления расписания занятий
Система начисления зарплаты
* * *
Вариант 1. Магазин видеопроката
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение магазина видеопроката.
Видеомагазин нуждается в компьютерной системе. Ассортимент магазина составляет около тысячи видеокассет и пятьсот видео-дисков. Запас уже заказан у одного поставщика, однако, для будущих заказов директор намерен прибегать к услугам большего числа поставщиков. Все видеокассеты и диски снабжены штрих-кодом, так что сканер, интегрированный в систему, может поддерживать операции выдачи напрокат и возврата видеофильмов. Членские карточки клиентов также снабжены штрих-кодом. Клиенты имеют возможность резервировать видео таким образом, чтобы комплект видеофильмов был собран к определенной дате. Система должна обладать поисковым механизмом для ответов на запросы клиентов, включая вопросы, касающиеся фильмов, которых нет в ассортименте магазина (но которые он может заказать по просьбе клиента).
Для каждого фильма установлен конкретный период проката (исчисляемый в днях) с соответствующей платой за прокат за этот период. Видеомагазин должен быть в состоянии немедленно дать ответ на любой запрос по наличию фильмов в запасе, а также количеству кассет или дисков (текущие условия по каждой ленте и диску должны быть известны и зафиксированы).
Плата за прокат отличается в зависимости от видеоносителя: кассета или диск.
Хотя магазин держит в запасе видеодиски только одного формата – DVD, пользователи желали бы расширить в будущем систему проката и на другие форматы дисков.
Работники видеомагазина стремятся запомнить коды наиболее популярных лент. Зачастую при идентификации фильма они используют именно код фильма, а не его название (поскольку фильм с одним названием мог выпускаться разными режиссерами).
Дополнительные требования:
За кассеты и диски, возвращенные позже срока, взимается дополнительная плата за период, превышающий срок проката. Каждый видеоноситель обладает уникальным идентификационным номером. Фильмы заказываются у поставщика, который, в общем случае, может поставить кассеты и диски в течение одной недели. Обычно один заказ делается на несколько фильмов.
Забронировать можно те фильмы, которые заказаны у поставщика и/или все копии которых находятся в прокате. Можно также забронировать те фильмы, которых нет в запасе и которые не заказаны у поставщика; при этом с клиента требуется задаток за один период проката. Клиент может также сделать несколько предварительных заказов, однако для каждого забронированного фильма готовится отдельный запрос на бронирование. Бронирование может быть отменено. Из-за отсутствия реакции со стороны клиента, более точно, в течение одной недели е момента, когда клиенту было сообщено о возможности взять фильм напрокат. Если за фильм был уплачен задаток, он записывается на счет клиента. База данных хранит обычную информацию о поставщиках и клиентах, т.е. адреса, телефонные номера и т.д. В каждом заказе поставщику указываются заказываемые фильмы, их количество, форматы кассеты/диска, а также дата ожидаемой доставки, отпускная цена, возможные скидки и т. д. Когда кассета возвращается клиентом или поступает от поставщика, вначале удовлетворяются предварительные заказы. Работники магазина устанавливают контакт с клиентами, сделавшими предварительный заказ. Для правильной обработки бронирования фильмов информация, связанная с бронированием, обновляется дважды: после установления контакта с клиентом, когда ему сообщается, что «забронированный фильм пришел», и после сдачи фильма клиенту напрокат. Эти шаги гарантируют правильное проведение операции бронирования.
Клиент может взять несколько кассет или дисков, однако каждому взятому видеоносителю ставится в соответствие отдельная запись. Для каждого выдаваемого напрокат фильма фиксируются дата и время выдачи, установленный и фактический срок возврата. Позже запись о покате обновляется, чтобы отразить факт возврата видеофильма и факт окончательного платежа (или возврата денег). Кроме того, запись хранит информацию о продавце, отвечающем за прокат фильма. Детальная информация о клиенте и по прокату хранится в течение года, чтобы можно было легко определить уровень доверия к клиенту. Старая информация по прокату сохраняется в течение года в целях проведения аудита. Все операции выполняются с использованием наличности, электронного перевода денег или кредитных карточек. От клиентов требуется внести плату за прокат при выдаче кассет/дисков. Если кассета/диск возвращены позже установленного срока (или не могут быть возвращены по каким-либо причинам), плата снимается либо со счета клиента, либо принимается непосредственно от клиента.
Если кассета/диск задержаны более чем на два дня, клиенту отправляется уведомление о задержке. После отправки двух уведомлений о задержке одной и той же кассеты/диска, клиент предупреждается о том, что он является «нарушителем» и при следующем его обращении в магазин руководство рассматривает вопрос о снятии с него статуса «нарушителя».
* * *
Вариант 2. Торговый автомат
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение торгового автомата
Требуется разработать средствами RationalRose модель программного обеспечения встроенного процессора универсального торгового автомата.
В автомате имеется пять лотков для хранения и выдачи товаров. Загрузка товаров на лотки осуществляется обслуживающим персоналом. Автомат следит за наличием товара. Если какой-либо товар распродан, автомат отправляет сообщение об этом на станцию обслуживания и информирует покупателей (зажигается красная лампочка рядом с лотком данного товара).
Автомат принимает к оплате бумажные купюры и монеты. Специальный индикатор высвечивает текущую сумму денег, принятых автоматом к оплате. После ввода денег клиент нажимает на кнопку выдачи товара. Выдача товара производится только в том случае, если введенная сумма денег соответствует цене товара. Товар выдается поштучно. При нажатии на кнопку «Возврат» клиенту возвращаются все принятые от него к оплате деньги. Возврат денег не производился после выдачи товара. Автомат должен корректно работать при одновременном нажатии на кнопки выдачи товара и возврата денег.
В специальном отделении автомата, закрываемом замком, есть «секретная кнопка», которая используется обслуживающим персоналом для выемки выручки. При нажатии на эту кнопку открывается доступ к ящику с деньгами. Автомат получает со станции обслуживания данные о товарах и хранит их в своей памяти. Данные включают в себя цену, наименование товара, номер лотка, на котором находится товар и количество товара на лотке. Вариант задания включает в себя разработку схемы базы данных о товарах.
* * *
Вариант 3. Табло на станции метро
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение табло на станции метро
Требуется разработать средствами RationalRose модель программного обеспечения табло для информационной службы метрополитена. Табло расположены на каждой станции метро. Они работают под управлением единого пункта управления (ПУ) информационной службы метро. Табло отображает текущее время (часы, минуты, секунды) и время, прошедшее с момента отправления последнего поезда (минуты, секунды). Момент прибытия и отправления поезда определяется при помощи датчиков, устанавливаемых на путях. Все табло метро синхронизованы, текущее время отсчитывается и устанавливается из центральной службы времени, находящейся на ПУ.
На табло высвечивается конечная станция назначения прибывающего поезда. Эти данные содержатся в расписании движения поездов, которое хранится в памяти табло и периодически обновляется с ПУ. В «бегущей строке» табло отображается рекламная информация. Память табло хранит до 10 рекламных сообщений. Сообщения отображаются друг за другом с небольшими паузами, циклически. Содержание рекламных сообщений поступает с ПУ.
Дополнительная функция табло – по запросу с ПУ оно пересылает данные о нарушениях расписания (преждевременных отправлениях поездов или опозданиях).
В ходе выполнения задания должна быть создана схема базы данных для хранения рекламных сообщений, расписания и сведений о нарушении расписаний. Пояснение: в задании требуется разработать модель ПО только для табло, но не для пункта управления информационной службы.
* * *
Вариант 4. Система автоматизации для пункта проката видеокассет
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Система автоматизации для пункта проката видеокассет
Требуется разработать средствами RationalRose модель программной системы автоматизации работы пункта проката видеокассет (далее в тексте – системы). Пункт проката содержит каталог кассет, имеющихся в наличии в данный момент времени. Система поддерживает работу каталога, позволяя служащим проката добавлять новые наименования кассет, удалять старые и редактировать данные о кассетах.
Клиент, обратившийся в пункт, выбирает кассету по каталогу, вносит залог и забирает ее на определенный срок. Срок проката, измеряемый в сутках, оговаривается при выдаче кассеты. Стоимость проката вычисляется системой исходя из тарифа за сутки и срока проката. Клиент возвращает кассету и оплачивает прокат. Если кассета не повреждена, клиенту возвращается залог. Служащий пункта проката регистрирует сдачу кассеты клиенту и ее возврат в системе. Если клиент повредил кассету, то кассета удаляется из каталога, а залог остается в кассе проката. При необходимости служащий может запросить у системы следующие данные:
имеется ли в наличии кассета с данным названием;
когда будет возвращена какая-либо кассета из тех, что сданы в прокат;
является ли данный клиент постоянным клиентом пункта проката (пользовался ли прокатом 5 или более раз).
Постоянным клиентам предоставляются скидки, а также от них принимаются заявки на пополнение ассортимента кассет. Заявки регистрируются в системе. По ним готовится итоговый отчет, руководствуясь которым, служащие пункта проката обновляют ассортимент кассет. Необходимо разработать схему базы данных для хранения каталога, учетных записей о прокате кассет и заявок на пополнение ассортимента.
* * *
Вариант 5. Мини-АТС
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение мини-АТС
Требуется разработать средствами RationalRose модель программного обеспечения встроенного микропроцессора учрежденческой мини-АТС (автоматической телефонной станции).
Мини-АТС осуществляет связь между служащими учреждения. Каждый абонент подключен к ней линией связи. Мини-АТС соединяет линии абонентов (осуществляет коммутацию линий). Абоненты имеют номера, состоящие из трех цифр. Специальный номер «9» зарезервирован для внешней связи.
Телефонное соединение абонентов производится следующим образом. Абонент поднимает трубку телефона, и мини-АТС получает сигнал «Трубка». В ответ мини-АТС посылает сигнал «Тон». Приняв этот сигнал, абонент набирает телефонный номер (посылает три сигнала «Цифра»). Мини-АТС проверяет готовность вызываемого абонента. Если абонент не готов (его линия занята), мини-АТС посылает вызывающему абоненту сигнал «Занято». Если абонент готов, мини-АТС посылает обоим абонентам сигнал «Вызов». При этом телефон вызываемого абонента начинает звонить, а вызывающий абонент слышит в трубке длинные гудки. Вызываемый абонент снимает трубку, и мини-АТС получает от него сигнал «Трубка», после чего осуществляет коммутацию линии. Абоненты обмениваются сигналами «Данные», которые мини-АТС должна передавать от одного абонента к другому. Когда один из абонентов опускает трубку, мини-АТС получает сигнал «Конец» и посылает другому абоненту сигнал «Тон». В любой момент абонент может положить трубку, при этом мини-АТС получает сигнал «Конец». После получения этого сигнала сеанс обслуживания абонента завершается.
Если абонент желает соединиться с абонентом за пределами учреждения, то он набирает номер «9». Мини-АТС посылает по линии, соединяющей с внешней (городской) АТС, сигнал «Трубка» и в дальнейшем служит посредником между телефоном абонента и внешней АТС. Она принимает и передает сигналы и данные между ними, не внося никаких изменений. Единственное исключение касается завершения сеанса. Получив от городской АТС сигнал «Конец», мини-АТС посылает абоненту сигнал «Тон» и ждет сигнала «Конец» для завершения обслуживания абонента. Если вызывавший абонент первым вешает трубку, то мини-АТС получает сигнал «Конец» и передает его городской АТС и завершает сеанс. Мини-АТС может получить сигнал «Вызов» от городской АТС. Это происходит, когда нет соединений с внешними абонентами. Сигнал «Вызов» от городской АТС передается абоненту с кодом «000». Только этот абонент может отвечать на внешние звонки.
* * *
Вариант 6. Система складского учета
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение системы складского учета
Система складского учета – программная система, затрагивающая все аспекты, связанные с движением товара на склад и со склада. По результатам анализа можно выделить семь основных функций системы:
Учет заказов. Прием заказов от клиентов и ответы на запросы клиентов о состоянии заказов.
Ведение счетов. Направление счетов клиентам и отслеживание платежей. Прием счетов от поставщиков и отслеживание платежей поставщикам.
Отгрузка со склада. Составление спецификаций на комплектацию товаров, отправляемых со склада клиентам.
Складской учет. Постановка прибывающих товаров на учет и снятие товаров с учета при отправке заказов.
Закупки. Заказ товаров поставщикам и отслеживание поставок.
Приём товаров. Принятие на склад товаров от поставщиков.
Планирование. Выпуск отчетов, в том числе отражающих тенденции спроса на отдельные виды товаров и активность поставщиков.
Cтратегия по проникновению компании, занимающейся торговлей по каталогам, на новые участки рынка, требует создания ряда относительно автономных региональных складов продукции. Каждый такой склад несет ответственность за учет товаров и выполнение заказов. В целях повышения эффективности своей работы склад обязан сам поддерживать ту номенклатуру товаров, которая в наилучшей степени соответствует потребностям местного рынка. Номенклатура может быть разной для каждого региона. Кроме того, номенклатура должна оперативно меняться в соответствии с изменяющимися потребностями клиентов. Головная компания хотела бы иметь на всех складах одинаковые системы учета. Основными функциями системы являются:
Учет товаров, приходящих от разных поставщиков, при их приеме на склад.
Учет заказов по мере их поступления из центральной удаленной организации; заказы также могут приниматься по почте. Их обработка ведется на местах.
Генерация указаний персоналу, в частности, об упаковке товаров.
Генерация счетов и отслеживание оплат.
Генерация запросов о поставке и отслеживание платежей поставщикам.
Кроме автоматизации стандартных складских операций, система также должна предоставлять богатые возможности по генерации различных форм отчетности, в том числе отражающих тенденции развития рынка, списков наиболее надежных и ненадежных поставщиков и клиентов, материалов для рекламных компаний.
* * *
|