SoftwareTechnik Teil 1 at Universität Würzburg

Flashcards and summaries for SoftwareTechnik Teil 1 at the Universität Würzburg

Arrow Arrow

It’s completely free

studysmarter schule studium
d

4.5 /5

studysmarter schule studium
d

4.8 /5

studysmarter schule studium
d

4.5 /5

studysmarter schule studium
d

4.8 /5

Study with flashcards and summaries for the course SoftwareTechnik Teil 1 at the Universität Würzburg

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

Object Design

Motivation

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

Distributed Systems

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

 Associations

This was only a preview of our StudySmarter flashcards.
Flascard Icon Flascard Icon

Millions of flashcards created by students

Flascard Icon Flascard Icon

Create your own flashcards as quick as possible

Flascard Icon Flascard Icon

Learning-Assistant with spaced repetition algorithm

Sign up for free!

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

1 Architectural Patterns

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

Layered Architecture

Application Layer

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

Agile Development

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

10.12 Iterative Use Case Elaboration

This was only a preview of our StudySmarter flashcards.
Flascard Icon Flascard Icon

Millions of flashcards created by students

Flascard Icon Flascard Icon

Create your own flashcards as quick as possible

Flascard Icon Flascard Icon

Learning-Assistant with spaced repetition algorithm

Sign up for free!

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

User Stories

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

Software Prototyping

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

Rational Unified Process RUP

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

Process of RE

This was only a preview of our StudySmarter flashcards.
Flascard Icon Flascard Icon

Millions of flashcards created by students

Flascard Icon Flascard Icon

Create your own flashcards as quick as possible

Flascard Icon Flascard Icon

Learning-Assistant with spaced repetition algorithm

Sign up for free!

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

Software Requirements Specification

Your peers in the course SoftwareTechnik Teil 1 at the Universität Würzburg create and share summaries, flashcards, study plans and other learning materials with the intelligent StudySmarter learning app.

Get started now!

Flashcard Flashcard

Exemplary flashcards for SoftwareTechnik Teil 1 at the Universität Würzburg on StudySmarter:

SoftwareTechnik Teil 1

Object Design

Motivation

Heutzutage müssen Entwicklungszeiten immer stärker verkürzt werden (was auf Kosten
der Qualität geht). Zur Qualität zählt die Externe Qualität (Benutzbarkeit, Performance,
Verlässlichkeit, Sicherheit...) aber auch heutzutage mehr und mehr die Interne Qualität,
also die Wartbarkeit. Das sind auch alles ISO Standards für gute Software.
Denn mehr als drei Viertel der heutigen Kosten stammen aus dem Wartungsbereich.

SoftwareTechnik Teil 1

Distributed Systems

In der Deployment Architektur ist der Zusammenhalt nicht so stark. Sie haben alle sehr
unterschiedliche Aufgaben und sind nur über ein Netzwerk verbunden.

ˆ

  •  client-server architectures:
    Es gibt Services, die von Klienten benutzt werden und Server und Klienten werden
    intern unterschiedlich behandelt.


Hier gibt es noch unterschiedliche Ausprägungsformen. Zum einen das ThinClient-
Modell, bei dem der Client nur Daten präsentiert und die Logik und die Daten auf
dem Server liegen. Das wird oft in größeren Büros eingesetzt, verursacht aber ins-
gesamt einen großen Datenverkehr auf Servern.
Im Gegenzug dazu steht das FatClient-Modell, wo der Server sich nur um die Daten
kümmert (z.B. ist der Server eine Datenbank) und den Rest macht der Client
ˆ 

  • multi-tier architecture:
    Es gibt unterschiedliche Tiers, die strikt voneinander getrennt sind und auch nur
    ganz bestimmte Aufgaben haben. Diese beeinhalten meist auch Client-Server Be-
    ziehungen
    Ein Beispiel hierfür ist die 3-Tier-Architecture:
    Es gibt Klienten, einen Server,auf dem die ganze Logik läuft und einen mit ihm ver-
    bundenen Server, der sich um die Daten kümmert.
    Manchmal benutzt man auch 4 Tier Architektur, wenn man noch einen Webserver
    hat.
    Der Vorteil liegt auf der Hand, man kann an den passenden Stellen noch Server
    einfügen, um die Leistung zu erhöhen. Somit kann man punktuell nachbessern.


  • distributed object architecture:
    Hier gibt es keine Unterscheidung mehr. Jedes Objekt kann mal Leistungen anbieten
    und mal welche in Frage nehmen. Dementsprechend hat es sich in der Praxis nicht
    durchgesetzt.


Einige Vorteile von dieser Art von Systemen:
Ressourcen werden geteilt und somit gespart, es ist offen, sehr fehlertolerant, weil ande-
re übernehmen können und vor allem die Nebenläufigkeit/Parallelität läuft hervorragend.
Nachteile sind beispielsweise die Komplexität, die Sicherheit, da man keinen Einfluss auf
die einzelnen Knoten mehr hat, die Unvorhersehbarkeit und die Testbarkeit ist auch stark
eingeschränkt, weil alles so verteilt ist.
Die Sachen werden in Deployment Diagrammen dargestellt. Nochmal in den Folien
anschauen!

SoftwareTechnik Teil 1

 Associations

Eine Assoziation ist eine Beziehung zwischen zwei Konzeptklassen. Diese enthält Infor-
mationen über den Namen, die Multiplizität und die Leserichtung.
Man sollte sich immer nur auf die beschränken, die einen Mehrwert haben, sonst wird
alles zu unübersichtlich.
Aufpassen bei der Multiplizität, diese gibt nicht an, wie viel insgesamt geht, sondern nur
wie viele Sachen zu einem bestimmten Moment miteinander verbunden sein können.
Eine Beziehung zwischen zwei Klassen sollte man nie über Attribute, sondern immer über
Assoziationen darstellen. Das vereinfacht das Verständnis deutlich!

SoftwareTechnik Teil 1

1 Architectural Patterns

Viele grundlegende Architekturkonzepte wurden schon oft benutzt und durchdacht. Da-
her wurden sie in Patterns zusammengefasst und können einfach verwendet und ange-
passt werden.
Die Unterscheidung zwischen Design Patterns und Architektur Patterns ist nicht so ein-
fach. Vereinfacht kann man sagen, dass wenn ein Pattern die Grenzen von Architektur-
elementen (z.B. Layers) überschreitet, dann ist es auch ein Architekturpattern.
Man sollte aber aufpassen, denn manchmal werden Architectural Style, Reference Archi-
tecture und Architectural Pattern mehr oder weniger Synonym verwendet.

SoftwareTechnik Teil 1

Layered Architecture

Application Layer

Dieser Teil des Systems kümmert sich um ankommende Anfragen. Sie kümmert sich um
die Operationen, um die Reihenfolge der Operationen und merkt sich, was man gerade
überhaupt macht.
In kleinen Systemen kann sie wegfallen, das ist aber wirklich nur bei kleinen möglich
13.9.3 Domain Layer

SoftwareTechnik Teil 1

Agile Development

Agile Entwicklung hat sich vier grundlegende Statuten gesetzt:
ˆ 

  • Das Individuum steht über den Prozessen und Werkzeugen
  • Eine funktionierende Software ist wichtiger als eine perfekte Dokumentation
  • Zusammenarbeit mit dem Kunden anstatt ständige Verhandlungen über Verträge,
    Geld,...
  • Auf Änderungen reagieren und nicht immer einem konkreten Plan folgen.


Oberste Priorität ist es, einen glücklichen Kunden zu haben, offen zu sein für Verände-
rung und gut zusammenarbeitende, motivierte Mitarbeiter.
Ein weiterer wichtiger Fokus liegt auf guter Codequalität und nachhaltiger Entwicklung,
so dass man immer einen konstanten Fortschritt hat. Außerdem sollte man alles so sim-
pel wie möglich halten, um so nicht mehr Arbeit als nötig zu machen.
In regelmäßigen Abständen setzt sich auch das Team zusammen und überlegt sich, wie
sie nocht effektiver werden können.
Vorteile des Modells:


  • ˆ Einfach zu managen
  • Viel Feedback und dadurch schnelle Reaktion auf Veränderungen/Fehler

Nachteile:


  • Man braucht viele und regelmäßige Refactoring Zyklen, da viel verändert wird
  • Man kann es als Ausrede dafür benutzen, keinen Plan zu haben
  • Bei sehr großen Projekten oft schwer möglich, aufgrund z.B. externer Partner in
    unterschiedlichen Zeitzonen
  • Durch viele Änderungen zwischendurch kann der Code unschön werden und sich
    die Wartbarkeit verschlechtern


Allgemein lohnt es sich nur, wenn es um kleine bis mittelgroße Projekte geht und man

engen Kundenkontakt pflegen kann.

SoftwareTechnik Teil 1

10.12 Iterative Use Case Elaboration

Voll ausformulierte Use-Cases sind komplex, daher definiert man diese iterativ.
Daher gibt es drei Formate:


1. Brief use case: Name und kurze knappe Erfolgsbeschreibung


2. Casual use case: Weitere Konditionen hinzufügen


3. Fully dressed use case: Weitere Handlungsschritte und mehr hinzufügen


Beim Schreiben von Fully Dressed Use Cases sollte man sich immer ein Ping-Pong Spiel
vorstellen. Ein User gibt einen Input, das System macht irgendwas und generiert dann
einen Output.
Beim Aufschreiben sollte man einerseits so präzise wie möglich, andererseits sollte man
nicht zu viel UI beschreiben.

SoftwareTechnik Teil 1

User Stories

Diese werden auf Karteikarten gesammelt und beinhalten Anforderungen, die ein Benut-
zer an die Software hat.
Sie sollten einen Namen, eine kurze textuelle Beschreibung und Akzeptanzkriterien ent-
halten. Außerdem eine Benutzerrolle, die gewünschte Funktion und den Nutzen

SoftwareTechnik Teil 1

Software Prototyping

Ein Prototyp ist eine erste Version eines Systems, das zu Demonstrationszwecken und
zum Ausprobieren von Designoptionen verwendet wird. Das wird vor allem in sequenti-
ellen Prozessmodellen verwendet.
Nach Boehms zweitem Gesetzt reduzieren Prototypen größere Fehler, vor allem in Inter-
faces.
Ein Prototyp kann ganz unterschiedlich aussehen, das können Zeichnungen auf Papier
sein oder ausführbare Prototypen mit Vereinfachungen oder Anpassungen.
Die Vorteile liegen auf der Hand: Man kann die Usability verbessern und erreicht eine
bessere Interpretation der Wünsche der Kunden durch das Feedback.
Man sollte aber aufpassen, einen Prototyp nicht zu einem Increment in einem IID-Modell
zu missbrauchen. Das widerspricht dem Konzept eines IID, das als Ziel hat, einen funktio-
nierenden Teil von gut verstandenen Anforderungen zu liefern, den man auch ausliefern
kann.
Der Prototyp ist dagegen nur ein Versuch, schlecht verstandene Anforderungen zu vali-
dieren.
Er sollte nach seiner Entwicklung und seiner Benutzung gelöscht werden!

SoftwareTechnik Teil 1

Rational Unified Process RUP

Mit der Entwicklung des Rational Unified Process Model ist auch UML entstanden.
Prinzipiell ist dieses Modell so aufgebaut, dass es bestimmte Rollen und Aufgaben ver-
gibt:
ˆ 

  • Rollen: Wer hat welche Fähigkeiten und ist für was verantwortlich?
    ˆ
  • Aktivitäten/Aufgaben: Ein Paket, das von einer bestimmten Rolle bearbeitet werden
    muss. Dieses beeinflusst die Workflows einer Interation
    ˆ 
  • Artifacts: Das sind die Ergebnisse eines Tasks, beispielsweise Modelle, Dokumenta-
    tionen,...

Auch dieses Modell besteht aus mehreren Phasen:

  • 1. Inception: Hier wird das Projekt definiert, Kosten berechnet, ein Plan aufgestellt und eine Projektumgebung vorbereitet. Des Weiteren wird eine Architektur aufgestellt.
  • 2. Elaboration: Hier werden die Anforderungen genauer aufgearbeitet, die vorher aufgestellte Architektur validiert und verfeinert.


  • 3. Construction:Hier wird das System modelliert, implementiert und getestet. Außerdem wird eine Dokumentation angefertigt


  • 4. Transition: Das System wird getestet, auch von Benutzern und Verbesserungen werden eingeführt. Anschließend wird es ausgeliefert.


Das RUP-Modell ist aber sehr ausführlich und intensiv, alleine die Dokumentation bein-

haltet über 5000 Seiten, somit ist es in dieser Form eher nicht praxisrelevant

SoftwareTechnik Teil 1

Process of RE

RE ist ein kooperativer, iterativer Prozess aus: 1. Requirements Elicitation: Hier werden
Ziele dokumentiert, Szenarios aufgestellt und erstmal das Problem analysiert.
2. Requirements Documentation (extrem wichtig): Diese kreiert SRS
3. Cross-cutting actions: Validierung und Management der Requirements
Wichtig ist es, alle relevanten Requirements aufzufassen und sich mit den Stakeholdern
auszutauschen, was geht und was besonders wichtig ist.

SoftwareTechnik Teil 1

Software Requirements Specification

Diese wird immer wichtig am Beginn (zur Erarbeitung) und am Ende (um zu schauen,
was eingehalten wurde) eines Projekts.
Damit gehört sie zweifellos zu einer der wichtigsten Punkte und sollte daher klar und
verständlich, konsistent, komplett, verifizierbar und priorisierbar geschrieben sein.
Dieses Dokument enthält alle Beschreibungen vom externen Verhalten der Software in-
klusive Referenzen auf Modelle und standardisierte Use Cases sowie Templates.
Der Fokus bleibt dabei aber auf dem „was“ und nicht dem wie und das System bleibt ne BlackBox


Es enthält meistens ein generelles Intro mit dem Sinn, Stakeholdern,... eine Allgemeine
Beschreibung und Anforderungen an Funktionalität und Qualität

Sign up for free to see all flashcards and summaries for SoftwareTechnik Teil 1 at the Universität Würzburg

Singup Image Singup Image
Wave

Other courses from your degree program

For your degree program SoftwareTechnik Teil 1 at the Universität Würzburg there are already many courses on StudySmarter, waiting for you to join them. Get access to flashcards, summaries, and much more.

Back to Universität Würzburg overview page

E-Business Fundamentals

Einführung in die Wirtschaftsinformatik

Einführung in die BWL

Beschaffung, Produktion und Logistik - Grundlagen

Einführung in die Betriebswirtschaftslehre

Softwaretechnik at

LMU München

Softwaretechnik at

TU München

Softwaretechnik 1 at

Hochschule Reutlingen

Softwaretechnik at

Universität Mannheim

Softwaretechnik at

Hochschule Ruhr West

Similar courses from other universities

Check out courses similar to SoftwareTechnik Teil 1 at other universities

Back to Universität Würzburg overview page

What is StudySmarter?

What is StudySmarter?

StudySmarter is an intelligent learning tool for students. With StudySmarter you can easily and efficiently create flashcards, summaries, mind maps, study plans and more. Create your own flashcards e.g. for SoftwareTechnik Teil 1 at the Universität Würzburg or access thousands of learning materials created by your fellow students. Whether at your own university or at other universities. Hundreds of thousands of students use StudySmarter to efficiently prepare for their exams. Available on the Web, Android & iOS. It’s completely free.

Awards

Best EdTech Startup in Europe

Awards
Awards

EUROPEAN YOUTH AWARD IN SMART LEARNING

Awards
Awards

BEST EDTECH STARTUP IN GERMANY

Awards
Awards

Best EdTech Startup in Europe

Awards
Awards

EUROPEAN YOUTH AWARD IN SMART LEARNING

Awards
Awards

BEST EDTECH STARTUP IN GERMANY

Awards
X

StudySmarter - The study app for students

StudySmarter

4.5 Stars 1100 Rating
Start now!
X

Good grades at university? No problem with StudySmarter!

89% of StudySmarter users achieve better grades at university.

50 Mio Flashcards & Summaries
Create your own content with Smart Tools
Individual Learning-Plan

Learn with over 1 million users on StudySmarter.

Already registered? Just go to Login