Должны ли разработчики программного обеспечения быть квалифицированными в разработке программного обеспечения?

Существует фаза анализа и проектирования жизненного цикла разработки программного обеспечения. Если разработчики программного обеспечения достаточно квалифицированы для выполнения работы, выполненной на этом этапе, например, рисунок диаграммы рабочего процесса , диаграммы потоков данных , ERD , UML , и другие модели?

Я видел некоторые случаи, когда разработчики могут очень хорошо программировать, учитывая четкое понимание того, что требуется. Однако, когда их просят разработать систему, они иногда шатаются.

6 голосов | спросил Shirish11 27 PMpFri, 27 Apr 2012 16:29:21 +040029Friday 2012, 16:29:21

4 ответа


7

Разработчики должны, на мой взгляд, всегда быть активными в дизайне. Зачем? Потому что они их реализуют. Если у вас есть преданные дизайнеры, этот дизайнер должен также кодировать. Это своего рода съешьте свою собачью штучку.

Также не обязательно лучше всего сделать большой авангардный дизайн. Дядя Боб много обсуждает дизайн, ориентированный на пользователя, и рассказы пользователей. Разбивая систему на рассказы пользователей, разработчики могут более легко увидеть, что необходимо для разных пользовательских сценариев, и это улучшит дизайн, а также пользовательский интерфейс в большинстве случаев. Чтобы быть в состоянии сделать это, разработчики должны быть разработчиками системы!

РЕДАКТИРОВАТЬ: Получил, что я фактически не ответил на вопрос.

Да, программисты должны обладать навыками в дизайне, но не обязательно в традиционном большом смысле UML-диаграммы.

Если команда в целом считает, что диаграммы жизненно важны, каждый должен уметь читать ее, и достаточно людей должны быть искусными в их создании. Я не обязательно полагаю, что большая и сложная диаграмма - это то, что необходимо для выполнения работы, хотя.

ответил martiert 27 PMpFri, 27 Apr 2012 17:11:07 +040011Friday 2012, 17:11:07
3
  

Должны ли разработчики программного обеспечения быть квалифицированными в разработке программного обеспечения?

Да, определенно. Однако дизайн не обязательно является большой монолитной фазой, и он не должен записываться как очень формализованные диаграммы.

Чем более детальным является проект, тем вероятнее, что он будет позже отображаться.

Таким образом, ИМО мастерство проектирования заключается не в том, чтобы выплевывать идеальную модель в abstracto . Речь идет о принятии прагматических решений, начиная с малого и выстраивая дизайн, улучшая его, когда вы программируете, и больше узнаете о домене и технических потребностях.

ответил guillaume31 27 PMpFri, 27 Apr 2012 18:56:23 +040056Friday 2012, 18:56:23
2

Хороший разработчик программного обеспечения должен быть знаком с работой, выполняемой на всех этапах жизненного цикла разработки программного обеспечения, начиная с требований, связанных с обслуживанием, а также с различными поддерживающими действиями. Это, очевидно, много области темы, чтобы покрыть, поэтому я не ожидал, что один человек будет экспертом во всем этом.

Что касается дизайна, я бы ожидал, что каждый разработчик программного обеспечения сможет читать общие модели, такие как модели ERD и UML. Это включает в себя способность понимать, что означают символы и как модель относится к их роли в процессе, например, разработка или тестирование. Я также ожидаю, что у них будет достаточно рабочих знаний, чтобы иметь возможность обновлять модели в соответствии с их реализацией по мере необходимости и использовать инструменты, используемые для создания и поддержки моделей.

Что касается собственно архитектуры или проектирования системы, это то, что приходит со временем и опытом. Единственный способ получить хорошее представление о требованиях к системной архитектуре или архитектуре высокого уровня в более подробный дизайн - это сделать это, оценить вашу работу и узнать о любых ошибках. Это не то, что можно прочитать в книге или преподавать в течение курса или два и освоить.

ответил Thomas Owens 27 PMpFri, 27 Apr 2012 17:14:50 +040014Friday 2012, 17:14:50
0
  

разработчики могут очень хорошо кодировать данные, учитывая четкое понимание того, что   требуется.

Даже если пользователь или бизнес-аналитик могут обеспечить специфику требований приложения, это не говорит программисту, как его построить. Возможность разработки будет необходима на определенном уровне. Я согласен с другими в том, что формальное использование диаграмм не является обязательным требованием.

Хороший шеф-повар, возможно, не сможет написать книгу повара или выступить на кулинарном шоу, но это не значит, что они тоже просят кого-то за рецепты.

ответил JeffO 28 AMpSat, 28 Apr 2012 00:36:07 +040036Saturday 2012, 00:36:07

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132