fiae
**Dies ist eine alte Version des Dokuments!**
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
Projektbegründung
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
Bewertungsbögen zur Dokumentation
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
-
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.
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
Themen
Aktuelles (2010)
Cloud Computing (Auswirkungen auf Softwareentwicklung, Hardware, Geschäftsmodelle)
Funktionale Programmierung
REST
Green IT
Virtualisierung
Web 2.0
Mobile Applikation
USB 3.0
Windows 7
3D-/HD-TV, HDMI, BlueRay
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
Lohnabrechnung
Gesellschaftsformen
Aufbau- und Ablauforganisation
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
Open Source
Unfreier Versand
Fernabsatzverträge
Nachbesserung und Nachlieferung
Gewährleistung vs. Garantie
Mutterschutz, JAschG
Betriebsrat
Kündigungsfristen
Soft-Skills
Betriebssysteme
Datenbanken
unterschiedliche Architekturen (Client/Server, Dateibasiert)
unterschiedliche Ansätze (relational, Netzwerk, hierarchisch, objektorientiert)
Eigenschaften von relationalen Datenbanken
ORM
Begriffe kennen und erläutern
SQL-Abfragen
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")
Modellierung von Beziehungen (1:1, 1:n, m:n)
mögliche Aufgaben
Englisch
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, SCSI, SAS, USB, RAID, TFT, TCO, CRT, USV
RAID 0, 1, 5 erklären
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
Virtuelle Maschinen
mögliche Aufgaben
passende Komponenten für einen (Datenbank-/File-)Server oder Workstation (z.B. CAD, Office) auswählen
* PCs für bestimmte Anforderungen aus Komponenten zusammenstellen
Internet
Aufbau von URLs/URIs
Beispiele für Browser/Webserver/Web-Programmiersprachen/(serverseitige) Scriptsprachen
wichtige Protokolle und Ports (HTTP,
FTP, SMTP, POP3, IMAP, telnet, NNTP, SMB)
Vor-/Nachteile wichtiger Dateiformate (PDF, Bildformate)
Ablauf beim Aufruf einer Website (Kommunikation Client/Server) und Verarbeitung bei PHP
Sicherheit
Hacker, Cracker, Script-Kiddies
Phishing, Sniffing, Spoofing, Man-in-the-Middle
SQL-Injection, XSS, CSRF, Session Hijacking, DoS, DDoS
* Viren, Würmer, Trojaner, Hoax, Spyware, Dialer
* Verbreitung von Viren/Würmer/Trojaner erläutern
Websites
Vorteile von Internetseiten als Werbemittel
grundlegende Kenntnisse von
HTML,
CSS, PHP
ergonomische Gestaltung von Websites
-
Mindestinhalte des Impressums
virtuelle Hosts erläutern
Möglichkeiten zur Unterscheidung von Websites auf einem Host: IP, Hostname, Port
Funktion von .htaccess erläutern
dynamische Websites (CGI, ASP, JSP)
Web 2.0
Mathematik und Rechnungswesen
Ermittlung von Umsatz/Provision/Deckungsbeitrag/Kosten/Gewinn
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
Datenraten von verschiedenen Laufwerken (Festplatte, CD, DVD)
Audiobearbeitung
Bildbearbeitung
Zeichensätze kennen und Unterschiede aufzeigen
ASCII kennen und erklären
Kryptographie
PKI, BSI
Was ist eine Prüfsumme/Hash?
ausgewählte Verschlüsselungsverfahren kennen
digitale Signatur
* Kompression
verlustbehaftet vs. verlustfrei
XML
Wohlgeformtheit, Validität
Parser, Serialisierer
-
DTD, Schema, RelaxNG, Schematron
XSLT, XSL-FO
mögliche Aufgaben
Netzwerk und Administration
Methoden zur Namensauflösung erklären (
DNS, hosts)
DNS, DHCP, WINS, ARP, Subnetting, Topologien
IPv4, IPv6, A/B/C-Klassennetze
Protokolle mit Port-Nummern (HTTP, HTTPS,
FTP, SMTP, POP3, IMAP,
DNS, SMB, Telnet, SSH)
Routing
Firewall
Proxy-Server (Squid)
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 (Hub, Bridge, Switch, Router) mit Zuordnung zu ISO-Schichten
Serverarten nennen (z.B. Print-/Fileserver)
Clustering, Load Balancing
RDP/ICA unterscheiden
ISO/OSI-Modell (7 Schichten) im Vergleich zum TCP/IP-Modell (4 Schichten)
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
primäre/sekundäre/tertiäre Verkabelung
CSMA/CD, Token
VLAN
VoIP, QoS, SIP
Authentifizierung vs. Autorisierung
mögliche Aufgaben
Dauer einer Datensicherung berechnen
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
Aufgaben des Projektleiters
Netzplan, Gantt-Diagramm, PSP (Projektstrukturplan) erstellen
Prozessanalyse
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 prozedurale/objektorientierte Entwicklung/Modellierung
Prinzipien der OOP
Begriffe der OOP erläutern: Attribut, Nachricht/Methodenaufruf, Persistenz, Schnittstelle/
API/Interface, Polymorphie, Vererbung
Bestandteile von Klassen
Unterschied Klasse/Objekt
Unterschied Klasse/Interface
Erklärung Klassenbibliothek
Klassenbeziehungen: Assoziation, Aggregation, Komposition
Software-Architektur
Bottom-Up- und Top-Down-Verfahren bei der Modellierung 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
Singleton, Observer, Factory, Adapter, MVC, Iterator, Strategy, Decorator, Template Method, Registry
Methoden zur Dokumentation
Eigenschaften eines Versionsverwaltungssystems beschreiben
Entwicklungsprozesse
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, funktional, deklarative etc.)
Unterschied Interpreter/Compiler
3GL/4GL
die gängigen Programmiersprachen kennen (PHP, Perl, Java, C, C++, C#, JavaScript, Delphi, Visual Basic, VBA, Ruby, Python, Cobol, F#, Lisp, Prolog, Assembler)
Rekursion
Unterschied syntaktische/semantische Fehler
Benutzereingaben sinnvoll validieren
Vorteile generischer Container (Templates in C++) 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
Algorithmen als PAP/Struktogramm/Pseudocode darstellen
Reguläre Ausdrücke zur Textanalyse erstellen
mögliche Aufgaben
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
Abnahme-, Last-, Funktions-, Regressionstest
Black-/Whiteboxtest, Anweisungsüberdeckung/Zweigüberdeckung
Komponenten-, Integrations-, Systemtest
Maßnahmen zur Qualitätssicherung (Audits, Reviews, Testmethoden)
fiae.1270737175.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)