Benutzer-Werkzeuge

Webseiten-Werkzeuge


job: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
job:fiae [2014-09-06 17:58]
stefan
job:fiae [2015-01-17 07:40]
stefan [Projektdokumentation]
Zeile 4: Zeile 4:
  
 ==== Hinweise zur Prüfung von Projektanträgen ==== ==== Hinweise zur Prüfung von Projektanträgen ====
-  * Projektbegründung +  * [Meine Checkliste zur Prüfung ​von Projektanträgen](http://​fachinformatiker-anwendungsentwicklung.net/​2015/​01/​10/​meine-checkliste-zur-pruefung-von-projektantraegen/​)
-    * was ist der wirtschaftliche Nutzen? +
-    * wird eine Kalkulation/​Amortisationsrechnung durchgeführt?​ +
-  * Projektplanung ​  +
-    * logischer Aufbau der zeitlichen Projektplanung +
-    * sinnvolles Verhältnis ​von Entwurf zu Implementierung +
-    * Dokumentation in Zeitplanung?​ +
-  * Implementierung +
-    * welche Form hat das Programm ​(Webanwendung,​ Client mit GUI)? +
-    * welche Sprache/DB wird verwendet?​ +
-    * wie wird getestet?+
  
 ===== Projektdokumentation ===== ===== Projektdokumentation =====
  
-==== Vorlage ==== +Hier habe ich meine erwarteten Inhalte der Projektdokumentation zusammengefasst:​ [[http://fachinformatiker-anwendungsentwicklung.net/2015/​01/​17/​inhalte-der-projektdokumentation/​|Inhalte der Projektdokumentation]]
-Unter http://f.macke.it/LaTeXVorlageFIAE kann man sich meine LaTeX-Vorlage für die Dokumentation zur betrieblichen Projektarbeit mit einer Vorstrukturierung und vielen Beispielinhalten herunterladen.+
  
-==== 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 
-  * eine "sehr gute" Dokumentation... 
-    * erfüllt alle unten angegebenen Punkte perfekt 
-    * geht aber auch noch darüber hinaus, enthält also ein besonders umfangreiches Projekt mit viel Eigenleistung und außergewöhnlichem Inhalt 
-    * ist fehlerfrei hinsichtlich Rechtschreibung/​Grammatik/​Layout/​Verzeichnissen/​Verweisen/​Literaturangaben etc. 
   * Beispiele für Projektdokumentationen   * Beispiele für Projektdokumentationen
     * [[http://​www.pruefungsausschuss.de/​ProjektDokus.shtml]]     * [[http://​www.pruefungsausschuss.de/​ProjektDokus.shtml]]
-    * [[http://​www.it-themenportal.de/​suicidal/​dl_engine/​index.php?​subcat=7]] 
   * Bewertungsbögen zur Dokumentation   * Bewertungsbögen zur Dokumentation
     * {{:​fiaebewertungdokuihkkoeln.pdf|Bewertungsbogen der IHK Köln}}     * {{:​fiaebewertungdokuihkkoeln.pdf|Bewertungsbogen der IHK Köln}}
Zeile 37: Zeile 18:
     * {{:​ka_merkblattprojektarbeit.pdf|Merkblatt für die Projektarbeit der IHK Oldenburg}} ([[http://​ihk-oldenburg.de/​download/​ka_merkblattprojektarbeit.pdf|online]])     * {{:​ka_merkblattprojektarbeit.pdf|Merkblatt für die Projektarbeit der IHK Oldenburg}} ([[http://​ihk-oldenburg.de/​download/​ka_merkblattprojektarbeit.pdf|online]])
  
-==== Inhalte ​==== +==== Vorlage ​==== 
-  * //Formblatt der entsprechenden IHK// +Unter http://f.macke.it/LaTeXVorlageFIAE kann man sich meine LaTeX-Vorlage ​für die Dokumentation zur betrieblichen Projektarbeit ​mit einer Vorstrukturierung ​und vielen Beispielinhalten herunterladen.
-  * 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 +
-    * ProjektumfeldAusbildungsbetrieb,​ 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 (insbbei 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. Break-Even-Punkt grafisch verdeutlichen (Graphen mit Schnittpunkten) +
-    * nicht-monetärer Nutzen/​Nutzwertanalyse:​ z.B. Vorher-/​Nachher-Vergleich anhand eines Wirtschaftlichkeitskoeffizienten +
-      * wichtig: immer den Maßstab ​für die Gewichtung (warum sind die Kriterien unterschiedlich wichtig?) und die Bewertung (z.B. Punkte von 1 bis 5: was bedeutet das?) angeben  +
-    * //​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) bzw. wenn keine DB verwendet Darstellung der eingesetzten Datenstrukturen (z.B. XML, CSV o.ä.) +
-      * 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 +
-    * Fazit     +
-  * 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+
  
 ==== Bewertung ==== ==== Bewertung ====
Zeile 202: Zeile 130:
  
 === Themen der letzten Prüfungen === === Themen der letzten Prüfungen ===
 +  * Winter 2014
 +    * GH1
 +      - Pflichten-/​Lastenheft,​ Personaleinsatzplan/​Gantt-Diagramm vervollständigen,​ Use-Case-Diagramm erstellen
 +      - relationales Datenmodell erstellen (Fragebogenverwaltung)
 +      - Algorithmus zur Berechnung der prozentualen Mietbelastung von Einkommensgruppen erstellen (2-dimensionales Array)
 +      - Algorithmus zum Sortieren eines 2-dimensionalen Arrays (Bubble-Sort) erstellen
 +      - SQL-Abfragen auf bestehendes Tabellenmodell
 +    * GH2
 +      - Anbgebotsvergleich/​Nutzwertanalyse erstellen, Fragen zu Vertragsstörungen
 +      - SSDs, Englisch übersetzen,​ RAID, Speicherplatz berechnen
 +      - VLANs: statisch/​dynamisch,​ tagged/​untagged,​ Planskizze vervollständigen,​ VPNs
 +      - SMARTe Ziele, Netzplan vervollständigen
 +      - Tabellenmodell erweitern, SQL-Abfragen erstellen
 +  * Sommer 2014
 +    * GH1
 +      - Netzplan vervollständigen und Begriffe erläutern, Cloud Computing
 +      - EPK in Aktivitätsdiagramm umwandeln
 +      - Algorithmus zur Ausgabe einer Rechnung erstellen
 +      - Algorithmus zur Codierung eines QR-Codes erstellen
 +      - SQL-Abfragen erstellen
 +    * GH2
 +      - Unternehmensfusion,​ Finanzierungsvergleich,​ Innenfinanzierung
 +      - Servervirtualisierung (Hypervisor,​ Hosted), Stromkosten berechnen, IPv6, ping
 +      - Subnetting, DHCP, DNS, VPN, IPSec, symmetische vs. asymmetrische Verschlüsselung
 +      - Organisationsformen anhand Organigramm erläutern, Anwendungssysteme (ERP, CRM usw.) erläutern
 +      - SQL-Abfragen erstellen
   * Sommer 2013   * Sommer 2013
     * GH1     * GH1
Zeile 296: Zeile 250:
       - Onlinebeschaffung,​ Rahmenvertrag,​ Kostenberechnung       - Onlinebeschaffung,​ Rahmenvertrag,​ Kostenberechnung
  
-=== Aktuelles (2012) === +=== Aktuelles (2014/2015) === 
-  * Windows 8+  * Windows 8.1 
 +  * Smart Watches 
 +  * Internet of Things (IoT)
   * 3D-Drucker   * 3D-Drucker
-  * HTML5 + CSS3+  * Responsive Webdesign (mit HTML5 + CSS3
 +  * MVC mit JavaScript 
 +  * Functional Reactive Programming
   * Tablets und mobile Geräte   * Tablets und mobile Geräte
   * LTE   * LTE
Zeile 407: Zeile 365:
     * Trigger erklären     * Trigger erklären
   * SQL-Abfragen   * SQL-Abfragen
-    * CRUD (Create, Read, Update, Delete) ​ +    * CRUD (Create, Read, Update, Delete)
     * verschiedene Joins (INNER, OUTER LEFT/RIGHT)     * verschiedene Joins (INNER, OUTER LEFT/RIGHT)
   * Arbeitschritte beim DB-Design   * Arbeitschritte beim DB-Design
Zeile 429: Zeile 387:
     * ALU     * ALU
   * RAM-Arten und Unterschiede   * RAM-Arten und Unterschiede
-  * Eigenschaften/​Unterscheidung/​Vor-/​Nachteile SAN und NAS+  * Eigenschaften/​Unterscheidung/​Vor-/​Nachteile ​DAS, SAN und NAS
   * Unterschied Stack/Heap   * Unterschied Stack/Heap
   * Abkürzungen und Bedeutung kennen: sATA, AGP, PCI, ISA, IDE, SCSI, SAS, USB, RAID, TFT, TCO, CRT, USV, SSD   * Abkürzungen und Bedeutung kennen: sATA, AGP, PCI, ISA, IDE, SCSI, SAS, USB, RAID, TFT, TCO, CRT, USV, SSD
Zeile 449: Zeile 407:
     * Vor-/​Nachteile der einzelnen Verfahren     * Vor-/​Nachteile der einzelnen Verfahren
   * mögliche Aufgaben   * mögliche Aufgaben
-    * passende Komponenten für einen (Datenbank-/​File-)Server oder Workstation (z.B. CAD, Office) auswählen ​   +    * passende Komponenten für einen (Datenbank-/​File-)Server oder Workstation (z.B. CAD, Office) auswählen
     * PCs für bestimmte Anforderungen aus Komponenten zusammenstellen     * PCs für bestimmte Anforderungen aus Komponenten zusammenstellen
   * Green IT   * Green IT
Zeile 473: Zeile 431:
     * Hacker, Cracker, Script-Kiddies     * Hacker, Cracker, Script-Kiddies
     * Phishing, Sniffing, Spoofing, Man-in-the-Middle     * Phishing, Sniffing, Spoofing, Man-in-the-Middle
-    * SQL-Injection,​ XSS, CSRF, Session Hijacking, DoS, DDoS    +    * SQL-Injection,​ XSS, CSRF, Session Hijacking, DoS, DDoS
     * Viren, Würmer, Trojaner, Hoax, Spyware, Dialer     * Viren, Würmer, Trojaner, Hoax, Spyware, Dialer
     * Verbreitung von Viren/​Würmer/​Trojaner erläutern     * Verbreitung von Viren/​Würmer/​Trojaner erläutern
Zeile 504: Zeile 462:
   * Ermittlung von Umsatz/​Provision/​Deckungsbeitrag/​Kosten/​Gewinn   * Ermittlung von Umsatz/​Provision/​Deckungsbeitrag/​Kosten/​Gewinn
   * Zahlungsverzug   * Zahlungsverzug
-    * Definition, Gründe, Konsequenzen ​ +    * Definition, Gründe, Konsequenzen
     * Rechtsgrundlage/​Definition für Zahlungsverzug     * Rechtsgrundlage/​Definition für Zahlungsverzug
   * Möglichkeiten zum Umgang mit Liquiditätsengpässen   * Möglichkeiten zum Umgang mit Liquiditätsengpässen
Zeile 605: Zeile 563:
   * CSMA/CD, Token   * CSMA/CD, Token
   * VLAN   * VLAN
 +    * statisch/​dynamisch,​ tagged/​untagged
   * VoIP, QoS, SIP   * VoIP, QoS, SIP
   * Authentifizierung vs. Autorisierung   * Authentifizierung vs. Autorisierung
Zeile 640: Zeile 599:
     * Klassenbeziehungen:​ Assoziation,​ Aggregation,​ Komposition     * Klassenbeziehungen:​ Assoziation,​ Aggregation,​ Komposition
   * Software-Architektur   * Software-Architektur
-    * MVC, 3-Tier+    * Layers/​Schichten/​3-Tier, MVC, MVVM, SOA, Microservices,​ REST, Pipes and Filters, Monolith 
 +    * Zustandslosigkeit,​ lose Kopplung
   * Bottom-Up- und Top-Down-Verfahren bei der Modellierung erläutern   * Bottom-Up- und Top-Down-Verfahren bei der Modellierung erläutern
   * Funktion/​Vorteile der Modularisierung von Programmen   * Funktion/​Vorteile der Modularisierung von Programmen
-  * wichtige UML-Diagramme (UseCase-, Klassen-, Sequenz-, Aktivitätsdiagramm,​ Zustandsautomaten) kennen und Einsatzgebiete erläutern+  * wichtige UML-Diagramme (UseCase-, Klassen-, Sequenz-, Aktivitätsdiagramm,​ Zustandsautomaten, Komponentendiagramm,​ Verteilungsdiagramm) kennen und Einsatzgebiete erläutern
   * Design Patterns kennen/​erklären   * Design Patterns kennen/​erklären
-    * Singleton, Observer, Factory, Adapter, MVC, Iterator, Strategy, Decorator, Template Method, Registry+    * Singleton, Observer, Factory, Adapter, Iterator, Strategy, Decorator, Template Method, Registry, MVC
   * Methoden zur Dokumentation   * Methoden zur Dokumentation
   * Eigenschaften eines Versionsverwaltungssystems beschreiben   * Eigenschaften eines Versionsverwaltungssystems beschreiben
Zeile 652: Zeile 612:
   * Continuous Integration/​Deployment   * Continuous Integration/​Deployment
   * Entwicklungsprozesse   * Entwicklungsprozesse
-    * Wasserfall, V-Modell (XT), Spiralmodell, ​agile Prozesse+    * Wasserfall, V-Modell (XT), Spiralmodell, ​Scrum, Extreme Programming,​ Kanban
   * mögliche Aufgaben   * mögliche Aufgaben
     * gegebene Klassen in ein Klassendiagramm eintragen (inkl. Beziehungstypen und Kardinalitäten)     * gegebene Klassen in ein Klassendiagramm eintragen (inkl. Beziehungstypen und Kardinalitäten)
Zeile 658: Zeile 618:
     * Use-Case-Diagramm erstellen     * Use-Case-Diagramm erstellen
   * Anforderungen durch Mobilgeräte   * Anforderungen durch Mobilgeräte
 +    * Offline-Fähigkeit,​ Deployment auf mehrere Plattformen,​ verschiedene Programmiersprachen,​ native Apps vs. HTML5/​JavaScript,​ geringe Bandbreiten,​ kleine Auflösungen
 +  * Richtlinien bei der Gestaltung von Programmoberflächen
 +      * Aufgabenangemessenheit,​ Selbstbeschreibungsfähigkeit,​ Lernförderlichkeit,​ Steuerbarkeit,​ Erwartungskonformität,​ Individualisierbarkeit,​ Fehlertoleranz (siehe [[http://​de.wikipedia.org/​wiki/​EN_ISO_9241#​EN_ISO_9241-110_Grunds.C3.A4tze_der_Dialoggestaltung|EN ISO 9241-110 Grundsätze der Dialoggestaltung]])
  
 == Programmierung == == Programmierung ==
-  * Programmierparadigmen (OO, strukturiert,​ prozedural, funktional, ​deklarative etc.)+  * Programmierparadigmen (OO, strukturiert,​ prozedural, funktional
 +  * Eigenschaften funktionaler Programmierung:​ Higher Order FunctionsImmutability,​ Tail Call Optimization,​ Pattern Matching, Fokus auf Rekursion 
 +  * Typisierung:​ stark vsschwach, statisch vs. dynamisch 
 +  * Klassifizierung von Programmiersprachen anhand von Typisierung,​ Paradigma, Compiler/​Interpreter,​ Abstraktionsniveau,​ C-ähnlich oder nicht 
 +  * deklarativ vs. imperativ
   * Unterschied Interpreter/​Compiler   * Unterschied Interpreter/​Compiler
   * 3GL/4GL   * 3GL/4GL
Zeile 668: Zeile 635:
   * Unterschied syntaktische/​semantische Fehler   * Unterschied syntaktische/​semantische Fehler
   * Benutzereingaben sinnvoll validieren   * Benutzereingaben sinnvoll validieren
-  * Vorteile generischer Container (Templates in C++) gegenüber Arrays+  ​* Generische Klassen 
 +    ​* Vorteile generischer Container (Templates in C++) gegenüber Arrays
   * Unterschied statische/​nicht-statische Methoden ​   * Unterschied statische/​nicht-statische Methoden ​
   * Kontrollstrukturen   * Kontrollstrukturen
Zeile 699: Zeile 667:
     * Black-/​Whiteboxtest,​ Anweisungsüberdeckung/​Zweigüberdeckung     * Black-/​Whiteboxtest,​ Anweisungsüberdeckung/​Zweigüberdeckung
     * Komponenten-,​ Integrations-,​ Systemtest     * Komponenten-,​ Integrations-,​ Systemtest
 +    * exploratives Testen, Smoketest
   * Maßnahmen zur Qualitätssicherung (Audits, Reviews, Testmethoden)   * Maßnahmen zur Qualitätssicherung (Audits, Reviews, Testmethoden)
  
job/fiae.txt · Zuletzt geändert: 2015-11-21 12:05 von stefan