Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
fiae [2010-03-26 09:50] stefan |
fiae [2010-05-20 15:08] stefan gelöscht |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Ausbildung zum Fachinformatiker Anwendungsentwicklung ====== | + | moved to [[job:fiae]] |
- | + | ||
- | ===== Projektdokumentation ===== | + | |
- | + | ||
- | ==== Anmerkungen ==== | + | |
- | * //kursive// Punkte sind optional bzw. nur bei Bedarf zu erstellen | + | |
- | * die Reihenfolge der Punkte ist nicht fix, es können auch mehrere Punkte zusammengefasst werden | + | |
- | * Beispiele für Projektdokumentationen | + | |
- | * [[http://www.pruefungsausschuss.de/ProjektDokus.shtml]] | + | |
- | * [[http://www.it-themenportal.de/suicidal/dl_engine/index.php?subcat=7]] | + | |
- | * Bewertungsbögen zur Dokumentation | + | |
- | * {{:fiaebewertungdokuihkkoeln.pdf|Bewertungsbogen der IHK Köln}} | + | |
- | + | ||
- | ==== 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 ==== | + | |
- | * am Besten bereitet man sich mit alten Prüfungen vor, um ein "Gefühl" für die Fragen zu bekommen | + | |
- | * grundsätzlich können die Inhalte der Ausbildungsrahmenpläne (vgl. [[http://blog.stefan-macke.com/2007/07/09/ausbildungsplan-fachinformatiker-anwendungsentwicklung-als-excel-datei/|Blog]]) drankommen | + | |
- | * die folgende Liste ist nicht vollständig und dient nur einer ersten Übersicht | + | |
- | * Quellen | + | |
- | * [[http://forum.fachinformatiker.de/ihk-pruefung-allgemein/123171-ap-fiae-fisi-materialsammlung-zu-ga2.html]] | + | |
- | * [[http://forum.fachinformatiker.de/attachments/ausbildung-im-it-bereich/2900-abschlusspruefung-lernen-moegliche-themen-theoretischen-abschlusspruefung.png]] | + | |
- | + | ||
- | ==== 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 | + |