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
fiae [2010-03-26 09:51]
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. Sie wurde auf Basis von alten Prüfungen, Lehrbüchern und Stoffsammlungen aus dem Internet zusammengestellt. +
-  * 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+