Benutzer-Werkzeuge

Webseiten-Werkzeuge


job:fiae

**Dies ist eine alte Version des Dokuments!**

Ausbildung zum Fachinformatiker Anwendungsentwicklung

Projektantrag

Hinweise zur Prüfung von Projektanträgen

Projektdokumentation

Vorlage

Unter http://f.macke.it/LaTeXVorlageFIAE kann man sich meine LaTeX-Vorlage für die Dokumentation zur betrieblichen Projektarbeit mit einer Vorstrukturierung und vielen Beispielinhalten herunterladen.

Bewertung

Projektpräsentation

Häufige Fragen im Fachgespräch

  • Datenbanken
    • Warum Normalisierung? → Vermeidung von Redundanzen
    • die drei Normalformen erläutern
    • Anomalien erläutern (Einfüge-/Lösch-/Änderungsanomalien)
    • Primär-/Fremdschlüssel erläutern
    • Konzept der Transaktionen erläutern
  • Was ist OO? Was sind die Vorteile? → Datenkapselung, Polymorphie, Vererbung erklären
  • Kalkulation
    • Wie setzt sich normalerweise (!) ein Stundensatz zusammen? → Lohn, Nebenkosten, Gemeinkosten, Gewinn (!)
    • Amortisationsrechnung erläutern
  • Vorgehen bei der Nutzwertanalyse erläutern (ggfs. an Tafel entwickeln)
  • Qualitätskriterien für Software erläutern (ISO 9126)
  • Verschiedene Arten von Softwaretests
  • Datenschutz von Datensicherheit abgrenzen, 8 Gebote des Datenschutzes nach BDSG
  • Webentwicklung
    • Funktionsweise/Vor-/Nachteile von AJAX erläutern
    • MVC erläutern
  • grundlegende Kontrollstrukturen erläutern (Sequenz, Verzweigung, Wiederholung)
  • grundlegende Datenstrukturen (Variablen für einen Wert, Arrays für mehrere Werte gleichen Typs, Objekte für mehrere Werte unterschiedlichen Typs)

Mögliche Themenbereiche Abschlussprüfung

Anmerkungen

Themen

Themen der letzten Prüfungen

  • Winter 2014
    • GH1
      1. Pflichten-/Lastenheft, Personaleinsatzplan/Gantt-Diagramm vervollständigen, Use-Case-Diagramm erstellen
      2. relationales Datenmodell erstellen (Fragebogenverwaltung)
      3. Algorithmus zur Berechnung der prozentualen Mietbelastung von Einkommensgruppen erstellen (2-dimensionales Array)
      4. Algorithmus zum Sortieren eines 2-dimensionalen Arrays (Bubble-Sort) erstellen
      5. SQL-Abfragen auf bestehendes Tabellenmodell
    • GH2
      1. Anbgebotsvergleich/Nutzwertanalyse erstellen, Fragen zu Vertragsstörungen
      2. SSDs, Englisch übersetzen, RAID, Speicherplatz berechnen
      3. VLANs: statisch/dynamisch, tagged/untagged, Planskizze vervollständigen, VPNs
      4. SMARTe Ziele, Netzplan vervollständigen
      5. Tabellenmodell erweitern, SQL-Abfragen erstellen
  • Sommer 2014
    • GH1
      1. Netzplan vervollständigen und Begriffe erläutern, Cloud Computing
      2. EPK in Aktivitätsdiagramm umwandeln
      3. Algorithmus zur Ausgabe einer Rechnung erstellen
      4. Algorithmus zur Codierung eines QR-Codes erstellen
      5. SQL-Abfragen erstellen
    • GH2
      1. Unternehmensfusion, Finanzierungsvergleich, Innenfinanzierung
      2. Servervirtualisierung (Hypervisor, Hosted), Stromkosten berechnen, IPv6, ping
      3. Subnetting, DHCP, DNS, VPN, IPSec, symmetische vs. asymmetrische Verschlüsselung
      4. Organisationsformen anhand Organigramm erläutern, Anwendungssysteme (ERP, CRM usw.) erläutern
      5. SQL-Abfragen erstellen
  • Sommer 2013
    • GH1
      1. Projektmanagement-Begriffe erklären, Datenschutz, CASE-Tools
      2. UML-Sequenzdiagramm zu einer Online-Bestellung erstellen, Klassendiagramm erläutern
      3. relationales Tabellenmodell in dritter Normalform zu einem Angebot erstellen
      4. Algorithmus zur Prüfzifferberechnung und Quersummenbildung erstellen
      5. SQL-Abfragen auf vorgegebener Tabellenstruktur
    • GH2
      1. Aufbauorganisation erläutern, EPK erstellen
      2. Amortisationsrechnung, Marketingaktionen
      3. Hardware vergleichen, WLAN-Konfiguration, strukturierte Verkabelung
      4. VLANs, Subnetting, VPN, englischen Text verstehen
      5. relationales Tabellenmodell vervollständigen, Datentypen für Spalten ermitteln, SQL-Abfragen
  • Winter 2012
    • GH1
      1. Softwareentwicklungsmodelle erläutern, Netzplan erläutern
      2. HTML vervollständigen und erläutern
      3. Algorithmus zur Erstellung eines Reports aus einer einfachen Tabellen erstellen
      4. ER-Modell zu Produkten erstellen, Schlüssel identifizieren
      5. SQL-Abfragen auf vorgegebener Tabellenstruktur
    • GH2
      1. Lasten-/Pflichtenheft erläutern, Kalkulationsrechnung, Rechnungswesen
      2. WLAN-Kameras, Hardwareauswahl, englischen Text verstehen, Datenmenge für Videos berechnen
      3. Power over Ethernet, Algorithmus zur Suche in einer Datenbank
      4. Geschäftsbrief zum Verzug erstellen
      5. BYOD, Persönlichkeitsrechte bei Fotos, Kostenvergleichsrechnung
  • Sommer 2012
    • GH1
      1. Use-Case-Diagramm, Algorithmus in Pseudocode/PAP/Struktogramm
      2. Zustandsdiagramm, Beziehungstypen zwischen Klassen
      3. relationales Tabellenmodell in dritter Normalform
      4. Algorithmus zur XML-Verarbeitung in Pseudocode/PAP/Struktogramm
      5. SQL auf bestehenden Tabellen
    • GH2
      1. Cloud Computing, SaaS, SLA
      2. Public/Private/Hybrid Clouds, SAN/NAS, Sicherheit in der Cloud
      3. IPSec, VPN, Firewall, IPv6-Adressen kürzen/erzeugen
      4. Kostenvergleich zweier Investitionen, Online-Marketingmaßnahmen
      5. Algorithmus in Struktogramm, Datentypen, Use-Case-Diagramm
  • Winter 2011
    • GH1
      1. Algorithmen in Pseudocode/PAP/Struktogramm
      2. Aktivitätsdiagramm
      3. ERM
      4. Algorithmus in Pseudocode/PAP/Struktogramm
      5. SQL auf bestehenden Tabellen, Trigger/Replikation erläutern
    • GH2
      1. Projektphasen, Aufgaben Projektleiter, Projektorganisation, Netzplan
      2. Vor-/Nachteile von Virtualisierung, Lieferverzug erläutern, Fehler in Lieferschein/Rechnung finden, Gewährleistung/Mangel erläutern
      3. USV, NAS, RAID
      4. RFID, Paritäten ermitteln, Werks-/Dienstvertrag, SLA
      5. Übersetzung Englisch/Deutsch, TCO, Kostenvergleich zweier Angebote
  • Sommer 2011
    • GH2
      1. Projektphasen, ABC-Kundenanalyse, Nutzwertanalyse, Softwarequalitätskriterien
      2. Aktivitätsdiagramm
      3. Algorithmus in Pseudocode/PAP/Struktogramm
      4. relationales Tabellenmodell in dritter Normalform
      5. SQL auf bestehenden Tabellen
    • GH2
      1. Geschäftsmodelle, Zielgruppenanalyse, Organisationsstruktur
      2. Kommunikationspolitik
      3. Kostenrechnung
      4. Verkabelung, DHCP, private IP-Adressbereiche, Übersetzung Englisch/Deutsch
      5. Algorithmus in Pseudocode/PAP/Struktogramm
  • Winter 2010
    • GH1
      1. Datenschutz, Corporate Design, Barrierefreiheit, symmetrische/asymmetrische Verschlüsselung
      2. Algorithmus in Pseudocode/PAP/Struktogramm
      3. Zustandsdiagramm
      4. relationales Tabellenmodell in dritter Normalform
      5. SQL auf bestehenden Tabellen
    • GH2
      1. Web-Begriffe erläutern, Unicode, CSS, Domainwahl, Datenschutz
      2. Beschaffungskanäle, Ausschreibung, AGB, Angebotsvergleich, Lizenzen
      3. Servertypen, Hardware
      4. Subnetting, Übersetzung Englisch/Deutsch, Berechnung notwendiger RAM, Vorteile von Thin Clients
      5. IT-Security-Policy, VPN, USV, Übersetzung Englisch/Deutsch
      6. SQL auf bestehenden Tabellen
  • Sommer 2010
    • GH1
      1. Kickoff-Sitzung, Vorteile internes Projekt, Projektdokumentation, Testverfahren
      2. Use-Case-Diagramm, Sequenzdiagramm
      3. relationales Tabellenmodell in dritter Normalform
      4. SQL auf bestehenden Tabellen
      5. Algorithmus in Pseudocode/PAP/Struktogramm
    • GH2
      1. relationales Tabellenmodell in dritter Normalform
      2. VLANs, OSI-Modell, Übersetzung Englisch/Deutsch
      3. VPN, Tunnel, IPSec, RAID
      4. Verzeichnissynchronisation, Leistungsaufnahme berechnen, Datensicherung
      5. Authentifizierung, Verschlüsselung, ASCII-Verschlüsselung
      6. Onlinebeschaffung, Rahmenvertrag, Kostenberechnung

Aktuelles (2015)

  • Windows 8.1
  • Smart Watches
  • Internet of Things (IoT)
  • 3D-Drucker
  • Responsive Webdesign (mit HTML5 + CSS3)
  • MVC mit JavaScript
  • Functional Reactive Programming
  • Tablets und mobile Geräte
  • LTE
  • NoSQL
  • Big Data
  • UEFI

Der Betrieb und sein Umfeld

  • Vorteile eines betrieblichen Vorschlagwesens
  • Beispiele zur Optimierung der Arbeitsabläufe
  • Methoden zur Mitarbeitermotivation
  • Standortfaktoren bewerten
  • Marktformen bestimmen
  • Angebotskalkulation
  • (Arbeits-)Verträge
    • Stellenbeschreibung
  • Lohnabrechnung
  • Gesellschaftsformen
  • Aufbau- und Ablauforganisation
    • Linien-/Matrixorganisation kennen (Vor-/Nachteile)und Organigramm erstellen
  • Umweltschutz
    • Green IT
  • Workflow
  • Zentralisierung/Dezentralisierung
  • Unfallverhütung
Ergonomie
  • Vorgaben bzgl. Arbeitsplatzergonomie kennen
  • ergonomische Anforderungen an Bildschirme, Drucker, Stühle, Tische
  • Warum reicht die Einhaltung der Ergonomie nicht aus, um körperliche Beschwerden auszuschließen? Was kann man zusätzlich tun?
  • Nutzen ergonomischer Arbeitsplätze für das Unternehmen
  • Ergonomierichtlinien beim Gestalten von Oberflächen für Software
Marketing
  • Vor-/Nachteile von Absatzwegen, Distributionspolitik
  • Fachbegriffe kennen
    • Marktvolumen, Absatz, Marktanalyse etc.
    • B2B, B2C, B2G
    • Umfrage, Beobachtung, Experiment, Testmarkt, Marktprognose, Panelerhebung
    • Marktdurchdringung, Marktentwicklung, Markterschließung, Produktinnovation, Produktentwicklung, Diversifikation
  • Optimierung des Kundenservice
  • mögliche Quellen zur Marktforschung
  • Ziele von Werbung
  • Phasen des Produktlebenszyklus
  • Beispiele für niedrigen/hohen Markteinstiegspreis nennen
  • Outsourcing (organisatorisch) vs. Offshoring (geografisch)
Rechtliches
  • Datenschutz vs. Datensicherheit
  • Urheberrecht
    • von Patenten abgrenzen
  • Open Source
  • Unfreier Versand
  • Fernabsatzverträge
  • Nachbesserung und Nachlieferung
  • Gewährleistung vs. Garantie
  • Mutterschutz, JAschG
  • Betriebsrat
    • Rechte und Pflichten
    • rechtliche Voraussetzungen
  • Kündigung
    • gesetzliche/vertragliche Fristen
    • notwendige Unterlagen
  • Werks- vs. Dienstvertrag
  • Inhalte von SLAs
  • Arbeitsschutz
    • Pflichten des Arbeitgebers bei Arbeitsunfällen
  • Arbeitsvertrag
    • Inhalte, Rechte/Pflichten
    • kollektives Arbeitsrecht
  • Inhalte der Personalakte
  • Rechtsformen von Unternehmen (AG, GmbH, KG usw.)
    • Voraussetzungen, Haftung, Eigenkapital, Firma etc.
  • verschiedene Versicherungen (z.B. Haftpflicht, Gebäudeversicherung usw.)
Soft-Skills
  • Präsentieren
    • Vorteile des Medieneinsatzes bei Präsentationen
    • Aufbau von Präsentationen
    • Aufmerksamkeit der Zuhörer gewinnen
  • Ideenfindung/Kreativitätstechniken
    • Brainstorming, Mindmap

Betriebssysteme

  • verschiedene Betriebssysteme kennen (Linux, Windows, Android, iOS, Windows Phone)
  • Unterschied Unix/Linux
  • Vor-/Nachteile Linux/Windows
    • Dateisysteme (FAT, NTFS, ext)
    • Aufbau des Dateibaums
    • Kommandozeile vs. GUI
  • Linux
    • wichtige Befehle kennen (ls, chmod, chown, ps, grep, mount)
    • wichtige Verzeichnisse kennen (bin, boot, dev, etc, home, lib, root, sbin, var)
    • Dateirechtesystem erklären (ugw + rwx)
    • gängige Linux-Distributionen nennen (Debian, Suse, Red Hat, Ubuntu etc.)
    • Wie wird die Hardware angesteuert?
    • Mounten von Laufwerken
  • Samba/SMB
  • Typen von Multitasking erläutern (kooperativ vs. präemptiv)
  • Prozess vs. Task vs. Thread

Datenbanken

  • unterschiedliche Architekturen (Client/Server, Dateibasiert)
    • unterschiedliche Ansätze (relational, Netzwerk, hierarchisch, objektorientiert)
    • Eigenschaften von relationalen Datenbanken
    • ORM
  • NoSQL (dokumentenorientiert, spaltenorientiert, Key/Value-Store, objektorientiert, Graphendatenbank)
    • CAP-Theorem
    • Map/Reduce
    • Eventual Consistency
  • Begriffe kennen und erläutern
    • Redundanz, Primär-/Fremdschlüssel, Datensatz, INSERT
    • referentielle Integrität
      • Maßnahmen bei Löschoperationen (Constraints): CASCADE, DENY/RESTRICT, SET NULL
    • Replikation erläutern
    • Trigger erklären
  • SQL-Abfragen
    • DDL, DML, DQL, DCL, DTL
    • CRUD (Create, Read, Update, Delete)
    • verschiedene Joins (INNER, OUTER LEFT/RIGHT)
  • Arbeitschritte beim DB-Design
    • ER-Modelle erstellen
    • Tabellenmodelle erstellen
  • ACID-Prinzipien für Transaktionen kennen und erläutern (atomicity, consistency, isolation, durability)
  • Normalformen erläutern ("the key, the whole key, and nothing but the key")
    • Normalisierung von Datenbanken bis zur 3. Normalform durchführen
  • Modellierung von Beziehungen (1:1, 1:n, m:n)
    • mögliche Beispiele: Benutzer/Login (1:1), Benutzer/Bestellung (1:n), Benutzer/Benutzergruppe (m:n)
  • Big Data
  • mögliche Aufgaben
    • vorhandenes Tabellenmodell normalisieren
    • gültige Datensätze zu einem gegebenen Schema ermitteln können

Englisch

  • Texte verstehen, übersetzen und analysieren

Hardware

  • Prozessor/CPU, Kühlung
    • von-Neumann-Architektur
    • ALU
  • RAM-Arten und Unterschiede
  • Eigenschaften/Unterscheidung/Vor-/Nachteile DAS, SAN und NAS
  • Unterschied Stack/Heap
  • Abkürzungen und Bedeutung kennen: sATA, AGP, PCI, ISA, IDE, SCSI, SAS, USB, RAID, TFT, TCO, CRT, USV, SSD
  • RAID 0, 1, 5, 10 usw., JBOD erklären
  • Bluetooth, Firewire, USB
  • WLAN
    • Hotspot, Ad-Hoc, Repeater
    • Sicherheit (WPA, WEP, MAC-Kontrolle)
  • BIOS, CMOS, Ablauf eines Systemstarts, Sinn von BIOS-Updates
  • UEFI
  • IDE: Master/Slave, Jumper
  • Firmware, Flash-Speicher
  • Arten von Druckern und Scannern
  • Thin Clients/Fat Clients
  • Bezugsquellen für Hardwarelieferanten
  • Server-/Desktop-/Anwendungsvirtualisierung
    • mögliche Arten der Virtualisierung
    • Hardwareunterstützung
    • Vor-/Nachteile der einzelnen Verfahren
  • mögliche Aufgaben
    • passende Komponenten für einen (Datenbank-/File-)Server oder Workstation (z.B. CAD, Office) auswählen
    • PCs für bestimmte Anforderungen aus Komponenten zusammenstellen
  • Green IT
  • Smartphones
  • Cloud Computing (Auswirkungen auf Softwareentwicklung, Hardware, Geschäftsmodelle)
    • Platform/Infrastructure/Software as a Service
  • USB 3.0
  • USV
    • Typen von USVen (z.B. VFI)
    • benötigte Scheinleistung für vorgegebene Hardware ermitteln
    • Netzstörungen, vor denen USVen schützen
  • Hot Swapping, Hot Spare erläutern
  • Arbeitsweise von RFID erläutern
  • Vor-/Nachteile von SSDs

Internet

  • Aufbau von URLs/URIs
  • Beispiele für Browser/Webserver/Web-Programmiersprachen/(serverseitige) Scriptsprachen
  • wichtige Protokolle und Ports (HTTP, FTP, SMTP, POP3, IMAP, telnet, NNTP, SMB)
  • Vor-/Nachteile wichtiger Dateiformate (PDF, Bildformate)
  • Ablauf beim Aufruf einer Website (Kommunikation Client/Server) und Verarbeitung bei PHP
  • Sicherheit
    • Hacker, Cracker, Script-Kiddies
    • Phishing, Sniffing, Spoofing, Man-in-the-Middle
    • SQL-Injection, XSS, CSRF, Session Hijacking, DoS, DDoS
    • Viren, Würmer, Trojaner, Hoax, Spyware, Dialer
    • Verbreitung von Viren/Würmer/Trojaner erläutern
Websites
  • Vorteile von Internetseiten als Werbemittel
  • grundlegende Kenntnisse von HTML, CSS, PHP
  • ergonomische Gestaltung von Websites
  • CMS
  • Mindestinhalte des Impressums
  • virtuelle Hosts erläutern
  • Möglichkeiten zur Unterscheidung von Websites auf einem Host: IP, Hostname, Port
  • Funktion von .htaccess erläutern
  • dynamische Websites (CGI, ASP, JSP)
    • Applet und Servlet unterscheiden
  • Web 2.0
    • AJAX
      • Vor-/Nachteile
      • Funktionsweise
    • Social Networks, Wikis, Blogs, Twitter
    • REST
  • RIA
  • JavaScript
    • jQuery und andere Frameworks
  • HTML5, CSS3
    • Audio-/Videoeinbettung/-unterstützung
  • Anforderungen durch Mobilgeräte

Mathematik und Rechnungswesen

  • Ermittlung von Umsatz/Provision/Deckungsbeitrag/Kosten/Gewinn
  • Zahlungsverzug
    • Definition, Gründe, Konsequenzen
    • Rechtsgrundlage/Definition für Zahlungsverzug
  • Möglichkeiten zum Umgang mit Liquiditätsengpässen
  • Gemeinkosten auf Kostenstellen verteilen
  • Kosten für eine Produkteinführung berechnen
  • Break-Even-Point ermitteln
  • Gewinn ermitteln
  • Vor-/Nachteile Kauf/Leasing/Miete
  • Umrechnungen in Zahlensystemen (Dual, Dezimal, Oktal, Hexadezimal)
  • Profit-Center-Organisation
  • Handelskalkulation
  • Betriebsabrechnungsbogen
  • Fehler in Lieferschein/Rechnung finden
  • gesetzliche Gewährleistungsfrist ermitteln
  • Umgang mit Mängeln
  • TCO erläutern

Multimedia

  • Datenraten von verschiedenen Laufwerken (Festplatte, CD, DVD)
  • Audiobearbeitung
    • Sampling(-rate, -tiefe)
  • Bildbearbeitung
    • Auflösung
    • JPEG, TIF, MPEG
    • OCR
    • Unterschied Raster-/Vektorgrafik
  • Zeichensätze kennen und Unterschiede aufzeigen
    • ASCII kennen und erklären
  • Kryptographie
    • symmetrisch/asymmetrisch
  • PKI, BSI
    • Was ist eine Prüfsumme/Hash?
    • ausgewählte Verschlüsselungsverfahren kennen
    • digitale Signatur
      * Kompression
    • verlustbehaftet vs. verlustfrei
      • ZIP
      • Huffman-Code
  • Längs-/Querparität berechnen
  • XML
    • Wohlgeformtheit, Validität
    • Parser, Serialisierer
      • SAX, DOM
    • vs. HTML, CSV etc.
    • DTD, Schema, RelaxNG, Schematron
    • XSLT, XSL-FO
  • mögliche Aufgaben
    • Dateigrößen von Bildern/Videos berechnen
  • 3D-/HD-TV, HDMI, BlueRay

Netzwerk und Administration

  • Methoden zur Namensauflösung erklären (DNS, hosts)
    • DNS-Konfiguration
  • DNS, DHCP, WINS, ARP, Subnetting, Topologien
    • Ablauf beim DHCP-Lease (Discover → Offer → Request → Acknowledge)
    • ping (ICMP)
    • MAC vs. IP
  • IPv4, IPv6, A/B/C-Klassennetze
    • öffentliche/private IP-Adressen
  • Protokolle mit Port-Nummern (HTTP, HTTPS, FTP, SMTP, POP3, IMAP, DNS, SMB, Telnet, SSH)
  • Routing
  • Firewall
    • Packet Inspection, Port-Forwarding
  • Proxy-Server (Squid)
    • dedicated, circuit level
  • Sicherheitsmaßnahmen
    • Vorteile von SSH
    • Unterschied HTTP/HTTPS
  • Struktur eines Class-C-Netzes erläutern
  • Funktionsweise und Vorteile von VPN beschreiben
    • Protokolle/Ports, Verschlüsselungsverfahren
  • ISDN, ADSL, SDSL, UMTS
    • Datenraten, Technik
  • FDDI (Lichtwelle)/Ethernet beschreiben
  • Netzwerkhardware (Hub, Bridge, Switch, Router) mit Zuordnung zu ISO-Schichten
    • Switches/Hubs unterscheiden
  • Serverarten nennen (z.B. Print-/Fileserver)
    • Aufbau, Vor-/Nachteile Terminalserver erläutern
  • Clustering, Load Balancing
    • Round Robin
  • RDP/ICA unterscheiden
  • ISO/OSI-Modell (7 Schichten) im Vergleich zum TCP/IP-Modell (4 Schichten)
  • Backup
    • Medien nennen und erläutern
    • inkrementell/differentiell/voll
    • Generationenprinzip, Großvater/Vater/Sohn
    • hot/cold
    • Wie erkennt die Software, welche Daten zu sichern sind?
    • schützenswerte Daten
    • mögliche Gründe für Datenverluste auf Servern erläutern und Gegenmaßnahmen vorschlagen
    • Folgen von Datenverlust, Auswirkungen von Datenverlusten für das Unternehmen erläutern
    • Maßnahmen der Mitarbeiter zur Vermeidung von Datenverlusten erläutern
  • Client/Server vs. P2P
    • File Sharing
  • primäre/sekundäre/tertiäre Verkabelung
    • Kabeltypen
    • Simplex, Halb-/Vollduplex
    • 10/100/1000Base-T
    • CAT5e/6/7 etc.
  • CSMA/CD, Token
  • VLAN
    • statisch/dynamisch, tagged/untagged
  • VoIP, QoS, SIP
  • Authentifizierung vs. Autorisierung
    • Warum sollten sich Benutzer ggü. Systemen authentifizieren?
  • mögliche Aufgaben
    • Dauer einer Datensicherung berechnen
    • Netzwerk konzipieren (Router, Firewall, Clients)

Projektmanagement

  • Definition Projekt
  • übliche Projektphasen (Idee, Zieldefinition, Auftrag, Planung, Durchführung, Kontrolle etc.)
    • Beispiele für Aufgaben in den jeweiligen Phasen
  • Aufgaben/Inhalte/Verbindlichkeit von Lasten-/Pflichtenheften und Angeboten
    • Lastenheft: was/wofür?
    • Pflichtenheft: wie/womit?
  • Aufgaben des Projektleiters
  • Netzplan, Gantt-Diagramm, PSP (Projektstrukturplan) erstellen/vervollständigen
    • kritischen Pfad ermitteln
  • Formen der Projektorganisation mit Vor-/Nachteilen
Prozessanalyse
  • Prozessdiagramme/EPKs erstellen/korrigieren/optimieren
  • Ablauf eines üblichen Geschäftsprozesses (von Kundenanfrage bis Zahlungseingang) kennen
  • Symbole des Petri-Netzes erläutern

Softwareentwicklung

  • Arten von Software unterscheiden (Individual-/Branchensoftware)
  • Unterschied prozedurale/objektorientierte Entwicklung/Modellierung
  • Prinzipien der OOP
    • Begriffe der OOP erläutern: Attribut, Nachricht/Methodenaufruf, Persistenz, Schnittstelle/API/Interface, Polymorphie, Vererbung
    • Bestandteile von Klassen
    • Unterschied Klasse/Objekt
    • Unterschied Klasse/Interface
    • Erklärung Klassenbibliothek
    • Klassenbeziehungen: Assoziation, Aggregation, Komposition
  • Software-Architektur
    • Layers/Schichten/3-Tier, MVC, MVVM, SOA, Microservices, REST, Pipes and Filters, Monolith
    • Zustandslosigkeit, lose Kopplung
  • Bottom-Up- und Top-Down-Verfahren bei der Modellierung erläutern
  • Funktion/Vorteile der Modularisierung von Programmen
  • wichtige UML-Diagramme (UseCase-, Klassen-, Sequenz-, Aktivitätsdiagramm, Zustandsautomaten, Komponentendiagramm, Verteilungsdiagramm) kennen und Einsatzgebiete erläutern
  • Design Patterns kennen/erklären
    • Singleton, Observer, Factory, Adapter, Iterator, Strategy, Decorator, Template Method, Registry, MVC
  • Methoden zur Dokumentation
  • Eigenschaften eines Versionsverwaltungssystems beschreiben
    • SVN, CVS, TFS mit Source Safe, Git
    • VCS vs. DVCS
  • Continuous Integration/Deployment
  • Entwicklungsprozesse
    • Wasserfall, V-Modell (XT), Spiralmodell, Scrum, Extreme Programming, Kanban
  • mögliche Aufgaben
    • gegebene Klassen in ein Klassendiagramm eintragen (inkl. Beziehungstypen und Kardinalitäten)
    • Klassendiagramm vervollständigen
    • Use-Case-Diagramm erstellen
  • Anforderungen durch Mobilgeräte
    • Offline-Fähigkeit, Deployment auf mehrere Plattformen, verschiedene Programmiersprachen, native Apps vs. HTML5/JavaScript, geringe Bandbreiten, kleine Auflösungen
  • Richtlinien bei der Gestaltung von Programmoberflächen
Programmierung
  • Programmierparadigmen (OO, strukturiert, prozedural, funktional)
  • Eigenschaften funktionaler Programmierung: Higher Order Functions, Immutability, Tail Call Optimization, Pattern Matching, Fokus auf Rekursion
  • Typisierung: stark vs. schwach, statisch vs. dynamisch
  • Klassifizierung von Programmiersprachen anhand von Typisierung, Paradigma, Compiler/Interpreter, Abstraktionsniveau, C-ähnlich oder nicht
  • deklarativ vs. imperativ
  • Unterschied Interpreter/Compiler
  • 3GL/4GL
  • die gängigen Programmiersprachen kennen (PHP, Perl, Java, C, C++, C#, JavaScript, Delphi, Visual Basic, VBA, Ruby, Python, Cobol, F#, Lisp, Prolog, Assembler)
    • Unterschiede bei der Programmierung/Ausführungsgeschwindigkeit in C, Java und JavaScript
  • Rekursion
  • Unterschied syntaktische/semantische Fehler
  • Benutzereingaben sinnvoll validieren
  • Generische Klassen
    • Vorteile generischer Container (Templates in C++) gegenüber Arrays
  • Unterschied statische/nicht-statische Methoden
  • Kontrollstrukturen
    • allgemeine Programmstrukturen identifizieren/erläutern (Schleifen etc.)
    • grundlegende Kontrollstrukturen in allen Diagrammformen (PAP (Programmablaufplan), Nassi-Schneiderman/Struktogramm) darstellen können
    • Merkmale/Unterschiede von Kontrollstrukturen (Schleifen, Fallunterscheidungen)
    • Zustandsübergänge eines Zustandsautomaten abbilden
  • Datenstrukturen
    • Queue, Bäume, Stack, Heap
  • Algorithmen als PAP/Struktogramm/Pseudocode darstellen
  • Reguläre Ausdrücke zur Textanalyse erstellen
  • mögliche Aufgaben
    • Fehler in Programmcode finden (C)
    • Algorithmen implementieren/durchspielen
      • Mittelwert
      • doppelte Einträge in einem Array finden/löschen
      • Dateibäume rekursiv kopieren
      • (Zinses-)Zinsberechnung
      • Planen eines regelmäßigen Backups
      • Ablauf einer Benutzerauthentifizierung an einer Website
      • Abbuchen von einem Konto
Software-Qualität
  • Definition Software-Qualität?
  • Software-Qualitätsmerkmale nach DIN/ISO nennen und erläutern
  • Methoden für Software-Tests
    • Bottom-Up und Top-Down
    • statisches/dynamisches Testen
    • Abnahme-, Last-, Funktions-, Regressionstest
    • Black-/Whiteboxtest, Anweisungsüberdeckung/Zweigüberdeckung
    • Komponenten-, Integrations-, Systemtest
    • exploratives Testen, Smoketest
  • Maßnahmen zur Qualitätssicherung (Audits, Reviews, Testmethoden)

Literatur

  • Programmablaufpläne (PAP) und Struktogramme (Nassi-Shneidermann)
    • \cite[S. 463-467]{Moehrke2011}
  • Zeichensätze
    • \cite[S. 512-522]{Moehrke2011}: ASCII, Unicode, Konvertierung
  • Reguläre Ausdrücke
    • \cite[S. 570-584]{Moehrke2011}: inkl. Lookaround und bedingten Ausdrücken
  • OOP
    • \cite[S. 157-178]{Moehrke2011}: Objekt/Klasse, Attribute/Methoden, Vererbung, Sichtbarkeit, static
  • Datenstrukturen
    • \cite[S. 485-512]{Moehrke2011}: Queue, Stack, Linked List, Binary Tree, Nested Set
  • Rekursion
    • \cite[S. 495-499]{Moehrke2011}: rekursives Abarbeiten eines Baums
  • Normalisierung/Normalformen
    • \cite[S. 796-801]{Moehrke2011}: Beispiel Adresshaltung
job/fiae.1426070895.txt.gz · Zuletzt geändert: 2015-03-11 11:48 (Externe Bearbeitung)