|
Программирование >> Проектирование баз данных
На рис. 1.2 представлен пример функциональной декомпозиции, который иллюстрирует разбиение процесса составления счетов на ряд более мелких шагов до тех пор, пока их нельзя разбить далее без ущерба для смысла (в этой точке они считаются атомарными). Каждый из представленных на этом рисунке заголовков, как правило, должен сопровождаться кратким описанием функции. Атомарные функции обычно снабжают более подробным описанием их назначения. Выставить клиенту счеТ; Рассчитать обилую месячную плату за прокат с учетом ш-скидок за приверженность 1 Рсхчитать скидка- ?а ПС / месяцу Сген Пере. J у..: -1ПТ- т-ф. поговый счет в бухгалтерские регистры Рис. 1.2. Пример функциональной декомпозиции На рис. 1.3 представлена простая модель сущностей для нашей системы проката автомобилей, которая имеет вид диаграммы сущность-отношение {ER-диаграммы). Такие рисунки оказывают колоссальную помощь в понимании и документировании системы. Методы моделирования и условные обозначения, на которых построена эта схема, являются главной темой главы 3. В сложной системе ER-диаграмма всей модели по легкости чтения почти наверняка будет сопоставима с одностраничной картой с изображением всех звезд, видимых в северном полушарии! Рекомендуем разбить ее на несколько небольших диаграмм, каждая из которых описывает относительно автономную предметную область модели. Предупреждение Мы часто сталкиваемся с тем, что в структуре базы данных и коде имеют место серьезные упущения, вызванные тем, что проектировщики и программисты пользуются неполными диаграммами. Поэтому, если вы собираетесь использовать неполные диаграммы, обязательно определите межстраничные связи и не забудьте указать, куда они идут. Customer сейчас находится в в процессе ш Rental Саг Customar Car Rental о- Site г Category Billing Rate j - - Invoice Line Invoice Insurance Option Loyalty Discount Standard Billing Rate , Special Billing Ratu Volume Discount Puc. 1.3. Диаграмма сущность-отношение Каждая сущность должна сопровождаться описанием, набором атрибутов со свойствами и описаниями, а также уникальным идентификатором, по которому один экземпляр можно отличить от других. Предупреждение Показывать отнощения между сущностями, не именуя их, опасно, поскольку читателям приходится самим делать предположения о характере отнощений и они могут ошибиться. Для простоты мы назвали на рис. 1.3 только два отнощения - те, которые связывают автомобиль с пунктом. В другой прокатной фирме, возможно, потребовалось бы показать и другие отнощения между двумя этими сущностями, например, первоначально доставленный в ... и обычно базирующийся в .... В процессе анализа необходимо также зафиксировать бизнес-правила. Это не функции как таковые, а, скорее, непреложные факты, которым всегда должна подчиняться система. В нашем примере можно сформулировать следующие бизнес-правила: Специальные скидки не распространяются на автомобили возрастом менее одного года. Общая сумма скидки (за приверженность плюс за объем заказа) не может превышать 40% чистой суммы, указанной в счете-фактуре. К другим часто используемым результатам анализа относятся жизненные циклы сущностей {ЖЦС) и диаграммы потока данных (ДПД). Эти элементы вводят понятие последовательности, которое невозможно применить ни к иерархии функций, ни к модели сущность-отношение . В частности. попытка показать жизненный цикл на модели сущностей - широко распространенный источник ошибок. Там, где не используются ЖЦС, можно для представления отсутствующей информации применять бизнес-правила, например: Контракт на прокат может заключаться только на автомобиль, который проверен и сертифицирован техником после последней поездки по открытой автостраде. (Это определение учитывает автомобили, используемые или перегоняемые из одного пункта в другой служащими или подрядчиками фирмы.) На заключительной стадии этапа анализа бригада составляет план тестирования системы. На рис. 1.4 изображена диаграмма жизненного цикла сущности Rental Саг ( Автомобиль напрокат ). Заказан Hjllj IIIIIIIIPIIIII III 1) I Ш1рр1ШИ Приобретен > Возвращен изготовителю ШИВМИ!Ш!ЯЯ11ЦЯИШРВ Введен I плуатацию ш- Снят с эксплуатации tMiiilW ......ipiiigiiiiiliyiiigiiif[C зддк мЯ!Я1!МШ1Щр1Ш1Я111В Ожидае-1 чи напрокат Взят напрокат Возвращен MliipiiiljIllilllllilMiilhiiltiytlt iiliiiWII Перегоняется TjtJMWraifffWlMHW IIIIIII! Ill ijilipw Рис. 1.4. Жизненный цикл сущности Rental Car Проектирование Проектировщик (или бригада проектировщиков) берет выходные данные анализа и выдает: определение (или схему) базы данных - на основании модели сущностей, разработанной на этапе анализа; набор спецификаций модулей - построенных на базе моделей функций.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |