Атрибуты, схема отношения, схема базы данных

Столбцы отношения называют атрибутами, им присваиваются имена, по кото­рым к ним затем производится обращение.

Список имен атрибутов отношения с указанием имен доменов (или типов, если домены не поддерживаются) называется схемой отношения.

Степень отношения — это число его атрибутов. Отношение степени один называют унарным, степени два — бинарным, степени три — тернарным,..., степени п — арным.

Кортеж

Кортеж, соответствующий данной схеме отношения, представляет собой множе­ство пар {имя атрибута, значение}, которое содержит одно вхождение каждого име­ни атрибута, принадлежащего схеме отношения.
Аргумент значение является до­пустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень кортежа, то есть число элементов в нем, совпадает со степенью соответствующей схемы отношения. Иными слова­ми, кортеж — это набор именованных значений заданного типа.

База данных

Система управления базой данных (СУБД) является неотъемлемой частью любой информационной системы. Тип используемой СУБД обычно определяется масшта­бом информационной системы — малые информационные системы могут использо­вать локальные СУБД, в корпоративных же информационных системах потребуется мощная клиент-серверная СУБД, поддерживающая многопользовательскую работу.

В настоящее время наиболее широко распространены реляционные СУБД. Не­смотря на очевидную привлекательность и растущую популярность объектно-ори­ентированных СУБД (ObjectStore, Objectivity, O2, Jasmin), пока все же преобла­дают реляционные базы данных, которые хорошо отлажены, развиты и к тому же поддерживают стандарт SQL-92 (к таким системам относятся, например, Oracle, Informix, Sybase, DB2, MS SQL Server).

Традиционным методом организации информационных систем является двухзвенная архитектура клиент-сервер. В этом случае вся прикладная часть информацион­ной системы размещается на рабочих станциях, а на стороне сервера осуществляется только доступ к базе данных. Чтобы разгрузить клиентскую рабочую станцию и сни­зить загрузку сети, применяются трехзвенные архитектуры клиент-сервер. В этой архи­тектуре, помимо клиентской части системы и сервера базы данных, вводится промежу­точный сервер приложений. На стороне клиента выполняются только интерфейсные действия, а вся логика обработки информации поддерживается в сервере приложений. При разработке базы данных необходимо учитывать специфику той СУБД, для которой эта разработка проводится. Несмотря на существование стандарта ANSI SQL 92, практически все SQL-серверы используют свои реализации SQL, содер­жащие расширения стандарта. Тем не менее на начальном этапе при разработке общей структуры базы данных (на уровне концептуальной модели) особенности используемой СУБД можно не учитывать.

 

CASE-средства

Первым шагом в проектировании информационной системы является формаль­ное описание предметной области, построение полных и непротиворечивых фун­кциональных и информационных моделей информационной системы. Это логи­чески сложная, трудоемкая и длительная по времени работа, требующая высокой квалификации участвующих в ней специалистов. Следует также учитывать, что в процессе создания и функционирования; информационной системы потребности пользователей могут изменяться или уточняться, что еще более усложняет разра­ботку и сопровождение таких систем. Модели информационных систем должны быть описаны средствами, понятными большинству участников проекта, как пра­вило, с использованием универсального языка моделирования (UML).

Указанные сложности способствовали появлению программно-технологических средств специального класса, так называемых CASE-средств, призванных повысить эффективность разработки программного обеспечения. Аббревиатура CASE (Computer Aided Software/System Engineering) используется в настоящее время в весьма широком смысле.
Первоначальное ее значение, ограниченное вопросами автоматизации разработки только лишь программного обеспечения, приобрело новый смысл, охватываю­щий процесс разработки сложных информационных систем bi целом.

В настоящее время под CASE-средствами понимаются программные средства, поддерживающие процессы создания и сопровождения информационных систем, включая анализ и фор­мулировку требований проектирование прикладного программного ^обеспечения и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы.

За последнее десятилетие в области технических средств программирования сфор­мировалось новое направление — CASE-технология (аббревиатура CASE расшиф­ровывается как Computer-Aided Software/System Engineering).

CASE-технология представляет собой совокупность методологий анализа, проектирования, разра­ботки и сопровождения сложных систем и поддерживается комплексом взаимо­связанных средств автоматизации.

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

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

В наиболее полном виде CASE-средства обладают некоторыми весьма характер­ными особенностями.

  • Единый графический язык. СASE-технологии обеспечивают всех участников проекта, включая заказчиков, единым строгим, наглядным и интуитивно понятным графическим языком, позволяющим получать обозримые компоненты с простой и ясной структурой. При этом программы представляются двухмерными схемами (которые проще в использовании, чем многостраничные описа­ния), позволяющими заказчику участвовать в процессе разработки, а разработ­чикам общаться с экспертами предметной области, разделять деятельность системных аналитиков, проектировщиков и программистов, облегчая им защиту проекта, перед руководством, а также обеспечивая простоту сопровождения и внесения изменений в систему.
  • Единая база данных проекта. Основа CASE-технологии — использование базы данных проекта (репозитария) для хранения всей информации о проекте, ко­торая может совместно использоваться разработчиками в соответствии с их правами доступа. Содержимое репозитария включает не только информацион­ные объекты различных типов, но и отношения между их компонентами, а так­же правила применения или обработки этих компонентов. Репозитарий может I хранить объекты различных типов: структурные диаграммы, определения экранов и меню, проекты отчетов, описания данных и логики их обработки, а так­же модели данных, организации и обработки, исходные коды, элементы дан­ных и т. п.

 

ПРИМЕЧАНИЕ--------------—-------------------------------------------------------------

В области проектирования информационных систем для обозначения понятия «хра­нилище» используют термин «репозитарий» (от английского reposition), в отличие от детальных видов человеческой деятельности, где принят термин «депозитарий» (от латинского depositium).

· Интеграция средств. На основе репозитария осуществляются интеграция СASE-средств и разделение системной информации между разработчиками. При этом ложности репозитария обеспечивают несколько уровней интеграции: общий пользовательский интерфейс по всем средствам, передачу данных между сред­ствами , интеграцию этапов разработки через единую систему представления жизненного цикла, передачу данных и средств между различными плат­формами.

· Поддержка коллективной разработки и управления проектом. CASE-технология поддерживает групповую разработку проекта, обеспечивая возможность работы в сети, экспорт-импорт любых фрагментов проекта для их развития и/или модификации, а также планирование, контроль, руководство и взаимодействие, то есть функции, необходимые в процессе разработки и сопровождения проектов. Эти функции также реализуются на основе репозитария. В частности, через репозитарий могут осуществляться контроль опасности (ограничения и привилегии доступа), контроль версий и изменений и т. п.

· Макетирование. CASE-технология дает возможность быстро строить макеты прототипы) будущей системы, что позволяет заказчику на ранних этапах раз­ки оценить, насколько она его устраивает и насколько она приемлема для пользователей.

· Генерация документации. Вся документация по проекту генерируется автоматически на базе репозитария (как правило, в соответствии с требованиями действующих стандартов). Несомненное достоинство CASE-технологии заключается в том, что документация всегда отвечает текущему состоянию дел, поскольку все изменения в проекте автоматически отражаются в репозитарии (известно, что при традиционных подходах к разработке программного обеспечения документация в лучшем случае запаздывает, а ряд модификаций вообще не находит в ней отражения).

· Верификация проекта. CASE-технология обеспечивает автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах разработки, что влияет на успех разработки в целом.

· Автоматическая генерация программного кода. Генерация программного кода осуществляется на основе репозитария и позволяет автоматически построить S5-90 % текстов на языках высокого уровня.

· Сопровождение и реинжиниринг. Сопровождение системы в рамках CASE-технологии характеризуется сопровождением проекта, а не программных кодов, средства реинжиниринга и обратного инжиниринга позволяют создавать модель системы из ее кодов и интегрировать полученные модели в проект, авто­матически обновлять документацию при изменении кодов, автоматически изменять спецификации при редактировании кодов и т. п.

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

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

· интеграцией отдельных компонентов CASE-средств, обеспечивающей управляемость процесса разработки информационной системы;

· использованием специальным образом организованного хранилища проектных метаданных (репозитария).

 

 

Средства разработки

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

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

  • Специализированные средства ориентированы исключительно на создание приложений для вполне определенной СУБД и не предназначены для разработки приложений, не использующих базы данных.
  • Универсальные могут использоваться как для создания приложений не использующих базы данных., так и для разработки приложений взаимодействующих с БД.

 

В качестве средства разработки продукт Borland Delphi, пользуется большой популярностью в нашей стране. Delphi базируется на объектно-ориентированном языке Object Pascal, который наилучшим образом подходит для учебных целей вследствие своей строгости и простоты. Кроме того, в Object Pascal в полной мере реализованы все основные концепции объектно-ори­ентированного программирования.

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

Главное достоинство объектно-ориентированного проектирования заключается в воз­можности многократно использовать ранее написанный код. Кроме того, объектные системы несут в себе возможность модификации и развития. Применительно к базам данных это позволяет начать проектирование будущей системы, не имея исчерпыва­ющего представления о предметной области. Получение детальной информации о предметной области — процесс весьма трудоемкий, а объектно-ориентированный под­ход позволяет сократить сроки и уменьшить стоимость разработки системы.

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