Question

J'ai une idée que je veux faire dans une application (j'ai un C/C++, C#, Java et de la programmation arrière-plan, donc je vais développer en QT Creator pour la cross-compilation du saké).Alors maintenant, je vous demande de développeurs expérimentés, que dois-je faire ensuite?Je sais que tous les bons programmes à venir à partir d'une idée.Alors que dois-je faire?Prototype de l'INTERFACE utilisateur?Puis à l'élaboration du code?Est-il comme un cercle de développement d'une application?
JE NE VEUX PAS QUE CETTE QUESTION SOIT SUBJECTIVE OU ARGUMENTATIF

Était-ce utile?

La solution

Ok, à partir d'un développeur chevronné du point de vue, la plupart des entreprises, j'ai travaillé pour suivre au moins un peu approche axée sur le processus.Les projets Open source que j'ai vu peut varier considérablement, à partir d'ad-hoc très axée sur les processus.Toutefois, en général, au moins dans le monde de l'entreprise, même sur de petits projets, quelque chose comme l'une des approches suivantes a bien fonctionné pour moi et les équipes avec qui j'ai travaillé.Bien sûr, il existe de nombreuses variantes, à l'aide de paradigmes différents, mais en général, ce sont les types de mesures que je vois dans la plupart des paradigmes (et je suis sûr que j'ai laissé certaines choses sérieuses étapes):

  • Tout d'abord, une bonne poignée sur vos exigences.Si vos utilisateurs ne sont pas sûr d'eux-mêmes exactement ce qu'ils veulent, alors @Michael Herold l'approche de commencer avec un prototype de l'INTERFACE utilisateur est certainement une bonne suggestion.Vous pouvez aussi aller avec un certain type d'approche itérative, comme Agile/Scrum.
  • Ensuite, définir un certain type de l'architecture de haut niveau qui doit être assez souple pour atteindre votre objectif.Votre application client-serveur?S'il aura besoin d'une base de données?Plusieurs threads?Plusieurs processus?Si l'un des deux a été "oui", comment ces threads/processus de communication.Dessiner un diagramme après avoir répondu aux questions ci-dessus.
  • Si votre projet est de taille moyenne ou plus grand, vous pouvez également dessiner une classe ou UML-type de diagrammes.Penser à ce genre de cours que vous aurez besoin et de leurs relations.
  • Si vous voulez essayer le Développement Piloté Par Les Tests approche, maintenant serait un bon moment pour activer vos besoins en tests unitaires.
  • Une fois que vous avez une bonne idée de CE que vous essayez de résoudre, et COMMENT vous allez l'approche de problèmes, vous pouvez enfin commencer à coder une solution.

Certaines approches sont itératives, comme Développement Incrémental ou Agile/Scrum.En Agile/Scrum, votre itérations sera très rapide, comme toutes les quelques semaines passent par un cycle complet.En Développement Incrémental, le cycle est généralement plus long:des mois ou même des années.Dans les deux Mêlée et en Développement Incrémental, la principale chose à garder à l'esprit est que, à la fin de chaque itération, vous voulez avoir un utilisable morceau de logiciel (même si il ne fait pas beaucoup).Cela permet de garder réel ou potentiel, les clients, et même les développeurs intéressés.

Quelle que soit votre approche, le plus tôt et le plus souvent, vous pouvez faire participer vos utilisateurs (ou futurs utilisateurs), soit par le biais de la recherche à l'INTERFACE utilisateur de prototypes, ou par l'intermédiaire de Des Tests D'Utilisabilité, le mieux c'est.

Autres conseils

Je dirais que cela dépend de ce que la partie principale de l'application sera.La majorité du travail de conception de l'interface utilisateur (c'est à direc'est que là où le facteur "wow" vient-il?) ou est-ce que ça va être la plupart du temps de manipulation de données ou d'une autre "gros œuvre" (c'est à direce sont mes résultats dans une interface utilisateur simple)?

Si l'application est destinée à "wow" les gens, le prototypage de l'interface utilisateur et d'obtenir des opinions sur il va un long chemin.Cela peut être fait avant de commencer sur le code, puis des mises à jour incrémentielles peuvent être appliqués, comme vous recevoir de la rétroaction.Tout en vous demandant des commentaires, vous pouvez commencer à travailler sur le codage du reste de l'application, de sorte que chaque pièce qui se déplace le long, sans attendre que l'un ou l'autre.

La bonne chose est que si c'est fait correctement, ces deux choses doivent être intégralement (ou presque) découplés et indépendants les uns des autres.

Une dernière remarque:par prototypage de l'interface utilisateur, il peut aider à renforcer votre idée dans votre tête, ce qui permettra de faciliter la conception, le code de l'interface utilisateur.Différentes méthodes fonctionnent pour différentes personnes, mais dans mon expérience, le prototypage de l'interface est très utile.

Crack avec.Juste coincé dans les.

Essayez de concevoir les choses pour être flexible, de sorte que vous pouvez facilement refactoriser choses quand vous réalisez que vous avez pris le mauvais chemin.Gardez votre INTERFACE utilisateur, la logique métier et les données de niveaux séparés de sorte que vous pouvez facilement retravailler l'INTERFACE utilisateur, etc plus tard, lorsque vous comprenez exactement ce qu'il a à faire.

Il est toujours difficile de savoir par où commencer, donc le meilleur conseil que je puisse donner, c'est de penser, par le biais d', chercher un peu, et se mettre au travail.S'attendre à ce que vous aurez à refactoriser ou même de réécrire certains bits - n'ayez pas peur de cela, c'est normal.Mais vous pouvez rester là pour toujours en boucle en essayant de décider qui peu à faire en premier, et jamais même d'avoir commencé.Il n'importe pas vraiment ce qui peu vous faire en premier, tant que vous avez un plan d'ensemble à l'esprit de sorte que les bits que vous mettre en œuvre tous ensemble, de manière cohérente à la fin.

(Je ne vous suggère pas aller au large et faire un gros gâchis sans desiging ou de prototypage rien la première.C'est juste que l'une des parties les plus difficiles de développement d'une nouvelle application est de décider par où commencer.À un certain moment, vous avez juste à prendre le plongeon et commencer la natation)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top