Benutzer-Werkzeuge

Webseiten-Werkzeuge


fiae

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
fiae [2010-03-26 09:50]
stefan
fiae [2010-05-03 10:42]
127.0.0.1 Externe Bearbeitung
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+