Шаги проекта в разработке/программировании веб-приложений

Я хочу начать работу над веб-приложением, и я почти выполнил функциональную спецификацию:

Куда мне теперь идти?

  • Я начинаю работу над созданием html и css?
  • Я начинаю создавать внутренний код кода? (создание проверка правильности электронной почты на серверах и функции ввода данных базы данных)
  • Нужно ли начинать работу с скриптами на стороне клиента? (JavaScript/JQuery)
  • Я начинаю работать над структурой базы данных?

Есть ли лучший порядок для этих вещей?

Спасибо!

Ответ 1

Хорошо, вы создали отличную технику. Теперь пришло время расширить это "описание" в макетах функциональных интерфейсов пользователя.

Почему?

Спецификация говорит, что приложение должно "делать". Он может даже быть очень подробным. Но полные пользовательские интерфейсы говорят точно, что приложение действительно делает. В конце концов, действительно ли пользователи заботятся о том, что находится под капотом?

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

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

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

И функциональный интерфейс - это не маленькая работа. Возможно, даже 20-40% работы могут потратить на это.

-

Все, что говорится, не тратьте время на то, чтобы сделать все довольно - просто сосредоточьтесь на высокопроизводительных интерфейсах. Графический человек может прийти позже и сделать его довольно, пока вы заняты тем, что он работает.

Ответ 2

Ответ: все вышеперечисленное. (например, HTML/CSS, серверная, база данных, клиентские скрипты и т.д.)

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

По вашему вопросу, похоже, вы никогда не делали веб-приложение раньше. Это хорошо, и ваш вопрос хороший, так как я нахожу, что мое первое веб-приложение довольно сложно.

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

Здесь простое описание этого процесса, по моему опыту:

  • Прекратите работать над своей функциональной спецификацией - отложите ее в сторону и сохраните ее - это важная работа.
  • Выберите 1 функцию... сделайте ее абсолютной простейшей функцией в вашей спецификации, как сейчас.
    • Мое предположение: показать самую простую версию вашей домашней страницы
  • Начните работать над всем, что нужно, чтобы ваша суперпростая домашняя страница действительно работала.
  • Чтобы сделать эту 1 страницу работой, вам нужно будет немного узнать о каждой части вашего стека - за исключением, возможно, базы данных, что хорошо, вы можете принять это на более поздней итерации.
  • Выберите инструменты в вашем стеке...
    • машина/среда разработки (например, linux/apache/php, или windows/iis, asp.net и т.д.).
    • Если вы не знаете свой стек, попросите своих друзей или коллег порекомендовать его.
    • найти учебное пособие по языку разработки (php, asp.net, javascript/jquery) - есть много обучающих онлайн - просто Google для них
  • Следуя инструкциям и/или задавая конкретные вопросы о SO и/или SF, запустите свои инструменты/платформу и получите пример учебника для работы.
  • Как только у вас есть уверенность, начните чистку и создайте свою суперпростую домашнюю страницу.
  • Теперь... вернитесь к функциональной спецификации и выберите следующую простую функцию - возможно, такую, которая включает в себя базу данных.
  • Повторите описанные выше шаги, выберите инструменты и узнайте, как их использовать с помощью учебника, а затем перейдите к реализации вашей простой простой функции.
  • После того, как вы сделали несколько простых функций, скажем, например, 3, просмотрите функциональную спецификацию и посмотрите, нужно ли обновлять ее на основе того, что вы узнали, используя первые 3 функции.
  • Просмотрите свой код из первых трех функций, узнали ли вы все с самого начала? Есть ли какие-либо причины для реорганизации или очистки? Если да, выполните 1 проход при очистке/рефакторинге.
  • Как только вы довольны своими 3-мя простыми функциями, вернитесь к своим спецификациям и выберите другую функцию и/или добавьте больше возможностей для существующей функции.

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

Я не изобрел этот процесс выше, он назывался Scrum. Хотя вам не нужно знать ничего больше, чем то, что я описал выше, чтобы начать работу, вы можете узнать больше об этом (в свободное время или, возможно, до тех пор, пока вы не выполните пять простых функций):

запись в википедии в схватке

Обратите внимание, что каждая итерация, вероятно, потребует от вас немного узнать и создать немного каждой из составных частей, описанных выше: HTML/CSS, серверный код, база данных и т.д.

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

Удачи.

Ответ 3

Ответ Зависит от.

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

Независимо от того, над чем вы начинаете работать, Зависит от от вашей конкретной ситуации.

Если вы являетесь сторонником Domain Driven Design, то у вас будет определенная отправная точка, Если вы являетесь сторонником Test Driven Development, то у вас также есть определенная отправная точка. На самом деле, независимо от вашей версии программного обеспечения, у вас, вероятно, есть отправная точка.

Вот мой ответ: Начните, где вы можете получить максимальную отдачу от своего доллара. Если данные тяжелые, я начинаю там, так как все зависит от этого.

Ответ 4

Двумя из наиболее популярных вариантов являются разработка Driven Driven Development и Test Driven Development. Говоря свободно...

В Domain Driven Development вы должны начать с отображения логической организации процесса разработки в модель, которая может быть использована для программирования.

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

Надеюсь, это даст вам два разных пути, чтобы посмотреть, удачи.