Benutzer-Werkzeuge

Webseiten-Werkzeuge


fiae

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

Ausbildung zum Fachinformatiker Anwendungsentwicklung

Projektdokumentation

Anmerkungen

Inhalte

  • Formblatt der entsprechenden IHK
  • Deckblatt mit Informationen zum Projekt
    • Titel des Projekts
    • Name, Kontaktdaten, Geburtsdatum, Ausbildungsberuf des Auszubildenden
    • Name, Kontaktdaten des Ausbildungsbetriebs
  • Verzeichnisse (Inhalt, Abbildungen, Tabellen, Abkürzungen, Quellen (!), Anhang, Listings)
  • Einleitung
    • Projektumfeld: Ausbildungsbetrieb, Auftraggeber/Kunde etc.
    • Projektziel: Was soll erreicht werden? Worum geht es eigentlich?
    • Projektbegründung: Warum ist das Projekt sinnvoll? Was ist die Motivation hinter dem Projekt?
    • Projektschnittstellen: Mit welchen anderen Systemen interagiert die Anwendung? Wer sind die Benutzer der Anwendung?
    • Projektabgrenzung: Was ist explizit nicht Teil des Projekts (insb. bei Teilprojekten)
  • Projektplanung
    • Projektphasen mit detaillierter Zeitplanung: Beschreibung/Begründung des gewählten Vorgehensmodells
    • Ressourcenplanung: Was wird an Ressourcen benötigt (z.B. Hardware, IDE, Betriebssystem)? Gibt es Einschränkungen?
    • Kostenplanung/-kalkulation: Was kostet das Projekt? Mögliche Kosten: Entwicklung, Einführung/Schulung, Wartung
      • Make-or-buy-Entscheidung
      • Amortisationsrechnung: Ab wann rentiert sich das Projekt? Mögliche Einsparungen: Lizenzen, Arbeitszeitersparnis, Usability, Korrektheit
    • nicht-monetärer Nutzen/Nutwertanalyse: z.B. Vorher-/Nachher-Vergleich anhand eines Wirtschaftlichkeitskoeffizienten
    • Pflichtenheft erstellen
      • Beschreibung des Programms, Ziel der Entwicklung
      • Funktionen des Programms: Muss/Soll/Wunsch, Benutzerrollen
      • Umgebung: Zielplattform (Programmiersprache, DB, Client, Server, Software, Hardware), Benutzer/Zielgruppen
      • Datenstruktur: z.B. ERM, Tabellenmodell, textuelle Beschreibung der Entitäten/Attribute
      • Programmlogik: z.B. Flusspläne, UML-Diagramme
      • Benutzeroberfläche: Gestaltung, Menüführung
      • Qualitätsmerkmale: z.B. Anforderungen hinsichtlich Performance, Usability, Effizienz etc. (ISO 9126)
      • Tests: Testszenarien, Benutzer-/Entwicklertests
  • Projektdurchführung: Was wurde genau während des Projekts durch den Auszubildenden gemacht? Wie ist er vorgegangen? Hat er z.B. bestimmte Vorgehensmodelle verwendet?
    • Ist-Analyse: Wie ist die bisherige Situation (z.B. bestehende Programme, Wünsche der Mitarbeiter)? Was gilt es zu erstellen/verbessern? Ggfs. Erstellen eines Lastenhefts.
    • Design/Entwurf
      • Funktionen des Programms: z.B. mit Use-Case-/Aktivitätsdiagramm, EPK
      • Datenbank: ERM, Tabellenmodell
      • Geschäftslogik: z.B. Komponenten-/Klassen-/Sequenz-/Datenflussdiagramm, Architekturplanung, EPK
      • Benutzerschnittstelle: z.B. GUI, Webinterface, Entwurf/Gestaltung der Oberflächen/Masken, Corporate Identity, Einbindung in andere Anwendungen
    • Implementierung/Realisierung: z.B. DB anlegen, Programmierung (interessante Funktionen, Quelltextbeispiele), Screenshots der Oberfläche
    • Test/Qualitätssicherung: z.B. Test-Reports, Unit-Tests, Code-Reviews
    • Dokumentation: Projektdokumentation, Entwickler- (z.B. JavaDoc) und Benutzerdokumentation ("Handbuch")
    • Einführung: z.B. Installation, Benutzerschulung
  • Retrospektive: Wie ist das Projekt rückblickend zu bewerten?
    • Begründung von Änderungen zum Projektantrag
    • Soll-/Ist-Vergleich: Wurde das Ziel erreicht? Wurden die Kosten/Zeiten eingehalten?
    • Ausblick: Erweiterungsmöglichkeiten, Anschlussprojekte, Akzeptanz der Benutzer
  • Erklärung des Auszubildenden
  • Anhänge
    • Lasten-/Pflichtenheft
    • Datenbankentwurf
    • UML-Diagramme, EPKs, Flusspläne, PAPs
    • Entwürfe/Screenshots der Oberflächen
    • Dokumentation (Entwickler/Benutzer)
    • Glossar
    • Quelltexte

Projektpräsentation

Foliendesign

  • die meisten Prüfungsausschüsse werden wohl den "klassischen" Aufbau der Folien erwarten (vgl. http://forum.fachinformatiker.de/abschlussprojekte/134050-abschlusspraesentation-im-stil-presentation-zen.html), also
    • Kopf-/Fußzeile mit Datum, Titel etc.
    • ständig sichtbares Inhaltsverzeichnis
    • Stichpunkte als Bullet Points auf den Folien
    • Grafiken zur Erklärung bestimmter Sachverhalte
  • Folien sollten der Corporate Identity des Ausbildungsbetriebs folgen
  • da die Präsentation recht kurz ist, sollte man sich auf das Wesentliche/Interessante des Projekts konzentrieren

Inhalte

  • Titelfolie mit Projektbezeichnung, Daten des Auszubildenden und des Ausbildungsbetriebs
  • Inhaltsverzeichnis/Agenda
  • kurze Beschreibung der Ausgangssituation (Ausbildungsbetrieb, Problemstellung, Ist-Analyse)
  • Projektziel (Soll-Konzept, Qualitätskriterien)
  • Projektbegründung: Wirtschaftlichkeitsbetrachtung (Amortisationsrechnung), Nutzwertanalyse
  • Überblick über die Anwendung (Architektur, Einbindung in andere Systeme)
  • Implementierung (z.B. ERM, UML, Screenshots)
  • Fazit, Ausblick
  • Schlussfolie

Mögliche Themenbereiche Abschlussprüfung

Anmerkungen

Themen

Betriebssysteme

  • Unterschied Unix/Linux
  • Vor-/Nachteile Linux/Windows
  • Linux
    • wichtige Befehle kennen (ls, chmod, chown, ps, grep, mount)
    • Dateirechtesystem erklären (ugw + rwx)
    • gängige Linux-Distributionen nennen (Debian, Suse, Red Hat, Ubuntu etc.)
    • Wie wird die Hardware angesteuert?
    • Mounten von Laufwerken

Datenbanken

  • unterschiedliche Architekturen (Client/Server, Dateibasiert)
    • Eigenschaften von relationalen Datenbanken
  • SQL-Abfragen
    • CRUD (Create, Read, Update, Delete)
      * Arbeitschritte beim DB-Design
    • ER-Modelle erstellen
    • Tabellenmodelle erstellen
  • ACID-Prinzipien kennen und erläutern (atomicity, consistency, isolation, durability)
  • Normalformen erläutern
    • Normalisierung von Datenbanken bis zur 3. Normalform durchführen
  • Begriffe kennen und erläutern
    • Redundanz, Primär-/Fremdschlüssel, Datensatz, INSERT
    • referentielle Integrität
  • gültige Datensätze zu einem gegebenen Schema ermitteln
  • Sinn der Benutzerauthentifizierung ggü. der DB
Datenformate
  • XML
    • Wohlgeformtheit, Validität
    • Parser, Serialisierer

Englisch

  • Texte verstehen und analysieren

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

Hardware

  • Datenraten von verschiedenen Laufwerken (Festplatte, CD, DVD)
  • Eigenschaften/Unterscheidung/Vor-/Nachteile SAN und NAS
  • Unterschied Stack/Heap
  • sATA, AGP, IDE, USB, RAID, TFT, USV
  • passende Komponenten für einen (Datenbank-/File-)Server auswählen
  • RAID 0, 1, 5 erklären
  • PCs für bestimmte Anforderungen aus Komponenten zusammenstellen
  • Bluetooth, Firewire, USB, WLAN

Internet

  • Aufbau von URLs
  • Beispiele für Browser/Webserver/Web-Programmiersprachen
  • wichtige Protokolle und Ports (HTTP, FTP, SMTP, POP3, telnet, NNTP)
  • Vor-/Nachteile wichtiger Dateiformate (PDF, Bildformate)
  • Ablauf beim Aufruf einer Website (Kommunikation Client/Server)
  • Schlagworte aus dem Bereich der Sicherheit erläutern (Phishing, Sniffing, Spoofing, Hoax, DoS, DDoS)
  • Applet und Servlet unterscheiden
  • (serverseitige) Scriptsprachen nennen
Websites
  • Vorteile von Internetseiten als Werbemittel
  • grundlegende Kenntnisse von HTML, CSS, PHP
  • ergonomische Gestaltung von Websites
  • Mindestinhalte des Impressums
  • virtuelle Hosts erläutern
  • Funktion von .htaccess erläutern
  • dynamische Websites (CGI, ASP, AJAX, JSP)

Marketing

  • Vor-/Nachteile von Absatzwegen
  • 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 kennen
  • Beispiele für niedrigen/hohen Markteinstiegspreis nennen

Mathematik und Rechnungswesen

  • Ermittlung von Umsatz/Provision/Deckungsbeitrag/Kosten/Gewinn
  • Dateigrößen von Bildern/Videos berechnen
  • mögliche Gründe für Zahlungsverzug
  • 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
  • Dauer einer Datensicherung berechnen
  • Vor-/Nachteile Kauf/Leasing/Miete
  • Umrechnungen in Zahlensystemen (Dual, Dezimal, Oktal, Hexadezimal)

Multimedia

  • Fachbegriffe Audiobearbeitung
  • Zeichensätze kennen und Unterschiede aufzeigen
    • ASCII kennen und erklären

Netzwerk und Administration

  • Samba
  • Methoden zur Namensauflösung erklären (DNS, hosts)
    • DNS-Konfiguration
  • DNS, DHCP, WINS, ARP, Subnetting, Topologien
  • IPv4, IPv6, QoS
  • Firewall
  • Protokolle mit Port-Nummern (HTTP, HTTPS, FTP, SMTP, POP3, IMAP, DNS, SMB, Telnet, SSH)
  • Vorteile von SSH
  • Sicherheitsmaßnahmen
  • Unterschied HTTP/HTTPS
  • Struktur eines Class-C-Netzes erläutern
  • Man-in-the-Middle-Attack beschreiben
  • Backup-Verfahren und -Medien nennen und erläutern
  • Funktionsweise und Vorteile von VPN beschreiben
  • ISDN, ADSL, SDSL, UMTS beschreiben
  • FDDI/Ethernet beschreiben
  • Netzwerk konzipieren (Router, Firewall, Clients)
  • Netzwerkhardware (Switch, Router, Hub) den ISO-Schichten zuordnen
  • Serverarten nennen (z.B. Printserver)
  • Bezugsquellen für Hardwarelieferanten nennen
  • mögliche Gründe für Datenverluste auf Servern erläutern und Gegenmaßnahmen vorschlagen
  • Auswirkungen von Datenverlusten für das Unternehmen erläutern
  • Maßnahmen der Mitarbeiter zur Vermeidung von Datenverlusten erläutern
  • Aufbau, Vor-/Nachteile Terminalserver erläutern
  • Clustering, Load Balancing, Thin-Clients erläutern
  • RDP/ICA unterscheiden
  • Verbreitung von Viren erläutern
  • Viren/Würmer/Trojaner unterscheiden
  • Switches/Hubs unterscheiden
  • ISO/OSI-Schichten nennen

Projektmanagement

  • übliche Projektphasen
  • Aufgaben/Inhalte/Verbindlichkeit von Pflichtenheften/Angeboten
  • Aufgaben des Projektleiters
  • Netzplan/Gantt, PSP (Projektstrukturplan) erstellen
Prozessanalyse
  • Programmablaufpläne/Prozessdiagramme/EPKs erstellen/korrigieren/optimieren
  • Ablauf eines üblichen Geschäftsprozesses (von Kundenanfrage bis Zahlungseingang) kennen
  • Symbole des Petri-Netzes erläutern

Rechtliches

  • Datenschutz erläutern
  • Urheberrecht
    • von Patenten abgrenzen
    • erläutern
  • Datensicherheit erläutern
  • Unfreien Versand erläutern
  • Fernabsatzvertrag erläutern
  • Nachbesserung und Nachlieferung erläutern

Softwareentwicklung

  • Arten von Software unterscheiden (Individual-/Branchensoftware)
  • Unterschied klassische/objektorientierte Modellierung
  • Prinzipien der OOP
    • Begriffe der OOP erläutern: Attribut, Nachricht, Persistenz, Schnittstelle
    • Unterschied Klasse/Objekt
    • Unterschied Klasse/Interface
    • Erklärung Klassenbibliothek
  • Bottom-Up- und Top-Down-Verfahren erläutern
  • Funktion/Vorteile der Modularisierung von Programmen
  • wichtige UML-Diagramme (UseCase-, Klassen-, Sequenz-, Aktivitätsdiagramm) nennen und erläutern
    • Einsatzgebiete verschiedener UML-Diagrammtypen
    • Use-Case-Diagramm erstellen
    • Diagramme für Zustandsautomaten erstellen
  • Klassendiagramme
    • gegebene Klassen in ein Klassendiagramm eintragen (inkl. Beziehungstypen und Kardinalitäten)
    • Klassendiagramm vervollständigen
  • Bestandteile von Klassen
  • Design Patterns kennen/erklären
  • Methoden zur Dokumentation
  • Eigenschaften eines Versionsverwaltungssystems beschreiben
Programmierung
  • Programmierparadigmen (OO, strukturiert, prozedural etc.)
  • die gängigen Programmiersprachen kennen (PHP, Perl, Java, C, C++, C#, JavaScript, Delphi, Visual Basic)
  • Fehler in Programmcode finden (C)
  • Benutzereingaben sinnvoll validieren
  • Vorteile generischer Container 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
  • Algorithmen durchspielen
  • Algorithmen als PAP/Struktogramm/Pseudocode darstellen
    • Mittelwert
    • doppelte Einträge in einem Array finden
    • Zinsberechnung
    • Planen eines regelmäßigen Backups
    • Ablauf einer Benutzerauthentifizierung an einer Website
    • doppelte Werte aus Array löschen
    • Dateibäume rekursiv kopieren
  • Unterschied Interpreter/Compiler
  • Unterschied syntaktische/semantische Fehler
  • Unterschiede bei der Programmierung/Ausführungsgeschwindigkeit in C, Java und JavaScript
  • Methode zum Abbuchen von einem Konto in Pseudocode implementieren
  • Reguläre Ausdrücke zur Textanalyse erstellen
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 [GAI, P2]
    • Anweisungsüberdeckung/Zweigüberdeckung
  • Maßnahmen zur Qualitätssicherung (Audits, Reviews, Testmethoden)

Unternehmens-/Mitarbeiterführung und Organisation

  • Vorteile eines betrieblichen Vorschlagwesens
  • Beispiele zur Optimierung der Arbeitsabläufe
  • Methoden zur Mitarbeitermotivation
  • Linien-/Matrixorganisation kennen (Vor-/Nachteile)und Organigramm erstellen
  • Standortfaktoren bewerten
  • Marktformen bestimmen
  • Angebotskalkulation
  • (Arbeits-)Verträge
  • Betriebsrat
  • Kündigungsfristen
  • Lohnabrechnung
  • Gesellschaftsformen
  • Arbeitsvertrag
  • Aufbau- und Ablauforganisation
Soft-Skills
  • Präsentieren
    • Vorteile des Medieneinsatzes bei Präsentationen
    • Aufbau von Präsentationen
    • Aufmerksamkeit der Zuhörer gewinnen
fiae.1269593472.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)