Язык определения задач и анализатор задач



Среди таких методов следует отметить разработку Ми­чи­ган­ско­го университета ISDOS, в состав которой входят две базовые составляющие:

    1) язык описания задач PSL, предназначенный для отображения функциональных требований и требований к ресурсам. Этот язык содержит набор средств объявлений, позволяющих пользователю определять объекты системы, их свойства, а также соединять объекты посредством взаимосвязи;

    2) анализатор определения задач PSA, представляющий собой процессор, с помощью которого осуществляется испытание предложений, написанных на языке PSL. Анализатор генерирует базу данных, отображающую системные требования, и осуществляет проверку последовательности и анализ полноты данных. Он так же поддерживает ряд выходных документов, содержащих сведения о выборке данных, а также об ошибках, объектах, имеющихся в базе данных, взаимосвязи между ними.

Язык PSL имеет простой синтаксис и ориентирован на использование ключевых слов. Основными операторами этого языка являются:

PROCESS <имя> <имя> определяется как новый процесс;
DESCRIPTION <текст> <текст> представляет описание функции, реализуемой процессом, средствами английского языка;
SUBPARTS ARE <имя> Процесс <имя> связан с текущим процессом и расположен ниже его на дереве иерархии;
PART OF <имя> процесс<имя>вызывает текущий процесс;
DERIVE <файл> файл<файл> является выходным для текущего процесса;
USING <файл> файл<файл> является входным для текущего процесса;
PROCEDURE <текст> <текст>представляет описание на языке PDL алгоритма, реализуемого процессом.

Пример: если процесс Y содержит предложение PARTOFX; то процесс X должен включать предложение SUBPARTSAREY;.

Система PSL/PSA обладает следующими характеристиками:

    1) позволяет пользователю получить формализованное представление проблемы;

    2) осуществляет документирование системных требований в единообразной форме;

    3) способствует выявлению условий возникновения некоторых видов ошибок, обусловленных, в первую очередь, неполнотой информации нарушением последовательности ее ввода.

Третья составляющая часть ISDOS—язык проектирования программ PDL. Язык включает две категории структур. Имеется внешний синтаксис, построенный на основных типах операторов ( if -then-else, sequence и др.). Внешний синтаксис предназначен для соединения отдельных компонент в программы. Кроме того, существует внутренний синтаксис, соответствующий конкретному применению. Внутренний синтаксис выражается предложениями на естественном языке, которые раскрываются последовательно, пока алгоритм не окажется описанным компонентами внешнего синтаксиса.

Пример:

Max: procedure (list);

/* Поиск наибольшего элемента в списке */

declare (maxmin, next) целое;

declare list последовательность целых чисел;

maxmin = первый элемент list;

do while (имеются элементы в list)

next = следующий элемент в list;

maxmin = наибольший из next и maxmin;

end;

return (maxmin);

end Max;

Естественно, что рассматриваемая система не лишена недостатков. В первую очередь, это тот факт, что для многих спецификаций она излишне универсальна. Однако, учитывая, что эта система автоматизирована, выполняет достаточно большой объем документирования разработок, ее применение оправдано.

Тем не менее на этапе проектирования используется ряд других подходов, некоторые из которых мы рассмотрим.

Система структурного анализа и проектирования SADT

SADT—это аббревиатура марки фирмы Software Technology, представляет собой ручную графическую систему, предназначенную для проектирования больших программных комплексов. Графический язык системы SADT—это иерархический структурированный набор диаграмм, причем каждый блок диаграммы раскрывается более детально с помощью другой диаграммы. Таким образом, структура модели представляется с все большей степенью детализации по мере разработки проекта (рис.3.7).

 

Рис.3.7—Структура SADT (SA—формальный язык описания взаимосвязей между компонентами системы)

Структура системы:

Задача A

(Задача B или C) и Задача D

Задача F

При использовании SADT каждый разработчик наделен строго определенными полномочиями.

Авторы. Разработчики, занятые изучением требований и ограничений системы и их описаний с помощью системы SADT.

Комментаторы. Обычно это проектировщики, анализирующие работу своих коллег (авторов) и подготавливающие замечания по ней.

Читатели. Лица, занятые анализом проектов, разрабатываемых другими специалистами, но не обязанные их комментировать.

Технический комитет. Группа опытных технических специалистов, анализирующих проект на высших уровнях его описания.

Библиотекарь проекта. Лицо, отвечающее за ведение файлов проекта.

Руководитель проекта. Лицо, несущее основную ответственность за техническую разработку проекта.

Главный аналитик. Основной консультант по использованию SADT. Он хорошо понимает особенности использования системы SADT и выдает рекомендации по ее применению.

Инструктор. Лицо, обучающее исследователей пользованию SADT.

К основным достоинствам SADT можно отнести следующие:

    1) система способствует организации коллективной работы, а также установлению соглашений относительно спецификаций на ранних этапах проектирования;

    2) письменные отчеты технических комитетов позволяют проводить непрерывный контрольный анализ системы, что немаловажно при осуществлении испытаний системы;

    3) эффективным средством получения специальной информации являются доклады экспертов;

    4) система позволяет на ранних этапах принять основные решения высокого уровня, что создает прочный фундамент для вырабатывания последующих решений более низкого уровня;

    5) использование SADT дает возможность осмыслить разрабатываемую систему лицам, не являющимся специалистами по программному обеспечению;

    6) предусмотрены легкодоступные средства контроля хода проектирования.

Основным и главным недостатком этой системы является тот факт, что она не автоматизирована.

Система SREM

Система SREM используется для автоматизации этапа анализа требований, предъявляемых к программному обеспечению. Она включает в себя язык определения требований (RSL), посредством которого устанавливаются связи между объектами. Проверка последовательности предложений на языке RSL осуществляется с помощью процессора REVS. При использовании системы SREM выполняются следующие шаги:

Трансляция. Разрабатывается система требований, включающая описатели данных и этапы их обработки.

Декомпозиция. Разрабатываются подробные проекты.

Распределение. С помощью процессора REVS моделируются отдельные аспекты проектных решений с учетом принятых допущений. В результате имеем множество требований к построению системы, генерируемых REVS.

Анализ. Пользователь проверяет все требования, предъявляемые к будущей системе.

Методика Джексона

Разработанная М. Джексоном методика включает нисходящее проектирование, структурное программирование и структурный контрольный анализ. В соответствии с этой методикой строятся иерархически структурированные программы, имеющие четыре компонента, подобные структурам управления в структурном программировании.

Элемент. Функция, которая не может быть разбита на более простые функции.

Последовательность. Ряд функций, реализуемых последовательно и однократно.

Выборка. Одна из возможных последовательностей.

Итерация. Функция, выполняемая заданное число раз, включая нулевое.

Базовая идея метода состоит в том, что структура системы должна быть идентична структуре используемых данных. Следовательно, древовидная схема организации системы должна отражать структуру данных: в противном случае проект будет неправильным.

Выводы

Проведенный обзор методов проектирования показал, что всем этим методам присущи общие черты. Хотя такие методы и способствуют получению рациональной структуры системы, тем не менее они не исключают необходимость в творческом процессе вырабатывания основополагающих на этапах анализа требований, определения спецификаций и проектирования. Благодаря использованию этих методов становится возможным уделять больше времени профессиональной стороне разработки программного обеспечения.

Существует ряд стратегий объединения различных методов в единую методологию. Наиболее эффективную стратегию создал Боэм, который сформулировал семь принципов разработки программного обеспечения:

    1) управление разработкой на основе последовательной реализации отдельных этапов жизненного цикла программного обеспечения. Применение этого принципа позволяет на каждом этапе принимать обоснованные решения с учетом результатов, достигнутых на предыдущих этапах, и способствует использованию контрольных точек для оценки состояния разработки проекта;

    2) выполнение испытаний. На каждом шаге совершенствования модуля осуществляется его аттестация;

    3) осуществление строгого контроля над ходом разработки. Вся выходная документация —проекты программ, исходные программы, инструкции пользователю и т.д. —должна быть формально утверждена. Внесение любых изменений в документацию и библиотеки программ должно строго контролироваться и осуществляться лишь с разрешения соответствующих должностных лиц;

    4) использование всего диапазона средств струк­тур­но­го программирования. По возможности желательно применять языки, позволяющие реализовать удобные структуры управления и данных. Для описания процессов желательно использовать технику пошагового совершенствования;

    5) строгий учет. Для учета достигнутого прогресса в разработке системы необходимо использовать контрольные точки, а для проверки работы каждого исполнителя —системный журнал;

    6) использование немногочисленного штата, укомплектованного квалифицированными работниками. Хорошие результаты работы дает использование принципа организации бригады главного программиста;

    7) высокий уровень. Необходимо использовать имеющиеся достижения в области технологии и разработки программного обеспечения, не забывая при этом о надежности и возможности модификации программ.

Средства управления и контроля над разработкой программного обеспечения еще требуют совершенствования, однако сам процесс управления при этом приближается к уровню, свойственному другим техническим областям.

 

                   

 

                           

 

 


Дата добавления: 2022-01-22; просмотров: 28; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!