Разделы презентаций


Структурное программирование

Содержание

В настоящей лекции рассказывается о причинах и сути перехода к структурному программированию.В настоящее время стоимость разработки программного обеспечения составляет 50—80% общей стоимости вычислительных систем.Но не всегда было так… История развития производства

Слайды и текст этой презентации

Слайд 1IT
Структурное программирование

IT Структурное программирование

Слайд 2В настоящей лекции рассказывается о причинах и сути перехода к

структурному программированию.

В настоящее время стоимость разработки программного обеспечения составляет 50—80%

общей стоимости вычислительных систем.

Но не всегда было так…

История развития производства ПО

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

Слайд 3Можно выделить четыре периода развития производства ПО:
1) производство ПО для

удовлетворения собственных потребностей разработчиков (до начала 60-х годов);
2) становление товарного

производства и развитие кризиса ПО (до середины 70-х годов);
3) экстенсивное товарное производство ПО;
4) становление интенсивного товарного производства.

История развития производства ПО

Можно выделить четыре периода развития производства ПО:1) производство ПО для удовлетворения собственных потребностей разработчиков (до начала 60-х

Слайд 4В первый период формировались потребности и создавались необходимые предпосылки развернутого

производства ПО — накапливались знания и минимальные инструментальные средства.

Второй период

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

История развития производства ПО

В первый период формировались потребности и создавались необходимые предпосылки развернутого производства ПО — накапливались знания и минимальные

Слайд 5Что можно сказать о товарных свойствах транслятора или управляющей программы,

которые реагируют на ошибки переводом ЭВМ в останов или буквально

транжирят дефицитное машинное время?
Но в начале 70-х годов начинается переход от использования ассемблеров к проблемно-ориентированным языкам программирования, стабилизация архитектур ЭВМ, операционных систем и систем программирования, создание систем ПО объемом в миллионы строк.




История развития производства ПО

Что можно сказать о товарных свойствах транслятора или управляющей программы, которые реагируют на ошибки переводом ЭВМ в

Слайд 6Третий период характеризуется скорее количественными, чем качественными, изменениями в ПО

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

и количества программистов, скорее стабилизация, чем рост производительности труда, использование давно разработанных инструментальных средств. Рабочее место программиста стоит 2-3 тыс. долл.- меньше чем у клерка или рабочего.

История развития производства ПО

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

Слайд 7Третий период – в середине 70-х годов, назвали «смертью программного

обеспечения».
История развития производства ПО

Третий период – в середине 70-х годов, назвали «смертью программного обеспечения».История развития производства ПО

Слайд 8Все языки программирования и средства создания ПО страдали одним недостатком

– чем больше была программа, тем больше было в ней

ошибок.
Нужен был новый подход, который позволил бы «не держать в голове» программиста все цепочки и связи программы и упростить и автоматизировать весь процесс создания ПО.
Начало этому было положено с выходом книги Дейкстры «GOTO считается вредным» (1968 г.). Она положила начало бурному развитию структурного программирования как нового направления.

История развития производства ПО

Все языки программирования и средства создания ПО страдали одним недостатком – чем больше была программа, тем больше

Слайд 9Однако прошло еще несколько лет пока к идее структурного программирования

добавилось создание концепции абстрактных типов данных (АТД) в виде языка

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

История развития производства ПО

Однако прошло еще несколько лет пока к идее структурного программирования добавилось создание концепции абстрактных типов данных (АТД)

Слайд 10Начало четвертому периоду — переходу от экстенсивного к интенсивному производству

ПО — положила развернутая в 1983 г. Министерством обороны США

программа STARS (Software Technology for Adaptable Reliable Systems — Программная Технология для Адаптируемых Надежных Систем).
Вопреки своему названию эта программа предусматривает не разработку какой-то новой технологии, а организационную перестройку разработки ПО в национальных масштабах .

История развития производства ПО

Начало четвертому периоду — переходу от экстенсивного к интенсивному производству ПО — положила развернутая в 1983 г.

Слайд 11В основе программы было совершенствование обучения программированию, создание института программной

инженерии, всесторонняя поддержка работ по развитию и внедрению технологий в

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

История развития производства ПО

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

Слайд 12Но в основе всего этого лежит подход к структурному программированию

как основе разработки ПО.

На следующих слайдах мы посмотрим, в чем

заключается этот подход.

История развития производства ПО

Но в основе всего этого лежит подход к структурному программированию как основе разработки ПО.На следующих слайдах мы

Слайд 13
Структурное программирование (СП) возникло как вариант решения проблемы уменьшения СЛОЖНОСТИ

разработки программного обеспечения.
Структурное программирование

Структурное программирование (СП) возникло как вариант решения проблемы уменьшения СЛОЖНОСТИ разработки программного обеспечения.Структурное программирование

Слайд 14
В начале эры программирования работа программиста ничем не регламентировалась. Решаемые

задачи не отличались размахом и масштабностью, использовались в основном машинно-ориентированные

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

Структурное программирование

В начале эры программирования работа программиста ничем не регламентировалась. Решаемые задачи не отличались размахом и масштабностью, использовались

Слайд 15
По мере развития программирования появились задачи, для решения которых определялись

ограниченные сроки все более сложных задач с привлечением групп программистов.

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

Структурное программирование

По мере развития программирования появились задачи, для решения которых определялись ограниченные сроки все более сложных задач с

Слайд 16
Таким образом, цель структурного программирования - повышение надежности программ, обеспечение

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

Таким образом, цель структурного программирования - повышение надежности программ, обеспечение сопровождения и модификации, облегчение и ускорение разработки.Структурное

Слайд 17
Методология структурного императивного программирования — подход, заключающийся в
задании хорошей

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

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

Структурное программирование

Методология структурного императивного программирования — подход, заключающийся в задании хорошей топологии императивных программ, в том числе отказе

Слайд 18
Подход базируется на двух основных принципах:
 Последовательная декомпозиция алгоритма решения задачи

сверху вниз.
 Использование структурного кодирования.
 Данная методология является важнейшим развитием императивной (повелительной)

методологии.

Структурное программирование

Подход базируется на двух основных принципах: Последовательная декомпозиция алгоритма решения задачи сверху вниз. Использование структурного кодирования. Данная методология является важнейшим

Слайд 19 Создателем структурного подхода считается Эдсгер Дейкстра. Ему также принадлежит

попытка (к сожалению, совершенно неприменимая для массового программирования) соединить структурное

программирование с методами доказательства правильности создаваемых программ. В его разработке участвовали такие известные ученые как Х. Милс, Д.Э. Кнут, С. Хоор.

Эволюция структурного программирования

Создателем структурного подхода считается Эдсгер Дейкстра. Ему также принадлежит попытка (к сожалению, совершенно неприменимая для массового

Слайд 20 
Методы и концепции, лежащие в основе структурного программирования описаны ниже.


Их три:
Метод алгоритмической декомпозиции сверху вниз;
Метод модульной организации;
Метод структурного кодирования.
Принципы

структурного программирования
 Методы и концепции, лежащие в основе структурного программирования описаны ниже. Их три:Метод алгоритмической декомпозиции сверху вниз;Метод модульной

Слайд 21
Метод алгоритмической декомпозиции сверху вниз — заключается в пошаговой детализации

постановки задачи, начиная с наиболее общей задачи. Данный метод обеспечивает

хорошую структурированность. Метод поддерживается концепцией алгоритма.
 
 
.

Эволюция структурного программирования

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

Слайд 22
Метод модульной организации частей программы — заключается в разбиении программы

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

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

Слайд 23Метод структурного кодирования — заключается в использовании при кодировании трех

основных управляющих конструкций (см. Теорему Бёма-Джакопини). Метки и оператор безусловного

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

Принципы структурного программирования

Метод структурного кодирования — заключается в использовании при кодировании трех основных управляющих конструкций (см. Теорему Бёма-Джакопини). Метки

Слайд 24Основное отличие от классической методологии императивного программирования заключается в отказе

(точнее, той или иной степени отказа) от оператора безусловного перехода.

 
Принципы

структурного программирования
Основное отличие от классической методологии императивного программирования заключается в отказе (точнее, той или иной степени отказа) от

Слайд 25Теорема о структурировании (Бёма-Джакопини (Boem-Jacopini)):
Всякую правильную программу (т.е. программу

с одним входом и одним выходом без зацикливаний и недостижимых

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

 

Принципы структурного программирования

Теорема о структурировании (Бёма-Джакопини (Boem-Jacopini)): Всякую правильную программу (т.е. программу с одним входом и одним выходом без

Слайд 26Следствие 1: Всякую программу можно привести к форме без оператора

goto.
 
Следствие 2: Любой алгоритм можно реализовать в языке, основанном на

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

Принципы структурного программирования

Следствие 1: Всякую программу можно привести к форме без оператора goto. Следствие 2: Любой алгоритм можно реализовать в

Слайд 27
Структурное программирование- это не самоцель. Его основное назначение- это получение

хорошей ("правильной") программы, однако даже в самой хорошей программе операторы

перехода goto иногда нужны: например - выход из множества вложенных циклов.
 

Принципы структурного программирования

Структурное программирование- это не самоцель. Его основное назначение- это получение хорошей (

Слайд 28
Практически на всех языках, поддерживающих императивную методологию, можно разрабатывать программы

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

оператора goto, позволяющие облегчить управление циклами (например, Break и Continue в языке C).
 
.
 

Принципы структурного программирования

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

Слайд 29
Класс задач. Класс задач для данной методологии соответствует классу задач

для императивной методологии. Заметим, что при этом удается разрабатывать более

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

Принципы структурного программирования

Класс задач. Класс задач для данной методологии соответствует классу задач для императивной методологии. Заметим, что при этом

Слайд 30
Мы разобрали основные, наиболее важные моменты, относящиеся к созданию программного

обеспечения. 
На следующей лекции будет показано как реализуется этот подход при

создании программного обеспечения для бортовых ЦВМ.
 

Принципы структурного программирования

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

Слайд 31Спасибо за внимание!

Спасибо за внимание!

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика