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



Pdf көрінісі
бет204/256
Дата11.07.2022
өлшемі2,87 Mb.
#37591
1   ...   200   201   202   203   204   205   206   207   ...   256
Байланысты:
Бьерн Страуструп. Язык программирования С . М Бином, 2011

11.3 Процесс развития 
Процесс развития программного обеспечения - это итеративный и расширяющийся процесс. По мере 
развития каждая стадия повторяется многократно, и при всяком возврате на некоторую стадию 
процесса уточняется конечный продукт, получаемый на этой стадии. В общем случае процесс не имеет 
ни начала, ни конца, поскольку, проектируя и реализуя систему, вы начинаете, используя как базу 
другие проекты, библиотеки и прикладные системы, в конце работы после вас остается описание 
проекта и программа, которые другие могут уточнять, модифицировать, расширять и переносить. 
Естественно конкретный проект имеет определенное начало и конец, и важно (хотя часто удивительно 
трудно) четко и строго ограничить время и область действия проекта. Но заявление, что вы начинаете с 
"чистого листа", может привести к серьезным проблемам для вас, также как и позиция, что после 
передачи окончательной версии - хоть потоп, вызовет серьезные проблемы для ваших последователей 
(или для вас в новой роли). 
Из этого вытекает, что следующие разделы можно читать в любом порядке, поскольку вопросы 
проектирования и реализации могут в реальном проекте переплетаться почти произвольно. Именно, 
"проект" почти всегда подвергается перепроектированию на основе предыдущего проекта, 
определенного опыта реализации, ограничений, накладываемых сроками, мастерством работников, 
вопросами совместимости и т.п. Здесь основная трудность для менеджера или разработчика или 
программиста в том, чтобы создать такой порядок в этом процессе, который не препятствует 
усовершенствованиям и не запрещает повторные проходы, необходимые для успешного развития. 
У процесса развития три стадии: 


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

Анализ: определение области задачи. 

Проектирование: создание общей структуры системы. 

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

Экспериментирование. 

Тестирование. 

Анализ проектирования и реализации. 

Документирование. 

Сопровождение. 
Сопровождение программного обеспечения рассматривается просто как еще несколько проходов по 
стадиям процесса развития (см. также $$11.3.6). 
Очень важно, чтобы анализ, проектирование и реализация не были слишком оторваны друг от друга, и 
чтобы люди, принимающие в них участие, были одного уровня квалификации для налаживания 
эффективных контактов. 
В больших проектах слишком часто бывает иначе. В идеале, в процессе развития проекта работники 
должны сами переходить с одной стадии на другую: лучший способ передачи тонкой информации - это 
использовать голову работника. К сожалению, в организациях часто устанавливают барьеры для таких 
переходов, например, у разработчика может быть более высокий статус и (или) более высокий оклад, 
чем у "простого" программиста. Не принято, чтобы сотрудники ходили по отделам с целью набраться 
опыта и знаний, но пусть, по крайней мере, будут регулярными собеседования сотрудников, занятых на 
разных стадиях проекта. Для средних и малых проектов обычно не делают различия между анализом 
и проектированием - эти стадии сливаются в одну. Для малых проектов также не разделяют 
проектирование и программирование. Конечно, тем самым решается проблема взаимодействия. Для 
данного проекта важно найти подходящую степень формализации и выдержать нужную степень 

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




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

    Басты бет