2 Entwicklung von Softwaresystemen Flashcards

1
Q

Was ist Software Engineering?

A

Software Engineering ist das systematische, disziplinierte und quantifizierbare Vorgehen zur Entwicklung, zum Betrieb und zur Wartung von Software, nach Ingenieurprinzipien.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Gründe Nicht-Erfolg von Softwareprojekten?

A
  • nicht erfolgreich eingeschätzt, überschritten geplante Zeit, das Budget oder konnten nicht die erwartete Funktionalität bieten
  • Diese Problematik zeigt die Relevanz eines stringenten Vorgehens bei der Entwicklung von Softwaresystemen.

Vorgehen Anfangszeit der Computertechnik geprägt von Einzelakteuren, wenig geordneter Prozess
> Herausforderungen, Software nur von Ersteller vollständig verstanden
> steigende Komplexität, Programm mit viel Code nur mit Team möglich > erfordert geordnete Zusammenarbeit und systematisches Vorgehen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind die Hauptaufgaben im Softwareentwicklungsprozess?

A

Aufgaben umfassen Anforderungsmanagement, Projektmanagement, Qualitätsmanagement, Testmanagement und Dokumentation der entwickelten Software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Warum ist ein systematischer Entwicklungsprozess notwendig?

A

Die Entwicklung von Software ist zu komplex, um ohne systematischen Prozess durchgeführt zu werden, was zu hohen Scheiter-/Zeit-/Budgetüberschreitungsquoten führt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was sind Webanwendungen?

A

Webanwendungen sind Applikationen, die über das Internet bereitgestellt werden und über einen Browser aufgerufen werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind die Vorteile von Webanwendungen gegenüber Desktopanwendungen?

A
  • keine manuelle Installation und Updates notwendig
  • müsse nicht aufwändig für unterschiedliche Betriebssysteme entwickelt werden
  • Datenhaltung liegt zentral beim Anbieter der Webanwendung
    o Datenausfall unwahrscheinlicher
    o Zugriff von verschiedenen Endgeräten auf die Applikation mit den eigenen Daten

Datenverlust ist unwahrscheinlicher.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was sind wichtige Aspekte bei der Entwicklung von Webanwendungen?

A
  • Kompatibilität (Browser, Endgeräte, Bildschirmgrößen)
  • Performance (Netzwerkverbindung, Datenübertragung & Latenz minimieren)
  • Releasezyklus (Ohne eingreifen des Nutzers, Erwartungen hoch, Fehlerbehebung schnell > bei Entwicklung bedenken)
  • Sicherheit und Datenschutz (Datenübertragung öffentlich im Internet)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was sind wichtige Aspekte bei der Entwicklung von mobiler/nativer Apps?

A
  • Betriebssystemwahl: Android und iOS, Meist für beide entwickelt
  • verschiedene Herangehensweisen
    o native Appentwicklung (einzeln für das jeweilige Betriebssystem optimiert entwickelt)
    o hybride Appentwicklung (Kosten- und Zeitvorteile, aber nicht optimiert > schlechtere Performance oder weniger Funktionalität)
  • mobile Nutzung (Batterieverbrauch, instabile Internetverbindung > offline Nutzung planen)
  • Endgerät Funktionalitäten Nutzern (Rotation, GPS, Kamera)
  • Sicherheit & Datenschutz
  • Vertrieb (Appstore erhält Provision)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was sind die Unterschiede zwischen nativen Apps und Web-Apps?

A

Native Apps:
- Laufen direkt auf dem Betriebssystem des Endgeräts,
- Können einfach auf gerätespezifische Hardware zugreifen (z. B. Kamera, GPS, Beschleunigungssensor),
- Werden in einem App-Store angeboten,
- Können Offline-Funktionalitäten haben.

Web-Apps:
- Werden über den Browser aufgerufen,
- Können unabhängig vom Gerät und Betriebssystem genutzt werden, solange ein Browser ausgeführt werden kann,
- Können unabhängig vom Nutzer aktualisiert werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wann sind native Apps besser geeignet als Web-Apps?

A

Native Apps sind besser bei komplexen Anwendungsszenarien, die großen Rechenbedarf haben und auf Gerätehardware zugreifen müssen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind wichtige Entscheidungen bei der Entwicklung einer App?

A
  • Entwicklungsmethodik: Auswahl eines geeigneten Vorgehensmodells für die App-Entwicklung.
  • Teamzusammensetzung: Sicherstellung, dass alle erforderlichen Fähigkeiten im Team vertreten sind.
  • Technologieauswahl: Entscheidung zwischen nativer App (für Qualität) oder hybrider App (für Geschwindigkeit und Plattformverfügbarkeit).
  • User Experience und Testing: Sicherstellung einer positiven Benutzererfahrung und Testen der Bedienbarkeit durch frühe Nutzerrückmeldungen.
  • Sicherheits- und Datenschutzaspekte: Berücksichtigung dieser Themen vor Markteintritt, um Risiken zu minimieren und Compliance zu gewährleisten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Problematik bei Start-Up Entwicklung

A

Geschwindigkeit vs. Systematik: Start-ups setzen auf schnelle Prototypentwicklung, um Kunden und Investoren zu gewinnen, stehen dabei jedoch im Spannungsfeld zu den strukturierten Prinzipien des Software-Engineerings.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Welche Methoden gibt es, um die Kundenakzeptanz einer neuen Anwendung zu messen?

A
  • Umfragen (schriftlich, in der Anwendung selbst, per Online-Fragebogen…),
  • Interviews (Einzel, Gruppen),
  • Beobachtung (Eye-Tracking, Nutzungsstatistiken, etc.).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly