Haben Sie das jemals während des Programmierstudiums gespürt?
** "Ich kann kein Produkt herstellen, auch wenn ich studiere" ** ** "Wie macht man überhaupt die Entwicklung?" ** ** "Was ist die Anforderungsdefinition?" **
Um dieses Problem zu lösen, verstehen wir zunächst das allgemeine Entwicklungsgefühl. Bitte beachten Sie die Abbildung unten "Software-Entwicklungsprozess"
Die Programmierung, die ich immer studiere, entspricht dem Teil ** "Implementierung" **. Mit anderen Worten, es gibt ** 4 Wände **, bevor Sie Ihre Programmierkenntnisse unter Beweis stellen können.
Daher ist es in diesem Artikel erforderlich, bevor Sie mit der Implementierung (Programmierung) beginnen. Ich werde ** "Planning-Design" ** Schritt für Schritt erklären. Insbesondere konzentrieren wir uns auf ** "Anforderungsdefinition" und "Design" **, die Ingenieure verstehen sollten.
Es wird gesagt, dass die Zeit, die für die ** Implementierung (Programmierung) ** in der gesamten Entwicklung benötigt wird, ** 20 bis 30% der Gesamtmenge ** beträgt. Andererseits werden ** 50% der Gesamtmenge ** für ** vorgelagerte Prozesse ** wie Anforderungsdefinition und -gestaltung verwendet.
Mit anderen Worten, ** Humanressourcen, die Anforderungen definieren und entwerfen können, werden unweigerlich mehr zu Entwicklungsprojekten beitragen **. Lassen Sie uns diese Gelegenheit nutzen, um sie zu erwerben und das Tätigkeitsfeld zu erweitern.
Die Kapitel dieses Artikels lauten wie folgt.
Es gibt ungefähr zwei Arten von Parteien, die an Systementwicklungsprojekten beteiligt sind.
Wenn Sie das gewünschte System erstellen möchten, gibt es kein Problem, da Sie das fertige Image im Kopf haben. In vielen Fällen bitten wir den "Besteller ⇒ Entwickler" um Entwicklung.
Zu diesem Zeitpunkt weiß der Entwickler nicht, was er machen soll, es sei denn, ** das Bild im Kopf des Bestellers ist geklärt **. Zu diesem Zweck existieren Anforderungsdefinitionen zum Zweck der Kommunikation.
Vergleichen wir es mit dem Alltag. Möchten Sie fragen "Kaufen Sie ein Getränk!", Wenn Sie durstig sind?
Richtig "Kaffee kaufen" oder genauer gesagt "** Ich habe einen heißen feinen Zuckerkaffee gekauft. Es ist eine PET-Flasche, keine Dose! **" Sie können den Kaffee nicht kaufen, von dem Sie dachten, Sie würden ihn nicht sagen.
Die Systementwicklung ist dieselbe. ** "Was soll ich machen? Der Zweck der Anforderungsdefinition besteht darin, sich eindeutig auf ** zu einigen.
Das ist, ** Anforderungsdefinition = Vorabversprechen, dass Sie zum Zeitpunkt der Lieferung ausdrücklich "Dies ist in Ordnung!" Bestätigen können ** Es ist gut, ein Verständnis wie zu haben.
Nachdem Sie den Zweck der Anforderungsdefinition kennen, verstehen wir die drei Schritte zum Vervollständigen der Anforderungsdefinition.
Für diesen dreistufigen Prozess ist eine Kommunikation durch ** "Prüfung" und "Vorschlag" ** erforderlich. Es wird wie folgt sein, wenn es in der richtigen Reihenfolge angeordnet ist.
Nachdem Sie den Ablauf kennen, lassen Sie uns die in der Anforderungsdefinition zu entscheidenden Fragen grob organisieren. Wenn Sie es mit 3W organisieren (Warum, Was, Wie), wird es ordentlich organisiert.
Sie können sich vorstellen, dass in der Anforderungsdefinition so viele Dinge zu entscheiden sind, aber machen Sie sich keine Sorgen.
Was (Geschäftsablauf und funktionale / nicht funktionale Anforderungen) ist kein Ingenieur Selbst auf der Entwicklungsseite sind "** Verkäufer " und " Vertriebsingenieur **" in der Regel die entsprechenden Jobs.
Also werde ich mich eingehender mit ** Wie (Design) ** befassen, wo Ingenieure ihre Fähigkeiten unter Beweis stellen können. Unter ihnen ist ** grundlegendes Design der Schlüssel **, daher wird sich dieser Artikel darauf konzentrieren.
Wie oben erwähnt, wird im Grunddesign ** "Bildschirm / Funktion / Daten" ** entworfen. Nur wenn diese verfügbar sind, kann der Programmierer mit der Softwareentwicklung beginnen.
In erster Linie sollte als Element ** Bildschirmdesign (UI-Design) ** entschieden werden.
Da Benutzer die Software über den Bildschirm (UI) verwenden, Zuallererst ist die Zustimmung zu ** "Benutzerfreundlichkeit des Bildschirms" ** die Abkürzung zum Erfolg des Projekts.
Wie oben erwähnt, werden die folgenden Elemente im Bildschirmdesign festgelegt.
――Was können Sie auf jedem Bildschirm tun?
Wenn Sie es bisher organisieren, können Sie ein konkretes Bild des fertigen Systems erhalten. Dies ist der Grund, warum zuerst das Bildschirmdesign erstellt wird.
Entwerfen Sie nach Abschluss des Bildschirmdesigns (UI-Design) die Funktionen, die im System implementiert werden sollen. Bitte haben Sie Verständnis dafür, dass das funktionale Design die Phase ist, in der ** "Verarbeitung hinter den Kulissen, notwendige Daten" ** definiert wird.
Die Entscheidungen, die Sie treffen müssen, sind wie oben beschrieben.
--Backside-Verarbeitung (Funktionsname und Verarbeitungsinhalt)
Lassen Sie uns grob die Funktionen jeder Seite entwerfen, die im Bildschirmübergangsdiagramm angezeigt wird.
Auf diese Weise kann sich jeder vorstellen, ** welche Art von Programm geschrieben werden soll **. Da auch die Zusammensetzung der Teile, aus denen das System besteht, geklärt ist, ist die ** Rollenverteilung innerhalb des Teams ** ebenfalls einfach.
Lassen Sie uns als letzten Schliff für das funktionale Design das Bildschirmdesign und das funktionale Design verbinden. Visualisieren Sie, welche Art von ** Benutzeroperation / Backside-Verarbeitung ** zwischen Bildschirmen ausgeführt wird.
Die folgende Abbildung zeigt die Gesamtanordnung.
Das letzte ist das Datendesign. Nachdem Sie sich bisher vorbereitet haben, können Sie endlich mit dem Datenentwurf beginnen.
Wie oben erwähnt, müssen drei Dinge entschieden werden.
Was Sie hier beachten sollten, ist, dass ** Daten grob in vier Typen ** unterteilt sind. Entwerfen Sie, wie diese vier Arten von Daten im System fließen.
In dieser Phase werden wir die abstrahierten Datendefinitionen wie ** "Mitgliedsinformationen" ** verkörpern. Auf praktischer Ebene sind Kenntnisse der ** "Normalisierung" ** erforderlich.
-** Mitgliederinformation **
Nachdem der Inhalt der Daten klar ist, entwerfen Sie die Datenbank.
Das erste, woran Sie sich erinnern sollten, ist, dass bis zu diesem Zeitpunkt Daten nach "Mitgliedsinformationen", "Produktinformationen", "Kaufhistorie" usw. aufgerufen wurden. Aus Datenbanksicht verwenden wir den Ausdruck ** Tabelle **. *** "Mitgliedstabelle", "Produkttabelle", "Kaufverlaufstabelle" ** usw.
Für das Datenbankdesign sind drei Aufgaben erforderlich.
Lassen Sie uns zunächst die Rolle jeder Tabelle nach den folgenden Kriterien aufteilen.
Als nächstes organisiert "Referenzbeziehung zwischen Tabellen" die Beziehung zwischen ** Referenzziel und Referenzquelle ** mit Pfeilen. Wenn Sie auch ** "Aus Benutzerverhalten generierte Daten" ** angeben, ist dies leicht zu verstehen, ohne den Datenfluss auszulassen.
Erstellen Sie abschließend ein ER-Diagramm, das das Entwurfsdiagramm der Datenbank darstellt, und vervollständigen Sie es.
Wenn Sie schließlich ** "Beziehung zwischen Datenbank und Bildschirmübergangsdiagramm" ** organisieren, Sie können das gesamte System sehen ** "Bildschirmdesign x Funktionsdesign x Daten-Design" **.
Da wir Programme nacheinander basierend auf dieser Konstruktionszeichnung schreiben werden, Übe es viele Male, damit du das ganze Bild fest zeichnen kannst.
Wenn Sie dies bisher verstanden haben, können Sie ein grundlegendes Design erstellen, das für die Entwicklung Ihres eigenen Produkts ausreicht. Fahren wir mit der Programmierung fort, während wir verschiedene Teile untersuchen, die wir nicht verstehen.
Nach der Entwicklung haben viele Leute Qiita-Artikel über Servereinstellungen für Veröffentlichungsdienste veröffentlicht Bitte lesen Sie [diesen Artikel], wenn es leicht zu verstehen ist.
Auf der eigentlichen Entwicklungsseite können Sie dem Programmierer nur dann eine eindeutige Anfrage stellen, wenn Sie ein ** detailliertes Design ** erstellen. Nachdem Sie den Inhalt dieses Artikels verstanden haben, lesen Sie bitte zuerst Folgendes.
Allerdings ist die technologische Innovation heutzutage besonders schnell, so dass es Fälle gibt, in denen neue Technologien mitten im Detailentwurf auftauchen. Nach der agilen Entwicklung können Sie mit "** Detailliertes Design wird bei der Erstellung festgelegt **" fortfahren.
Im Bereich der Teamentwicklung ist ** Rollenteilung Voraussetzung **. Zeichnen wir das ganze Bild fest und klären ** "wer macht was" ** und fahren mit der Entwicklung reibungslos fort.
Darüber hinaus werden verschiedene Informationen auf SNS veröffentlicht. Wenn Sie also der Meinung sind, dass es in Ordnung ist, den Artikel zu lesen Ich wäre Ihnen dankbar, wenn Sie Twitter-Konto "Saku731" folgen könnten.
(Zusatz) Ich habe einen Artikel geschrieben, in dem die Fähigkeiten zusammengefasst sind, die für die Entwicklung eines Systems mit Python erforderlich sind. Bitte beziehen Sie sich auf diejenigen, die selbst programmieren.