В настоящее время я учился в школе, и для моего старшего проекта нам нужно потратить 1/3 семестра, просто делая UML-диаграммы и другую утомительную документацию для нашего проекта.
Это требует много разработки и планирования будущих проблем, которые еще не произошли.
По какой-то причине это, по-видимому, поощряет проектирование. Я потратил последний час на запись таких вещей.
"Подключение к серверу - подключение к серверу. PreCondition: соединения с сервером не существует. Postcondition - соединение теперь существует".
Я предпочел бы кодировать, чем делать эту глупость. Я понимаю, что эта дизайнерская работа имеет свое место, но сколько? Я знаю, что это не пуленепробиваемое доказательство против разработки многого в инструменте, таком как Enterprise Arch, но здесь я иду.
Мой профессор, который преподает этот предмет, разработал проект своего проекта. Все, что могло произойти в приложении, было задокументировано. Вместо того, чтобы кодировать это сам, он использовал эту "безукоризненную документацию" для организации работы за границей и для студентов в течение лета.
Приложение, полученное в результате всего этого проекта, было TERRIBLE. Это одно из худших приложений, которые я когда-либо видел, и кто-то мог сказать вам, что он был переоценен.
Что может сказать об этом предмете сообщество опытных кодеров SO? Много ли разрабатывает проект перед тем, как проект делает плохие программы, заставляя решения, принятые на раннем этапе, только потому, что "проектные документы говорят так"?
Спасибо, за любую информацию, которую вы, ребята, могли бы предоставить. Если бы я знал, что это все по уважительной причине, мне было бы лучше "тратить" мое время на это. Я более чем готов сделать некоторые проектные работы заранее, но я чувствую, что мой профессор ожидает, что многие инженерные решения будут приняты до того, как будет написан какой-либо код.
EDIT: Интересная статья на эту тему. http://books.slashdot.org/story/09/11/16/1448204/Becoming-Agile