2010-04-12 6 views
5

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

Причина моего запроса связана с классом, который я беру на UML и другими подобными вещами такого характера. Из того, как настроен класс, мы создаем макетную библиотечную систему широко с такими программами, как Visual Paradigm, но для всей работы до сих пор мы еще не сделали никакого программирования (и мы не намерены ни для этого макета проект).

Возможно, это именно то, чему учат класс, но мне кажется, что многие вещи, которые учат в курсе, очень желательны в своем представлении о важном планировании программных проектов. Я вижу, насколько полезны объектные диаграммы, но другие диаграммы оставляют желать лучшего. Насколько полезны диаграммы последовательности или диаграммы состояний машины на практике?

Итак, из-за вышеизложенного, сколько и какое планирование используется для проектов программного обеспечения, которые вы или ваша компания разрабатываете? Это обширно или минимально? Вы глубоко вникаете в планирование всего или получаете общее представление о проекте перед написанием кода?

+0

Просто получить A, получить стажировку, а затем получить работу. Я использую не более 20% того, что я узнал в колледже. Степень колледжа - это способ отсеять некомпетентных людей, плюс это очень дорогая таблетка для плацебо. Фактическое обучение начинается с работы. Это не имеет значения; просто хорошо в классе. –

+0

@Hamish: степень в колледже дает вам фон CS, который может быть полезен в задании (например, лучше понять, как разрабатываются алгоритмы, как доказать правильность, как измерить производительность), это не значит, учите вас быть разработчиком или иметь инженерные навыки.Если бы торговые школы, которые просто учили развитие, были конкурентоспособными и высококачественными, меньше компаний сосредоточились бы на степенях СС. – Uri

+0

Я полностью согласен с Хэмишем в связи с тем, что теперь я использую менее 20% (может быть, менее 10, я думаю, иногда) того, что я узнал в колледже. Тем не менее, я не знаю, это ли это только я или что, но приличный кусок из этих 10-20 процентов был из моих классов разработки программного обеспечения. Профессор был действительно знающим парнем, который был в отрасли уже давно. Мне жаль, что я не смогу вернуться назад и не освоить советы этих классов сейчас, когда я знаю, о чем это говорит. – Brandi

ответ

2

Я думаю, что вы запутываете планирование и дизайн/архитектуру. Планирование обычно относится к деловой стороне вещей - сколько людей будут делать что-то в течение долгого времени. Дизайн/архитектура должен иметь дело с тем, как делать все правильно, предполагая, что у вас достаточно времени и бюджета.

С точки зрения дизайна большинство разработчиков знают UML в некоторой степени, но не обязательно используют его. Если им предоставляются инструменты CASE, они могут использовать диаграммы классов для индивидуального использования, но не часто использовать другие. Инструменты CASE заставляют вас использовать «формальную форму» UML, поэтому они довольно строги и ограничивают их творческое использование. Модель CASE часто создается для получения кода. В моей собственной компании мы создаем тонну кода, но не используем UML вообще.

Для совместного проектирования и обзора (например, на чертеже) UML чаще встречается, потому что «все говорят». Однако из наблюдательных исследований, которые я сделал и опубликовал, UML, нарисованный на доске, просто означает конец - люди заимствуют определенные обозначения, но используют их для общения идей. Таким образом, вы увидите такие вещи, как последовательности и поток управления на диаграмме классов. Полученные артефакты - это не то, что вы могли бы просто захватить в инструмент CASE. Вы можете увидеть my dissertation для многих фотографий того, как выглядят эти вещи, когда вы группируете кучу опытных разработчиков для создания дизайна.

С точки зрения планирования, мой опыт в том, что это сильно отличается между компаниями-разработчиками программного обеспечения и компаниями, которые также разрабатывают программное обеспечение. В последнем (которые составляют большинство) планирование на макроуровне часто делается на основе корпоративной культуры и планирования бизнес-стиля, такого рода материал, который вы изучаете в МВА. Обычно это не касается программного обеспечения, и, что касается управления, вы можете создавать программное обеспечение или выпекать кексы, это всего лишь цифры. На более микроуровне нет какой-либо официальной системы. Инструменты, такие как диаграммы и таблицы Gantt, используются для отслеживания того, что по сути является наилучшим вариантом догадок и сокращенных расписаний. Но, в конце концов, это зависит от опыта руководства - бывшие разработчики обычно сильнее на этом. Некоторые методы, такие как Agile, упрощают планирование в некотором роде.

+0

Спасибо за ответ, я прочитаю вашу статью на днях. Поскольку нет других ответов, я помечаю ваш как правильный ответ. – Nitrodist

 Смежные вопросы

  • Нет связанных вопросов^_^