Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Проектирование информационных систем. Учебное пособие
.pdf
Объектно-ориентированный подход обладает следующими пре-
имуществами.
1. Объектная декомпозиция дает возможность создавать модели
меньшего размера путем использования общих механизмов, обеспечивающих необходимую экономию выразительных средств. Объектный
подход существенно повышает уровень унификации разработки и пригодность для повторного использования, что ведет к созданию среды
разработки и переходу к сборочному созданию моделей
.
2. Объектная декомпозиция позволяет избежать создания сложных
моделей, так как она предполагает эволюционный путь развития модели на базе относительно небольших подсистем.
3. Объектная модель естественна, поскольку ориентирована на че-
ловеческое восприятие мира.
К недостаткам объектно-ориентированного подхода относятся
высокие начальные затраты. Этот подход не дает немедленной отдачи.
Эффект от
его применения сказывается после разработки двухтрех проектов и накопления повторно используемых компонентов.
Диаграммы, отражающие специфику объектного подхода, менее
наглядны [6, 7].
3.4. СРАВНЕНИЕ МЕТОДОЛОГИЙ ПРОЕКТИРОВАНИЯ
ИНФОРМАЦИОННЫХ СИСТЕМ
В функциональных моделях (DFD-диаграммах потоков данных,
SADT-диаграммах) главными структурными компонентами служат
функции (операции, действия, работы), которые на диаграммах связываются между собой потоками объектов.
Несомненным достоинством функциональных моделей является
реализация структурного подхода к проектированию информационных
систем по принципу «сверху вниз», когда каждый функциональный
блок может быть декомпозирован на множество подфункций. Таким
образом выполняется модульное проектирование системы. Для функциональных моделей характерна процедурная строгость декомпозиции
и наглядность представления. При функциональном подходе объектные модели данных в
виде ER-диаграмм «объект – свойство – связь»
разрабатываются отдельно. Для проверки корректности моделирования
41

предметной области между функциональными и объектными моделями
устанавливаются взаимно однозначные связи.
Главный недостаток функциональных моделей заключается в том,
что процессы и данные существуют отдельно друг от друга, т. е. помимо функциональной декомпозиции существует структура данных,
находящаяся на втором плане. Кроме того, не ясны условия выполнения процессов обработки информации, которые
динамически могут
изменяться.
Перечисленные недостатки функциональных моделей снимаются
в объектно-ориентированных моделях, где главным структурообразующим компонентом выступает класс объектов с набором функций, которые могут обращаться к атрибутам этого класса. Для классов объектов характерна иерархия обобщения, позволяющая осуществлять
наследование не только атрибутов (свойств) объектов от вышестоящего
класса объектов
к нижестоящему классу, но и функций (методов).
В случае наследования функций можно абстрагироваться от конкретной реализации процедур (абстрактные типы данных), которые
отличаются для определенных подклассов ситуаций. Это дает возможность обращаться к подобным программным модулям по общим именам и осуществлять повторное использование программного кода при
модификации программного обеспечения. Таким
образом, адаптивность объектно-ориентированных систем к изменению предметной области по сравнению с функциональным подходом значительно выше.
При объектно-ориентированном подходе изменяется и принцип
проектирования информационных систем. Сначала выделяются классы
объектов, а далее в зависимости от возможных состояний объектов
(жизненного цикла объектов) определяются методы обработки (функциональные процедуры), что
обеспечивает наилучшую реализацию
динамического поведения информационной системы. Для объектноориентированного подхода разработаны графические методы моделирования предметной области, обобщенные в языке унифицированного
моделирования UML. Однако по наглядности представления модели
пользователю-заказчику объектно-ориентированные модели явно уступают функциональным моделям.
При выборе методики моделирования предметной области обычно
в качестве критерия выступает степень
ее динамичности. Для более
42

регламентированных задач больше подходят функциональные модели,
для более адаптивных бизнес-процессов (управления рабочими потоками, реализации динамических запросов к информационным хранилищам) – объектно-ориентированные модели. Однако в рамках одной
и той же информационной системы для различных классов задач могут
требоваться различные виды моделей, описывающих одну и ту же проблемную область
. В таком случае должны использоваться комбиниро-
ванные модели предметной области.
Каждая из рассмотренных методик позволяет решить задачу построения формального описания рабочих процедур исследуемой системы. Все методики позволяют построить модель «как есть» и «как
должно быть». С другой стороны, каждая из этих методик обладает
существенными недостатками. Их можно суммировать
следующим
образом: недостатки применения отдельной методики лежат не в области описания реальных процессов, а в неполноте методического подхода. Функциональные методики в целом дают более полное представление о существующих функциях в организации и о методах их реализации, причем чем выше степень детализации исследуемого процесса,
тем лучше они позволяют
описать систему. Под лучшим описанием
в этом случае понимается наименьшая ошибка при попытке по полученной модели предсказать поведение реальной системы. На уровне
отдельных рабочих процедур их описание практически однозначно
совпадает с фактической реализацией в потоке работ.
На уровне общего описания системы функциональные методики
допускают значительную степень произвола в выборе
общих интерфейсов системы, ее механизмов и так далее, т. е. в определении границ
системы. Хорошо описать систему на этом уровне позволяет объектный подход, основанный на понятии сценария использования. Ключевым является понятие о сценарии использования как о сеансе взаимодействия действующего лица с системой, в результате которого действующее
лицо получает нечто, имеющее для него ценность. Применение критерия ценности для пользователя дает возможность отбросить
не имеющие значения детали потоков работ и сосредоточиться на тех
функциях системы, которые оправдывают ее существование. Однако
и в этом случае задача определения границ системы и выделения
внешних пользователей является сложной.
43

Технология потоков данных, исторически возникшая первой, легко
решает проблему границ системы, поскольку позволяет за счет анализа
информационных потоков выделить внешние сущности и определить
основной внутренний процесс. Однако отсутствие выделенных управляющих процессов, потоков и событийной ориентированности не позволяет предложить эту методику в качестве единственной. Наилучшим
способом преодоления недостатков рассмотренных методик
является
формирование синтетической методики, объединяющей различные
этапы отдельных методик. При этом из каждой методики необходимо
взять часть методологии, наиболее полно и формально изложенную,
и обеспечить возможность обмена результатами на различных этапах
применения синергетической методики. В бизнес-моделировании неявным образом идет формирование подобной синергетической методики, которая заключается в последовательном
применении функционального и объектного подхода с учетом возможности реинжиниринга
существующей ситуации [10].
3.5. ПРОЦЕСС ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ
В соответствии с концепцией трехуровневого представления данных выделяют три фазы проектирования баз данных (рис. 3.2): концептуальное моделирование, логическое моделирование и физическое
проектирование.
Для реализации базы данных в определенной программно-технической среде необходимо
описание структур хранимых данных в тер-
минах этой среды, т. е. требуется готовая физическая модель данных.
Для того чтобы создать физическую схему и обеспечить возможность обработки хранимых данных приложениями, необходимо наличие описания логических структур данных, т. е. корректная логическая
модель данных.
Логическая модель предъявляет определенные требования со сторо-
пользователей к данным в терминах логических структур определен-
ны
ного типа. Для того чтобы ее создать, необходимо иметь точное описание этих требований, т. е. готовую концептуальную модель данных.
Процесс создания концептуальной и внешних схем называют моделированием данных организации. Цель моделирования – понять, что
44

нужно сделать. Концептуальное моделирование не связано с какимилибо соображениями реализации. Результатом этого процесса является
документированная модель представлений конечных пользователей об
информационных потребностях бизнеса.
Рис. 3.2. Фазы проектирования базы данных
Логическое моделирование – это процесс преобразования концептуальной модели в логическую с учетом выбранного способа структурирования данных. Логическая модель и есть описание концептуальной схемы базы данных.
Процесс создания внутренней схемы называют физическим проектированием базы данных. Его цель – решить, как сделать то, что нужно. В фазе физического проектирования логическая
ется в физическую, т. е. создается описание реализации базы данных
на внешних запоминающих устройствах, а также определяются структуры файлов и методы доступа, обеспечивающие эффективную обработку данных.
45
модель преобразу-

Концептуальное моделирование – это процесс анализа информационных потребностей конечных пользователей системы. Представления локальных пользователей анализируются независимо. Цель аналитика – сформировать представления о бизнесе и его информационных
потребностях, адекватные представлениям локального пользователя.
Эти представления формируются в процессе изучения деятельности
организации, для чего используются следующие источники информации: документы, собственные наблюдения за
работой конечного пользователя, беседы с пользователями, опыт предыдущих разработок
и собственные предположения об информационных потребностях
бизнеса.
Обрабатывая полученную информацию, аналитик делает выводы
о структуре и связях объектов предметной области. Эти выводы он документирует в модели данных и обсуждает с конечными пользователями. Цель обсуждений – согласование представлений аналитика и
пользователя о предметной области системы. Основная проблема согласования состоит в том, что пользователь и аналитик мыслят разными категориями. Пользователь знает, какие формы и отчеты и с какими данными ему нужны, но он ничего не может сказать о структурах и связях
объектов, отражаемых в этих формах и отчетах
. Разработчика же интересуют именно структуры и связи объектов. Он вынужден реконструировать объекты и связи из форм и отчетов. Эта задача имеет множество
решений. В ходе многократных обсуждений аналитик должен выбрать
такое, которое адекватно модели данных, имеющейся в представлении
пользователя. Результат концептуального моделирования – концептуальная модель данных организации – однозначно
описывает структуры
и связи объектов предметной области и бизнес-правила организации.
Это описание не зависит от типа целевой СУБД, набора создаваемых
программ, используемых языков программирования, типа вычислительной платформы и особенностей физической реализации. Концептуальная модель служит источником информации для фазы логического моделирования.
Логическое моделирование является логическим продолжением
процесса концептуального
моделирования. При этом концептуальная
модель уточняется и преобразуется в логическую с учетом базовой модели данных целевой системы управления базами данных. Следова-
46

тельно, к началу логического моделирования должен быть определен
тип целевой системы управления базами данных.
Например, если целевая система управления базами данных основывается на реляционной модели данных, то структуры и связи объектов, представленные в концептуальной модели, преобразуются в систему взаимосвязанных нормализованных отношений. Логическая модель содержит описания структур данных
в терминах выбранной модели данных, а также описания ограничений целостности. Она должна
быть корректной, соответствовать требованиям пользователей, зафиксированным в концептуальной модели, и обеспечивать поддержку всех
необходимых пользователям транзакций.
Логическая модель является источником информации для фазы физического проектирования базы данных и для проектирования внешних
схем и приложений конечных
пользователей, а также играет важную
роль на этапе эксплуатации и сопровождения систем баз данных. При
правильно организованном сопровождении она составляет основную
часть системного каталога и автоматически обновляется при внесении
изменений в логические структуры данных. Благодаря этому архитектура базы данных всегда может точно представить любые вносимые
изменения и оценить их влияние
на существующие приложения.
Моделирование данных в целом представляет собой наиболее ответственный и трудоемкий этап разработки системы, связанный с исследованием информационных потребностей предприятия. Каждая
итерация вносит уточнения и улучшения в модель, что, в свою очередь,
может привести к изменениям в других частях проекта.
Если созданные модели неадекватно отражают представления
пользователей о предметной области, то будет достаточно трудно на
следующих стадиях определить все необходимые внешние схемы, организовать поддержку целостности данных и обработку необходимых
транзакций. На практике процесс моделирования занимает не менее ⅔
времени, затрачиваемого на реализацию проекта в целом.
Физическое проектирование является следующим последовательным этапом проектирования базы данных, в
результате которого
принимаются решения о способах ее реализации. Цель физического
проектирования – описание способа физической реализации логической модели, и начаться этот вид разработки может только после выбора конкретной целевой системы управления базой данных.
47

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

4. РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ
НА ОСНОВЕ МОДЕЛИ «КЛИЕНТ-СЕРВЕР»
4.1. ОСНОВЫ ФУНКЦИОНИРОВАНИЯ
ВЕБ-ПРИЛОЖЕНИЙ
Веб-приложения – это специальный вид приложений, которые работают в глобальной сети Интернет по протоколу HTTP. Как правило,
веб-приложения не требуют установки дополнительного программного
обеспечения на стороне клиента, а вся логика выполняется на стороне
сервера. Для отображения пользовательского интерфейса используется
браузер – программа, способная распознавать язык разметки
(и сопутствующие технологии – таблицы стилей CSS, клиентский
скриптовой язык программирования JavaScript и др.). Браузер обычно
принято называть «тонким клиентом», т. е. клиентом, который включает в себя минимальное количество бизнес-логики.
Необходимые компоненты для работы пользователя с вебприложением: браузер (тонкий клиент), веб-сервер (серверная часть),
протокол взаимодействия клиента и сервера (HTTP), а
разметки для создания документов (HTML). Для того чтобы веб-приложение стало доступно, его необходимо разместить в рамках вебсервера (специальной программы, которая обрабатывает запросы из
сети). После этого приложение получит свой уникальный адрес в рамках протокола HTTP, например http://www.myapplication.com/page1.
html. Используя соответствующий адрес, пользователь может обратиться к приложению. Для
ское приложение) и ввести в адресной строке адрес приложения. После
этого браузер сгенерирует запрос к серверу и отправит его, используя
протокол HTTP. В момент, когда сервер примет этот запрос, он сможет
распознать, что именно требуется от него на основе полученного
этого он должен запустить браузер (клиент-
HTML
также язык
49

запроса. Исходя из этих данных он сгенерирует ответ и отправит его
обратно клиенту, также используя протокол HTTP. Обычно ответ
содержит гипертекстовую разметку HTML, содержащую структуру документа, который передается пользователю. После того как браузер
получит ответ в виде HTML-документа, он немедленно отобразит его
пользователю. Таким образом осуществляется взаимодействие клиента
и сервера. Зачастую HTML-документ
содержит ссылки на изображения, медиафайлы, таблицы стилей или клиентские сценарии. При этом
браузер генерирует еще несколько аналогичных запросов к вебсерверу. Однако в этом случае веб-сервер передает клиенту уже не
HTML-документ, а соответствующие запрашиваемые ресурсы (изображения, таблицы стилей, сценарии, HTML-разметку, клиентские сценарии и др.).
На сервере
может быть сохранен готовый документ HTML, который по запросу будет передаваться пользователю, – так называемый
статический документ, он просто считывается с жесткого диска и передается клиенту. Однако такой сценарий работы в глобальной сети становится все более редким. Другой подход – генерация кода HTML
в процессе обработки запроса от клиента. Этот подход
позволяет сделать веб-приложение более интерактивным, отзывчивым на действия
клиента и создающим впечатление настоящего приложения, а не простой загрузки HTML-документов. Таким образом, возможность генерировать HTML-код страницы влияет на ту информацию, элементы
управления и другие аспекты интерфейса, которые увидит пользователь. По сути, задача веб-приложения заключается в том
, чтобы генерировать нужный HTML-код в зависимости от действий пользователя.
Однако возможности веб-приложений могут не ограничиваться только
генерацией разметки HTML – они могут создавать изображения, клиентские сценарии, таблицы стилей и другие ресурсы, необходимые
пользователю. Тем не менее основным сценарием является все-таки
генерация конечного HTML-документа.
Веб-приложения существенно отличаются от
настольных приложений. Последние запускаются на компьютере клиента и выполняют свой
код именно там. Поэтому настольные приложения зачастую обладают
более развитым пользовательским интерфейсом и позволяют реализовывать более сложные сценарии. По сравнению с настольными приложениями, веб-приложения обладают ограниченными возможностями
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
