Д. А. Градусов а. В. Шутов теоретические вопросы разработки программного обеспечения учебное пособие



Pdf көрінісі
бет5/57
Дата29.09.2023
өлшемі2,75 Mb.
#111342
1   2   3   4   5   6   7   8   9   ...   57
глобальных данных 
и набора подпрограмм (в 
основном библиотечных), выполняющих обработку всех данных или 
их части (рис. 1.2). 
Рис. 1.2 - Архитектура программы с глобальной областью данных 
Слабым местом такой архитектуры было то, что при увеличении 
количества подпрограмм возрастала вероятность искажения части 
глобальных 
данных 
какой-либо 
подпрограммой. 
Например, 
подпрограмма поиска корней уравнения на заданном интервале по 
методу деления отрезка пополам меняет величину интервала. Если 
при выходе из подпрограммы не предусмотреть восстановления 
первоначального интервала, то в глобальной области окажется 
неверное значение интервала. Чтобы сократить количество таких 
ошибок в подпрограммах, было предложено размещать 
локальные 
данные.
Сложность разрабатываемого программного обеспечения при 
использовании подпрограмм с локальными данными по-прежнему 



ограничивалась возможностью программиста отслеживать процессы 
обработки данных, но уже на новом уровне. Однако появление 
средств поддержки подпрограмм позволило осуществлять разработку 
программного обеспечения нескольким программистам параллельно. 
В 
начале 
60-х 
годов 
XX 
в. 
разразился 
«кризис 
программирования». Он выражался в том, что фирмы, взявшиеся за 
разработку сложного программного обеспечения, такого как 
операционные системы, срывали все сроки завершения проектов. 
Проект устаревал раньше, чем был готов к внедрению, увеличивалась 
его стоимость, и в результате многие проекты так никогда и не были 
завершены. 
Объективно все это было вызвано несовершенством технологии 
программирования. 
Прежде 
всего 
стихийно 
использовалась 
разработка «снизу—вверх» — подход, при котором вначале 
проектировали 
и 
реализовывали 
сравнительно 
простые 
подпрограммы, из которых затем пытались построить сложную 
программу. В отсутствие четких моделей описания подпрограмм и 
методов их проектирования создание каждой подпрограммы 
превращалось в непростую задачу, интерфейсы подпрограмм 
получались сложными, и при сборке программного продукта 
выявлялось большое количество ошибок согласования. Исправление 
таких ошибок, как правило, требовало серьезного изменения уже 
разработанных подпрограмм, что еще более осложняло ситуацию, так 
как при этом в программу часто вносились новые ошибки, которые 
также необходимо было исправлять... В конечном итоге процесс 
тестирования и отладки программ занимал более 80 % времени 
разработки, если вообще когда-нибудь заканчивался. На повестке дня 
самым серьезным образом стоял вопрос разработки технологии 
создания сложных программных продуктов, снижающей вероятность 
ошибок проектирования. 



Анализ причин возникновения большинства ошибок позволил 
сформулировать новый подход к программированию, который был 
назван «структурным». 
1.2
Структурное программирование 
Структурный подход к программированию появился в 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   57




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет