Как начать работу над большим проектом?
Большую часть времени я программировал небольшие приложения либо для себя, либо для пользы обучения. Теперь, когда мои навыки программирования считаются чем-то средним, мне стало интересно, как бы я справился с большим проектом программирования.
Предположим, я хотел создать приложение, которое имеет множество функций и предназначено для использования другими, а не только мной; как мне планировать такие проекты?
Должен ли я просто приступить к написанию кода или есть какой-то рекомендуемый процесс?
Заранее спасибо
2 ответа
Хотя у Стива есть хорошая рекомендация, я думаю, что этот ответ, вероятно, немного выше вашего.
"Упрощенная" версия того, как выйти за рамки того, что вы делали:
- собирать требования от пользователей. Запишите их с точки зрения требуемой функциональности.
- Делайте простые макеты экрана. Основная часть здесь - просто сгруппировать функциональность в нужные области.
- Создайте модель данных
- Постройте реальные экраны и свяжите их с моделью данных.
- Итерации с большим количеством функций.
В каждой точке остановитесь и сделайте проверку реальности. Например, имеют ли смысл экраны? Хорошо ли организована информация? В каких областях у вас могут быть проблемы? и т.п.
Прежде всего, оставайтесь на связи с людьми, которые будут фактически использовать этот продукт.
Кроме того, они являются двумя ключами к успешному проекту. Во-первых, разбить его на управляемые части. Другими словами, разбейте его так, чтобы вы могли быстро доставить каждый кусочек, назвать этот кусочек готовым и перейти к следующему. Это поможет вам оставаться сосредоточенным и не лезть из-за головы.
Во-вторых, работай с тем, что знаешь. При движении вверх воздержитесь от использования этого как возможности расширить свои навыки кодирования. Вместо этого вы сосредоточитесь на изучении управления проектами.
После того, как вы выполнили одну или две итерации, изучите различные методологии разработки программного обеспечения, такие как scrum, waterfall и т. Д., И посмотрите, что они могут вам предложить.
Удачи!
Некоторые вещи, которые вы захотите рассмотреть, - это цепочка инструментов, включающая контроль исходного кода, модульное тестирование, документацию, автоматические сборки, непрерывную интеграцию, отслеживание ошибок и т. Д. Программы на этом уровне очень быстро становятся очень сложными. Так что вы определенно не хотите просто начинать кодировать. вы захотите составить список того, что должна делать программа. Затем уточните этот список до обязательных, было бы красиво и в идеальном мире. Из этого списка вы можете начать разработку схемы базы данных, дизайна экрана и структуры классов (при условии ООП).
Эта книга основана на веб-приложениях, но во многом она применима одинаково независимо от того, на каком языке вы работаете:
Вы также захотите подумать об общении, большинство приложений такого уровня сложности - это продукт не одного человека, а команды. В результате эффективное общение и командная работа становятся очень важными соображениями.
Это далеко не все, что вам нужно для создания успешного продукта, но оно должно направить вас в правильном направлении.