В очень общих терминах «разработка программного обеспечения» - это процесс, в котором вы разбиваете проблему под рукой в серии модулей и указываете, какова ответственность каждого модуля, и как каждый модуль должен взаимодействовать с другими модулями (если в все).
Существуют различные способы продолжить это действие. Учитывая, что это будет вашей первой попыткой, сделайте все как можно проще: возьмите несколько листов бумаги и ручку.
Первый шаг: запишите список задач, которые ваше новое приложение должно выполнить.
После этого попытайтесь сгруппировать задачи в разные наборы, которые, по вашему мнению, логически связаны друг с другом.
Для каждого подмножества найдите имя, напишите его на чистом листе (по одному на подмножество) и опишите, что модуль делает, более подробно, включая тип данных, с которыми он должен работать и / или обмениваться с другими. Каждый из них является «модульной конструкцией»
На другом чистом листе нарисуйте прямоугольник для каждого подмножества, пометьте его соответствующим именем и попробуйте нарисовать стрелки из одного поля в другое, каждая стрелка должна иметь имя и представлять один из ваших модулей, вызывающих другой. Давайте назовем этот ваш модуль "бумага для дизайна интерфейса".
Дважды проверьте описание ваших модулей с интерфейсами, которые они должны предлагать другим модулям, и посмотрите, требует ли это изменения в исходном списке задач и как это влияет на данные, которыми они управляют.
Модули можно подразделить итеративно, если они кажутся вам слишком сложными / большими. Просто нарисуйте другой документ по дизайну интерфейса, если вы разбиваете модуль на подмодули, и помните, что сумма подмодулей должна быть в состоянии выполнять все задачи, которые вы изначально предусмотрели для вашего модуля, и иметь возможность отвечать на запросы остальных система.
См. Также Карты CRC для получения более подробной информации.