Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (2007), страница 7
Описание файла
PDF-файл из архива "Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (2007)", который расположен в категории "". Всё это находится в предмете "микропроцессорные системы (мпс)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "микропроцессорные системы" в общих файлах.
Просмотр PDF-файла онлайн
Текст 7 страницы из PDF
Графический язык системы SADT — это иерархический структурированный набор диаграмм, причем каждыйблок диаграммы раскрывается более детально с помощью другой диаграммы. Таким образом, структура модели представляется с все большей степенью детализации по мере разработкипроекта (рис. 3.7).Задача AЗадача BЗадача CЗадача FЗадача DРис. 3.7 — Структура SADT (SA — формальный язык описания взаимосвязей между компонентами системы)Структура системы:Задача A(Задача B или C) и Задача DЗадача FПри использовании SADT каждый разработчик наделенстрого определенными полномочиями.Авторы. Разработчики, занятые изучением требований иограничений системы и их описаний с помощью системыSADT.Комментаторы. Обычно это проектировщики, анализирующие работу своих коллег (авторов) и подготавливающие замечания по ней.Читатели. Лица, занятые анализом проектов, разрабатываемых другими специалистами, но не обязанные их комментировать.Технический комитет.
Группа опытных технических специалистов, анализирующих проект на высших уровнях его описания.39Библиотекарь проекта. Лицо, отвечающее за ведениефайлов проекта.Руководитель проекта. Лицо, несущее основную ответственность за техническую разработку проекта.Главный аналитик. Основной консультант по использованию SADT. Он хорошо понимает особенности использованиясистемы SADT и выдает рекомендации по ее применению.Инструктор. Лицо, обучающее исследователей пользованию SADT.К основным достоинствам SADT можно отнести следующие:1) система способствует организации коллективной работы, а также установлению соглашений относительноспецификаций на ранних этапах проектирования;2) письменные отчеты технических комитетов позволяютпроводить непрерывный контрольный анализ системы,что немаловажно при осуществлении испытаний системы;3) эффективным средством получения специальной информации являются доклады экспертов;4) система позволяет на ранних этапах принять основныерешения высокого уровня, что создает прочный фундамент для вырабатывания последующих решений болеенизкого уровня;5) использование SADT дает возможность осмыслитьразрабатываемую систему лицам, не являющимся специалистами по программному обеспечению;6) предусмотрены легкодоступные средства контроляхода проектирования.Основным и главным недостатком этой системы являетсятот факт, что она не автоматизирована.3.3.3 Система SREMСистема SREM используется для автоматизации этапаанализа требований, предъявляемых к программному обеспечению.
Она включает в себя язык определения требований (RSL),посредством которого устанавливаются связи между объектами.Проверка последовательности предложений на языке RSL осу-40ществляется с помощью процессора REVS. При использованиисистемы SREM выполняются следующие шаги: Трансляция.
Разрабатывается система требований,включающая описатели данных и этапы их обработки. Декомпозиция. Разрабатываются подробные проекты. Распределение. С помощью процессора REVS моделируются отдельные аспекты проектных решений с учетом принятых допущений. В результате имеем множество требований к построению системы, генерируемыхREVS. Анализ. Пользователь проверяет все требования,предъявляемые к будущей системе.3.3.4 Методика ДжексонаРазработанная М. Джексоном методика включает нисходящее проектирование, структурное программирование и структурный контрольный анализ. В соответствии с этой методикойстроятся иерархически структурированные программы, имеющие четыре компонента, подобные структурам управления вструктурном программировании.Элемент.
Функция, которая не может быть разбита на более простые функции.Последовательность. Ряд функций, реализуемых последовательно и однократно.Выборка. Одна из возможных последовательностей.Итерация. Функция, выполняемая заданное число раз,включая нулевое.Базовая идея метода состоит в том, что структура системы должна быть идентична структуре используемых данных.Следовательно, древовидная схема организации системы должна отражать структуру данных: в противном случае проект будет неправильным.3.4 ВыводыПроведенный обзор методов проектирования показал, чтовсем этим методам присущи общие черты. Хотя такие методы испособствуют получению рациональной структуры системы,тем не менее они не исключают необходимость в творческом41процессе вырабатывания основополагающих на этапах анализатребований, определения спецификаций и проектирования.Благодаря использованию этих методов становится возможнымуделять больше времени профессиональной стороне разработкипрограммного обеспечения.Существует ряд стратегий объединения различных методов в единую методологию.
Наиболее эффективную стратегиюсоздал Боэм, который сформулировал семь принципов разработки программного обеспечения:1) управление разработкой на основе последовательнойреализации отдельных этапов жизненного цикла программного обеспечения. Применение этого принципапозволяет на каждом этапе принимать обоснованные решения с учетом результатов, достигнутых на предыдущих этапах, и способствует использованию контрольныхточек для оценки состояния разработки проекта;2) выполнение испытаний.
На каждом шаге совершенствования модуля осуществляется его аттестация;3) осуществление строгого контроля над ходом разработки. Вся выходная документация — проекты программ, исходные программы, инструкции пользователю и т.д. — должна быть формально утверждена. Внесение любых изменений в документацию и библиотекипрограмм должно строго контролироваться и осуществляться лишь с разрешения соответствующих должностных лиц;4) использование всего диапазона средств структурногопрограммирования. По возможности желательно применять языки, позволяющие реализовать удобныеструктуры управления и данных.
Для описания процессов желательно использовать технику пошаговогосовершенствования;5) строгий учет. Для учета достигнутого прогресса в разработке системы необходимо использовать контрольные точки, а для проверки работы каждого исполнителя — системный журнал;6) использование немногочисленного штата, укомплектованного квалифицированными работниками. Хоро-42шие результаты работы дает использование принципаорганизации бригады главного программиста;7) высокий уровень. Необходимо использовать имеющиеся достижения в области технологии и разработки программного обеспечения, не забывая при этом о надежности и возможности модификации программ.Средства управления и контроля над разработкой программного обеспечения еще требуют совершенствования, однако сам процесс управления при этом приближается к уровню,свойственному другим техническим областям.Контрольные вопросы1.
Методы разработки программного обеспечения какнаучная дисциплина.2. Организация интерфейса между модулями, написанными разными программистами.3. Выполнение проекта. Бригада главного программиста.4. Методика оценки затрат. Методика инженерно-технической оценки затрат.5. Методика экспертных оценок. Метод алгоритмического анализа. Пошаговый анализ. Закон Паркинсона.6. Затраты на завершение разработки.7. Оценка длительности разработки на основе распределения Рэлея.8. Контрольные точки. Средства обработки. Надежность.Концептуальная целостность.9.
Верификация и испытания. Дамп. Трассировка. Анализграфов программ.10. «Уровни правильности» программ.11. Методы программирования. Эффективность программ.12. Определение спецификаций. Язык определения задач ианализатор определения задач (PSL/PSA).13. Система структурного проектирования SADT.14. Структурное проектирование. Методика Джексона.15. Стратегия объединения различных методов проектирования.434 МЕТОДЫ РАЗРАБОТКИ ПРОГРАММНОГООБЕСПЕЧЕНИЯПроведенный ранее анализ показал, что в настоящее время методы разработки программного обеспечения интенсивноразвиваются.
Однако далеко не все методы находят широкоепрактическое применение. Цель наших дальнейших исследований — рассмотреть лишь те методы, которые считаются основными для разработки хороших программ.4.1 Язык проектирования программПри создании программ разработчики обычно используютдва способа: либо составляют структурную схему программы,либо сразу пишут программу. Очевидно, что при втором способе структура программы наверняка окажется нечеткой. Однакоизвестно, что и хорошая структурная схема может привести ксозданию программы с плохой структурой. Необходима некоторая система записи, с помощью которой стало бы возможнымформальное проектирование программ.Для создания такой системы записи был разработан языкпроектирования программ PDL.
Этот язык строится по образууниверсальных языков программирования. Однако следует отметить, что языки программирования и проектирования используются для разных целей, поэтому сравнение их недопустимо.Если языки программирования связаны с обработкой структурданных обычных программ, то языки проектирования могутвключать такие «элементарные конструкции», как «решение задачи» или «обращение матрицы», или вообще не содержать выражений, заданных в явной форме.
Если запись программы наязыке программирования известна, то этап проектирования необязателен.Язык проектирования обычно состоит из двух частей: заданного набора операторов, построенных по образцуязыков программирования; общего, обычно неопределяемого синтаксиса, пригодного для описания задач в данной области.Таким образом, язык проектирования программ включаетопределенный внешний синтаксис, описывающий логику про-44граммы при проектировании. Эта логика строится при помощиуправляющих структур, имеющихся в большинстве языков программирования.С другой стороны, язык PDL содержит неопределенныйвнутренний синтаксис, который включает все структуры данных и процедуры по их обработке. Почти любое предложениена естественном языке можно использовать для описанияпреобразования данных.if X неотрицательноthen return (квадратный корень из X –действительное число);else return (квадратный корень из X –мнимое число);В этом случае на языке PDL фиксируется логика программы if — then — else, а внутренние выражения (например, «квадратный корень») не определяются.
Далее должнопроизводиться проектирование с помощью PDL-программы«извлечение квадратного корня из X». Язык проектированияобычно называют псевдокодом.Язык PDL включает шесть групп операторов.Оператор выбора.а) if выражение;then оператор1;else оператор2;Оба оператора могут быть последовательностью операторов, входящих в группу do — end.б) do case (выражение);/индекс1/ оператор1;.../индексn/ операторn;else операторn+1;end;Оператор case используется для выбора из многих вариантов.