Kontakt
stefan.bente[at]th-koeln.de
+49 2261 8196 6367
Discord Server
Prof. Bente Personal Zoom
Adresse
Steinmüllerallee 4
51643 Gummersbach
Gebäude LC4
Raum 1708 (Wegbeschreibung)
Sprechstunde nach Vereinbarung
Terminanfrage: calendly.com Wenn Sie dieses Tool nicht nutzen wollen, schicken Sie eine Mail und ich weise Ihnen einen Termin zu.

Übung »ST1 WS21/22 - Wiederholung«

Diese Übung wiederholt die am meisten als “übungsbedürftig” eingeschätzten Inhalte von ST1 im WS 21/22.

Dauer
Ca. 300 min
Video(s) hierzu

Worum geht es?

An einer Umfrage zu den Inhalten aus ST1 haben sich 29 (von zuletzt ca. 80 im Praktikum aktiven) Studierenden beteiligt. Dabei ergab sich das nachfolgende (obere) Bild. Fasst man die Antworten zu “Habe ich verstanden, muss aber noch üben” und “Habe ich nicht wirklich verstanden” zusammen, kommt das zweite Bild (mit den blauen Balken) dabei heraus.

Umfrage-Ergebnis 1

Umfrage-Ergebnis 2

Daher greift diese Übung in einem (weitgehend) durchgehenden Beispiel in etwa die “obere Hälfte” der genannten Inhalte auf. Dies sind:

  • M1: Textanalyse zur Use-Case-Identifikation
  • M1: Use-Case-Diagramm (zur besseren Darstellung, auch wenn UC-Diagramme insgesamt als gut verstanden genannt wurden)
  • M2: Textanalyse zur Identifikation des fachlichen Glossars / Datenmodells
  • M2: Fachliches Datenmodell (UML)
  • M2: CRUD-Matrix
  • M3: Stamm-, Änderungs- Bestands-, Bewegungsdaten
  • M3: Aufstellen des Logischen Datenmodells (UML) aus dem FDM
  • M3: Unidirektionale Beziehungen im Logischen Datenmodell
  • M5: Zustandsmodellierung

Disclaimer 1: Diese Übung können wir aus Zeitgründen nicht so sorgfältig “qualitätssichern” wie eine Klausur. Eine Klausur wird mehrfach test-“gerechnet” und gereviewt, um alle Unklarheiten, Mehrdeutigkeiten und Widersprüche zu finden und zu beseitigen. Die Zeit stand für die vorliegende Übung nicht zur Verfügung. Es kann also sein, dass solche Unklarheiten, Mehrdeutigkeiten und Widersprüche an der einen oder anderen Stelle gibt - fragen Sie einfach nach.

(PS: Das können und sollten Sie in der Klausur natürlich auch tun!)

Disclaimer 2: Die Klausur wird aus etwas kleineren Aufgaben als dieser hier bestehen, damit Sie das besser schaffen können. Dafür wird es in der Klausur keine durchgehende Aufgabe geben können, da das mit kurzen Aufgabentexten nicht gut funktioniert. Darüber hinaus würde eine durchgehende Aufgabenstellung die Individualisierung zu schwierig machen.

Ausgangstext

“ApartLease” is an estate agency specialized on apartments. A landlord of ApartLease may want to lease an apartment. ApartLease wants to set up a web portal supporting its business. The following text describes roughly how the software system should look like. If a landlord wants to lease a flat, she phones ApartLease. An employee answers, makes sure that the landlord is legit by asking some routine questions, and enters the landlord’s email. The system then automatically emails a link to a self-service form to the landlord, where she can enter her name, address, phone number, and bank account. In another form, she enters the address of the apartment, its size, the number of rooms, and the rent. The system calculates ApartLease’s fee (if the agency will find a rental contract for the apartment), and displays it to the landlord. If the landlord clicks the “OK” button, the brokerage agreement between her and ApartLease is ready. The apartment will be automatically published on the web portal. Otherwise, the system deletes the landlord data from the system. A potential renter visits ApartLease’s web portal and finds an attractive apartment. By clicking, the system displays a form where she enters her name, address, email, phone number, and her passport ID. The system automatically checks her credit rating. If the credit rating is ok, the potential renter can choose between several viewing appointments. If she chooses one of them, the system automatically confirms it, and emails the apartment’s address. Otherwise, it deletes the potential renter’s data from the system. ApartLease partners with several freelancing estate agents. The system assigns each apartment to one of these agents. The agent will organize several viewing appointments. If a potential renter likes the apartment, the agent fills a digital rental contract on the spot, using a tablet. The renter signs the contract digitally. The software system then automatically emails a link to the rental contract to the landlord letting the flat. When an ApartLease employee starts up the software in the morning, she see the list of “open” rental contracts. If a rental contract has not been signed for more than a week, she calls the landlord. If the landlord doesn’t like the potential renter, the contract is canceled. Otherwise, the landlord signs the digital contract right away. The system then bills the landlord the agreed fee from the brokerage agreement.

Übersetzungshilfe für diesen Text

Englischer Begriff Übersetzung
apartment Wohnung
apartment block Mehrfamilienhaus
(to) bill eine Rechnung schicken
brokerage agreement Maklervertrag
credit rating Kreditwürdigkeit
employee Angestellte(r)
estate agency (Immobilien-)Maklerfirma
fee Gebühr
flat anderes Wort für Wohnung
freelancing estate agent freiberuflicher Immobilienmakler
landlord Vermieter
(to) lease vermieten
legit echt, authentisch (kein Scherzbold)
on the spot vor Ort
(to) partner with mit (jemandem) eine (geschäftliche) Partnerschaft haben
passport ID Pass-Nummer
rent mieten (to rent) / Miete (the rent)
renter Mieter
(digital) rental contract (digitaler) Mietvertrag
right away sofort
viewing appointment Besichtigungstermin

Use Cases

Use-Case-Grenzen

Streichen Sie in obigem Text nach Textanalyse, was für Use Cases irrelevant ist, und teilen Sie den Text dann in Use Cases auf.

  • Finden Sie sinnvolle Use-Case-Namen
  • Wenden Sie User-Happiness- und Coffee-Break-Test an

Use-Case-Diagramm

Zeichnen Sie das entsprechende Use-Case-Diagramm.

Fachliches Datenmodell

Textanalyse (1) - Geschäftsobjekte, Attribute, Synonyme (Glossar)

Stellen Sie die Liste der gefundenen Geschäftsobjekte zusammen, also im Prinzip das Glossar, nur dass Sie hier keine Erklärung hinschreiben brauchen. Füllen Sie eine Tabelle wie die nachfolgende.

  • Markieren Sie Attribute extra.
  • Listen Sie alle gefunden Synonyme.
Geschäftsobjekt Attribute Synonyme

Textanalyse (2) - Systembestandteile

Welche Begriffe würden Sie als Systembestandteile streichen?

Fachliches Datenmodell als UML-Klassendiagramm

Zeichnen Sie das fachliche Datenmodell als UML-Klassendiagramm, ausgehend von den eben gefundenen Begriffen.

CRUD-Matrix

Mit der CRUD-Matrix prüfen Sie die Use Cases und das fachliche Datenmodell auf Vollständigkeit. Dabei können Sie in unserem Fall von folgenden Randbedingungen ausgehen:

  1. Sie brauchen im System nicht zu speichern, welche Tätigkeiten ein Employee durchführt.
  2. Authentifizierung / Autorisierung erfolgt durch ein externes, schon vorhandenes System, und muss hier nicht betrachtet werden.
  3. Gehen Sie nach dem Text vor - was nicht drinsteht, fehlt und muss ergänzt werden.
  4. Wenn z.B. beim Anlegen eines Datensatzes nicht erwähnt ist, was passiert, wenn es diesen Datensatz schon gibt, dann ist das nur “C” und nicht “U” - sprich: Datensätze werden dann immer neu parallel angelegt. Das wäre ein Kandidat für “fehlende Use Cases” oder “zu ergänzende Use Cases”.
  5. Wenn der Landlord dem BrokerageAgreement nicht zustimmt, oder der PotentialRenter dem RentalContract nicht zustimmt, dann wird gar kein solcher Vertrag erzeugt.
  6. U impliziert eine Leseoption.

Aufstellen der Matrix

Bitte füllen Sie die nachfolgende Matrix.

Geschäftsobjekt Put up appartment for lease Book viewing appointment Let renter sign rental contract Let landlord sign rental contract
ApartLease        
Apartment        
Landlord        
Employee        
RentalContract        
BrokerageAgreement        
PotentialRenter        
ViewingAppointment        
FreelancingEstateAgent        

Schlussfolgerungen

Ziehen Sie die Schlussfolgerungen aus der CRUD-Matrix.

  1. Was fällt Ihnen bei den Geschäftsobjekten auf?
  2. Welche Use Cases müssen ergänzt werden (Beschreibung berücksichtigt wichtige Fälle nicht) ?
  3. Welche Use Cases fehlen?

Transformation ins logische Datenmodell

Stamm-, Änderungs- Bestands-, Bewegungsdaten

Markieren Sie in dem obigen fachlichen Datenmodell die Stamm- (ST), Änderungs- (ÄN), Bestands- (BS) und Bewegungsdaten (BW).

Wegzulassende und zu ergänzende Geschäftsobjekte

Sie bekommen vom Auftraggeber folgende Zusatzinformationen zu dem Softwaresystem:

  1. Das System wird maßgeschneidert für ApartLease erstellt und nicht noch woanders eingesetzt.
  2. Beschäftigungsverhältnisse mit Employee brauchen Sie in der Software nicht zu managen.
  3. Das System braucht nicht zu erfassen, welcher Employee mit welchem Landlord zu tun hat.
  4. Das System muss aus rechtlichen Gründen die Partnerschaftsbeziehungen mit FreelancingEstateAgent managen. Die Partnerschaftsbeziehungen werden je nach Verkaufserfolg eingestellt oder oder besser vergütet.
  5. Im System braucht nicht abgebildet zu werden, welcher FreelancingEstateAgent für welches Apartment zuständig ist. Es müssen aber die ViewingAppointments erfasst werden, da ein FreelancingEstateAgent dafür bezahlt wird.

Welche Geschäftsobjekte können Sie weglassen? Welche Geschäftsobjekte fehlen und müssen ergänzt werden, weil man Bewegungs- oder Änderungsdaten abbilden will?

Logisches Datenmodell

Zeichnen Sie das logische Datenmodell als UML-Klassendiagramm. Stellen Sie sicher, dass Sie die unidirektionalen Beziehungen richtig setzen. Der Einfachheit halber brauchen Sie keine Typen für die Attribute anzugeben.

Zustandsmodellierung

Für die Zustandsmodellierung schauen wir uns das RentalContract an.

Zustände

Schreiben Sie gemäß des obigen Texts die möglichen Zustände auf, die RentalContract einnehmen kann. Die Zustandsnamen sind nicht “eindeutig” aus dem obigen Text zu entnehmen - wählen Sie daher Bezeichnungen, die Sie sinnvoll finden.

Zustandsdiagramm

Zeichnen Sie das entsprechende UML-Zustandsdiagramm.