СРСП

Тема: Теоретические основы ООП.

Цель: знать основные определения и понятия

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

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

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

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

image

Рис. 0.1.  Архитектура программы, использующей глобальную область данных

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

Необходимость исключения таких ошибок привела к идее использования в подпрограммах локальных данных (рис. 1.2).

image

Рис. 0.2. Архитектура программы, использующей подпрограммы с локальными данными.

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

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

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

Были сформулированы основные принципы выполнения разработки:

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

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

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

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

Метод пошаговой детализации заключается в следующем:

1) определяется общая структура программы в виде одного из трех вариантов (рис 1.3):

1.       последовательности подзадач (например, ввод данных, преобразование данных, вывод данных);

2.       альтернативы подзадач (например, добавление записей к файлу или их поиск);

3.       повторения подзадачи (например, циклически повторяемая обработка данных).

image

Рис. 0.3. Основные структуры процедурной декомпозиции

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

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

Контрольные вопросы

1.                    Что представляет собой структурное программирование?

2.      Сформулируйте основные принципы выполнения разработки.

3.      В чем заключается метод пошаговой детализации?

 

 


Ұқсас жұмыстар

Вуздағы кафедра құжат айналымын DELPHI көмегімен дамытуды ұйымдастыру
Акционерлік қоғамның қаржылық жағдайына жүргізілген талдау
Тіршілік қауіпсіздігі негіздері
Төлем көзінен салық салынбайтын табыстары барлар
Баян Сұлу АҚ мысалында операциялық және қаржылық тұтқа әсеріне талдау жүргізу
Оқу процесін ұйымдастырудың кредиттік жүйесі
Туристік өнімді қалыптастыру
Тұрғын үймен қамту бағдарламалары
Аммиактың алмасуы
Сызықтық регрессия