Тема 1.3. Методология и технология проектирования АИС. Типовое проектирование АИС
Современные методологии и реализующие их технологии проектирования АИС поставляются в электронном виде вместе с CASE-средствами и включают библиотеки процессов, шаблонов, методов, моделей и других компонентов предназначенных для построения ПО того класса систем, на который ориентирована методология. Электронные методологии и технологии составляют ядро комплекса согласованных инструментальных средств разработки АИС. Особенности современных методологических решений проектирования АИС невозможно реализовать без определенных технологий проектирования, соответствующих масштабу и специфике проекта.
Технология проектирования АИС — это совокупность методов и средств проектирования АИС, а также методов и средств организации проектирования (управление процессом создания и модернизации проекта АИС).
Согласно ТП проектирования АИС представляет собой совокупность последовательно-параллельных, связанных и соподчиненных цепочек действий, каждое из которых может иметь свой предмет. Действия, которые выполняются при проектировании АИС, могут быть определены как неделимые технологические операции или как подпроцессы технологических операций. Все действия могут быть собственно проектировочными, которые формируют или модифицируют результаты проектирования, и оценочными, которые вырабатывают по установленным критериям оценки результатов проектирования.
Таким образом, технология проектирования задается регламентированной последовательностью технологических операций, выполняемых в процессе создания проекта на основе того или иного метода.
Предметом выбираемой технологии проектирования должно служить отражение взаимосвязанных процессов проектирования на всех стадиях жизненного цикла АИС.
Основные требования, предъявляемые к выбираемой технологии проектирования, следующие:
· созданный с помощью этой технологии проект должен отвечать требованиям заказчика;
· технология должна максимально отражать все этапы цикла жизни проекта;
· технология должна обеспечивать минимальные трудовые и стоимостные затраты на проектирование и сопровождение проекта;
· технология должна способствовать росту производительности труда проектировщиков;
· технология должна обеспечивать надежность процесса проектирования и эксплуатации проекта;
· технология должна способствовать простому ведению проектной документации.
Технология проектирования АИС реализует определенную методологию проектирования. В свою очередь, методология проектирования предполагает наличие некоторой концепции, принципов проектирования и реализуется набором методов и средств.
Методы проектирования АИС можно классифицировать по степени использования средств автоматизации, типовых проектах решений, адаптивности к предполагаемым изменениям.
По степени автоматизации различают:
ручное проектирование, при котором проектирование компонентов АИС осуществляется без использования специальных инструментальных программных средств; программирование производится на алгоритмических языках;
компьютерное проектирование, при котором генерация или конфигурация (настройка) проектных решений производится с использованием специальных инструментальных программных средств.
По степени использования типовых проектных решений различают:
оригинальное (индивидуальное) проектирование, когда проектные решения разрабатываются «с нуля» в соответствии с требованиями к АИС;
типовое проектирование, предполагающее конфигурацию АИС из готовых типовых проектных решений (программных модулей).
Оригинальное проектирование АИС предполагает максимальный учет особенностей автоматизированного объекта.
Типовое проектирование выполняется на основе готовых решений и является обобщением опыта, полученного ранее при создании родственных проектов.
По степени адаптивности проектных решений различаются следующие методы:
реконструкция — адаптация проектных решений выполняется путем переработки соответствующих компонентов (перепрограммирования программных модулей);
параметризация — проектные решения настраиваются в соответствии с заданными и изменяемыми параметрами;
реструктуризация модели — изменяется модель предметной области, что приводит к автоматическому переформированию проектных решений.
Сочетание различных признаков классификации методов проектирования обусловливает характер используемой технологии проектирования АИС. Выделяются два основных класса технологии проектирования: каноническая и индустриальная. Индустриальная технология проектирования в свою разбивается на два подкласса: автоматизированное (использование САSЕ-технологий) и типовое (параметрически-ориентированное или модельно-ориентированное) проектирование.
Таблица 1.1. Характеристики классов технологий проектирования
Класс технологии проектирования | Степень автоматизации | Степень типизации | Степень адаптивности |
Каноническое проектирование | Ручное проектирова-. ние | Оригинальное проектирование | Реконструкция |
Индустриальное автоматизированное проектирование | Компьютерное проектирование | Тоже | Реструктуризация модели |
Индустриальное типовое проектирование | Тоже | Типовое сборочное проектирование | Параметризация и реструктуризация модели |
Каноническое проектирование АИС ориентировано на использование главным образом каскадной модели жизненного цикла АИС.
В зависимости от сложности объекта автоматизации и набора задач, требующих решения при создании конкретной АИС, стадии и этапы работ могут иметь различную трудоемкость. Допускается объединять последовательные этапы и исключать некоторые из них на любой стадии проекта. Допускается также начинать выполнение работ следующей стадии до окончания предыдущей.
Стадии и этапы создания АИС, выполняемые организациями-участниками, прописываются в договорах и технических заданиях на выполнение работ.
Стадия 1. Формирование требований к АИС:
· обследование объекта и обоснование необходимости создания АИС;
· формирование требований пользователей к АИС;
· оформление отчета о выполненной работе и тактико-технического задания на разработку.
Стадия 2. Разработка концепции АИС:
· изучение объекта автоматизации;
· проведение необходимых научно-исследовательских работ;
· разработка вариантов концепции АИС, удовлетворяющих требованиям пользователей;
· оформление отчета и утверждение концепции.
Стадия 3. Техническое задание:
• разработка и утверждение технического задания на создание АИС.
Стадия 4.Эскизный проект:
· разработка предварительных проектных решений по системе и ее частям;
· разработка эскизной документации на АИС и ее части.
Стадия 5.Технический проект:
· разработка проектных решений по системе и ее частям;
· разработка документации на АИС и ее части;
· разработка и оформление документации на поставку комплектующих изделий;
· разработка заданий на проектирование в смежных частях проекта.
Стадия 6. Рабочая документация:
· разработка рабочей документации на АИС и ее части;
· разработка и адаптация программ.
Стадия 7. Ввод в действие:
· подготовка объекта автоматизации; подготовка персонала;
· комплектация АИС поставляемыми изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями);
· строительно-монтажные работы; пусконаладочные работы;
· проведение предварительных испытаний;
· проведение опытной эксплуатации;
· проведение приемочных испытаний.
Стадия 8. Сопровождение АИС:
· выполнение работ в соответствии с гарантийными обязательствами;
· послегарантийное обслуживание.
Обследование– это изучение и анализ организационной структуры предприятия, его деятельности и существующей системы обработки информации.
Материалы, полученные в результате обследования, используются для:
• обоснования разработки и поэтапного внедрения систем;
• составления технического задания на разработку систем;
• разработки технического и рабочего проектов систем.
На этапе обследования целесообразно выделить две составляющие: определение стратегии внедрения АИС и детальный анализ деятельности организации.
Основная задача первого этапа обследования — оценка реального объема проекта, его целей и задач на основе выявленных функций и информационных элементов автоматизируемого объекта высокого уровня. Эти задачи могут быть реализованы или заказчиком АИС самостоятельно, или с привлечением консалтинговых организаций. Этап предполагает тесное взаимодействие с основными потенциальными пользователями системы и бизнес-экспертами. Основная задача взаимодействия — получить полное и однозначное понимание требований заказчика. Как правило, нужная информация может быть получена в результате интервью, бесед или семинаров с руководством, экспертами и пользователями.
По завершении стадии обследования появляется возможность определить вероятные технические подходы к созданию системы и оценить затраты на ее реализацию (на аппаратное обеспечение, на закупаемое программное обеспечение и на разработку нового программного обеспечения).
Результатом этапа определения стратегии является документ (технико-экономическое обоснование — ТЭО — проекта), где четко сформулировано, что получит заказчик, если согласится финансировать проект, когда он получит готовый продукт (график выполнения работ) и сколько это будет стоить (для крупных проектов — это график финансирования на разных этапах работ). В документе желательно отразить не только затраты, но и выгоду проекта, например время окупаемости проекта, ожидаемый экономический эффект (если его удается оценить).
Примерное содержание ТЭО:
• ограничения, риски, критические факторы, которые могут повлиять на успешность проекта;
• совокупность условий, при которых предполагается эксплуатировать будущую систему, — архитектура системы, аппаратные и программные ресурсы, условия функционирования, обслуживающий персонал и пользователи системы;
• сроки завершения отдельных этапов, форма приемки/сдачи работ, привлекаемые ресурсы, меры по защите информации;
• описание выполняемых системой функций;
• возможности развития и модернизации системы;
• интерфейсы и распределение функций между человеком и системой;
требования к ПО и системам управления базами данных (СУБД).
На этапе детального анализа деятельности организации изучаются деятельность, обеспечивающая реализацию функций управления, организационная структура, штаты и содержание работ по управлению предприятием, а также характер подчиненности вышестоящим органам управления. Здесь следует наметить инструктивно-методические и директивные материалы, на основании которых определяются состав подсистем и перечень задач, а также возможности применения новых методов решения задач.
Аналитики собирают и фиксируют информацию в двух взаимосвязанных формах:
• функции — информация о событиях и процессах, которые происходят в автоматизируемой организации;
• сущности — информация о классах объектов, имеющих значение для организации и о которых собираются данные.
При изучении каждой функциональной задачи управления определяются:
• наименование задачи; сроки и периодичность ее решения;
• степень формализуемости задачи;
• источники информации, необходимые для решения задачи;
• показатели и их количественные характеристики;
• порядок корректировки информации;
• действующие алгоритмы расчета показателей и возможные методы контроля;
• действующие средства сбора, передачи и обработки информации;
• действующие средства связи;
• принятая точность решения задачи;
• трудоемкость решения задачи;
• действующие формы представления исходных данных и результатов их обработки в виде документов;
• потребители результатной информации по задаче.
Одной из наиболее трудоемких, хотя и хорошо формализуемых, задач этого этапа является описание документооборота 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. Обращайте внимание на данные, тщательно анализируйте работу программы при использовании граничных значений и при неправильном вводе; контролируйте типы данных, диап
Дата добавления: 2020-11-18; просмотров: 710;