История структурного программирования и проектирования программ

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

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

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

Методология структурного проектирования и разработки программного обеспечения была признана «самой сильной формализацией 70-х годов». Одним из наиболее успешных проектов применения методов структурного проектирования был проект разработки бортового программного обеспечения для космического корабля Буран, для автоматического управления которым впервые использовался бортовой компьютер.

Для документирования программ в проекте "Буран" было предложено использовать структурированный псевдокод В.А.Каймина с записью алгоритмов на русском языке, которые легко читать, понять, исправлять, инспектировать и сопровождать инженерам, техникам и руководителям проектов. Те же самые принципы описания программ были внесены в школьные учебники В.А.каймина и А.П.Ершова для обучения основам алгоритмизации и программирования учащихся и преподавателей средних школ.

После этого слово «структурный» стало модным в отрасли, и структурное программирование начали начали включать в учебники и учебную литературу по информатике и программированию. (В.А.Каймин. Структурные методы разработки программ на языках высокого уровня. М.МИЭМ, 1985) Появились работы по «структурному проектированию», «структурному тестированию», «структурному дизайну» и так далее. В общем, произошло примерно то же самое, что происходило в 90-х годах и происходит в настоящее время с терминами «объектный», «объектно-ориентированный» и «электронный».

 

3.4.Решение электроэнергетических задач с применением ЭВМ.

 

 

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

В связи с этим чрезмерно усложняется задача диспетчерского управления режимами ЕЭС в целом и и входящими в нее ОЭС И ЭС. Управление режимами вручную методами, еще недавно являвшимися традиционными, становится невозможным, и для обеспечения надежности режимов, надлежащего качества энергии и экономичности работы энергосистем внедряются автоматизированные системы диспетчерского управления (АСДУ), базирующиеся на прменения ЭВМ и современных математических методах.

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

Оперативное диспетчерское управление ЕЭС имеет иерархическую структуру. Ступенями диспетчерского управления являются Центральное диспетчерское управление (ЦДУ) ЕЭС (верхний уровень), объединенное диспетчерское управление (ОДУ), управление объединенными энергосистемами (ОЭС), диспетчерские службы (ДС) энергосистем (ЭС), а также диспетчерские службы сетевых районов и дежурные электростанций.

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

 

3.4.1. Разновидности электроэнергетических задач. Способы их решения.

 

Анализ устойчивости электрических систем

 

Устойчивость – свойство системы возвращаться в равновесное состояние после воздействия возмущений. Устойчивость статическая – поведение системы при относительно малых, медленно происходящих изменениях параметров (описывается СЛДУ). Динамическая – при резком переходе от одного режима к другому (СНДУ). Известны 2 основных подхода к исследованию динамических свойств системы, каждый из которых можно применять для исследования обоих типов задач, т.е. для исследования как статической, так и динамической устойчивости. Но у каждого из подходов нет неограниченных возможностей, задачи анализа устойчивости требуют осмысления и обоснованного выбора метода решения.

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

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

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

Этот подход проще в смысле получения решений, но не обладает универсальностью первого. Аналитический подход использует разные методы в зависимости от типов поставленных задач. Для анализа статической устойчивости систем, динамика которых описывается линейными дифф. уравнениями применяются различные критерии: Гурвица, Найквиста, Рауса, Михайлова, D-разбиения и др.

Все критерии разработаны в предположении, что решение СЛАУ при наличии малых возмущений может быть получено в виде

X(t ) = e At + X 0 ,

Для исследования динамической устойчивости, т.е. анализа устойчивости систем, переходные процессы в которых описываются СНДУ, используются методы Ляпунова.