Diese Übung wiederholt die am meisten als “übungsbedürftig” eingeschätzten Inhalte von ST1 im WS 22/23.
Diese Übung in einem (weitgehend) durchgehenden Beispiel die wichtigsen Inhalte des Semesters 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 |
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 |
---|---|---|
… | … | … |
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 |
Welche Begriffe würden Sie als Systembestandteile streichen?
Zeichnen Sie das fachliche Datenmodell als UML-Klassendiagramm, ausgehend von den eben gefundenen Begriffen.
Streichen Sie in obigem Text nach Textanalyse, was für Use Cases irrelevant ist, und teilen Sie den Text dann in Use Cases auf.
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.
Zeichnen Sie das entsprechende Use-Case-Diagramm.
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 |
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 |
Ziehen Sie die Schlussfolgerungen aus der CRUD-Matrix.
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.Landlord
schon im Datenbestand sein könnte.
Dasselbe für Apartment
.PotentialRenter
.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?
Folgende Geschäftsobjekte kann man weglassen:
ApartLease
Employee
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.ä.)
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.