CASE. Структурный системный анализ.
ГЛАВА 8. ИСПОЛЬЗОВАНИЕ СРЕДСТВ
------------------------------
В данной главе рассматривается, как исследованные в главах 2-7
средства и техники структурного системного анализа могут быть использованы
на ранних этапах разработки систем, т.е. будет намечена методология
разработки - общий подход к разработке систем, основанный на структурном
анализе и проектировании.
Начальным этапом разработки является предварительное изучение задачи.
Предварительное изучение должно ответить на ряд вопросов:
¦ В чем недостатки существующей ситуации?
¦ Какие улучшения возможны?
¦ На кого окажет влияние новая система?
На данном этапе целесообразно построить обзорную диаграмму потоков
данных для существующей ситуации с целью ее использования для подгонки
всех фрагментов друг к другу и выявления недостатков.
Предварительное изучение может потребовать от двух дней до четырех
недель. К его окончанию аналитик должен разумно оценить преимущества
внедрения новой системы, а также обосновать временные затраты и стоимость
следующего этапа разработки - детального изучения.
Результаты предварительного изучения рассматриваются руководством
соответствующего уровня, на их основе может быть санкционирована
возможность детального изучения. Детальное изучение строится на фактах,
выявленных во время предварительного изучения, и предполагает более
детальное и точное документирование ограничений существующей системы, а
также уточнение функций этой системы до уровня, необходимого для написания
спецификаций новой (модернизированной) системы.
Главным результатом данного этапа является построение логической
модели (модели требований) системы, включающей:
¦ общую диаграмму потоков данных (включая сопряженные системы);
¦ детализированные диаграммы потоков данных для каждого важного
процесса;
¦ логические спецификации каждого из основных процессов на
соответствующем уровне детализации;
¦ определения данных на соответствующем уровне детализации.
При презентации логической модели аналитик должен быть готов услышать
больше критических замечаний, чем при использовании традиционных подходов,
т.к. диаграммы легче понять и обнаружить какие-либо несоответствия и
ошибки. В результате презентации принимается решение о продолжении
разработки или ее прекращении, а также устанавливается сумма бюджета
проекта. Поэтому аналитик должен создать несколько альтернативных моделей
систем, имеющих разный набор преимуществ и предполагающих различные
капиталовложения.
После выбора логической модели осуществляется ее преобразование в
физическую модель (модель реализации), включающее следующие действия:
¦ уточнение логической модели (разработка подробной логики каждого
процесса с использованием диаграмм потоков данных и спецификаций
процессов);
¦ проектирование физической базы данных;
¦ построение иерархии функций модулей, подлежащих программированию;
¦ оценка затрат на реализацию.
На этапе реализации системы аналитик должен действовать в интересах
заказчика - контролировать соответствие создаваемой программной системы
логической и физической моделям, а также участвовать в работах по ее
расширению и модификации, т.к. планирование расширений должно
осуществляться на основе логической модели.
Ниже перечислены основные виды и последовательность работ,
рекомендуемые при построении как логической, так и физической моделей.
1. Проведение функционального и информационного обследования целевой
деятельности:
¦ определение оргштатной и топологической структур организации;
¦ определение перечня целевых задач (функций) организации;
¦ анализ распределения функций по подразделениям и сотрудникам;
¦ формирование альбома форм входных и выходных документов,
используемых организацией.
2. Разработка структурной функциональной модели деятельности
организации:
¦ определение информационных потоков между основными процессами
деятельности, связей между процессами и внешними объектами;
¦ оценка объемов и интенсивности информационных потоков;
¦ разработка иерархии диаграмм потоков данных, образующих
структурную функциональную модель деятельности организации;
¦ анализ и оптимизация структурной функциональной модели.
3. Разработка информационной модели организации:
¦ определение сущностей модели и их атрибутов;
¦ проведение атрибутного анализа и оптимизация сущностей;
¦ идентификация отношений между сущностями и определение типов
отношений;
¦ разрешение неспецифических отношений;
¦ анализ и оптимизация информационной модели.
4. Разработка событийной модели организации:
¦ идентификация перечня состояний модели и определение
возможностей переходов между состояниями;
¦ определение условий, активирующих переходы, и действий, влияющих
на дальнейшее поведение;
¦ анализ и оптимизация событийной модели.
5. Разработка предложений по автоматизации организации:
¦ составление перечня автоматизированных рабочих мест организации
и способов взаимодействия между ними;
¦ разработка требований к техническим средствам;
¦ разработка требований к программным средствам;
¦ разработка предложений по средствам взаимодействия
подразделений;
¦ разработка предложений по этапам и срокам автоматизации.
Таким образом, фактически строится два типа моделей:
¦ модель деятельности, представляющая собой "снимок" положения дел в
организации (оргштатная структура, взаимодействия подразделений,
принятые технологии, автоматизированные и неавтоматизированные
бизнес-процессы и т.д.) на момент обследования и позволяющая
понять, что делает и как функционирует организация с позиций
системного анализа, а также на основе автоматической верификации
выявить ряд ошибок и узких мест и сформулировать ряд предложений по
улучшению ситуации;
¦ модель автоматизации, интегрирующая перспективные предложения
руководства и сотрудников организации экспертов и системных
аналитиков и позволяющая сформировать видение новой
(автоматизированной) системы, а именно, что вновь создаваемая
система будет делать и как (каким образом) она будет
функционировать.
Построенная модель является не просто реализацией начальных этапов
разработки системы и техническим заданием на последующие этапы. Она
представляет собой самостоятельный отделяемый результат, имеющий большое
практическое значение.
Для традиционной разработки характерно осуществление начальных этапов
кустарными неформализованными способами. В результате заказчики и
пользователи впервые могут увидеть систему после того, как она уже в
большей степени реализована. Естественно, эта система отличается от того,
что они ожидали увидеть. Поэтому далее следует еще несколько итераций ее
разработки или модификации, что требует дополнительных (и значительных)
затрат денег и времени. Ключ к решению этой проблемы и дает модель,
позволяющая:
¦ описать, "увидеть" и скорректировать будущую систему до того, как
она будет реализована физически;
¦ уменьшить затраты на разработку и внедрение системы;
¦ оценить разработку по времени и результатам;
¦ достичь взаимопонимания между всеми участниками работы
(заказчиками, пользователями, разработчиками, программистами и
т.д.).
¦ улучшить качество разрабатываемой системы, а именно: создать
оптимальную структуру интегрированной БД, выполнить функциональную
декомпозицию типовых модулей.
Построенная модель является сама по себе хорошим результатом и по
следующим причинам:
1. Она включает в себя модель существующей неавтоматизированной
технологии, принятой в организации. Формальный анализ этой модели
позволит выявить узкие места в технологии и предложить
рекомендации по ее улучшению (независимо от того, предполагается
разработка автоматизированной системы или нет).
2. Она полностью независима и отделяема от конкретных разработчиков,
не требует сопровождения ее создателями и может быть безболезненно
передана другим лицам. Более того, если по каким-либо причинам
организация не готова к реализации проекта на ее основе, она может
быть положена "на полку" до тех пор, пока в ней не возникнет
необходимость.
3. Она позволяет осуществлять автоматизированное и быстрое обучение
новых работников конкретному направлению деятельности организации
(так как ее технология содержится в модели) с использованием
диаграмм (известно, что "одна картинка стоит тысячи слов");
4. С ее помощью можно осуществлять предварительное моделирование
нового направления деятельности с целью выявления новых потоков
данных, взаимодействующих подсистем и бизнес-процессов;
5. Ее можно использовать для самостоятельной разработки или
корректировки уже реализованных на ее основе программных средств
силами программистов отдела автоматизации организации.
|