Бьерн Страуструп. Язык программирования С++ Второе дополненное издание



Pdf көрінісі
бет205/256
Дата11.07.2022
өлшемі2,87 Mb.
#37591
1   ...   201   202   203   204   205   206   207   208   ...   256

разделения между стадиями ($$11.4.2). Нет единственно верного способа для этого. 
Приведенная здесь модель процесса развития программного обеспечения радикально отличается от 
традиционной модели "каскад" (waterfall). В последней процесс развития протекает линейно от стадии 
анализа до стадии тестирования. Основной недостаток модели каскад тот, что в ней информация 
движется только в одном направлении. Если выявлена проблема "ниже по течению", то возникает 
сильное методологическое и организационное давление, чтобы решить проблему на данном уровне, не 
затрагивая предыдущих стадий процесса. Отсутствие повторных проходов приводит к дефектному 
проекту, а в результате локального устранения проблем получается искаженная реализация. В тех 
неизбежных случаях, когда информация должна быть передана назад к источнику ее получения и 
вызвать изменения в проекте, мы получим лишь слабое "колыхание" на всех уровнях системы, 
стремящейся подавить внесенное изменение, а значит система плохо приспособлена к изменениям. 
Аргумент в пользу "никаких изменений" или "только локальные изменения" часто сводится к тому, что 
один отдел не хочет перекладывать большую работу на другой отдел "ради их же блага". Часто бывает 
так, что ко времени, когда ошибка уже найдена, исписано столько бумаги относительно ошибочного 
решения, что усилия, нужные на исправление документации, затмевают усилия для исправления самой 
программы. Таким образом, бумажная работа может стать главной проблемой процесса создания 
системы. Конечно, такие проблемы могут быть и возникают в процессе развития больших систем. В 
конце концов, определенная работа с бумагами необходима. Но выбор линейной модели развития 
(каскад) многократно увеличивает вероятность, что эта проблема выйдет из-под контроля. Недостаток 
модели каскад в отсутствии повторных проходов и неспособности реагировать на изменения. 
Опасность предлагаемой здесь итеративной модели состоит в искушении заменить размышление и 
реальное развитие на последовательность бесконечных изменений. Тот и другой недостатки легче 
указать, чем устранить, и для того, кто организует работу, легко принять простую активность за 
реальный прогресс. 
Вы можете уделять пристальное внимание деталям, использовать разумные приемы управления, 


Бьерн Страуструп.
Язык программирования С++ 
 
289 
развитую технологию, но ничто не спасет вас, если нет ясного понимания того, что вы пытаетесь 
создать. Больше всего проектов проваливалось именно из-за отсутствия хорошо сформулированных 
реалистичных целей, а не по какой-либо иной причине. Что бы вы не делали и чем бы не занимались, 
надо ясно представлять имеющиеся у вас средства, ставить достижимые цели и ориентиры и не искать 
технических решений социологических проблем. С другой стороны, надо применять только адекватную 
технологию, даже если она потребует затрат,- люди работают лучше, имея адекватные средства и 
приемлемую среду. Не заблуждайтесь, думая, что легко выполнить эти рекомендации. 


Достарыңызбен бөлісу:
1   ...   201   202   203   204   205   206   207   208   ...   256




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

    Басты бет