Was ist Mausprogrammierung? Dies ist das Prinzip der Erstellung einer Benutzeroberfläche, die das Schreiben von Code vermeidet. Viele kritisieren diesen Ansatz: Sie sagen, dass das Programmieren mit der Maus eines echten Entwicklers unwürdig ist, alles sollte im Code enthalten sein. Aber bevor Sie einen Kreis zeichnen konnten, mussten Sie die Grundlagen der Syntax desselben Basic kennen. Jetzt kann jeder Benutzer jede Form in einem einfachen grafischen Editor zeichnen, und dies wird nicht einmal als Programmierung bezeichnet, da die Operation zu einfach ist. Dies ist die Entwicklung der Benutzeroberfläche, die die Interaktion mit dem Computer erleichtert. In diesem Artikel werde ich unsere Erfahrungen mit der Maximierung der Prinzipien der „Programmierung mit der Maus“ in CRM Dynamics teilen.

Bei der Erstellung neuer Dienste konzentrieren wir uns immer darauf, das „Programmierprinzip“ mit der Maus zu maximieren. Das heißt, wenn Sie ein Problem lösen, müssen Sie sich überlegen: Wie können Sie sicherstellen, dass es bei späteren Funktionsverbesserungen nicht wieder zu Ihnen zurückkehrt? Der Wunsch, sich von der Routine zu lösen, beschleunigt die Entwicklung des Produkts. Wenn der Benutzer häufig einen visuellen Teil des Formulars ändern möchte, geben Sie ihm einen Mechanismus, mit dem Sie dies selbst tun und nicht vom Hauptziel ablenken können, der jedoch gleichzeitig das System nicht beeinträchtigt. Wenn wir uns in der Entwurfsphase von der einfachsten Lösung leiten lassen und alles in den Code einfügen, werden die ersten Schritte sicherlich schneller implementiert. Im Laufe der Zeit können Sie in der Phase des Produkt-Supports in der operativen Arbeit ertrinken - Berichte bearbeiten, Verzeichnisse hinzufügen und Geschäftsdokumentation aus einem Vorlagensystem generieren. Letztendlich kann die Systementwicklung einfach aufhören.
Funktionen von CRM Dynamics
CRM Dynamics bietet eine grafische Oberfläche zum Erstellen einer Abfolge von Geschäftsprozessen. Sie können Blöcke mit der Maus verschieben und bestimmte Abfolgen und Abhängigkeiten ohne Code erstellen. Noch interessanter ist jedoch, dass Sie hier mit einer einzigen Maus eine Benutzeroberfläche erstellen können, die so einfach ist wie im integrierten Formular-Designer. So können Entwickler in buchstäblich wenigen Minuten umfangreiche Formulare in einem einzigen Stil erstellen. Dies beschleunigt natürlich die Entwicklung. Ich werde einige Beispiele unserer Lösungen geben.
Datenüberprüfung
In den allermeisten Geschäftssystemen werden die Daten überprüft, die der Benutzer in das System eingibt. Viele nähern sich der Aufgabe auf einfache Weise - sie zeichnen Algorithmen im Code auf, um das Vorhandensein und die Gültigkeit der eingegebenen Daten zu überprüfen. Wir haben einen separaten Dienst implementiert, mit dem Geschäftsadministratoren (unsere privilegierten Benutzer) die Überprüfung mithilfe einfacher Mechanismen in der Benutzeroberfläche konfigurieren können. Ja, der erste Schritt in unserer Implementierung (die Bildung von Verifizierungsmethoden) ist immer noch Code, den der Programmierer schreibt. Er schreibt jedoch in einer einfachen Sprache zum Erstellen von Abfragen innerhalb eines Benutzerformulars. Dies bedeutet, dass ein fortgeschrittener Benutzer mit grundlegenden Fähigkeiten zum Erstellen von Abfragen auch eine ähnliche Methode erstellen kann. Danach sammelt der normale Benutzer bereits den vollständigen Überprüfungspfad selbst und legt die Bedingungen für seine Verwendung fest.
Betrachten Sie ein bestimmtes Beispiel. Wir prüfen die Verfügbarkeit des Reisepasses einer Person im System. Wir beschreiben es im Code und geben diese Methode an Unternehmensadministratoren weiter. Darüber hinaus sind alle grundlegenden Beziehungen bereits in den entsprechenden Objekten registriert. Geschäftsadministratoren konfigurieren bereits unabhängig alle Verbindungen mit der Maus über die grundlegende Benutzeroberfläche und Systemfunktionalität. Sie bestimmen, in welcher Phase des Lebenszyklus des Geschäftsprodukts und für welches Produkt diese Methode verwendet wird, nämlich: ob es notwendig ist, den Direktor der ausleihenden Organisation, den Buchhalter der Garantiegeberorganisation, zu überprüfen oder andere Rollen und Beziehungen innerhalb der Anwendung. Der Reisepass selbst wird auf die gleiche Weise überprüft, und die damit verbundenen Bedingungen und Beziehungen werden vom Geschäftsadministrator festgelegt. Wir sind an diesem Prozess nicht beteiligt.
Der Benutzer erstellt eine Stoppbedingung, indem er Folgendes angibt: Name, Stufe, Produkt und Validierungsobjekt
Konfiguriert die Verknüpfung des Überprüfungsobjekts mit der Überprüfungsmethode
Die Überprüfungsmethode wird noch von den Entwicklern eingerichtet, aber hier kann der Benutzer deaktivierte Attribute deaktivieren und dann mit Kontrollkästchen aktivierenFormulare drucken
Ein weiteres Beispiel für unsere Funktion zur Maximierung der Prinzipien des „Programmierens mit der Maus“ sind gedruckte Formulare. In Dynamics können Sie zunächst eine Vorlage für gedruckte Formulare für Verträge, Einverständniserklärungen und andere Kundendokumente erstellen, indem Sie Daten aus dem System extrahieren. Die Standardimplementierung dieser Funktion weist jedoch eine Vielzahl von Einschränkungen auf, die das Unternehmen nicht in Kauf genommen hat. Daher mussten wir einen flexibleren Mechanismus aufbauen.
Die erste schnelle Lösung besteht darin, gedruckte Formulare über den Berichtsmechanismus im System mithilfe von SQL und SSRS zu generieren. Ich habe mich auf diese Weise mehr als einmal in anderen Lösungen getroffen. Aber je weiter wir an der Entwicklung unseres Systems arbeiteten, desto komplizierter wurden die Druckformen. Infolgedessen haben wir einen ähnlichen Weg wie im vorherigen Beispiel eingeschlagen: Wir haben die Verarbeitung einer SQL-Abfrage implementiert und mithilfe von Open XML eine Reihe von Tags daraus erstellt. Geschäftsbenutzer können diese Abfrage wiederverwenden und Vertragsformen, Fragebögen und andere Geschäftsdokumente erstellen und schnell ändern, indem sie die Tags mit der Maus in den statischen Text der Vorlage einfügen.
Infolgedessen haben wir eine große Anfrage für alle grundlegenden Attribute, die sich nur ändern, wenn neue erscheinen. Mit seiner Hilfe kann der Benutzer jederzeit online das gewünschte gedruckte Formular abholen. Um die Ausführung der Anfrage zu beschleunigen, können wir jederzeit zu einem für uns geeigneten Zeitpunkt eine Verbindung herstellen, ohne die Scrum-Prinzipien zu verletzen, um bei Bedarf eine optimalere Anfrage für bestimmte Anforderungen zu planen und zu stellen.
Hier ist die fertige Vorlage in Word

Und dies ist die Benutzerpräferenz für das DruckformularIn Excel erforderten Druckformulare eine zusätzliche Lösung zum Erstellen von Tags, aber wir haben diese Aufgabe auch bewältigt. Äußerlich haben sie für den Benutzer alles genauso gemacht wie bei der Arbeit mit Word-Vorlagen.
Bei der Datenüberprüfung und bei der Erstellung gedruckter Formulare bleibt das niedrigere Serviceniveau, wenn auch teilweise, auf unserer Seite. In Zukunft planen wir jedoch, einen praktischen Builder für grafische Abfragen zu erstellen. Dann können wir Geschäftsadministratoren 99% der Arbeit mit diesen flüchtigen Systemkomponenten geben.
Mit dem von uns verwendeten Ansatz sind die anfänglichen Arbeitskosten natürlich viel höher - schließlich ist es schwieriger, einen vollwertigen Service zu schreiben. Wir arbeiten jedoch nicht als Integrator-Auftragnehmer, die das fertige Produkt geben und es vergessen möchten. Wir verstehen, dass wir weiterhin mit diesem Produkt arbeiten und es entwickeln werden. Nach den Prinzipien der "Programmierung mit der Maus" sparen wir weitere Systemunterstützung.
Noch ein erwähnenswertes Detail. Um den Prinzipien der Maximierung der Funktionalität mit Elementen der „Programmierung mit der Maus“ zu folgen, werden Spezialisten mit vergleichsweise höheren Qualifikationen benötigt - Entwickler und Analysten, die nicht nur aktuelle funktionale Anforderungen lösen, sondern auch in die Zukunft blicken können, um letztendlich die maximal möglichen Aufgaben für die weitere Entwicklung abzuschließen.
Natürlich ist die Implementierung der Möglichkeiten zum „Programmieren mit der Maus“ im Vergleich zur Verwendung von Code mit einer Reihe von Einschränkungen verbunden, da in unserem Fall alle Funktionen von den Entwicklern vorgegeben werden. Dies wird jedoch zu einem Anreiz, die Funktionalität, Flexibilität und Bequemlichkeit von Werkzeugen für den Benutzer zu entwickeln.