автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Трехкомпонентный подход при разработке информационных систем

кандидата физико-математических наук
Баландин, Кирилл Анатольевич
город
Москва
год
1998
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Трехкомпонентный подход при разработке информационных систем»

Текст работы Баландин, Кирилл Анатольевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей



Московский ордена Ленина, ордена Октябрьской Революции и ордена Трудового Красного Знамени государственный университет имени М.В.Ломоносова

Факультет вычислительной математики и кибернетики

На правах рукописи

Баландин Кирилл Анатольевич

Трехкомпонентный подход при разработке информационных систем

специальность: 05.13.11 — математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

Диссертация

на соискание ученой степени кандидата физико-математических наук

Научный руководитель к.ф.м.н., доц. Абрамов В.Г.

Москва, 1998 г.

Содержание

ВВЕДЕНИЕ...............................................................................................................4

ГЛАВА I. КРИТЕРИИ, ОПРЕДЕЛЯЮЩИЕ КЛАСС ИС........................................7

1.1 Легкость применения............................................................................................7

1.2 Простота модификации........................................................................................8

1.3 Мобильность..........................................................................................................8

1.3.1 Переносимость..................................................................................................8

1.3.2 Распределяемость...........................................................................................11

1.4 Интероперабельность..........................................................................................13

ГЛАВА II. ИСТОРИЯ И СОВРЕМЕННОЕ СОСТОЯНИЕ СРЕДСТВ

РАЗРАБОТКИ ИС................................................................................16

11.1 История обеспечения критерия «легкость применения»..............................16

II. 1.1 Канонические языки программирования......................................................17

II. 1.2 Первые интерактивно взаимодействующие программы..............................18

II. 1.3 Интерфейсные библиотеки............................................................................19

11.2 Использование технологий СОП и ООП для обеспечения критерия «легкость применения».......................................................................................22

11.2.1 Применение событийно-ориентированного программирования для задачи разделения интерфейса и наполнения...........................................................22

11.2.2 Применение объектно-ориентированного программирования для задачи разделения интерфейса и наполнения..........................................................24

11.2.3 Объединение концепций ООП и СОП для построения современных пользовательских интерфейсов.....................................................................30

11.2.4 Применение X Window System при создании распределенных ИС.............32

11.3 Использование компонентной технологии для обеспечения критерия «легкость применения».......................................................................................34

11.3.1 Краткий обзор принципов компонентной технологии.................................34

11.3.2 Обзор современных инструментальных средств для разработки ИС..........35

И.3.3 Примеры использования визуальных средств для разработки ИС..............36

П.4 Использование ООМ для обеспечения необходимых критериев качества ИС 41

11.4.1 Объектно-ориентированный метод...............................................................41

11.4.2 Легкость применения.....................................................................................43

11.4.3 Простота модификации..................................................................................43

11.4.4 Переносимость................................................................................................44

11.4.5 Распределяемость...........................................................................................44

И.4.6 Интероперабельность.....................................................................................45

LL5 Применение компонентной технологии при создании ИС, использующих базы данных..........................................................................................................46

II. 5.1 Компоненты для работы с БД........................................................................46

II.5.2 Преимущества и недостатки компонентной технологии при разработке ИС....................................................................................................................51

ГЛАВА III. ТРЕХКОМПОНЕНТНЫЙ ПОДХОД....................................................55

III. 1 Описание подхода................................................................................................55

III. 1.1 Изложение ключевой идеи трехкомпонентного подхода............................55

III. 1.2 Применение трехкомпонентного подхода при объектно-ориентированном

методе..............................................................................................................57

III. 1.3 Обоснование предлагаемой модели..............................................................60

III. 1.4 Описание характеристик прикладных объектов...........................................62

III. 1.5 ПО-центризм ИС, построенных с помощью трехкомпонентного подхода. 63 III. 1.6 Взаимодействие представлений и прикладного объекта. Объекты-

посредники......................................................................................................65

III. 1.7 Почему подход назван трехкомпонентным?.................................................67

III. 1.8 Применение трехкомпонентного подхода при проектировании

архитектуры ИС..............................................................................................68

III. 1.9 Системный интерфейс между компонентами трехкомпонентного подход&07О

III. 1.10 Свойства ИС, построенных с помощью трехкомпонентного подхода........72

III. 1.11 Обобщение частного случая на общую модель............................................75

III.2 Библиотека классов.............................................................................................76

III.2.1 Принципы построения библиотеки классов.................................................77

111.2.2 Представление «значения» прикладного объекта в библиотеке классов .... 78

111.2.3 Типы данных в библиотеке классов..............................................................81

111.2.4 Проблема «сохраняемости» прикладных объектов и подходы к её решению..........................................................................................................87

111.2.5 Проблема организации пользовательского интерфейса ИС и подходы к её решению..........................................................................................................91

111.2.6 Стратегия обработки ошибок в библиотеке классов....................................96

111.2.7 Интерфейсный элемент «Мастер-Деталь» и подходы к его реализации.....97

111.2.8 Реализация библиотеки классов..................................................................105

Ш.З Развитие трехкомпонентного подхода............................................................107

ЗАКЛЮЧЕНИЕ. ОСНОВНЫЕ РЕЗУЛЬТАТЫ....................................................109

СПИСОК ИЛЛЮСТРАЦИЙ..................................................................................111

ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА........................................................................112

Введение.

Одной из важных отраслей современного программирования является создание автоматизированных информационных систем (АИС), а также информационных систем, используемых в составе автоматизированных систем управления предприятиями (АСУП). Общие свойства, важные при построении такого класса информационных систем (ИС), можно сформулировать следующим образом [1]:

О групповая разработка

Такие ИС являются, как правило, «большими», т.е. разрабатываются группой или группами программистов. Поэтому важным является возможность поддержки групповой разработки.

О легкость применения

ИС должна обеспечивать удобный для пользователя интерфейс, что позволит ему быстрее изучить возможности ИС;

О простота модификации

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

О мобильность

Предполагается, что ИС может быть перенесена из одного окружения в другое, в частности, на другую платформу или операционную систему (ОС) (назовем этот критерий переносимостью), а также требуется, чтобы отдельные компоненты ИС могли исполняться на компьютерах различной архитектуры, работающих под управлением различных ОС (назовем этот критерий распределяемостью);

О интероперабельность

Предполагается, что компоненты ИС могут взаимодействовать с другим программным обеспечением, работающим, возможно, на компьютерах с отличной архитектурой, под управлением другой ОС;

За последнее время в свое распоряжение программисты получили довольно мощные средства для автоматизации создания ИС. Однако, даже новейшие технологии объектно-ориентированного программирования (ООП), архитектура «клиент-сервер», среды быстрой разработки программ и большое количество

готовых компонентов, из которых можно «конструировать» программу, не позволяют достаточно эффективно удовлетворить перечисленным выше критериям, предъявляемым к большим ИС.

Создание подхода, позволяющего упростить разработку ИС данного класса, а также инструментария, поддерживающего этот подход, является важной задачей современного программирования.

Заметим, что с помощью этих же программных средств могут разрабатываться ИС, для которых некоторые из перечисленных критериев не являются важными. Поэтому класс рассматриваемых ИС может быть существенно расширен.

В диссертации предлагается один из подходов, позволяющий упростить разработку ИС выделенного класса. Этот подход, названный трехкомпонентным, предлагается использовать в рамках объектно-ориентированного метода. Он основан на выделении в каждом объекте предметной области трех составляющих компонент: прикладной логики, визуального представления и представления для хранения. Предлагаются также принципы построения библиотеки классов, поддерживающей данный подход.

Текст диссертации включает введение, три главы, заключение и список литературы.

Во введении формулируется постановка задачи.

В первой главе диссертации дается развернутое описание критериев, определяющих класс рассматриваемых ИС, а также возможные пути достижения этих критериев.

Во второй главе работы, посвященной истории развития и современному состоянию средств разработки ИС, рассматриваются основные подходы, которые применялись и применяются прикладными программистами при создании ИС рассматриваемого класса. Особое внимание уделяется средствам для обеспечения критерия «легкость применения», являющегося определяющим для рассматриваемого класса ИС. Отмечаются также ограничения существующих подходов при разработке ИС выделенного класса.

В третьей главе диссертации предлагается подход, названный трехкомпонентным, который снимает часть ограничений, связанных с реализацией

больших программных проектов создания сложных ИС рассматриваемого класса. Рассматриваются принципы построения библиотеки классов, поддерживающей данный подход.

В заключении делаются выводы и формулируются результаты диссертационной работы.

Глава I.

Критерии, определяющие класс ИС

Прежде чем перейти к рассмотрению подходов для решения поставленной задачи, дадим развернутое описание критериев, определяющих класс рассматриваемых ИС, а также рассмотрим возможные пути достижения этих критериев. В дальнейшем, если не оговорено особо, будем понимать под ИС только математическое обеспечение ИС, т.е. программу или комплекс программ, реализующих используемые в данной ИС алгоритмы. Таким образом, все обсуждаемые в данной главе критерии будут относиться к программе (или программам), входящей в состав автоматизированной ИС.

1.1 Легкость применения

Жоголев Е.А. [2] определяет данный критерий качества программного средства (ПС) как «характеристики ПС, которые позволяют минимизировать усилия пользователя по подготовке исходных данных, применению ПС и оценке полученных результатов, а также вызывать положительные эмоции определенного или подразумеваемого пользователя».

В нашем случае рассматриваемым программным средством являются программы информационной системы, поэтому в дальнейшем, используя термин ПС, будем подразумевать ИС.

Другие авторы [1] используют также иной термин для данного свойства ИС: «дружественность к пользователю».

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

пользовательские интерфейсы; О использование в программных продуктах типичных атрибутов (элементов)

пользовательского интерфейса (кнопок, строк ввода, списков выбора и т.п.); О близкое взаимодействие с заказчиком в процессе разработки ИС с целью выяснения наиболее удобного интерфейса.

1.2 Простота модификации

Под модифицируемостью в [2] понимаются характеристики ПС, которые упрощают внесение в него необходимых изменений и доработок. Можно отметить, ссылаясь на [2], следующие способы достижения данного критерия (или "примитивы качества ПС"): структурированность, модульность программы.

Структурированность — свойство, характеризующее программы ПС с точки зрения организации взаимосвязанных их частей в единое целое определенным образом (например, в соответствии с принципами структурного или объектно-ориентированного программирования).

Модульность — свойство, характеризующее ПС с точки зрения организации его программ из таких дискретных компонент, что изменение одной из них оказывает минимальное воздействие на другие компоненты.

1.3 Мобильность

Мобильность ПС, следуя [2], определяется как «способность ПС быть перенесенным из одной среды (окружения) в другую, в частности, с одной ЭВМ на другую». В [1] используется также термин «масштабируемость».

Говоря о мобильности ИС, выделим следующие подкритерии: переносимость и распределяемость.

1.3.1 Переносимость

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

Приложение называется межплатформным (кросплатформным), если существуют реализации этого приложения на нескольких платформах ([3]). Для того чтобы приложение было межплатформным, разработчик должен обеспечить выполнение следующих условий: О приложение должно давать пользователю свободу выбора платформы; О на всех платформах приложение должно иметь один и тот же интерфейс и

логику работы.

Имеется в виду, что функции и общее представление приложения, включая

схему экрана, элементы меню, диалоговую информацию и другие общие

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

О приложение должно интегрироваться с базовой операционной системой. (Нельзя накладывать на программное обеспечение или пользователя никаких дополнительных ограничений при использовании его ОС, по возможности использовать только штатные средства данной операционной системы. В противном случае пользователю, возможно, придётся приобретать дополнительное программное обеспечение.);

О приложение должно вести себя одинаково на различных платформах (т.е. должна быть согласованность поведения ИС на разных платформах);

О для приложения должна предусматриваться простая и согласованная поддержка (характерные для данной среды программы инсталляции, помощи (help) и обновления (upgrade) приложения).

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

Но, как правило, большие ИС являются компилируемыми, а не интерпретируемыми, поэтому в дальнейшем интерпретируемые ИС рассматриваться не будут. В этом случае простой перенос исполняемого кода на другую платформу не решает проблемы обеспечения кросплатформности. Возникает понятие переносимости программного средства.

Переносимость программного средства определим как возможность быть перенесённым в другие операционные среды и на другие платформы без существенного изменения функциональности и программного кода [3]. Переносимость также порой определяют как объём работ, необходимый для

перепрограммирования существующего программного средства, который позволит ему работать на другой платформе [3].

Переносимость программного средства — важная черта современного ПО, одна из важнейших целей при разработке современного программного продукта.

Это комплексная проблема, очень сильно завязанная на стандарты ГИП, языков программирования, систем программирования и операционных систем. Рассмотрение всех вопросов переносимости выходит за рамки темы данной работы, перечислим лишь вкратце возникающие здесь проблемы (см. также [3, 4]):

О проблема языка программирования, даже при использовании стандартов языков С и С++ могут возникать различия в реализациях: в размерах типов данных