home  |  suche  |  kontakt/johner  |  institut 
studierende  |  tech-docs  |  mindmailer 

2017-05-08: Requirements-Engineering

Content

  • Recapitulation Software Processes
  • Requirements-Engineering, Context Analysis

Materials

Fragen

  • Welche Probleme 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.

Questions

  • Which typical problems encounter companies that do not derive requirements systematically?
  • What's wrong with directly asking users for their requirements?
  • Who are the stakeholders in a software project?
  • Describe the process of deriving the stakeholder and system requirements
  • What are typical results / documents / artifacts?
  • How to document needs and user requirements? (phrasing pattern) What are the differences?
  • Assign the activities the phases in the V-model
  • How to validate user needs and user requirements? Checklist questions
  • What are typical questions in a context interview?

2018-05-11: Development Processes

Content

  • Software-Quality
  • Development processes (part 1)

Materials

Fragen (Deutsch)

  • 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?
  • Welche Rollen sind an der SW-Entwicklung beteiligt? Was sind die jeweiligen Aufgaben?

Questions (English)

  • What are the activities during a V-Model?
  • What are the differences between a V-Model and a waterfall model?
  • What are the characteristics of an agile process?
  • Describe the terms Scrum, Backlog, Sprint
  • In which phases of theses processes the software actually is tested?
  • Which are the involved roles? What are the respective responsibilities and tasks?

2018-05-05: JSPs

Inhalt

  • JSP

Unterlagen

Fragen (Deutsch)

  • JSP

    • 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 <%@ include file="..."%> von <jsp:include page="..."/>?

  • Webprogrammierung allgemein: Welche der folgenden Aussagen sind korrekt?

    • Bei AJAX kann man das Servlet (s. letzte Stunde) durch eine PHP-seite ersetzen, ohne dass der Client-seitige Code geändert werden muss.
    • Eine Validierung von Eingaben in einem Formular bedarf AJAX.
    • Man kann in Java-Script Methoden im Backend (z.B. in Servlets) direkt aufrufen.
    • Servlets laufen immer im Backend.
    • PHP läuft immer im Backend.
    • AJAX läuft immer im Frontend (Client).
    • JavaScript läuft immer im Frontend (Client).
    • JSPs laufen immer im Frontend.
    • Unter der URL http://localhost:8080/MeinProject/servlets.MeinServlet kann man (wahrscheinlich) das Servlet "servlets.MeinServlet" erreichen 
    • Unter der URL http://localhost:8080/MeinProject/servlets.MeinServlet.java kann man (wahrscheinlich) das Servlet "servlets.MeinServlet" erreichen 
    • Unter der URL http://localhost:8080/MeinProject/MeinServlet.doSth kann man (wahrscheinlich) die Methode doSth auf der Klasse "MeinServlet" aufrufen.

Questions (English)

  • JSP

    • What do JSPs and servlets have in common? What are differences?
    • What are the most important JSP script elements?
    • The scriplet <%= ...%> is an abbreviation for?
    • What are implicit ("predefined") objects in JSP?
    • How do you define attributes on a class level and not inside the "service" method?
    • Is it possible to use import and extends statements inside a JSP file?
    • What are the differences of <%@ include file="..."%> and <jsp:include page="..."/>?

  • Web programing in general: Which of the following statements are correct? Explain your answer!

    • IT is possible to replace a servlet by a PHP page without changing the client code (HTML / JS)
    • An input validation requires AJAX
    • A web client can directly call Java classes (e.g. on Servlets) using JavaScript
    • Servlets always runs in the backend / server
    • PHP always runs in the backend
    • AJAX  always runs on the frontend / client
    • JavaScript  always runs on the client
    • JSPs  always run on the client
    • A Servlet "servlets.MeinServlet" typically is accessible via the URL http://localhost:8080/MeinProject/servlets.MeinServlet
    • Via the URL http://localhost:8080/MeinProject/MeinServlet.doSth one most probably can access the method "doSth" on the servlet "MeinServlet"

2018-04-27: Servlet, AJAX

Contents

  • Servlets II
  • AJAX

Unterlagen

Fragen (Deutsch)

  • 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?
  • Welche Funktionen bietet Ihnen JQuery, um JSON-Dateien per Ajax nachzuladen und deren Daten im Browser zu verarbeiten?
  • Was unterscheidet die $.load von der $.ajax-Methode?
  • Welche(n) Übergabeparameter erwartet die $.ajax-Methode?
  • Was drück man mit dem Parameter "success" bei der $.ajax-Methode aus? Wie nennt man solche Funktionen? Wer ruft diese Funktion auf?
  • Wie verbindet man mit JQuery HTML-Elemente mit Event-Handlern?

Questions (English)

  • What happens to a servlet when finishing a request?
  • What are typical use cases for methods init() and destroy()?
  • What is the URL to call a particular servlet? Can you change the URL without renaming the servlet?
  • How do your run web application (JEE, servlets) outside of Eclipse?
  • How does the server recognize a client even HTTP is a stateless protocol? How do you deal with that in Java (JEE)?
  • What is AJAX? Which technologies does AJAX use?
  • What are the benefits of AJAX-applications? What are the downsides?
  • Is the HTML code that you can see under "view > show source doce") matching what you see on the webpage if the webpages uses AJAX?
  • What do you need on the server side to answer AJAX requests? What does the client (Browser) need to invoke AJAX requests?
  • Which methods offers JQuery to make AJAX requests and to load and process JSON Data in the browser?
  • What is the difference between the $.load and the $.ajax method?
  • Which parameter(s) expects the $.ajax method?
  • What is the goal of the $.ajax-method's parameter "success"?

2018-04-20: Servlets

Content

  • Http Protocol
  • Dynamic webpages
  • Servlets, Sessions

Unterlagen

Fragen (Deutsch)

  • HTTP

    • 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?

  • Servlet

    • 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?

Questions (Englishh)

  • HTTP

    • What are the main characteristics of HTTP?
    • What contain the request / response line, what contain the headers and bodies?
    • What is the difference between GET and POST requests? Is is valid to state, that POST provides a secure transmission of passwords?

  • What technologies exist to generate dynamic webpages?
  • Servlet

    • What is a servlet?
    • What methods should a servlet overwrite?
    • How can a servlet access form parameters?
    • How does a form look like to generate HTTP requests?
    • Who calls the methods doGet() and doPost()?
    • What are use cases for the class HttpSession?

2018-4-13: JavaScript, JQuery, JSON, HTML5

Content

  • JavaScript: Objects, Functions
  • JavaScript: Manipulation of DOM-Tree
  • JQuery
  • JSON
  • HTML5

Unterlagen

Questions

  • JavaScript

    • Which options exist to define objects in JavaScript
    • How do you access and manipulate HTML elements (e.g. by adding childs)
    • How do you manipulate the DOM-tree using JQuery
    • What are the most important features / functions of JQuery

  • JSON

    • Which data types are defined in JSON?
    • What are the commonalities and differences between JSON and XML?
    • How do you navigate to a particular element in a JSON document?
    • How do you iterate over a JSON array?

  • HTML5

    • Welche neuen Elemente definiert HTML5?
    • Wie bindet man mit HTML5 ein Video ein?
    • Was ist der Sinn der neuen Input-Types? (z.B. <input type="email" placeholder="email"/>) 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)
    • Welche Anwendungsfälle sehen Sie für das <canvas>-Element?

2018-04-06: JavaScript, DOM

Inhalt

  • JavaScript

Unterlagen

Fragen

  • JavaScript
    • 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?
    • Was ist ein Callback

Questions

  • JavaScript

    • Where and how do you define JavaScript?
    • How are methods invoked? How do you react on a user input e.g. a click on a button?
    • What are the commonalities and differences between Java and JavaScript Syntax?
    • What is a callback?

2018-03-23: Versionsverwaltungssysteme

Content

  • Version control

Documentation

Lernziele (deutsch)

  • können die Probleme nennen, die eine Versionsverwaltung löst
  • Sie können diese Begriffe mit eigenen Worten erklären: Repository, Working Copy, check-out, commit, merge, pull, fetch, push, clone Index, Master, Branch, Tag
  • Sie können die Unterschiede von zentralen und dezentralen Versionsverwaltungssystemen erklören
  • Sie können einfache Arbeitsabläufe mit git durchführen:
  • Dateien dem Index hinzufügen und entfernen
  • Dateien "committen"
  • Einen Branch erstellen und Branches wieder zusammenführen
  • Ein zentrales Repository anlegen und Dateien hochladen und von dort holen

Learning objectives

  • see presentation

Fragen (deutsch)

  • Weshalb setzen professionelle Entwickerinnen und Entwickler (und deshalb auch Sie) immer Versionsverwaltungssysteme ein?
  • Was ist die Aufgaben des Index (der Staging Area)?
  • Welchen Vorteil hat es, dass man mit lokalen und remote Repositories arbeitet?
  • Wie geht man vor, wenn man zu einem alten Versionsstand zurückkehren möchte?
  • Wann legt man einen Branch an?
  • Was ist der Unterschied zwischen pull und fetch?

Questions

  • Why do professional software developers (this includes you!) always work with version control systems
  • What is the task for the index (staging area)?
  • What are the advantages of distributed version control systems over central repositories?
  • How do you  return to a previous version?
  • How do you create a branch?
  • When do you create a new branch?
  • What is the difference between pull and fetch?

2018-03-16: HTML, CSS

Inhalt

  • HTML
  • CSS

Unterlagen

Fragen

  • HTML

    • 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?

  • CSS

    • 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?
    • Welche Selektoren kennen Sie?
    • Wie positioniert man Elemente mit CSS?
    • 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.
    • Wie lautet die Syntax von CSS? Wo definiert man CSS-Angaben?