Lektion 3: Software-Entwicklung Flashcards

1
Q

Zur Entwicklung nativer Android-Apps stehen zwei Programmiersprachen zur Wahl, welche sind das?

A

Java und Kotlin

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

Java weist insbesondere die folgenden Eigenschaften auf. Welche?

A
  • Einfachheit: Java ist vergleichsweise einfach zu erlernen, da die Programmiersprache nur aus wenigen Sprachkonstrukten besteht und auf komplexe Konzepte verzichtet.
  • objektorientiert: Java ist eine vollständig objektorientierte Programmiersprache und verweigert den Aufruf von Prozeduren oder Unterprogrammen.
  • verteilt: Mit Java können Anwendungen realisiert werden, die auf verteilte Ressourcen innerhalb einer gemeinsamen Netzstruktur zugreifen können.
  • Sicherheit: Java stellt verschiedene Sicherheitsmechanismen zum Schutz vor unerlaubten Zugriffen bei der Nutzung verteilter Anwendungen über das Internet zur Verfügung.
  • architekturneutral: Java-Anwendungen laufen auf allen Rechnerarchitekturen, die über ein Java-Laufzeitsystem verfügen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Zur Erstellung und Anwendung eines Java-Programms werden folgende Werkzeuge benötigt, welche?

A
  • Editor: zur Eingabe des Programmquellcodes;
  • Compiler: zur Übersetzung des Programmquellcodes in eine Form, die von einem Computer ausgeführt werden kann;
  • Laufzeitumgebung: die Java-Laufzeitumgebung (engl. Java Runtime Enviroment) zur weitgehend betriebssystemunabhängigen Programmausführung;
  • Java-Bibliotheken: Die Programmierung mobiler Anwendungen für das Android-Betriebssystem erfordert die Einbindung zusätzlicher Java-Bibliotheken in die Laufzeitumgebung. Sie beinhalten spezielle Klassen für die Kommunikation mit der Hardware des entsprechenden Endgeräts und dem Android-Betriebssystem.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Für die Erstellung von nativen Android-Apps gibt es verschiedene Entwicklungsumgebungen. Es gibt zwei Entwicklungsumgebungen, welche?

A

App Inventor und Android Studio

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

Die Erstellung von mobilen Applikationen erfolgt in App Inventor in zwei Schritten. Nenne und beschreibe beide Schritte.

A
  1. Design Editor: Im ersten Schritt erfolgt die Gestaltung anhand der Browseranwendung im Design Editor. Per Drag & Drop lassen sich dazu die benötigten Steuerelemente, wie z. B. Schaltflächen, Textfelder oder Beschriftungen, auf der Benutzeroberfläche platzieren, anordnen, benennen und priorisieren (Kloss 2011, S. 59f.).
  2. Blocks Editor: Um ausführbare Algorithmen zu generieren, werden den Steuerelementen im zweiten Schritt Funktionen und Methoden zugewiesen und die Funktionsblöcke miteinander verbunden.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Zur Entwicklung nativer iOS-Apps stehen ebenfalls zwei Programmiersprachen zur Wahl, welche?

A

Objective-C und Swift

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

In einer separaten CSS-Datei, dem sogenannten Stylesheet, wird also die Darstellung bzw. das Aussehen des Dokuments einer Web-App festgelegt. Dazu gehören z. B. Layout, Typografie, Farben und auch verschiedene Darstellungen für unterschiedliche Ausgabemedien. Die strikte Trennung von Struktur (HTML) und Design (CSS) bietet dabei insbesondere zwei Vorteile, welche?

A
  • Anpassungsfähigkeit: Durch die Trennung lässt sich das Layout besser an das jeweilige Ausgabegerät, aber auch an spezielle Benutzerbedürfnisse, beispielsweise eine spezielle Darstellung für Menschen mit einer Sehbehinderung, anpassen.
  • Flexibilität: Designänderungen werden für alle HTML-Dokumente vorgenommen, ohne die Trennung müsste jedes HTML-Dokument einzeln angepasst werden. Soll die Webseite beispielsweise eine andere Hintergrundfarbe bekommen, dann muss diese Einstellung nicht in jedem einzelnen HTML-Dokument der Webseite vorgenommen werden, sondern nur einmalig in der entsprechenden CSS-Datei.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Sollen Anweisungen wiederholt ausgeführt werden, dann werden Schleifen eingesetzt. Bei einer Schleife werden die Anweisungen so lange wiederholt, wie die Schleifenbedingung gültig ist. Dabei wird zwischen verschiedenen Typen von Schleifen unterschieden. Einige häufig verwendete Typen sind welche?

A
  • for-Schleife (zählgesteuerte Schleife): Bei einer for-Schleife handelt es sich um eine zählgesteuerte Schleife, bei der die Anweisungen so lange wiederholt werden, bis ein bestimmter Wert erreicht wird. So führt z. B. for (var i=0; i < 10; i++) { echo i; } den Code so lange aus, wie i kleiner als 10 ist (i < 10), und erhöht i bei jedem Durchgang um eins (i++). Mit { echo i; } wird der Wert der Variablen i ausgegeben.
  • while-Schleife (bedingungsgesteuerte Schleife): Bei einer while-Schleife handelt es sich um eine bedingungsgesteuerte Schleife, bei der die Anweisungen so lange ausgeführt werden, wie eine bestimmte Bedingung erfüllt ist. So führt beispielsweise while (i != 1) { echo i; } den nachfolgenden Code wiederholt aus, so lange die Bedingung erfüllt ist. Man spricht hier auch von einer kopfgesteuerten Schleife, da die Abfrage der Bedingung vor der Ausführung der Anweisungen erfolgt.
  • do-Schleife (bedingungsgesteuerte Schleife): Die do-Schleife ist ebenfalls bedingungsgesteuert und ähnelt der while-Schleife, mit dem Unterschied, dass hier die Überprüfung der Bedingung nach der Ausführung der Anweisungen erfolgt. Daher spricht man auch von einer fußgesteuerten Schleife, z. B. do { echo i; } until (i == 10);.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ein Datenbanksystem, häufig auch einfach nur kurz als Datenbank bezeichnet, dient zur elektronischen Verwaltung von Daten und hat die Aufgabe, große Datenmengen widerspruchsfrei, effizient und dauerhaft zu speichern und bei Bedarf die benötigten Daten für die Anwendungen bereitzustellen. Datenbanken bestehen aus welchen zwei Komponenten?

A

dem Datenbankmanagementsystem (DBMS) zur Verwaltung der Daten und der eigentlichen Datenbank, die den Datenbestand enthält.

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

Was ist SQLite?

A

SQLite ist eine Bibliothek, die das Datenbanksystem enthält. Dabei handelt es sich um eine „embedded“-Datenbank. Das bedeutet, die Datenbank ist in die jeweilige Anwendung eingebunden und wird mit dieser ausgeliefert. Damit ist sie auch ausschließlich dieser einen Anwendung zugeordnet. Eine Besonderheit von SQLite ist, dass die Bibliothek mit nur wenigen Hundert Kilobyte sehr klein ist und eine SQLite-Datenbank nur aus einer einzigen Datei besteht. Daher wird SQLite nicht nur gerne für mobile Betriebssysteme, sondern auch z. B. in Browsern, unter anderem zur Verwaltung von Lesezeichen oder Cookies, eingesetzt

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

SQLite unterstützt insgesamt nur welche fünf Datentypen?

A
  • Null: für Null-Werte.
  • Integer: zur Speicherung einer vorzeichenbehafteten Ganzzahl, die je nach Größe des Werts in 1, 2, 3, 4, 6 oder 8 Byte gespeichert wird. Dieser Typ kann somit auch zum Speichern von Werten des Typs Boolean (true/false) genutzt werden. Integer entspricht dem Typ Long in Java.
  • Real: zur Speicherung von Gleitkommazahlen mit doppelter Genauigkeit. In diesem Datentyp lässt sich aber auch der kleinere Datentyp Float speichern. Das entspricht dem Typ Double in Java.
  • Text: zur Speicherung von Textzeichenfolgen. Text entspricht dem Typ String in Java.
  • BLOB: Das Akronym steht für Binary Large Object. Mit diesem Datentyp lässt sich im Grunde alles speichern. BLOB wird z. B. häufig zur Speicherung von Dokumenten, Bildern oder Musik verwendet (z. B. JPG, MP3, MOV). Da SQLite nicht weiß, wie die Daten zu interpretieren sind, ist eine Suche, Filterung, Sortierung oder Gruppierung über eine Spalte des Datentyps BLOB allerdings nicht möglich. BLOB entspricht dem Typ Byte-Array (byte[]) in Java.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist eine Standalone Application?

A

Als Standalone Application wird ein Gerät (Hardware oder Software) bezeichnet, das eigenständig, also ohne weitere Zusatzgeräte, seine Funktion erfüllen kann.

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

Was ist eine Dalvik-Datei?

A

Das Dalvik-Dateiformat mit der Dateierweiterung .dex ist eine ausführbare Datei, die für Android kompilierten (übersetzten) Code enthält.

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

Tag

A

Dieser englische Begriff kann mit Etikett oder Auszeichner übersetzt werden und ist eine Auszeichnung eines Datenbestandes mit zusätzlichen Informationen.

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

Launcher
.

A

Ein Launcher ist vergleichbar mit dem Desktop auf einem Computer. Im Launcher werden die Icons der Apps angezeigt

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

Die Software wird laut der Norm ISO/IEC 2382 (2015) in welche drei Kategorien unterteilt?

A

In System-, Unterstützungs- und Anwendungssoftware

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

Zur Entwicklung nativer Android-Apps stehen welche zwei Programmiersprachen zur Wahl?

A

Zur Entwicklung nativer Android-Apps stehen zwei Programmiersprachen zur Wahl: Java und Kotlin

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

Bei der Entwicklung von Web-Apps werden speziell für mobile Anwendungen entwickelte Java-Script-Bibliotheken, wie z. B. jQuery Mobile, eingesetzt. Wofür?

A

Beispielsweise gibt es auf mobilen Geräten mit Touchscreen keine Hover-Mausereignisse, dafür aber verschiedene Finger-Gesten, wie z. B. Wischen (swipe), Drehen (rotate), Spreizen (pinch). jQuery Mobile ist an diese Erfordernisse von mobilen Anwendungen angepasst und mit den meisten mobilen Betriebssystemen kompatibel.

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

Welche Entwicklungsumgebung (Softwaretools zur App-Erstellung) von Native-Apps wird bei iOS und welche bei Android genutzt?

A

iOS: X-Code
Android: App-Inventor, Android-Studio

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

Laut Norm ISO/IEC 2382 wird Software in welche drei Kategorien unterteilt?

A

Systemsoftware, Unterstützungssoftware und Anwendungssoftware

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

Wofür ist das Betriebssystem in Verbindung mit der Software zuständig?

A

Das Betriebssystem ist dabei ein zentraler Bestandteil der Systemsoftware. Es ist nicht nur die Basis für die verschiedenen möglichen Betriebsarten, sondern es steuert und überwacht auch die Ausführung der Anwendungs- und Unterstützungssoftware.

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

Was ist ein Kernel?

A

Der Kernel arbeitet im Hintergrund und ist das Kernprogramm des Betriebssystems. Er ist im Wesentlichen für die Vermittlung zwischen der Hard- und Software zuständig.

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

Android basiert auf einem quelloffenem Open-Source-Betriebssystem und Apple auf einem proprietären Betriebssystem. Was bedeutet das, was sind die Unterschiede?

A

dass Android kostenlos verfügbar ist und der Quellcode für jeden zugänglich ist, der ihn einsehen, ändern und anpassen möchte. “Quelloffen” bedeutet, dass der Code öffentlich ist und von einer Gemeinschaft von Entwicklern verbessert und erweitert werden kann. “Open Source” bedeutet, dass der Code für jedermann frei zugänglich ist, im Gegensatz zu proprietärer Software, deren Code geheim gehalten wird und nur vom ursprünglichen Entwickler bearbeitet werden kann. So können viele Menschen auf der ganzen Welt Android verwenden, es verbessern und an ihre Bedürfnisse anpassen, was zu einer Vielzahl von Android-Versionen und -Varianten führt.

24
Q

Was sind Vor und Nachteil eines quelloffenen Open-Source-Betriebssystems wie bei Android?

A

Vorteil:
- die Verwendung ist kostenfrei (weil Open-Source-Lizenz)
- Entwickler haben freien Zugriff auf alle Schnittstellen und API-Funktionalitäten und können diese auch modifizieren
- umfassende Sammlung an Quellcodes wird für die Entwicklung bereitgestellt

Nachteil:
- auch Gerätehersteller nehmen Änderungen und Erweiterungen vor, weshalb sich Entwickler nicht darauf verlassen können, dass die Hersteller alle Standards von Android exakt umsetzen.

25
Q

Was sind Vor und Nachteil eines proprietären Betriebssystem wie bei iOS?

A

Nachteil:
- Rechte und Möglichkeiten zur Wieder- und Weiterverwendung sowie für Änderungen und Anpassungen sind stark eingeschränkt, weshalb sich App-Entwickler mit den zur Verfügung gestellten Möglichkeiten von Apple zufrieden geben müssen

Vorteil:
- daher ergibt sich der Vorteil dass alle Geräte alle iOS-Standards erfüllen

26
Q

Auf welchem Betriebssystem basiert Android und auf welchem Apple iOS?

A
  • das Android Betriebssystem basiert auf einem Linux-Kernel, der zusammen mit einer grafischen Benutzeroberfläche und weiterer Software ein vollwertiges Linux-Betriebssystem ergibt.
  • das UNIX-basierte Apple iOS wurde auf Grundlage von macOS X entwickelt und basiert auf dem Basissystem Darwin mit einem XNU-Kernel
27
Q

Editoren stellen ein einfaches Werkzeug zur Entwicklung von Quellcode für App-Anwendungen dar. Was wird noch für die Umsetzung in eine endgültige Anwendung benötigt? Und wie wird die Vereinigung dieser Werkzeuge genannt?

A

Ein Übersetzer und ein Binder werden zu dem Editor benötigt, um eine Anwendung umsetzen zu können. Diese Werkzeuge transformieren den Quellcode erst in eine ausführbare Form. Entwicklungumgebungen vereinen diese Werkzeuge und unterstützen Entwickler nicht nur beim Schreiben des Quellcodes sondern auch beim Entwurf sowie beim Testen der Anwendung.

28
Q

Welche Entwicklungsumgebung wird für Apple iOS und welche Entwicklungsumgebungen für Android genutzt?

A

iOS: X-Code
Android: App-Inventor, Android Studio

29
Q

Was versteht man unter „objektorientierter Programmiersprache“?

A

Eine objektorientierte Programmiersprache ist eine Art von Programmiersprache, die das Konzept der Objektorientierung unterstützt. Bei der objektorientierten Programmierung (OOP) wird der Code um “Objekte” organisiert, die Daten (Variablen) und Methoden (Funktionen) kombinieren.

Hier sind einige grundlegende Konzepte der objektorientierten Programmierung:

  • Klassen und Objekte: Klassen sind Baupläne oder Schablonen, die die Eigenschaften und Methoden definieren, die ein bestimmtes Objekt haben kann. Ein Objekt ist eine Instanz einer Klasse, das spezifische Daten enthält und Methoden ausführen kann.
  • Vererbung: Vererbung ermöglicht es, Eigenschaften und Methoden einer Klasse auf andere Klassen zu übertragen. Eine abgeleitete Klasse kann die Eigenschaften und Methoden einer Basis (Eltern-) Klasse erben und diese bei Bedarf erweitern oder überschreiben.
30
Q

Welche Vorteile bietet die Programmiersprache Kotlin im Vergleich zu Java?

A

Hat viele moderne Features und Vorteile im Vergleich zu Java. Kotlin ist zu Java kompatibel. Kotlin ist deutlich schlanker als Java, d.h. der Kotlin-Quellcode ist meistens viel kürzer als Java-Quellcode.

31
Q

Was macht der Emulator in Android Studio?

A

Er bildet eine Vorschau der Benutzerfläche des ausgewählten mobilen Geräts ab, auf der die programmierte App ausprobiert und getestet werden soll.

32
Q

Was ist das App-Manifest?

A

Das App-Manifest beinhaltet Informationen (Metadaten) über die Anwendung (z.B. App-Name, Autor, Beschreibung, Icon).

33
Q

Warum gilt die Hauptprogrammiersprache von Apple Objective-C als hybride Programmiersprache?

A

Da sie durch die Programmiersprache C durch objektorientierte Elemente erweitert und dadurch eine nahtlose Vermischung von C- und Objective-C-Syntax erlaubt

34
Q

Aus welchem ursprünglichen Betriebssystem wurde macOS Betriebssystem entwickelt?

A

NextStep

35
Q

Was ist ein Framework?

A

Frameworks sind Bibliotheken, die aus einer Sammlung flexibel wiederverwendbare Programmteile, so genannte Klassen, bestehen. 

36
Q

Unter welchen Namen wurden die Frameworks für OS X und iOS, welche weitestgehend durch NeXT Computer entwickelt wurden, zusammengefasst?

A

Unter dem Namen Cocoa für OS X bzw. Cocoa Touch für iOS.

Cocoa: Cocoa ist ein Framework, das für die Entwicklung von Anwendungen für macOS (ehemals OS X) verwendet wird. Es enthält eine Reihe von Bibliotheken und Werkzeugen, die Entwicklern helfen, Mac-Anwendungen zu erstellen.
Cocoa Touch: Cocoa Touch ist ein Framework, das für die Entwicklung von Anwendungen für iOS (iPhone, iPad und iPod Touch) verwendet wird. Es basiert auf Cocoa, wurde jedoch speziell für die Anforderungen mobiler Geräte optimiert.

37
Q

Sowohl Cocoa als auch Cocoa Touch beinhalten die Objective-C-Laufzeitumgebung sowie zwei Kern-Frameworks. Welche?

A

Cocoa enthält das Foundation Kit und Application Kit und Cocoa
Touch enthält neben dem Foundation Kit auch das UIKit-Framework (Apple Inc 2018):
• Foundation Kit: Gilt als das wahrscheinlich wichtigste Framework, da es unzählige Klassen und Datenstrukturen beinhaltet, die in C nicht vorhanden sind. Es unterstützt Arrays, spezielle Zeichenfolgen, Wörterbücher und viele andere Typen. Darüber hinaus übernimmt es die Speicherverwaltung von Objekten.
• Application Kit (kurz AppKit): Enthält Klassen für die Entwicklung von grafischen Benutzeroberflächen von macOS X-Anwendungen. Dazu zählen verschiedene Steuerelemente wie Fenster, Schaltflächen oder Schieberegler. Aber auch die Behandlung von Ereignissen, wie z. B. das Verschieben eines Fensters, das Klicken auf eine Schaltfläche oder die Texteingabe in ein Textfeld, gehören zu den Aufgaben des Frameworks.
• UIKit-Framework: Enthält Klassen speziell für die Entwicklung von grafischen Benutzeroberflächen für mobile iOS-Anwendungen

38
Q

Swift ist jünger als Objective-C. Was sind die Vorteile von Swift?

A

Das Grundkonzept von swift ähnelt dem von Objektiv-C. Es nutzt auch Frameworks von Cocoa (Touch). Ein großer Vorteil ist dass Programmierfehler besser erkannt werden und Quellcode schneller ausgeführt wird (2,6 mal schneller). Und Swift gilt als sicherer da viele als unsicher geltende Klassen (Code Sammlungen) eliminiert wurden.

39
Q

Die Programmiersprache von Apple, nämlich Swift, hat eine Besonderheit. Swift-Objekte können niemals den Zustand „nil“ annehmen, wodurch viele Abstürze verhindert werden können. Was bedeutet nil?

A

In einfachen Worten bedeutet dies, dass Swift sicherstellt, dass Objekte immer einen Wert haben, bevor sie verwendet werden können, was dazu beiträgt, Programmfehler zu vermeiden und die Zuverlässigkeit des Codes zu verbessern.

40
Q

Was ist ein Compiler?

A

Ein Compiler ist ein Werkzeug, das den von einem Entwickler geschriebenen Quellcode in eine für den Computer verständliche Form übersetzt.

41
Q

Leider Ist es mit den derzeit verfügbaren Software Tools nicht möglich, Cross Plattform Apps zu entwickeln, die die gleiche Qualität, Leistung und Jose bility wie native Apps aufweisen. Dennoch gibt es einige Ansätze und Werkzeuge, die versuchen, dies zu ermöglichen. Wie heißen sie?

A

Xamarin oder React Native werden genutzt, um plattformübergreifende mobile Apps auf Grundlage eines gemeinsamen Quellcodes zu entwickeln. Dabei besteht die größte Herausforderung darin, die APIs (übermitteln Daten zw. versch. Anwendungen) anzusprechen und die für das jeweilige mobile Gerät optimalen Bedienmöglichkeiten umzusetzen sowie Inhalte bestmöglich darzustellen, sodass Benutzer auch intuitiv durch die App navigieren können.

42
Q

Was sind Variablen-Typen und benenne die sieben gängigsten.

A

Variablentypen sind in der Programmierung wichtig, weil sie angeben, welche Art von Daten eine Variable speichern kann. Jeder Variablentyp hat bestimmte Eigenschaften und Einschränkungen, die bestimmen, welche Art von Daten darin gespeichert werden können und wie sie verwendet werden können.

Hier sind einige häufige Variablentypen:
1. nil: undefiniert, Null-Wert, Variable nicht gesetzt
2. Boolean: Ein Boolean-Variablentyp kann nur einen von zwei möglichen Werten annehmen: “true” oder “false”. Er wird oft für logische Ausdrücke und Bedingungen verwendet.
3. Integer: Ein Integer-Variablentyp speichert Ganzzahlen, also positive oder negative ganze Zahlen ohne Dezimalstellen.
4. Float und Double: Diese Variablentypen speichern Gleitkommazahlen, also Zahlen mit Dezimalstellen. “Float” speichert kleinere Gleitkommazahlen mit geringerer Genauigkeit, während “Double” größere Gleitkommazahlen mit höherer Genauigkeit speichert.
5. Char: ein einzelnes Zeichen/ Buchstabe/ Text
6. String: Ein String-Variablentyp speichert eine Zeichenkette oder Text.

43
Q

Warum ist die Angabe von Variablen-Typen im Quellcode wichtig?

A

Die Angabe des Variablentyps ist wichtig, damit der Compiler weiß, wie viel Speicherplatz reserviert werden soll und welche Operationen auf die Variable angewendet werden können. Durch die Verwendung von Variablentypen kann Java eine starke Typisierung und Fehlererkennung bieten, was zu sichererem und zuverlässigerem Code führt.

44
Q

Was sind Kontrollstrukturen (Anweisungen)?

A

Kontrollstrukturen steuern den Ablauf des Programms, indem sie Entscheidungen treffen und Schleifen ausführen. Dazu gehören Bedingungen (if-else-Anweisungen), Schleifen (for-, while- und do-while-Schleifen) und Sprunganweisungen (break, continue, return).

45
Q

Wozu werden Funktionen verwendet?

A

In Funktion lassen sich mehrere Anweisungen zusammenfassen, um diese Codeblöcke wiederzuverwenden. So lässt sich der Programmcode durch den Einsatz von Funktion besser strukturieren und wird dadurch übersichtlicher. Da die Anweisung nur einmal geschrieben und in einer Funktion zusammengefasst werden müssen, sind Funktionen insbesondere nützlich, wenn die gleichen Vorgänge mehrmals in einem Programm benötigt werden. Dazu müssen der Funktion Parameter zugeordnet werden.

46
Q

Nenne alle drei Arten von Schleifen in der Programmierung

A
  • for-Schleife (zählgesteuerte Schleife)
  • while-Schleife (bedingungsgesteuerte Schleife)
  • do-Schleife (bedingungsgesteuerte Schleife)
47
Q

Die while- und die do-Schleife sind beides bedingungsgesteuerte Schleifen und sich sehr ähnlich. Was ist aber der Unterschied zwischen einer while- und einer do-Schleife?

A

Bei einer while-Schleife erfolgt die Abfrage der Bedingung VOR der Ausführung der Anweisungen. Diese Anweisungen werden solange wiederholt, wie eine bestimmte Bedingung wahr ist.

Bei einer do-Schleife erfolgt die Überprüfung der Bedingung NACH der Ausführung der Anweisungen. Sie stellt sicher dass die Anweisungen innerhalb der Schleife mindestens einmal ausgeführt werden, bevor die Bedingung überprüft wird. Solange die Bedingung True ist wird die Anweisung ausgeführt bis sie false ist.

48
Q

Wozu dient eine Datenbank und aus welchen zwei Komponenten besteht sie?

A

Ein Datenbanksystem, häufig auch einfach nur kurz als Datenbank bezeichnet, dient zur elektronischen Verwaltung von Daten und hat die Aufgabe, große Datenmengen widerspruchsfrei, effizient und dauerhaft zu speichern und bei Bedarf die benötigten Daten für die Anwendungen bereitzustellen. Datenbanken bestehen aus zwei Komponenten: dem Datenbankmanagementsystem (DBMS) zur Verwaltung der Daten und der eigentlichen Datenbank, die den Datenbestand enthält. Das Datenbankmanagementsystem wird zur Installation und Konfiguration des Datenbanksystems verwendet.

49
Q

Welches Datenbankmanagementsystem wird für native Apps von Android und iOS verwendet?

A

SQLite. Dieses ist in beiden Betriebsystemen bereits integriert und muss nicht extra heruntergeladen werden.

50
Q

Bei SQLite handelt es sich um ein relationales Datenbankmodell. Was bedeutet das?

A

Das bedeutet die Daten werden in Form von Tabellen gespeichert die Beziehungen zueinander haben können. Also Bei einer relationalen Datenbank werden die Daten in verschiedenen Tabellen gespeichert, die wiederum über so genannte Relationen miteinander verknüpft sind. Der jeweilige Tabellenname ist der Name der Relationen zwischen den Daten.

51
Q

Was versteht man unter einer „embedded“ Datenbank, wie es SQLite eine ist?

A

SQLite ist eine Bibliothek, die das Datenbanksystem enthält. Dabei handelt es sich um eine „embedded“-Datenbank. Das bedeutet, die Datenbank ist in die jeweilige Anwendung eingebunden und wird mit dieser ausgeliefert. Damit ist sie auch ausschließlich dieser einen Anwendung zugeordnet. Eine Besonderheit von SQLite ist, dass die Bibliothek mit nur wenigen Hundert Kilobyte sehr klein ist und eine SQLite-Datenbank nur aus einer einzigen Datei besteht.

52
Q

Was sind die Vorteile von swift gegenüber Objective-C?

A
  • Programm Fehler lassen sich besser erkennen
  • schnellere Code-Ausführungsgeschwindigkeit
  • sicherer und weniger Abstürze, da Objekte nie Zustand nil annehmen können.
53
Q

In welchen Schritten wird eine App in Xcode erstellt?

A
  1. Interface Builder (Gestaltung per Drag and Drop)
  2. Storyboard (Zuweisung von Funktionen und Verbindung der Screens)
54
Q

Was sind die Unterschiede zwischen Java Script und PHP, die für die Erstellung von Web-Apps verwendet werden?

A
  • Java Script ist clientseitige Skriptsprache und PHP eine serverseitige Skriptsprache
  • PHP ist effizienter
  • Java Script ist komplizierter in der Verwendung (PHP benötigt nur eine Datei um Server einzurichten bei Java Script ist das komplizierter)
  • PHP ist sicherer (da JavaScript-Code für jeden sichtbar und von jedem heruntergeladen werden kann -> kann schädlichen Code enthalten)
  • PHP ermöglicht Zugriff auf Datenbanken und Dateisysteme und JavaScript nicht
55
Q

Für Android wird oftmals SQLite als DBMS verwendet. Welche zwei DBMS werden für iOS genannt?

A

Auch SQLite und CoreData

56
Q

Hier ist eine Verzeichnisstruktur eines Projektes in Android Studio:
1. AndroidManifest.xml
2. Java
3. Drawable-hdpi
4. Layout
5. Values
6. Build.gradle
erkläre was in diesen Ordnern enthalten ist

A
  1. Manifestdatei beschreibt grundlegende Merkmale der App und definiert jede ihrer Komponenten (dient als Schnittstelle zwischen Android-Betriebssystem und der App)
  2. enthält die Java-Quellcode Dateien
  3. Verzeichnis für Zeichenobjekte
  4. Dateien für das User-Interface
  5. Sammlung von Ressourcen als XML-Dateien
  6. automatisch generierte Datei mit Infos über den Zusammenbau der App