Kategorie: Informatik

Allgemeines zu Objektorientiertem Programmieren

  • Allgemein: Die Objektorientierung ist ein Programmierparadigma, das mit Objekten arbeitet. Es zeichnet sich hauptsächlich durch drei Konzepte aus: Kapselung, Vererbung und Polymorphie.
  • Programmierparadigma: Vorgehensweise bei der Programmierung, z.B. objektorientiert, funktional, strukturiert.
  • Objekt: Ding der realen Welt, z.B. Hund, Tisch, Versicherungsvertrag. Ein Objekt hat Eigenschaften (Attribute) und Funktionen (Methoden), z.B. die Augenfarbe des Hundes oder die Policierung eines Versicherungsvertrags.
  • Klasse: Viele objektorientierte Programmiersprachen verwenden Klassen als Baupläne für Objekte, z.B. Fahrzeug oder Person. Objekte sind dann Instanzen dieser Klassen, z.B. der blaue Mercedes oder Stefan Macke. Klassen definieren, welche Attribute und Methoden jedes Objekt der Klasse hat, aber die konkreten Ausprägungen des Objekts können dann unterschiedlich sein.
  • Kapselung: Objekte kapseln Attribute und die zugehörigen Methoden. Der Zugriff auf die Attribute sollte nur über entsprechende Methoden möglich sein, damit die Manipulation der Werte verhindert wird und das Objekt immer in einem gültigen Zustand ist.
  • Vererbung: Klassen können Attribute und Methoden an andere Klassen vererben. Damit stehen die Attribute und Methoden der vererbenden Klasse der erbenden Klasse direkt zur Verfügung. Die vererbende Klasse nennt man Basisklasse und die erbende Klasse Subklasse.
  • Polymorphie: Heißt Vielgestaltigkeit und bedeutet, dass Variablen Objekte unterschiedlichen Typs zugewiesen werden können, die sich beim Aufruf derselben Methode dann unterschiedlich verhalten. Dies ist bei Vererbung oder Verwendung von Interfaces der Fall. Überall wo eine Basisklasse oder ein Interface erwartet wird, kann auch eine Subklasse oder implementierende Klasse verwendet werden. Methoden können z.B. in Subklassen überschrieben werden und damit eine andere Implementierung enthalten als die Basisklasse. Wird nun die Subklasse übergeben, wo eigentlich die Basisklasse erwartet wird, wird die Methode der Subklasse aufgerufen.

Quelle: https://fachinformatiker-anwendungsentwicklung.net/anwendungsentwickler-podcast-2-haeufige-fragen-im-fachgespraech-objektorientierung/

Abschlußprüfungen und deren Themen

Themen der schriftlichen IHK-Prüfungen seit 2010

Sommer 2017

  • GH1
    • UML-Klassendiagramm, Assoziation, Vererbung, Komposition
    • Algorithmus zur Prüfung eines Fingerabdrucks
    • Algorithmus zur Ermittlung eines Minimums, UML-Aktivitätsdiagramm zur Recherche nach einem Fingerabdruck
    • Tabellenmodell zu Delikten, Delinquenten und Dokumenten
    • SQL zur Zugangskontrolle
  • GH2
    • Netzplan vervollständigen, kritischen Pfad ermitteln, Puffer erläutern, Aufgaben des Projektleiters, Phasenmodell der Teamentwicklung
    • Gemeinkostenzuschlagsätze berechnen, Kosten-/Preiskalkulation, Gewinnermittlung, Marketing
    • Gesetzestext verstehen, CSV-Datei erstellen, VPN, Verschlüsselung
    • Entity-Relationship-Model zu Wettermessstationen, Redundanz, Normalisierung, Schlüssel
    • Verkabelung (Dämpfung, Reichweite), Router vs. Switch, Subnetting, DHCP, DNS

Winter 2016/2017

  • GH1
    • UML-Aktivitätsdiagramm zur Wartung von Flugzeugen
    • Algorithmus zum Finden einer Route anhand Fracht und Kosten
    • Algorithmus zur Suche freier Flugzeuge
    • Entity-Relationship-Model zu Flügen, Flugzeugen, Piloten usw.
    • SQL zu Flügen, Sitzen usw.
  • GH2
    • Vorteile und Bestandteile von Cloud Computing (IaaS, PaaS, SaaS), Netzplan vervollständigen
    • Private vs. Public Cloud, Skalierung, Datenschutz, Backup (Großvater, Vater, Sohn und Voll-/Differenzsicherung), Trojaner, Phishing, DDoS
    • IPSec, Firewall, IPv6
    • Kostenrechnung, Marketing
    • Use-Case-Diagramm, Algorithmus zur Preisberechnung, Testverfahren, Compiler/Interpreter

Sommer 2016

  • GH1
    • Lasten-/Pflichtenheft, GANTT-Chart, Netzplan, Personaleinsatzplan
    • Algorithmus zur Erstellung einer Rechnung
    • UML zeichnen: Zustandsdiagramm, Klassendiagramm, Sequenzdiagramm
    • Normalisierung erläutern, Tabellenmodell in dritter Normalform entwickeln
    • SQL-Abfragen: UPDATE, SELECT
  • GH2
    • Marktpotential und -anteil sowie Umsatz berechnen, AIDA, Kommunikationspolitik
    • Datentypen für Tabelle festlegen, Speicherzeit ausrechnen, DSL erklären, Big Data erläutern
    • SAN/NAS mit Vorteilen erläutern, Glasfaser vs. Kupferdraht, Speicherzeit berechnen, Subnetting, IPSec
    • Archivierung erläutern, englischen Text verstehen, IMAP vs. POP3, Phishing vs. Spam, Backup vs. Archivierung
    • Nachkalkulation mit BAB, Einzel- vs. Gemeinkosten

Winter 2015/2016

  • GH1
    • Fragen zur OOP, Vererbungsstruktur aufzeichnen, UML mit Aktivitätsdiagramm
    • Algorithmus
    • Algorithmus zur Prüfsumme
    • Datenbank: ER-Modell und Tabellenmodellierung
    • SQL-SELECTs, UPDATE (1 SELECT UNION ALL)
  • GH2
    • ReWe (Einnahmen-Kostenvergleich) Excel-Befehle (Kostentabelle)
    • Strukturierte Verkabelung, USV, Kabelarten
    • Englisch: Fragen zum Text, Wahrheitstabelle
    • Datenbankmodellierung (PK, FK, Verknüpfungen, Kardinalitäten), Fehlersuche in Struktogramm
    • Fragen zu Datenschutz und Datensicherheit, Erklärung der asymmetrischen Verschlüsselung anhand einer Zeichnung in fünf Schritten
  • WiSo
    • Elternzeit, Betriebsrat, Streik (Vorgang aufzählen), Finanzfluss (Staat, Unternehmen, Privatpersonen, Ausland), Schilder

Sommer 2015

  • GH1
    • Projektstrukturplan ergänzen, V-Modell vervollständigen, Berechnung von RAID-Kapazitäten, RAID-Aufbau erläutern
    • Algorithmus zum Verteilen von Paletten auf LKWs anhand Gewicht und Anzahl Paletten
    • Algorithmus zum Ermitteln eines Logistikangebots anhand von Routeninformationen
    • ER-Modell zur Abbildung von Lieferfahrten (LKW, Fahrer, Routen)
    • SQL-Abfragen erstellen
  • GH2
    • Projektergebnis (Kosten – Erlöse) ermitteln, Kostenarten nennen, Wagnisse nennen, Wirtschaftlichkeit bewerten
    • EPK zur Wareneingangsbearbeitung erstellen, GUI-Steuerelemente zuordnen
    • OSI-Modell: Schichten nennen, Hardware zuordnen, Protokolle zuordnen, Englischen Text verstehen, Subnetting, analog vs. digital, PoE
    • Datenbankabfrage anhand ID erläutern, Prüfziffer erklären, String vs. Int, Codierungen, Haxadezimalsystem, RFID
    • Datensicherheit und Datensicherung, RAID-Kapazitäten berechnen, Hot-Spare

Winter 2014/2015

  • GH1
    • Pflichten-/Lastenheft, Personaleinsatzplan/Gantt-Diagramm vervollständigen, Use-Case-Diagramm erstellen
    • relationales Datenmodell erstellen (Fragebogenverwaltung)
    • Algorithmus zur Berechnung der prozentualen Mietbelastung von Einkommensgruppen erstellen (2-dimensionales Array)
    • Algorithmus zum Sortieren eines 2-dimensionalen Arrays (Bubble-Sort) erstellen
    • SQL-Abfragen auf bestehendes Tabellenmodell
  • GH2
    • Anbgebotsvergleich/Nutzwertanalyse erstellen, Fragen zu Vertragsstörungen
    • SSDs, Englisch übersetzen, RAID, Speicherplatz berechnen
    • VLANs: statisch/dynamisch, tagged/untagged, Planskizze vervollständigen, VPNs
    • SMARTe Ziele, Netzplan vervollständigen
    • Tabellenmodell erweitern, SQL-Abfragen erstellen

Sommer 2014

  • GH1
    • Netzplan vervollständigen und Begriffe erläutern, Cloud Computing
    • EPK in Aktivitätsdiagramm umwandeln
    • Algorithmus zur Ausgabe einer Rechnung erstellen
    • Algorithmus zur Codierung eines QR-Codes erstellen
    • SQL-Abfragen erstellen
  • GH2
    • Unternehmensfusion, Finanzierungsvergleich, Innenfinanzierung
    • Servervirtualisierung (Hypervisor, Hosted), Stromkosten berechnen, IPv6, ping
    • Subnetting, DHCP, DNS, VPN, IPSec, symmetische vs. asymmetrische Verschlüsselung
    • Organisationsformen anhand Organigramm erläutern, Anwendungssysteme (ERP, CRM usw.) erläutern
    • SQL-Abfragen erstellen

Winter 2013/2014

  • GH1
    • Lasten- und Pflichtenheft erklären, Netzplan erstellen, Gantt-Diagramm erstellen
    • Algorithmus zur Verarbeitung von Zeiterfassungsdaten erstellen
    • Englischen Text verstehen, Algorithmus zur Berechnung eines Rabatts erstellen
    • ER-Diagramm zur Lagerverwaltung erstellen, referentielle Integrität
    • SQL-Abfragen zur Zeiterfassung erstellen
  • GH2
    • Datenschutz, Datensicherheit, USV, RAID-Kapazität berechnen, Datensicherung
    • Netzwerkhardware beschreiben, WPS, englischen Text verstehen
    • Handelskalkulation vervollständigen, Nutzwertanalyse vervollständigen, Bestellmenge berechnen, Berechnungsformeln angeben, Meldebestand ermitteln
    • Tabellenmodell vervollständigen, EPK vervollständigen
    • Handy-Betriebssysteme nennen, Steuerelemente in GUI einzeichnen, Datentypen bestimmen, Algorithmus zur Prüfung einer Berechtigung entwerfen

Sommer 2013

  • GH1
    • Projektmanagement-Begriffe erklären, Datenschutz, CASE-Tools
    • UML-Sequenzdiagramm zu einer Online-Bestellung erstellen, Klassendiagramm erläutern
    • relationales Tabellenmodell in dritter Normalform zu einem Angebot erstellen
    • Algorithmus zur Prüfzifferberechnung und Quersummenbildung erstellen
    • SQL-Abfragen auf vorgegebener Tabellenstruktur
  • GH2
    • Aufbauorganisation erläutern, EPK erstellen
    • Amortisationsrechnung, Marketingaktionen
    • Hardware vergleichen, WLAN-Konfiguration, strukturierte Verkabelung
    • VLANs, Subnetting, VPN, englischen Text verstehen
    • relationales Tabellenmodell vervollständigen, Datentypen für Spalten ermitteln, SQL-Abfragen

Winter 2012/2013

  • GH1
    • Softwareentwicklungsmodelle erläutern, Netzplan erläutern
    • HTML vervollständigen und erläutern
    • Algorithmus zur Erstellung eines Reports aus einer einfachen Tabellen erstellen
    • ER-Modell zu Produkten erstellen, Schlüssel identifizieren
    • SQL-Abfragen auf vorgegebener Tabellenstruktur
  • GH2
    • Lasten-/Pflichtenheft erläutern, Kalkulationsrechnung, Rechnungswesen
    • WLAN-Kameras, Hardwareauswahl, englischen Text verstehen, Datenmenge für Videos berechnen
    • Power over Ethernet, Algorithmus zur Suche in einer Datenbank
    • Geschäftsbrief zum Verzug erstellen
    • BYOD, Persönlichkeitsrechte bei Fotos, Kostenvergleichsrechnung

Sommer 2012

  • GH1
    • Use-Case-Diagramm, Algorithmus in Pseudocode/PAP/Struktogramm
    • Zustandsdiagramm, Beziehungstypen zwischen Klassen
    • relationales Tabellenmodell in dritter Normalform
    • Algorithmus zur XML-Verarbeitung in Pseudocode/PAP/Struktogramm
    • SQL auf bestehenden Tabellen
  • GH2
    • Cloud Computing, SaaS, SLA
    • Public/Private/Hybrid Clouds, SAN/NAS, Sicherheit in der Cloud
    • IPSec, VPN, Firewall, IPv6-Adressen kürzen/erzeugen
    • Kostenvergleich zweier Investitionen, Online-Marketingmaßnahmen
    • Algorithmus in Struktogramm, Datentypen, Use-Case-Diagramm

Winter 2011/2012

  • GH1
    • Algorithmen in Pseudocode/PAP/Struktogramm
    • Aktivitätsdiagramm
    • ERM
    • Algorithmus in Pseudocode/PAP/Struktogramm
    • SQL auf bestehenden Tabellen, Trigger/Replikation erläutern
  • GH2
    • Projektphasen, Aufgaben Projektleiter, Projektorganisation, Netzplan
    • Vor-/Nachteile von Virtualisierung, Lieferverzug erläutern, Fehler in Lieferschein/Rechnung finden, Gewährleistung/Mangel erläutern
    • USV, NAS, RAID
    • RFID, Paritäten ermitteln, Werks-/Dienstvertrag, SLA
    • Übersetzung Englisch/Deutsch, TCO, Kostenvergleich zweier Angebote

Sommer 2011

  • GH2
    • Projektphasen, ABC-Kundenanalyse, Nutzwertanalyse, Softwarequalitätskriterien
    • Aktivitätsdiagramm
    • Algorithmus in Pseudocode/PAP/Struktogramm
    • relationales Tabellenmodell in dritter Normalform
    • SQL auf bestehenden Tabellen
  • GH2
    • Geschäftsmodelle, Zielgruppenanalyse, Organisationsstruktur
    • Kommunikationspolitik
    • Kostenrechnung
    • Verkabelung, DHCP, private IP-Adressbereiche, Übersetzung Englisch/Deutsch
    • Algorithmus in Pseudocode/PAP/Struktogramm

Winter 2010/2011

  • GH1
    • Datenschutz, Corporate Design, Barrierefreiheit, symmetrische/asymmetrische Verschlüsselung
    • Algorithmus in Pseudocode/PAP/Struktogramm
    • Zustandsdiagramm
    • relationales Tabellenmodell in dritter Normalform
    • SQL auf bestehenden Tabellen
  • GH2
    • Web-Begriffe erläutern, Unicode, CSS, Domainwahl, Datenschutz
    • Beschaffungskanäle, Ausschreibung, AGB, Angebotsvergleich, Lizenzen
    • Servertypen, Hardware
    • Subnetting, Übersetzung Englisch/Deutsch, Berechnung notwendiger RAM, Vorteile von Thin Clients
    • IT-Security-Policy, VPN, USV, Übersetzung Englisch/Deutsch
    • SQL auf bestehenden Tabellen

Sommer 2010

  • GH1
    • Kickoff-Sitzung, Vorteile internes Projekt, Projektdokumentation, Testverfahren
    • Use-Case-Diagramm, Sequenzdiagramm
    • relationales Tabellenmodell in dritter Normalform
    • SQL auf bestehenden Tabellen
    • Algorithmus in Pseudocode/PAP/Struktogramm
  • GH2
    • relationales Tabellenmodell in dritter Normalform
    • VLANs, OSI-Modell, Übersetzung Englisch/Deutsch
    • VPN, Tunnel, IPSec, RAID
    • Verzeichnissynchronisation, Leistungsaufnahme berechnen, Datensicherung
    • Authentifizierung, Verschlüsselung, ASCII-Verschlüsselung
    • Onlinebeschaffung, Rahmenvertrag, Kostenberechnung

https://fachinformatiker-anwendungsentwicklung.net/themen-der-schriftlichen-ihk-pruefungen/

OSI-Modell

Allgemeines

  • Das ISO-/OSI-Modell ist ein herstellerunabhängiges Referenzmodell in Form einer Schichtenarchitektur für Kommunikationssysteme.
  • Es beschreibt die Netzwerkkommunikation von der konkreten Bitübertragung z.B. über ein Glasfaserkabel bis hin zu den Anwendungen, die abstrakte Befehle austauschen.
  • Die Schichten stellen der jeweils darüber liegenden Schicht über definierte Schnittstellen ihre Dienste bereit.
  • Die Schichten 1 bis 4 sind die transportorientierten Schichten, 5 bis 7 die anwendungsorientierten Schichten.

1: Bitübertragungsschicht (Physical Layer)

  • Wie kommen die Daten physikalisch vom Sender zum Empfänger? Beispiele: Glasfaser, Kupferkabel, Funk.
  • Einheit: Bit
  • Hardware: RepeaterHub, Kabel, Antenne.
  • Protokolle: EthernetRS-232 (serielle Schnittstelle), IEEE 802.11 (WLAN)

2: Sicherungsschicht (Data Link Layer)

3: Vermittlungsschicht (Network Layer)

  • Wie kommen die Daten auch über Netzwerkgrenzen hinweg beim korrekten Empfänger (logische Zieladresse) an?
  • Einheit: Paket
  • Zusätzliche Informationen: Logische Adressen
  • Hardware: Router
  • Protokolle: IPICMP

4: Transportschicht (Transport Layer)

  • Wie kommen auch große Datenmengen vollständig und in der korrekten Reihenfolge beim richtigen Dienst des Empfängers an?
  • Einheit: Segment bzw. Datagramm
  • Zusätzliche Informationen: Ports, Ende-zu-Ende-Kommunikation möglich
  • Hardware: Firewall, siehe Anwendungsschicht
  • Protokolle: TCPUDP

Sonstiges

5: Sitzungsschicht (Session Layer)

  • Wie wird eine dauerhafte Kommunikation von Netzwerkteilnehmern aus unterschiedlichen Anfragen und Antworten (Dialog) ermöglicht?
  • Einheit: Daten
  • Zusätzliche Informationen: Zuordnung von Anfragen und Antworten zueinander, Wiederaufsetzpunkte bei Ausfall der Kommunikation
  • Hardware: siehe Anwendungsschicht
  • Protokolle: RPC, siehe Anwendungsschicht

6: Darstellungsschicht (Presentation Layer)

  • Wie können Daten unabhängig von der konkreten Repräsentation auf den beteiligten Systemen verständlich ausgetauscht werden?
  • Einheit: Daten
  • Zusätzliche Informationen: Syntax der Daten, Encoding, Verschlüsselung, Kompression
  • Hardware: siehe Anwendungsschicht
  • Protokolle: ASN.1, siehe Anwendungsschicht

7: Anwendungsschicht (Application Layer)

  • Wie können anwendungsspezifische Daten und Befehle ein- und ausgegeben werden?
  • Einheit: Daten
  • Zusätzliche Informationen: Semantik der Daten
  • Hardware: GatewayLoad BalancerProxyFirewall
  • Protokolle: HTTPFTPSMTP

Quelle: https://fachinformatiker-anwendungsentwicklung.net/das-iso-osi-modell-teil-1-anwendungsentwickler-podcast-83/

Aggregation und Komposition

Aggregation:

Der Mensch (Hirn, Innere Organe und Körper) kann ohne Beine und Arme existieren (und weiterleben). Also seine Existenz ist nicht abhängig von Armen und Beinen.

Wiki: […] das Teil-Objekt kann ohne das Aggregat-Objekt existieren […] beim Löschen des Aggregat-Objekts wird das Teil-Objekt nicht mitgelöscht. […]

Kompostion:

Hirn, Körper und Innere Organe bilden ein Mensch.
Körper, Innere Organe und Hirn können nicht unabhängig voneinander existieren.
Hirn, Innere Organe und Körper gehören zwingend zusammen.

Info: Das ist eine starke Vereinfachung vom objektorientiertem Denken. Natürlich können die Teile (Hirn, Innere Organe und Körper) da sein (im Sinne von: irgendwo rumliegen…), aber um einen lebendigen Menschen zu bilden, müssen sie zusammengeführt werden, da sie sonst nach einer Zeit absterben.
Btw… Willkommen in der Welt des abstrakten Denkens.

Wiki: […] das Teil-Objekt kann nicht ohne das Aggregat-Objekt existieren […] beim Löschen des Aggregat-Objekts wird das Teil-Objekt mitgelöscht. […]

aggrekompo