APPE
HSLU - Modul
HSLU - Modul
Set of flashcards Details
Flashcards | 141 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 06.06.2020 / 21.10.2024 |
Weblink |
https://card2brain.ch/box/20200606_appe
|
Embed |
<iframe src="https://card2brain.ch/box/20200606_appe/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
1.9.3 Was leiten SW-Hersteller aus Stakeholderanforderungen ab - welche weiteren Anforderungen enstehen daraus?
STAKEHOLDERANFORDERUNGEN / funktionale Anforderungen --> Was soll das Produkt tun
(technische) Systemanforderungen --> Wie wird es umgesetzt (nichtfunktionale ) beispiel:
• Performanz und Effizienz
• Zuverlässigkeit (Reliability) und Verfügbarkeit (Availability)
• Sicherheit (Security)
• Wartbarkeit (Maintainability)
• Portierbarkeit (Portability) -->Plattformunabhängig
1.9.5 Was sind Systemanforderungen und welche gibt es?
Systemanforderungen generell sind nicht funktionaler Natur:
- Performance und Effizienz
- Zuverlässigkeit
- Sicherheit
- Verfügbarkeit
- Wartbarkeit
- Portierbarkeit
1.9.6 Was sind Qualitätskriterien für Anforderungen?
- Bewertet (Prio, Aufwand, Risiken)
- Eindeutigkeit (keine Missverständnisse)
- Gültigkeit (aktuell)
- Konsistenz
- Korrektheit
- Machbarkeit /Umsetzbarkeit
- Testbarkeit / Prüfbarkeit
- Verfolgbarkeit / Traceability
- Verständlichkeit, Klarheit
- Vollständigkeit
1.9.7 Was gibt's für Techniken um Anforderungen zu erheben?
- Domänen-Modell
- Use Case Modell und Beschreibungen
- Geschäftsprozess-Modell
- Feature-Listen
- User Stories
Strukturierung nach fachlichen Aspekten
1.9.9 Was sind Merkmale einer Microservice Architektur?
- Jeder Service hat seine eigenen fachlichen Begrifflichkeiten
- Jeder Service kümmert sich selber um seine Persistierung
- Es ist kein konsistentes Datenmodell über die ganze Applikation notwendig
- Bei allfälligen Kommunikationen zwischen den Services müssen entsprechende Daten-Anpassungen gemacht werden.
1.9.10 Was sind Vorteile von Microservices?
- Die Services sind weitgehend unabhängig voneinander
- Auf fachlicher Ebenen muss kein Aufwand getrieben werden, um die Details der einzelnen Teildomänen miteinander abzugleichen.
- Unabhängig entwickelbar
- Unabhängig deploy- und releasebar
- Schneller
- kleiner
- unabhängiger
- austauschbarer
- flexibler
- eigene Datenhaltung
- unterschiedliche Technolgien (Sprachen)
- Plattformen
- Resilienz
1.9.11 Was sind Nachteile von Micro-Services?
- Technischer Overhead
- Technische Komplexität
- Zu kleine Microservices fördern den Kommunikationsbedarf. Die führt zu Mehraufwand in der Kommunikation und restlich zu einer Performance Beeinträchtigung.
1.9.14 Für was macht man eine Prozessanalyse?
1.9.15 Für was benötigt man das Use-Case-Diagramm?
Im Use Case Diagramm werden sämtliche Use Cases / Anwendungsfälle und die Verbindungen zu den Akteuren aufgezeigt. Es empfiehlt sich mittels Pfeilen einzuzeichnen, wer die Use Cases anstösst.
Wikipedia:
«Ein Anwendungsfall (engl. use case) bündelt alle möglichen Szenarien, die eintreten können, wenn ein Akteur versucht, mit Hilfe des betrachteten Systems ein bestimmtes fachliches Ziel (engl. business goal) zu erreichen. Er beschreibt, was inhaltlich beim Versuch der Zielerreichung passieren kann und abstrahiert von konkreten technischen Lösungen.
1.9.19 Zeichen sie die unterschiedlichen Interaktionen.
1) Request-Response
2) Winner-take-all
3) Synchrone Nachricht, die nicht konsumiert wird.
4) Fire & Forrget
5) Interface (A biete an, B nutzt)
6) Alternatives Interface
Request / Response
Synchrone NAchricht, Sender erwartet eine Antwort, Nachricht wird konsumiert. (d.h. nur ein Empfänger)
Winner-take-all
Asnchrone NAchricht, Sender erwartetet keine Antwort. Nachricht wird konsumiert (d.h nur ein Empfänger)
Synchrone Nachricht die nicht konsumiert wird, d.h auch andere Empfänger können diese konsumieren. Sender erwartete zumindest eine Antwort.
Fire & Forget
Asynchrone Nachricht, Sender erwartet keine Antwort. NAchricht wird nicht konsumiert, d.h. auch andere Empfänger könne diese empfangen
Interface, API (A beiete an, B nutzt)
Anternatives Interface
1.9.21 Was ist eine User-Story? Wie ist diese formuliert und was gehört alles dazu?
Eine User Story ist eine textliche Anforderung an das System aus Anwender-Sicht.
Typischerweise werden User Stories gemäss folgender Vorlage strukturiert:
"Als <Rolle> möchte ich <Ziel/Wunsch>, um <Nutzen>"
User Stories beschreiben funktionale Anforderungen an ein System aus Anwender-Sicht. Jede Story muss für den Anwender einen klaren Nutzen erbringen und für den Anwender verständlich sein (keine technischen Lösungsbeschreibungen).
User Stories müssen im Rahmen des Projektes (siehe dazu Einsatz in SoDa) so umformuliert und in mehrere Stories zerlegt werden, dass die im Rahmen eines Sprints umgesetzt werden können.
User-Stories benötigen:
- Akzeptanzkriterien (In einer Liste Bedingungen aufführen, die erfüllt sein müssen, damit die Story akzeptiert wird)
- Randbedingungen (wie muss es technisch umgesetzt werden, bsp welche DB, mit Product-owner absprechen)
- Aufwandschätzung
- Priorität
Was bedeutet idempotent und welche Http-Methoden sind es?
Die Methoden GET, PUT und DELETE sollen beliebig oft aufgerufen werden können, ohne Seiteneffekte hervorzurufen!
- Implementation als idempotente Methoden.
Die Methode POST darf nicht mehrfach aufgerufen werden, da sie Seiteneffekte hat / haben kann (nicht idempotente Methode).
Info:
Rein lesende Services sind von Natur aus idempotent, da der Zustand der Daten nicht geändert wird. Jeder nicht idempotente schreibende Service kann aus fachlicher Sicht zu einem idempotenten Service gemacht werden.
Bsp:
Bei einem Service zum Verbuchen von Geldbeträgen ist der Aufruf einzahlen(100) nicht idempotent, da bei mehrmaligem Service-Aufruf der Betrag 100 mehrmals eingezahlt wird. Würde man hingegen neuerKontostand(600) aufrufen, so würde bei mehrmaligem Service-Aufruf der Kontostand gleich bleiben. Dieser Aufruf wäre idempotent.
Was sind Akzeptanzkriterien und wie sollen sie formuliert sein?
Machen Sie ein Beispiel.
Akzeptanzkriterien:
In einer Liste Bedingungen aufführen, die erfüllt sein müssen, damit die Story akzeptiert wird. Hier wird im Detail geklärt, wie eine User Story funktionieren soll. Häufig werden hier Fehlerbehandlungen, gesetzliche Anforderungen, nichtfunktionale Anforderungen etc. festgehalten. Sie sollten aber Lösungsneutral (nicht-technisch) sein!
Bsp:
Wenn sich ein Student einer anderen Fakultät anmeldet, muss eine Fehlermeldung erscheinen.
Wenn der Studierende bereits angemeldet ist, muss eine Fehlermeldung erscheinen.
Wenn bereits alle Plätze in einer Vorlesung mit begrenzter Teilnehmerzahl vergeben sind, kann sich der Studierende nicht mehr anmelden.
Der Studierende kann sich bei einer Vorlesung mit begrenzter Teilnehmerzahl anmelden, wenn noch nicht alle Plätze vergeben sind.
Was sind Randbedingungen?
Machen Sie ein Beispiel.
(technische) Randbedingungen:
Die hier genannten Bedingungen müssen für die Umsetzung der Story eingehalten werden, diese müssen mit dem PO abgesprochen und schriftlich festgehalten werden.
Bsp:
Im Rahmen einer Story müssen auch Daten gespeichert werden. Die entsprechende Datenbank ist aber noch nicht vorhanden und kann/soll im Rahmen dieser Story auch nicht umgesetzt werden. Als technische Randbedingung könnte nun festgehalten werden, dass die Daten über ein wohldefiniertes Interface und einem entsprechenden Mock «persistiert» werden.