de it fr

223 Multi-User-Applikationen objektorientiert realisieren

Modul
Multi-User-Applikationen objektorientiert realisieren
Kompetenz
Multi-User-Applikation objektorientiert entwerfen, erforderliche Datenbankanpassungen vornehmen und Applikation implementieren, testen und dokumentieren.
Handlungsziele
1 Einschätzen, ob eine Datenbank die Anforderungen der Multi-User-Fähigkeit erfüllt und allfällige Anpassungen dokumentieren.
  Handlungsnotwendige Kenntnisse:
1 Kennt Anforderungen an das Datenbankmanagement-System bezüglich Multi-User-Fähigkeit.
2 Kennt Aspekte bei der Datenmodellierung, welche die Multi-User-Fähigkeit ermöglichen.
 
2 Applikation entwerfen und mittels Transaktionen Multi- User-Fähigkeit sicherstellen.
  Handlungsnotwendige Kenntnisse:
1 Kennt die prinzipiellen Unterschiede zwischen Geschäftsobjektmodell und relationalem Datenmodell .
2 Kennt wichtige Architekturvarianten und -konzepte (Client/Server, Multi-Tier, Middleware, Framework, Klassenbibliothek).
3 Kennt die Umsetzung einer objekt-relationalen Abbildung eines Geschäftsobjektmodells und deren Spezifikation mittels UML (Klassendiagramm, Sequenzdiagramm).
 
3 User Interfaces, Datenbankanpassungen und Transaktionen implementieren.
  Handlungsnotwendige Kenntnisse:
1 Kennt spezifische Elemente für die Umsetzung von Multi-User-fähigen Benutzerschnittstellen (z.B. Profil, unterschiedliche Benutzersichten, Berechtigungskonzept, usw.).
2 Kennt Möglichkeiten ein mehrbenutzer-fähiges Rechtemanagement zu implementieren.
3 Kennt Möglichkeiten um Transaktionen im DBMS sicherzustellen.
4 Kennt Möglichkeiten um Transaktionen in der Applikation zu implementieren.
5 Kennt relevante Techniken für die Implementation einer Persistenzschicht.
 
4 Testspezifikation für funktionale und nicht-funktionale Aspekte der Multi-User-Fähigkeit definieren, Applikation testen und Tests protokollieren.
  Handlungsnotwendige Kenntnisse:
1 Kennt relevante Aspekte, welche bei der Testspezifikation einer Muli-User-Applikation zu berücksichtigen sind.
2 Kennt ein Vorgehen, um nicht-funktionale Anforderungen zu testen.
 
5 Transaktionen dokumentieren und dabei auf Wartbarkeit und Nachvollziehbarkeit achten.
  Handlungsnotwendige Kenntnisse:
1 Kennt Möglichkeiten zur Dokumentation von Transationen um DBMS und in der Applikation.
 
Kompetenzfeld
Application Engineering
Objekt
Multi-User-Applikation mit transaktionsfähiger Datenbank.
Niveau
4
Voraussetzung
Datenmodelle entwickeln und umsetzen Objektorientiert entwerfen und implementieren
Anzahl Lektionen
40
Anerkennung
Eidg. Fähigkeitszeugnis
Publiziert: 07.06.2014 17:15:41
Titel LBV Modul 223-1 - 3 Elemente - Schriftliche Einzelprüfung / Schriftlicher Test, Fallstudie, Praktische Umsetzungsarbeit
Institution ZLV MINT
Übersicht Beurteilung der Handlungsnotwendigen Kenntnisse am Schluss des Moduls.
Ergänzung

Teil 1
Gewichtung 25%
Richtzeit (Empfehlung) 1
Element-Beschreibung Beantwortung von Fragen zu Merkmalen und Voraussetzungen von Multiuser-Applikationen und Anforderungen an das DBMS.
Hilfsmittel Kursunterlagen.
Eigene Notizen.
Bewertung Persistenz und Transistenz. 25%
Grundlegende Merkmale einer Multiuser-fähigen Applikation. 15%
Transaktionsverwaltung (ACID-Eigenschaftgen) eines DMBS. 35%
Nutzen/Ziel von Entwurf und Architektur in der Softwareentwicklung. 25%
Praxisbezug Die Teilnehmer kennen die wichtigsten Begriffe und Definitionen aus dem Umfeld der objektorientierten Entwicklung von Multiuser-fähigen Applikationen.

Teil 2
Gewichtung 50%
Richtzeit (Empfehlung) 1
Element-Beschreibung Anhand einer Situationsbeschreibung wird ein Fachproblem analysiert und danach werden Lösungsvarianten (Architekturmuster) für die Entwicklung einer Multiuser-Applikation erarbeitet und beurteilt.
Hilfsmittel Kursunterlagen.
Eigene Notizen.
Bewertung Analyse: Akteure und Anforderungen identifizieren. 25%
Analyse: Statisches Analysemodell (Fachklassen) erstellen. 25%
Design: Architekturvarianten entwerfen und beurteilen. 35%
Test: Überprüfen, ob das Design den nicht-funktionalen Anforderungen genügt. 15%
Praxisbezug Die Teilnehmer analysieren ein Fachproblem und identifizieren die involvierten Akteure sowie die funktionalen und nicht-funktionalen Anforderungen an die zu entwickelnde Multiuser-Applikation.
Die Teilnehmer erstellen ein statisches Geschäftsmodell (Klassendiagramm) .
Die Teilnehmer entwerfen auf Basis der Analyse geeignete Architekturvarianten und beurteilen diese.
Die Teilnehmer überprüfen, ob eine bestimmte Architekturvariante die nicht-funktionalen Anforderungen zu erfüllen vermag.

Teil 3
Gewichtung 25%
Richtzeit (Empfehlung) 1
Element-Beschreibung Es werden zwei neue Anforderungen an eine bestehende Fachkomponente implementiert.
1. Erweiterung einer bestehenden Entitätsklasse um eine neue Eigenschaft inkl. der zugehörigen Datenbanktabelle (neue Spalte) / Anpassung des bestehenden GUI (Anzeige der neuen Eigenschaft).
2. Erweiterung einer bestehenden Controller-Klasse / Implementation einer neuen Methode.
Hilfsmittel Kursunterlagen.
Eigene Notizen.
Eine geeignete Entwicklungsumgebung.
Ein geeignetes Datenbank-Management Tool.
Bewertung Datenbankanpassungen. 10%
Anpassungen am GUI. 20%
Erweiterung einer Fachklasse. 60%
Code kommentieren. 10%
Praxisbezug Die Teilnehmer nehmen Anpassungen an einer bestehenden Datenbank vor.
Die Teilnehmer implementieren neue Anforderungen an eine bestehende Fachkomponente (dll).
Die Teilnehmer implementieren eine Methode, die nach dem Alles-oder-Nichts Prinzip Datenbanktransaktionen ausführt.
Die Teilnehmer erweitern ein bestehendes GUI um zusätzliche Ausgabefelder.
Publiziert: 11.12.2015 11:13:21
Ablaufdatum: Kein Ablaufdatum
Titel LBV Modul 223-2 - 1 Elemente - Praktische Umsetzungsarbeit
Institution Roche Diagnostics International AG
Übersicht Eine Anwendung für mehrer Benutzer objektorientiert entwerfen, erforderliche Datenbankanpassungen vornehmen und Applikation implementieren, testen und dokumentieren.
Ergänzung

Teil 1
Gewichtung 100%
Richtzeit (Empfehlung) 3
Element-Beschreibung Teilnehmer können eine Aufgabenstellung analysieren und daraus die Anforderungen für eine Datenbank hinsichtlich der Mehrbenutzeranforderungen ableiten.
Sie können eine Anwendung und deren Benutzerinterface implementieren, welche die Mehrbenutzeranforderungen erfüllt. Das Benutzerinterface passt sich dem jeweiligen Benutzer an.
Sie können in einer Anwendung eine Transaktion korrekt implementieren und sowohl auf den Erfolgs- als auch auf den Fehlerfall reagieren.
Sie können Testspezifikationen erstellen, welche die Mehrbenutzeranforderungen überprüft und deren korrekte Implementation sicherstellt.
Sie können Transaktionen dokumentieren
Hilfsmittel Kursdokumentation
Eigene Dokumentation mit Codebeispielen
Eingebaute Hilfe der Entwicklungsumgebung
Bewertung Analyse der Anforderungen hinsichtlich Mehrbenutzeranforderungen 10%
Benutzerinterfaceanpassungen für mehrere Benutzer implementieren 20%
Mehrbenutzeranforderungen und deren Fehlerbehandlung implementieren 20%
Transaktionen und deren Fehlerbehandlung implementieren 20%
Testspezifikation schreiben und Tests durchführen 20%
Tests durchführen 10%
Praxisbezug Eine Anwendung für mehrer Benutzer objektorientiert entwerfen.
Erforderliche Datenbankanpassungen für Mehrbenutzer vornehmen.
Applikation implementieren, testen und dokumentieren.
Publiziert: 04.02.2016 11:32:37
Ablaufdatum: Kein Ablaufdatum
Titel LBV Modul 223-3 - 3 Elemente - Mündliche Prüfung, Schriftliche Einzelprüfung / Schriftlicher Test, Praktische Umsetzungsarbeit
Institution Santis Training AG
Übersicht Kenntnisse, welche notwendig sind, um ein Web-basiertes Programm objektorientiert zu realisieren, werden anhand eines Mikro-Projektes trainiert. Dabei wird typischerweise ein Web-Framework benutzt. Hierbei ist nicht vorgegeben, welches Framework verwendet werden soll. Es darf sich im Bereich von einfachen vorgegebenen PHP-Klassen bis zu spezialisierten Frameworks wie "primefaces" oder höher bewegen. Die Vorgaben sollten mindestens jedoch eine Anbindung der Formularelemente an die Objekt-Properties bereits mit sich bringen. Die von den Anwendern gemeinsam genutzten Daten sollen in einer Datenbank gespeichert werden. Das Sicherstellen der Transaktionen soll selbst implementiert werden. Dies kann via SQL-Rollback, vom Framework zur Verfügung gestellten Mechanismen aber auch via Synchronisierung von betroffenen Methoden der verwendeten Programmiersprache umgesetzt werden. Insbesondere müssen «Multi-User»-Aspekte berücksichtigt werden. Dabei in erster Linie die Gleichzeitigkeit der Zugriffs. Ebenso soll ein Login (Authentifizierung) und eine Rollenvergabe (Autorisierung) implementiert werden. Dabei wird Wert auf die Sicherheit der Authentifizierung gelegt (z. B. «keine Passwörter auf dem Server ablegen»). Zur Sicherheit der Applikation soll zudem sogenannten Injections vorgebeugt werden. Dies kann z. B. durch Prepared-Statements umgesetzt werden. Zu den nicht-funktionalen Anforderungen gehört die Performance, welche in den Testfällen durch Maximale Antwortzeiten dokumentiert werden muss.
Ergänzung Die Detailbeschreibung ist eine Zusammenfassung der Handlungsziele der Version 3.0 des Moduls 223.

Teil 1
Gewichtung 17%
Richtzeit (Empfehlung) 1
Element-Beschreibung In einem Einzelgespräch werden Fragen zur technischen Umsetzung und zum produktiven Anteil am Produkt der Teilnehmerin bzw. des Teilnehmers gestellt.
Es wird geprüft, ob die/der Lernende die in ihrem Programm eingesetzten Techniken und Architekturen kennt (Beispiele: n-Tier, MVC, Trennung der Verantwortlichkeiten, relationale Datenbank, Data Access Objects, Beans / POJO (Plain old Java Objects), Connection Pooling, CSS: Trennung View / Struktur, Singleton).

Die/der Lernende muss in der Lage sein, das ERD seiner eigenen umgesetzten Lösung aufzuzeichnen und die Beziehungen zwischen den Relationen zu benennen (1:1, 1:n). Ebenso sollen vom zugehörigen ERM die gewählten Datentypen genannt und begründet werden können.

Zudem soll die Teilnehmende bzw. der Teilnehmer in der Lage sein, wichtige Aspekte einer generellen Multi-User-Weblösung aufzuzählen. Insbesondere:
* Gleichzeitigkeit (Transaktion, Session-Handling)
* Verfügbarkeit
* Sicherheit (Login, Hashing der Passwörter)
* Seitenfluss (Rechte, Seitenflusssteuerung)
Hilfsmittel Leeres A4-Blatt
Schreiber
Bewertung Für jede korrekte Antwort erhält die/der Teilnehmende einen Punkt. Für jede Falschantwort wird wieder ein Punkt abgezogen. Für die volle mögliche Punktzahl erhält die Person, deren Leistung zu beurteilen ist, die Note 6. Das Einzelgespräch wird nur auf halbe Noten (0.5) genau angegeben.

Die mündliche Prüfung sollte nicht länger als ca. 15-25 Minuten dauern.
Praxisbezug Der produktive Anteil an der Geramtlösung der Teilnehmerinnen und Teilnehmer wird im Einzelgespräch eruiert.
Das nötige technische Verständnis wird durch gezielte Fragen in Erwägung gebracht.

Teil 2
Gewichtung 50%
Richtzeit (Empfehlung) 1
Element-Beschreibung In einer schriftlichen Prüfung wird das Wissen über technische Vorgehensweisen und Syntaxelemente des verwendeten Software-Gerüstes (Frameworks) bewertet.
Hilfsmittel Persönliche Notizen zusammengefasst auf einer A4-Seite.
Abgegebene Unterlagen: Skript.
Bewertung Von mindestens fünf der folgenden Themen sollte theoretisches Wissen abgefragt werden, um die allgemeingültigen Begriffe zu festigen.

Syntax des Frameworks
Datenvalidierung
GET/POST (Unterschiede / Probelmatiken)
User-Interface
Sicherheit
Hashing
Datenbankanbindung
Transaktion
Connection-Pooling
Data-Access-Objects oder andere Art des OR-Mappings
Praxisbezug Grundlegende Kenntnisse einer Syntax eines Web-Frameworks
Verwenden der korrekten Begriffe im Teamwork (Kommunikation)

Teil 3
Gewichtung 33%
Richtzeit (Empfehlung) 25
Element-Beschreibung Erstellen einer Multi-User Weblösung vermittelst objektorientiertem Web-Framework nach Vorgabe.
Hilfsmittel Unterlagen
Internet Recherche
Kommunikation im Team und im Klassenverband
Versionskontrolle
Server-seitige Web-Frameworks, welche zur Unterstützung Client-seitige Elemente aufweisen dürfen
Datenbankserver
Entwicklungsumgebung
Bewertung Wurden die Resultate in geforderter Form abgegeben? 3% - 5%

Wurden die vorgegebenen Use Cases implementiert und erfüllen diese die funktionalen Anforderungen aus der Anforderungsspezifikation? 30%-45%

Erfüllt das Programm die nicht-funktionalen Anforderungen wie Einheitlichkeit oder Skalierbarkeit aus der Anforderungsspezifikation? 5%-15%

Wurde der Quellcode wo unbedingt notwendig mit Kommentaren versehen? Sinnvolle Namensgebung gibt mehr Punkte. 5%-10%

Architektur und Aufbau: Ist eine saubere Trennung der Schichten in der Architektur und im Code erkennbar; Wurden geeignete Entwurfsmuster eingesetzt; Ist die Implementation sauber und nachvollziehbar dokumentiert und kommentiert? 20%-35%

Wurde die Lösung strukturiert und ausreichend getestet und bei Bedarf entsprechende Massnahmen geplant oder vorgenommen? 5%-15%

Entspricht der Umfang der zur Verfügung gestellten Zeitspanne? 3%-10%

Optional: Wurden nicht verlangte sinnvolle Erweiterungen eingebaut? 3%-10%
Praxisbezug Sensitivität gegenüber Web-Sicherheit
Fähigkeit, ein Programm an eine Datenbank anzubinden (eg. «Embedded SQL»)
OR-Mapping in größerem Programm umsetzten
Publiziert: 08.07.2016 13:34:26
Ablaufdatum: Kein Ablaufdatum
Titel LBV Modul 223-4 - 2 Elemente - Praktische Umsetzungsarbeit, Praktische Umsetzungsarbeit
Institution Zürcher Lehrbetriebsverband ICT (ZLI)
Übersicht Beurteilung der Handlungsnotwendigen Kenntnisse am Schluss des Moduls.
Ergänzung

Teil 1
Gewichtung 50%
Richtzeit (Empfehlung) 20
Element-Beschreibung Es werden die Anforderungen an die Multiuser-Applikation den Teilnehmenden als Unit-Tests zur Verfügung gestellt. Die erstellte Applikation soll gemäss Test-Driven-Development umgesetzt werden.
Hilfsmittel Kursunterlagen.
Eigene Notizen.
Eine geeignete Entwicklungsumgebung.
Ein geeignetes Datenbank-Management Tool.
Vorgegebenes Front-End Template.
Bewertung TDD: Umsetzung und Abdeckung der Unit-Tests. 25%
Code-Coverage durch Unit-Tests. 25%
Umsetzung und Abdeckung der NF-Anforderungen. 25%
Berücksichtigung von relevanten Pattern. 25%
Praxisbezug Die Teilnehmenden implementieren eine Applikation gemäss Anforderungen. Sie sorgen für eine möglichst hohe Wartbarkeit durch eine hohe Code-Coverage und erfüllen die Vorgaben zu relevanten Pattern und Code-Guidelines.

Teil 2
Gewichtung 50%
Richtzeit (Empfehlung) 4
Element-Beschreibung Anhand einer Situationsbeschreibung wird ein Fachproblem analysiert und danach werden Lösungsvarianten (Architekturmuster) für die Entwicklung einer Multiuser-Applikation erarbeitet.
Hilfsmittel Kursunterlagen.
Eigene Notizen.
Notifikations-Tools (z.B.: Visio, UMLet o.ä.).
Bewertung Analyse: Akteure und Anforderungen identifizieren. 25%
TDD: Erstellen von entsprechenden Unit-Tests. 25%
Analyse: Statisches Analysemodell (Fachklassen) erstellen. 25%
Analyse: Dynamisches Analysemodell abbilden. 25%
Praxisbezug Die Teilnehmer analysieren ein Fachproblem und identifizieren die involvierten Akteure sowie die funktionalen und nicht-funktionalen Anforderungen (Unit-Tests) an die zu entwickelnde Multiuser-Applikation.
Die Teilnehmer erstellen ein statisches Geschäftsmodell (Klassendiagramm).
Die Teilnehmer führen die erstellten Unit-Tests in ihrer entwickelten Applikation aus (dynamisches Analysemodell).
Publiziert: 25.08.2016 07:15:45
Ablaufdatum: Kein Ablaufdatum
Zurück