Frage

Ich habe eine Idee, die ich machen will, in eine Anwendung (ich habe eine C/C++, C#, und Java-Programmier-hintergrund haben, damit ich die Entwicklung in QT Creator für die cross-Kompilierung Willen).So, jetzt bitte ich Euch, senior-Entwickler, was soll ich als Nächstes tun?Ich weiß, dass alle guten Programme kommen auf eine Idee.Dann was sollte ich tun?Prototyp der Benutzeroberfläche?Dann entwickeln Sie den code?Ist es wie ein Kreis, der Entwicklung einer Anwendung?
ICH MEINE NICHT FÜR DIESE FRAGE SUBJEKTIV ZU SEIN ODER ARGUMENTATIVEN

War es hilfreich?

Lösung

Ok, von einem erfahrenen Entwickler-Perspektive, die meisten Firmen, für die ich gearbeitet habe, für die Folgen zumindest einen etwas process-driven approach.Open-source-Projekte, die ich gesehen habe, kann stark variieren, von ad-hoc-extrem process-driven.Im Allgemeinen, obwohl, zumindest in der corporate-Welt, auch auf kleinere Projekte, so etwas wie der folgende Ansätze hat gut für mich gearbeitet und die teams, mit denen ich gearbeitet habe.Natürlich gibt es viele Varianten, mit verschiedenen Paradigmen, aber im Allgemeinen, dies sind die Arten von Schritten, die ich sehen auf den meisten Paradigmen (und ich bin sicher, ich habe einige Links nitty-gritty Schritte):

  • First off, haben einen guten Griff auf Ihren Anforderungen.Wenn Ihre Benutzer nicht sicher ist, ob sich genau, was Sie wollen, dann @Michael Herold Ansatz beginnend mit einer UI-Prototyp ist definitiv ein guter Vorschlag.Möglicherweise möchten Sie auch gehen, mit irgendeiner Art von iterativen Ansatz, wie Agile/Scrum.
  • Als Nächstes definieren Sie irgendeine Art von high-level-Architektur, der sollte flexibel genug sein, Ihr Ziel zu erreichen.Werden Ihre app-client-server?Wird es brauchen eine Datenbank?Mehrere threads?Mehrere Prozesse?Wenn einer von den beiden war "ja", wie werden diese threads/Prozesse kommunizieren.Zeichnen Sie ein Blockdiagramm nach der Beantwortung der obigen Fragen.
  • Wenn Ihr Projekt ist mittelgroß oder größer ist, können Sie auch wollen, zu ziehen ein paar Klasse oder UML-Art-Diagramme.Denken Sie darüber nach, welche Art von Klassen, die Sie benötigen, und Ihren Beziehungen.
  • Wenn Sie wollen, um zu versuchen, die Test Driven Development Ansatz, jetzt könnte ein guter Zeitpunkt sein, um Ihre Anforderungen in unit-tests.
  • Sobald Sie haben eine gute Vorstellung davon, WAS Sie versuchen zu lösen, und WIE Sie sich zu nähern, es zu lösen, können Sie endlich mit dem Programmieren anfangen bis eine Lösung.

Einige Ansätze sind iterative, wie Inkrementelle Entwicklung oder Agile/Scrum.In Agile/Scrum, Ihre Iterationen sehr schnell, wie alle paar Wochen gehen Sie durch einen kompletten Zyklus.In der Inkrementellen Entwicklung, die Zyklus ist in der Regel länger:Monate oder sogar Jahre.In beiden Scrum und Inkrementelle Entwicklung, die wichtigsten Sache zu beachten ist, dass am Ende jeder iteration, möchten Sie, dass ein brauchbares Stück software (auch wenn es nicht viel).Dies hilft, Reale oder potenzielle Kunden und sogar Entwickler, interessiert.

Was auch immer Ihre Herangehensweise ist, desto früher und häufiger Sie einbeziehen können, um Ihre Nutzer (oder potenzielle Nutzer), die entweder über die Suche im UI-Prototypen, oder über Usability-Tests, ist , desto besser.

Andere Tipps

Ich würde sagen, es hängt davon ab, was der wichtigste Teil der Anwendung sein wird.Wird der Großteil der Arbeit kommen, von der Gestaltung des user interface (D. H.ist, daß, wo der "wow-Faktor" kommt?) oder wird es werden vor allem Daten-manipulation oder einige andere "schwere heben" (D. H.dies sind meine Ergebnisse in einem einfachen user interface)?

Wenn die Anwendung, die gemeint ist, um "wow" Menschen, prototyping der Benutzeroberfläche und erste Stellungnahmen geht ein langer Weg.Dies kann getan werden, bevor Sie sich auf den code, dann inkrementelle updates angewendet werden können, wie Sie feedback erhalten.Während Sie zu Fragen für feedback, können Sie anfangen zu arbeiten auf die Kodierung der rest der Anwendung, so dass jedes Stück wird bewegen entlang, ohne zu warten, für den ein oder anderen.

Das schöne ist, dass, wenn es richtig gemacht, diese beiden Dinge sollten vollständig (oder fast vollständig) entkoppelt und unabhängig voneinander.

Eine Letzte Anmerkung:durch prototyping der Benutzeroberfläche, es könnte helfen, zu festigen, Ihre Idee in Ihrem Kopf, die Leichtigkeit der Gestaltung der code hinter der Benutzeroberfläche.Verschiedene Methoden funktionieren für verschiedene Menschen, aber in meiner Erfahrung, prototyping-das interface ist sehr nützlich.

Crack on with it.Just get stuck in.

Versuchen Sie, Dinge zu kreieren, um flexibel zu sein, so können Sie leicht umgestalten Dinge, wenn Sie merken, Sie haben den falschen Weg genommen.Halten Sie Ihre UI, Geschäftslogik und Daten, die Schichten getrennt, so dass Sie kann leicht rework die UI etc später, wenn Sie verstehen genau, was er zu tun hat.

Es ist immer schwer zu wissen, wo zu beginnen, so dass der beste Rat, den ich geben kann, ist zu glauben, es sei alles durch, Holen Sie sich etwas aus, und bekommen, um zu arbeiten.Erwarten, dass Sie zu überarbeiten oder sogar neu schreiben einige bits - keine Angst, das ist normal.Aber Sie konnte sitzen dort für immer Schleife versucht, um zu entscheiden, welche etwas zu tun, erste und noch nie den Einstieg.Ist es nicht eigentlich egal, welche bit Sie als erstes tun, solange Sie haben ein Gesamtkonzept im Auge so, dass die bits, die Sie implementieren, die alle zusammen passen zusammenhängend am Ende.

(Ich schlage nicht vor, Sie gehen aus und machen ein großes Durcheinander ohne desiging oder prototyping-alles erste.Es ist nur so, dass einer der schwierigsten Teile der Entwicklung einer neuen Anwendung zu entscheiden, wo zu beginnen.An einem gewissen Punkt, Sie müssen nur den Sprung zu Wagen und starten Sie schwimmen)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top