1. Скачать и распаковать Eclipse IDE for Java EE Developers (Eclipse Juno 4.2) (ссылка для скачивания http://www.eclipse.org/downloads/).
2. Установить плагин Clay Mark II к Eclipse (http://marketplace.eclipse.org/search/site/clay).
3. Установить драйвер JDBC для PostgreSQL (драйвер можно скачать по адресу: http://jdbc.postgresql.org/download.html).
4. В Eclipse создать новый проект типа Dynamic Web project и в нем создать папку, которая будет содержать модель разрабатываемой БД. Структура проекта приведена на рисунке 6.28.
5. Добавить в проект модель: File->New->Database Modeling->Azzurri Clay Database Design Diagram и поместить ее в папку, созданную на предыдущем шаге.
Примечание. Поскольку БД будет храниться на сервере Postgres, то в окошке создания модели для параметра SQL Dialect следует указать PostgreSQL 7.3/7.4 (рисунок 6.29).
В результате выполнения этих действий откроется редактор модели БД.
6. Согласно заданному варианту, выполнить анализ ПрО, приведенной в таблице 6.2.
Название ПрО
| Описание
|
1. Университет
| Объекты: группа; студент; преподаватель; предмет; оценка.
Бизнес-логика: подсчет среднего бала для студента при вводе. При отчислении студента отправлять ему сообщение на почту. Отчисление производиться автоматически, когда у студента четыре неудовлетворительных оценки.
Формы: Список студентов по среднему баллу.
|
2. Футбольный чемпионат
| Объекты: страна; клуб; игроки; матчи.
Бизнес-логика: после каждого матча проставлять очки клубу. Отсылать уведомление на почту президенту клуба. В случае проигрыша – отсылка всем игрокам уведомления об уменьшении зарплаты в данном месяце.
Формы: таблица чемпионата.
|
3. Всеукраинская сеть супермаркетов
| Объекты: город; супермаркет; продавцы; продукты; поставщики.
Бизнес-логика: при уменьшении количества продуктов меньше критической массы автоматически отсылается заказ (почтой) поставщику продукта.
Формы: поставщики продукта по увеличению цены.
|
4. Фирма экстремального спуска с гор
| Объекты: гора; средство спуска (сноуборд, лыжи...); мероприятия после спуска(душ, чай, успокоительное); клиент, счет.
Бизнес-логика: подсчет общей стоимости спуска с горы, снятие этих денег со счета а отправка уведомления клиенту.
Формы: TOP10 активных клиентов за последний месяц.
|
5. Корпорация по продаже земельных участков на планетах солнечной системы
| Объекты: планета; клиент; участок; расписание рейсов на планету; средство передвижения.
Бизнес-логика: подсчитывать остаток свободного места на планете после отнимания площади всех участков. При уничтожении планеты астероидом или захвате внеземными цивилизациями (изменение статуса планеты) – отсылка сообщения всем владельцам участком на планете.
Формы: вывод клиентов планеты по убыванию площади участков.
|
6. Сеть зоопарков
| Объекты: город; зоопарк; животное; рабочий; услуги, которые рабочий
может оказывать животному (чистка, мойка, расчесывание, кормление).
Бизнес-логика: при добавлении нового животного связывать его с
работником, у которого наименьшее количество животных такого вида. Также отсылать работнику сообщение на почту.
Формы: TOP10 работников месяца.
|
7. Форум
| Объекты: рубрика; тема; сообщение; пользователи, список некультурных слов.
Бизнес-логика: фильтрация добавленных сообщений согласно справочнику некультурных слов. Отправка сообщения пользователю о непринятии сообщения. Позволять создавать тему пользователям, если у него более 10 сообщений.
Формы: TOP10 активных пользователей.
|
8. Международная компания «Апельсин +»
| Объекты: страна; фрукт; получатель; способ доставки (стоимость за километр); доставка (расстояние).
Бизнес-логика: не добавлять информацию о доставке, если время хранения фруктов меньше чем время доставки. Расчет стоимости доставки. Отправлять сообщение получателю о подтверждении доставки.
Формы: TOP10 популярных фруктов. TOP10 стран, в которые поставляется наибольшее количество фруктов.
|
9. Национальная компания «Пилорама»
| Объекты: лесник (поставляет дерево); тип дерева; поставка (лесником); склад; выпускаемая продукция; получатель товара.
Бизнес-логика: не позволять смешивать в поставках хвойные в лиственные породы древесины. На каждые 10 кубометров древесины лесник добавляет 11-ый кубометр бесплатно. Отправлять сообщение о подтверждении получателю.
Формы: наиболее используемая древесина, наиболее активные лесники.
|
10. Столовая «Советская»
| Объекты: блюда; напитки; продукты; меню на день; клиент; заказ.
Бизнес-логика: не позволять смешивать мясные и рыбные блюда в одном заказе. В одном заказе не брать блюда из селедки и молочные блюда. После формирования меню отправлять информацию о меню клиентам по почте.
Формы: наиболее активные клиенты, наиболее заказываемое блюдо.
|
11. Фирма по продаже легких наземных экологически-чистых
средств передвижения «Машина будущего»
| Объекты: средство передвижения (велосипед, самокат,...); деталь; поставщик; заказ транспортного средства; клиент.
Бизнес-логика: подсчет стоимости транспортного средства(стоимость деталей + стоимость сборки), вывод количества транспортных средств, которые могут быть произведены из доступных деталей. Отправлять уведомление клиенту о заказе.
Формы: таблица велосипедов, которые можно собрать из доступных деталей, с описанием деталей.
|
12. Программа по контролю деятельности секретных агентов в
зарубежных странах
| Объекты: страна; агент; документы, которые переданы; завербованный агентом персонал.
Бизнес-логика: не позволять вербовать агенту более восьми людей (за ними становится трудно следить). При переводе кого-либо из персонала в статус «рассекречен» отправлять сообщение (если можно - зашифрованное) в штаб-квартиру об угрозе раскрытия агента.
Формы: TOP10 агентов по количеству переданных документов.
|
13. Программа для контроля МЧС рыбаков, дрейфующих на
льдинах
| Объекты: море; льдина; рыбак; корабль; мореходство.
Бизнес-логика: подсчет количества рыбаков, которые остаются на льдине после спасения некоторого количества рыбаков кораблем. При добавлении информации о дрейфующей льдине отсылать сообщение в мореходство с информацией о количестве рыбаков.
Формы: TOP10 льдин, с наибольшим количеством рыбаков.
|
14. Фирма проката свадебных платьев и аксессуаров
| Объекты: платье; фата; цветы; заказ; клиент.
Бизнес-логика: не объединять в одном заказе желтый и красный цвет. Если клиент из Японии – не предлагать белые цветы. Отсылать подтверждение на почту клиенту с информацией о заказе.
Формы: TOP10 наиболее используемых платьев.
|
15. Туристическая фирма
| Объекты: страна; отель; номер; дополнительные услуги(экскурсия, сафари, посещение театра, луна-парк); клиент; заказ.
Бизнес-логика: клиентам из США не предлагать туры в исламские страны. Подсчет стоимости полного заказа. Отсылать подтверждение о заказе клиенту.
Формы: наиболее посещаемые отели.
|
16. Парикмахерская
| Объекты: парикмахер; прическа; дополнительные услуги; клиент; заказ.
Бизнес-логика: не предлагать дополнительных услуг «бритье» женщинам. При добавлении заказа отсылать сообщение парикмахеру.
Формы: список заказов на день.
|
17. Дендропарк
| Объекты: лес (может быть несколько в одном дендропарке), дерево, лесник, школа.
Бизнес-логика: если деревьев какого-то вида становится меньше критического количества, отправлять сообщение школе о необходимости предоставления учеников для посадки деревьев.
Формы: наиболее полезные школы (выполнили наибольшее количество заказов), состояние лесов с информацией о деревьях.
|
18. Фирма по разведению аквариумных рыбок
| Объекты: аквариум; рыба; рыба-экземпляр (с информацией о весе, длине, массе); корм; заказ на рыбу; клиент.
Бизнес-логика: не позволять держать в одном аквариуме хищных и не хищных рыб. Отправлять сообщение клиентам о появлении нового вида рыб.
Формы: наличие рыбок по аквариумам, TOP10 заказываемых видов рыб.
|
19. Общественная организация «Тимуровец»
| Объекты: город; агент-тимуровец; потенциальный клиент; вид помощи; помощь(место, время, вид помощи).
Бизнес-логика: клиентам, возраст которых менее 60 лет не оказывать вид помощи «перевести через дорогу».Не выполнять определенные виды работ в некоторые времена года (сбор яблок зимой). Если за день выполнено 70 более 10 добрых дел – отправлять сообщение на центральный офис города о выполнении плана.
Формы: TOP10 активных агентов-тимуровцев.
|
20. Служба спасения домашних животных
| Объекты: город; животное; заявление об исчезновении; находка животного; клиент.
Бизнес-логика: при нахождении животного, всем кто давал заявление об исчезновении такого вида животного отсылать сообщение на почту. Удалять животное из базы, если ее не забрали в течение 30 дней.
Формы: поиск в найденных животных экземпляров по каким-либо параметрам.
|
21. Электронный песенник
| Объекты: исполнители; песни; комментарии подружек; пользователи; стиль песни(справочник).
Бизнес-логика: изменять цвет фона страницы при каждом добавлении комментария. При добавлении комментария – уведомление пользователю.
Формы: TOP10 подружек по количеству комментариев.
|
22. Корпорация по борьбе с полтергейстом
| Объекты: агент; вид полтергейста; город; заказ на расследование.
Бизнес-логика: не выбирать агентов-новичков на сложные виды полтергейстов. Не позволять агентам выполнять более 3 заказов в неделю. При добавлении заявки на расследование полтергейста отправлять сообщение всем агентам, которые специализируются по этому виду полтергейста.
Формы: статистика выполненных/невыполненных заданий по сотрудникам, статистика заказов и выполненных заданий по городам.
|
23. Программа по контролю за случаями встречи с НЛО
| Объекты: город, участник события; тип НЛО; событие.
Бизнес-логика: при поступлении заявки о событии в одинаковое время и в том же месте – создавать одну заявку, присоединяя участников события. При добавлении события на почтовый адрес центрального офиса города отсылать сообщение.
Формы: наиболее активные очевидцы НЛО. Наиболее часто появляющееся НЛО.
|
24. Аукцион
| Объекты: товар; клиент, которые покупает; лот; рубрика; проданный товар.
Бизнес-логика: не позволять выставлять цену за лот меньше той, которая уже есть сейчас. При закрытии аукциона автоматически добавлять товар в проданный и отправлять почтовое сообщение пользователю.
Формы: самые дорогие проданные товары.
|
25. Доставка пиццы
| Объекты: пиццерия, пицца, продукты, заказ, машина, дополнительные блюда.
Бизнес-логика: Не позволять создавать заказ на время, которое уже занято. При заказе 10 пицц, 11 бесплатно. Отправлять сообщение пиццерии при оформлении заказа.
Формы: Самые популярные пиццы, текущее состояние машин доставки (свободна, занята).
|
26. Детский оздоровительный лагерь "Отдохни-ка!"
| Таблица: заезд детей, отряды, дети, вожатые, мероприятия.
Бизнес-логика: В отряде не должно быть больше 30 детей. Для каждого отряда есть ограничение в возрасте. За победу в каждом мероприятии отряд получает очки, и в конце заезда определяется самый лучший отряд. При смене статуса ребенка (прибыл, выехал), отправлять сообщение родителям на почту.
Формы: Список мероприятий на заезд, Список очков каждого отряда.
|
27. Военкомат
| Объекты: военкомат (количество требуемых призывников), работник военкомата; бригада по поиску призывников; студент; заявка на выезд к студенту.
Бизнес-логика: не позволять добавлять в бригаду работников, которые являются однофамильцами студентов. Не позволять формировать бригады зимой и летом (отсутствие призыва). При поимке студента бригадой, отправлять сообщение на почтовый адрес родителей.
Формы: Отслеживание набора призывников (сколько осталось). Количество студентов, пойманных каждой бригадой (топ 10 бригад).
|
28. Авиакомпания "Взлет-посадка"
| Объекты: самолеты, города, пилоты, заказ, рейс.
Бизнес-логика: Не позволять оформлять заказ при отсутствии свободных мест. В рейсе задается стоимость полета и пилоты. Не позволять пилотам летать чаще 4 раз в неделю. При отмене рейса, отправлять сообщение клиентам, адреса которых указаны в заказах.
Формы: наиболее часто посещаемые города.
|
29. Рыбнадзор
| Объекты: рыб-инспектор, лодка рыб-инспектора, справочники рыб и снастей, потенциальные браконьеры, акт о поимке.
Бизнес-логика: Одну лодку разрешается комплектовать 2-мя - 4-мя рыб-инспекторами. Автоматически рассчитывать стоимость убытка природе, исходя из массы и вида пойманной рыбы, и используемых снастей. При составлении акта отправлять копию его городской администрации, суду, родственникам браконьера.
Формы: топ 10 рыб-инспекторов и браконьеров.
|
30. Агентство по продаже квартир
| Объекты: заявки на продажу, заявки на покупку, агенты по продаже, нотариусы, сделки.
Бизнес-логика: При составлении сделки агентом автоматически назначать свободного нотариуса для оформления документов. При поступлении заявки на продажу квартиры отправлять сообщения всем клиентам, которые подали заявку на покупку квартиры с похожими характеристиками, и наоборот.
Формы: список продаваемых квартир, составленный на основе заявок на продажу; Топ10 агентов, которые заключили больше всего сделок.
|
7. Разработать концептуальную (логическую) модель БД в виде ER-диаграммы.
8. Определить ограничения целостности БД.
9. Спроектировать не менее 3-х триггеров (по одному на каждое из событий Insert, Update, Delete). Для триггера обязательно указать событие, на которое он срабатывает, время инициирования, дать описание.
10. Спроектировать не менее 2-х хранимых процедур. Определить входные и выходные параметры, их типы. Дать словесное описание действий, выполняемых хранимой процедурой.
11. Разработать физическую модель БД.
Примечание. Особенность Clay Mark II состоит в том, что этап логического и физического моделирования БД можно выполнять параллельно. При этом необходимо одновременно указывать логические имена сущностей, атрибутов, связей и т.д. и соответствующие им имена таблиц, колонок, связей и т.д..
12. Сгенерировать схему БД.
Анализ ПрО в виде текста (не менее 1 стр.).
Рисунок с концептуальной моделью ПрО (ER-диаграмма).
Описание ограничений целостности, накладываемых на данные (можно в виде таблицы). При этом обязательно указать:
- ограничения на значения данных атрибутов вида: "интервал", "перечислимое значение" и "сравнение значений двух атрибутов одной таблицы".
Схему БД, полученную по созданной ER-диаграмме в Clay Mark II (физическая модель).
Сгенерированный SQL-скрипт схемы БД.