Ü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) zu der Übung

Inhalt

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:

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.

Lösung

Folgende einleitenden Sätze können für die Use-Case-Analyse gestrichen werden (beschreiben nur den Kontext):

“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.

Dann bleiben die folgenden vier Use Cases:

Put up appartment for lease

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.

Book viewing appointment

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.

Let renter sign rental contract

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.

Let landlord sign rental contract

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.

Use-Case-Diagramm

Zeichnen Sie das entsprechende Use-Case-Diagramm.

Lösung

Use Cases

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.

Geschäftsobjekt Attribute Synonyme

Lösung

Geschäftsobjekt Attribute Synonyme
ApartLease   estate agency, agency
apartment size, number of rooms, rent flat
landlord email, name, phone number, bank account  
address    
employee    
rental contract   digital rental contract, contract, digital contract
brokerage agreement fee  
potential renter name, email, phone number, passport ID, credit rating renter
viewing appointment    
freelancing estate agent   agent

Textanalyse (2) - Systembestandteile

Welche Begriffe würden Sie als Systembestandteile streichen?

Lösung

Fachliches Datenmodell als UML-Klassendiagramm

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

Lösung

Fachliches Datenmodell

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        

Lösung

Geschäftsobjekt Put up appartment for lease Book viewing appointment Let renter sign rental contract Let landlord sign rental contract
ApartLease        
Apartment C, D R    
Landlord C, U, D     R
Employee        
RentalContract     C, R R, U, D
BrokerageAgreement C     R
PotentialRenter   C, U, D    
ViewingAppointment   R C  
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?

Lösung

  1. Was fällt Ihnen bei den Geschäftsobjekten auf?
    • ApartLease, Employee und FreelancingEstateAgent tauchen nicht auf. Entweder es fehlen Use Cases an dieser Stelle, oder diese Entities können aus dem (logischen) Datenmodell entfernt werden.
  2. Welche Use Cases müssen ergänzt werden (Beschreibung berücksichtigt wichtige Fälle nicht) ?
    • Put up appartment for lease berücksichtigt nicht, dass der Landlord schon im Datenbestand sein könnte. Dasselbe für Apartment.
    • Genauso ist bei Book viewing appointment und PotentialRenter.
  3. Welche Use Cases fehlen?
    • Change apartment description
    • Change desired rent for apartment
    • Update landlord profile
    • Change rental contract details
    • Change brokerage agreement details
    • Cancel brokerage agreement
    • Cancel viewing appointment
    • Change viewing appointment time and date

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).

Lösung

Fachliches Datenmodell mit Annotation

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?

Lösung

Folgende Geschäftsobjekte kann man weglassen:

Drei Bewegungsdaten sind schon im FDM vorhanden (BrokerageAgreement, RentalContract, ViewingAppointment) und brauchen daher nicht mehr ergänzt werden.

Es fehlt damit nur noch AgentPartnership (o.ä.)

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.

Lösung

Logisches Datenmodell

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.

Lösung

Zustandsdiagramm

Zeichnen Sie das entsprechende UML-Zustandsdiagramm.

Lösung

Zustandsdiagramm