Атрибуты, схема отношения, схема базы данных
Столбцы отношения называют атрибутами, им присваиваются имена, по которым к ним затем производится обращение.
Список имен атрибутов отношения с указанием имен доменов (или типов, если домены не поддерживаются) называется схемой отношения.
Степень отношения — это число его атрибутов. Отношение степени один называют унарным, степени два — бинарным, степени три — тернарным,..., степени п — арным.
Кортеж
Кортеж, соответствующий данной схеме отношения, представляет собой множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения.
Аргумент значение является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень кортежа, то есть число элементов в нем, совпадает со степенью соответствующей схемы отношения. Иными словами, кортеж — это набор именованных значений заданного типа.
База данных
Система управления базой данных (СУБД) является неотъемлемой частью любой информационной системы. Тип используемой СУБД обычно определяется масштабом информационной системы — малые информационные системы могут использовать локальные СУБД, в корпоративных же информационных системах потребуется мощная клиент-серверная СУБД, поддерживающая многопользовательскую работу.
В настоящее время наиболее широко распространены реляционные СУБД. Несмотря на очевидную привлекательность и растущую популярность объектно-ориентированных СУБД (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.