Modellkonsistenz
Wie schneidet Mendix Qualität und Konsistenz von Apps in der Entwicklungsphase sicherstellen?
Mendix Studio Pro gewährleistet die Qualität und Konsistenz von Anwendungen, die mit dem Mendix Plattform durch den unten beschriebenen Ansatz und die Mechanismen.
Konsistenzprüfungen
Mendix führt typischerweise 10–20 Mal mehr Konsistenzprüfungen durch als Compiler in herkömmlichen Programmierplattformen. Daher sind Tests hauptsächlich auf funktionaler Ebene erforderlich. Der Vorteil besteht darin, dass durch umfassende Qualitäts- und Konsistenzprüfungen auch nichttechnische Fachexperten robuste und anspruchsvolle Apps entwickeln können.
Konsistenzprüfungen werden in drei Kategorien unterteilt: Fehler, Warnungen und AbwertungenWenn beispielsweise einer App ein neues Attribut hinzugefügt wurde, Mendix prüft, ob alle Sicherheitskonfigurationen und Zugriffsregeln richtig konfiguriert wurden. Wenn nicht, wird ein Fehler mit Benutzerhinweisen angezeigt, was das Problem ist und wie es zu lösen ist. Fehler müssen behoben werden, bevor Sie die App erneut ausführen können. Dadurch wird sichergestellt, dass die App auf logischer Ebene immer konsistent ist.
Gleichzeitig, Mendix bietet professionellen Entwicklern die Möglichkeit, bei Abweichungen von den aus den Prüfungen resultierenden Empfehlungen eigene Abwägungen vorzunehmen. So kann beispielsweise eine Warnung bezüglich der Performance einer bestimmten Abfrage ignoriert werden, da der Benutzer den Kontext über die Häufigkeit kennt, mit der diese Abfrage ausgelöst wird.
Hier sind einige Beispiele für Konsistenzprüfungen auf der Mendix Plattform:
- Mendix Studio Pro verhindert die Bereitstellung einer App, deren Eingabefeld mit einem falsch eingegebenen oder nicht mehr vorhandenen Attribut verknüpft ist (beispielsweise ein Textfeld, das mit einem booleschen Attribut verknüpft ist).
- Mendix verbirgt automatisch Navigationsmenüpunkte vor dem Benutzer, die zu Seiten führen, für die der aktuelle Benutzer nicht über ausreichende Rechte verfügt.
- Mendix Studio Pro zeigt einen Fehler an, wenn der Benutzer mit einer bestimmten Rolle zu einer Seite navigieren kann, auf der Entitäten und/oder Attribute angezeigt werden, auf die Benutzer dieser Rolle aufgrund von Sicherheitseinstellungen nicht zugreifen können.
- Wenn Sie Datenabrufe in Ihrer Anwendung definieren, Mendix überprüft, ob die resultierenden Datenbankabfragen sowohl syntaktisch als auch semantisch korrekt sind und erfolgreich für die Datenbank ausgeführt werden können.
Die Folgerung für das Testen ist, dass diese Konsistenzprüfungen Mängel aufzeigen oder verhindern können, die bei nicht-Mendix Entwicklungsaufwand. Dies führt zu weniger Mängeln, die behoben werden müssen. In einigen Fällen funktionieren diese Prüfungen auch proaktiv (z. B. wenn Sie den Namen eines Attributs ändern, Mendix Studio Pro passt alle Verweise auf dieses Attribut an.) Dadurch wird wiederum die Wahrscheinlichkeit verringert, dass sich Fehler in Ihr Modell einschleichen.
Einheitliche Modellierungsumgebung
Alle Anwendungsmodelle in Mendix werden in einer einzigen Umgebung verwaltet. Mendix prüft die Vollständigkeit und Konsistenz des gesamten Modells. Auf diese Weise Mendix garantiert, dass das Modell nach der Bereitstellung keine technischen Inkonsistenzen enthält. Tatsächlich lässt das System die Bereitstellung des Modells erst zu, wenn die Inkonsistenzen behoben sind.
Pattern Recognition
Mendix führt Analysen durch, um Muster zu erkennen, die bei in der Produktion ausgeführten Anwendungen Probleme verursachen können. Die Plattform prüft beispielsweise, ob Entscheidungsbäume unvollständig sind oder ob in einem Flow eine Variable verwendet wird, die sonst nirgends verwendet wird. Vor der Veröffentlichung des Modells werden Warnungen ausgegeben.
Regressionsanalyse
Derselbe Mechanismus wird auch für Regressionsprüfungen verwendet, wodurch die Auswirkungen von Änderungen auf das Modell leicht analysiert werden können. Beispiele für Regressionsprüfungen, die verwendet werden von Mendix Dazu gehört eine „Wo verwendet“-Analyse, die hervorhebt, wo Commits an Datenobjekten durchgeführt werden, und die Erkennung von Abfragen, die die Leistung beeinträchtigen können.
Die intrinsischen Qualitäts- und Konsistenzprüfungsmechanismen in Mendix sind Schlüsselfaktoren für die Entwicklung hoher Produktivität.
Modell-Refactoring
Mendix Studio Pro bietet umfassende Unterstützung für die Modellrefaktorierung. Wenn der Benutzer beispielsweise den Namen einer Seite oder einer Mikroflussvariable refaktorisiert, Mendix Studio Pro propagiert das Refactoring in allen Modellteilen und sorgt so für die Konsistenz des Modells. Dieses Refactoring wird automatisch und konsistent im gesamten Modell propagiert.
Wenn das Refactoring eine bewusste Entscheidung des Benutzers erfordert (beispielsweise das Hinzufügen eines zusätzlichen Eingabeparameters zu einer Microflow-Signatur), liefern die Modellkonsistenzprüfungen direktes Feedback darüber, welche Teile des Modells weitere Maßnahmen erfordern, bevor die Anwendung erneut bereitgestellt werden kann.
Wie schneidet Mendix Stellen Sie sicher, dass die Datenzugriffsrechte in der Benutzeroberfläche und den APIs eingehalten werden?
Datenzugriffsrechte sind ein integraler Bestandteil der Mendix Modell, und diese Datenzugriffsrechte werden in der gesamten Anwendung weitergegeben. Dementsprechend ist die Mendix Der Benutzer muss nicht an jedem Anwendungseintrittspunkt eine zusätzliche benutzerdefinierte Sicherheitslogik schreiben.
Wenn beispielsweise Schreibrechte nur auf die Administratorrolle für eine bestimmte Entität im Domänenmodell beschränkt sind, werden Datensicherheitsrechte auch in der Benutzeroberfläche und den Dienst-APIs beachtet. Dies bedeutet, dass die Möglichkeit zum Bearbeiten von Funktionen wie einer Schaltfläche „Bearbeiten“ für Benutzerrollen, die keine Schreibzugriffsrechte haben, automatisch deaktiviert wird.
Welche Analysetools stehen zur Verfügung, um die Qualität des Modells zu verbessern?
Neben integrierten Modellanalysen und Konsistenzprüfungen Mendix Studio Pro verfügt über eine Erweiterte Suche Funktion, mit der alle Arten von Modellelementen analysiert und gefunden werden können (z. B. nicht verwendete Dokumente, große Mikroflüsse, die umgestaltet werden müssen, und eine Übersicht über alle Mikroflüsse, die bestimmte Integrationstypen verwenden).