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