Я все еще в университете, и я до сих пор не имею опыта работы с созданием больших систем масштаба программного обеспечения, но ...
Первое, что нужно сделать, это выяснить, что разыскивается. До сих пор для меня это обычно спецификация присваивания, но в реальном мире речь идет о разговоре с клиентом. Много.
Затем я выясню, как это сделать. Для относительно небольших программ, над которыми я работаю, я, как правило, формирую в своём мозгу общее представление о том, как будет выглядеть моя программа (каковы важные части программы и как они взаимодействуют друг с другом). Это может быть связано с шипами, если я не знаю, как будет работать какая-то часть программы. Я не думаю, что этот подход (все это на мой взгляд) будет очень хорошо масштабироваться, но вопрос был задан тем, что мы на самом деле делаем ...
Как только я знаю более или менее то, что я пытаюсь сделать, я сажусь и пишу код. Именно здесь я обнаруживаю любые проблемы в том, о чем я думал.
Я не думаю, что я использовал псевдокод для разработки алгоритма. Я думаю, что псевдокод слишком низкий, чтобы создавать большие куски программы.
Я использовал только блок-схему , чтобы помочь в разработке программы - назад, когда я изучал сборку и был совершенно новым для программирования (и это было полезно). Mythical Man-Month говорит следующее: «Однако подробный блок-схема« поистине-удар »- это устаревшая неприятность, подходящая только для инициации новичков в алгоритмическое мышление ... Я никогда не видел опытного программиста, который обычно прежде чем начать писать программы ».
Duplicate: http://stackoverflow.com/questions/44254/how-do-you-plan-small-work-or-hobby-projects – gnovice