
- •Оглавление
- •1. Классификации технологий разработки информационных систем
- •1.1. Классификация технологий разработки информационных систем в соответствии с научно-техническими направлениями их создания
- •1.2. Классификация технологий разработки информационных систем, созданная в рамках направления менеджмента – реинжиниринга бизнес-процессов
- •2. Жизненный цикл разработки информационных систем и его модели
- •2.1. Каскадная модель
- •2.2. Спиральная модель
- •3. Методологии разработки информационных систем
- •3.1. Структурная методология разработки информационных систем idef
- •Правила определения сущностей
- •Правила определения атрибутов
- •Первичные и альтернативные ключи
- •Правила определения отношений
- •Отношения категоризации
- •Правила определения отношений категоризации
- •Основные правила формирования информационной модели
- •"Функциональный аспект" рассмотрения системы
- •3.2. Объектно-ориентированные методологии разработки информационных систем
- •3.2.1. Методики объектно-ориентированного анализа
- •3.2.2. Объектно-ориентированный процесс разработки rup
- •3.3. Методология создания информационных систем Datarun, ориентированая на данные
- •4. Case-средства разработки информационных систем
- •4.1. Классификация case-средств
- •Диаграммные средства
- •4.2. Подход к интеллектуализации case-средств
- •4.2.1. Гибридная модель проблемной области case-системы
- •4.2.2. Синтаксис многоуровневой логики
- •4.2.3. Дедуктивный вывод в многоуровневой логике
- •4.2.3.1. Алгоритм сколемизации
- •4.2.3.2. Алгоритм унификации
- •4.2.3.3. Особенности использования линейной входной резолюции в многоуровневой логике
- •4.2.3.4. Иерархическая абстракция и продукционная модель
- •4.2.4. Программное инструментальное средство для моделирования сложноструктурированной проблемной области как компонента информационной базы проекта в case-системах
- •4.2.4.1. Архитектура программного инструментального средства «Инфолог»
- •4.2.4.2. Концептуальный язык описания сложноструктурированной проблемной области
- •4.2.4.3 Реализация программного инструментального средства «Инфолог»
- •5. Технология разработки интеллектуальных систем «логсемис»
- •5.1. Методология разработки интеллектуальных систем «логсемис»
- •Алгоритм генерирования метаправил
- •5.2. Программное инструментальное средство поддержки методологии «логсемис»
- •6. Задания на лабораторные работы
- •7. Контрольные вопросы
- •Библиографический список рекомендуемой литературы «Информационная инженерия»
1. Классификации технологий разработки информационных систем
1.1. Классификация технологий разработки информационных систем в соответствии с научно-техническими направлениями их создания
В настоящее время эффективное функционирование любой организации не мыслится без использования информационных систем. Создание таких систем представляет длительный, трудоемкий и наукоемкий процесс. Поэтому он не может быть выполнен успешно без применения информационных технологий. В последние годы сложилось несколько классификаций технологий разработки информационных систем. Приведем две из них, которые являются наиболее широко применяемыми классификациями в среде разработчиков информационных систем. В соответствии с одной из них они разделяются в зависимости от научно-практических направлений, в рамках которых возникли. К настоящему времени сформировались следующие научно-практические направления, занимающиеся вопросами создания методологий и технологий проектирования информационных систем:
информационная инженерия (Information Engineering);
искусственный интеллект (Artificial Intelligence);
обратное перепроектирование (Re-engineering);
реинжиниринг бизнес-процессов (Business Process Reengineering);
многоагентные системы (Multi-Agent Systems);
управление знаниями (Knowledge Management);
промышленная инженерия (Industrial Engineering);
управление качеством (Total Quality Management).
Приведем их краткую характеристику. В середине 90-х годов в методологиях и технологиях разработки программных систем произошла смена одной из парадигм: программная инженерия (Software Engineering) сменилась на информационную инженерию (Information Engineering). Информационная инженерия представляет собой совокупность методологий и программных инструментальных средств, поддерживающих создание программных систем, автоматизирующих деятельность человека. Главным отличием информационной инженерии от программной инженерии является наличие методов и программных инструментальных средств, поддерживающих этап стратегического планирования в жизненном цикле создания информационной системы. На этапе стратегического планирования осуществляется обследование деятельности организации с целью повышения эффективности труда сотрудников. Для этого анализ проводится на трех уровнях: макроуровне, микроуровне и уровне организации[3]. На макроуровне осуществляется анализ политической обстановки, экономического положения и технической политики, которые влияют на выбор сфер деятельности организации. На микроуровне осуществляется анализ рыночных отношений между организацией, потребителями и конкурентами. На уровне организации осуществляется анализ внутреннего состояния организации: организационная структура, производство продукции, финансовое положение, профессионализм кадров и т.п. Стратегический анализ деятельности организации представляет трудоемкий длительный процесс, цена ошибок на котором очень высока, поскольку они могут привести к краху организации.
Возникшие в рамках программной инженерии CASE-технологии позволяют значительно сократить время проектирования программных систем, повысить их качество, а также уменьшить затраты на их создание. Научно-практическое направление «СASE-технологии» занимается вопросами создания методологий проектирования программных систем и программных инструментальных средств их поддержки (CASE-средств). Наиболее широко применяемыми являются два класса методологий: структурные и объектно-ориентированные. Структурные методы проектирования программных систем появились в конце 70-х годов. Их создание связано с именами Йордона, Джэксена, Якобсона и многими другими. Следует отметить, что Йордон является разработчиком первого CASE-средства CASE\Analyst\Design , созданного в 1979 г., в котором на основе построенных диаграмм генерируется программный код на языке Ада. К настоящему времени создан многочисленный ряд CASE-средств, поддерживающих структурные методы. К нему относятся CASE-средства: BPWin, Idef, Silverrun и многие другие.
В последние годы наиболее перспективной методологией создания программных систем признана объектно-ориентированная методология, основоположником которой является Г. Буч. В России широко используемыми CASE-средствами, поддерживающими объектно-ориентированные методы, являются Rational Rose Enterprise Edition (фирмы Rational Software Corporation), Oracle Developer Suite (фирмы Oracle) и др. Следует заметить, что Г. Буч и Дж. Рамбо являются создателями языка UML (Unified Modeling Language), появившегося в свет в 1994 г., который положен в основу CASE-средства Rational Rose Enterprise Edition, сотрудником фирмы, его разработавшей, в настоящее время является Г. Буч.
Перспективным подходом к созданию CASE-средств является применение в них интеллектуальных методов. Необходимость их применения для создания программных систем обусловлена следующими факторами. На этапах создания программных систем разработчикам приходится работать с неполной, нечеткой, неточной, противоречивой информацией. CASE-средства, реализирующие интеллектуальные методы позволяют преодолеть трудности, возникающие у разработчиков программных систем более оперативно и с меньшими трудозатратами. Бурный рост работ, касающихся вопросов использования интеллектуальных методов в CASE-средствах, стал основой для появления научно-практического направления в рамках информационной инженерии, получившего название «Программная инженерия, основанная на знаниях» («Knowledge Based Software Engineering (KBSE)»).
Одним из основных результатов научно-практического направления, занимающего вопросами создания интеллектуальных систем, являются интеллектуальные методологии и технологии их проектирования. Если в период становления этого направления считалось, что такие методологии и технологии базируются на моделях представления знаний и механизмах вывода в них, то в последние годы наблюдается тенденция к интеграции различных направления в области искусственного интеллекта. Отметим, что наиболее широко используемыми методологиями являются методологии проектирования интеллектуальных систем, основанные на моделях представления знаний; мягких вычислениях, объединивших нечеткую логику, нейротехнологии и генетические алгоритмы, а также, следует упомянуть о набирающем силу синергетическом подходе к разработке интеллектуальных систем.
Методы обратного перепроектирования и программные инструментальные средства их поддержки направлены на оптимизацию характеристик созданных программных систем и обеспечение их «стыковки» с существующими в организации программными системами.
Одновременно с информационной инженерией появляется направление менеджмента, получившее название «Реинжиниринг бизнес-процессов». Ключевые моменты этого направления будут рассмотрены при обсуждении 2-й классификации методологий и технологий проектирования программных систем, под влиянием которого она и сформировалась.
Многоагентные методологии и технологии разработки программных систем, завоевавшие популярность в конце 90-х годов, признаны одними из наиболее перспективных в процессе создания информационных систем. Многоагентные технологии являются развитием объектно-ориентированных технологий. Их появление обуславливается бурным распространением вычислительных сетей и повышением эффективности программных средств.
Еще одно перспективное направление представляют методологии и технологии создания информационных систем как систем управления знаниями (СУЗ), где под управлением знаниями понимается методология, включающая в себя комплекс формальных методов, охватывающих[4]:
поиск и извлечение знаний из живых и неживых объектов (носителей знаний);
структурирование и систематизацию знаний (для обеспечения их удобного хранения и поиска);
анализ знаний (выявление зависимостей и аналогий);
обновление (актуализацию) знаний;
распространение знаний;
генерирование новых знаний.
Промышленная инженерия, возникшая в середине ХХ века, занимается управлением и организацией производства. В ней наиболее широко применяемыми методологиями и технологиями являются JIT (Just-in-time – точно вовремя), OPT (Optimised Production Technology – оптимизационная технология производства), CIM (Computer Integrated Manufacturing – интегрированные производства на основе вычислительной техники), CALS (Continuous Acquisition and Life Circle Support – информационная поддержка непрерывного жизненного цикла продукции), ERP (Enterprise Resourse Planning), MRP (Material Requirements Planning – планирование потребностей в материалах), MRP II (Manufacturing Resourse Planning – планирование ресурсов производства), CAD/CAM/CAE и т.д. В России в последние годы разработан и внедрен ряд ERP-систем.
Технология разработки систем качества (Total Quality Management) базируются на концепции управления качеством, документированной в стандартах серии ISO 9000. Данная серия включает стандарты 9000, 9001, 9002, 9003, 9004, причем ISO 9001 является наиболее полным стандартом, специфицирующим модель обеспечения качества на всех этапах жизненного цикла товара/услуги.
Следует отметить, что в последние годы стираются границы между выделенными классами методологий, поскольку осуществляется проникновение методов проектирования программных систем из одних методологий в другие. Так, например, интеллектуальные методы применяются в информационной инженерии (разработка CASE-систем, основанных на знаниях), в реинжиниринге бизнес-процессов (использование моделей рассуждений, основанных на прецедентах (Case-based reasoning)), в многоагентных технологиях (проектирование интеллектуальных агентов). Без их использования невозможно создание систем управления знаниями.