Лекции по "Технология программирования"

Автор работы: Пользователь скрыл имя, 17 Декабря 2014 в 02:02, курс лекций

Краткое описание

Введение в идеологию. В эпоху НТП объемы производства и использование средств вычислительной технологии во многом определял Н.Т.П. Резкое снижение средств вычислительной техники создало предпосылки для массового внедрения вычислительной техники в бытовом производстве. Это позволило провести широкую автоматизацию производственных процессов на базе встроенных микропроцессов вплоть до применения их в бытовой технике.

Прикрепленные файлы: 1 файл

Tehnologiq_programmirovaniq2_lections.doc

— 394.00 Кб (Скачать документ)

2)терминальные языки

3) псевдотерминальный язык кант.

Псевдотерминальный язык является полностью формализованным и в отличие от терминальных языков (Фортран, Бейсик, СИ и тд.) позволяет использовать  структуры управления и данных языка. При таком подходе невозможно приспособится к конкретной проблемной области. Зато обеспечивает автоматизацию самого процесса  пошаговой детализации, где учитывается связь объектов между собой и программой, где в качестве языка псевдокода может использоваться любой процедурный язык.

 

RD - технология (рассредоточенное действие)

 

В основе RD - технологии лежит основополагающая концепция Фуксмана: сосредоточенное описание , рассредоточенных действий.

Эта концепция реализована в технологии вертикального слоения и развивает технологию вертикального слоения в 2-х направлениях.

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

2) вводится понятие RD - модуля или модуля рассредоточенных действий, который обобщает вертикальный слой Фуксмана и наделяет его главным атрибутом классического модуля - это автономное проектирование, его познаваемость разработки и тестирования, т.е. все те свойства, которые принадлежат обычному программному модулю, также и этап  отладки.

Проблема представить реализацию рассредоточенной функции и как следствие препятствует адекватному изображению или адекватному разбиению программы на функционально - прочные модули, приводит к нарушению свойств слабой связанности по данным т.к. использование абстрактных типов данных обслуживающих реализацию рассредоточенной функции также оказывается рассредоточенным по тексту программы (по различным ее модулям). Наиболее приемлемое решение этой проблемы представляет технология вертикального слоения, которая основана на вертикальном слоении Фуксмана. Эта проблема решается на основе RD –модуля, в который вместо громоздкого контекста вертикального слоя используется компактная и познаваемая модель, играющая важную роль как при отладке как и при тестировании модуля. а также позволяет объединять и связать RD - модули в единый программный проект. RD - модули предназначены для адекватного описания  рассредоточенных функций, обобщающих традиционные формы модульности и являются развитием и конкретизацией сосредоточенного описания  рассредоточенных действий.

 

RD - модуль представляет собой последовательность разделов:

1) тело 

2) интерфейс 

3) локлы

4) импорт 

5) интеграция.

Тело RD -модуля – объединение моделей с именами действий, реализующих рассредоточенные функции.

В разделе интерфейса, содержится описание интерфейса по данным между вершинами и действиями  RD -модуля.

График

 

 

В разделе  локалы находится описание данных, необходимых для реализации действий RD - модуля и указания координат их вставки в фоновую программу.

 В разделе импорт содержатся  имена глобальных данных и имена программных единиц из которых они импортируются.

В разделе интеграция включается информация, не относящаяся непосредственно к реализации  RD – модуля, но необходимая для автоматизации и интеграции RD- модулей в будущем программном проекте.

Концепция RD - модуля и RD - системы приводит нас к технологии RD, которая состоит в регулярном прагматическом применении при разработке программного изделия, основополагающего принципа Фуксмана: Сосредоточенное описание, рассредоточенных  действий, RD - технология в совокупности с другими технологиями может применятся на всех этапах разработки программного изделия, начиная от проектирования верхнего уровня вплоть до этапа тестирования  кода программы, отладки программы.

 

 

Лекция 13

Технология программирования                       8.04.08г.

 

Структурное программирование  предложено разработчиком Дейкетрой.  Основная идея которого положена в основу метода структурного программирования - понимаемость программы. В основа такого идеологического метода показывает то, что программа включает ряд подходов,  нисходящее проектирование, ограниченное число  исполнительных программных конструкций, модульность и др. эффекты. Структурность  таких методов и носит название структурного подхода, в котором реализуется основная и идеология 3-х видов операторов:  последовательный, условный и оператор цикла. Доказано, что этих 3-х операторов для представления программы сверх вниз достаточно. Основным нарушителем данного подхода  по Дейкетру  является оператор goto, который можно и не исполнять.

Однако существуют операции, когда  нужно и лучше его использовать.

Второй момент в структурном подходе. возможность некоторой автоматизации и унификации программы, т.е. использование блочного программирования  (один вход и выход), а с другой стороны возможность использования ограниченного числа операторов. Это позволяет:

  1. Понимать  программу.
  2. тестировать ее
  3. программа начинает становиться прозрачной и не зависеть  от объема.

 

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

 

Построение программы от данных

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

Процедура создания программы по методу Джексона состоит из следующих шагов:

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

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

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

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

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

5)  Стереотипным образом диаграммы обработки данных преобразовываются в программы обработки данных на некотором языке программирования.

Метод Джексона исполняет также 3 вида операторов: последовательный, ….. , альтернация (послед. условный, цикла)

Конфликты, возникающие при структуризации входных и выходных данных в методе Джексона

 

1) Конфликт порядка

2) Конфликт структур

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

2) Конфликт структуры – ситуация в которой в 2-х различных описаниях нет соответствия между компонентами типа итерации, в то время, как подчиненный им компоненты соответствуют друг другу, т.е.  возникают 2 структуры.

 

 

 

График

R – технология

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

1) В качестве изобразительного средства описания программы предлагается язык  нагруженных ориентированных графов.

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

3)Разработка программного обеспечения  выполняется по безбумажной технологии под управлением и контролем со стороны ЭВМ. Применяемый в  R- технологии язык – это язык графов с нагруженными дугами, каждая дуга графа может сопровождаться произвольным текстом сверху вниз. Текст под дугой определяет условия прохода по дуге. а текст над дугой определяет действия, которые производятся в данном направлении….

Вершины графа соответствуют состоянию программы из каждой вершины может выходить и в каждую может входить по несколько дуг. Для улучшения качества создаваемого программного обеспечения в R - технологию вводятся ограничения на способы построения программ. Для чего вводятся структуры (подграфы) с одним входом и одним выходом, подобная идеология уже реализована в UNIX - подобные и в ряде языков, например, FORD.

Граф. представленный в таком виде и представляет собой объединенный граф R - технологии, и который уже можно применять весь математический. аппарат.

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

Чертеж в методы R - технологии используется как единица разработки и как единица документации, т.е. единая и не делимая часть будущей программы.

Рабочее поле чертежа содержит формальное описание данного этапа программы (результата шага программы).

 

Язык  R – схем

Представляет собой некоторую оболочку, в которой может быть погружен любой язык, т.е. как формальный, так и не формальные языки, т.е. в качестве нагрузки могут использоваться логические выражения и операторы любого погружаемого языка в эту оболочку в том числе и естественного языка. Например, в Глушко использовали Фортран, Алгол и в том числе и русский язык.

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

 

Лекция 14

Анализ правильности проектной информации.

 

На всех этапах развития и разработки программного обеспечения необходимо представление как программы, так и документирования

1) Проблема: как адекватно считать  информацию достоверной.

Существуют всевозможные стратегии в плане выбора проектной информации

Тестировщик

Методы и информация

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

Информация о работе Лекции по "Технология программирования"