Сначала вам нужно решить, что будет делать ваше приложение и кто будет его использовать.
Далее вы можете создать вариантов использования , чтобы начать планировать, что именно будут делать пользователи. Вы можете даже создавать причудливые маленькие диаграммы с фигурками и стрелками.
Диаграммы последовательности и макеты экрана помогут вам спланировать, как будет работать система, и какие страницы вам понадобятся.
Вы также можете создать диаграмму классов на основе UML , которая действительно поможет вам спланировать, какие классы вам понадобятся, включая какие методы и переменные им понадобятся, а также поможет вам в этом. трек для разработки базы данных под ваш сайт.
Выполнение этих вещей может показаться скучным или неубедительным по сравнению с прыганием и написанием кода, но поскольку это заставляет вас думать заранее, вы можете избежать множества ловушек, даже если вы делаете это наполовину.
Оттуда вы можете составить серьезный список TODO и упорядочить задачи по зависимостям и приоритетам. Я использую текстовые файлы. Это не самое причудливое решение, но оно работает для меня.
Edit:
Расширение моего собственного процесса. Обратите внимание, что это то, что я делаю, работая самостоятельно над своими собственными проектами.
После того, как я выполнил вышеописанное, следующее, что я сделаю, на самом деле запишу таблицы базы данных, что-то вроде этого:
USERS TABLE
===========
user_id (PK) unsigned int (10)
username varchar(30)
email_address varchar(30)
is_active bool
password varchar(41)
registration_date datatime
registration_ip varchar(20)
last_login_ip varchar(20)
last_login_date datetime
... и т.д.. для всех таблиц. Затем откиньтесь на спинку кресла и посмотрите, как таблицы связаны друг с другом, подумайте о том, что может отсутствовать, и нормализуйте / денормализуйте до тех пор, пока это не будет иметь смысл для создаваемого приложения и особенно для запросов, которые необходимо будет написать. Да, я делаю это в текстовом файле.
Я настоятельно рекомендую, как и другие, шаблон проектирования MVC. Это может не соответствовать тому, что вы хотите сделать, но обычно подходит для большинства веб-приложений и делает их намного проще в реализации и обслуживании. Последнее, что вам нужно, это код спагетти.
Так что, если вы собираетесь использовать MVC, должно быть достаточно ясно, какие модели вам нужно написать (самая важная часть), а также контроллер и просмотр файлов.
Вот как я организовываю то, что мне нужно сделать:
TODO
- create database tables
- user registration
- authentication
...
SECURITY
- sessions in db table
- xss cleaning in form x
...
и т.д.!
Каждый раз, когда я думаю о том, что мне нужно сделать, это становится точкой. Очевидно, что эти точки могут легко расширяться дальше. Я пытаюсь упорядочить их по , как мне кажется, работать над следующим (потому что это самый простой способ двигаться вперед) и по важности или зависимости от других задач.
Некоторым это может показаться глупым, но так я слежу за вещами.
Надеюсь, это даст вам некоторые идеи.