
- •1) Роль программных систем сапр тпп в современном производстве.
- •3) Назначение основных компонент по, связь с другими видами обеспечения сапр тпп
- •4) Основные принципы проектирования по сапр тпп
- •8)Структуры пакетов прикладных программ
- •6. Характер решаемых задач и квалификация пользователей
- •5)Характеристика сфер применения вычислительных систем (вс)
- •2) Структура и состав программного обеспечения (по) сапр тпп
- •18. Системы программирования принятия решений: выбора и синтеза
- •19) Система программирования татра: назначение, принципы организации, состав и структура, языковые средства
- •32. Этапы жизненного цикла программ и программных систем
- •33. Качество программного обеспечения: классификация показателей качества по
- •36. Показатели качества этапа сопровождения программных систем
- •39. Вопросы разработки и внедрения пакетов прикладных программ: стадии исследования и обоснования создания сапр
- •5.1. Стадия исследования и обоснования создания сапр
- •38. Модели жизненного цикла программного обеспечения: спиральная модель
- •39. Вопросы разработки и внедрения пакетов прикладных программ: стадии исследования и обоснования создания сапр
- •40. Вопросы разработки и внедрения пакетов прикладных программ: техническое задание
- •41. Вопросы разработки и внедрения пакетов прикладных программ: эскизный проект
- •42. Вопросы разработки и внедрения пакетов прикладных программ: технический проект
- •43. Вопросы разработки и внедрения пакетов прикладных программ: рабочий проект
- •46. Понятие «технологии организации процесса проектирования программных систем»
- •48.Технологии разработки программного обеспечения: программирование сверху - вниз
- •44. Вопросы разработки и внедрения пакетов прикладных программ: изготовление несерийных компонент
- •47. Технологии разработки программного обеспечения: модульное программирование
- •49. Технологии разработки программного обеспечения: структурное программирование
- •50. Hipo-технология
- •34. Показатели качества этапа проектирования программных систем
- •35. Показатели качества этапа эксплуатации программных систем
- •37. Модели жизненного цикла программного обеспечения: каскадная модель
49. Технологии разработки программного обеспечения: структурное программирование
Понятие структурного программирования представляет собой некоторые принципы написания программ в соответствии с набором жестких правил и имеет целью облегчение процессов тестирования, повышения производительности программистов и улучшения читабельности программ.
В структурном программировании любой алгоритм на любом уровне проектиро-вания, организованного по нисходящей схеме, должен быть записан только с помощью допустимых структур. Различают три допустимые структуры (рис.19): линейна (функциональный блок), выбора (конструкция выбора решения из заданного множества) и циклическая (конструкция обобщенного цикла). Все структуры имеют один вход и один выход (на рисунке обозначены жирными стрелками). Допускается неограниченное вложение структур друг в друга и рекурсивное.
В конструкции выбора Р(х) – это одномерный предикат вида Р(х)=(х*А), где * - отношение, а Р1(х) – это система одномерных предикатов вида:
Всякая программа, может быть представлена, как суперпозиция допустимых структур. Программа, построенная путем применения таких структур, является модульной. Идея “вложенных структур”, при преобразовании программы по нисходящей схеме позволяет любой функциональный элемент, заменить эквивалентным из допустимых структур, не вызывая никаких последствий, в остальной части программы. Процесс преобразований может продолжаться до тех пор, пока не будет достигнут уровень “атомарных” модулей, т.е. отдельных вычислительных операторов. В этом состоит существенное различие в подходах структурного и модульного программирования, т.к. программист, применяя технологию модульного программирования, пытается разбить каждый модуль на меньшие модули и, если модуль не поддается дальнейшему разбиению, то он рассматривается, как неделимая система (элемент). Это означает, что тестирование, отладка, сопровождение и понимание такого модуля затруднены.
Для суперпозиции допустимых структур, не требуется применение операторов GOTO поэтому, структурное программирование называется еще программированием “без GOTO”. Структурные программы, в отличие от программных, имеют простую, древовидную архитектуру, легко читаются и модифицируются. В структурной программе, нет клубка переходов вперед-назад, нет латок. Это достигается, как преобразованием программы по нисходящей схеме, так и тем, что на этапе проектирования созданы некоторые, искусственные трудности – запрещено использовать оператор GOTO, конструирование программ разрешено проводить только с использованием допустимых структур. Эти трудности удлиняют процесс проектирования программы, что приводит к ее дополнительной проработке, а так же структурированная программа, требует больше ресурсов ЭВМ (памяти и времени) по сравнению с неструктурированной программой. Но на структурированной программе, появляется возможность провести формально доказательство правильности процесса ее проектирования, а так же резко сократить процесс отладки, а, следовательно, сократить и весь процесс изготовления программ.
Теоретическая основа структурного программирования, допускает реализацию его принципов на многих современных языках систем программирования. Исключительными средствами реализации структурного программирования, являются системы программирования – Алгол и ПЛ/1. Системы программирования Кобол и Фортран, по мнению многих сторонников структурного программирования не достаточны, для формализации структуры, не содержащей операторов GOTO.