Варианты задания практикума. 2005-06 учебный год

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

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

  1. составление глоссария проекта;
  2. создание модели вариантов использования;
  3. анализ вариантов использования (по окончании производится промежуточная сдача задания);
  4. проектирование системы;
  5. реализация системы.

Дополнительное требование для 527 и 528 групп: процесс создания модели должен проходить так, как это описано в главе 3 методички [Вендров-2004]. Структура модели в браузере Rose должна соответствовать структуре, предусмотренной Rational Unified Process.

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

Дополнительное требование для 527 и 528 групп: следует создать классы анализа.

При проектировании системы требуется:

При реализации системы необходимо построить диаграммы компонентов для каждого пакета и для системы в целом. Также следует разработать диаграмму размещения. В зависимости от варианта задания диаграмма размещения должна показывать расположение компонентов в распределенном приложении или связи между встроенным процессором и устройствами. Должна быть произведена проверка корректности модели и автоматическая генерация кода средствами Rational Rose.

* * *

Ниже перечислены варианты заданий.

  1. Магазин видеопроката
  2. Торговый автомат
  3. Табло на станции метро
  4. Система автоматизации для пункта проката видеокассет
  5. Мини-АТС
  6. Система складского учета
  7. Система торговой компании
  8. Управление контактами с клиентами
  9. Банкомат
  10. Система кредитования банка
  11. Система табельного учета
  12. Web-сайт авиакомпании
  13. Система учета товаров
  14. Библиотечная система
  15. Интернет-магазин
  16. WWW-конференция
  17. Каталог ресурсов Интернет
  18. Система для ввода информации при приеме сотрудника на работу
  19. Генеалогическое дерево
  20. Служба занятости в рамках вуза
  21. Система поддержки составления расписания занятий
  22. Система начисления зарплаты

* * *

Вариант 1. Магазин видеопроката
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение магазина видеопроката

Видеомагазин нуждается в компьютерной системе. Ассортимент магазина составляет около тысячи видеокассет и пятьсот видео-дисков. Запас уже заказан у одного поставщика, однако, для будущих заказов директор намерен прибегать к услугам большего числа поставщиков. Все видеокассеты и диски снабжены штрих-кодом, так что сканер, интегрированный в систему, может поддерживать операции выдачи напрокат и возврата видеофильмов. Членские карточки клиентов также снабжены штрих-кодом.
Клиенты имеют возможность резервировать видео таким образом, чтобы комплект видеофильмов был собран к определенной дате. Система должна обладать поисковым механизмом для ответов на запросы клиентов, включая вопросы, касающиеся фильмов, которых нет в ассортименте магазина (но которые он может заказать по просьбе клиента).
Для каждого фильма установлен конкретный период проката (исчисляемый в днях) с соответствующей платой за прокат за этот период.
Видеомагазин должен быть в состоянии немедленно дать ответ на любой запрос по наличию фильмов в запасе, а также количеству кассет или дисков (текущие условия по каждой ленте и диску должны быть известны и зафиксированы).
Плата за прокат отличается в зависимости от видеоносителя: кассета или диск.
Хотя магазин держит в запасе видеодиски только одного формата – DVD, пользователи желали бы расширить в будущем систему проката и на другие форматы дисков.
Работники видеомагазина стремятся запомнить коды наиболее популярных лент. Зачастую при идентификации фильма они используют именно код фильма, а не его название (поскольку фильм с одним названием мог выпускаться разными режиссерами).
Дополнительные требования:
За кассеты и диски, возвращенные позже срока, взимается дополнительная плата за период, превышающий срок проката. Каждый видеоноситель обладает уникальным идентификационным номером.
Фильмы заказываются у поставщика, который, в общем случае, может поставить кассеты и диски в течение одной недели. Обычно один заказ делается на несколько фильмов.
Забронировать можно те фильмы, которые заказаны у поставщика и/или все копии которых находятся в прокате. Можно также забронировать те фильмы, которых нет в запасе и которые не заказаны у поставщика; при этом с клиента требуется задаток за один период проката.
Клиент может также сделать несколько предварительных заказов, однако для каждого забронированного фильма готовится отдельный запрос на бронирование. Бронирование может быть отменено. Из-за отсутствия реакции со стороны клиента, более точно, в течение одной недели е момента, когда клиенту было сообщено о возможности взять фильм напрокат. Если за фильм был уплачен задаток, он записывается на счет клиента.
База данных хранит обычную информацию о поставщиках и клиентах, т.е. адреса, телефонные номера и т.д. В каждом заказе поставщику указываются заказываемые фильмы, их количество, форматы кассеты/диска, а также дата ожидаемой доставки, отпускная цена, возможные скидки и т. д.
Когда кассета возвращается клиентом или поступает от поставщика, вначале удовлетворяются предварительные заказы. Работники магазина устанавливают контакт с клиентами, сделавшими предварительный заказ. Для правильной обработки бронирования фильмов информация, связанная с бронированием, обновляется дважды: после установления контакта с клиентом, когда ему сообщается, что «забронированный фильм пришел», и после сдачи фильма клиенту напрокат. Эти шаги гарантируют правильное проведение операции бронирования.
Клиент может взять несколько кассет или дисков, однако каждому взятому видеоносителю ставится в соответствие отдельная запись. Для каждого выдаваемого напрокат фильма фиксируются дата и время выдачи, установленный и фактический срок возврата. Позже запись о покате обновляется, чтобы отразить факт возврата видеофильма и факт окончательного платежа (или возврата денег). Кроме того, запись хранит информацию о продавце, отвечающем за прокат фильма. Детальная информация о клиенте и по прокату хранится в течение года, чтобы можно было легко определить уровень доверия к клиенту. Старая информация по прокату сохраняется в течение года в целях проведения аудита.
Все операции выполняются с использованием наличности, электронного перевода денег или кредитных карточек. От клиентов требуется внести плату за прокат при выдаче кассет/дисков. Если кассета/диск возвращены позже установленного срока (или не могут быть возвращены по каким-либо причинам), плата снимается либо со счета клиента, либо принимается непосредственно от клиента.
Если кассета/диск задержаны более чем на два дня, клиенту отправляется уведомление о задержке. После отправки двух уведомлений о задержке одной и той же кассеты/диска, клиент предупреждается о том, что он является «нарушителем» и при следующем его обращении в магазин руководство рассматривает вопрос о снятии с него статуса «нарушителя».

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

* * *

Вариант 2. Торговый автомат
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение торгового автомата

Требуется разработать средствами Rational Rose модель программного обеспечения встроенного процессора универсального торгового автомата.

Внешний вид торгового автомата

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

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

* * *

Вариант 3. Табло на станции метро
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение табло на станции метро

Требуется разработать средствами Rational Rose модель программного обеспечения табло для информационной службы метрополитена.
Табло расположены на каждой станции метро. Они работают под управлением единого пункта управления (ПУ) информационной службы метро. Табло отображает текущее время (часы, минуты, секунды) и время, прошедшее с момента отправления последнего поезда (минуты, секунды). Момент прибытия и отправления поезда определяется при помощи датчиков, устанавливаемых на путях. Все табло метро синхронизованы, текущее время отсчитывается и устанавливается из центральной службы времени, находящейся на ПУ.
На табло высвечивается конечная станция назначения прибывающего поезда. Эти данные содержатся в расписании движения поездов, которое хранится в памяти табло и периодически обновляется с ПУ.
В «бегущей строке» табло отображается рекламная информация. Память табло хранит до 10 рекламных сообщений. Сообщения отображаются друг за другом с небольшими паузами, циклически. Содержание рекламных сообщений поступает с ПУ.
Дополнительная функция табло – по запросу с ПУ оно пересылает данные о нарушениях расписания (преждевременных отправлениях поездов или опозданиях).
В ходе выполнения задания должна быть создана схема базы данных для хранения рекламных сообщений, расписания и сведений о нарушении расписаний.
Пояснение: в задании требуется разработать модель ПО только для табло, но не для пункта управления информационной службы.

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

* * *

Вариант 4. Система автоматизации для пункта проката видеокассет
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Система автоматизации для пункта проката видеокассет

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

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

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

* * *

Вариант 5. Мини-АТС
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение мини-АТС

Требуется разработать средствами Rational Rose модель программного обеспечения встроенного микропроцессора учрежденческой мини-АТС (автоматической телефонной станции).
Мини-АТС осуществляет связь между служащими учреждения. Каждый абонент подключен к ней линией связи. Мини-АТС соединяет линии абонентов (осуществляет коммутацию линий). Абоненты имеют номера, состоящие из трех цифр. Специальный номер «9» зарезервирован для внешней связи.
Телефонное соединение абонентов производится следующим образом. Абонент поднимает трубку телефона, и мини-АТС получает сигнал «Трубка». В ответ мини-АТС посылает сигнал «Тон». Приняв этот сигнал, абонент набирает телефонный номер (посылает три сигнала «Цифра»). Мини-АТС проверяет готовность вызываемого абонента. Если абонент не готов (его линия занята), мини-АТС посылает вызывающему абоненту сигнал «Занято». Если абонент готов, мини-АТС посылает обоим абонентам сигнал «Вызов». При этом телефон вызываемого абонента начинает звонить, а вызывающий абонент слышит в трубке длинные гудки. Вызываемый абонент снимает трубку, и мини-АТС получает от него сигнал «Трубка», после чего осуществляет коммутацию линии. Абоненты обмениваются сигналами «Данные», которые мини-АТС должна передавать от одного абонента к другому. Когда один из абонентов опускает трубку, мини-АТС получает сигнал «Конец» и посылает другому абоненту сигнал «Тон».
В любой момент абонент может положить трубку, при этом мини-АТС получает сигнал «Конец». После получения этого сигнала сеанс обслуживания абонента завершается.
Если абонент желает соединиться с абонентом за пределами учреждения, то он набирает номер «9». Мини-АТС посылает по линии, соединяющей с внешней (городской) АТС, сигнал «Трубка» и в дальнейшем служит посредником между телефоном абонента и внешней АТС. Она принимает и передает сигналы и данные между ними, не внося никаких изменений. Единственное исключение касается завершения сеанса. Получив от городской АТС сигнал «Конец», мини-АТС посылает абоненту сигнал «Тон» и ждет сигнала «Конец» для завершения обслуживания абонента. Если вызывавший абонент первым вешает трубку, то мини-АТС получает сигнал «Конец» и передает его городской АТС и завершает сеанс.
Мини-АТС может получить сигнал «Вызов» от городской АТС. Это происходит, когда нет соединений с внешними абонентами. Сигнал «Вызов» от городской АТС передается абоненту с кодом «000». Только этот абонент может отвечать на внешние звонки.

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

* * *

Вариант 6. Система складского учета
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение системы складского учета

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

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

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

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

* * *

Вариант 7. Система торговой компании
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение торговой компании

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

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

* * *

Вариант 8. Управление контактами с клиентами
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение для управления контактами с клиентами

Компания, занимающаяся исследованием рынка, обладает стабильной клиентской базой организаций, которые приобретают отчеты по анализу рынка. Некоторые крупные клиенты приобретают у компании также специализированное ПО, предназначенное для создания отчетов. Этих клиентов компания также обеспечивает необработанной и агрегированной информацией для генерации их собственных отчетов.
Новая система управления контактами должна находиться в распоряжении всех работников компании, но с предоставлением различного уровня доступа. Сотрудники отдела обслуживания клиентов берут шефство над системой. Система должна обеспечить гибкое планирование и перепланирование видов деятельности, связанных с контактами.
Система поддерживает функции «постоянного контакта» с наличной и потенциальной клиентской базой так, чтобы откликаться на ее нужды и получать новые контракты на приобретение товаров.
Система хранит имена, номера телефонов, обычные почтовые и курьерские адреса и т. д. организаций и контактных лиц в этих организациях.
Система позволяет сотрудникам планировать задания и мероприятия, которые необходимо провести в отношении контактных лиц. Сотрудники планируют задания и мероприятия для других сотрудников или для себя.
Задание – это группа мероприятий, которые осуществляются для достижения определенного результата. Результатом может быть превращение потенциального клиента в клиента, организация доставки товара или решение проблемы клиента. К обычным типам мероприятий относятся телефонный звонок, визит, отправка факса, устройство обучения и т. д.
Клиент рассматривается как наличный, если существует контракт с этим клиентом на поставку товаров или услуг. Однако, функции управления контрактами выходят за рамки системы.
Система позволяет вырабатывать различные отчеты по контактам на основе почтового и курьерского адресов (например, находить всех клиентов по почтовому коду). Дата и время создания задания фиксируются. Можно также сохранить значение «дохода», ожидаемого от осуществления задания.
Мероприятия для сотрудника отображаются на экране его компьютера в виде страницы календаря (один день на страницу). Приоритет каждого мероприятия (низкий, средний, высокий) визуально выделяется на экране.
Не со всеми мероприятиями связано понятие «срок исполнения» – некоторые из них являются «бессрочными» (они могут выполняться в любое время в течение дня, на который они запланированы).
Время создания мероприятия не может изменяться, а срок исполнения – может. По завершении мероприятия дата и время его завершения фиксируются. Система также хранит отличительные признаки для сотрудников, которые создают задания и мероприятия, которым запланировано осуществление мероприятия («поручено сотруднику») и которые завершили мероприятие.

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

* * *

Вариант 9. Банкомат
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение банкомата

Требуется разработать средствами Rational Rose модель программного обеспечения банкомата. Банкомат – это автомат для выдачи наличных денег по кредитным пластиковым карточкам. В его состав входят следующие устройства: дисплей, панель управления с кнопками, приемник кредитных карт, хранилище денег и лоток для их выдачи, хранилище конфискованных кредитных карт, принтер для печати справок.
Банкомат подключен к линии связи для обмена данных с банковским компьютером, хранящим сведения о счетах клиентов.
Обслуживание клиента начинается с момента помещения пластиковой карточки в банкомат. После распознавания типа пластиковой карточки, банкомат выдает на дисплей приглашение ввести персональный код. Персональный код представляет собой четырехзначное число. Затем банкомат проверяет правильность введенного кода. Если код указан неверно, пользователю предоставляются еще две попытки для ввода правильного кода. В случае повторных неудач карта перемещается в хранилище карт, и сеанс обслуживания заканчивается. После ввода правильного кода банкомат предлагает пользователю выбрать операцию. Клиент может либо снять наличные со счета, либо узнать остаток на его счету.
При снятии наличных со счета банкомат предлагает указать сумму (10, 50, 100, 200, 500, 1000 рублей). После выбора клиентом суммы банкомат запрашивает, нужно ли печатать справку по операции. Затем банкомат посылает запрос на снятие выбранной суммы центральному компьютеру банка. В случае получения разрешения на операцию, банкомат проверяет, имеется ли требуемая сумма в его хранилище денег. Если он может выдать деньги, то на дисплей выводится сообщение «Выньте карту». После удаления карточки из приемника, банкомат выдает указанную сумму в лоток выдачи. Банкомат печатает справку по произведенной операции, если она была затребована клиентом.
Если клиент хочет узнать остаток на счету, то банкомат посылает запрос центральному компьютеру банка и выводит сумму на дисплей. По требованию клиента печатается и выдается соответствующая справка.
В специальном отделении банкомата, закрываемом замком, есть "секретная кнопка", которая используется обслуживающим персоналом для загрузки денег. При нажатии на эту кнопку открывается доступ к хранилищу денег и конфискованным кредитным картам.

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

* * *

Вариант 10. Система кредитования банка
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение системы кредитования банка

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

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

* * *

Вариант 11. Система табельного учета
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение системы табельного учета

Задачи контроля рабочего времени, выполняемые отделом кадров, включают сбор отпечатанных табелей, проверку полноты и правильности заполнения табелей, получение при необходимости подтверждения от менеджера и ввод данных табельных карточек в действующую систему расчета заработной платы, чтобы подготовить печать платежной ведомости. Кроме того, штат отдела кадров должен поддерживать коды зарплаты (обычное время, сверхурочное время, отпуск по болезни и т.д.) и распределять список кодов среди служащих компании при каждом его изменении.
Эта работа в свою очередь влияет на способность отдела кадров выполнять другие обязанности, в том числе готовить отчеты по зарплате, заниматься пособиями и выполнять функции найма, продвижения и увольнения. Успешное решение проблемы должно сократить время, которое отдел кадров тратит на задачи, связанные с табельным учетом, на 60% и более.
Заинтересованными лицами в этом проекте являются служащие компании, имеющие следующие должностные обязанности:
Заинтересованное лицоОбязанности
Администратор отдела кадров Вести учет служащих.
Рассматривать и вводить данные табелей служащих.
Поддерживать и распределять коды зарплаты.
Готовить отчеты о зарплате.
Сверять данные о зарплате.
Управлять пособиями.
Консультировать служащих по вопросам пособий.
Наблюдать за процессом найма и соответствующим учетом.
Наблюдать за процессом продвижения и соответствующим учетом.
Наблюдать за процессом увольнения и соответствующим учетом.
Реагировать на жалобы служащих.
Менеджер отдела кадров Управлять отделом кадров.
Служащие Предоставлять отделу кадров информацию, связанную со служащими и их рабочим временем.

Пользователи системы и их обязанности:
Пользователь Обязанности
Администратор отдела кадров Рассматривать и корректировать табельные карточки.
Поддерживать коды зарплаты.
Менеджер отдела кадров Утверждать особые типы корректировки табельных карточек.
Служащие Вводить данные табельных карточек.
Менеджеры Подтверждать табельные карточки служащих.

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

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

* * *

Вариант 12. Web-сайт авиакомпании
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение Web-сайта авиакомпании

Коммерческий отдел авиакомпании предложил расширить свой Web-сайт, чтобы позволить пользователям:

Постоянные клиенты, которые часто летают самолетами авиакомпании, смогут использовать также следующие функции:

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

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

* * *

Вариант 13. Система учета товаров
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программная система учета товаров

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

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

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

* * *

Вариант 14. Библиотечная система
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Система автоматизации для библиотеки

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

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

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

* * *

Вариант 15. Интернет-магазин
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение Интернет-магазина

Требуется разработать средствами Rational Rose модель программного обеспечения Интернет-магазина.
Производитель компьютеров предлагает возможность приобретения своей продукции через Internet. Клиент может выбрать компьютер на Web-странице производителя. Компьютеры подразделяются на серверы, настольные и портативные. Заказчик может выбрать стандартную конфигурацию или построить требуемую конфигурацию в диалоговом режиме. Компоненты конфигурации (такие, как оперативная память) представляются как список для выбора из доступных альтернатив. Для каждой новой конфигурации система может подсчитать цену.
Чтобы оформить заказ, клиент должен заполнить информацию по доставке и оплате. В качестве платежных средств допускается использование кредитных карточек или чеков. После ввода заказа система отправляет клиенту по электронной почте сообщение с подтверждением получения заказа вместе с относящимися к нему деталями. Пока клиент ожидает прибытия компьютера, он может проверить состояние заказа в любое время в диалоговом режиме. Серверная часть обработки заказа состоит из заданий, необходимых для проверки кредитоспособности и способа расчета клиента за покупку, истребования заказанной конфигурации со склада, печати счета и подачи заявки на склад о доставке компьютера клиенту.
Дополнительные требования:
Для знакомства со стандартной конфигурацией выбираемого сервера, настольного или портативного компьютера клиент использует Web-страницу Internet-магазина. При этом также приводится цена конфигурации. Клиент выбирает детали конфигурации, с которыми он хочет познакомиться, возможно, с намерением купить готовую или составить более подходящую конфигурацию. Цена для каждой конфигурации может быть подсчитана по требованию пользователя.
Клиент может выбрать вариант заказа компьютера по Internet либо попросить, чтобы продавец связался с ним для объяснения деталей заказа, договорился о цене и т. п. прежде, чем заказ будет фактически размещен.
Для размещения заказа клиент должен заполнить электронную форму с адресами для доставки товара и отправки счет-фактуры, а также деталями, касающимися оплаты (кредитная карточка или чек).
После ввода заказа клиента в систему продавец отправляет на склад электронное требование, содержащее детали заказанной конфигурации.
Детали сделки, включая номер заказа, номер счета клиента, отправляются по электронной почте клиенту, так что заказчик может проверить состояние заказа через Internet.
Склад получает счет-фактуру от продавца и отгружает компьютер клиенту.
При выполнении этого варианта задания рекомендуем ознакомиться с работой [Коналлен-2001]. Следует определиться, по какому архитектурному шаблону будет строиться Web-приложение («тонкий клиент» или «толстый клиент»). В соответствии с выбранным шаблоном следует построить модели клиентской части магазина и серверной части, промоделировать связи между частями приложения. Для Web-приложений типичными являются следующие классы:

Дополнительные связи между классами Web-приложений: Типичные компоненты:

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

* * *

Вариант 16. WWW-конференция
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение WWW-конференции

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

Требуется разработать средствами Rational Rose модель программного обеспечения WWW-конференции.
WWW-конференция представляет собой хранилище сообщений в сети Интернет, доступ к которому осуществляется при помощи браузера. Для каждого сообщения конференции хранятся значения следующих полей: номер сообщения, автор, тема, текст сообщения, дата добавления сообщения, ссылка на родительское сообщение. Начальной страницей конференции является иерархический список сообщений. Верхний уровень иерархии составляют сообщения, открывающие новые темы, а подуровни составляют сообщения, полученные в ответ на сообщения верхнего уровня. Сообщение-ответ всегда имеет ссылку на исходное сообщение. В списке отображаются только темы сообщений, их авторы и даты добавления. Просматривая список, пользователь выбирает сообщение и по гиперссылке открывает страницу с текстом сообщения. Помимо текста на этой странице отображается список (иерархический) сообщений являющихся ответами, ответами на ответы и т.д. Для удобства пользователей необходимо предусмотреть поиск сообщений по автору или по ключевым словам в теме или тексте сообщения.
Сообщения добавляются в конференцию зарегистрированными пользователями, которые при отправке сообщения должны указать своё имя и пароль. Регистрирует новых пользователей модератор конференции - её ведущий. При регистрации пользователь заполняет специальную форму, содержимое которой затем пересылается модератору и запоминается в базе пользователей. Модератор решает, регистрировать пользователя или нет, и отправляет свой ответ.
При добавлении сообщений пользователь имеет возможность начать новую тему или ответить на ранее добавленные сообщения. После добавления сообщения оно доступно для чтения всем пользователям (даже незарегистрированным), и список сообщений обновляется.
Модератор имеет право по тем или иным причинам удалять сообщения любых авторов. Он также может наказывать пользователей, нарушающих правила поведения в конференции, лишая на некоторое время пользователя возможности добавлять и редактировать сообщения.
Вариант задания включает в себя разработку схемы базы данных для хранения сообщений конференции и информации об её участниках.
Выполняющим это задание полезно ознакомиться с заключительным замечанием к варианту «Интернет-магазин». Наиболее подходящей архитектурой для WWW-конференции является «тонкий клиент», поскольку клиентская часть практически не содержит «бизнес-логики». Единственным её элементом, который может выполняться на стороне клиента, является проверка правильного заполнения полей формы, перед отправкой её содержимого на сервер.

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

* * *

Вариант 17. Каталог ресурсов Интернет
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение каталога ресурсов Интернет

Яндекс - найдется все.
Из рекламы

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

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

* * *

Вариант 18. Система для ввода информации при приеме сотрудника на работу
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечения для приема сотрудника на работу

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

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

* * *

Вариант 19. Генеалогическое дерево
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программная система поддержки генеалогических деревьев.

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

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

* * *

Вариант 20. Служба занятости в рамках вуза
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения службы занятости

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

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

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

* * *

Вариант 21. Система поддержки составления расписания занятий
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Система поддержки составления расписания занятий

Хотя данная версия расписания является последней, в ней возможны изменения, которые мы не в силах предусмотреть.
Из студенческого фольклора

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

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

* * *

Вариант 22. Система начисления зарплаты
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения. Программное обеспечение системы начисления зарплаты

Перед информационной службой компании поставлена задача создания новой системы начисления зарплаты взамен морально устаревшей существующей системы. Новая система должна предоставлять служащим возможность записывать электронным способом информацию из карточки учета рабочего времени и автоматически формировать чеки на оплату, учитывающие количество отработанных часов и общий объем продаж (для служащих, получающих комиссионное вознаграждение).
Новая система должна предоставлять служащим возможность вводить информацию из карточки учета рабочего времени, вводить заказы на поставку, изменять свои параметры (такие, как способ оплаты за работу), и формировать различные отчеты. Система должна работать на персональных компьютерах служащих всей компании. В целях обеспечения безопасности и аудита служащие должны иметь возможность доступа и редактирования только своих собственных карточек учета рабочего времени и заказов на поставку.
В системе должна храниться информация обо всех служащих компании в различных странах. Система должна обеспечивать правильную и своевременную оплату работы каждого служащего в соответствии с указанным им способом. Компания из соображений экономии расходов желает сохранить без изменений одну из существующих баз данных (БД управления проектами), которая содержит всю информацию относительно проектов и тарифов. БД управления проектами функционирует в среде DB2 на мейнфрейме IBM. Новая система может читать данные из БД управления проектами, но не может обновлять их.
Некоторые служащие получают почасовую зарплату. Она начисляется на основе карточек учета рабочего времени, каждая из которых содержит дату и количество часов, отработанных в соответствии с конкретным тарифом. Если какой-либо служащий отработал в день более 8 часов, сверхурочное время оплачивается с коэффициентом 1.5. Служащие-почасовики получают зарплату каждую пятницу.
Некоторые служащие получают фиксированный оклад, однако они тоже представляют свои карточки учета рабочего времени. Благодаря этому система может вести учет количества часов, отработанных в соответствии с конкретными тарифами. Такие служащие получают зарплату в последний рабочий день месяца.
Некоторые из служащих с фиксированным окладом также получают комиссионное вознаграждение, учитывающее объем продаж. Они представляют заказы на поставку, отражающие дату и объем продаж. Процент комиссионного вознаграждения определяется индивидуально для каждого служащего и может составлять 10%, 15%, 25% или 35%.
Одной из наиболее часто используемых возможностей новой системы является формирование различных отчетов. запросить количество отработанных часов, суммарную зарплату, оставшееся время отпуска и т.д.
Служащие могут выбирать способ оплаты за работу. Они могут получать свои чеки на оплату по почте, на счет в банке или на руки в офисе.
Администратор системы ведет информацию о служащих. В его обязанности входит ввод данных о новых служащих, удаление данных и изменение любой информации о служащем, такой, как имя, адрес и способ оплаты, а также формирование различных отчетов для руководства.
Приложение начисления зарплаты запускается автоматически каждую пятницу и в последний рабочий день месяца, рассчитывая в эти дни зарплату соответствующих служащих. Начисление зарплаты должно производиться автоматически, без ручного вмешательства.

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

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