Pregunta

Tengo una idea que quiero hacer en una aplicación (tengo un C/C++, C#, Java y programación de fondo, así que voy a ser el desarrollo en QT Creator para compilación cruzada del bien).Así que ahora estoy pidiendo a usted desarrolladores senior, ¿qué debo hacer a continuación?Sé que todos los buenos programas provienen de una idea.Entonces, ¿qué debo hacer?Prototipo de la interfaz de usuario?A continuación, desarrollar el código?Es como un círculo en el desarrollo de una aplicación?
NO ME REFIERO A ESTA CUESTIÓN, A SER SUBJETIVA O ARGUMENTATIVO

¿Fue útil?

Solución

Ok, desde la perspectiva de un desarrollador con experiencia, la mayoría de las empresas que han trabajado para el seguimiento, al menos, un enfoque algo impulsado por procesos. proyectos de código abierto que he visto puede variar ampliamente, desde ad-hoc a extremadamente basada en procesos. En general, sin embargo, al menos en el mundo de la empresa, incluso en los proyectos más bien pequeñas, algo así como los siguientes enfoques ha funcionado bien para mí y para los equipos de los que he trabajado. Por supuesto, hay muchas variaciones, utilizando diferentes paradigmas, pero, en general, estos son los tipos de pasos que veo en la mayoría de los paradigmas (y estoy seguro de que he dejado alguna meollo de la cuestión sale):

  • En primer lugar, tiene un mango bien en sus necesidades. Si los usuarios no están seguros de sí mismos exactamente lo que quieren, entonces el enfoque de comenzar con un prototipo de interfaz de usuario de @ Michael Herold es definitivamente una buena sugerencia. También es posible que quiera ir con algún tipo de enfoque iterativo, como Agile / Scrum .
  • A continuación, definir algún tipo de arquitectura de alto nivel que debe ser lo suficientemente flexible para lograr su objetivo. ¿Su aplicación será cliente-servidor? Va a necesitar una base de datos? Múltiples hilos? Múltiples procesos? Si cualquiera de ellos fue "sí", ¿cómo van esos hilos / procesos se comunican. Elaborar un diagrama de bloques después de responder a la anterior pregunta.
  • Si su proyecto es de tamaño medio o grande, es posible que también quieren sacar algunas diagramas de clase UML o de tipo. Piense en qué tipo de clases que se necesitan y sus relaciones.
  • Si quieres probar la prueba de conducción del enfoque de Desarrollo , ahora podría ser un buen momento para convertir sus necesidades en las pruebas unitarias.
  • Una vez que tenga una buena idea de lo que estamos tratando de resolver, y cómo se va a abordar su solución, que finalmente puede empezar a programar una solución.

Algunos enfoques son iterativos, como desarrollo incremental o Agile / Scrum . En Agile / Scrum, sus iteraciones serán muy rápida, como cada pocas semanas pasan por un ciclo completo. En desarrollo incremental, el ciclo es típicamente más largo: meses o incluso años. En tanto Scrum y en el desarrollo incremental, lo principal a tener en cuenta es que al final de cada iteración, que desea tener una pieza útil de software (incluso si no hace mucho). Esto ayuda a mantener a los clientes reales o potenciales, y los desarrolladores incluso, interesada.

Sea cual sea su enfoque, el más temprano y más a menudo se puede involucrar a sus usuarios (o usuarios potenciales), ya sea a través de la interfaz de usuario mirando prototipos, o por medio de pruebas de usabilidad , mejor.

Otros consejos

Yo diría que depende de lo que será la parte principal de la aplicación. ¿La mayoría de los trabajos llegado desde el diseño de la interfaz de usuario (es decir, es que cuando el "factor sorpresa" viene de?) O va a ser sobre todo la manipulación de datos o algún otro "trabajo pesado" (es decir, estos son mis resultados en una interfaz de usuario sencilla)?

Si la aplicación está destinada a las personas "wow", prototipos de la interfaz de usuario y obtener comentarios sobre que va un largo camino. Esto se puede hacer antes de comenzar en el código, a continuación, las actualizaciones incrementales se pueden aplicar como reciba retroalimentación. Mientras que usted está pidiendo un comentario, puede empezar a trabajar en la codificación del resto de la aplicación, por lo que cada pieza se mueve a lo largo sin esperar a que uno o el otro.

Lo bueno es que si se hace correctamente, estas dos cosas deben ser del todo (o casi en su totalidad) desacopladas e independiente el uno del otro.

Una última nota: por prototipos de la interfaz de usuario, que podría ayudar a consolidar su idea en la cabeza, lo que facilitará el diseño del código detrás de la interfaz de usuario. Diferentes métodos funcionan para diferentes personas, pero en mi experiencia, creación de prototipos de la interfaz es muy útil.

El crack adelante con ella. Sólo entra pegado.

Trate de diseñar cosas para ser flexible para que pueda fácilmente Refactor cosas cuando se da cuenta de que ha tomado el camino equivocado. Mantenga su interfaz de usuario, la lógica de negocio y datos niveles separados para que pueda volver a trabajar fácilmente la interfaz de usuario, etc. tarde cuando entender exactamente lo que tiene que hacer.

Siempre es difícil saber por dónde empezar, por lo que el mejor consejo que puedo dar es que sólo pensar que a lo largo, recoger un poco, y ponerse a trabajar. Esperar que tendrá que refactor o incluso reescribir algunos bits - no tenga miedo de esto, es normal. Pero se puede sentar allí para siempre bucle tratando de decidir qué bit que hacer primero y ni siquiera comenzar. Realmente no importa lo que haces mordió primero, siempre y cuando usted tiene un plan general en cuenta para que los bits que implementar todas ajuste de forma coherente al final.

(No estoy sugiriendo que vaya fuera y hacer un gran lío y sin desiging o prototipos de lo primero. Es sólo que una de las partes más difíciles de desarrollar una nueva aplicación es decidir por dónde empezar. En algún momento, sólo tiene que dar el paso y empezar a nadar)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top