Grundlagen der Softwareentwicklung Flashcards

1
Q

Was sind Software Entwicklungsmethoden?

A

Softwareentwicklungsmethoden sind systematische Ansätze, die im Softwareentwicklungsprozess verwendet werden, um Softwareanwendungen effizient und effektiv zu entwerfen, zu erstellen und zu warten.

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

Was ist das Wasserfallmodell?

A

Das Wasserfallmodell ist eine traditionelle Softwareentwicklungsmethode, bei der der Entwicklungsprozess linear und sequenziell abläuft, wobei jede Phase von der Fertigstellung der vorherigen abhängt.

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

Was ist die Agile Methodik?

A

Agile ist ein iterativer und inkrementeller Ansatz zur Softwareentwicklung, der die Zusammenarbeit mit dem Kunden, adaptive Planung und die frühzeitige Bereitstellung funktionierender Software priorisiert.

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

Was sind die wesentlichen Prinzipien des Agile Manifests?

A

Die wesentlichen Prinzipien des Agile Manifests umfassen Individuen und Interaktionen über Prozesse und Werkzeuge, funktionierende Software über umfassende Dokumentation, Zusammenarbeit mit dem Kunden über Vertragsverhandlungen sowie Reagieren auf Veränderungen über das Befolgen eines Plans.

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

Was ist das Scrum-Framework?

A

Scrum ist ein agiles Rahmenwerk zur Verwaltung und Bereitstellung von Softwareprodukten. Es umfasst spezifische Rollen wie den Product Owner, den Scrum Master und das Entwicklungsteam sowie zeitlich begrenzte Iterationen namens Sprints.

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

Was ist das V-Modell?

A

Das V-Modell ist ein Softwareentwicklungsmodell, das eine systematische und strukturierte Herangehensweise an den Entwicklungsprozess bietet. Es betont die Verbindung zwischen den Entwicklungsphasen und den zugehörigen Testphasen.

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

Was ist das Spiralmodell?

A

Das Spiralmodell ist ein iteratives Softwareentwicklungsmodell, bei dem der Prozess in sich wiederholenden Spiralen verläuft. Jede Spirale repräsentiert eine Entwicklungsphase, die kontinuierlich verbessert wird.

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

Was ist das Incremental Development Model?

A

Das Rapid Application Development (RAD) Modell ist ein agiles Modell, das auf schnelle Prototypenentwicklung und enge Zusammenarbeit mit den Stakeholdern setzt, um die Software schnell bereitzustellen.

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

Was ist das Kanban-Modell?

A

Das Kanban-Modell ist eine agile Methode, bei der der Fokus auf der Visualisierung des Arbeitsablaufs liegt. Es verwendet Boards und Karten, um den Fortschritt zu verfolgen und die Effizienz zu steigern.

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

Was ist eine Methode?

A

Eine Methode ist ein systematischer und geordneter Ansatz oder ein Verfahren, das verwendet wird, um ein bestimmtes Ziel zu erreichen oder ein Problem zu lösen. In der Softwareentwicklung können Methoden beispielsweise zur Programmierung, Test oder Projektmanagement eingesetzt werden.

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

Was ist Methodik?

A

Die Methodik bezieht sich auf die Lehre oder die wissenschaftliche Untersuchung der Methoden. Sie umfasst die Entwicklung, Strukturierung und Anwendung von Methoden in einem bestimmten Kontext. Die Methodik kann auch die philosophischen Grundlagen, Prinzipien und Regeln enthalten, die bei der Anwendung von Methoden befolgt werden.

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

Was ist der Software-Lebenszyklus?

A

Der Software-Lebenszyklus bezieht sich auf den gesamten Prozess der Softwareentwicklung, von der Konzeption und Planung bis hin zur Wartung und Stilllegung der Software. Er umfasst verschiedene Phasen und Aktivitäten, die in einem strukturierten Prozess ablaufen.

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

Welche sind die Phasen im Software-Lebenszyklus?

A

Die Phasen im Software-Lebenszyklus sind in der Regel:

Anforderungsanalyse
Entwurf
Implementierung
Testen
Bereitstellung
Wartung

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

Was passiert in der Anforderungsanalyse-Phase?

A

In der Anforderungsanalyse-Phase werden die Anforderungen an die Software identifiziert und erfasst. Das bedeutet, dass die Bedürfnisse und Erwartungen der Benutzer und Stakeholder ermittelt und dokumentiert werden.

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

Was ist die Implementierungsphase?

A

In der Implementierungsphase wird der Code der Software entwickelt und geschrieben. Es ist die Phase, in der das Design in ausführbaren Code umgesetzt wird.

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

Was ist die Testphase im Software-Lebenszyklus?

A

Die Testphase ist der Prozess, bei dem die entwickelte Software auf Fehler und Probleme überprüft wird, um sicherzustellen, dass sie den Anforderungen entspricht und ordnungsgemäß funktioniert.

17
Q

Was passiert in der Wartungsphase des Software-Lebenszyklus?

A

In der Wartungsphase wird die Software aktiv betrieben und gepflegt. Es können Fehlerkorrekturen, Aktualisierungen oder Erweiterungen vorgenommen werden, um die Software aktuell und funktionsfähig zu halten.

18
Q

Was bedeutet CASE?

A

CASE steht für computerunterstützte Softwareentwicklung (Computer-Aided Software Engineering). Es handelt sich um den Einsatz von Computertechnologien, Tools und Methoden, um den gesamten Softwareentwicklungsprozess zu unterstützen und zu automatisieren.

19
Q

Welche Vorteile bietet CASE?

A

CASE bietet mehrere Vorteile, darunter:

Beschleunigung der Softwareentwicklung
Verbesserung der Softwarequalität
Bessere Zusammenarbeit im Entwicklerteam
Effizientere Fehlererkennung und -behebung
Wiederverwendung von Code und Komponenten

20
Q

Welche Funktionen können CASE-Tools haben?

A

CASE-Tools können verschiedene Funktionen haben, darunter:

Anforderungsanalyse und -management
Entwurf und Modellierung von Softwarearchitekturen
Codegenerierung und -dokumentation
Testautomatisierung
Versionskontrolle und Konfigurationsmanagement

21
Q

Welche Phasen im Software-Lebenszyklus können von CASE-Tools unterstützt werden?

A

CASE-Tools können in allen Phasen des Software-Lebenszyklus eingesetzt werden, einschließlich:

Anforderungsanalyse
Entwurf und Modellierung
Implementierung und Codegenerierung
Testen und Fehlerverfolgung
Wartung und Weiterentwicklung

22
Q

Was sind mögliche Herausforderungen bei der Verwendung von CASE-Tools?

A

Einige Herausforderungen bei der Verwendung von CASE-Tools sind:

Hohe Kosten für den Erwerb und die Wartung der Tools
Komplexität und Einarbeitungszeit in die Nutzung der Tools
Anpassung der Tools an spezifische Projektanforderungen
Integration der Tools in bestehende Entwicklungsprozesse

23
Q

Was sind Qualitätskriterien in der Softwareentwicklung?

A

Qualitätskriterien sind Maßstäbe, anhand derer die Qualität einer Software bewertet wird. Sie dienen dazu sicherzustellen, dass die Software den Anforderungen und Erwartungen der Benutzer entspricht.

24
Q

Nenne einige wichtige Qualitätskriterien in der Softwareentwicklung.

A

Zu den wichtigen Qualitätskriterien gehören:

Funktionalität: Die Software erfüllt die definierten Anforderungen und bietet die erwarteten Funktionen.
Zuverlässigkeit: Die Software läuft stabil und zuverlässig, ohne häufige Abstürze oder Fehler.
Benutzerfreundlichkeit: Die Software ist einfach zu bedienen und benutzerfreundlich gestaltet.
Effizienz: Die Software arbeitet schnell und verbraucht dabei angemessene Ressourcen.
Wartbarkeit: Die Software lässt sich leicht warten, erweitern und anpassen.
Portabilität: Die Software kann auf verschiedenen Plattformen und Betriebssystemen ausgeführt werden.

25
Q

Warum sind Qualitätskriterien wichtig?

A

Qualitätskriterien sind wichtig, weil sie sicherstellen, dass die entwickelte Software den Bedürfnissen der Benutzer entspricht und die gewünschte Qualität aufweist. Sie helfen, Fehler frühzeitig zu erkennen und zu beheben und tragen somit zur Kundenzufriedenheit bei.

26
Q

Wie können Qualitätskriterien in der Softwareentwicklung gemessen werden?

A

Qualitätskriterien können durch verschiedene Maßnahmen und Tests gemessen werden, wie z.B.:

Funktionale Tests: Überprüfung, ob die Software die gewünschten Funktionen korrekt ausführt.
Performance-Tests: Messung der Leistungsfähigkeit und Reaktionszeit der Software.
Usability-Tests: Bewertung der Benutzerfreundlichkeit durch Testpersonen.
Code-Reviews: Prüfung des Quellcodes auf Qualität und Einhaltung von Programmierstandards.

27
Q

Was bedeutet ISO 9126 in Bezug auf Qualitätskriterien?

A

ISO 9126 ist eine internationale Norm, die Qualitätskriterien für Software definiert. Sie umfasst sechs Hauptkategorien: Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Wartbarkeit und Portabilität.

28
Q

Wie kann Software nach ihrer Verwendungszweck eingeteilt werden?

A

Software kann in folgende Kategorien eingeteilt werden:

Systemsoftware: Steuert und verwaltet die Hardware und bietet Schnittstellen für Anwendungssoftware. Beispiele: Betriebssysteme, Treiber.
Anwendungssoftware: Dient dazu, spezifische Aufgaben und Funktionen für Benutzer zu erfüllen. Beispiele: Textverarbeitungsprogramme, Tabellenkalkulationen, Spiele.

29
Q

Wie kann Software nach ihrer Lizenzierung eingeteilt werden?

A

Software kann in folgende Lizenztypen eingeteilt werden:

Proprietäre Software: Geschlossene Software, deren Quellcode nicht öffentlich zugänglich ist. Nutzer müssen Lizenzen erwerben. Beispiele: Microsoft Office, Adobe Photoshop.
Open-Source-Software: Software, deren Quellcode öffentlich zugänglich ist und von der Community weiterentwickelt werden kann. Beispiele: Mozilla Firefox, Apache Webserver.

30
Q

Wie kann Software nach ihrer Bereitstellung eingeteilt werden?

A

Software kann in folgende Bereitstellungsarten eingeteilt werden:

Installationssoftware: Die Software wird auf den Computern der Benutzer installiert und lokal ausgeführt.
Webbasierte Software: Die Software wird über das Internet bereitgestellt und läuft in einem Webbrowser. Auch als Software-as-a-Service (SaaS) bekannt. Beispiele: Google Docs, Salesforce.

31
Q

Wie kann Software nach ihrer Komplexität eingeteilt werden?

A

Software kann in einfache, mittlere oder komplexe Anwendungen eingeteilt werden. Die Komplexität hängt von der Größe, dem Umfang und der Funktionalität der Software ab. Beispiele für einfache Anwendungen: Taschenrechner, Wecker-App. Beispiele für komplexe Anwendungen: Betriebssysteme, Datenbankmanagementsysteme.

32
Q

Wie kann Software nach ihrer Entwicklungsumgebung eingeteilt werden?

A

Software kann in Desktop-Anwendungen und Mobile Apps eingeteilt werden. Desktop-Anwendungen laufen auf Computern und Laptops, während Mobile Apps für Smartphones und Tablets entwickelt werden.

33
Q

Was ist Individualsoftware?

A

Individualsoftware ist maßgeschneiderte Software, die speziell für die Bedürfnisse eines bestimmten Unternehmens oder einer bestimmten Organisation entwickelt wird. Sie wird in der Regel von einem Softwareentwickler oder einem Entwicklerteam nach den spezifischen Anforderungen des Kunden erstellt.

34
Q

Was ist Branchensoftware?

A

Branchensoftware ist eine Art von Anwendungssoftware, die speziell für bestimmte Branchen oder Geschäftsfelder entwickelt wird. Sie enthält Funktionen und Module, die für die spezifischen Anforderungen und Prozesse in einer bestimmten Branche relevant sind. Beispiele sind Softwarelösungen für den Einzelhandel, das Gesundheitswesen oder die Finanzbranche.

35
Q

Was ist Standardsoftware?

A

Standardsoftware, auch als “Off-the-Shelf-Software” bezeichnet, ist vorgefertigte Software, die von Softwareentwicklern für eine breite Palette von Benutzern entwickelt wird. Sie ist in der Regel für allgemeine Aufgaben oder Funktionen konzipiert und kann von vielen Unternehmen oder Einzelpersonen verwendet werden. Beispiele sind Microsoft Office, Adobe Photoshop und Antivirenprogramme.

36
Q

Welche Vorteile hat Individualsoftware?

A

Die Vorteile von Individualsoftware sind eine maßgeschneiderte Lösung, die genau den Bedürfnissen des Kunden entspricht, eine höhere Effizienz und Produktivität, da sie spezifische Geschäftsprozesse unterstützt, und eine bessere Integration in bestehende Systeme.

37
Q

Was sind die Vorteile von Branchensoftware?

A

Die Vorteile von Branchensoftware sind, dass sie bereits auf die spezifischen Anforderungen und Prozesse einer Branche zugeschnitten ist, eine schnellere Implementierung ermöglicht und bewährte Best Practices enthält, die in der jeweiligen Branche relevant sind.

38
Q

Was sind die Vorteile von Standardsoftware?

A

Die Vorteile von Standardsoftware sind eine kostengünstige Lösung, da die Entwicklungskosten auf viele Benutzer verteilt werden, eine breite Auswahl an Funktionen und Optionen, die den Bedürfnissen vieler Benutzer gerecht werden, und eine schnelle Verfügbarkeit, da sie sofort einsatzbereit ist.