Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Проектирование информационных систем. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Объектно-ориентированный подход обладает следующими пре-
имуществами.
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]