Скачать книгу

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

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

      Первые программы имели простейшую архитектуру и состояли собственно из программ (процедур на машинном языке) и обрабатываемых данных.

      Рисунок 1.7 – Последовательность операций технологии процедурного программирования и их исполнители

      На верхнем уровне рисунка 1.8 изображена архитектура таких программ.

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

      Появление АССЕМБЛЕРА и высокоуровневых языков FORTRAN, ALGOL позволило повысить сложность разрабатываемых ПО за счет использования подпрограмм. Однако слабым местом такой архитектуры было то, что при увеличении количества подпрограмм возрастала вероятность искажения части данных, которые не делились на глобальные и данные подпрограмм.

      Рисунок 1.8 – Развитие архитектуры программ при технологиях процедурного и структурного программирования

      Кроме того, разрабатываемое ПО с локальными данными по прежнему ограничивалось возможностью программиста отслеживать процессы их обработки. Это предопределило возникновение первого «кризиса программирования» (60-е годы ХХ-го века) – колоссальные успехи в области развития средств вычислительной техники пришли в противоречие с низкой производительностью труда программистов, отсюда проекты устаревали раньше, чем были готовы к внедрению. Появление операционных систем снизило остроту проблем. Однако оставалась разработка ПО «снизу-вверх» – подход при котором сначала разрабатывались сравнительно простые подпрограммы, из которых затем пытались построить сложную программу.

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

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

      1.2.3 Вопросы и задания для самоконтроля

      1 Дайте

Скачать книгу