Реклама:

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

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

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

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

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

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


⇐ Предыдущая страница| |Следующая страница ⇒