Алгоритмизация задач
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
Алгоритмизация задач
На первом этапе разработки комплексов программ АСУ определяют требования, выполнение которых обеспечивает решение поставленных задач. Основными характеристиками являются время и стоимость обработки информации, вероятность ошибки, допустимые объемы памяти, неизбежность выполнения основных функций и т.п. Требования к системе содержатся в системных спецификациях, которые отображают предполагаемую реализацию системы с помощью ЭВМ. Спецификации являются основополагающим документом в процессе разработки системы. Точность и подробность составления спецификаций определяют вероятность возникновения ошибки на дальнейших этапах разработки. Большинство современных методов создания программного обеспечения допускает появление ошибок в спецификациях проекта, однако цена обнаружения и корректировки ошибок возрастает по мере приближения разработки к завершению. В большинстве случаев ошибки в системе - результат неполных или противоречивых спецификаций (60-70% ошибок). В связи с этим возникает необходимость разработки и использования языков и формализованных методов разработки спецификаций, их анализа и контроля.
В настоящее время известен ряд методов формализации определения спецификаций. Первым шагом в направлении формализации процесса определения спецификаций явилось создание HOS-методологии, основанной на использовании аксиом программного обеспечения высшего уровня, которые определяют допустимые взаимодействия между процедурами задачи. Эти аксиомы предусматривают введение некоторых ограничений на использование процедур. Например, не допускаются ситуации, когда процедура контролирует сама себя, т.е. исключается использование рекурсии, процедура не может управлять пространством своих входных данных и т.п.
Эффективным средством формализации процесса определения спецификаций является система PSL/PSA, которая включает язык определения задач (PSL) и анализатор определения задач (PSA).
Язык определения задач предназначен для отображения функциональных требований к ресурсам. Язык содержит набор средств, позволяющих определять объекты системы, их свойства и взаимосвязи.
Анализатор определения задач осуществляет испытание предложений на языке PSL. Анализатор генерирует базу данных, отображающую системные требования, и осуществляет проверку последовательности и анализ полноты данных.
Система PSL/PSA позволяет получить формализованное представление проблемы, документирование системных требований в единообразной форме, обеспечивает выявление ошибок, обусловленных неполнотой информации.
Система структурного анализа и проектирования SADT представляет собой графическую систему, предназначенную для анализа и проектирования систем. Графический язык системы SADT - это иерархический структурированный набор диаграмм, причем каждый блок диаграммы раскрывается более детально с помощью другой диаграммы. Таким образом, задача представляется все с большей степенью детализации по мере разработки проекта. Система SADT позволяет повысить качество решений на ранних этапах проектирования на основе легко доступных средств контроля. Однако система не является автоматизированной.
Система SREM, используемая для автоматизации анализа требований, включает язы к определения требований RSL для установления связи между объектами. Проверка последовательности предложений на языке RSL осуществляется с помощью процессора REVS. Система выполняет следующие операции: разработку требований, включающую описатели данных и этапы их разработки; разработку подробных проектов; моделирование отдельных аспектов проектных решений с учетом принятых допущений; проверку пользователем требований, предъявляемых к системе.
Система структурного проектирования представляет собой неавтоматизированную систему, использование которой обеспечивает создание подробного проекта системы. Система состоит из следующих уровней: подсистема, процесс (часть подсистемы, представляющая отдельную функцию); работа (выполняемая программа или шаг задания); модуль (часть работы). Структурное проектирование выполняется на уровне процесса или работы. Документация включает базисную схему каждого модуля и его полное описание по установленной форме. Функция модуля описывается так, чтобы можно было осуществить его кодирование без использования дополнительной документации.
Приведенные средства определения спецификаций позволяют систематизировать процесс формирования требований к системе, автоматизировать процесс их контроля и снизить вероятность возникновения ошибок, вызванных некорректностью или неполнотой учета условий решаемых задач управления.
Вторым этапом процесса разработки программного обеспечения является составление алгоритма решения поставленной задачи.
При разработке алгоритма решения задачи прежде всего решаются следующие вопросы:
а) следует ли использовать имитационное моделирование или какой-либо из методов оптимизации;
б) следует ли учитывать случайный характер переменных или процессов или использовать детерминированный подход;
в) следует ли учитывать нелинейность некоторых соотношений или достаточно ограничиться их линейной аппроксимацией;
г) можно ли использовать существующие методы решения или требуется разработать новый алгоритм;
д) допустимо ли в д?/p>