Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Letzte Überarbeitung Beide Seiten der Revision | ||
job:fiae [2015-01-17 07:40] stefan [Projektdokumentation] |
job:fiae [2015-11-08 08:43] stefan |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Ausbildung zum Fachinformatiker Anwendungsentwicklung ====== | ====== Ausbildung zum Fachinformatiker Anwendungsentwicklung ====== | ||
+ | |||
+ | Hallo auf meiner Wiki-Seite rund um die Ausbildung zum Fachinformatiker für Anwendungsentwicklung. Ich bin gerade dabei, diese Inhalte auf die neue Website zu migrieren: | ||
+ | |||
+ | [Fachinformatiker Anwendungsentwicklung | Hinweise und Tipps zur Ausbildung und IHK-Abschlussprüfung](http://fachinformatiker-anwendungsentwicklung.net/ "Fachinformatiker Anwendungsentwicklung | Hinweise und Tipps zur Ausbildung und IHK-Abschlussprüfung") | ||
+ | |||
+ | Einige Inhalte könnt ihr euch auch in meinem Podcast anhören: [Anwendungsentwickler-Podcast](http://anwendungsentwicklerpodcast.de/ "Anwendungsentwickler-Podcast"). | ||
+ | |||
+ | <HTML><a href="http://anwendungsentwicklerpodcast.de/" title="Anwendungsentwickler-Podcast anhören"><img src="http://public.macke.it/Abbildungen/AnwendungsentwicklerPodcastAnhoeren.jpg" alt="Anwendungsentwickler-Podcast anhören" /></a><br/></HTML> | ||
+ | |||
===== Projektantrag ===== | ===== Projektantrag ===== | ||
Zeile 22: | Zeile 31: | ||
==== Bewertung ==== | ==== Bewertung ==== | ||
- | Die folgenden Kriterien sind meine persönliche Auswahl. Lediglich die Oberpunkte sind eine Vorgabe der IHK. | + | [[http://fachinformatiker-anwendungsentwicklung.net/kriterien-fuer-die-bewertung-der-projektdokumentation/|Kriterien für die Bewertung der Projektdokumentation]] |
- | + | ||
- | * Formale und sprachliche Gestaltung (15%) | + | |
- | * Wurde der mögliche Umfang für den Inhalt (15 Seiten) eingehalten und ausgeschöpft? | + | |
- | * Sind die Seitenzahlen/Kopf-/Fußzeilen sinnvoll formatiert (z.B. Seitenzahlen für Verzeichnisse römisch groß, für Inhalt arabisch, für Anhang römisch klein)? | + | |
- | * Sind qualitative Quellenangaben vorhanden? | + | |
- | * Sind wenige Rechtschreib-/Grammatik-/Zeichensetzungsfehler vorhanden? | + | |
- | * Ist der Text im Blocksatz gesetzt und füllt alle Seiten aus (keine größeren Freiräume im Text, z.B. freie halbe Seiten unter einer Abbildung)? | + | |
- | * Sind alle wichtigen inhaltlichen Elemente vorhanden (Einleitung, Fazit usw.)? | + | |
- | * Haben alle Anhänge/Abbildungen/Tabellen/Quellenangabe einen entsprechenden Verweis/Erläuterung im Text? Sind alle Elemente, auf die verwiesen wird, tatsächlich vorhanden? | + | |
- | * Beschreibung des Auftrags - Verständlichkeit, Nachvollziehbarkeit, Kundenbezug (20%) | + | |
- | * Ist das Projektziel klar und deutlich erkennbar? | + | |
- | * Wurden die Schnittstellen des Programms erläutert (Benutzer, andere Systeme)? | + | |
- | * Wurde eine detaillierte Projektplanung für die 70h und die verwendeten Ressourcen durchgeführt? | + | |
- | * Wurde eine Ist-/Schwachstellenanalyse durchgeführt? | + | |
- | * Wurden die Anforderungen an die Software methodisch aufgenommen? Ist ein Fachkonzept/Lastenheft vorhanden und methodisch aufgebaut? Gibt es Use-Cases? | + | |
- | * Wurde eine Wirtschaftlichkeitsanalyse mit Amortisationsrechnung durchgeführt? Ist die Kalkulation fachlich korrekt (Inhalte, Berechnung)? | + | |
- | * Wurde der nicht-monetäre Nutzen mit einer Nutzwertanalyse verdeutlicht? | + | |
- | * Konkretisierung des Auftrags - Technische und kaufmännische Nachvollziehbarkeit (50%) | + | |
- | * Weist das Projekt eine angemessene fachliche/technische Tiefe für einen Anwendungsentwickler auf? | + | |
- | * Wurden die Anforderungen an die Software methodisch spezifiziert/verfeinert? Ist ein Fein-/Sollkonzept/Pflichtenheft vorhanden und methodisch aufgebaut? Gibt es Aktivitätsdiagramme? | + | |
- | * Ist ein methodisches Vorgehen erkennbar? Welcher Entwicklungsprozess wurde eingesetzt? | + | |
- | * Wurden komplexe Arbeitsabläufe mit sinnvollen Methoden erläutert (z.B. Flusspläne, EPKs, Aktivitätsdiagramm)? | + | |
- | * Wurden alle getroffenen Entscheidungen sinnvoll begründet? | + | |
- | * Ist die Auswahl der Programmiersprache/Datenbank plausibel dargelegt? | + | |
- | * Wurden alle eingesetzten Ressourcen beschrieben? | + | |
- | * Wurde die detaillierte Projektplanung auf ihre Einhaltung hin untersucht und wurden Abweichungen plausibel begründet (Retrospektive)? | + | |
- | * Wurde eine Datenbank erstellt? Ist sie sinnvoll dokumentiert (ERM)? Ist sie normalisiert? | + | |
- | * Wurde die Architektur der Software begründet und sinnvoll dokumentiert? Wurde ein Komponenten-/Klassendiagramm erstellt? | + | |
- | * Wurde die Implementierung interessanter Funktionen näher erläutert? | + | |
- | * Wie und wann wurde getestet? Wurden Tests automatisiert? Wie wurden die Testfälle ausgewählt? Wurden die Tests und die Ergebnisse dokumentiert? | + | |
- | * Wurde das Produkt abgenommen? Von wem? Welche Kriterien waren dabei entscheidend? | + | |
- | * War das Projekt ein Erfolg? Warum (nicht)? Gibt es mögliche Erweiterungen (Ausblick)? | + | |
- | * Angemessene Betriebs- und Kundendokumentation (15%) | + | |
- | * Wurde eine Benutzerdokumentation erstellt? | + | |
- | * Wurde eine API-/Entwicklerdokumentation erstellt? Wie? | + | |
- | * Gibt es sinnvolle/interessante kommentierte Auszüge aus dem Quelltext? | + | |
- | * Sind Screenshots der fertigen Anwendung vorhanden und erläutert? | + | |
===== Projektpräsentation ===== | ===== Projektpräsentation ===== | ||
- | ==== Foliendesign ==== | + | [[http://fachinformatiker-anwendungsentwicklung.net/inhalte-der-projektpraesentation/|Inhalte der Projektpräsentation]] |
- | * 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 (als "Fortschrittsbalken") | + | |
- | * Stichpunkte als Bullet Points auf den Folien | + | |
- | * nicht zuviel Text | + | |
- | * da die Präsentation recht kurz ist, sollte man sich auf das Wesentliche/Interessante des Projekts konzentrieren | + | |
- | * Folien sollten der Corporate Identity des Ausbildungsbetriebs folgen | + | |
- | * alle verwendeten Grafiken/Inhalte müssen deutlich erkennbar/lesbar sein | + | |
- | * sehr interessant ist das fertige Produkt (Live-Demo, Screencast) | + | |
- | + | ||
- | ==== 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, auch grafisch), Nutzwertanalyse | + | |
- | * Überblick über die Anwendung (Architektur, Einbindung in andere Systeme) | + | |
- | * Implementierung (z.B. ERM, UML, Quelltexte, Screenshots) | + | |
- | * Grafiken zur Erklärung bestimmter Sachverhalte | + | |
- | * ERM | + | |
- | * Use-Case-Diagramm | + | |
- | * Architektur der Anwendung | + | |
- | * aufgetretene Probleme und Lösungen dafür -> Lessons Learned | + | |
- | * Fazit, Ausblick | + | |
- | * Schlussfolie | + | |
- | + | ||
- | ==== Bewertung ==== | + | |
- | * Fachkenntnisse (20%) | + | |
- | * Rhetorik (10%) | + | |
- | * Medieneinsatz (10%) | + | |
- | * Begrüßung und Einstieg in die Präsentation (10%) | + | |
- | * Ergebnis des Fachgesprächs (50%) | + | |
==== Häufige Fragen im Fachgespräch ==== | ==== Häufige Fragen im Fachgespräch ==== | ||
Zeile 130: | Zeile 70: | ||
=== Themen der letzten Prüfungen === | === Themen der letzten Prüfungen === | ||
- | * Winter 2014 | ||
- | * 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 | ||
- | * 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 | ||
- | * 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 | ||
- | * 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 | ||
- | * 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 | ||
- | === Aktuelles (2014/2015) === | + | Die Liste ist umgezogen: [Themen der schriftlichen IHK-Prüfungen](http://fiae.link/Pruefungsthemen "Themen der schriftlichen IHK-Prüfungen") |
+ | |||
+ | === Aktuelles (2015) === | ||
* Windows 8.1 | * Windows 8.1 | ||
* Smart Watches | * Smart Watches | ||
Zeile 261: | Zeile 84: | ||
* LTE | * LTE | ||
* NoSQL | * NoSQL | ||
+ | * Big Data | ||
* UEFI | * UEFI | ||
Zeile 340: | Zeile 164: | ||
=== Betriebssysteme === | === Betriebssysteme === | ||
+ | * verschiedene Betriebssysteme kennen (Linux, Windows, Android, iOS, Windows Phone) | ||
* Unterschied Unix/Linux | * Unterschied Unix/Linux | ||
- | * Dateisysteme (FAT, NTFS, ext) | ||
* Vor-/Nachteile Linux/Windows | * Vor-/Nachteile Linux/Windows | ||
- | * Samba/SMB | + | * Dateisysteme (FAT, NTFS, ext) |
+ | * Aufbau des Dateibaums | ||
+ | * Kommandozeile vs. GUI | ||
* Linux | * Linux | ||
* wichtige Befehle kennen (ls, chmod, chown, ps, grep, mount) | * 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) | * Dateirechtesystem erklären (ugw + rwx) | ||
* gängige Linux-Distributionen nennen (Debian, Suse, Red Hat, Ubuntu etc.) | * gängige Linux-Distributionen nennen (Debian, Suse, Red Hat, Ubuntu etc.) | ||
* Wie wird die Hardware angesteuert? | * Wie wird die Hardware angesteuert? | ||
* Mounten von Laufwerken | * Mounten von Laufwerken | ||
- | * Windows 7 | + | * Samba/SMB |
- | * Android, iOS, Windows Phone | + | * Typen von Multitasking erläutern (kooperativ vs. präemptiv) |
+ | * Prozess vs. Task vs. Thread | ||
=== Datenbanken === | === Datenbanken === | ||
Zeile 358: | Zeile 186: | ||
* Eigenschaften von relationalen Datenbanken | * Eigenschaften von relationalen Datenbanken | ||
* ORM | * ORM | ||
+ | * NoSQL (dokumentenorientiert, spaltenorientiert, Key/Value-Store, objektorientiert, Graphendatenbank) | ||
+ | * CAP-Theorem | ||
+ | * Map/Reduce | ||
+ | * Eventual Consistency | ||
* Begriffe kennen und erläutern | * Begriffe kennen und erläutern | ||
* Redundanz, Primär-/Fremdschlüssel, Datensatz, INSERT | * Redundanz, Primär-/Fremdschlüssel, Datensatz, INSERT | ||
Zeile 365: | Zeile 197: | ||
* Trigger erklären | * Trigger erklären | ||
* SQL-Abfragen | * SQL-Abfragen | ||
+ | * DDL, DML, DQL, DCL, DTL | ||
* CRUD (Create, Read, Update, Delete) | * CRUD (Create, Read, Update, Delete) | ||
* verschiedene Joins (INNER, OUTER LEFT/RIGHT) | * verschiedene Joins (INNER, OUTER LEFT/RIGHT) | ||
Zeile 375: | Zeile 208: | ||
* Modellierung von Beziehungen (1:1, 1:n, m:n) | * Modellierung von Beziehungen (1:1, 1:n, m:n) | ||
* mögliche Beispiele: Benutzer/Login (1:1), Benutzer/Bestellung (1:n), Benutzer/Benutzergruppe (m:n) | * mögliche Beispiele: Benutzer/Login (1:1), Benutzer/Bestellung (1:n), Benutzer/Benutzergruppe (m:n) | ||
+ | * Big Data | ||
* mögliche Aufgaben | * mögliche Aufgaben | ||
* vorhandenes Tabellenmodell normalisieren | * vorhandenes Tabellenmodell normalisieren |