Zwölf wichtige NFR-Überlegungen für die Entwicklung mobiler Anwendungen

Categories: ArchitectureMobilityTechnology

Bei der Entwicklung einer Software stehen in der Regel die Funktionalität und ihre Auswirkungen auf das Geschäft und den Umsatz im Vordergrund. Die Funktionalitäten werden weiter in Anforderungen, dann in Features, User Stories und Integrationen unterteilt. Wenn es jedoch um die tatsächliche Entwicklung der Software geht, tritt eine andere Denkweise in den Vordergrund. Das Hauptaugenmerk des Architekten oder der Architektin liegt eher auf der Frage: "Was sind die nicht-funktionalen Anforderungen hier?"

Nicht-funktionale Anforderungen (NFR) sind die Kriterien oder Parameter, die sicherstellen, dass das Produkt die geschäftlichen Anforderungen erfüllt - zum Beispiel Geschwindigkeit, Kompatibilität, Lokalisierung und Kapazität. Während die funktionalen Anforderungen festlegen, was die App tun soll, definieren die NFRs, wie gut sie funktionieren und die Erwartungen der Benutzer:innen erfüllen soll.

Die Bedeutung von NFRs

NFRs sind ein wesentlicher Aspekt der Softwareentwicklung und dienen als Basisanforderungen, um die herum die Systemarchitektur entworfen wird. Eine Systemarchitektur, die sich an einer gut etablierten NFR orientiert, bietet einen Fahrplan für den Entwurf der Softwarearchitektur, die Implementierung, den Einsatz und die Wartung und Aktualisierung nach der Produktion.

Viele bekannte NFRs wurden definiert, bevor die erste mobile Anwendung entwickelt wurde. Daher ist es wichtig, dass Sie diese NFRs aus der Sicht der mobilen Entwicklung kontextualisieren. Doch welche dieser nichtfunktionalen Anforderungen sind auf die Entwicklung mobiler Anwendungen anwendbar, und was müssen Sie bei der Planung Ihres eigenen mobilen Anwendungsprojekts beachten?

In diesem Beitrag gehen wir der Frage nach, wie sich die NFR auf das Design, die Entwicklung und den Support mobiler Anwendungen auswirken, indem wir die einzelnen Anforderungen und ihre Auswirkungen näher betrachten.

NFRs durch die Linse der mobilen App-Entwicklung

Dies sind die nicht-funktionalen Anforderungen, die bei der Entwicklung mobiler Anwendungen zu berücksichtigen sind. Einige gelten nur für mobile Anwendungen, während andere sich nur geringfügig von den NFRs für die Entwicklung von Webanwendungen unterscheiden.

Erreichbarkeit

Barrierefreiheit als NFR bezieht sich auf die Art und Weise, wie die Anwendung Benutzer:innen mit besonderen Bedürfnissen unterstützt oder unter bestimmten Umständen verwendet wird, z. B. ein:e Benutzer:in mit Sehschwäche. Es gibt zwar viele Anforderungen an die Barrierefreiheit, die bei der Entwicklung mobiler Anwendungen erfüllt werden müssen, aber die Verwendung von Sprachbefehlen zur Steuerung und Navigation in der Anwendung ist eine besonders wichtige NFR. Darüber hinaus kann die Zugänglichkeit durch das Hinzufügen spezieller Gesten wie Doppeltippen und langes Drücken zur Ausführung wichtiger Funktionen verbessert werden.

Anpassungsfähigkeit

Im Zusammenhang mit der Entwicklung mobiler Anwendungen erfüllt eine Anwendung, die alle funktionalen Anforderungen unter den folgenden Bedingungen erfüllt, die NFR für Anpassungsfähigkeit:

  • Unterstützung für eine breite Palette von Bildschirmauflösungen.
  • Unterstützung für eine breite Palette von Herstellern (bei Android).
  • Unterstützung für die größtmögliche Abwärtskompatibilität von Betriebssystemversionen.

Anpassungsfähigkeit kann auch eine NFR sein, um sicherzustellen, dass die Anwendung unter Bedingungen mit geringer Bandbreite reibungslos läuft.

Verfügbarkeit

Wenn eine mobile Anwendung direkt von Backend-API und -Diensten abhängig ist, um ihre Funktionen auszuführen, ist ihre Verfügbarkeit von der Verfügbarkeit dieser Backend-Dienste abhängig. In einem mobilen Kontext bezieht sich die Verfügbarkeit als NFR jedoch auf die Ausführung möglicher Funktionen, selbst wenn die Backend-API nicht verfügbar ist. Kann der oder die Benutzer:in beispielsweise eine Operation durchführen, die später synchronisiert werden kann, sobald die Dienste wieder online sind?

Einhaltung der Vorschriften

Die Einhaltung von Vorschriften bei mobilen Anwendungen dreht sich größtenteils um den Schutz und die Privatsphäre der Nutzerdaten, wobei die Anforderungen von HIPAA, GDPR usw. festgelegt und durchgesetzt werden. Wenn die Datenschutz- und Sicherheits-NFR im Backend und in den mobilen Anwendungen erreicht wird, ist in den meisten Fällen auch die Compliance erfüllt (es sei denn, es gibt spezifische Compliance-Anforderungen).

Integrität der Daten

Bei mobilen Anwendungen umfasst die Datenintegrität die Wiederherstellung von Daten für die reibungslose Ausführung der Anwendung, wobei die Erwartung besteht, dass die Anwendung die Daten wie vorgesehen wiederherstellt und beibehält, wenn der Benutzer das Gerät wechselt, eine neue Version der Anwendung installiert wird oder der/die Benutzer:in Vorgänge im Offline-Modus durchführt.

Aufbewahrung von Daten

Bei mobilen Anwendungen wird erwartet, dass die Daten mit Backend-Diensten synchronisiert werden, und aus diesem Grund ist es im Allgemeinen nicht ratsam, große dauerhafte Daten lokal zu speichern. "Keine Datenspeicherung" als NFR gilt für mobile Anwendungen. Wenn jedoch die Anforderung besteht, umfangreiche Daten in einem lokalen persistenten Speicher zu halten, sollte das Datenvolumen - und nicht die Dauer - der treibende Faktor für die NFR zur Datenhaltung sein.

Einsatz

Die Bereitstellung mobiler Anwendungen erfolgt zumeist in den von Android und Apple bereitgestellten Stores, die ihre eigenen Verfahren zur Bereitstellung von Anwendungen anwenden. Updates stehen den Endnutzer:innen daher nicht sofort zur Verfügung. Die Bereitstellung als NFR im Mobilitätskontext (abgesehen von ihren grundlegenden Spezifikationen) konzentriert sich darauf, die Benutzer:innen über die Verfügbarkeit neuer Versionen zu informieren und die Nutzung der Anwendung zu stoppen, wenn die obligatorischen Updates nicht installiert werden. Sowohl der App Store als auch der Play Store bieten Konfigurationen zur Priorisierung obligatorischer Updates. Dennoch kann das System so gestaltet werden, dass es obligatorische Updates erzwingt, um dem/der Endnutzer:in ein reibungsloses Anwendungserlebnis zu ermöglichen.

Wirkungsgrad

Im Gegensatz zu Web- oder Backend-Anwendungen werden mobile Anwendungen auf mobilen Geräten mit begrenzten Ressourcen wie z. B. Speicher ausgeführt. Da sie außerdem batteriebetrieben sind, ist Effizienz eine wichtige NFR. Es ist ein Muss, dass die mobile Anwendung effizient läuft, mit einem geringen Speicherbedarf und Batterieverbrauch.

Datenschutz

Der Datenschutz ist ein wichtiger Aspekt von mobilen Anwendungen. In Bezug auf die Datenschutz-NFRs sind die folgenden Punkte wichtig:

  • Mediendateien, die benutzerspezifische Daten enthalten, sollten im privaten Speicher der Anwendung gespeichert und verschlüsselt werden.
  • Von der Anwendung aufgenommene Medien sollten nicht direkt weitergegeben werden.
  • Das Kopieren von Text aus der Anwendung sollte nicht erlaubt sein.
    Screenshots sollten nicht erlaubt sein.

Berichterstattung und Überwachung

Die Berichterstattung und Überwachung von NFRs ist aus Sicht des Supports und der Wartung entscheidend. Da mobile Anwendungen auf den Geräten der Benutzer installiert werden, ist es für das Support-Team schwierig, direkt mit ihnen zu interagieren, Sitzungen am Bildschirm zu teilen oder auf lokale Protokolldateien zuzugreifen. Aus diesem Grund werden Remote-Protokollierungs- und Analyselösungen wie Firebase oder Countly benötigt. Diese Lösungen können Ereignisse, Benutzeraktionen und Ausnahmen erfassen und helfen bei der Analyse von Anwendungsnutzungsmustern.

Sicherheit

Datenschutz und Sicherheit sind miteinander verknüpft, und in Bezug auf die Sicherheits-NFRs sind die folgenden Punkte von Bedeutung:

  • Die Anwendung sollte mit geeigneten privaten Zertifikaten signiert werden, wobei eine Richtlinie für die Speicherung und Verwendung von Zertifikaten gelten sollte.
  • Die Anwendung sollte nicht auf autorisierten/manipulierten Versionen von Betriebssystemen installiert werden.
  • Die Daten sollten sowohl im Ruhezustand als auch bei der Übertragung verschlüsselt werden.
  • Der Anwendungszugriff aus anderen Anwendungen sollte standardmäßig deaktiviert sein.
  • Alle anderen plattformspezifischen Sicherheitsrichtlinien sollten befolgt werden.

Benutzerfreundlichkeit

Aufgrund des kleinen Formfaktors ist die Benutzerfreundlichkeit eine wichtige NFR. Im Allgemeinen sollten die Benutzer:innen in der Lage sein, durch die Anwendungen zu navigieren und auf wichtige Funktionen mit Leichtigkeit zuzugreifen, meist mit Einhandbedienung. Das UX-Design sollte auch ein minimales Scrollen des Bildschirms oder eine Suchfunktion für scrollbare Inhalte und eine schnelle Navigation für wichtige Funktionen berücksichtigen.

Wichtigste Erkenntnisse

Der Umgang mit NFRs erfordert von Entwickler:innen mobiler Anwendungen einen proaktiven und umfassenden Ansatz. Er beginnt mit einer gründlichen Planung und Analyse, um die spezifischen NFRs zu identifizieren, die für das Projekt relevant sind. Die Festlegung klarer und messbarer Ziele für jede Anforderung ist wichtig, um sicherzustellen, dass die App die Erwartungen der Nutzer:innen erfüllt.

Während des gesamten Entwicklungsprozesses sollten Sie die NFRs in jeder Phase berücksichtigen. Die Entwickler:innen sollten die Leistung, die Sicherheitsvorkehrungen und die Benutzerfreundlichkeit der App kontinuierlich bewerten und die notwendigen Anpassungen und Optimierungen vornehmen, um die gewünschten Anforderungen zu erfüllen. Eine enge Zusammenarbeit zwischen Entwickler:innen, Designer:innen, Tester:innen und Stakeholdern ist entscheidend, um NFRs effektiv anzugehen und eine qualitativ hochwertige mobile App zu gewährleisten.

Strenge Testmethoden, wie Leistungs-, Sicherheits- und Kompatibilitätstests, helfen dabei, die Einhaltung der definierten NFRs zu überprüfen. Automatisierte Testtools und Frameworks können den Testprozess optimieren und potenzielle Leistungsengpässe, Sicherheitsschwachstellen oder Kompatibilitätsprobleme identifizieren.

Vergessen Sie nicht, dass NFRs keine einmalige Angelegenheit sind. Die Technologie entwickelt sich weiter, die Erwartungen der Benutzer:innen ändern sich, und es entstehen neue Herausforderungen. Entwickler mobiler Anwendungen müssen aufkommende Trends und Technologien kontinuierlich überwachen und sich an sie anpassen, um sicherzustellen, dass ihre Anwendungen die sich entwickelnden NFRs erfüllen.

Die Priorisierung von NFRs und deren Integration in den Entwicklungsprozess hilft Ihrem Team, mobile Anwendungen zu entwickeln, die nicht nur funktionale Anforderungen erfüllen, sondern sich auch durch Leistung, Sicherheit, Benutzerfreundlichkeit, Kompatibilität und Skalierbarkeit auszeichnen. Solche Apps haben eine höhere Erfolgschance auf dem hart umkämpften Markt für mobile Apps, begeistern die Nutzer:innen und verschaffen dem Entwicklungsteam einen guten Ruf.

Author

4aa901e7ab8295f07139911c8bed1ae6?s=256&d=mm&r=g

Author

GlobalLogic Marketing

View all Articles

Top Insights

Homeoffice Whitepaper

Homeoffice Whitepaper

AtlassianCloudSecurityAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology

Top Authors

Axel Salmeron

Axel Salmeron

Sr Developer

Manuel Asenzo

Manuel Asenzo

Senior Manager

Ravikrishna Yallapragada

Ravikrishna Yallapragada

AVP, Engineering

Amit Handoo

Amit Handoo

Vice President, Client Engagement

Sameer Tikoo

Sameer Tikoo

Senior Vice President & GM, Communication Services BU

Blog Categories

  • URL copied!