Построения систем с использованием информационных технологий
В настоящее время господствующим направлением проектирования ИС является объектно-ориентированная технология как основа создания открытых, гибких, многофункциональных систем для различных предметных областей.
На сегодняшний день существует два основных подхода к разработке информационных систем, отличающихся критериями декомпозиции. Первый подход, получивший название функционально-модульного или структурного, определяется принципом алгоритмической декомпозиции. В соответствии с этим принципом осуществляется разделение функций ИС на модули по функциональной принадлежности, и каждый модуль реализует один из этапов общего процесса. Такой традиционный функционально-модульный подход к проектированию ИС, получивший название «модель водопада», предусматривает строго последовательный порядок действий. Главный недостаток такого подхода заключается в движении информации в одном направлении (аналог — по течению реки). Если при проектировании или эксплуатации возникает проблема, то она решается только на данной стадии проекта, не затрагивая предыдущих стадий. Недостаточная обратная связь приводит к ограниченным исправлениям, что в свою очередь приводит к деформированным реализациям. Ориентация на функционально-модульный подход увеличивает вероятность потери контроля над решением возникающих проблем.
Объектно-ориентированная технология проектирования ИС [3, 9, 24, 26] предоставляет мощную, гибкую, универсальную концептуальную основу для конструирования информационно-управляющих систем в различных областях хозяйственной деятельности и управления, сочетающую использование моделей современной логистики, объектного подхода к компонентам предметной области, современных инструментальных средств визуального программирования и СУБД с SQL-интерфейсом.
Объектно-ориентированная технология проектирования ИС включает в себя следующие компоненты:
· технологию конструирования концептуальной объектно-ориентированной модели предметной области;
· инструментальные средства спецификации проектных решений;
· библиотеки типовых компонентов модели предметной области;
· типовые проектные решения для ряда функциональных областей.
В основу объектно-ориентированной технологии проектирования ИС положены разработка, анализ и спецификация концептуальной объектно-ориентированной модели предметной области.
Концептуальная объектно-ориентированная модель предметной области является основой проекта и реализации системы и обеспечивает:
· необходимый уровень формализации описания проектных решений;
· высокий уровень абстрагирования, типизации и параметризации проектных решений;
· компактность описания;
· удобство сопровождения готовой системы.
Отличительными чертами предлагаемой методологии являются следующие:
· наличие единого методологически обоснованного ядра, обеспечивающего открытость технологии для модификации, расширения и создания новых моделей представления проектных решений;
· наличие единого формального аппарата анализа проектных решений для используемых моделей представления;
Отличительными чертами предлагаемой технологии являются:
· совместное рассмотрение информационных, материальных и финансовых потоков;
· первичная и вторичная классификация объектов предметной области с обязательным указанием оснований классификации;
· наличие конструктивных методик декомпозиции и агрегирования компонентов проекта, использующих результаты классификации;
· наличие формальных методов оценки связности и сцепления компонентов проекта;
· использование функциональной модели данных с атрибутами — функциями доступа и атрибутами — категориями в качестве основы концептуальной модели данных.
При всем разнообразии моделей предметных областей концептуального уровня (Power Designer «Моделирование бизнеса» (Sybase), Oracle Method, Rational Rose — Гради Буч, Object — Oriented Design LanguagE (OODLE) — Салли Шлеер и Стефан Меллор) отсутствуют такие модели, которые бы позволяли в полной мере использовать знания по классификации элементов предметной области для описания свойств ее элементов, и в то же время, сохраняли преимущества традиционных функционального и информационного подходов, основанных на модели данных. «Чистый" объектный подход (Гради Буч) уже на ранних стадиях требует представлять данные о классификации в виде диаграмм классов. Это слишком жесткое требование. Выделение иерархии классов требует проведения объемного и тонкого анализа различных аспектов взаимосвязей объектов предметной области. В рамках самого объектного подхода подобных методик нет. С другой стороны, попытки совместить чистый объектный подход с традиционными подходами (Салли Шлеер) оказываются неудачными, так как последние рассматриваются не как обоснование решений объектного подхода, а как средство моделирования последнего.
Предлагаемая технология совмещает объектный, функциональный и информационный подходы. Используется «слабый» объектный подход, включающий идеи классификации объектов, функциональной поддержки объектов и наследование свойств. Как правило, в рамках данной технологии классы в традиционном их виде конструируются на завершающих стадиях концептуального проектирования.
Модель предметной области характеризуется открытым множеством элементов различной природы и множеством взаимосвязей между ними также различной природы. Подобное представление используется во многих моделях концептуального уровня. Однако в большинстве из них задаются жесткие ограничения на множество видов элементов и множество связей. При этом связям классификации по различным основаниям классификации практически не уделяется внимания. Предлагаемый подход делает связи классификации основополагающими при построении модели.
Применительно к описанию хозяйственной деятельности на концептуальном уровне предлагается использовать многоаспектную, многоуровневую классификацию компонентов предметной области с последующим формированием схем вторичной (косвенной) классификации сильно связанных компонентов. Указанная классификация становится основой для формирования конкретных элементов предметной области, которые участвуют в хозяйственных операциях.
Выделим следующие этапы проектирования ИС:
I. Исследование предметной области;
II. Разработка архитектуры системы;
III. Реализация проекта;
IV. Внедрение системы;
V. Сопровождение системы;
I. Исследование предметной области предусматривает следующие шаги:
1. Спецификацию деятельности в предметной области;
2. Анализ деятельности в предметной области;
2.1. Структурно-логический анализ деятельности:
2.1.1. Анализ путей;
2.1.2. Анализ связности (прочности и сцепления) компонентов предметной области;
2.2. Анализ производительности;
2.3. Экономический анализ.
II. Разработка архитектуры системы включает в себя разработку следующих компонентов:
1. Спецификации требований к проектируемой системе;
2. Конструирование концептуальной модели предметной области;
3. Спецификации обработки данных в проектируемой системе;
4. Спецификации пользовательского интерфейса системы;
5. Спецификации деятельности в предметной области с учетом внедрения системы.
Процесс проектирования ИС базируется на следующих моделях представления проектных решений:
1. Модели классификации объектов;
2. Модели декомпозиции компонентов предметной области;
3. Моделях потоков;
4. Модели данных предметной области;
5. Модели классов;
6. Модели пользовательского интерфейса;
7. Модели логики.
Модель классификации ориентирована на группирование объектов предметной области в соответствии с различными аспектами классификации и важность тех или иных свойств этих объектов.
Модель декомпозиции ориентирована на описание систем, способных выполнять действия над данными. Различают виды декомпозиции действий на основе:
· состава выходных данных;
· входных данных;
· представлений о промежуточных результатах;
· представлений о фазах обработки;
· представлений об альтернативных действиях.
Модели потоков отражают движение различных видов носителей (материальных, финансовых, информационных и др.).
Модель данных предметной области ориентирована на описание структуры информационных объектов, их функциональных взаимосвязей, необходимых для поддержания заданных действий.
Модель классов определяет систему классификации информации о предметной области, основанную на семантическом анализе. Среди важных характеристик модели классов можно выделить отношения наследования, включения или использования. В основе лежит объектно-ориентированный подход, в основе которого находится представление о предметной области, как совокупности взаимодействующих друг с другом объектов, рассматриваемых как экземпляр определенного класса. Классы образуют иерархию на основе наследования. Объектно-ориентированный подход содержится в современных языках высокого уровня Smalltalk, Object Pascal, C++, Java.
Модель пользовательского интерфейса ориентирована на описание взаимодействий пользователей с проектируемой системой, состава форм представления и команд управления заданиями.
Модели логики ориентированы на описание потока управления (последовательности выполнения) операторов программной системы и действий пользователей.
Для отображения результатов проектирования на различных этапах используются следующие виды схем представления проектных решений:
1. Схемы первичной классификации;
2. Схемы вторичной классификации;
3. Схемы детализации;
4. Схемы спецификации функциональных возможностей;
5. Схемы локальных моделей данных;
6. Схемы потоков;
7. Диаграммы переходов;
8. Схемы спецификации пользовательского интерфейса;
9. Схемы распределенной обработки данных;
10. Структурированные карты объектов.
Схема классификации описывает многомерную одноуровневую классификацию одного элемента. Каждый признак (основание) классификации имеет глобальный идентификатор и имя:
cat.<ид. признака классификации>—<имя признака классификации >.
Дуги на схеме классификации помечаются соответствующими элементами типа cat.
По способу формирования будем различать первичные и вторичные варианты оснований классификации.
Первичные основания характеризуют, как правило, наличие различных существенных отличительных свойств у каждого подкласса рассматриваемого класса элементов.
Вторичные основания классификации элемента формируются в соответствии с основаниями классификации элементов, которые сильно связаны с данным элементом.
Схемы потоков являются средством более детальной спецификации функциональных или организационных элементов. В соответствии с типами потоков будем различать схемы:
· материальных потоков;
· финансовых потоков;
· информационных потоков;
· потоков событий;
· отражающие сразу несколько типов потоков.
Правила конструирования схем потоков следующие:
· вся схема строится для одного исходного функционального или организационного элемента;
· каждый функциональный и организационный элементы спецификации должны иметь уникальный идентификатор;
· каждый поток должен иметь тип, уникальный идентификатор и, возможно, спецификацию;
· каждый поток, кроме потока событий, должен связывать накопитель соответствующего вида и функциональный элемент или такие элементы должны быть специфицированы в организационных элементах, связанных потоком;
· накопителями информационных потоков в зависимости от их вида являются базы данных (информационные объекты) или папки документов:
· накопителями финансовых потоков являются счета бухгалтерского учета;
· накопителями материальных потоков являются места постоянного или временного размещения материальных ценностей;
· предполагается, что всякий организационный элемент имеет в своем составе накопитель документов и накопитель финансовых средств с идентификатором этого элемента.
Реализация информационных систем на основе информационных технологий должна быть основана на инженерных подходах, предполагающих качественные, оптимальные по используемым ресурсам, эффективные и удобные в эксплуатации разработки. В достаточной степени разработана технология проектирования программного обеспечения (ПО). Однако в ИС кроме программной составляющей существенную роль играет информационная составляющая, определяющая структуру, атрибутику и типизацию данных, ограничения целостности для баз данных, логику управления последними. Поэтому при проектирования ИС приоритет отдается информационной модели, на основе которой реализуются остальные компоненты, включая диалог.
Рассмотрим кратко основные аспекты и сложившиеся подходы к реализации ИС.
ИС принято разделять по масштабу выполняемых функций на одиночные, групповые и корпоративные.
Одиночные ИС реализуются на автономном компьютере (чаще всего ПК), могут содержать несколько простых приложений, рассчитаны на работу одного пользователя или группы пользователей, разделяющих по времени одно рабочее место. Подобные приложения создаются с помощью так называемых «настольных» СУБД или с помощью файловой системы и диалоговой оболочки для ввода, редактирования и обработки данных.
Групповые ИС ориентированы на коллективное использование информации членами обособленной рабочей группы, обычно, строятся как локальная вычислительная сеть ПК или реже как многотерминальная вычислительная система. Однотипные или специализированные рабочие места обеспечивают вызов одного или нескольких приложений. Общий информационный ресурс представляет собой базу данных или совокупность файловых структур. При разработке таких систем используются «настольные» СУБД, серверы БД для рабочих групп и соответствующие инструменты разработки.
Корпоративные ИС ориентированы на использование в масштабе предприятия (организации) для различных рабочих групп, могут поддерживать территориально разнесенные узлы или сети. Отличительная особенность таких систем — обеспечение доступа из подразделений к центральной или распределенной БД предприятия (организации), а также к информационным ресурсам рабочей группы. Такие системы реализуются на основе архитектуры «клиент—сервер» со специализацией серверов. При этом используются корпоративные SQL-серверы и соответствующие инструментальные средства.
Групповые и корпоративные информационные системы могут строиться на основе следующих способов;
· многотерминальные централизованные вычислительные системы;
· системы на основе локальной сети ПК;
· системы с архитектурой «клинет—сервер»:
· системы с распределенными вычислениями;
· офисные системы;
· системы на основе Интернет/Интранет-технологий.
Среди средств разработки информационных систем выделяют следующие основные группы:
· традиционные систем программирования;
· инструменты для создания файл-серверных приложений;
· средства разработки приложений «клиент—сервер»;
· средства автоматизации делопроизводства и документооборота;
· средства разработки Интернет/Интранет-приложений;
· средства автоматизации проектирования (CASE-технологии).
Традиционные систем программирования представлены средствами создания приложений на алгоритмических языках программирования (Си, Паскаль, Бейсик и др.). Инструментальные средства программирования могут быть представлены набором утилит (редактор текстов, компилятор, компоновщик и отладчик) или интегрированной программной средой. Развитием традиционных систем программирования является объектно-ориентированное и визуальное программирование.
Основой разработки файл-серверных приложений для локальных сетей ПК являются инструментальные средства «персональных» СУБД, реализованные в виде диалоговой интегрирующей среды, предоставляющей три уровня доступа:
· программирование и создание приложений;
· создание и ведение структуры БД, а также интерактивная генерация макетного приложения и его компонентов (меню, форм или окон, отчетов, запросов и программных модулей);
· использование диалоговой среды и генераторов конечным пользователем для создания, ведения и просмотра БД, а также формирования простых отчетов и запросов.
Среди инструментальных средств реализации приложений с архитектурой «клиент—сервер» выделяют следующие:
· среды разработки приложений для серверов баз данных;
· независимые от СУБД инструменты для создания приложений «клиент—сервер»;
· средства поддержки распределенных информационных приложений.
Среди этой группы следует выделить инструментальные средства быстрой разработки приложений RAD (Rapid Application Development), обеспечивающие реализацию удаленного доступа к СУБД по двухзвенной схеме «клиент—сервер»; связь клиентских приложений с серверами БД с помощью непроцедурного языка структурированных запросов SQL; целостность БД, включая целостность транзакций; поддержку хранимых процедур на серверах БД; реализацию клиентских и серверных триггеров-процедур; генерацию элементов диалогового интерфейса и отчетов.
Средства автоматизации делопроизводства и документооборота подразделяются на следующие подгруппы:
· средства автоматизации учрежденческой деятельности Office Automation;
· системы управления электронным документооборотом EDMS;
· EDI — электронный документооборот и UN/EDIFACT — европейский стандарт EDI в задачах логистики;
· средства обеспечения коллективной работы Groupware;
· средства автоматизации документооборота Workflow.
Данная группа средств включает в свой состав: текстовые редакторы для подготовки и корректировки документов; процессоры электронных таблиц для расчетов, анализа и графического представления данных; программы генерации запросов по образцу из различных БД; сетевые планировщики для назначения рабочих встреч и совещаний; средства разработки и демонстрации иллюстративных материалов для презентаций; словари и системы построчного перевода и др. Эти средства представляют собой отдельные пакеты (Win Word, Word Perfect, Excel, Lotus), интегрированный пакет программ (MS Works) или согласованный набор пакетов (Microsoft Office, Corel Perfect Office).
Новый спектр средств Интернет/Интранет-приложений подробно представлен в подразд. 5.5. Средства программирования Internet/Intranet-приложений представлены различными системами программирования на интерпретируемых языках Java, Java Script, Tel и др. Построенные с использованием этих средств приложения могут загружаться с любого Web-сервера сети и интерпретироваться на клиентском узле. Это обеспечивает платформенную независимость при расширении функциональных возможностей.
Средства автоматизации проектирования приложений (CASE-технологии) предназначенные для анализа предметной области, проектирования и генерации программных реализаций, подробно описаны в подразд. 5.4. Новые тенденции в реализации приложений связаны с промышленным характером разработки программного обеспечения. Среди существующих инструментальных средств такого типа целесообразно выделить следующие:
· комплект специальных инструментальных средств быстрой разработки прикладных ИС — RAD (Rapid Application Development);
· технологический комплекс разработки программного обеспечения RUP (Rational Unified Process) фирмы Rational Software;
· технология разработки программного обеспечения Extreme Programming (XP).
Средства RAD базируются на объектно-ориентирован ном подходе, когда информационные объекты формируются как действующие модели и их функционирование согласовывается с пользователем. Разработка приложений на основе RAD ведется с использованием множества готовых объектов, хранимых в виде базы данных. Объектно-ориентированные инструменты RAD в среде GUI позволяют на основе набора стандартных объектов, для которых инкапсулированы атрибуты и внутренние процедуры, формировать простые приложения без написания кода программы. Использование в RAD визуального программирования позволяет еще более упростить и ускорить процесс создания информационных систем. Логика приложения, реализованного с помощью RAD является событийно-ориентированной, что подразумевает наличие определенного набора событий: открытие и закрытие окон, нажатие клавиши клавиатуры, срабатывание системного таймера, получение и передача управления каждым элементом экрана, некоторые элементы управления базой данных.
Наиболее полным описанием процесса разработки программного обеспечения, включающим методики выполнения работ на каждой стадии жизненного цикла системы, является Rational Unified Process (RUP), уникальность которого заключается в том, что это стандартизованный процесс разработки программного обеспечения, используемый многими крупными компаниями по всему миру. RUP обладает следующими преимуществами, по сравнению с другими процессами:
· обеспечивает четко организованный подход к назначению задач и требований в рамках организации разработки;
· основан на объектно-ориентированных технологиях разработки программного обеспечения и может использоваться для широкого круга проектов и организаций;
· является итеративным процессом, который допускает расширение проблемы и круга задач по мере последовательного усовершенствования модели и программного обеспечения, позволяя увеличить коэффициент эффективности на протяжении нескольких итераций, что дает большую гибкость в приспособлении к новым требованиям и допускает идентификацию и разрешение рисков разработки заранее;
· создает описание программного продукта, позволяющего восстановить процесс его разработки;
· осуществляет полную поддержку различными инструментальными средствами, позволяющими автоматизировать работы на всех стадиях жизненного цикла программы и сохранить артефакты разработки в электронном виде;
· предоставляет возможность гибкой и перенастраиваемой конфигурации, позволяющей использовать его как для малых групп разработчиков, так и для больших организаций.
В качестве графической нотации в RUP используется Unified Modeling Language (UML), являющийся стандартом для представления объектных моделей. В UML артефакты разработки представляются диаграммами, описывающими структуру программы и ее поведение.
Другим подходом к разработке программного обеспечения является технология Extreme Programming или ХР. Основными элементами данного подхода являются;
· быстрая разработка программного продукта на основе стандартных шаблонов проектирования;
· постоянное взаимодействие разработчиков с заказчиками системы;
· минимизация затрат на документирование проекта;
· максимальное использование программных тестов («unit tests») для проверки функциональности и корректности исходных кодов программ;
· использование рефакторингов для расширения функциональности системы и устранения ее недостатков.
ХР предназначена для использования небольшими группами разработчиков, которым необходимо быстро создать программное обеспечение в условиях постоянно изменяющихся требований.
Разработка программной системы редко начинается «с нуля». Обычно программная система имеет некоторую предысторию в виде совокупности программ, реализующих — частично или полностью — требования к системе. Разработка программ на основе ранее созданных компонент базируется на процессе реинжиниринга программных кодов, при котором путем анализа текстов программ восстанавливается исходная модель программной системы, которая затем используется в новой программе. Главная цель реинжиниринга программного обеспечения — облегчить процесс разработки программных систем за счет повторного использования проверенных решений, а также при переходе на другую аппаратную платформу или на другую среду программирования. Основными задачами реинжиниринга программного обеспечения являются:
· восстановление информации о программной системе, ее документации и спецификаций;
· обнаружение аномалий в архитектуре программной системы, моделях и исходном коде;
· проверка соответствия исходного кода программы решениям, принятым на этапах анализа и проектирования;
· перевод исходных кодов программ с одного языка программирования на другой.
Дата добавления: 2015-04-19; просмотров: 1749;