| home | suche | kontakt/johner | institut | hinweise studierende | tech-docs | blog | mindmailer |
![]() |
Übersicht
2012-01-27: Persistenz, Klausurvorbereitung
Inhalt
- Persistenz, O/R Mapping
- JDBC
- Hibernate
- Klausurvorbereitung
Unterlagen
- Vorlesungsmitschrieb
- Beispielcode
- Klausur (Mindmap)
- TechDocs JDBC
- TechDocs Hibernate (empfohlene Quelle, vollständiger Code)
Fragen
- Wie kann man eine 1:1 Beziehung in einer relationalen Datenbank abbilden?
- Wie kann man eine Klasse Student in einer Datenbank speichern, wenn der Student die Attribute name: String, matrikelnummer: int und adresse:Adresse hat, wobei der Datentyp Adresse aus einer plz:int und einem ort:String besteht?
- Wie bildet man Vererbungsbeziehungen in Datenbanken ab? Diskutiere die Vor- und Nachteile von drei verschiedenen Optionen.
- Was ist eine JDBC-ODBC-Bridge? Was ist ein Treiber der Klasse 4?
- Nenne drei wichtige Java-Klassen, um Objekte in Datenbanken zu speichern, zu ändern und abzufragen
- Nenne die wichtigsten SQL Datentypen. Wie kann man diese auf die Java-Datentypen abbilden?
- Welchen Vorteil sehen Sie beim Einsatz von Hibernate mit Annotations?
- Was müssen Sie machen, um eine Klasse mit Hibernate zu persistieren?
- Welche vorbereitenden Schritte sind notwendig zum Einrichten der Datenbank (-verbindung)?
- Welche Rolle spielt dabei unsere Klasse HibernateSessionFactory? Welche die Datei hibernate.cfg.xml?
- Welche Annotationen benötigen Sie?
- Wie sieht der Code aus, mit dem eine annotierte Klasse gespeichert wird?
- Mit welchen Annotationen werden 1:n Beziehungen abgebildet?
- Wie wird Vererbung realisiert? Wie werden die verschiedenen Strategien (eine, zwei oder drei Tabellen) erreicht?
2012-01-13/20: Testing
Inha
- Modultests
- Werkzeuge: Clover, JUnit
- Integrationstests, Integrationsstrategien
- Systemtests
- Akzeptanztests
Unterlagen
- Webbased Training zum Software-Testen (benötigt Flash)
Fragen
- Was sind Qualitätskriterien guter Software?
- Wie erreicht man diese Software-Qualität außer durch Testen?
- Wer testet was mit welchen Werkzeugen welches ISO9126-Kriterium bei
- Modultests
- Integrationstests
- Systemtests
- Akzeptanztests
- Ordne diese Tests in das V-Modell ein
- Was wird bei Reviews geprüft? Wer prüft?
- Was ist die Methode der Äquivalenzklassen? Wann setzt man diese Methode ein?
- Beschreibe Tests mit Äquivalenzklassen, Grenzwertanalyse, fehlerbasiertem Testen auch anhand von Beispielen
- Welche Integrationsstrategien kennen Sie? Welche Nachteile und Vorteile haben sie?
- Wie unterscheiden sich Last- und Stresstests?
- Welche weiteren Teststrategien wendet man beim Systemtest an?
- Was sind Black- und Whitebox-Tests? Nennen Sie Beispiele
- Was sind statische und dynamische Tests? Nennen Sie Beispiele
Hinweise zur Klausur: Sie sollten in der Lage sein,
- für ein Stück einfachen Programmcode, den Programmgraf zu zeichnen
- für einen gegebenen Programmgraf die zyklomatische Komplexität zu berechnen
- Testfälle (Parameter) zu spezifizieren, damit ein gegebenes Programm mit 100% Anweisungs- oder Zweigabdeckung bzw. mit 100% Einfach-/Mehrfachbedingungsabdeckung getestet wird
- Werkzeuge zum Testen zu benennen
- zu beschreiben, welches ISO 9126 Kritierium in welcher Teststufe getestet wird
- für ein einfaches Beispiel das Testen mit Äquivalenzklassen zu erläutern.
2012-01-13/20: Buildmanagement mit Maven
Inhalt
- Buildmanagement
- Versionsmanagement
- Konfigurationsmanagement
Unterlagen
- Vorlesungsmitschrieb (13.1.)
- Vorlesungmitschrieb (20.1.)
- Beispiel-Code (eigener ANT-Task)
Fragen
- siehe Fragen letzte Stunde
- Wie unterscheidet sich Maven von ANT?
- Was definiert die pom.xml?
- Wo ist festgelegt, von wo Maven referenzierte Bibliotheken herunterlädt?
- Was die die Aufgaben folgender Server?
- Build-Sever
- Versionsverwaltung
- Repository-Server
- Testserver
- Nenne je ein Beispiel für ein Produkt für jede dieser Server
2011-12-23: Build- und Versionsmanagement
Inhalt
- Buildmanagement
- Versionsmanagement
Unterlagen
Fragen
- Welche Gründe sprechen für ein Buildmanagement
- Was ist ein Build?
- Welche Artefakte fließen in einen Build ein?
- Welche Artefakte können das Ergebnis eines Builds sein?
- Welche Tätigkeiten müssen dabei ausgeführt werden?
- Wie heißen die ANT-Tasks, um
- Verzeichnisse anzulegen
- Dateien zu kompilieren
- JUnit-Tests durchzuführen
- JUnit-Tests zu dokumentieren
- JavaDocs zu erstellen?
- Wie definiert man in ANT Variablen, welche beispielsweise einen Pfad enthalten?
- Wie legt man die Reihenfolge fest, in der ANT-Tasks aufgeführt werden?
- Wie erstellt man einen eigenen ANT-Task?
- Was ist die Aufgabe eines Versionsverwaltungssystems?
- Was versteht man unter den Begriffen
- Commit
- Merge
- Head
- Release
- Tag
- Branch
- Update
- Wie unterscheidet sich Maven und ANT, welche Gemeinsamkeiten haben sie?
- Wann erzeugt man einen neuen Branch (Zweig)? Weshalb sollte man nur sparsam neue Zweige anlegen?
- Wobei sind Tags nützlich?
- Was passiert, wenn zwei Entwickler an der gleichen Datei arbeiten und die Datei wieder ins Versionsverwaltungssystem (Repository) zurückschreiben?
2011-12-16: Requirements-Engineering II, BPMN
Inhalt
- Abschluss Requirements-Engineering
- BPMN
Unterlagen
- Vorlesungsmitschrieb (wieder auf /Merkur/Lehre/Johner/SOTE2)
Fragen
- Wie überführt man Nutzungsanforderungen in Systemanforderungen?
- Welche Notationselemente kennt BPMN?
- Wo müssen Nachrichtenflüsse, wo Sequenzflüsse modelliert sein?
- Welche Events dürfen keine Ereignisse fangen, welche keine werfen?
- Welchen Gateway-Typ wählen Sie, um auf alle durchlaufenen Kanten bei einem aufgezweigten Prozessfluss zu warten?
- Welche Notationselemente dürfen/müssen nach Inklusive-Gateways und welche nach Event-Gateways kommen?
- Worin unterscheiden sich embedded und reusable Subprozesse?
- Im Rahmen eines Prozesses soll ein Anwender Daten in ein System eingeben. Welchen Aktivitätstyp wählen Sie?
- Welche Typen von Ereignissen bezeichnen ausgefüllte Symbole?
2011-12-09: Requirements-Engineering
Inhalt
- Requirements-Engineering
- Probleme durch mangelhaftes RE
- Definitionen und Erheben von Anforderung
- Kontext-Analyse
Unterlagen
- Der Vorlesungsmitschrieb findet sich auf Merkur. Bitte halten Sie die Unterlagen vertraulich!
Fragen
- Welche Probeme treten auf, wenn man Anforderungen nicht systematisch erhebt?
- Weshalb kann/soll man nicht einfach die Anwender fragen, was sie sich wünschen?
- Wer sind mögliche Stakeholder in einem Projekt? Wie kann man diese beschreiben?
- Beschreibe den Prozess des Erhebens von Anforderungen
- Wie lassen sich die Ergebnisse dieses Prozesses dokumentieren?
- Wie formuliert man Erfordernisse und Anforderungen? Wie unterscheiden sich beide?
- Wie lassen sich das Ergheben der Erfordernisse, der Nutzungsanforderungen der Nutzungsszenarien den Phasen des V-Modells zuordnen?
- Erfordernisse, Nutzungsanforderungen, Beschreibung der Nutzungsszenarien, Spezifikation der GUI: Welche dieser Punkte beschreiben Sie im Lasten- welche im Pflichtenheft?
- Welche Arten von Anforderungen lassen sich mit der Kontextanalyse ableiten, welche nicht?
- Mit welchen Leitfragen können die Qualität von Erfordernissen und Nutzungsanforderungen prüfen?
- Welche Fragen stellt man in einem Kontextinterview den Vertretern der Benutzerrollen? Welche nicht?
- Was kann ein Anwender an einem System aus Sicht des Requirements-Enginnerings "machen"?
Tipp: Regelmäßiges Üben mit dem Mindmailer hilft Ihnen, den Stoff schnell und nachhaltig zu wiederholen und bei gleichem oder gar niedrigerem Lernstress eine bessere Klausur zu schreiben.
2011-12-02: PHP-Klassen, Entwicklungsprozesse
Inhalt
- PHP: Klassen
- Entwicklungsprozesse
Unterlagen
Fragen
- Wie schreibt man in PHP eine Klasse? Wie importiert man diese in eine andere? Wie instanziert man Klassen?
- Wie gestaltet man in PHP Vererbungsbeziehungen und Interfaces?
- Erläutern Sie die Phasen des V-Modells. Wie unterscheidet es sich vom Wasserfallmodell? Wieviele Prozent der Projektzeit entfallen in etwa auf die Implementierung?
- Was sind die Kerncharakteristiken agiler Prozesse und des RUPs?
- Bescheibe die Begriffe Scrum, Backlog, Sprint
- Was sind die Kerncharakteristiken des XPs und des RUPs?
- In welche Phasen dieser Prozesse wird die Software getestet?
2011-11-25: PHP
Inhalt
- PHP
Unterlagen
Fragen
- Mit welcher Java-Technologie ist PHP am ehesten vergleichbar?
- Was benötigt man, um eine PHP-Anwendung zu betreiben?
- Wie definiert man in PHP
- einen PHP-Block?
- eine Variable?
- ein Array?
- eine globale Variable?
- Welche globalen Variablen sind bereits definiert?
- Wie iteriert man über ein Array?
- Wie unterscheiden sich Strings in doppelten und einfachen Anführungszeichen?
- Wie startet man eine Session? Wie greift man auf darin gespeicherte Werte zu? Wie speichert man Werte in einer Session?
2011-11-18: JSTL, eigene Tag Libs
Inhalt
- JSTL
- Custom Tag Libraries
Unterlagen
Fragen
- Welchen Nachteil von JSP-Seiten hilft die JSTL zu beheben?
- Welchen Sprachumfang hat die JSTL?
- Beschreibe, wie man eine eigene Tag-Library entwickelt
2011-11-11: JSP
Inhalt
- JSP
Unterlagen
Fragen
- Was haben JSPs und Servlets gemeinsam? Was unterscheidet beide?
- Welche Skriptelemente kennen JSPs?
- Welchen Scriplet-Code kürzt <%= ...%> ab?
- Was sind "implizite Objekte" bei JSPs? Welche kennen Sie?
- Wie definiert man "klassenweite" Attribute? Wie definiert man import und implements?
- Worin unterscheiden sich <%@ import file="..."%> von <jsp:include page="..."/>?
2011-11-04: Servlet, AJAX
Inhalt
- Servlets II
- AJAX
Unterlagen
Fragen
- Was passiert mit einem Servlet, wenn es einen Request bearbeitet hat?
- Wozu dienen die Methoden init() und destroy()?
- Unter welcher URL ruft man im Browser ein Servlet auf, das in einem Eclipse-Projekt angelegt wird?
- Wie betreibt man eine Webanwendung (mit Servlets) außerhalb von Eclipse?
- Wie kann man den Client und dessen Daten/State wiedererkennen, obwohl HTTP ein zustandsloses Protokoll ist? Wie realisiert man diese Lösung mit Servlet?
- Was ist AJAX? Welche Technologien setzt es ein?
- Welche Vorteile hat einer AJAX-Anwendung? Welche Voraussetzungen benötigt AJAX? Welche Nachteile bringt es mit sich?
- Stimmen der HTML-Code, den man sich über Ansicht -> Seitenquelltext ansehen kann, bei AJAX-Anwendungen mit dem angezeigten notwendigerweise überein? Welche Rolle spielt hierbei das DOM?
- Was braucht man auf Serverseite, um mit AJAX arbeiten zu können?
- Was schickt der Server dem Browser zurück?
Beispiel füer das Arbeiten mit AJAX-Request
function sichtbarmachen(){
var eingabe = document.getElementById("eingabefeld");
if(eingabe.value != "") {
var url = "http://localhost:8080/SOTE-2009-10-30/AjaxServlet?wert=" + escape(eingabe.value);
var req;
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.onreadystatechange = function() {
if (req.readyState == 4) { //wenn die Anwort da ist
if (req.status == 200) { //wenn die Antwort "okay" lautet
var ergebnis = req.responseText;
document.getElementById("austausch").innerHTML = ergebnis;
}
}
};
req.open("GET", url, true);
req.send(null);
}
}
2011-10-28: Servlets
Inhalt
- Dynamische Webseiten
- Servlets, Sessions
Unterlagen
Fragen
- Was ist ein Servlet?
- Von welcher Klasse erbt Ihr Servlet?
- Welche Methode(n) müsste Ihr Servlet überschreiben?
- Wie kann Ihr Servlet auf Requestparameter zugreifen?
- Wie sieht ein Formular aus, welches einen solchen Request erzeugt?
- Was muss man machen, um ein Servlet nutzen zu können.
- Für wieviele Request kann ein Servlet genutzt werden?
- Welche Aufgabe kommt der Klasse HttpSession zu? Über welche wichtigen Methoden verfügt sie?
- Wer ruft die Methoden wie doGet() auf einem Servlet auf?
2011-10-21: HTM5, HTTP
Inhalt
- HTML5
- HTTP
Unterlagen
Fragen
- Welche neuen Elemente definiert HTML5?
- Wie bindet man mit HTML5 ein Video ein?
- Was ist der Sinn der neuen Input-Types? (z.B. <code><input type="email" placeholder="email"/></code>) Was ist die Aufgabe des Attributes "placeholder"?
- Wie kann man mit HTML5 eine Zeichnung auf eine Webseite einfügen?
- Beschreibe die Vorteile von HTML5 für die Entwicklung von mobilen Anwendungen (z.B. für iPhone, iPad, Android-Telefone)
- Nennen Sie Charakteristiken von HTTP
- Was steht bei HTTP in der Request-/Responsezeile, im Header und im Body?
- Wie unterscheiden sich GET und POST Requests? Kann man sagen, POST Requests seien für die Äbertragung von Passwörtern sicherer?
- Welche Technologien kennen Sie, um dynamische Webseiten zu erzeugen?
- Wer ruft die Methoden wie doGet() auf einem Servlet auf?
2011-10-14: CSS, JavaScript, DOM
Inhalt
- Wiederholung HTML, CSS
- JavaScript, DOM
Unterlagen
Fragen
- Wie und wo definiert man einen JavaScript-Dokument
- Wie ruft man eine Funktion auf? Beispielsweise dadurch, dass man auf etwas klickt...
- Welche Gemeinsamkeiten haben JavaScript und Java bezüglich der Syntax? Was ist unterschiedlich?
- Wie definiert man Objekte? Wie arbeitet man damit?
- Die greift man auf HTML-Elemente zu?
- Wie ändert man den Wert dieser Elemente? Wie fügt man neue hinzu?
2011-03-18: HTML
Inhalt
- HTML
- CSS
Unterlagen
- Vorlesungmitschrieb
- Präsentation zu HTML
- Beispieldatei
- Screenshots Bohrmaschinen-Shop
- Mindmailer ist aktiv! https://htwg.mindmailer.de
Fragen
- Wie sieht die Grundstruktur einer HTML-Seite aus?
- Wo und wie legt man den Seitentitel fest, der in der Browserleiste angezeigt wird?
- Wie legt man Tabellen in HTML an? Wie unterscheiden sich die beiden Tags <td> und <th> in ihrer Bedeutung?
- Wie deklariert man ungeordnete und geordnete Listen?
- Wie definiert man Links?
- Wie schreibt man ein Formular in HTML? Was bedeutet 'method="get"'?
- Nennen Sie den HTML-Code um ein Feld "Bezahlung mit" aus Radio-Buttons "Kreditkarte", "Rechnung" und "Nachname" anzulegen.
- Mit welchem HTML-Element bekommt man einen Absende-Button?
- Wie erreicht man Barrierefreiheit?
- Wo und wie bindet man Stylesheets in eine HTML-Seite ein?
- Wie lautet die Syntax f?r die Definition von Stylesheet-Angaben?
- Auf welche "Elemente" einer HTML-Seite k?nnen diese Angaben bezug nehmen?
- Wie w?rde man die Schrift der ganzen HTML-Seite mit blauer Verdana-Schrift darstellen? Nennen Sie die notwendigen Angaben im HTML und CSS.
- Wie w?rde man einen Bereich rot hinterlegen und auf der Seite verschieben? Nennen Sie die notwendigen Angaben im HTML und CSS.
