Разработка сложных информационных систем (ИС) таких, какими являются ИС административно-управленческой деятельности предприятий (организаций, учреждений и т.д.; в дальнейшем ИС предприятий), невозможна без тщательно обдуманного методологического подхода.
В настоящее время существует ряд общих методологий разработки ИС. Главное в них — единая дисциплина работы на всех этапах жизненного цикла системы, учет критических задач и контроль их решения, применение развитых инструментальных средств поддержки процессов анализа, проектирования и реализации ИС.
Адекватными инструментальными средствами, поддерживающими структурный подход к созданию информационных систем, являются так называемые CASE-системы автоматизации проектирования. CASE (Computer-Aided Software/System Engineering) означает проектирование программного обеспечения или системы на основе компьютерной поддержки.
CASE-технология представляет
Появлению CASE-технологии и CASE-средств предшествовали исследования в области методологии программирования. Программирование обрело черты системного подхода с разработкой и внедрением языков высокого уровня, методов структурного и модульного программирования, языков проектирования и средств их поддержки, формальных и неформальных языков описаний системных требований и спецификаций и т.д..
Круг пользователей CASE-систем достаточно широк и основными являются:
- аналитические центры государственных, военных и коммерческих организаций;
- банки и страховые компании;
- аудиторские и консалтинговые фирмы, применяющие CASE-средства для спецификации бизнес-процессов в системах управления производством, коммерческой деятельностью и финансами с целью их реорганизации и автоматизации;
- компании по разработке аппаратного и программного обеспечения систем обработки данных и, в частности, интегрированных информационно-управляющих систем.
Существует мнение, что CASE, наряду с системами визуального программирования, является наиболее перспективным направлением в программотехнике. С этим можно спорить, но то, что CASE — наиболее динамично развиваемое направление, является в настоящее время неоспоримым фактом. Практически не один серьезный американский или японский программный проект не осуществляется без использования CASE-средств.
Автоматизированные системы проектирования в землеустройстве
... средством для создания геоинформационных систем, решения задач автоматизированного картографирования и землеустроительного проектирования является Arc/Info — программный продукт, разработанный в американском Институте исследований систем ... средством для создания ГИС различной ориентации и построения автоматизированных технологических линий обработки информации. Таким образом, программные средства ...
Основу современной CASE-технологии анализа и проектирования информационных систем составляют:
- поддержка всех этапов жизненного цикла ИС, начиная с самых общих описаний предметной области до получения и сопровождения программного продукта;
- методология структурного нисходящего анализа и проектирования, при которой разработка ИС представляется в виде последовательности четко определенных этапов;
- ориентация на реализацию приложений в архитектуре “клиент-сервер” с использованием всех особенностей современных серверов баз данных (включая декларативные ограничения целостности, хранимые процедуры, триггеры баз данных) и поддержкой в клиентской части всех современных стандартов и требований к графическому интерфейсу конечного пользователя;
- наличие централизованной базы данных – репозитория, обеспечивающего хранение моделей предметной области и спецификаций проекта прикладной системы на всех этапах ее разработки;
— автоматизация стандартных действий по проектированию и реализации ИС, например, генерация многочисленных отчетов по содержимому репозитория, обеспечивающих полное документирование текущей версии системы на всех этапах ее разработки.
1. Понятие Case-технологии
В последнее время сложилась своеобразная культура проектирования жизненного цикла компании, производства, деятельности. Естественно, в настоящих условиях такого рода проектирования производятся на базе компьютерных технологий. Примером такого рода является CASE-проектирование (Computer-Aided Software/System Engineering) — относительно новое направление в современных компьютерных технологиях. Эта область научного подхода к управлению бизнес-процессом настоящее время интенсивно развивается. Тем не менее, затруднительно дать точное общее определение CASE средств.
CASE-технологии – это совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения, поддерживаемая комплексом взаимосвязанных средств автоматизации.
Базой CASE-развития стали методологии «классического» системного анализа. Для программного обеспечения (ПО) основным является понятие жизненного цикла (ЖЦ), как правило, разбиваемого на этапы: анализ требований, проектирование, кодирование, тестирование и отладка, эксплуатация и сопровождение.
На разных этапах развития информационных технологий существовали различные модели жизненных циклов: каскадная (70-80годы) — переход на следующий этап после полного окончания работ по предыдущему, поэтапная с промежуточным контролем (80-85годы) — итерационная модель разработки ПО с циклами обратной связи между этапами. Современная – спиральная (итерационная) модель ориентированна на развитие и модификацию ПО в процессе его проектирования, посредством накопления и повторного использования программных средств, моделей, прототипов. Несомненным преимуществом данной модели является и анализ риска издержек в процессе проектирования. Очевидно, что в свете изложенного первые две модели уже становятся устаревшими и бесперспективными.
Таким образом, в этом случае наиболее важными этапами ЖЦ являются первые два этапа: анализ и проектирование.
При успешном прохождении этих этапов следующие не представляют особой сложности и, наоборот, неразрешенные или неучтенные вопросы, возникающие на данных этапах, способны привести к неразрешимым проблемам, вплоть до неудачи проекта в дальнейшем.
Остановимся кратко на особенностях Анализа и Проектирования.
Анализ требований является первым этапом ЖЦ программного продукта. Этот этап должен решить ключевые для проекта вопросы —
- Каковы требования, предъявляемые к системе?
- Каковы средства, предоставляемые системе для решения предоставленных задач?
Эти вопросы должны определить исходную архитектуру, интерфейс продукта, ограничения, налагаемые на ресурсы.
Проектирование отвечает на вопрос «Как система будет удовлетворять предъявленным к ней требованиям?».
Результатом этого этапа должен стать проект системы, содержащий достаточно информации для реализации системы на его основе в рамках бюджета выделенных ресурсов и времени.
Бурным развитием CASE-системы обязаны тому, что изначально они ориентированны на применение именно в начале жизненного цикла.
В своем развитии CASE-средства прошли два основных этапа.
На первом этапе CASE-технология, предназначенная для системных аналитиков и проектировщиков, не ориентированная на поддержку полного жизненного цикла. Она включает средства поддержки графических моделей, проектирования спецификаций, словарей данных.
CASE на втором этапе — отличается более развитыми возможностями и исчерпывающим подходом к жизненному циклу. Прежде всего, необходимо указать поддержку автоматической кодогенерации на различных языках третьего и четвертого поколений, обеспечивающая построение скелета продукта, доступного к ручной корректировке и дополнению. Также обеспечивается функциональная поддержка графических требований, спецификаций проектирования, информации по управлению проектом, анализа и связывания системной информации. Обеспечиваются средства тестирования, верификации, анализа сгенерированных программ и генерации документов по проекту.
При использовании CASE-систем изменяется распределение трудозатрат по фазам ЖЦ (ниже приведена таблица сравнения трудозатрат)
Таблица 1.
Анализ |
Проектирование |
Кодирование |
Тестирование |
|
Традиционная разработка |
20% |
15% |
20% |
45% |
Структурная методология |
30% |
30% |
15% |
25% |
CASE |
40% |
40% |
5% |
15% |
Итак, при разработке с использованием CASE-систем основной объем работы распределен на начальные этапы ЖЦ, на которых важен творческий фактор. Использование CASE сводит к минимуму рутинную работу на этапе кодирования и значительно уменьшает время тестирования продукта — «Фактически CASE представляют собой новый тип графически ориентированных инструментов, восходящих к системе поддержки ЖЦ ПО».
2. История развития Case-технологий
Тенденции развития современных информационных технологий приводят к постоянному возрастанию сложности информационных систем (ИС).
Современные крупные проекты ИС характеризуются, как правило, следующими особенностями:
- сложность описания (достаточно большое количество функций, процессов, элементов данных и сложные взаимосвязи между ними), требующая тщательного моделирования и анализа данных и процессов;
- наличие совокупности тесно взаимодействующих компонентов (подсистем), имеющих свои локальные задачи и цели функционирования (например, традиционных приложений, связанных с обработкой транзакций и решением регламентных задач, и приложений аналитической обработки (поддержки принятия решений), использующих нерегламентированные запросы к данным большого объема);
- отсутствие прямых аналогов, ограничивающее возможность использования каких-либо типовых проектных решений и прикладных систем;
- необходимость интеграции существующих и вновь разрабатываемых приложений;
- функционирование в неоднородной среде на нескольких аппаратных платформах;
- разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и сложившимся традициям использования тех или иных инструментальных средств;
- существенная временная протяженность проекта, обусловленная, с одной стороны, ограниченными возможностями коллектива разработчиков, и, с другой стороны, масштабами организации-заказчика и различной степенью готовности отдельных ее подразделений к внедрению ИС.
Для успешной реализации проекта объект проектирования (ИС) должен быть прежде всего адекватно описан, должны быть построены полные и непротиворечивые функциональные и информационные модели ИС. Накопленный к настоящему времени опыт проектирования ИС показывает, что это логически сложная, трудоемкая и длительная по времени работа, требующая высокой квалификации участвующих в ней специалистов. Однако до недавнего времени проектирование ИС выполнялось в основном на интуитивном уровне с применением неформализованных методов, основанных на искусстве, практическом опыте, экспертных оценках и дорогостоящих экспериментальных проверках качества функционирования ИС. Кроме того, в процессе создания и функционирования ИС информационные потребности пользователей могут изменяться или уточняться, что еще более усложняет разработку и сопровождение таких систем.