Для крупного проекта, что планирование должно быть сделано прежде, чем кодировать и как к нему нужно приблизиться? [закрытый]

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

Когда тема более широкая, например «бизнес» или «спорт», поиск по ключевым словам может быть чрезмерным и отсутствовать. Это когда подход машинного обучения может начать становиться лучшей идеей. Если машинное обучение - это путь, по которому вы хотите идти, то есть два шага:

  1. Вставьте ваши статьи в векторы функций
  2. Обучите свою модель

Шаг 1 может быть чем-то простым, например, вектором TFIDF. Тем не менее, встраивание ваших документов также может быть глубоким изучением самостоятельно. Здесь вступают в игру CBOW и Skip-Gram. Популярный способ сделать это - Doc2Vec (PV-DM). Хорошая реализация в библиотеке Python Gensim. Современные и более сложные вложения символов, слов и документов представляют собой гораздо более сложную задачу, но они очень полезны. Примерами этого являются вложения ELMo или BERT.

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

Мое личное предложение было бы придерживаться векторов TFIDF и Наивного Байеса. Исходя из опыта, я могу сказать, что это работает очень хорошо, намного проще в реализации и может даже превзойти такие подходы, как CBOW или Doc2Vec, в зависимости от ваших данных.

6
задан Hanno Fietz 8 March 2009 в 16:38
поделиться

10 ответов

Поскольку крупный проект сначала думает об остроте к описанию Вашего сайта (попытайтесь не использовать любые модные словечки здесь). Затем думайте о трех принципах дизайна (постановляет, что Ваш дизайн никогда не Должен конфликтовать с). Затем привлеките несколько представлений и продумайте несколько пользовательских случаев (1 день) затем работают в коде в течение 2 недель (это будет броском далеко, прототип поэтому просто работает с такой скоростью, как можно забыть об ошибках и деталях, не волнуйтесь о запахах кода или шаблонах разработки, просто сделайте столько, сколько Вы можете), затем переоценить все шаги выше, и выбросьте свой двухнедельный прототип и начните свой проект серьезным способом, применяющим серьезную разработку и дизайн. После того, как месяц прошел, оценивают Ваш (команда) мораль и получают обратную связь. Если все это, кажется, идет хорошо, продолжается, Вы получили долгую поездку вперед, иначе просто сдайтесь, сделайте вскрытие и запуститесь с новых целей.

6
ответ дан 8 December 2019 в 13:03
поделиться
  • Составьте список всех функций, которые имеет сайт.

  • Составьте список хороших, чтобы иметь функции.

  • Составьте список слабости сайта.

  • Прикажите, чтобы список и расположил по приоритетам объекты, которые будут созданы сначала.

  • Определите то, что будет возможно сделать и что не.

  • Встретьтесь со своим клиентом и представьте эти результаты.

2
ответ дан 8 December 2019 в 13:03
поделиться

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

3
ответ дан 8 December 2019 в 13:03
поделиться

Обычно я делаю интеллект-карту

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

Перекрестные функции соединения mindmapping программного обеспечения делают это партией легкий. Так как mindmapping является 'видом свободной формы', я заканчиваю тем, что концентрировался на 'задаче', а не 'представлении' (например, какой тип диаграммы UML я должен использовать для представления этого)?

После того как начальные представления являются четкими затем, я могу работать над планом проекта, документами спецификации/дизайна с помощью UML для большего количества низкоуровневых деталей. Этот подход обычно работает хорошо на меня.

Чтобы видеть, работает ли это на Вас или нет, можно использовать FreeMind (открытый исходный код mindmaping программное обеспечение, хорошая но в настоящее время ограниченная функциональность). Затем можно попробовать MindManager или iMindmap для mindmaping. Оба интегрируются хорошо с другими Продуктами Office.

2
ответ дан 8 December 2019 в 13:03
поделиться

Обычно я начинаю путем захвата моего scratchbook и только начинаю записывать то, что я хочу как с точки зрения функций, это должно быть вполне детализировано. И может быть довольно грязным с каждой вещью, скремблированной вместе, если так, когда Вы сделаны, делают 'официальную версию', Вы - идеи о бумаге (РЕАЛЬНОЕ перо и бумажные работы лучше всего для этого, по-моему).

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

После этого я создаю самые важные страницы на платформе кода (я всегда использую платформу, если Вы затем не забываете часть платформы), и 'большинством важных страниц', я имею в виду в, например, блоге, который был бы сообщениями. После той сборки not-so-important страницы, в случае блога, который мог быть архивом сообщений.

Если Вам сделали это, помещаете код вместе с дизайном или делаете это при кодировании, если Вы не разделяете код от HTML/CSS/JS.

О, и да, НЕ разворачивайте свою первую идею по пути. Просто запишите это и реализацию это впоследствии. Таким образом, если, в случае блога снова, Вы думаете половина путем, Вы хотите теги YouTube в, Вы - код BB, записываете его. Добавьте, что позже, offcourse, прежде чем Вы будете начальными выпусками сайта.

Это - мой рабочий процесс, по крайней мере, основное основное, основное описание его.

1
ответ дан 8 December 2019 в 13:03
поделиться

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

Можно затем использовать эскизы для первого теста удобства использования прихожей и позже как основание для "каркасов", которые Вы дали бы веб-дизайнеру для работы от.

При прохождении через полного сайта однажды у Вас, вероятно, есть хорошая идея того, что бэкенд должен смочь сделать. Можно теперь использовать эскизы страницы и составить список действий, которые пользователь может инициировать путем нажатия на вещи. Это - сырье для разработки серверной стороны API, который может назвать frontend.

Используя вызовы, которые должны быть поданы, можно разработать бэкенд: Какую группу технических возможностей приятно, какие данные должны быть выбраны, что, необходимо сохранить между вызовами страницы (== Переменные сеанса) и т.д.

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

1
ответ дан 8 December 2019 в 13:03
поделиться

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

1
ответ дан 8 December 2019 в 13:03
поделиться

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

Плотная бумага и окрашенные перья могут быть особенно забавой использовать, поскольку это 3 фута шириной и прибывает в 100-футовые списки. Когда у Вас есть дизайн, это удовлетворяет или достаточно завершенное, порвите его от списка и прикрепите к стене. Обновление по мере необходимости.

Та техника работала на некоторых больших, осуществляет рефакторинг, а также новые проекты.

1
ответ дан 8 December 2019 в 13:03
поделиться

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

Еще одна идея: Укажите те функции, которые Вы не собираетесь включать, и другие ограничения. Их называют ограничениями и так же важны как остальная часть плана, поскольку это дает Вам границы, таким образом, Вы знаете, когда Вы сделаны, планируя!

1
ответ дан 8 December 2019 в 13:03
поделиться

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

0
ответ дан 8 December 2019 в 13:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: