Тема 13. Конструирование программного обеспечения
План лекции
1. Основы конструирования реляционных баз данных
2. Концептуальное (инфологическое) проектирование
3. Логическое (даталогическое) проектирование
4. Физическое проектирование
5. Конструирование логики работы с данными
6. Вопросы безопасности баз данных
Основы конструирования реляционных баз данных
Процесс конструирования– это процесс разработки программного обеспечения, включающий в себя низкоуровневое проектирование и кодирование.
Низкоуровневое проектирование– это более детальная проработка архитектуры программного обеспечения: проектирование классов в ООП (объектно-ориентированное программирование), проработка структуры базы данных в СУБД (система управления базамиданных), организация Web-приложения и компонентов и т. д.
Кодирование– процедура написания программного кода. Этореализация в виде программы разработанной высокоуровневой инизкоуровневой архитектуры проекта.
В некоторых проектах этап конструирования объединяют с проектированием, если это является целесообразным. Процессы конструирования и разработки различаются для разных категорий разрабатываемого ПО, среди самых распространенных можно выделитьследующие виды разработок.
Разработка баз данных. Базы данных выделяют в отдельнуюкатегорию ПО. Разработка баз данных в большинстве случаев напрямую связана с разработкой одного из видов приложений, которыеуправляют информацией, хранящейся в базе данных. Достаточночасто программированием баз данных занимаются отдельные разработчики.
Разработка приложений на базе структурного программирования. Структурное программирование используется в ряде языковпрограммирования для определенного класса приложений: драйверыустройств, операционные системы и пр.
Разработка приложений на базе ООП. Объектно-ориентированные языки используются в огромном числе приложений. Однойиз основных задач при разработке данных приложений являетсяпроектирование иерархии классов. Ошибки проектирования классовне позволяют оперативно делать доработки или совершенствоватьпрограмму, что может привести к затягиванию сроков разработкиувеличению стоимости и прочим негативным последствиям.
Разработка Web-приложений. Web-приложения относятся к ещеодной большой категории программных продуктов, которые имеютсвою специфику, например, разработка приложений для Web-браузеров (апплетов) является все еще достаточно распространеннойсреди данной категории приложений.
Разработка баз данных
База данных (БД) – совокупность взаимосвязанных данныхорганизованных в соответствии со схемой данных таким образом, чтобы с ними можно было поддержать эффективную работу конечного пользователя. Проектирование и конструирование любой программной системы, которая предполагает работу с БД, начинается спроектирования и конструирования структуры данных. На основаниисозданной структуры данных проектируется приложение, пишутсяпроцедуры для управления этими данными. Такой порядок разработки связан с тем, что проще перейти от структуры данных к логике работы с этими данными, чем наоборот.
Базы данных можно классифицировать следующим образом.
Иерархическая база данных– может быть представлена как дерево, состоящее из объектов различных уровней. Самый верхний уровень(корень) занимает один объект, далее идут объекты второго уровня ит.д. Между объектами существуют определенные связи. Каждый объектможет включать в себя несколько объектов более низкого уровня. Такиеобъекты находятся в отношении предка (объект более близкий к корнюк потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда, как у объекта-потомка обязательно должен быть только один предок.Объекты, имеющие общего предка, называютсяблизнецами.
Сетевая база данных– построена на логической модели данных, которая является расширением иерархического подхода и основанана строгой математической теории, описывающей структурныйаспект БД, аспект целостности данных и аспект обработки данных. Разница между иерархической моделью данных и сетевой состоит втом, что в иерархических структурах запись-потомок должна иметьодного предка, а в сетевой структуре данных у потомка может иметься любое число предков.
Реляционная база данных использует логическую (реляционнуюмодель данных, прикладную теорию построения баз данных, котораяявляется приложением к задачам обработки данных таких разделовматематики, как теория множеств, реляционная алгебра или исчисление предикатов первого порядка.
Объектно-ориентированная база данных– база данных, в которой данные моделируются в виде объектов, их атрибутов, методови классов.
Объектно-реляционная база данных– реляционная база данных, поддерживающая некоторые технологии, реализующие объектно-ориентированный подход.
Работа с любой базой данных начинается с проектирования структуры данных. Различаютвысокоуровневое проектирование, когдавыделяются сущности и часть полей, в которых будет сохранятьсяинформация, идетальное, при котором созданная общая структураможет уточняться и модифицироваться. В процессе детального проектирования либо после его окончания начинается процесс программирования логики работы с данными. В зависимости от типаприложений, логика может разрабатываться средствами самой БД(что является более приемлемым) либо логика закладывается в приложении, которое будет осуществлять доступ и обработку данных. В первом случае разрабатываемое приложение будет с «тонким» клиентом, во втором с «толстым» клиентом. Рассмотрим основныеособенности конструирования реляционных баз данных.