Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения

Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения, страница 8

PDF-файл Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения, страница 8 Технология разработки программного обеспечения радиолокационных систем (8887): Книга - 11 семестр (3 семестр магистратуры)Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения: Технология разработки программного обеспечения радиолокационных систем -2017-06-18СтудИзба

Описание файла

PDF-файл из архива "Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения", который расположен в категории "". Всё это находится в предмете "технология разработки программного обеспечения радиолокационных систем" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "технология разработки программного обеспечения радиолокационных систем" в общих файлах.

Просмотр PDF-файла онлайн

Текст 8 страницы из PDF

Эта логика строится при помощиуправляющих структур, имеющихся в большинстве языков программирования.С другой стороны, язык 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 используется для выбора из многих вариантов. Оператор case вычисляет выражение и выполняет тотоператор, у которого индекс равен значению выражения.

Если ни-45какой из индексов не равен значению выражения, то выполняетсяоператор else (если он, конечно, имеется). Как и оператор if,каждый из этих операторов может входить в группу do — end.Оператор цикла.а) do while (выражение);набор операторов;end;Набор операторов выполняется до тех пор, пока значениевыражения остается истинным.б) do переменная = выраж1 to выраж2 by выраж3;набор операторов;end;При вхождении в цикл в первый раз вычисляются значения выраж1, выраж2 и выраж3. Приращение (выраж3) можетбыть положительным, отрицательным или опущено (по умолчанию предполагается равным +1).

Цикл выполняется любое число раз.Оператор описания данных.declare имя атрибуты;Имена объявляются для переменных со списками атрибутов. Атрибуты могут быть стандартными типами данных языкапрограммирования (real, float, integer и др.) или структурами данных высокого уровня (рис.

4.1).ABCEFDРис. 4.1 — Структура данных в языке PDLДля определения сложных структур данных используютсяструктуры типа:46declare 1 A,2 B,3 C,3 D,2 E,2 F;Это соответствует структуре дерева, изображенного нарисунке. Для ссылки на элементы подобных структур используется система уточненных имен. Таким образом, на узел C можно ссылаться как на A.B.C, хотя к C можно обращаться и непосредственно, если это имя используется однозначно.Другие операторы.а) переменная = выражение;б) call имя процедуры(список аргументов);в) return (значение);г) имя procedure (список параметров);список операторов;end;д) get (список данных для ввода);е) put (список данных для вывода);Все параметры в процедуре вызываются с помощью ссылок (т.е.

адреса переменных передаются в процедуру). Областьдействия имен — в блоке, где проведено их описание.Оператор leave.Оператор leave обеспечивает выход из цикла, организованного с помощью оператора do. Оператор leave являетсятипом управляющего оператора перехода.Предложения на естественном языке.Кроме указанных пяти классов операторов, любоепредложение, написанное на естественном языке, можно использовать как оператор языка PDL.а) Найти наибольший элемент в массиве B;б) do для всех X из {a, b, c};в) A = первый элемент B, который большечем C.Для языка PDL разработаны специальные трансляторы. Спомощью таких трансляторов можно получать документацию,которая необходима для изучения и сопровождения любой си-47стемы.

Кроме того, проектирование с помощью языка, сходногос языком программирования, в значительной мере уменьшаетколичество ошибок.4.2 Стратегия проектирования4.2.1 Нисходящее проектирование и нисходящаяразработкаЯзык программирования является лишь средством разработки проектов. Важное место в построении правильных проектов играет методология проектирования. При разработке программ на этапе проектирования обычно используется два подхода: нисходящий и восходящий. Суть нисходящего проектирования можно объяснить следующей схемой (рис. 4.2).DRIVERAAAAAABABAABACACABACBBCAACBРис. 4.2 — Пример базисной схемыНа приведенной базисной схеме каждый блок — это модуль системы. При этом вызов каждого модуля производитсямодулем более высокого уровня.При нисходящем проектировании вначале проектируетсяуправляющая программа — драйвер. Управляющий модуль может быть представлен программой на PDL.DRIVER: procedure;Выполнить задачу A;do while (условие истинно);48Выполнить задачу B;end;Выполнить задачу C;end DRIVER;Затем более подробно представляются каждый из операторов псевдокода и разрабатываются другие модули.

Например,если задачи A, B, C достаточно сложны, их можно оформитькак отдельные процедуры. В этом случае проект драйвера можно представить следующим образом:DRIVER: procedure;Инициировать задачу A;call A;do while (условие истинно);Инициировать задачу B;call B;end;Инициировать задачу C;call C;end DRIVER;Затем, таким же образом, можно определить процедурыA, B и C. Очевидно, что язык PDL хорошо подходит для нисходящего проектирования.Нисходящее проектирование также называют пошаговымсовершенствованием: программы иерархически структурируются и разбиваются путем последовательного уточнения. На каждом шаге функционирование модуля описывается с помощьюссылок на предыдущие более подробные шаги.При восходящем проектировании вначале проектируютсяпрограммы нижнего уровня. Обычно такой подход используется при проектировании операционных систем, где самым нижним уровнем иерархии являются аппаратные средства (техноло-49гия виртуальных машин).

Например, один из модулей можетобеспечить доступ к аппаратным средствам страничного механизма ЭВМ и предоставить виртуальную память для всехостальных модулей. Вследствие этого большинство систем реального времени проектируется снизу вверх.На этапах кодирования и тестирования ситуация противоположная. Хотя большинство систем проектируется сверхувниз, кодирование и тестирование удобнее осуществлять снизувверх, так как модули ААА и ААВ не вызывают других компонент, их кодируют и тестируют (рис. 4.3).DRIVERAAAAAAABBCACAABРис.

4.3 — Восходящее кодирование и тестированиеКогда задача хорошо определена, пользоваться этим подходом очень удобно.Однако если решаемая задача не понятна или детально неопределена, то тестирование снизу вверх может вызвать серьезные проблемы. Например, пользователь не может убедиться в правильности функционирования системы согласно спецификациям, пока не будет проверен модуль верхнего уровня.

Однако этого нельзя сделать до тех пор, пока не будет проверенався иерархическая структура системы, т.е. до завершенияпроекта. А внесение изменений на этом этапе сопряжено со значительными затратами и обходится дорого.Чтобы избежать этого, можно использовать нисходящеекодирование. В этом случае в первую очередь проверяют модули управляющей программы, а также модули A, B, C.

Пользователь системы проверяет функционирование верхнего уровня на50начальном этапе разработки, поэтому сделать любые необходимые изменения в спецификациях гораздо легче.Единственное неудобство при таком методе кодированиязаключается в том, что для проверки модулей A, B, C требуются также модули АА, АВ, АС, ВА, ВВ и СА. Для этих целейслужат подыгрывающие программы — заглушки. Это короткиепрограммы, которые составляются специально для того, чтобымоделировать ненаписанные модули и передавать управляющим программам необходимые тестовые данные (рис. 4.4).DRIVERAAASTUBABSTUBBACSTUBBASTUBCBBSTUBCASTUBРис. 4.4 — Нисходящее тестированиеПодобные средства оказываются полезными, если имипользоваться достаточно осторожно, так как корректность системы не может быть доказана, пока не убрана последняя заглушка.Нисходящее проектирование не так просто, как это кажется на первый взгляд.

Это связано с тем, что в любой программной системе имеется три вершины:1) начало работ;2) управляющая программа;3) программа связи пользователя с системой.Основные различия между этими моментами можно показать на примере компилятора. Для разработчика аппаратныхсредств «вершиной» системы является модуль, инициирующийработу системы. Этот модуль — основное средство интерфейсас операционной системой. С его помощью с диска считываютсяфрагменты программы, реализующие различные этапы компилирования, и передается управление на их выполнение. Все51остальные части системы можно рассматривать как подпрограммы этого модуля.Для системного программиста «вершиной» являетсяуправляющая программа.

В компиляторе «вершиной» можносчитать основной цикл анализа, который осуществляет поискочередного анализируемого оператора (лексемы). Таким образом, логической вершиной является цикл вида:do while (продолжить до концакомпилирования);Чтение до начала следующего оператора;Анализ введенного оператор;end;Что касается пользователя, то, с его точки зрения, компилятор читает операторы, а затем их транслирует.

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

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

ИспользованиеPDL хорошо согласуется с этим методом. Программист обдумывает проект задачи все более детально, причем каждый шагявляется «интеллектуально управляемой» компонентой задачи.52Вначале программист представляет задачу как набор задач:do task A;do task B;do task C;Каждая из задач определяется и детализируется с помощью спецификаций. Каждую небольшую задачу можно представить в виде нескольких предложений PDL, входящих в некоторую процедуру. Если задача сложная, ее можно представитькак отдельную процедуру.При детализации каждой задачи можно пользоватьсятолько операторами PDL.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5168
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее