Green-sell.info

Новые технологии
44 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Традиционные средства программирования

Традиционные языки

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

С этой точки зрения такие современные языки, как С++, Ada или Java , остаются традиционными, хотя в порядке перечисления традиционность их уменьшается, а, к примеру, такие «древние» языки, как LISP , Рефал и Prolog — нетрадиционны.

Конструкции традиционных языков

Рассмотрим традиционные языки, ключевые средства которых «выросли» из традиционной архитектуры машин. Ниже перечислены те средства языков, которые унаследованы от этой архитектуры.

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

Присваивание значений — наиболее часто встречающийся вид операторов . В большинстве языков программирования понятие переменной рассматривается как аналог ячейки (или группы ячеек) памяти. Присваивание предназначено для локального запоминания результата вычислений. Оно прямой потомок передачи значения по каналу связи от процессора к памяти.

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

Приведение . В традиционных языках обычным является употребление значения одного типа, которое присваивается переменной другого типа. Автоматические приведения вырабатываемых значений к типам, определяемым контекстом использования, — прямое следствие соглашения об однородности памяти. В развитых языках программирования (кроме семейства C ) стремятся избегать неконтролируемых приведений 1 Даже в семействе С слишком необычные приведения рассматриваются всеми нынешними трансляторами как события, требующие выдачи предупреждений программисту. .

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

Заметим, что в достаточно развитых языках программист строит тексты программ в соответствии с особенностями решаемой задачи, отходя от тех правил, которые явно поддерживаются языком (писать в другом стиле). Но если в языке не хватает возможностей, адекватных для такого построения (а это, вообще говоря, обычная ситуация), то приходится прибегать к хакерскому 2 Хакерство — неестественное применение конструкций, а также использование недокументированных возможностей либо явных недоработок языка. моделированию нужных возможностей. Когда при этом требуется высокая эффективность (а это опять-таки обычно) необходимо учитывать реалии конкретного компьютера. Как следствие, весьма вероятны нарушение адекватности моделирования и потеря наглядности решения.

Большая Энциклопедия Нефти и Газа

Традиционное программирование

Традиционное программирование в качестве основы для разработки программы использует алгоритм, т.е. формализованное значение. Поэтому до недавнего времени считалось, что ЭВМ не приспособлены для решения неформализованных задач. Расширение сферы использования ЭВМ показало, что неформализованные задачи составляют очень важный класс задач, вероятно, значительно больший, чем класс формализованных задач. [1]

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

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

В традиционном программировании команды устанавливаются в жесткой фиксированной последовательности. По умолчанию, после выполнения i — й команды выполняется ( 1 1) — я команда, если i-я команда не является командой ветвления. Все места ветвления в традиционном программировании указываются явно. Подобный способ программирования удобен в тех случаях, когда последовательность обработки мало зависит от обрабатываемых данных, т.е. тогда, когда ветвление является исключением, а не нормой. [4]

Таким образом, традиционное программирование имеет статический характер. [5]

ЭС с технологией традиционного программирования добавляет новые качества к программным продуктам за счет: обеспечения динамичной модификации приложений пользователем, а не программистом; большей прозрачности приложения ( например, знания хранятся на ограниченном ЕЯ, что не требует комментариев к знаниям, упрощает обучение и сопровождение); лучшей графики; интерфейса и взаимодействия. [6]

Это резко контрастирует с традиционным программированием , в котором компьютеру задается последовательность шагов, действий специальных операторов и вопросов в форме, очень похожей на классическую логику. Наиболее удачной формой логического программирования является сегодня язык Пролог, сочиненный Робертом Ковальским из Государственного колледжа в Лондоне. [7]

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

Этот текст ничем не отличается от традиционного программирования в Delphi, но в основе его действия лежит совсем другой механизм. Необходимо помнить также, что совместное использование интерфейса iDisposable и деструктора Destroy недопустимо. [9]

Основное отличие логического программирования и языка ПРОЛОГ от традиционного программирования и алгоритмических языков типа ФОРТРАН, БЕЙСИК, КОБОЛ и ПАСКАЛЬ заключается в основополагающих принципах логического программирования, а именно, в организации и выполнении логической программы. [10]

Читать еще:  Основные принципы объектно ориентированного программирования

Основным недостатком данного подхода является его более низкая эффективность по сравнению с методами традиционного программирования . Различные авторы по-разному классифицируют продукционные системы. Одни относят их к декларативному представлению, другие — к процедурному или декларативно-процедурному. По нашему мнению, даже в самом простом продукционном правиле ( т.е. правиле, не содержащем присоединенных процедур) есть элемелт процедурности, так как предполагается, что правило будет использовано для выполнения некоторого действия. Именно это и отличает процедурное представление от декларативного, поскольку декларативные знания не несут никакой информации о том, как они будут использованы. [11]

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

Опыт использования подобных технологий показывает, что они существенно упрощают и ускоряют четыре наиболее трудоемких этапа традиционного программирования : проектирование, отладку, документирование и эксплуатацию, т.е. сопровождение и внесение изменений в программную систему не ее разработчиками. Этап кодирования программ в такой технологии не отличается по трудоемкости от кодирования программ на существующих языках высокого уровня. Максимальная производительность труда коллектива программистов, работающего по Р — технологии, составила 100 операторов на человека в день на отрезке времени от согласованного с заказчиком технического задания до поставки готового и документированного программного продукта объемом 60 тыс, операторов. Сюда входит и обучение заказчика в процессе поставки системы. [14]

В книге английских специалистов рассмотрены проблемы аппликативного программирования, существенно повышающего интеллектуальность разрабатываемых программ по сравнению с традиционным программированием . При этом спецификация предметной области существенно упрощает труд программиста. Особое внимание уделяется вопросам реализации функциональных языков, основанной на Х — нсчнслении Черна. В качестве базового языка рассматривается функциональный язык Норе, имеющий простой и ясный синтаксис. Изложение сопровождается многочисленными примерами конкретных программ. [15]

Традиционные системы программирования

Традиционные системы программирования представлены средствами создания приложений на языках третьего поколения 3GL: C, Pascal, Basic и др. Среди них по способам подготовки и выполнения программных модулей различают системы компилирующего и интерпретирующего типа. Инструментальные средства программирования могут быть представлены набором отдельных утилит (редактор текстов, компилятор, компоновщик и отладчик) или интегрированной средой программирования.

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

Системы программирования 3GL нужны для организации специальных модулей в информационных приложениях, для создания эффективных по быстродействию программ обработки данных. Для создания с помощью систем программирования полноценных информационных приложений необходимо расширить их за счет использования библиотек диалога и доступа к базам данных, а также макросредств встроенного языка структурированных запросов Embeded SQL.

Систему программирования Visual Basic можно использовать для создания простых автономных приложений и компонентов VBX и OCX, для расширения и интеграции функциональных пакетов (Word, Excel, Access), а также как средство программирования для расширения систем документооборота и для создания утилит администрирования. В настоящее время Visual Basic самый распространенный язык программирования

С момента выхода продано существенно меньше копий Delphi, чем Visual Basic. Поэтому решение вопроса об использовании Delphi для серьезных коммерческих приложений буде зависеть от перспектив распространения этого продукта на рынке. Применение продукта возможно для создания расчетно-аналитических программ, для разработкии DLL, для сопровождения и развития разработок, выполненных на Turbo и Borland Pascal, а также для быстрого прототипирования будущих приложений. В ряде случаев решающим для выбора будут умеренные требования Delphi-приложения к системно-техническому обеспечению.

Рисунок Основные способы построения Internet/Intranet-приложений.

С++ применяется для расширения системного программного обеспечения, для разработки крупных проектов, специальных приложений, создания библиотек и классов для предметной области, разработки динамических библиотек DLL, создания программного обеспечения для серверов приложений, разработки ОСХ, использования совместно с CASE-системами, обеспечения многоплатформенности и переносимости (по стандарту ANSI).

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

1. Традиционные средства и методологии разработки файл-серверных приложений

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

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

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

Основные вехи на пути развития систем программирования:

Переход от одиночных утилит систем программирования к интегрированным диалоговым средам программирования (например, семейство Turbo-продуктов фирмы Borland);

Развитие инструментальных наборов, расширяющих возможности систем программирования, в частности, в области диалога (разного рода Tool Box);

Появление объектно-ориентированных диалектов языков Си и Паскаль;

Возникновение операционной среды Windows со встроенной поддержкой диалога и первых Windows-приложений с помощью SDK (Software Development Keet);

Создание объектно-ориентированных библиотек, поддерживающих диалоговый режим работы в среде DOS и Windows (TurboVision, Object Windows и MFC);

Появление систем программирования, облегчающих создание приложений для DOS и Windows;

Развитие механизма встраивания и связывания объектов OLE 2;

Переход к визуальным системам программирования (Visual Си++, Delphi, Visual Basic), которые ориентированы на разработку информационных приложений.

Поддержка диалогового режима развивалась совместно с развитием самих систем программирования и была естественным образом интегрирована с ними. Библиотеки же доступа к базам данных развивались своим путем. Наибольшее число библиотек доступа из языков программирования уровня 3GL к реляционным СУБД на персональных компьютерах поддерживает семейство xBase (Clipper, FoxPro, dBase). Из языков программирования чаще всего используется Си.

Читать еще:  Основные компоненты системы программирования

Средства и методы разработки приложений на основе СУБД на персональных компьютерах

Приложения, созданные с использованием инструментальных средств программирования приложений, связанных с использованием баз данных на персональных компьютерах, занимают существенную долю файл-серверных приложений. Если рассматривать только «реляционные» (вернее, табличные) СУБД, то семейство xBase-продуктов является явным лидером по использованию для разработки одиночных и групповых информационных приложений. Следующее место занимает СУБД Paradox, а далее идут приложения, базирующиеся на использовании системы управления записями Clarion. Особняком стоят такие пакеты, как MS Access и Lotus Approach, которые позволили взглянуть по-новому на возможности персональных СУБД и до сих пор не оценены по-настоящему как профессиональные средства разработки приложений. Можно отметить следующие вехи на пути развития инструментальных средств и самих СУБД на персональных компьютерах:

Появление компонентов Assistant и Application Generator в dBase III Plus, упрощающих работу пользователя и позволяющих генерировать простейшие приложения или макеты приложений;

Выход в свет dBase-совместимых систем программирования (dBFast и Clipper), создающих исполняемый модуль приложения; разработка быстрого интерпретатора FoxBase для частично откомпилированного кода dBase-совместимых приложений;

Возникновение системы Paradox с оригинальным макроязыком PAL, существенно ориентированной на конечного пользователя;

Развитие многопользовательских версий СУБД для локальных сетей персональных компьютеров, дополненных средствами синхронизации на основе блокировок файлов и записей;

Появление системы dBase IV, включающую диалоговую среду Control Center, индексы, встроенные в файл БД, поддержку языка SQL и средства защиты БД;

Развитие Clipper с объектной ориентацией;

Обеспечение доступа из файл-серверных приложений к серверам БД (Borland SQL Link и Microsoft Connectivity Kit);

Внедрение технологии Rushmore, ускоряющей доступ к данным при помощи использования индексов;

Появление в FoxPro развитой среды разработки, ориентированной на разработку проектов и близкой по возможностям к средствам 4GL;

Дальнейшее расширение средств диалога (Foundation Read) в направление событийной управляемости;

Первые версии инструментальных средств, поддерживающие Windows-приложения, а вместе с ними типы данных Blob (Binary Large Objects);

Появление универсальных интерфейсов к различным СУБД (Borland IDAPI и Microsoft ODBC);

Первый продукт MS Access, направленный сугубо на создание Windows-приложений и содержащий средства объектно-ориентированного диалога, событийно-управляемого программирования, визуального конструирования интерфейса пользователя и многие другие черты, присущие системам программирования 4GL и RAD;

Появление новых визуальных объектно-ориентированных инструментальных средств и СУБД на ПК (MS Access 2.0, Visual FoxPro, CA-VisualObjects и Visual dBase).

Обзор способов и средств построения информационных приложений

Типы информационных приложений

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

Информационное приложение — прикладная программная подсистема, ориентированная на сбор, хранение, поиск и обработку текстовой и/или фактографической информации. Подавляющее большинство информационных приложений работает в режиме диалога с пользователем. В общем случае типовые программные компоненты информационного приложения включают: диалоговый ввод-вывод, логику диалога, прикладную логику обработки данных, логику управления данными, операции манипулирования файлами и/или базами данных. Для сетевых информационных приложений важным элементом является коммуникационный сервис, обеспечивающий взаимодействие узлов сети при совместном решении информационной задачи.

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

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

Информационные системы прежде всего различаются по масштабу на одиночные, групповые и корпоративные. Одиночные информационные системы реализуются на автономном компьютере, как правило, ПК. Такая система может содержать несколько простых приложений, связанных общим информационным фондом, и рассчитана на работу одного пользователя или группы пользователей, разделяющих по времени одно рабочее место. Подобные приложения создаются с помощью так называемых «настольных СУБД» (Clarion, Clipper, FoxPro, Paradox, dBase, MS Access) или с помощью файловой системы и диалоговой оболочки для ввода, редактирования и обработки данных.

Групповые информационные системы ориентированы на коллективное использование информации членами рабочей группы (одного подразделения), чаще всего строятся как локальная вычислительная сеть ПК или реже как многотерминальная централизованная вычислительная система. Однотипные или специализированные рабочие места обеспечивают вызов одного или нескольких конкретных приложений. Общий информационный фонд представляет собой базу данных или совокупность файлов документов. Совместное использование информации организуется с помощью блокировок записей и файлов. При разработке таких приложений используются многопользовательские «настольные СУБД», серверы БД для рабочих групп (Btrieve, NetWare SQL, Gupta SQLBase, Sybase Anywhere SQL, MS SQL Server, Progress, Informix-SE, Workgroup Oracle и др.) и соответствующие инструменты разработки или системы управления документами и их инструментальные средства. Взаимодействие пользователей происходит через централизованную базу данных или посредством сетевой файловой системы или через электронную почту.

Корпоративные информационные системы являются развитием систем для рабочих групп и ориентированы на масштаб предприятия, могут поддерживать территориально разнесенные узлы или сети. Они могут иметь иерархическую структуру из нескольких уровней. Главная особенность — обеспечение доступа из подразделения к центральной или распределенной базе данных предприятия (организации) помимо доступа к информационному фонду рабочей группы. Для таких систем характерна архитектура клиент-сервер со специализацией серверов. Они строятся на корпоративных SQL-серверах БД (Oracle7, Informix-OnLine, Informix-DSA, Sybase, CA-Ingress и др.) и соответствующих инструментальных средствах. Помимо собственных средств разработки часто находят применение независимые многоплатформенные инструментальные средства, дополненные интерфейсами, драйверами и шлюзами для связи с разными СУБД.

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

Читать еще:  Виды задач математического программирования

Рассмотрим основные типы информационных систем (рисунок 1) и связанные с ними приложения. По оперативности обработки данных различают пакетные и оперативные информационные системы (реального времени). Информационные системы с пакетной обработкой в чистом виде можно встретить на больших централизованных ЭВМ. В информационных системах организационного управления преобладает режим оперативной обработки транзакций OLTP (OnLine Transaction Processing) для отражения актуального состояния предметной области в любой момент времени, а пакетная обработка занимает весьма ограниченную нишу. Для систем OLTP характерен регулярный (возможно, интенсивный) поток довольно простых транзакций, играющих роль заказов, платежей, запросов и т. п. Важными требованиями являются высокая производительность обработки транзакций и гарантированная доставка информации при удаленном доступе к БД по телекоммуникациям.

Рисунок 1.
Классификация информационных систем.

Системы поддержки принятия решений DSS (Decision Support System) представляют собой другой тип информационных систем, в которых с помощью довольно сложных запросов производится отбор и анализ данных в различных разрезах: временных, географических и по различным показателям. Помимо традиционных средств доступа к БД развитые системы DSS включают следующие средства:

  • извлечения данных из разнородных источников, включая неструктурированную информацию;
  • многомерного анализа данных;
  • обработки статистики;
  • моделирования правил и стратегии деловой деятельности;
  • деловой графики для представления результатов анализа;
  • анализа «что если»;
  • искусственного интеллекта.

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

В классе систем поддержки принятия решений выделяется отдельный класс систем оперативной аналитической обработки OLAP (OnLine Analysis Processing). Здесь оперативность обработки достигается за счет применения мощной многопроцессорной вычислительной техники, специальных OLAP-серверов, изощренных методов многомерного анализа и специальных хранилищ данных Data Warehouse, накапливающих информацию (из разных источников за большой период времени) и обеспечивающих к ним оперативный доступ. Кроме готовых OLAP-систем для конкретных областей, например финансовой, существуют инструментальные наборы для разработки подобных приложений на базе СУБД или OLAP-серверов и хранилищ данных.

Существует обширный класс информационно-справочных систем, основанных на гипертексте и мультимедиа. Гипертекст (гипермедиа) представляет собой совокупность логически связанных текстовых, графических, аудио- и видео-материалов. Многие программные продукты поставляются со справочными системами или электронной документацией, организованной похожим образом. В обучающих программах также часто используется принцип гипертекста. Дальнейшее развитие такие информационные системы получили в сети Internet, в частности в мировой сети WWW. Здесь понятие гипертекстовой ссылки было расширено на глобальную сеть, она включает имя узла, имя файла и позицию внутри файла. Специальные WWW-серверы являются хранилищем такого гипертекста, клиенты имеют программы просмотра (браузеры). В последнее время пассивный характер подобных систем изменился, в них появились средства диалога для формирования заказов на продукцию и для проведения оплаты товара. Перспективы развития при этом связывают с языком Java (предложен Sun), ориентированным на разработку информационных приложений для Internet.

Самостоятельный подкласс информационно-справочных систем составляют географические информационные системы GIS. Здесь информация привязана к точкам на карте или плане местности. Для одной географической области могут быть представлены несколько картографических слоев с разными объектами и соответственно разной информацией по этим объектам, например городские коммуникации, транспортные связи, лесные массивы, водоемы и т. п. Слои могут накладываться, образуя карту, ориентированную на решение конкретных задач.

Значительная доля информации, циркулирующей в учреждениях, представляет собой неструктурированные данные из бумажных документов. Современные системы управления электронными документами EDMS нацелены на перевод бумажных документов в электронный вид, обеспечиваются средствами индексирования и поиска, некоторые из них обладают свойствами гипертекста. Развитые офисные системы включают средства коллективной работы Groupware, обеспечивающие автоматизацию делопроизводства с использованием электронной почты, средств заполнения бланков, электронных таблиц и текстовых редакторов.

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

В данном обзоре подробно рассматриваются вопросы построения информационных приложений класса OLTP на основе реляционных баз данных.

Варианты построения информационных приложений

Групповые и корпоративные информационные системы и соответствующие приложения могут строиться различными способами:

  • многотерминальные централизованные вычислительные системы;
  • системы на основе локальной сети ПК (файл-серверные приложения);
  • системы с архитектурой клиент-сервер;
  • системы с распределенными вычислениями;
  • офисные системы;
  • системы на основе Internet/Intranet-технологий.

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

Типовые компоненты информационных приложений

Выделим в информационном приложении типовые функциональные компоненты, достаточные для формирования любого приложения на основе БД.

PS (Presentation Services) — средства представления. Обеспечиваются устройствами, принимающими ввод от пользователя и отображающим то, что сообщает ему компонент логики представления PL, плюс соответствующая программная поддержка. Может быть текстовым терминалом или Х-терминалом, а также ПК или рабочей станцией в режиме программной эмуляции терминала или Х-терминала.

PL (Presentation Logic) — логика представления. Управляет взаимодействием между пользователем и ЭВМ. Обрабатывает действия пользователя по выбору альтернативы меню, по нажатию кнопки или при выборе элемента из списка.

BL (Business or Application Logic) — прикладная логика. Набор правил для принятия решений, вычислений и операций, которые должно выполнить приложение.

DL (Data Logic) — логика управления данными. Операции с базой данных (SQL-операторы SELECT, UPDATE и INSERT), которые нужно выполнить для реализации прикладной логики управления данными.

DS (Data Services) — операции с базой данных. Действия СУБД, вызываемые для выполнения логики управления данными, такие как манипулирование данными, определения данных, фиксация или откат транзакций и т. п. СУБД обычно компилирует SQL-предложения.

FS (File Services) — файловые операции. Дисковые операции чтения и записи данных для СУБД и других компонент. Обычно являются функциями ОС. Можно привести несколько схем построения информационных систем (таблица 1) в зависимости от размещения типовых компонентов приложения по узлам сети.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector