Вопрос

У меня есть идея, которую я хочу воплотить в приложение (у меня есть фона программирования C / C ++, C # и Java, поэтому я разработаю в Qt Creator для South-Complation's Sake). Так что теперь я спрашиваю вас старших разработчиков, что мне делать дальше? Я знаю, что все хорошие программы приходят от идеи. Тогда что мне делать? Prototype UI? Затем разработайте код? Есть как круг развития приложения?
Я не имею в виду, чтобы этот вопрос был субъективным или аргументом

Это было полезно?

Решение

Хорошо, от перспективы завершенного разработчика большинство компаний, которые я работал, выполнил хотя бы несколько процессов, ориентированный на процесс. Проекты с открытым исходным кодом, которые я видел, может варьироваться широко варьироваться от Ad-Hoc для чрезвычайно обработки. В целом, хотя, по крайней мере, в корпоративном мире даже на мелких проектах, что-то вроде следующие подходы работали хорошо для меня, а команды, с которыми я работал. Конечно, есть много вариаций, используя разные парадигмы, но в целом это типы шагов, которые я вижу на большинстве парадигм (и я уверен, что оставил несколько предельных шагов):

  • Во-первых, иметь хорошую ручку по вашим требованиям. Если ваши пользователи не уверены, что он точно, что они хотят, то приближение @michael Herold начиная с прототипа UI, безусловно, является одним хорошим предложением. Вы также можете пойти с некоторым типом итеративным подходом, как Agile / Scrum..
  • Далее определите какой-то тип архитектуры высокого уровня, которые должны быть достаточно гибкими для достижения вашей цели. Ваше приложение будет клиентом-сервером? Вам нужна база данных? Несколько потоков? Несколько процессов? Если любой из них был «да», как будут эти потоки / процессы взаимодействовать. Нарисуйте блок-схему после ответа на вышеуказанные вопросы.
  • Если ваш проект имеет размер среднего или больше или больше, вы также можете нарисовать несколько диаграмм типа класса или UML. Подумайте о том, какие классы вам понадобится и их отношения.
  • Если вы хотите попробовать Тестовое развитие Подход, теперь может быть хорошим временем, чтобы превратить ваши требования к модульным тестам.
  • Как только вы получите хорошее представление о том, что вы пытаетесь решить, и как вы собираетесь подходить к его решению, вы, наконец, можете начать кодировать решение.

Некоторые подходы итеративны, такие как Инкрементное развитие или Agile / Scrum.. Отказ В Agile / Scrum ваши итерации будут очень быстрыми, как и каждые несколько недель проходят полный цикл. В постепенном развитии цикл обычно дольше: месяцы или даже годы. В обеих Scrum и в постепенном развитии главное, что следует помнить, заключается в том, что в конце каждой итерации вы хотите иметь использование программного обеспечения (даже если это не делает много). Это помогает сохранить реальные или потенциальные клиенты, и даже разработчики, заинтересованные.

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

Другие советы

Я бы сказал, что это зависит от того, какова будет главная часть заявления. Будет ли большинство работ поступает от проектирования пользовательского интерфейса (т. Е. Это то, откуда приходит «фактор WOW»?) Или это будет в основном манипулированием данных или какой-либо другой «тяжелый подъем» (т. Е. Это мои результаты в Простой пользовательский интерфейс)?

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

Приятно, что если сделано правильно, эти две вещи должны быть полностью (или почти полностью) развязанными и независимыми друг от друга.

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

Взломать с этим. Просто застрял в.

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

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

(Я не предлагаю вам уйти и сделать большой беспорядок, не выступая из-за чего-либо в первую очередь. Просто один из самых сложных частей разработки нового приложения решает, где начать. В какой-то момент вы просто должны взять Окунитесь и начать плавать)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top