Документирование типов сущностей

После выделения каждой сущности ей следует присвоить некоторое осмысленное имя, которое обязательно должно быть понятно пользователям. Выбранноеимя и опи­сание сущности помещается в словарь данных. Если это возможно, следует установить и внести в документацию ожидаемое количество экземпляров каждой сущности. Если сущность известна пользователям под разными именами, все дополнительные имена рекомендуется определить как алиасы (синонимы) и также занести в словарь данных.

Этап 1.2. Определение типов связей

Цель Определение важнейших типов связей, существующих между сущностя­ми, выделенными на предыдущем этапе.

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

• Подразделение имеет персонал.

• Персонал занимается объектами недвижимости.

• Арендатор просматривает сведения об объектах недвижимости, сдавае­мых в аренду.

Тот факт, что текст спецификаций содержит информацию о некоторых связях по­зволяет предположить, что эти связи являются весьма важными для предприятия. Поэтому они обязательно должны быть отображены в создаваемой модели.

Нас интересуют только те связи между сущностями, которые необходимы для удовлетворения требований к проекту. Так, в предыдущем примере были выделены связи "персонал занимается объектами недвижимости" и "арендатор просматривает сведения об объектах недвижимости, сдаваемых в аренду". Может возникнуть жела­ние включить в модель и связь между персоналом и арендатором (например, "персонал обслуживает арендатора"). Однако, хотя эта связь является вполне допус­тимой, в спецификациях на проект нет ни одного указания на то, что она должна быть отображена в модели..

В большинстве случаев связи являются парными — другими словами, связи су­ществуют только между двумя сущностями. Однако следует проявлять осторожность и тщательно проверять наличие в проекте комплексных связи, объединяющих более двух сущностей различных типов, а также рекурсивных связей, существующихме­жду сущностями одного и тогоже типа.

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