Лекция 2
Анализ требований является первой фазой разработки ИС, на которой требования заказчика уточняются, формализуются и документируются. Фактически на этом этапе дается ответ на вопрос: «Что должна делать будущая система?». Именно здесь лежит ключ к успеху всего проекта. В практике создания больших систем известно немало примеров неудачной реализации проекта именно из-за неполноты и нечеткости определения системных требований.
Список требований к АСУП должен включать:
• совокупность условий, при которых предполагается эксплуатировать будущую систему (аппаратные и программные ресурсы, предоставляемые системе; внешние условия ее функционирования; состав людей и работ, имеющих к ней отношение);
• описание выполняемых системой функций;
• ограничения в процессе разработки (директивные сроки завершения отдельных этапов, имеющиеся ресурсы, организационные процедуры и мероприятия, обеспечивающие защиту информации).
Целью анализа является преобразование общих, неясных знаний о требованиях к будущей системе в точные (по возможности) определения. Результатом этапа должна являться модель требований к системе (по другому — системный проект), определяющая:
• архитектуру системы, ее функции, внешние условия, распределение функций между аппаратной и программной частями (ПЧ);
• интерфейсы и распределение функций между человеком и системой;
• требования к программным и информационным компонентам ПЧ, необходимые аппаратные ресурсы, требования к базе данных, физические характеристики компонент ПЧ, их интерфейсы. Модель требований должна включать:
• полную функциональную модель требований к будущей системе с глубиной проработки до уровня каждой операции каждого должностного лица;
• спецификации операций нижнего уровня;
• пакет отчетов и документов по функциональной модели, включающий характеристику объекта моделирования, перечень подсистем, требования к способам и средствам связи для информационного обмена между компонентами, требования к характеристикам взаимосвязей системы со смежными системами, требования к функциям системы;
• концептуальную информационную модель требований;
• пакет отчетов и документов по информационной модели;
• архитектуру системы с привязкой к концептуальной информационной модели;
• предложения по оргштатной структуре для поддержки системы.
Таким образом, модель требований содержит функциональную, информационную и, возможно, событийную (в случае если целевая система является системой реального времени) модели, обеспечивающие ряд преимуществ по сравнению с традиционной моделью:
1. Для традиционной разработки характерно осуществление начальных этапов кустарными неформализованными способами. В результате заказчики и пользователи впервые могут увидеть систему после того, как она уже в большей степени реализована. Естественно, эта система будет отличаться от того, что они ожидали увидеть. Поэтому далее последует еще несколько итераций ее разработки или модификации, что требует дополнительных (и значительных) затрат денег и времени. Ключ к решению этой проблемы и дает модель требований, позволяющая:
• описать, «увидеть» и скорректировать будущую систему до того,
как она будет реализована физически;
• уменьшить затраты на разработку и внедрение системы;
• оценить разработку по времени и результатам;
• достичь взаимопонимания между всеми участниками работы (заказчиками, пользователями, разработчиками, программистами и т. д.);
• улучшить качество разрабатываемой системы, а именно выполнить ее функциональную декомпозицию и спроектировать оптимальную структуру интегрированной базы данных.
2. Модель требований полностью независима и отделяема от конкретных разработчиков, не требует сопровождения ее создателями и может быть безболезненно передана другим лицам. Более того, если по каким-либо причинам предприятие не готово к реализации системы на основе модели требований, она может быть положена «на полку» до тех пор, пока в ней не возникнет необходимость.
3. Модель требований может быть использована для самостоятельной разработки или корректировки уже реализованных на ее основе программных средств силами программистов отдела автоматизации предприятия.
4. Модель требований может использоваться для автоматизированного и быстрого обучения новых работников конкретному направлению деятельности предприятия, поскольку ее технология содержится в модели.
Этап анализа требований является важнейшим среди всех этапов ЖЦ. Он оказывает существенное влияние на все последующие этапы, являясь в то же время наименее изученным и понятным процессом. На этом этапе, во-первых, необходимо понять, что предполагается сделать, а во-вторых, задокументировать это, так как если требования не зафиксированы и не сделаны доступными для участников проекта, то они вроде бы и не существуют. При этом язык, на котором формулируются требования, должен быть достаточно прост и понятен заказчику.
Разработка технического задания
После построения модели, содержащей требования к будущей системе, на ее основе осуществляется разработка Технического задания на создание системы, включающего в себя:
• требования к автоматизированным рабочим местам, их составу и структуре, а также способам и схемам информационного взаимодействия между ними;
• разработку требований к техническим средствам;
• разработку требований к программным средствам;
• разработку топологии, состава и структуры локальной вычислительной сети;
• требования к этапам и срокам выполнения работ.
Рассмотрим основные виды работ, которые необходимо выполнить, прежде чем приступить к проектированию (созданию проекта на разработку или адаптацию).
1) Обозначение границ реализации. Практически любая система может быть разбита на части, отражающие четыре основных типа реализации систем: ручную, пакетную, диалоговую, реального времени. Из этих четырех типов первый реализуется людьми, остальные три являются автоматическими реализациями системы. Рассмотрим критерии, с помощью которых устанавливаются наиболее приемлемые типы реализации требований для частей модели.
Ручная реализация имеет три основных преимущества перед автоматической. Во-первых, не требуется заранее точно определять процессы. По крайней мере, они могут определяться не так тщательно, как при автоматической реализации: люди хорошо знают как заполнить пробелы в спецификации. Во-вторых, ручная система может откликаться на неожидаемые запросы, а не только на заранее планируемые. Например, ручная система бронирования авиабилетов может ответить на запрос о возможности парковки автомобиля около аэропорта. В-третьих, система может быть реализована в окружении, где автоматизация невозможна по ряду причин, например психологических: хотя процесс предоставления ссуды и возможно полностью автоматизировать, люди не могут примириться с тем, что их прошения беспристрастно отклонены машиной. Безусловно, ручные системы имеют и массу недостатков. В отличие от машин люди болеют, увольняются, требуют повышения зарплаты. Однако наиболее важно, что размер и сложность ручной системы будут возрастать с увеличением числа запросов, поскольку человек может обрабатывать меньше данных, чем машина.
После определения границ ручной реализации необходимо решить, какая часть системы должна быть пакетной, а какая диалоговой. Для большинства современных предприятий вся АСУП должна быть диалоговой, если только не доказано противное. Соответствующее заключение может быть сделано на основе собранных статистических данных, например скорости поступления запросов и частоты изменения данных. В качестве примеров причин для пакетной реализации можно привести следующие:
• некоторые запросы требуют длительной работы со срезом базы данных ;за определенный период (годовой отчет, пересылка накопленной информации и т.п.);
• некоторые отклики (например, отчеты о продажах) содержат большое количество статичных данных, актуальность которых не изменяется в течение дней или даже недель. Следующий шаг — выделение частей, реализуемых как подсистемы реального времени. Существует два принципиальных отличия системы реального времени от просто диалоговой системы. Первое из них связано с концептуальным уровнем: в системе реального времени время поступления события в систему само по себе несет определенную информацию, которая не может быть закодирована. Второе связано с уровнем реализации: время отклика системы реального времени является критичным и сопоставимым со скоростью выполнения технологических операций. В целом рекомендуется реализовать как подсистемы реального времени те части АСУП, из которых должен быть исключен человек, т.е. те части, в которых приоритетны следующие факторы: скорость (например, противоракетная оборона), опасность (контроль радиоактивности), утомляемость (работа авиадиспетчера).
2) Выбор подходящих технических средств. Разработав модель требований и определив границы реализации, можно начинать выбор аппаратной платформы, на которой будет функционировать система (или, по крайней мере, сужать область для такого выбора).
На основании выявленных требований разрабатывается тех
ническое задание (ТЗ) на КИУС и, по необходимости, частные
ТЗ на ее компоненты (подсистемы). ТЗ создается на основе
i ГОСТ 34.602—89. Техническое задание на создание автоматизи-
рованной системы и включает в себя следующие основные разделы:
• общие сведения;
• назначение и цели создания системы;
• характеристика объекта автоматизации;
• требования к системе;
• состав и содержание работ по созданию системы;
• порядок контроля и приемки системы;
• требования по подготовке и вводу в действие;
• требования к документированию;
• источники разработки;
• глоссарий.
Раздел Общие сведения содержит справочную информацию, включая полное наименование системы, условное обозначение системы, шифр (номер) договора, названия предприятий разработчика и заказчика (пользователя) системы и их реквизиты, перечень документов, на основании которых создается система, плановые сроки начала и окончания работы по созданию системы, сведения об источниках и порядке финансирования работ.
В разделе Характеристика объекта автоматизации приводятся общие сведения о предприятии согласно его уставу, перечень основных видов деятельности и бизнес-процессов, перечень бизнес-процессов, подлежащих автоматизации в рамках КИУС, характеристики видов обеспечения - организационного (организационные документы, организационная структура, нормативное обеспечение, квалификация персонала), методического, программного (в сфере управления, в сфере производства,
общесистемное), технического, лингвистического, математического, правового и информационного.
Раздел Требования к системе включает следующие три подраздела: требования к системе в целом, требования к функциям, требования к видам обеспечения. В подразделе Требования к системе в целом содержатся:
• перечень компонентов (подсистем), их назначение и основные характеристики, требования к структуре системы;
• требования к интеграции компонентов (включая требования к способам и средствам связи для информационного обмена между компонентами системы и требования к функциональной интеграции в рамках бизнес-процессов);
• требования к характеристикам взаимосвязей создаваемой системы со смежными системами, требования к ее совместимости, способы информационного обмена;
• требования к режимам функционирования системы;
• требования к диагностированию системы;
• требования к численности и квалификации персонала системы и режиму его работы (включая обслуживающий персонал, пользователей и, по необходимости, частные требования по отдельным подсистемам);
• требования к надежности и сохранности информации (технических средств, базового системного программного обеспечения, специализированного функционального программного обеспечения, средств защиты информации, средств резервного копирования информации и носителей резервных копий и т. п., включая требования к парированию отказов и восстановлению после аварийных ситуаций);
• требования к безопасности и защите информации (включая перечень угроз информационной безопасности, требования к архитектуре и функциям обеспечения защиты информации, требования к организационному обеспечению защиты);
• требования к стандартизации и унификации.
Г. Н. Калянов. Консалтинг
Глава 5. Создание КИУС
Подраздел Требования к функциям содержит требования к компонентам (подсистемам) системы в случае общего ТЗ или детальные функциональные требования в случае частного ТЗ на конкретную подсистему. Подраздел Требования к видам обеспечения включает детальное описание требований к математическому, информационному, лингвистическому, программному, техническому и организационному обеспечению.
Раздел Порядок контроля и приемки системы определяет виды, состав, объем и методы испытаний системы (предварительные испытания, опытная эксплуатация, приемочные испытания), требования к оформлению соответствующей документации (программы и методики испытаний, протокола предварительных испытаний, акта приемки в опытную эксплуатацию, журнала опытной эксплуатации, протокола приемочных испытаний, акта о приемке системы в промышленную эксплуатацию и др.), требования к организации приемки типовых компонентов системы.
Раздел Требования по подготовке и вводу в действие описывает требования к организации работ по внедрению системы на предприятии, осуществляемые в связи с этим изменения в организационно-штатной структуре (прежде всего по развитию ИТ-службы), нормативно-методическом обеспечении (регламенты подразделений, должностные инструкции сотрудников), персонале (комплектование и обучение), а также требования по внедрению типовых компонентов системы.
Раздел Требования к документированию содержит состав комплекта документации и структуру документов по системе. По типовым компонентам, используемым в системе, предоставляется документация, входящая в комплект поставки. Эксплуатационная документация по разрабатываемым компонентам представляется в соответствии с требованиями ГОСТ 34.201-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем,
а также РД 50-34.698-90. Методические указания. Информационная технология. Требования к содержанию документов. Возможный перечень этих документов приведен ниже.
• Частное техническое задание - в соответствии с ГОСТ 34.602-89.
• Описание информационного обеспечения - в соответствии с РД 50-34.698-90, п. 5.3. (при необходимости).
• Описание программного обеспечения - в соответствии с РД 50-34.698-90, п. 6.1.
• Инструкция по обозначениям и кодированию (при необходимости).
• Альбом выходных форм.
• Руководство администратора подсистемы.
• Руководство пользователя - в соответствии с РД 50-34.698-90, п. 3.4.
• Программа и методика испытаний - в соответствии с РД 50-34.698-90, п. 2.14.
В перечень проектной документации также должны входить следующие документы, отражающие ход работ по проекту и обеспечивающие качество их выполнения:
• План разработки (детализированный календарный план работ, содержащий виды работ, даты начала и завершения работ, отметки о выполнении работ);
• План управления конфигурацией, содержащий описание следующих процессов управления проектной документацией: порядка разработки и хранения, порядка внесения изменений, ведения версионности, рассылки, порядка внутреннего согласования;
• План качества проекта, определяющий перечень и порядок проведения мероприятий, направленных на обеспечение качества (внутренние аудиты, тестирование, анализ результатов).