Ausbildungsprogramm für technische Spezifikationen

Vorteil: Erfahren Sie, was TK ist und wie es kompiliert wird. Bereichern Sie Ihren Wortschatz mit Worten: konzeptionelles Modell, Datenfluss, Mind Card, Benutzerfluss. Anwendungsfälle, Wireframes, ER-Modell, Client-Server, API.

Für wen: Anfänger und diejenigen, die verstanden werden wollen (von Kunden, Startups und Managern).

Lesezeit: 7 Minuten.

Ausgangspunkt - Anforderungen

Ich will einen Kuchen, dann Eis!
Vovka im weit entfernten Königreich

Es gibt ein weit verbreitetes Missverständnis, dass es ausreicht zu sagen: "Sie benötigen eine Bewerbung für ein Museum / eine Katze / eine Pflanze" und es wird sofort klar, was Sie brauchen.

Das ist leider nicht so einfach. Stellen Sie sich vor, Sie müssen ein Haus bauen. Du gehst zum Baumeister und er macht sich an die Arbeit. Sie haben ihm keine Zeichnungen oder Handlungen zur Verfügung gestellt, Sie haben nicht einmal gesagt, welche Farbe der Zaun haben soll. Aber sie gaben sechs Monate lang alles über alles und eine beträchtliche Menge Geld.

Spoiler
.

Schrecklich wahr? Das Budget wurde bereits ausgegeben und ist abgelaufen.

Um dies zu verhindern, sind alle Anforderungen an das Produkt festgelegt. Damit beginnt jede Entwicklung.

Praktische Art von Anforderungen - TK

Kneten und hacken!
Vovka im weit entfernten Königreich

Gut. Es gibt Anforderungen. Jetzt werden die Entwickler Sie definitiv verstehen. Aber hier kommt die Falle Nr. 1: Die Menschheit hat noch nicht gelernt, Gedanken zu lesen. Daher ist es in irgendeiner Form notwendig, Informationen zu übermitteln, und der beste Weg hierfür ist die Leistungsbeschreibung.

Es wird auch als TK, SRS, PRD bezeichnet - all dies sind die Namen des Dokuments, in dem die Produktanforderungen in der richtigen Form festgelegt sind.

Fallstricke Nr. 2: Das Gedächtnis einer Person ist nicht unbegrenzt. Es ist immer besser, einen Ort zu haben, an dem alle Ihre Wünsche und Anforderungen festgelegt sind (keine Korrespondenz in einem Telegramm oder Telefonanruf). Daher ist TK ein gedrucktes Textdokument mit der Anwendung von Diagrammen und Infografiken, die nicht von Hand geschrieben oder fotografiert wurden. Am besten im PDF- oder Google Text & Tabellen-Format.

Rezept für kompetente TK


Die Leistungsbeschreibung für Entwickler ist eine Art Rezept für ein erfolgreiches Produkt. Ein erfolgreiches Produkt ist leicht zu warten, kann entwickelt und geändert werden, fällt nicht auseinander, wenn sich ein Entwickler ändert, und erzielt in irgendeiner Form Gewinn. Möchten Sie, dass Ihr Projekt abgeschlossen ist? Fein. Schreiben Sie ein gutes Rezept dafür. Die klassischen Zutaten (gemäß dem internationalen Standard IEEE-830) sind:

  • Konzeptmodell
  • Funktionskarte
  • Benutzerpfad
  • Benutzeroberfläche
  • Software-Schnittstellen
  • Nicht-funktionale Anforderungen

Die letzten beiden Punkte sind spezifisch. Ich rate ihnen, den Lesern, die sich in der Nähe der Entwicklung befinden, Aufmerksamkeit zu schenken.

Im Folgenden werde ich jeden Punkt detailliert analysieren. Für diejenigen, die nicht im Detail verstehen wollen, hinterlasse ich einen Link zum internationalen Standard mit einer Vorlage für technische Aufgaben: Link zu einem Dokument.

Bild

Konzeptmodell


Dieser Artikel enthält eine kurze Beschreibung des Produkts und spiegelt den Zweck des Projekts und seine Besonderheiten wider.

Beispiel: "Eine Dating-Anwendung, mit der Sie kurze Videos in Benutzerprofilen ansehen und chatten können." Es ist auch schön, ein paar Worte über die Zielgruppe des Produkts zu sagen, damit das Projektteam die Funktionen verstehen und Ihnen einige nützliche Tipps geben kann. Erzählen Sie uns von ihrem Alter, ihrem Charakter und ihrer territorialen Lage, einige Merkmale, die sich auf das Projekt auswirken sollten.

Zum Beispiel: „Dies sind junge Leute, die in ihrer Freizeit ins Ausland gehen und an Kommunikation außerhalb der Sprachbarriere interessiert sind und gerne Fotos und Videos aufnehmen.“

Es lohnt sich, über die Benutzertypen und ihre Hauptunterschiede zu sprechen.

Zum Beispiel:„Die Anwendung sollte regelmäßige Benutzer und Moderatoren haben, die Beschwerden von Benutzern über Inhalte oder Profile erhalten. Moderatoren können nach einer Beschwerde den Chat normaler Benutzer anzeigen und ein Konto sperren, das gegen die Regeln des Dienstes verstößt. “

Und schließlich erzählen Sie uns etwas über die Komponenten Ihres Produkts.

Zum Beispiel: Admin-Panel, das von Moderatoren verwendet wird; Eine mobile Anwendung, mit der sich der Benutzer registriert, Inhalte hinzufügt, am Chat teilnimmt usw.

Kunstflug wird durch das sogenannte Datenfluss- oder Kontextdiagramm durchgeführt, das die Interaktion der Benutzer mit dem Produkt, seinen Komponenten und untereinander widerspiegelt.

Funktionskarte


Die Funktionskarte zeigt das allgemeine Konzept des Projekts mit dem Detaillierungsgrad, der zur Beurteilung des Arbeitsumfangs und zur Priorisierung erforderlich ist. In einem herkömmlichen Format ähnelt eine solche Karte einer Sitemap. Am bequemsten ist es jedoch, es in Form einer Mind Card (Mind Cards, Intelligence Cards) anzuzeigen. Oft zeichnen Manager während des Meetings Wörter auf eine Tafel oder ein Blatt Papier und die Verbindungen zwischen ihnen. Dies ist also die Mind Map. Dies kann bequem in kostenlosen Diensten (coggle, draw.io und mindmeister) oder einfach in Office Word erfolgen.

Es ist sehr wichtig, alle Benutzerfunktionen in der Funktionsübersicht wiederzugeben. In erster Näherung handelt es sich lediglich um eine Reihe von Produktmerkmalen.

Zum Beispiel: „Die Anwendung sollte die Registrierung per E-Mail, das Erstellen und Ausfüllen von Profildaten, das Hochladen und Bearbeiten von Fotos und Videos, eine Liste der Konten anderer Benutzer mit verschiedenen Filtertypen, Text-Chat und die Kontaktaufnahme mit dem Support umfassen.

Bild

Benutzerpfad


Der sogenannte Benutzerfluss oder Benutzerpfad ist eine sequentielle Liste von Aktionen oder Bildschirmen, die der Benutzer bei der Interaktion mit dem Produkt durchlaufen kann. Beschreiben Sie in Ihrer Präsentation, wie der Benutzer mit dem Produkt interagiert. Sehr bequem kann dies auch mit einer Mind Map oder nur einer Liste von Aktionen erfolgen.

Zum Beispiel: „Ein Benutzer meldet sich an, um Kollegen zu treffen. Er füllt sein Profil mit Daten und lädt Fotos und Videos hoch. Dann gibt der Benutzer den Feed ein und filtert ihn nach bestimmten Kriterien. Als Ergebnis erhält er eine Liste relevanter Profile, kann diese ansehen und im Chat an einen anderen Benutzer schreiben.

Der Benutzerpfad ist ein allgemeiner Algorithmus für die Arbeit mit dem Produkt. Es gibt auch Anwendungsfälle (Anwendungsfälle) - dies ist ein Detail des Benutzerflusses. Bei einer mobilen Dating-Anwendung haben Sie den Pfad des Benutzers durch die Bildschirme erstellt und anschließend beschrieben, was der Benutzer auf jedem Bildschirm tun kann.

Beispiel: Auf dem Registrierungsbildschirm kann der Benutzer:
zum Autorisierungsbildschirm gehen , sich über soziale Netzwerke (Facebook, Twitter) registrieren , die E-Mail-Adresse und das Passwort eingeben, diese wiederholen und die Registrierung in der E-Mail bestätigen.

Bild

Bild

Benutzeroberfläche


Das Produkt sollte nicht nur funktionieren, sondern auch gut aussehen. Lassen Sie uns ein wenig vom Thema der Anwendungen weggehen, um Sie nicht zu zwingen, sie zur Überprüfung herunterzuladen. Schauen Sie sich lieber süße Seiten an:


Wir haben uns ein Beispiel für schlechtes Design angesehen, wischen uns jetzt das Blut aus den Augen und fahren mit der Diskussion der Benutzeroberfläche fort. In diesem Teil der technischen Aufgabe lohnt es sich, Schiedsrichter beizufügen - Beispiele dafür, wie Sie Ihr Produkt sehen möchten. Es können Analoga ähnlicher Entwicklungen oder nur Beispiele sein, deren Design Ihnen gefallen hat.

Beschreiben Sie allgemein, wie Sie Ihr Produkt sehen möchten, welche Farben es haben sollte, welche Elemente verwendet werden sollen, welche Animation Sie möchten usw. Wenn Sie eine ausgezeichnete Corporate Identity oder ein Markenbuch haben, beziehen Sie sich auf diese.

Designer werden sich sehr bei Ihnen bedanken, wenn Sie einen Schnittstellendesignstil angeben, z. B. flaches Design oder Materialdesign.

Kunstflug wird Drahtgitter (Drahtgitter) hinzufügen - Prototypen der Produktschnittstelle in Form von ungefähren Schaltkreisen.

Bild

Software-Schnittstellen


Dieser Abschnitt richtet sich an Profis. Wenn Sie von Ihren Fähigkeiten überzeugt sind, lesen Sie weiter. Die beste technische Aufgabe beschreibt auch die Architektur des Produkts, dh aus welchen Softwarekomponenten es besteht. Im Fall einer Client-Server-Datierungsanwendung ist der Dienst in einen Teil des Servers unterteilt, der Daten speichert und verarbeitet, einige logische Operationen ausführt, und einen Teil des Clients, der die Daten anzeigt.

Der Server ist in Module zerlegt: Datenbanken, Authentifizierung, Chat usw. Der Client kommuniziert mit dem Server über APIs (Datenübertragungsschnittstellen). Geben Sie seinen Typ (REST, WEB, RPC usw.) an und beschreiben Sie die Methoden, Antworten und Fehlerbehandlung.

Daten werden normalerweise in Form spezieller Strukturen in der Datenbank gespeichert, meistens in Form von Tabellen (für relationale Datenbanken) und JSON-Strukturen (für nicht relationale Datenbanken). Die Entwickler werden sich sehr bedanken, wenn Sie in der technischen Aufgabe die Datenbankentitäten (ER-Modelle) angeben und die gespeicherten Felder unter Angabe ihrer Datentypen (Zeichenfolge, int usw.), Schlüssel (primär, fremd) und obligatorisch (erforderlich) beschreiben ) und nullbar.

Bild

Nicht-funktionale Anforderungen


Dies sind allgemeine Produktanforderungen. Sie können in technische Anforderungen, Sicherheitsanforderungen und Leistungsanforderungen unterteilt werden. Die technischen Anforderungen geben die Wünsche für die Geräte und die Betriebsumgebung an, z. B. für Dating-Anwendungen. Dies sind Android 7.0+ und JDK 8+, iOS 11.0+ und Swift 4.2.

In den Sicherheitsanforderungen können Sie festlegen, dass die Datenübertragung im Chat mithilfe der SHA-1-Verschlüsselung erfolgen soll und dass die Kennwortkomplexität bei der Registrierung mindestens 8 Bit betragen sollte. Die Leistungsanforderungen beziehen sich auf den Anschluss von Komponenten und die Fehlertoleranz. Sie sollten beispielsweise das Zeitlimit angeben um eine Chat-Nachricht nicht länger als 1 s zu lesen und dass die Anwendung den Cache teilweise speichert und für eine begrenzte Zeit offline arbeiten kann.

Rat


  1. PDF, . , .
  2. , , , .
  3. -, , .
  4. , , .
  5. . , .
  6. Machen Sie sich bereit, mehr als ein paar Tage zu verbringen, oder wenden Sie sich an einen Fachmann, um eine Arbeit zu schreiben. Kompetente Leistungsbeschreibungen ersparen Ihnen lange Diskussionen mit den Entwicklern über Details und legen klare Kriterien für die Durchführung des Projekts fest. Beispielsweise ist ein vollwertiger TOR gemäß dem IEEE-830-Standard, der dem Entwicklungsvertrag beigefügt ist, ein Argument vor Gericht, wenn die Anforderungen nicht erfüllt werden.

All Articles