IoT 5 - Design und Entwicklung Flashcards

1
Q

Welche zehn Teildisziplinen umfasst Software Engineering ?

A
Anforderungsermittlung
Entwurf
Implementierung
Test
Wartung
Konfigurationsmanagement
Projektmanagement und Metrik
Vorgehensmodelle
Werkzeuge und Methode
Softwarequalität
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was wird in der Designphase im Software Engineering gemacht ?

A

Die Komplexität der Software wird auf ein handhabbares Maß reduziert und damit das Risiko von Fehlentwicklungen minimiert.

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

Wo kommt UML zum Einsatz ?

A

In der Designphase als Hilfsmittel um Softwareobjekte und die Beziehungen zwischen diesen zu spezifizieren.

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

Unter welchen Vorraussetzungen sollten Tests durchgeführt werden ?

A

Entwicklung- und Testumgebung sollten voneinander und auch von produktiven IT-Systemen getrennt sein.

Entwicklung- und Testumgebung sollten mit gleicher Hard- und Softwarekonfigurationen betrieben werden.

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

Wie kann man die Entwicklungsumgebung und die Testumgebung voneinander trennen ?

A

physisch (separate Server)

logisch (separate virtuelle Maschinen auf einem Server)

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

Was passiert wenn Tests unter suboptimalen Bedingungen stattfinden ?

A

Eine verlässliche Aussage über die Funktionsweise der Software wird erschwert.
Oder eine Abnahme in der Testumgebung wird gänzlich unmöglich.

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

Woraus besteht die Herausforderung bei der Entwicklung von Software für verteilte Systeme ?

A

Die Software setzt sich aus vielen autonomen Komponenten zusammen die unterschiedliche Funktionalitäten ausführen und für den Nutzer nach Außen hin als einziges zusammengehörendes System erscheinen.

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

Wann spricht man von einem verteilten eingebetteten System ?

A

Wenn autonome Komponenten zentrale Steuerungsfunktionen für umgebende Hardware abbilden.

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

Welchen Anforderungen muss die in verteilten eigebetteten System zum Einsatz kommende Software erfüllen ?

A

Echtzeit- und Zuverlässigkeitsanforderungen

z.B. wenn sie in der ABS- oder Airbagsteuerung eingesetzt werden.

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

Inwiefern unterscheidet sich die Entwicklung eingebetteter Systeme von der Entwicklung anderer Systeme ?

A

Bei der Programmierung von z.B. Textsoftware werden hardwarebezogene Anforderungen in der Regel nicht berücksichtigt. Bei der Entwicklung eingebetteter Systeme spielt die zugrundeliegende Hardware jedoch eine wichtige Rolle, da diese oftmals speziell für einen definierten Anwendungszweck entwickelt wird.

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

Wie erfolgt bei der Entwicklung der Zugriff auf die Hardware ?

A

Maschinennahe Programmierung mit Assembler

Programmiersprachen wie C/C++ oder Java

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

Was ist Assembler ?

A

Das ist eine maschinenorientierte Programmiersprache mit enger Bindung an bestimmte Prozessoren oder Prozessortypen.

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

Was ist Java ?

A

Das ist eine populäre, objekt­orientierte Programmiersprache, die durch SUN (heute ORACLE) entwickelt wurde. JAVA-Programme sind plattformunabhängig und ohne Änderungen auf vielen Rechnerarchitekturen und Betriebssystemen ausführbar.

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

Was ist OSGi ?

A

“Open Services Gateway initiative”

Eine offene, dynamische und modulare Laufzeitumgebung auf der Basis von Java.

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

Von wem wurde OSGi entwickelt ?

A

OSGi Alliance (u.a. Oracle, Sun Microsystems, IBM)

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

Was ermöglicht OSGi ?

A

Die steuerung und Vernetzung diverser Gerätearten. Kommt besonders häufig bei der Vernetzung von KFZs zum Einsatz, z.B. bei der Anbindung von Informationssystemen.

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

Warum ist der modulare und dynamische Ansatz von OSGi besonders vorteilhaft ?

A

Damit können in der Praxis Softwarekomponente aus der Ferne installiert, gestartet, gestoppt und deinstalliert werden, ohne ein Gerät neu zu starten.

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

Was ist bei der Implementierung der Echtzeitfähigkeit bei verteilten Systemen zu berücksichtigen ?

A

Berücksichtigung möglicher Einschränkungen durch die Kommunikation zwischen den verteilten Komponenten über Netzwerke unterschiedlichster Art.

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

Wodurch können die Echtzeitfähigkeit und die Zuverlässigkeit eines verteilten Systems negativ beeinflusst werden ?

A

Je nach zugrundeliegendem Übertragungsmedium und Übertragungsprotokoll kann es wegen diverser Fehlerzustände zu Fehlern bei der Datenübertragung kommen.

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

Woraus bestehen verteilte Systeme ?

A

Autonome Komponenten die über ein Kommunikationsnetzwerk miteinander verbunden sind.

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

Welche Eigenschaften sollten verteilte Systeme erfüllen ?

A
Ausfalltoleranz
Fehlertoleranz
Transparenz
Skalierbarkeit
Offenheit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Zwischen welcher Architekturen unterscheidet man bei verteilten Systemen ?

A

Plattformarchitektur
Systemarchitektur
Softwarearchitektur

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

Was sind verteilte Betriebssysteme ?

A

In verteilten Betriebssystemen implementieren lokale Mechanismen Dienste, die für das gesamte System verfügbar sind. Viele Computer die nach Außen hin wie einer erscheinen.

24
Q

Was sind Netzwerkbetriebssysteme ?

A

Bei Netzwerkbetriebssystemen verwenden Benutzer explizit Dienste von anderen Rechnern. Er muss aber wissen welcher Rechner welche Dienste anbietet.
Sie sind gut skalierbar und offen.

25
Q

Was ist Middleware ?

A

Middleware ist anwendungsneutrale Software, die als zusätzliche Schicht zwischen Betriebssystem und Anwedung vermittelt und die Kommunikation zwischen Prozessen unterstützt.

26
Q

Was sind die Vorteile von Middleware ?

A

Die Vorteile von verteilten Betriebssystemen und Netzwerkbetriebssystemen können so kombiniert werden.

27
Q

Wie kommunizieren intelligente Gegenstände mit ihrer Umwelt ?

A

Über Sensoren und Aktoren

28
Q

Wie kommunizieren intelligente Gegenstände mit dem Zentralsystem ?

A

IoT Gegenstand zu Gateway:
z.B. ZigBee oder Bluetooth

Gateway zu Zentralsystem:
Protokolle wie HTTP oder MQTT über eine Messaging Infrastruktur

29
Q

Wo kommen die Daten von intelligenten Gegenständen hin ?

A

Sie werden über APIs an Intelligence Anwendungen angebunden mit deren Hilfe sie dann analysiert und visualisiert werden können.

30
Q

Welche Systemarchitekturen gibt es ?

A

Client-Software-Architekturen

Peer-toPeer-Architekturen

31
Q

Was passiert in einer Client-Server-Architektur ?

A

In einer Client-Server-Architektur tauschen Client und Server Anforderung (Request) und Antwort (Response) miteinander aus.

32
Q

Welches sind Sonderfälle in einer Client-Server-Architektur ?

A

Cache-Server und Proxy-Server

33
Q

Was ist ein Cache-Server ?

A

Er kann Daten zwischenspeichern um unnötige Anfragen über das Netzwerk zu vermeiden.

34
Q

Was ist ein Proxy-Server ?

A

Er ist quasi ein Stellvertreter zwischen Client und Server.

35
Q

Was ermöglicht ein Proxy-Server ?

A

Er kann eine zusätzliche Filterung und Kontrolle des Datenstroms ermöglichen.
Es kann auch eine zusätzliche Authentifizierung der Benutzer erfolgen.

36
Q

Was passiert in einer Peer-to-Peer-Architektur

A

In einer Peer-to-Peer-Architektur übernimmt jeder Rechner sowohl Client- als auch Serverfunktionen.

37
Q

Wie ist ein Peer-to-Peer-Netzwerk aufgebaut ?

A

Es ist ein dezentrales, verteiltes System bestehend aus autonomen Rechnern ohne zentrale Server.

38
Q

Was sind die Nachteile eines

Peer-to-Peer-Netzwerks ?

A

Nicht sehr Ausfallsicher

Schwer administrierbar

39
Q

Zwischen welchen Softwarearchitekturen unterscheidet man ?

A

Zwei-Schichten-Architektur

Drei-Schichten-Architektur

40
Q

Was ist eine Zwei-Schichten-Architektur ?

A

klassische Client-Server-Architektur.
Braucht Fat Client kommuniziert direkt mit der Datenbank.
Einfach zu realisieren. Hohen
Installations/ Administrationsaufwand.

41
Q

Wie ist eine Drei-Schichten-Architektur aufgebaut ?

A

GUI-Schicht (greift über die)
Fachkonzeptschicht (auf die)
Datenhaltungsschicht (zu)

42
Q

Was ist ein Fat Client ?

A

Betriebssystem plus umfangreiche lokal installierte Anwendungssoftware

43
Q

Was ist die GUI-Schicht und wie kommuniziert sie mit der Datenbank ?

A

Graphische Benutzeroberfläche, über die mittels diverser Schnittstellen der
Fachkonzeptschicht
(z. B. Applikationsserver) auf die in der Datenhaltungsschicht liegenden Datenbestände
(z. B. in einer Datenbank) zugegriffen werden kann.

44
Q

Was bedeutet es die drei Schichten in der Drei-Schichten Architektur voneinander zu trennen ?

A

Jede Schicht darf nur auf die Funktionalitäten der direkt darunterliegenden Schicht zugreifen.
Es besteht aber auch die möglichkeit das die GUI-Schicht direkt mit der Datenhaltungschicht kommuniziert.

45
Q

Was für Vorteile hat es wenn man die drei Schichten in einer Drei-Schichten-Architektur voneinander trennt ?

A

Sie können auch unabhängig voneinander verändert werden. Das erhöht die Wartbarkeit und die Portabilität und ermöglicht es, Komponenten der Fachkonzeptschicht leichter wiederzuverwenden.

46
Q

Was tun Sensoren in IoT-Netzen ?

A

Sensoren erfassen automatisch Parameter eines Gegenstandes sowie dessen Umwelt und transferieren diese Informationen an andere Sensoren oder eine zentrale Steuerungseinheit weiter.

47
Q

Was tun Aktoren in IoT-Netzen ?

A

Aktoren reagieren auf sich verändernde Parameter und setzen diese in entsprechende digitale oder physische Aktionen um.

48
Q

Warum kann durch den Einsatz von Aktoren und Sensoren die Datenqualität erhöht werden ?

A

Menschliche Fehler werden ausgeschlossen

und die Datenerfassung erfolgt in Echtzeit.

49
Q

Woraus bestehen Microcontroller ?

A

Mikroprozessor, Arbeitsspeicher, Schnittstellen für Peripheriegeräte und anderen Komponenten, die auf einer Leiterplatine fest aufgelötet sind.

50
Q

Was sind Einplatinenrechner ?

A

Rechner, die alle zum Betrieb erforderlichen Komponenten auf einer einzigen Platine vereinen, wobei typischerweise lediglich das Netzteil anderweitig verbaut wird.

51
Q

Wie kann man Einplatinenrechner um weitere Komponenten erweitern ?

A

Modular und flexibel über entsprechende Steckmodule.

52
Q

Wo werden Einplatinenrechner eingesetzt ?

A

Industrieanlagenn,als eingebettete Systeme in der Unterhaltungselektronik oder z.B. in WLAN-Routern

53
Q

Wie unterscheiden sich Ein-Chip-Systeme von Einplatinenrechnern ?

A

Bei Ein-Chip-Systemen befinden sich alle zum Betrieb benötigten Komponenten auf einem einzigen Chip.

54
Q

Wo werden Ein-Chip-Systeme verwendet ?

A

In der Mobilfunk-, Medizin oder auch Automobiltechnologie.

Auch gut für den Einsatz im IoT.

55
Q

Mit welchem Betriebssystem laufen

Ein-Chip-Systeme und Einplatinenrechner für gewöhnlich und warum ?

A

Linux weil keine Lizenzkosten anfallen und weil Linux in der Lage ist, die begrenzten Hardwareressourcen der Minirechner optimal auszunutzen.

56
Q

Wie werden Betriebssysteme von Einplatinenrechnern oder Chip-Systemen auch genannt ?

A

Firmware.