Diese Übung wiederholt die am meisten als “übungsbedürftig” eingeschätzten Inhalte von ST1 im WS 21/22.
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.
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.
“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.
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 |
Streichen Sie in obigem Text nach Textanalyse, was für Use Cases irrelevant ist, und teilen Sie den Text dann in Use Cases auf.
Zeichnen Sie das entsprechende Use-Case-Diagramm.
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 |
---|---|---|
… | … | … |
Welche Begriffe würden Sie als Systembestandteile streichen?
Zeichnen Sie das fachliche Datenmodell als UML-Klassendiagramm, ausgehend von den eben gefundenen Begriffen.
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:
Employee
durchführt.Landlord
dem BrokerageAgreement
nicht zustimmt, oder der PotentialRenter
dem RentalContract
nicht zustimmt, dann
wird gar kein solcher Vertrag erzeugt.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 |
Ziehen Sie die Schlussfolgerungen aus der CRUD-Matrix.
Markieren Sie in dem obigen fachlichen Datenmodell die Stamm- (ST), Änderungs- (ÄN), Bestands- (BS) und Bewegungsdaten (BW).
Sie bekommen vom Auftraggeber folgende Zusatzinformationen zu dem Softwaresystem:
ApartLease
erstellt und nicht noch woanders eingesetzt.Employee
brauchen Sie in der Software nicht zu managen.Employee
mit welchem Landlord
zu tun hat.FreelancingEstateAgent
managen.
Die Partnerschaftsbeziehungen werden je nach Verkaufserfolg eingestellt oder oder besser vergütet.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?
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.
Für die Zustandsmodellierung schauen wir uns das RentalContract
an.
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.
Zeichnen Sie das entsprechende UML-Zustandsdiagramm.