Теории разработки программного обеспечения [закрываются]

Если вы работаете с https, вам нужно удалить этот URL из хранилища учетных данных, которое вы используете.

См .:

12
задан Ian Hopkinson 6 February 2009 в 19:30
поделиться

10 ответов

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

Некоторая разработка программного обеспечения имеет твердую математику позади него: O (n регистрируют n) виды быстрее, чем O (n^2) виды и т.д. Но главным образом разработка программного обеспечения о том, как люди думают о программном обеспечении. Как организовать вещи так, чтобы специалисты по обслуживанию не сходили с ума, ожидая то, что, вероятно, изменится и что не, предотвращая и обнаруживая человеческие ошибки, и т.д. Это - ответвление психологии или социологии.

22
ответ дан 2 December 2019 в 03:49
поделиться

Я думаю, что соответствующее теоретическое разделение является теми "более трудными" науками (где могут быть доказательства), и более мягкие темы с качественными ответами и немногими доказательствами если таковые имеются.

Программное обеспечение мне главным образом о языке и коммуникации, тема, которая качественна и субъективна главным образом. Время от времени мы затрагиваем в алгоритмы и другие "твердые" области, где доказательства и строгий формализм существуют. Так, да, обоим нравится.

4
ответ дан 2 December 2019 в 03:49
поделиться

Даже неправильно.

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

3
ответ дан 2 December 2019 в 03:49
поделиться

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

3
ответ дан 2 December 2019 в 03:49
поделиться

Помимо теорий, существуют также платформы, модели и эмпирические правила. Идеи, уверенные, но на основе менее строгой основы, которые свободно принадлежат Вашей категории выявления/управления.

Информатика имеет некоторые сильные основополагающие теории (физические по Вашему определению), но они главным образом состоят из связывания меньших элементов.

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

Paul.

1
ответ дан 2 December 2019 в 03:49
поделиться

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

1
ответ дан 2 December 2019 в 03:49
поделиться

Все эти теории и лучшие практики все еще не принесли нам до такой степени, когда, мы можем произвести программные системы надежно и очевидно. Новейший из этих обзоров датирован 2001; столбец Jeff с 2006 все еще оплакивает высокую интенсивность отказов.

Было бы интересно видеть если чья-либо работа над обновленным обзором.

Авиационная радиоэлектроника и программное обеспечение, выполняющее мой автомобиль, кажется, не перестали работать ни в чем похожем к уровням, заключенным в кавычки для программного обеспечения предприятия. Почему разработчики предприятия не применяют свои методы более тесно? Возможно, мы должны все писать Ada.... [просто шутящий]

1
ответ дан 2 December 2019 в 03:49
поделиться

Они похожи на рецепты: они - инструкции, успех которых зависит:

  • Частично, на качестве рецепта
  • Частично, на качестве компонентов
  • Частично, на навыке (и время, доступное) практики
1
ответ дан 2 December 2019 в 03:49
поделиться

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

Так же, как существуют различные языки, теории/методы/методологии должны использоваться в отличных ситуациях. Структура, правила и определения являются всеми путями, которыми люди понимают, как состоят в том, чтобы быть выполнены вещи, но что должно быть выполнено, субъективно.

Адаптируйтесь, зная гибкое, экстремальное значение, или другие методы на усмотрение клиента, проект, программиста, время, и особенно что делает Вас успешными/счастливыми. Будьте командой и корректируйте/адаптируйте к тому, что Ваша команда делает для большей пользы; просто имейте в виду, чтобы иметь что-то, что Вы определили в своем собственном уме, или это не просто хаос.

[МЫЛЬНИЦА] я начал программировать на Atari 400 с преобразованной плоской клавиатурой и обновлением 64K. Когда я запустил колледж, это был VB 1.0, который я видел свое Экономическое использование Учителя для создания обучающего инструмента, чтобы помочь людям узнать больше об экономике с помощью графиков и визуальных исходных данных. Это было прохладно! И я знал, что мог сделать это.

Этот тот же Экономический Учитель, кто позже становится учителем IT также (он был хорош), спросил, буду ли я преподавать класс отладке. Он сказал, "Я не встретил кого-то, который понимает понятия и имеет врожденную способность отладить с такой скоростью, как Вы делаете, был бы Вы учить нас, что Вы знаете и как Вы делаете это". Это было повышением моего эго, конечно, но учить, воспитывать, и помочь другим.

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

Кто-то сказал мне одно время, "Вы только так же хороши как Ваши инструменты". Учитесь, практикуйте и вырастите.

При определении чего-то это работает, имеет порядок, и это расширяет Вас и границы, Вы не ошибаетесь.

1
ответ дан 2 December 2019 в 03:49
поделиться

Обычно область информатики делится на 4 области (нужно найти ссылку на источник, SWEBOK?), Которые отличаются друг от друга, но связаны и взаимосвязаны:

  • Компьютерные науки
  • Программная инженерия
  • Компьютерная инженерия
  • Информационные системы

В книге Стива МакКоннела «Профессиональная разработка программного обеспечения» содержится хороший анализ инженерии и науки. Посмотрите его Программная инженерия, а не информатика .

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

1
ответ дан 2 December 2019 в 03:49
поделиться
Другие вопросы по тегам:

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