Si
-
- 1 / 35
-
Lernkarten
Sequentlieller Prozessmodell Nachteile
-Kunde muss alle anforderung Detalliert am anfang des Projekts aufgeben.
- Kunde bekommt nur das Fertige Produkt
- Der Kunde kann nicht agile an der Entstehung mitwirken
Vorteile Iteraktiven Prozessmodell
- Kunde kann jeder Zeit seine anforderung ändern (evolutionär) und agile mitwirken
- Anforderungen werden in Iteraktionen Stufen entwickelt und dem Kunden am Festegelegten Release vorgelegt.
- Kunde hat die möglichkeit vorher zu testen so dass festgestrellte fehler bugs gefixgt werden können.
3 Agile Softwarepraktiken
Pair Programming
Kiss (Keep it short and simple
TDD/Test drivern development
Definition Pair Programming
Zu zweit Programmiert. Einer ist für Qualitätssicherung und der andere Programmiert.
KISS (Keep it short and Simple)
So einfach wie möglich halten um ein schnelles ergebniss vorzubringen. Unnötioges wird weggelassen.
Defintiotion TDD / Test Driven development
Es wird zuerst getestet bevor produktiver Programm code geschrieben wird.
Use Case Diagramm Definition (Anforderungs analyse)
- Kleine Aktion mit ergebnis
- mit wert für Akteure
- Grober Überblick des System Kernfunkionalitäten
- Was wird vom System UNterstützt
- nicht wie
- Use Cases werden immer von einem Akteur ausgelöst
Actor (Akteur) Beschreibung
- Rolle eines Useres im System
- Interagiert mit dem spezifizierten System
- löst das System aus
Sequentielles Prozessmodell
Schritt für Schritt
- Keine Paralle durchführung der Schritte
- Jeder Schritt wird nur einmal durchgeführt
- Jeder Schritt endet mit einer Doku
- Start mit den Kernanforderungen des Kunden
Vorstudie
Die Vorstudie ist da für die Umsetzbarkeit zu prüfen, dazu muss das Problem bekannt sein und über mögliche lösungen diskutiert werden.
Anforderungsanalyse
Die Anforderungsanalyse dient zur definition der Anforderungen die an das Projekt gestellt werden. Dabei ist wichtig "was" das Produkt erfüllen soll und nicht "wie" es genau Implementiert werden soll. Das Ergeniss der Anforderungsanalyse ist das Pflichtenheft.
Assoziation:
Einfach verbindung zwischen den Objekten z.B. ein Kunde hat (0....*) nulll oder * Rechnung, aber eine Rechnung hat immer nur 1 Kunde.
Sequenntielles Prozessmodel (In eine Reihenfolge) alle schritte
1. Vorstudie:
- was soll gelöst werrden (Problem "Wir brauchen ein eShop"
- Wie soll es gelöst werden (Technisch "Überwsicht")
- Wie vielk geld wird benötigt (Geld "1000")
- Wer wird benötigt (personal "Hardware")
2. Anforderungsanalyse:
-Anforderung spezifiezieren und festlegen
- Was soll das System können ?
- Resultat: Pflichtenheft
3. Design:
- Wie genau sieht die Software aus die die Anforderung erfüllt
- Grafik/Audio/Interaktions design
4. Implemntierung:
- Realisierung der SWA in Code
-Kurzes Testen
5. Integration und Einführung:
- Zusammenfassung der Programm - einzelteile
-Testen des ganzen Systems
- Testen beim Kunden + Installation
- Kunden Training + Start der Einführung /Installation
Wartung:
- Fehlerbehebung
- Optiemeieren (Verbesserungen)
- Anpassungen auf Gesetzliche und Technische Anforderungen.
Azotioantionen USE CASE
Verbindung zwischen Akteuren und Use Cases
- Entdeckt welcher Akteuer an der use case ausführung teilnimmt
- Akteuer kann
- ein trigger sein für die ausführung eines use cases
- ein aktiver oder passiver teilnehmer.
Use Case Strukturierter Text
Use Case: Name (Predikat + Objekt)
Kurze Beschreibung:
Kategorie:
Precondition: Vor der Ausführung
Postcondition (erfolgreich): Was passiert wenn erfolgreich ausgeführt
Postcondition (nicht erfolgreich): Was passiert wenn nicht erfolgreich ausgeführt
Akteuere:
Ausführer/Trigger:
Beschreibung:
Alternativen:
Bemerkungen:
Viele andere Methoden gisbt noch.
Klassendiagramme Beschreibung
- Klassen Diagramme zeigen die Stuktur des Systems die analysiert oder designed werden soll.
- Klassen Diagramme beantworten die frage wie die daten und die handlung struktiert sind
Grund:
- Objects
- Klassen
- Generalisierung/Spezialisierung der Klassen
- assoziationen zwischen klassen und Objekten
Atribute KlassenDiagramm
Notation: mit - und kleiner Buchstabe
Verschiedene Typen
z.B:
- number : int
-balance : float = 0,0
- owner : Customer
Statische Attribute ("Klassenatribute") werden mit einer unterlinie beschrieben die gelten für die ganze klasse
Generalisierung und Spezialsierung KlassenDiagramme
Generlaization zwischen klassen:
- general class wird auch sper klasse genannt
- spezifische klasse wird auch sub klasse genannt
Specialsierung ist das gegenteil von generalisierung
Vererbung vorteile und nachteile
- Leichte erstellung neuer Klassen, Spezielle Klassen
- wiederbenutzbarkeit der klassen ist empfehelsnwert
- veränderung in super klassen haben einen effect auf die subklassen: ein komfortabelen weg für veränderung mehrer klassen z.b. die Attribute verändern.
Cons:
- Veränderung der Super klasse wirkt direkt auf die subklassen aus: wenn man z.B. die Methoden ändert kann es sein das die effekte der veränderung nicht nachvollziehbar sind.
- um die sub klassen zu nverstehen müssen alle super klassen verstanden werden
- vererbung relationshio kann nicht verändert werden at runtime
Multiplizitäten
1
0...1
*
3...*
0...2
2
2,4,6
Layers
seite 85
CRUD
Create, Read, update, delete
Create: Erstellen eines neues Objekt KundenManager::erstelleKunde():Kunde
Read: Liefert ein oder mehrer Objekte KundenManager::findKundebyIDC:Kunde
Update: Aktuallisiert ein Objekt KundenManager::updateKunde(KundenupdateObj)
Delete: entfernt ein Objekt: KundenManager :: delte (kundeObjektDelete)
Abstrakte Klassen
Abstrakte klassen werden Kursiv geschrieben.
Es muss mindestens eine Methode Implementiert sein
Nicht immer soll eine Klasse sofort ausprogrammiert werden. Zum Beispiel dann nicht, wenn die Oberklasse lediglich Methoden für die Unterklassen vorgeben möchte, aber nicht weiß, wie sie diese implementieren soll. In Java gibt es dazu zwei Konzepte: abstrakte Klassen und Schnittstellen (engl. interfaces).
Abtrakte Methoden
Können nur in Abstrakten Klassen definiert werden.
Werden Kursiv geschrieben.
Interfaces/Schnittstellen
102
Delegation
107