ЛОГИЧЕСКИЕ МЕТОДЫ ДЛЯ СОЗДАНИЯ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ
Классификации методологий и технологий для создания систем поддержки принятия решений
В последние годы наблюдается широкомасштабное применение вычислительной техники в различных сферах деятельности человека. Поэтому наиболее остро встала проблема разработки информационных систем, автоматизирующих его деятельность с целью повышения ее эффективности. Одним из наиболее широко применяемых классов таких информационных систем являются системы поддержки принятия решений.
Создание современных систем поддержки принятия решений невозможно без использования методологий и технологий их разработки, поскольку их создание представляет длительный, трудоемкий и наукоемкий процесс, требующий больших материальных и финансовых затрат. Думается, здесь уместно вспомнить толкование слова «технология»1,2: «Совокупность производственных методов и процессов в определенной отрасли производства, а также научное описание способов производства». Таким образом, в области создания программных средств под термином «технология» понимается совокупность методов и процессов создания программных средств. Из-за большой сложности процесса разработки программных средств методы их построения выделяются из технологий их создания, образуя методологии разработки программных средств, поэтому в дальнейшем изложении они будут рассматриваться отдельно.
Создано несколько классификаций методологий и технологий разработки информационных систем. В соответствии с одной из них они разделяются в зависимости от научно-практических направлений, в рамках которых возникли. К настоящему времени сформировались следующие научно-практические направления, занимающиеся созданием методологий и технологий разработки информационных систем, в том числе и систем поддержки принятия решений:
> информационная инженерия (Information Engineering);
> искусственный интеллект (Artificial Intelligence); [1]
> обратное перепроектирование (Re-engineering);
> реинжиниринг бизнес-процессов (Business Process Reengineering);
> многоагентные системы (Multi-Agent Systems);
> управление знаниями (Knowledge Management);
> промышленная инженерия (Industrial Engineering);
> управление качеством (Total Quality Management).
Приведем их краткую характеристику. В середине 90-х годов в
методологиях и технологиях разработки информационных систем произошла смена одной из парадигм: программная инженерия (Software Engineering)[2] сменилась на информационную инженерию (Information Engineering). Информационная инженерия представляет собой совокупность методологий и программных инструментальных средств, поддерживающих создание информационных систем, автоматизирующих деятельность человека. Главной отличительной особенностью информационной инженерии от программной является наличие методов и программных инструментальных средств, поддерживающих этап стратегического планирования жизненного цикла программного обеспечения. На этапе стратегического планирования осуществляется обследование деятельности организации с целью повышения эффективности труда сотрудников. Для этого анализ организации проводится на трех уровнях: макроуровне, микроуровне и уровне организации. На макроуровне осуществляется анализ политической обстановки, экономического положения и технической политики, которые влияют па выбор сфер деятельности организации. На микроуровне осуществляется анализ рыночных отношений между организацией, потребителями и конкурентами. На уровне организации осуществляется анализ внутреннего состояния организации: организационная структура, производство продукции, финансовое положение, профессионализм кадров и т.п. Стратегический анализ деятельности организации представляет трудоемкий длительный процесс, цена ошибок которого очень высока, поскольку они могут привести к краху организации.
Возникшие в рамках программной инженерии CASE-технологии (Computer-Aided Software Engineering) позволяют значительно сократить время разработки программных средств, повысить их качество, а также значительно уменьшить затраты на их создание. Научно- практическое направление «CASE-технологии» занимается вопросами создания методологий разработки программных систем и программных инструментальных средств их поддержки (CASE-средств). Наиболее широко применяемыми методологиями являются представители двух классов методологий: структурных и объектно- ориентированных [1, 2]. Структурные методы построения программных систем появились в конце 70-х годов. Их создание связано с именами Йордона, Джэксена, Якобсона и многими другими. Следует отметить, что Йордон является разработчиком первого CASE-средства CASEAnalystDesign, созданного в 1979 г., в котором на основе построенных диаграмм генерируется программный код на языке Ада. К настоящему времени создан многочисленный ряд CASE-средств, поддерживающих структурные методы. К нему относятся CASE- средства BPWin, Idef, Silverrun и многие другие.
В последние годы наиболее перспективной методологией для создания программных систем признана объектно-ориентированная методология, одним из основоположников которой является Г. Буч. CASE-средства, поддерживающие эту методологию, широко применяются в фирмах США, Японии и других ведущих стран мира. В России широко используемыми CASE-средствами, поддерживающими объектно-ориентированные методы, являются Rational Rose Enterprise Edition 2000/2002 (фирмы Rational Software Corporation) [1, 2], Oracle Developer Suite 2000 (фирмы Oracle) и др. Следует заметить, что Г. Буч, Дж. Рамбо и Ив. Якобсон являются создателями языка UML (Unified Modeling Language) [2], который положен в основу CASE- средства Rational Rose Enterprise Edition [2]. Сотрудником фирмы, его разработавшей, в настоящее время является Г. Буч.
Перспективным подходом к созданию CASE-средств является применение в них интеллектуальных методов. Необходимость их применения для создания программных систем обусловлена следующими факторами. На этапах создания программных систем разработчикам приходится работать с неполной, нечеткой, неточной, противоречивой информацией. Созданные CASE-средства с использованием интеллектуальных методов позволяют преодолеть трудности, возникающие у разработчиков программных систем, более быстрыми темпами и с меньшими трудозатратами. Бурный рост работ, посвященных вопросам использования интеллектуальных методов в CASE- средствах, стал основой для появления научно-практического направления в рамках информационной инженерии, получившего название «Knowledge Based Software Engineering (KBSE)».
Одним из основных результатов научно-практического направления «Искусственный интеллект», занимающегося вопросами создания интеллектуальных систем (ИС), являются интеллектуальные методологии и технологии их разработки. Если в период становления этого направления считалось, что такие методологии и технологии базируются на моделях представления знаний и механизмах вывода в них, то в последние годы наблюдается тенденция к интеграции различных направлений исследований в этой области. Отметим, что наиболее широко используемыми методологиями являются методологии создания ИС, основанные па моделях представления знаний [3—6], мягкие вычисления, объединившие нечеткую логику [7], нейротехнологии [8] и генетические алгоритмы [9], а также следует упомянуть о набирающем силу синергетическом подходе к разработке ИС.
Методы обратного перепроектирования и программные инструментальные средства их поддержки направлены на оптимизацию характеристик созданных программных систем и обеспечение их «стыковки» с существующими программными системами в организации.
Одновременно с информационной инженерией появляется направление менеджмента, получившего название реинжиниринга бизнес-процессов. Ключевые моменты этого направления будут рассмотрены при приведении второй классификации методологий и технологий создания программных систем, под влиянием которого она и сформировалась.
Многоагентные методологии и технологии разработки програм- пых систем, завоевавшие популярность в конце 90-х годов, признаны одними из наиболее перспективных для создания информационных систем.
Также перспективными методологиями и технологиями создания информационных систем являются методологии и технологии их построения как систем управления знаниями (СУЗ), где под управлением знаниями понимается методология, включающая в себя комплекс методов, охватывающих:
- • поиск и извлечение знаний из живых и неживых объектов (носителей знаний);
- • структурирование и систематизацию знаний (для обеспечения их удобного хранения и поиска);
- • анализ знаний (выявление зависимостей и аналогий);
- • обновление (актуализацию) знаний;
- • распространение знаний;
- • генерирование новых знаний.
Промышленная инженерия, возникшая в середине XX века, занимается управлением и организацией производства. В ней наиболее широко применяемыми методологиями и технологиями являются JIT (Just- in-time — точно вовремя), ОРТ (Optimised Production Technology — оптимизационная технология производства), CIM (Computer Integrated Manufacturing — интегрированные производства на основе вычислительной техники), CALS (Continuous Acquisition and Life Circle Support — поддержка непрерывного жизненного цикла продукции), ERP, MRP (Material Requirements Planning — планирование потребностей в материалах), MRP 11 (Manufacturing Recourse Planning — планирование ресурсов производства), CAD/CAM/CAE и т.д. Разработан и внедрен ряд ERP-систем.
Технология разработки систем качества (Total Quality Management) базируется па концепции управления качеством, документированной в стандартах ISO 9000. Следует отметить, что стандарт ISO 9000 представляет собой серию стандартов 9000, 9001, 9002, 9003, 9004, в которой ISO 9001 является наиболее полным, специфицирующим модель обеспечения качества на всех этапах жизненного цикла товара/услуги.
Следует отметить, что в последние годы стираются границы между выделенными классами методологий, поскольку осуществляется проникновение методов создания одних информационных систем в другие. Так, например, интеллектуальные методы применяются в информационной инженерии (разработка CASE-систем, основанных на знаниях), в реинжиниринге бизнес-процессов (использование моделей рассуждений, основанной па прецедентах (Case-based reasoning)), в многоагентных технологиях (для создания интеллектуальных агентов). Без их использования невозможно создание систем управления знаниями.
Вторая классификация методологий и технологий создания информационных систем, как уже упоминалось, сложилась под влиянием реинжиниринга бизнес-процессов (БПР).
В настоящее время достаточно большое число организаций, включая университеты, имеют организационные формы и процедуры функционирования, не обеспечивающие конкурентноспособности организации и не способствующие ее развитию. На основе методов БПР они должны быть кардинальным образом перестроены. Хаммер и Чампли (изобретатели термина БПР) определили БПР как «фундаментальное переосмысление и радикальное перепроектирование деловых процессов для достижения резких/скачкообразных улучшений в ретающих, современных показателях деятельности компании, таких как стоимость, качество, сервис и темпы». БПР есть совокупность методов и программных инструментальных средств, предназначенных для кардинального улучшения основных показателей деятельности компании путем моделирования, анализа и перепроектирования существующих бизиес-процессов. Перепроектирование процессов становится возможным, как правило, благодаря использованию программных инструментальных средств, поддерживающих методологии реинжиниринга бизнес-процессов, а также применению СА5Е- технологий.
В соответствии со второй классификацией методологии и технологии для создания информационных систем делятся на следующие группы:
> поддерживающие;
> развивающие;
> принципиально новые.
На основе технологий, относящихся к 1-й и 2-й группам, создаются бизнес-поддерживающие информационные системы, которые поддерживают и развивают бизнес-процессы, существующие в организации, используя методологии реинжиниринга бизнес-процессов. На основе технологий, относящихся к 3-й группе, создаются бизнес- образующие информационные системы и проекты, поддерживающие новые бизнес-процессы и новый бизнес, используя методологии инжиниринга бизиес-процессов.
Выделение целей организации и проверка их на конкурентноспособность, выполняемые на этапе обследования организации, являются одинаковыми при создании информационных систем на основе методов информационной инженерии и реинжиниринга бизнес-процессов. Следует отметить, что от правильного выполнения этих работ зависит не только успех создания информационных систем, но и эффективность функционирования организации.
В § 2.3 описан разработанный интеллектуальный метод, который может быть использован для документирования работ, выполняемых на этапе обследования организации.
Остановимся на рассмотрении одних из перспективных методологий и технологий для создания информационных систем — интеллектуальных методологий и технологий, методы создания которых, как отмечалось выше, проникают во все методологии разработки таких систем, увеличивая конкурентноспособность систем, построенных на их основе.
Также свидетельствует о необходимости создания интеллектуальных методологий и технологий резкое увеличение сложности задач, для решений которых создаются ИС, помогающие человеку в его мыслительной деятельности.
Одним из важных классов ИС, применяемых в различных сферах деятельности человека, являются ИСППР, помогающие человеку при управлении им сложными системами и процессами. Поэтому приведем требования, предъявляемые к ИСППР и методологиям и технологиям их разработки. Отметим, что далее под термином ИС будем понимать ИСППР.
- [1] Доуне Джон, Гудман Джордан Эллиот. Финансово-инвестиционный словарь. Библиотекасловарей «ИНФРА-М». М.: ИНФРА-М, 1997. — 585 с. ? Ожегов С.И. Словарь русского языка. — 22-е изд., стер. М.: «Русский язык», 1990. — 921 с.
- [2] ' Modern Software Engineering. Foundation and Current Perspectives / Edited by Peter A.Ng., Raymond T. Yeh. — VAN NOSTRAND REINHOLD, New York, 1990. — 581 p.