Вообще говоря, это лучше сделать всех функциональных деталях или сделать первые интерфейса работа или смесь двух?
Предполагая, что вы'вновь работает над чем-то большим, это общепринятая практика, чтобы получить все функциональные сбора данных больших двоичных объектов, работающих до любого пользовательского интерфейса, сделать все ИП работает один кусок в то время как вы идете, или что-то посередине?
Все мы знаем, чтобы разбить работу на мелкие кусочки, но вопрос окончательно ли ИП входит в управляемые части, я полагаю.
Для примера, рассмотрим применение графического интерфейса с одним корневым окном, но более десятка вкладок в различных доках, чтобы отделить различные компоненты данных. Каждой отдельной вкладке имеет относительно сложный комплекс движущихся деталей, за ней с точки зрения функциональных единиц.
Пример применения в данном конкретном вопрос здесь с сопровождающими блог и оригинал коммерческого продукта.
Есть общая концепция среди многих бизнес-пользователей и клиентов, что, когда он смотрит полное, почти полное. Как вы, вероятно, знаете, это далеко от истины. Можно иметь красивое, но без серверной части и некоторые пользователи думают, что делает его хорошо выглядеть-это 80% работы, а не 20% (или другой 80%).
Бесчисленные разработчики могут рассказать страшилки из этого - получение макета страниц в Microsoft Word с помощью снимков экрана какой-либо другой инструмент, и клиент говорит "Так, вы'вэ почти сделал это?&и"
Вам нужно ногу так, что все части сделаны, когда его сделали. Пытался сделать сначала все внутренние, а затем все переднего плана приведет к конечному пользователю думая, что вы'вэ ничего не делать и спрашивать, почему вы платили, когда нет ничего, чтобы показать для него. С другой стороны, передний конец первого и вы'll найти конечного пользователя, делая мелкие изменения и отнимает все наше время.
В худшем случае с 'Один в первую, другой' Когда вы доберетесь до другой стороны, вы обнаружите, что это не'т впишется в дизайн вообще.
Таким образом, построить как. Показать прогресс в переднем конце задней части работать с тем, что вы строите. Во многих случаях это хорошая идея, чтобы поставить последовательное построение и убедитесь, что вы'повторно делать то, что хочет клиент (это попадает в подвижный). Тоже давно собираюсь с 'видимый прогресс' может навредить отношений с клиентом (это для обоих случаях 'все выглядит рано' и 'ничего не будет сделано до конца' - его трудно для клиента, чтобы увидеть рамок пишется или модульные тесты или данные санитарная обработка по мере прогресса).
Иоиль писал об этом в айсберг секрет, выявлено:
важный вывод два. Если вы покажете непрограммиста экран, который имеет пользовательский интерфейс, который на 100% красивые, они будут думать, что программа практически выполнена.
люди, которые не'т программисты только глядя на экран и видя некоторые пиксели. И если пиксели выглядят так, будто они составляют программу, которая делает что-то, они думают, что "О, боже, насколько труднее это может быть, чтобы заставить ее работать?&и"
большой риск здесь заключается в том, что если вы макет пользовательского интерфейса, первый, предположительно, так что вы можете сделать разговор с клиентом, потом все'ы будут думать, что вы'вновь почти закончили. А потом, когда вы проведете следующий год работы "под одеялом" ну скажем так, никто не будет на самом деле посмотрим, что вы'повторно делать и они'll не думаю, что это's ничего.
Это еще раз подтвердил в блоге Дон'т сделать демо взгляд сделано, который имеет этот полезный график:
Обратите внимание, здесь два варианта, как правило, отражают 'сделать интерфейс сделали' (а тут расчет на то, что вы'll быть сделано в ближайшее время) и 'сделать бэкэнд сделали' (а то клиент волнуется за тебя пропуска срока).
как 'сделали' что-то внешний вид должен соответствовать, как 'сделали' что-то.
каждый разработчик программного обеспечения испытал это много раз в своей карьере. Но инструменты для верстки привести к той же головной болью для технических писателей--если вы покажете кому-то черновик, что'ы прекрасно fonted и отформатированы, они видят в этом больше, чем вы'd, как. Нам нужен матч, где мы находимся и другие воспринимают нас.
В этой статье также поднимается важный вопрос о типа обратной связи вы получите с разным уровнем готовности пользовательского интерфейса. Если у вас есть что-то, что выглядит полным, Вы'ре более вероятно, чтобы получить обратную связь о том, что "не могли бы вы изменить шрифт" в чем "Эта планировка не't работа - есть слишком много вкладок.&и"
Для тех, кто борется с этим в Java качания мире, там'ы выглядеть и чувствовать себя называется салфетки, что делает его так, что пользовательский интерфейс не'т смотрите полный (даже если это).
<ИМГ СРЦ="и http://i.stack.imgur.com/fKLMvm.jpg">
Ключевым моментом здесь является, чтобы сделать его так, что он не'т вид сделано. Имея вид пользовательского интерфейса в комплекте-это сигнал для многих бизнес-пользователей, что приложение (даже если его всего несколько статических страниц без каких-либо логика или что-то строили в строитель интерфейса).
Дополнительная литература (и ссылки из статьи):
Это зависит: вам понадобится плотный петли обратной связи вокруг наиболее важная часть функциональности
Если ядро то, что вы делаете, рискованное и страшное, какая-то внутренняя движок, потом сделать основную часть работы в консоли или через модульное тестирование. Например, синтаксический анализатор протокола не'т нужна ИП ли его работает правильно.
Если ваша классная вещь предполагает интерактивность интерактивность вы должны быть постоянно неполадок, выбрасывать и заново ... потом УИ-первый подход имеет решающее значение. Например, я хочу построить приложение, чтобы позволить людям взаимодействовать с визуализацией данных. Самое главное мне нужно понять, если визуализация имеет смысл, поэтому я'МР скорее всего выбрасывать полдюжины подходов, прежде чем остановиться на одном. Я'будете делать все это до написания модульных тестов.
Там'с нечеткой серой зоне, в которой вы сами решаете, лучшее сочетание о том, как лучше взаимодействовать и проверки кода (автоматизированные тесты? Интерфейс для экспериментов?). Я'вэ лично сделали обе крайности, и все между ними, и решив, правильное место, чтобы быть на этом спектре является одним из самых трудных вещей, которые я должен решить, и на 100% зависит от типа, что я'м дома.
В гибкой среде можно слышать дискуссии о том, что "скелеты" не ходить; или "тонких вертикальных срезов и". Идея в том, что с работы программное обеспечение, что является важным для пользователей, можно создать программное обеспечение в часть рабочей моды кусок.
В примере приложения вы сказали, Вы бы начать с окна и, может быть, одну закладку, и заставить все это работать вперед-назад в некоторые моды. Затем с течением времени, можно добавить функциональности и, следовательно, вкладки на индивидуальной основе, что делает каждая функция работает, как вы строите его. Это часть того, что частые демонстрации клиенту даем вам шанс показать что-то новое, работать и получать отзывы на него мгновенно.
Короче, да, работа интерфейса-это абсолютно неотъемлемая часть функциональный блок работы, если у вас есть пользовательский интерфейс.
Начните с чего-нибудь малого, который работает, и проверять свою работу, чтобы предоставить полный кусок программного обеспечения.
Я бы порекомендовал сделать смесь функциональности и пользовательского интерфейса (и получения обратной связи или опыт тестирования СПДС).
Кстати, разве'т это так, большинстве крупных графический интерфейс разрабатывается? Посмотри например в в Firefox браузер: от одной версии к следующей функциональности и пользовательского интерфейса эволюционировали.
В больших (PHP в веб -) приложений, с которыми я работаю, я стараюсь сделать классы и методы на первом месте, а, которые возвращают пустые значения. Это создание псевдо-договор о том, что другие разработчики могут использовать для реализации пользовательского интерфейса.
Вторичное преимущество этого метода в том, что мы можем отточить договора / интерфейс требования изменения UI (а они всегда меняются), еще до всех код написан и сдан.
То, что я стараюсь сделать, это начать с дерьмовым интерфейсом: то, что просто выводит переменные данные на экране. Ни шрифты, ни согласования, ничего на самом деле графический течение долгого времени. Просто на "приветствуем пользователей х" и кнопки называемый "нагрузки рис" и т. д. Что's хорошо об это вы узнаете, если что-то в серверной сломался.
Как разработка продолжается, вы могли бы найти более вещи должны идти дальше, или меньше. Но на каком-то этапе вы решите бэкэнд близится к завершению. Теперь у вас есть пользовательский интерфейс, который содержит все необходимые вложения, и вы можете тратить много времени на выполнение всех графических материалов.
Остерегайтесь, хотя, это's не понфтный каждому. Вам нужно немного дальновидности, чтобы увидеть некоторых вопросах, возникших. Например, вам может понадобиться для исследования компонентов пользовательского интерфейса для отображения данных в разумный путь.
Если вы используете хорошую Milestone и системы отслеживания ошибок, вы можете избежать некоторых из этих проблем, потому что на первый взгляд, руководство может увидеть, насколько продуктивным вы'снова быть. Они'll быть в состоянии видеть, что вы'вэ 80% готовой серверной части и UI является следующей вехой; они'll быть в состоянии видеть, что у вас есть набор UI и серверной части задачи до конца за специфической особенностью веха. Но все начинается с проекта'требования к s, и Даг Т'ы ответ вызывает некоторые хорошие моменты, касающиеся этого аспекта разработки системы.
Думаю, в ваших пользователей/клиента точки зрения. Программная система представляет собой набор функций, что дает пользователям/клиентам какую-то ценность. Конечно, каждый из этой особенности есть и UI, backend и некоторые другие вещи.
Построить ваша система всегда функция, и попробовать разделить на очень малые элементы. Таким образом, вы всегда рядом, чтобы что-то еще, чтобы доставить своим клиентам, помнить, что разработка программного обеспечения не строить версии 1.0 его о поездке в версии 1.0.1 до 1.0.2 и так далее...
Это зависит от того. Насколько хорошо определены вашим требованиям? Сколько система стоит перед ИП?
Из моего опыта большинство клиентов не знают, чего они хотят, пока не увидят что-то перед ними. Поэтому я, как правило, дают какой-то провод-рамки ключевых аспектов пользовательского интерфейса или доставку в большинство пользовательского интерфейса (не рабочий). Это позволяет клиенту изменить свое решение о возможности/функции без слишком большого влияния, как проектирование базы данных и структуры кода еще только в стадии проектирования - легко внести изменения в дизайн. Это порядки величин легче/быстрее изменить дизайн ранее в рамках проекта уже потом.
Живчик государств вы также должны работать на самых сложных предметов и наиболее важных пунктов в первую очередь. Не быстро. Поэтому, как только клиент видел пользовательского интерфейса, я сосредоточиться на создании небольших компонентов, которые являются полностью функциональными говорить наиболее важным и трудным для первой реализации, чтобы вы знали, как можно скорее, если ваш собирается запустить в любого препятствия.
Тогда у вас есть спринтов и есть постоянная связь с клиентом развитие как пользовательского интерфейса, так и функциональных аспектов на некоторое время.