Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
fiae [2010-04-08 11:22] stefan |
fiae [2010-05-20 15:08] stefan gelöscht |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Ausbildung zum Fachinformatiker Anwendungsentwicklung ====== | + | moved to [[job:fiae]] |
- | + | ||
- | ===== Projektantrag ===== | + | |
- | + | ||
- | ==== Hinweise zur Prüfung von Projektanträgen ==== | + | |
- | * Projektplanung | + | |
- | * logischer Aufbau der zeitlichen Projektplanung | + | |
- | * sinnvolles Verhältnis von Entwurf zu Implementierung | + | |
- | * wie wird getestet? | + | |
- | * Implementierung | + | |
- | * welche Form hat das Programm (Webanwendung, Client mit GUI)? | + | |
- | * welche Sprache/DB wird verwendet? | + | |
- | * Projektbegründung | + | |
- | * was ist der wirtschaftliche Nutzen? | + | |
- | + | ||
- | ===== 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 ==== | + | |
- | + | ||
- | === Der Betrieb und sein Umfeld === | + | |
- | * Vorteile eines betrieblichen Vorschlagwesens | + | |
- | * Beispiele zur Optimierung der Arbeitsabläufe | + | |
- | * Methoden zur Mitarbeitermotivation | + | |
- | * Standortfaktoren bewerten | + | |
- | * Marktformen bestimmen | + | |
- | * Angebotskalkulation | + | |
- | * (Arbeits-)Verträge | + | |
- | * Stellenbeschreibung | + | |
- | * Lohnabrechnung | + | |
- | * Gesellschaftsformen | + | |
- | * Aufbau- und Ablauforganisation | + | |
- | * Linien-/Matrixorganisation kennen (Vor-/Nachteile)und Organigramm erstellen | + | |
- | * Umweltschutz | + | |
- | * Workflow | + | |
- | * Zentralisierung/Dezentralisierung | + | |
- | * Unfallverhütung | + | |
- | + | ||
- | == 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 | + | |
- | + | ||
- | == Marketing == | + | |
- | * Vor-/Nachteile von Absatzwegen, Distributionspolitik | + | |
- | * 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 | + | |
- | * Beispiele für niedrigen/hohen Markteinstiegspreis nennen | + | |
- | * Outsourcing (organisatorisch) vs. Offshoring (geografisch) | + | |
- | + | ||
- | == Rechtliches == | + | |
- | * Datenschutz vs. Datensicherheit | + | |
- | * Urheberrecht | + | |
- | * von Patenten abgrenzen | + | |
- | * Unfreier Versand | + | |
- | * Fernabsatzverträge | + | |
- | * Nachbesserung und Nachlieferung | + | |
- | * Gewährleistung vs. Garantie | + | |
- | * Mutterschutz, JAschG | + | |
- | * Betriebsrat | + | |
- | * Kündigungsfristen | + | |
- | + | ||
- | == Soft-Skills == | + | |
- | * Präsentieren | + | |
- | * Vorteile des Medieneinsatzes bei Präsentationen | + | |
- | * Aufbau von Präsentationen | + | |
- | * Aufmerksamkeit der Zuhörer gewinnen | + | |
- | * Ideenfindung/Kreativitätstechniken | + | |
- | * Brainstorming, Mindmap | + | |
- | + | ||
- | === Betriebssysteme === | + | |
- | * Unterschied Unix/Linux | + | |
- | * Dateisysteme (FAT, NTFS, ext) | + | |
- | * Vor-/Nachteile Linux/Windows | + | |
- | * Samba/SMB | + | |
- | * 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) | + | |
- | * unterschiedliche Ansätze (relational, Netzwerk, hierarchisch, objektorientiert) | + | |
- | * Eigenschaften von relationalen Datenbanken | + | |
- | * ORM | + | |
- | * Begriffe kennen und erläutern | + | |
- | * Redundanz, Primär-/Fremdschlüssel, Datensatz, INSERT | + | |
- | * referentielle Integrität | + | |
- | * Maßnahmen bei Löschoperationen (Constraints): CASCADE, DENY/RESTRICT, SET NULL | + | |
- | * SQL-Abfragen | + | |
- | * CRUD (Create, Read, Update, Delete) | + | |
- | * verschiedene Joins (INNER, OUTER LEFT/RIGHT) | + | |
- | * Arbeitschritte beim DB-Design | + | |
- | * ER-Modelle erstellen | + | |
- | * Tabellenmodelle erstellen | + | |
- | * ACID-Prinzipien für Transaktionen kennen und erläutern (atomicity, consistency, isolation, durability) | + | |
- | * Normalformen erläutern ("the key, the whole key, and nothing but the key") | + | |
- | * Normalisierung von Datenbanken bis zur 3. Normalform durchführen | + | |
- | * Modellierung von Beziehungen (1:1, 1:n, m:n) | + | |
- | * XML | + | |
- | * Wohlgeformtheit, Validität | + | |
- | * Parser, Serialisierer | + | |
- | * mögliche Aufgaben | + | |
- | * gültige Datensätze zu einem gegebenen Schema ermitteln können | + | |
- | * vorhandenes Tabellenmodell normalisieren | + | |
- | === Englisch === | + | |
- | * Texte verstehen, übersetzen und analysieren | + | |
- | + | ||
- | === Hardware === | + | |
- | * Prozessor/CPU, Kühlung | + | |
- | * von-Neumann-Architektur | + | |
- | * ALU | + | |
- | * RAM-Arten und Unterschiede | + | |
- | * Eigenschaften/Unterscheidung/Vor-/Nachteile SAN und NAS | + | |
- | * Unterschied Stack/Heap | + | |
- | * sATA, AGP, PCI, ISA, IDE, USB, RAID, TFT, TCO, CRT, USV, SCSI, SAS | + | |
- | * RAID 0, 1, 5 erklären | + | |
- | * PCs für bestimmte Anforderungen aus Komponenten zusammenstellen | + | |
- | * Bluetooth, Firewire, USB | + | |
- | * WLAN | + | |
- | * Hotspot, Ad-Hoc, Repeater | + | |
- | * Sicherheit (WPA, WEP, MAC-Kontrolle) | + | |
- | * BIOS, CMOS, Ablauf eines Systemstarts, Sinn von BIOS-Updates | + | |
- | * IDE: Master/Slave, Jumper | + | |
- | * Firmware, Flash-Speicher | + | |
- | * Arten von Druckern und Scannern | + | |
- | * Thin Clients/Fat Clients | + | |
- | * Bezugsquellen für Hardwarelieferanten | + | |
- | * mögliche Aufgaben | + | |
- | * passende Komponenten für einen (Datenbank-/File-)Server oder Workstation (z.B. CAD, Office) auswählen | + | |
- | + | ||
- | === Internet === | + | |
- | * Aufbau von URLs | + | |
- | * Beispiele für Browser/Webserver/Web-Programmiersprachen/(serverseitige) Scriptsprachen | + | |
- | * wichtige Protokolle und Ports (HTTP, FTP, SMTP, POP3, telnet, NNTP, SMB) | + | |
- | * Vor-/Nachteile wichtiger Dateiformate (PDF, Bildformate) | + | |
- | * Ablauf beim Aufruf einer Website (Kommunikation Client/Server) | + | |
- | * Sicherheit | + | |
- | * Hacker, Cracker, Script-Kiddies | + | |
- | * Phishing, Sniffing, Spoofing, Man-in-the-Middle | + | |
- | * SQL-Injection, XSS, CSRF, DoS, DDoS | + | |
- | * Viren, Würmer, Trojaner, Hoax, Spyware, Dialer | + | |
- | * Verbreitung von Viren erläutern | + | |
- | * Applet und Servlet unterscheiden | + | |
- | + | ||
- | == 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) | + | |
- | + | ||
- | === Mathematik und Rechnungswesen === | + | |
- | * Ermittlung von Umsatz/Provision/Deckungsbeitrag/Kosten/Gewinn | + | |
- | * Zahlungsverzug | + | |
- | * Definition, Gründe, Konsequenzen | + | |
- | * 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 | + | |
- | * Vor-/Nachteile Kauf/Leasing/Miete | + | |
- | * Umrechnungen in Zahlensystemen (Dual, Dezimal, Oktal, Hexadezimal) | + | |
- | * Profit-Center-Organisation | + | |
- | * Handelskalkulation | + | |
- | + | ||
- | === Multimedia === | + | |
- | * Datenraten von verschiedenen Laufwerken (Festplatte, CD, DVD) | + | |
- | * Audiobearbeitung | + | |
- | * Sampling(rate, -tiefe) | + | |
- | * Dateigröße ermitteln | + | |
- | * Bildbearbeitung | + | |
- | * Auflösung | + | |
- | * JPEG, MPEG | + | |
- | * OCR | + | |
- | * Zeichensätze kennen und Unterschiede aufzeigen | + | |
- | * ASCII kennen und erklären | + | |
- | * Kryptographie | + | |
- | * symmetrisch/asymmetrisch | + | |
- | * PKI | + | |
- | * Was ist eine Prüfsumme? | + | |
- | * ausgewählte Verschlüsselungsverfahren kennen | + | |
- | * digitale Signatur | + | |
- | * Kompression | + | |
- | * verlustbehaftet vs. verlustfrei | + | |
- | * ZIP | + | |
- | * Huffman-Code | + | |
- | * mögliche Aufgaben | + | |
- | * Dateigrößen von Bildern/Videos berechnen | + | |
- | + | ||
- | === Netzwerk und Administration === | + | |
- | * Methoden zur Namensauflösung erklären (DNS, hosts) | + | |
- | * DNS-Konfiguration | + | |
- | * DNS, DHCP, WINS, ARP, Subnetting, Topologien | + | |
- | * Ablauf beim DHCP-Lease (Discover -> Offer -> Request -> Acknowledge) | + | |
- | * ping | + | |
- | * MAC vs. IP | + | |
- | * IPv4, IPv6 | + | |
- | * öffentliche/private IP-Adressen | + | |
- | * Protokolle mit Port-Nummern (HTTP, HTTPS, FTP, SMTP, POP3, IMAP, DNS, SMB, Telnet, SSH) | + | |
- | * Routing | + | |
- | * Firewall | + | |
- | * Proxy-Server | + | |
- | * Sicherheitsmaßnahmen | + | |
- | * Vorteile von SSH | + | |
- | * Unterschied HTTP/HTTPS | + | |
- | * Struktur eines Class-C-Netzes erläutern | + | |
- | * Funktionsweise und Vorteile von VPN beschreiben | + | |
- | * ISDN, ADSL, SDSL, UMTS | + | |
- | * FDDI (Lichtwelle)/Ethernet beschreiben | + | |
- | * Netzwerkhardware (Switch, Router, Hub, Bridge) mit Zuordnung zu ISO-Schichten | + | |
- | * Switches/Hubs unterscheiden | + | |
- | * Serverarten nennen (z.B. Print-/Fileserver) | + | |
- | * Aufbau, Vor-/Nachteile Terminalserver erläutern | + | |
- | * Clustering, Load Balancing | + | |
- | * RDP/ICA unterscheiden | + | |
- | * ISO/OSI-Modell | + | |
- | * Backup | + | |
- | * Medien nennen und erläutern | + | |
- | * inkrementell/differentiell/voll | + | |
- | * Generationenprinzip, Großvater/Vater/Sohn | + | |
- | * hot/cold | + | |
- | * Wie erkennt die Software, welche Daten zu sichern sind? | + | |
- | * schützenswerte Daten | + | |
- | * mögliche Gründe für Datenverluste auf Servern erläutern und Gegenmaßnahmen vorschlagen | + | |
- | * Folgen von Datenverlust, Auswirkungen von Datenverlusten für das Unternehmen erläutern | + | |
- | * Maßnahmen der Mitarbeiter zur Vermeidung von Datenverlusten erläutern | + | |
- | * Client/Server vs. P2P | + | |
- | * File Sharing | + | |
- | * primäre/sekundäre/tertiäre Verkabelung | + | |
- | * Kabeltypen | + | |
- | * Simplex, Halb-/Vollduplex | + | |
- | * 10/100/1000Base-T | + | |
- | * CSMA/CD, Token | + | |
- | * VLAN | + | |
- | * VoIP, QoS, SIP | + | |
- | * mögliche Aufgaben | + | |
- | * Dauer einer Datensicherung berechnen | + | |
- | * mögliche Aufgaben | + | |
- | * Netzwerk konzipieren (Router, Firewall, Clients) | + | |
- | + | ||
- | + | ||
- | === Projektmanagement === | + | |
- | * Definition Projekt | + | |
- | * übliche Projektphasen (Idee, Zieldefinition, Auftrag, Planung, Durchführung, Kontrolle etc.) | + | |
- | * Aufgaben/Inhalte/Verbindlichkeit von Lasten-/Pflichtenheften und Angeboten | + | |
- | * Lastenheft: was/wofür? | + | |
- | * Pflichtenheft: was/womit? | + | |
- | * 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 | + | |
- | + | ||
- | === Softwareentwicklung === | + | |
- | * Arten von Software unterscheiden (Individual-/Branchensoftware) | + | |
- | * Unterschied klassische/objektorientierte Modellierung | + | |
- | * Prinzipien der OOP | + | |
- | * Begriffe der OOP erläutern: Attribut, Nachricht, Persistenz, Schnittstelle | + | |
- | * Bestandteile von Klassen | + | |
- | * 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, Zustandsautomaten) kennen und Einsatzgebiete erläutern | + | |
- | * Design Patterns kennen/erklären | + | |
- | * Methoden zur Dokumentation | + | |
- | * Eigenschaften eines Versionsverwaltungssystems beschreiben | + | |
- | * Entwicklungsprozesse | + | |
- | * Wasserfall, V-Modell, Spiralmodell | + | |
- | * mögliche Aufgaben | + | |
- | * gegebene Klassen in ein Klassendiagramm eintragen (inkl. Beziehungstypen und Kardinalitäten) | + | |
- | * Klassendiagramm vervollständigen | + | |
- | * Use-Case-Diagramm erstellen | + | |
- | + | ||
- | == Programmierung == | + | |
- | * Programmierparadigmen (OO, strukturiert, prozedural etc.) | + | |
- | * die gängigen Programmiersprachen kennen (PHP, Perl, Java, C, C++, C#, JavaScript, Delphi, Visual Basic, VBA) | + | |
- | * Unterschiede bei der Programmierung/Ausführungsgeschwindigkeit in C, Java und JavaScript | + | |
- | * Rekursion | + | |
- | * Unterschied Interpreter/Compiler | + | |
- | * Unterschied syntaktische/semantische Fehler | + | |
- | * 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 als PAP/Struktogramm/Pseudocode darstellen | + | |
- | * Reguläre Ausdrücke zur Textanalyse erstellen | + | |
- | * mögliche Aufgaben | + | |
- | * Fehler in Programmcode finden (C) | + | |
- | * Algorithmen implementieren/durchspielen | + | |
- | * Mittelwert | + | |
- | * doppelte Einträge in einem Array finden | + | |
- | * Zinsberechnung | + | |
- | * Planen eines regelmäßigen Backups | + | |
- | * Ablauf einer Benutzerauthentifizierung an einer Website | + | |
- | * Dateibäume rekursiv kopieren | + | |
- | * Abbuchen von einem Konto | + | |
- | + | ||
- | == 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 | + | |
- | * Abnahme-, Last-, Black-/Whitebox-, Funktions-, Regressionstest | + | |
- | * Komponenten-, Integrations-, Systemtest | + | |
- | * Maßnahmen zur Qualitätssicherung (Audits, Reviews, Testmethoden) | + |