Модель жизненного цикла АИС— это структура, описывающая процессы, действия и задачи, которые осуществляются и ходе разработки, функционирования и сопровождения в течение всего жизненного цикла системы.
Выбор модели жизненного цикла зависит от специфики, масштаба, сложности проекта и набора условий, в которых АИС создается и функционирует.
Модель ЖЦ АИС включает:
• стадии;
• результаты выполнения работ на каждой стадии;
• ключевые события или точки завершения работ и принятия решений.
В соответствии с известными моделями ЖЦ ПО определяют модели ЖЦ АИС — каскадную, итерационную, спиральную.
I. Каскадная модельописывает классический подход к разработке систем в любых предметных областях; широко использовалась в 1970—80-х гг.
Каскадная модель предусматривает последовательную организацию работ, причем основной особенностью модели является разбиение всей работы на этапы. Переход от предыдущего этапа к последующему происходит только после полного завершениявсех работ предыдущего.
Выделяют пять устойчивых этапов разработки, практически не зависящих от предметной области (рис. 1.1).
На первом этапе проводится исследование проблемной области, формулируются требования заказчика. Результатом данного этапа является техническое задание (задание на разработку), согласованное со всеми заинтересованными сторонами.
В ходе второго этапа, согласно требованиям технического задания, разрабатываются те или иные проектные решения. В результате появляется комплект проектной документации.
Третий этап — реализация проекта; по существу, разработка программного обеспечения (кодирование) в соответствии с проектными решениями предыдущего этапа. Методы реализации при этом принципиального значения не имеют. Результатом выполнения этапа является готовый программный продукт.
На четвертомэтапе проводится проверка полученного программного обеспечения на предмет соответствия требованиям, заявленным в техническом задании. Опытная эксплуатация позволяет выявить различного рода скрытые недостатки, проявляющиеся в реальных условиях работы АИС.
Последний этап — сдача готового проекта, и главное здесь — убедить заказчика в том, что все его требования выполнены в полной мере.
Рис.1.1 Каскадная модель ЖЦ АИС
Этапы работ в рамках каскадной модели часто называют частями проектного цикла АИС, поскольку этапы состоят из многих итерационных процедур уточнения требований к системе и вариантов проектных решений. ЖЦ АИС существенно сложнее и длиннее: он может включать в себя произвольное число циклов уточнения, изменения и дополнения уже принятых и реализованных проектных решений. В этих циклах происходит развитие АИС и модернизация отдельных ее компонентов.
Преимущества каскадной модели:
1) на каждом этапе формируется законченный набор проект ной документации, отвечающий критериям полноты и согласованности. На заключительных этапах разрабатывается пользовательская документация, охватывающая все предусмотренные стандартами виды обеспечения АИС (организационное, информационное, программное, техническое и т. д.);
2) последовательное выполнение этапов работ позволяет планировать сроки завершения и соответствующие затраты.
Каскадная модель изначально разрабатывалась для решения различного рода инженерных задач и не потеряла своего значение для прикладной области до настоящего времени. Кроме того, каскадный подход идеально подходит для разработки АИС, как уже в самом начале разработки можно достаточно точно полно сформулировать все требования с тем, чтобы предоставить разработчикам свободу технической реализации. К таким АИС, в частности, относятся сложные расчетные системы и системы реального времени.
Недостатки каскадной модели:
• существенная задержка в получении результатов;
• ошибки и недоработки на любом из этапов проявляются, как правило, на последующих этапах работ, что приводит к необходимости возврата;
• сложность параллельного ведения работ по проекту;
• чрезмерная информационная перенасыщенность каждого из этапов;
• сложность управления проектом;
•высокий уровень риска и ненадежность инвестиций.
Задержка в получении результатов проявляется в том, что последовательном подходе к разработке согласование результатов с заинтересованными сторонами производится только е завершения очередного этапа работ. В результате может оказаться, что разрабатываемая АИС не соответствует требованиям, и такие несоответствия могут возникать на любом этапе разработки; кроме того, ошибки могут непреднамеренно вноситься и проектировщиками-аналитиками, и программистами, так как они не обязаны хорошо разбираться в тех предметных областях, для которых разрабатывается АИС.
Возврат на более ранние стадии. Этот недостаток является из проявлений предыдущего: поэтапная последовательная работа над проектом может привести к тому, что ошибки, допущенные на более ранних этапах, обнаруживаются только на последующих стадиях. В результате проект возвращается на предыдущий этап, перерабатывается и только затем передается в последующую работу. Это может послужить причиной срыва графика и усложнения взаимоотношений между группами разработчиков, выполняющих отдельные этапы.
Самый плохой вариант, когда недоработки предыдущего этапа обнаруживаются не на следующем этапе, а позднее. Например, на стадии опытной эксплуатации могут проявиться ошибки в описании предметной области. Это означает, что часть проекта должна быть возвращена на начальный этап работы.
Сложность параллельного ведения работ связана с необходимостью согласования различных частей проекта Чем сильнее взаимосвязь отдельных частей проекта, тем чаще и тщательнее должна выполняться синхронизация, тем сильнее зависят друг от друга группы разработчиков. В результате преимущества параллельного проведения работ просто теряются; отсутствие параллелизма негативно сказывается и на организации работы всего коллектива.
Проблема информационной перенасыщенности возникает вследствие сильной зависимости между различными группами разработчиков. Дело в том, что при внесении изменений в одну из частей проекта, необходимо оповещать тех разработчиков, которые использовали (могли использовать) ее в своей работе. При наличии большого числа взаимосвязанных подсистем синхронизация внутренней документации становится отдельной важнейшей задачей: разработчики должны постоянно знакомятся с изменениями и оценивать, как скажутся эти изменения на полученных результатах.
Сложность управления проектом в основном обусловлена строгой последовательностью стадий разработки и наличием сложных взаимосвязей между различными частями проекта. Регламентированная последовательность работ приводит к тому, что одни группы разработчиков должны ожидать результатов работы других команд, поэтому требуется административное вмешательство для согласования сроков и состава передаваемой документации.
В случае же обнаружения ошибок в работе необходим возврат к предыдущим этапам; текущая работа тех, кто ошибся, прерывается. Следствием этого обычно является срыв сроков выполнения как исправляемого, так и нового проектов.
Упростить взаимодействие между разработчиками и уменьшить информационную перенасыщенность документации можно, сокращая количество связей между отдельными частями проекта, но далеко не каждую АИС можно разделить на слабо связанные подсистемы.
Высокий уровень риска. Чем сложнее проект, тем дольше длится каждый этап разработки и тем сложнее взаимосвязи между отдельными частями проекта, количество которых также увеличивается. Причем результаты разработки можно реально увидеть и оценить лишь на этапе тестирования, т. е. после завершения анализа, проектирования и разработки — этапов, выполнение которых требует значительного времени и средств.
Запоздалая оценка порождает серьезные проблемы при выявлении ошибок анализа и проектирования — требуется возврат на предыдущие стадии и повторение процесса разработки. Однако возврат на предыдущие стадии может быть связан не только с ошибками, но и с изменениями, произошедшими в предметной области или в требованиях заказчика за время разработки. При этом никто не гарантирует, что предметная область снова не изменится к тому моменту, когда будет готова следующая версия проекта. Фактически это означает, что существует вероятность «зацикливания» процесса разработки: расходы на проект будут постоянно расти, а сроки сдачи готового продукта постоянно откладываться.
II. Итерационная модель заключается в серии коротких циклов (шагов) по планированию, реализации, изучению, действию.
Создание сложных АИС предполагает проведение согласований проектных решений, полученных при реализации отдельных задач. Подход к проектированию «снизу — вверх» обусловливает необходимость таких итераций возвратов, когда проектные решения по отдельным задачам объединяются в общие системные. При этом возникает потребность в пересмотре ранее сформировавшихся требований.
Преимущество итерационной модели в том, что межэтапные корректировки обеспечивают меньшую трудоемкость разработки по сравнению с каскадной моделью.
Недостатки итерационной модели:
· время жизни каждого этапа растягивается на весь период работки;
· вследствие большого числа итераций возникают рассогласования выполнения проектных решений и документации;
· запутанность архитектуры;
· трудности использования проектной документации на стадиях внедрения и эксплуатации вызывают необходимость перепроектирования всей системы.
III. Спиральная модель, в отличие от каскадной, но аналогично предыдущей предполагает итерационный процесс разработки АИС. При этом возрастает значение начальных этапов, таких как анализ и проектирование, на которых проверяется и обосновывается реализуемость технических решений путем создания прототипов.
Каждая итерация представляет собой законченный цикл разработки, приводящий к выпуску внутренней или внешней версии изделия (или подмножества конечного продукта), которое совершенствуется от итерации к итерации, чтобы стать законченной системой (рис. 1.2).
Рис. 1.2. Спиральная модель ЖЦ АИС
Таким образом, каждый виток спирали соответствует созданию фрагмента или версии программного изделия, на нем уточняются цели и характеристики проекта, определяется его качество, планируются работы на следующем витке спирали. Каждая итерация служит для углубления и последовательной конкретизации деталей проекта, в результате этого выбирается обоснованный вариант окончательной реализации.
Использование спиральной модели позволяет осуществлять переход на следующий этап выполнения проекта, не дожидаясь полного завершения текущего, — недоделанную работу можно будет выполнить на следующей итерации. Главная задача каждой итерации — как можно быстрее создать работоспособный продукт для демонстрации пользователям. Таким образом, существенно упрощается процесс внесения уточнений и дополнений проект.
Спиральный подход к разработке программного обеспечения позволяет преодолеть большинство недостатков каскадной модели, кроме того, обеспечивает ряд дополнительных возможностей, делая процесс разработки более гибким.
Преимущества итерационного подхода:
• итерационная разработка существенно упрощает внесение изменений в проект при изменении требований заказчика;
• при использовании спиральной модели отдельные элементы АИС интегрируются в единое целое постепенно. Поскольку интеграция начинается с меньшего количества элементов, то возникает гораздо меньше проблем при ее проведении;
• снижение уровня рисков (следствие предыдущего преимущества, так как риски обнаруживаются именно во время интеграции). Уровень рисков максимален в начале разработки проекта, по мере продвижения разработки он снижается;
• итерационная разработка обеспечивает большую гибкость в управлении проектом, давая возможность внесения тактических изменений в разрабатываемое изделие. Так, можно сократить сроки разработки за счет снижения функциональности системы или использовать в качестве составных частей продукцию сторонних фирм вместо собственных разработок (актуально при рыночной экономике, когда необходимо противостоять продвижению изделия конкурентов);
• итерационный подход упрощает повторное использование компонентов, поскольку гораздо проще выявить (идентифицировать) общие части проекта, когда они уже частично разработаны, чем пытаться выделить их в самом начале проекта. Анализ проекта после нескольких начальных итераций позволяет выявить общие многократно используемые компоненты, которые на последующих итерациях будут совершенствоваться;
• спиральная модель позволяет получить более надежную и устойчивую систему. Это связано с тем, что по мере развития системы ошибки и слабые места обнаруживаются и исправляются на каждой итерации. Одновременно корректируются критические параметры эффективности, что в случае каскадной модели доступно только перед внедрением системы;
• итерационный подход позволяет совершенствовать процесс разработки — в результате анализа в конце каждой итерации проводится оценка изменений в организации разработки; на следующей итерации она улучшается.
Основная проблема спирального цикла — трудность определения момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Иначе процесс разработки может превратиться в бесконечное совершенствование уже сделанного.
Вовлечение пользователей в процесс проектирования и копирования приложения позволяет получать замечания и дополнения к требованиям непосредственно в процессе проектирования приложения, сокращая время разработки. Представители заказчика получают возможность контролировать процесс создания системы и влиять на ее функциональное наполнение. Результатом является сдача в эксплуатацию системы, учитывающей большинство потребностей заказчиков.
Современные методологии и реализующие их технологии проектирования АИС поставляются в электронном виде вместе с CASE-средствами и включают библиотеки процессов, шаблонов, методов, моделей и других компонентов предназначенных для построения ПО того класса систем, на который ориентирована методология. Электронные методологии и технологии составляют ядро комплекса согласованных инструментальных средств разработки АИС. Особенности современных методологических решений проектирования АИС невозможно реализовать без определенных технологий проектирования, соответствующих масштабу и специфике проекта.
Технология проектирования АИС — это совокупность методов и средств проектирования АИС, а также методов и средств организации проектирования (управление процессом создания и модернизации проекта АИС).
Согласно ТП проектирования АИС представляет собой совокупность последовательно-параллельных, связанных и соподчиненных цепочек действий, каждое из которых может иметь свой предмет. Действия, которые выполняются при проектировании АИС, могут быть определены как неделимые технологические операции или как подпроцессы технологических операций. Все действия могут быть собственно проектировочными, которые формируют или модифицируют результаты проектирования, и оценочными, которые вырабатывают по установленным критериям оценки результатов проектирования.
Таким образом, технология проектирования задается регламентированной последовательностью технологических операций, выполняемых в процессе создания проекта на основе того или иного метода.
Предметом выбираемой технологии проектирования должно служить отражение взаимосвязанных процессов проектирования на всех стадиях жизненного цикла АИС.
Основные требования, предъявляемые к выбираемой технологии проектирования, следующие:
· созданный с помощью этой технологии проект должен отвечать требованиям заказчика;
· технология должна максимально отражать все этапы цикла жизни проекта;
· технология должна обеспечивать минимальные трудовые и стоимостные затраты на проектирование и сопровождение проекта;
· технология должна способствовать росту производительности труда проектировщиков;
· технология должна обеспечивать надежность процесса проектирования и эксплуатации проекта;
· технология должна способствовать простому ведению проектной документации.
Технология проектирования АИС реализует определенную методологию проектирования. В свою очередь, методология проектирования предполагает наличие некоторой концепции, принципов проектирования и реализуется набором методов и средств.
Методы проектирования АИС можно классифицировать по степени использования средств автоматизации, типовых проектах решений, адаптивности к предполагаемым изменениям.
По степени автоматизации различают:
ручное проектирование, при котором проектирование компонентов АИС осуществляется без использования специальных инструментальных программных средств; программирование производится на алгоритмических языках;
компьютерное проектирование, при котором генерация или конфигурация (настройка) проектных решений производится с использованием специальных инструментальных программных средств.
По степени использования типовых проектных решений различают:
оригинальное (индивидуальное) проектирование, когда проектные решения разрабатываются «с нуля» в соответствии с требованиями к АИС;
Оригинальное проектирование АИС предполагает максимальный учет особенностей автоматизированного объекта.
Типовое проектирование выполняется на основе готовых решений и является обобщением опыта, полученного ранее при создании родственных проектов.
По степени адаптивности проектных решений различаются следующие методы:
реконструкция — адаптация проектных решений выполняется путем переработки соответствующих компонентов (перепрограммирования программных модулей);
параметризация — проектные решения настраиваются в соответствии с заданными и изменяемыми параметрами;
реструктуризация модели — изменяется модель предметной области, что приводит к автоматическому переформированию проектных решений.
Сочетание различных признаков классификации методов проектирования обусловливает характер используемой технологии проектирования АИС. Выделяются два основных класса технологии проектирования: каноническая и индустриальная. Индустриальная технология проектирования в свою разбивается на два подкласса: автоматизированное (использование САSЕ-технологий) и типовое (параметрически-ориентированное или модельно-ориентированное) проектирование.
Таблица 1.1. Характеристики классов технологий проектирования
Класс технологии проектирования
Степень автоматизации
Степень типизации
Степень адаптивности
Каноническое проектирование
Ручное проектирова-. ние
Оригинальное проектирование
Реконструкция
Индустриальное автоматизированное проектирование
Компьютерное проектирование
Тоже
Реструктуризация модели
Индустриальное типовое проектирование
Тоже
Типовое сборочное проектирование
Параметризация и реструктуризация модели
Каноническое проектирование АИС ориентировано на использование главным образом каскадной модели жизненного цикла АИС.
В зависимости от сложности объекта автоматизации и набора задач, требующих решения при создании конкретной АИС, стадии и этапы работ могут иметь различную трудоемкость. Допускается объединять последовательные этапы и исключать некоторые из них на любой стадии проекта. Допускается также начинать выполнение работ следующей стадии до окончания предыдущей.
Стадии и этапы создания АИС, выполняемые организациями-участниками, прописываются в договорах и технических заданиях на выполнение работ.
Стадия 1. Формирование требований к АИС:
· обследование объекта и обоснование необходимости создания АИС;
· формирование требований пользователей к АИС;
· оформление отчета о выполненной работе и тактико-технического задания на разработку.
Стадия 2. Разработка концепции АИС:
· изучение объекта автоматизации;
· проведение необходимых научно-исследовательских работ;
· разработка вариантов концепции АИС, удовлетворяющих требованиям пользователей;
· оформление отчета и утверждение концепции.
Стадия 3. Техническое задание:
• разработка и утверждение технического задания на создание АИС.
Стадия 4.Эскизный проект:
· разработка предварительных проектных решений по системе и ее частям;
· разработка эскизной документации на АИС и ее части.
Стадия 5.Технический проект:
· разработка проектных решений по системе и ее частям;
· разработка документации на АИС и ее части;
· разработка и оформление документации на поставку комплектующих изделий;
· разработка заданий на проектирование в смежных частях проекта.
Стадия 6. Рабочая документация:
· разработка рабочей документации на АИС и ее части;
· разработка и адаптация программ.
Стадия 7. Ввод в действие:
· подготовка объекта автоматизации; подготовка персонала;
· выполнение работ в соответствии с гарантийными обязательствами;
· послегарантийное обслуживание.
Обследование– это изучение и анализ организационной структуры предприятия, его деятельности и существующей системы обработки информации.
Материалы, полученные в результате обследования, используются для:
• обоснования разработки и поэтапного внедрения систем;
• составления технического задания на разработку систем;
• разработки технического и рабочего проектов систем.
На этапе обследования целесообразно выделить две составляющие: определение стратегии внедрения АИС и детальный анализ деятельности организации.
Основная задача первого этапа обследования — оценка реального объема проекта, его целей и задач на основе выявленных функций и информационных элементов автоматизируемого объекта высокого уровня. Эти задачи могут быть реализованы или заказчиком АИС самостоятельно, или с привлечением консалтинговых организаций. Этап предполагает тесное взаимодействие с основными потенциальными пользователями системы и бизнес-экспертами. Основная задача взаимодействия — получить полное и однозначное понимание требований заказчика. Как правило, нужная информация может быть получена в результате интервью, бесед или семинаров с руководством, экспертами и пользователями.
По завершении стадии обследования появляется возможность определить вероятные технические подходы к созданию системы и оценить затраты на ее реализацию (на аппаратное обеспечение, на закупаемое программное обеспечение и на разработку нового программного обеспечения).
Результатом этапа определения стратегии является документ (технико-экономическое обоснование — ТЭО — проекта), где четко сформулировано, что получит заказчик, если согласится финансировать проект, когда он получит готовый продукт (график выполнения работ) и сколько это будет стоить (для крупных проектов — это график финансирования на разных этапах работ). В документе желательно отразить не только затраты, но и выгоду проекта, например время окупаемости проекта, ожидаемый экономический эффект (если его удается оценить).
Примерное содержание ТЭО:
• ограничения, риски, критические факторы, которые могут повлиять на успешность проекта;
• совокупность условий, при которых предполагается эксплуатировать будущую систему, — архитектура системы, аппаратные и программные ресурсы, условия функционирования, обслуживающий персонал и пользователи системы;
• сроки завершения отдельных этапов, форма приемки/сдачи работ, привлекаемые ресурсы, меры по защите информации;
• описание выполняемых системой функций;
• возможности развития и модернизации системы;
• интерфейсы и распределение функций между человеком и системой;
требования к ПО и системам управления базами данных (СУБД).
На этапе детального анализа деятельности организации изучаются деятельность, обеспечивающая реализацию функций управления, организационная структура, штаты и содержание работ по управлению предприятием, а также характер подчиненности вышестоящим органам управления. Здесь следует наметить инструктивно-методические и директивные материалы, на основании которых определяются состав подсистем и перечень задач, а также возможности применения новых методов решения задач.
Аналитики собирают и фиксируют информацию в двух взаимосвязанных формах:
• функции — информация о событиях и процессах, которые происходят в автоматизируемой организации;
• сущности — информация о классах объектов, имеющих значение для организации и о которых собираются данные.
При изучении каждой функциональной задачи управления определяются:
• наименование задачи; сроки и периодичность ее решения;
• степень формализуемости задачи;
• источники информации, необходимые для решения задачи;
• показатели и их количественные характеристики;
• порядок корректировки информации;
• действующие алгоритмы расчета показателей и возможные методы контроля;
• действующие средства сбора, передачи и обработки информации;
• действующие средства связи;
• принятая точность решения задачи;
• трудоемкость решения задачи;
• действующие формы представления исходных данных и результатов их обработки в виде документов;
• потребители результатной информации по задаче.
Одной из наиболее трудоемких, хотя и хорошо формализуемых, задач этого этапа является описание документооборота opганизации. При обследовании документооборота составляется схема маршрута движения документов, которая должна отразить:
• количество документов;
• место формирования показателей документов;
• взаимосвязь документов при их формировании;
• маршрут и длительность движения документа;
• место использования и хранения данного документа;
• внутренние и внешние информационные связи;
• объем документа в знаках.
По результатам обследования устанавливают перечень задач I управления, подлежащих автоматизации, и очередность их разработки.
На этапе обследования следует классифицировать планируемые функции системы по степени важности. Один из возможных форматов представления такой классификации — MuSCoW . Эта аббревиатура расшифровывается так: Must have — необходимые функции; Should have — желательные функции; Could have — I возможные функции; Won't have — отсутствующие функции.
Функции первой категории обеспечивают критичные для I успешной работы системы возможности. Реализация функций второй и третьей категорий ограничивается временными и финансовыми рамками: разрабатывается необходимое, а также максимально возможное в порядке приоритета число функций вто- 1 рой и третьей категорий. Последняя категория функций особенно важна, поскольку нужно четко представлять границы проекта I и набор функций, которые будут отсутствовать в системе.
Модели деятельности организации создаются в двух видах 1 [6, 16, 18]:
• модель «как есть» («as is») — отражает существующие в op- I ганизации бизнес-процессы;
• модель «как должно быть» («to be») — отражает необходи- ] мые изменения бизнес-процессов с учетом внедрения АИС. j
Уже на этапе анализа необходимо привлекать к работе группы тестирования для решения следующих задач:
• получения сравнительных характеристик предполагаемых к 1 использованию аппаратных платформ, операционных систем, СУБД и т. п.;
• разработки плана работ по обеспечению надежности АИС и ее тестирования.
Привлечение тестировщиков на ранних этапах разработки является целесообразным для любых проектов. Чем позже обнаружены ошибки в проектных решениях, тем дороже обходится их исправление; худший вариант — их обнаружение на этапе внедрения. Таким образом, чем раньше группы тестирования начнут выявлять ошибки в АИС, тем ниже стоимость работы над системой. Время на тестирование системы и на исправление обнаруженных ошибок должно быть предусмотрено не только на этапе разработки, но и на этапе проектирования.
Облегчить и увеличить эффективность тестирования призваны специальные системы отслеживания ошибок. Их использование позволяет иметь единое хранилище ошибок, отслеживать их повторное появление, контролировать скорость и эффективность исправления ошибок, видеть наиболее нестабильные компоненты системы, а также поддерживать связь между группой разработчиков и группой тестирования.
Результаты обследования представляют объективную основу для формирования технического задания на АИС.
Техническое задание – это документ, определяющий цели, требования и основные исходные данные, необходимые для разработки автоматизированной системы управления.
При разработке технического задания (ТЗ) необходимо решить следующие задачи:
· установить общую цель создания АИС;
· установить общие требования к проектируемой системе;
· разработать и обосновать требования, предъявляемые к информационному, математическому, программному, техническому и технологическому обеспечению;
· определить состав подсистем и функциональных задач;
· разработать и обосновать требования, предъявляемые к подсистемам;
· определить этапы создания системы и сроки их выполнения;
· провести предварительный расчет затрат на создание системы и определить уровень экономической эффективности внедрения;
· определить состав исполнителей.
Раздел
Содержание
Общие сведения
Полное наименование системы и ее условное обозначение. Шифр темы или шифр (номер) договора. Наименование предприятий разработчика и заказчика сист емы, их реквизиты.
Перечень документов, на основании которых создается ИС. Плановые сроки начала и окончания работ. Сведения об источниках и порядке финансирования работ. Порядок оформления и предъявления заказчику результатов работ по созданию системы, ее частей и отдельных средств
Назначение и цели создания (развития) системы
Вид автоматизируемой деятельности.
Перечень объектов, на которых предполагается использование
системы.
Наименования и требуемые значения технических, технологических, производственно-экономических и др. показателей объекта, которые должны быть достигнуты при внедрении ИС
Характеристика объектов автоматизации
Краткие сведения об объекте автоматизации. Сведения об условиях эксплуатации и характеристиках окружающей среды
Требования к системе
Требования к системе в целом:
• требования к структуре и функционированию системы (перечень подсистем, уровни иерархии, степень централизации, способы информационного обмена, режимы функционирования, взаимодействие со смежными системами, перспективы развития системы);
• требования к персоналу (численность пользователей, квалификация, режим работы, порядок подготовки);
• показатели назначения (степень приспособляемости системы к изменениям процессов управления и значений параметров)
• требования к надежности, безопасности, эргономике, транспортабельности, эксплуатации, техническому обслуживанию и ремонту, защите и сохранности информации, защите от внешних воздействий, к патентной чистоте, по стандартизации и унификации.
Требования к функциям (по подсистемам):
• перечень подлежащих автоматизации задач;
• временной регламент реализации каждой функции;
• требования к качеству реализации каждой функции, к форме представления выходной информации, характеристики точности, достоверности выдачи результатов;
• перечень и критерии отказов.
Требования к видам обеспечения:
• математическому (состав и область применения математических моделей и методов, типовых и разрабатываемых алгоритмов);
Типовые требования к составу и содержанию технического задания приведены в табл. 1.6.
Тавблица 1.6. Состав и содержание технического задания (ГОСТ 34.602-89)
• информационному (состав, структура и организация данных, обмен данными между компонентами системы, информационная совместимость со смежными системами, используемые классификаторы, СУБД, контроль данных и ведение информационных массивов, процедуры придания юридической силы выходным документам);
• лингвистическому (языки программирования, языки взаимодействия пользователей с системой, системы кодирования, языки ввода-вывода);
• программному (независимость программных средств от платформы, качество программных средств и способы его контроля, использование фондов алгоритмов и программ);
• техническому;
• метрологическому;
• организационному (структура и функции эксплуатирующих подразделений, защита от ошибочных действий персонала);
• методическому (состав нормативно-технической документации)
Состав и содержание работ по созданию системы
Перечень стадий и этапов работ. Сроки исполнения.
Состав организаций-исполнителей работ.
Вид и порядок экспертизы технической документации.
Программа обеспечения надежности.
Программа метрологического обеспечения
Порядок контроля и приемки системы
Виды, состав, объем и методы испытаний системы. Общие требования к приемке работ по стадиям. Статус приемной комиссии
Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
Преобразование входной информации к машиночитаемому виду.
Изменения в объекте автоматизации.
Сроки и порядок комплектования и обучения персонала
Требования к документированию
Перечень подлежащих разработке документов. Перечень документов на машинных носителях
Источники разработки
Документы и информационные материалы, на основании которых разрабатывается ТЗ и система
Эксклюзивный проект предусматривает разработку предварительных проектных решений по системе и ее частям. Выполнение эскизного проектирования не является строго обязательной стадией. Если основные проектные решения определены ранее или достаточно очевидны для конкретной АИС и объекта автомати зации, то эта стадия может быть исключена из общей последовательности работ.
Содержание эскизного проекта задается в ТЗ на систему. Как правило, на этапе эскизного проектирования определяются:
• функции АИС;
• функции подсистем, их цели и ожидаемый эффект от внедрения;
• состав комплексов задач и отдельных задач;
• концепция информационной базы и ее укрупненная структура;
• функции системы управления базой данных;
• состав вычислительной системы и других технических средств;
• функции и параметры основных программных средств.
По результатам проделанной работы оформляется, согласовывается и утверждается документация в объеме, необходимом для описания полной совокупности принятых проектных решений и достаточном для дальнейшего выполнения работ по созданию системы.
В соответствии с ГОСТ 19.102—77 стадия эскизного проектирования содержит два этапа: разработку эскизного проекта; утверждение эскизного проекта.
Первый этап разработки состоит из:
• предварительной разработки структуры входных и выходных данных;
• уточнения методов решения задачи;
• разработки общего описания алгоритма решения задачи;
• разработки технико-экономического обоснования;
• разработки пояснительной записки.
При этом допускается объединение и исключение некоторых работ.
Ниже приведен набор документов, который должен и может быть подготовлен по окончании эскцзного проектирования.
Обязательные документы:
1) уточненное техническое задание на проектирование и раз- работку АИС;
2) спецификация квалификационных требований на АИС;
3) комплект спецификаций требований на функциональные программные компоненты и описания данных;
4) спецификация требований на внутренние интерфейсы компонент и интерфейсы с внешней средой;
5) описание системы управления базой данных, структуры и распределения программных и информационных объектов в базе данных;
6) проект руководства по защите информации и обеспечению надежности функционирования АИС;
7) предварительный вариант руководства администратора АИС;
8) предварительный вариант руководства пользователя АИС;
9) уточненный план реализации проекта;
10)уточненный план управления обеспечением качества АИС;
11)пояснительная записка предварительного проекта АИС;
12) уточненный контракт (договор) с заказчиком на деталь- ное проектирование АИС.
Документы, оформляемые по согласованию с заказчиком:
1) предварительное описание функционирования АИС;
2) схема потоков данных между функциональными компонентами АИС;
3) уточненная схема архитектуры АИС, взаимодействия программных и информационных компонент, организации вычислительного процесса и распределения ресурсов;
4) описание показателей качества компонент и требований к ним по этапам разработки АИС;
5) отчет о технико-экономических показателях, графике реализации проекта, распределении ресурсов и бюджета;
6) таблица распределения специалистов по компонентам и по этапам работ;
7) аттестаты разработчиков на право использования технологии и средств автоматизации разработки АИС;
8) описание требований к составу и формам результирующих документов по этапам работ;
9) план отладки программных компонент, обеспечения ее методами и средствами автоматизации тестирования;
10) предварительное руководство для детального проектиро- вания, программирования и отладки компонент АИС;
11) предварительный план продажи и внедрения;
12) описание предварительной структуры базы данных.
Технический проект системы - это техническая документация, содержащая общесистемные проектные решения, алгоритмы решения задач, а также оценку экономической эффективности АИС.На этом этапе осуществляется комплекс научно-исследовательских и экспериментальных работ для выбора основных проектных решений и расчет экономической эффективности системы. Состав и содержание технического проекта приведены в табл. 1.7
Таблица 1.7.Содержание технического проекта
Раздел
Содержание
Пояснительная записка
Основания для разработки системы. Перечень организаций разработчиков. Краткая характеристика объекта с указанием основных технико-экономических показателей его функционирования и связей с другими объектами.
Краткие сведения об основных проектных решениях по функциональной и обеспечивающим частям системы
Функциональная и организационная структура системы
Обоснование выделяемых подсистем, их перечень и назначение. Перечень задач, решаемых в каждой подсистеме, с краткой характеристикой их содержания.
Схема информационных связей между подсистемами и между задачами в рамках каждой подсистемы
Постановка задач и алгоритмы решения
Организационно-экономическая сущность задачи (наименование, цель решения, краткое содержание, метод, периодичность и время решения задачи, способы сбора и передачи данных, связь задачи с другими задачами, характер использования результатов решения, в которых они используются). Экономико-математическая модель задачи (структурная и развернутая форма представления).
Входная оперативная информация (характеристика показателей, диапазон изменения, формы представления). Нормативно-справочная информация (НСИ) (содержание и формы представления).
Информация, хранимая для связи с другими задачами. Информация, накапливаемая для последующих решений данной задачи.
Информация по внесению изменений (система внесения изменений и перечень информации, подвергающейся изменениям). Алгоритм решения задачи (последовательность этапов расчета, схема, расчетные формулы).
Контрольный пример (набор заполненных данными форм входных документов, условные документы с накапливаемой и хранимой информацией, формы выходных документов, заполненные по результатам решения экономико-технической задачи и в соответствии с разработанным алгоритмом расчета)
Организация информационной базы
Источники поступления информации и способы ее передачи. Совокупность показателей, используемых в системе. Состав документов, сроки и периодичность их поступления. Основные проектные решения по организации фонда НСИ. Состав НСИ, включая перечень реквизитов, их определение, диапазон изменения и перечень документов НСИ. Перечень массивов НСИ, их объем, порядок и частота корректировки информации.
Структура фонда НСИ с описанием связи между его элементами; требования к технологии создания и ведения фонда. Методы хранения, поиска, внесения изменений и контроля. Определение объемов и потоков информации НСИ. Контрольный пример по внесению изменений в НСИ. Предложения по унификации документации
Альбом форм документов
Отсутствует
Система математического обеспечения
Обоснование структуры математического обеспечения. Обоснование выбора системы программирования. Перечень стандартных программ
Принцип построения комплекса технических средств
Описание и обоснование схемы технологического процесса обработки данных.
Обоснование и выбор структуры комплекса технических средств и его функциональных групп.
Обоснование требований к разработке нестандартного оборудования.
Комплекс мероприятий по обеспечению надежности функционирования технических средств
Расчет экономической эффективности системы
Сводная смета затрат, связанных с эксплуатацией систем. Расчет годовой экономической эффективности, источниками которой являются оптимизация производственной структуры хозяйства (объединения), снижение себестоимости продукции за счет рационального использования производственных ресурсов и уменьшения потерь, улучшения принимаемых управленческих решений
Мероприятия по подготовке объекта к внедрению системы
Перечень организационных мероприятий по совершенствованию бизнес-процессов.
Перечень работ по внедрению системы, которые необходимо выполнить на стадии рабочего проектирования, с указанием сроков и ответственных лиц
Ведомость документов
Отсутствует
На стадии «Рабочая документация» осуществляется создание программного продукта и разработка всей сопровождающей документации. Документация должна содержать все необходимые и достаточные сведения для обеспечения выполнения работ по вводу АИС в действие и ее эксплуатации, а также для поддержания уровня эксплуатационных характеристик (качества) системы. Разработанная документация должна быть соответствующим образом оформлена, согласована и утверждена.
На стадии «Ввод в действие» для АИС устанавливают следующие основные виды испытаний: предварительные испытания, опытная эксплуатация и приемочные испытания. При необходимости допускается дополнительно проведение других видов испытаний системы и ее частей.
В зависимости от взаимосвязей компонентов АИС и объекта автоматизации испытания могут быть автономные и комплексные. В автономных испытаниях участвуют компоненты системы. Их проводят по мере готовности частей системы к сдаче в опытную эксплуатацию. Комплексные испытания проводят для групп взаимосвязанных компонентов (подсистем) или для системы в целом.
Для планирования проведения всех видов испытаний разрабатывается документ «Программа и методика испытаний». Разработчик документа устанавливается в договоре или ТЗ. В качестве приложения в документ могут включаться тесты или контрольные примеры.
Отладка — наиболее трудоемкий процесс проектирования. Скрытые ошибки иногда проявляются после многолетней эксплуатации системы. Полностью избежать ошибок невозможно, что обусловлено астрономическим числом вариантов работы системы. Проверить их все на правильность работы в обозримые сроки практически невозможно.
Затраты на выявление и устранение ошибок на более поздних этапах проектирования возрастают примерно экспоненциально (рис. 1.10) [8, 16, 18].
Исследователи насчитывают 169 типов ошибок, сведенных в 19 больших классов:
1) логические;
2) ошибки манипулирования данными;
3) ошибки ввода-вывода;
4) ошибки в вычислениях;
Рис. 1.10.Относительные затраты на обнаружение и исправление одной ошибки
5) ошибки в пользовательских интерфейсах;
6) ошибки в операционной системе и вспомогательных программах;
7) ошибки компоновки;
8) ошибки в межпрограммных интерфейсах;
9) ошибки в интерфейсах «Программа — системное ПО»;
10) ошибки при обращении с внешними устройствами;
11) ошибки сопряжения с базой данных (БД);
12) ошибки инициализации БД;
13) ошибки изменений по запросу извне;
14) ошибки, связанные с глобальными переменными;
15) повторяющиеся ошибки;
16) ошибки в документации;
17) нарушение технических требований;
18) неопознанные ошибки;
19) ошибки оператора.
Не все ошибки исходят от разработчика. По данным разных исследователей, от 6 до 19 % ошибок порождаются ошибками в документации [8, 16, 18].
Соотношение разработки и испытаний на различных этапах проектирования АИС приведено на рис. 1.11.
Данная цепочка лишь условно «вытягивается» в линию. Внутри нее всегда существуют возвратные циклы. Для выявления ошибок разработчики создают специальные тесты и проводят этап отладки. Если ошибок не найдено, это еще не означает, что их нет — может быть, тест оказался слишком слабым.
Рис. 1.11. Соотношение разработки и испытаний по этапам проектирования АИС
Методика отладки учитывает симптомы возможных ошибок:
• неверная обработка (неправильный ответ, результат) — до 30 %;
• неверная передача управления — 16 %;
• несовместимость программ с используемыми данными — 15 %;
• несовместимость программ по пересылаемым данным — до 9 %.
При разработке отладочных заданий решаются следующие задачи:
• составление тестов;
• выбор точек, зон и маршрутов контроля;
• определение перечня контролируемых величин и порядка фиксации их значений;
• задание порядка тестирования;
• оценка достоверности и трудоемкости отладки.
Отлаживаемая программа должна хотя бы один раз проработать по каждой ветви алгоритма и при этом присвоить переменным ряд значений, захватывая границы диапазона, несколько значений внутри него, нулевые значения и особые точки (если есть). Для специализированных систем разрабатывают специальные языки отладки. Они могут содержать относительно небольшое число команд (20—30) с дополнительными настроечными параметрами для решения следующих задач:
• управления выводом;
• моделирования процесса исполнения отлаживаемой программы;
• выдачи состояния компонент памяти в процессе исполнения программ;
• проверки условий достижения определенных состояний в процессе исполнения программы;
• установления тестовых значений исходных данных;
• осуществления условных переходов в тестировании в зависимости от результатов исполнения других макрокоманд или различных тестов;
• выполнения служебных операций по подготовке программы к тестированию.
Процесс отладки нельзя отнести к полностью формализованному, поэтому существуют эмпирические рекомендации по его проведению, которые приведены ниже.
1. Используйте семантический, заранее продуманный подход к отладке, планируйте процесс отладки и тщательно проектируйте тестовые наборы данных с наиболее простых вариантов, исключая наиболее вероятные источники ошибок.
2. Для упорядочения процесса тестирования собирайте и анализируйте информацию:
• об особенностях и статистике ошибок;
• о специфике исходных данных и последовательности изменения переменных в программе и их взаимном влиянии;
• о структуре алгоритма и особенностях его программной реализации.
3. В каждый момент времени определяйте местоположение только одной ошибки.
Используйте средства регистрации и отображения информации об ошибках, включая в программу специальный отладоч ный код для распечатки выборочных значений переменных, сообщений об окончании отдельных участков программы, трассировки, логических условий и т. п.
5. Внимательно изучайте полученные выходные данные и сравнивайте их с ожидаемыми, заранее рассчитанными результатами.
6. Обращайте внимание на данные, тщательно анализируйте работу программы при использовании граничных значений и при неправильном вводе; контролируйте типы данных, диапазоны, размеры полей и точность.
7. Используйте анализ потоков данных и потоков управления для проверки корректности и установления областей определения данных для разных маршрутов выполнения программы.
8. Используйте одновременно различные средства отладки, не останавливаясь на одной возможности. Привлекайте автоматизированные средства и одновременно ручную отладку и тестирование, проверяя текст программы с точки зрения функционирования с учетом наиболее вероятных ошибок.
9. Документируйте все обнаруженные и исправленные ошибки, их отличия, местоположение и тип. Эта информация будет полезна для предупреждения будущих ошибок.
10.Измеряйте сложность программ. В программах с высокой сложностью высока вероятность ошибок спецификаций и проектирования, а с низкой сложностью — кодирования и канцелярских ошибок.
11.Для повышения опыта и тренировки в отладке искусственно помещайте в программы ошибки. После определенного периода отладки программисту следует указать на оставшиеся и не обнаруженные им ошибки. Подобное «засевание» широко используют для оценки числа необнаруженных ошибок (если равномерно обнаруживаются и исправляются и искусственные, и реальные ошибки, то по процентному соотношению обнаруженных внесенных и реальных ошибок можно предположить, сколько еще их осталось).
Предварительные испытания проводят для определения работоспособности системы и решения вопроса о возможности ее приемки в опытную эксплуатацию. Предварительные испытания следует выполнять после проведения разработчиком отладки и тестирования поставляемых программных и технических средств системы и представления соответствующих документов об их готовности к испытаниям, а также после ознакомления персонала АИС с эксплуатационной документацией.
Опытную эксплуатацию системы проводят с целью определения фактических значений количественных и качественных характеристик системы и готовности персонала к работе в условиях се функционирования, а также определения фактической эффективности и корректировки, при необходимости, документации.
Приемочные испытания проводят для определения соответствия системы техническому заданию, оценки качества опытной эксплуатации и решения вопроса о возможности приемки системы в постоянную эксплуатацию.