Blatt 5,6,7,8,9 Flashcards

1
Q

Test Driven Development

A

“Test Driven Development” ist eine Softwareentwicklungspraktik, bei der Tests vor der eigentlichen Implementierung des Codes geschrieben werden. Der Entwicklungsprozess folgt dem Zyklus von
“Red-Green-Refactor”, wobei zunächst ein Test geschrieben wird, dann der Code implementiert wird, um den Test zu bestehen, und anschließend der Code bei Bedarf verbessert wird, ohne die
Funktionalität zu beeinträchtigen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Entwicklungsteams

A

“Entwicklungsteams” im Rahmen des Software-Engineerings sind Gruppen von Fachleuten, die gemeinsam an der Konzeption, Entwicklung, Implementierung und Wartung von Softwareprodukten arbeiten. Diese Teams bestehen oft aus Softwareentwicklern, Testern, Designern und anderen Spezialisten, die zusammenarbeiten, um Softwareprojekte erfolgreich umzusetzen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

digitales Modell

A

Eine abstrakte Repräsentation eines Systems oder Prozesses, die durch digitale Mittel, wie Software, erstellt wird. Diese Modelle können zur Analyse, Planung, Simulation und Dokumentation von Softwareprojekten
verwendet werden, um eine bessere Verständlichkeit und Steuerbarkeit während des Entwicklungsprozesses zu gewährleisten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Modellieren

A

Ist ein Prozess der Erstellung von abstrakten
Repräsentationen von Software-Systemen, um deren Struktur, Verhalten und Interaktionen zu visualisieren. Diese Modelle dienen als Grundlage für die Planung, Entwicklung und Analyse von Software und ermöglichen eine bessere Kommunikation zwischen den Mitgliedern eines
Entwicklungsteams.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Modeling Guideline

A

Richtlinien und Best Practices, die bei der Erstellung von Modellen verwendet werden, um Klarheit, Konsistenz und Verständlichkeit
sicherzustellen. Diese Leitlinien unterstützen Entwicklerteams dabei, effektive Modelle zu erstellen, die die Struktur, das Verhalten und andere relevante Aspekte eines Software-Systems präzise darstellen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

IT-Werkzeug

A

Eine Softwareanwendung oder ein Programm, das von Entwicklern und Ingenieuren verwendet wird, um verschiedene Aufgaben im Softwareentwicklungsprozess zu unterstützen. Solche Werkzeuge können
Funktionen wie Codierung, Debugging, Versionskontrolle, Projektmanagement und
Testautomatisierung umfassen, um die Effizienz und Qualität der Softwareentwicklung zu
verbessern.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Ontologie

A

Eine formale Darstellung von Wissen, die die Beziehungen zwischen verschiedenen Konzepten in einem bestimmten Bereich beschreibt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Funktionale Anforderungen

A

Spezifische und messbare Beschreibungen von Funktionen oder Dienstleistungen, die ein Softwareprodukt bereitstellen muss. Sie definieren, welche Aufgaben das System erfüllen soll, welche Funktionen es haben muss und wie es auf bestimmte Eingaben reagieren sollte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

nicht-funktionale Anforderungen

A

Qualitätsanforderungen (auch nicht-funktionale Anforderungen genannt): betreffen Eigenschaften der Software, die nicht unmittelbar mit spezifischen Funktionalitäten verbunden sind. Dazu gehören Leistungsmerkmale, Sicherheit, Benutzerfreundlichkeit und Zuverlässigkeit. Diese Anforderungen legen die Standards und Kriterien fest, anhand derer die Leistung und Qualität des Systems bewertet
werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Geben Sie bei den nachfolgenden Punkten an, ob es sich um Elemente innerhalb oder außerhalb der Systemgrenze handelt und begründen Sie die
Antwort

A

a. Benutzerschnittstelle: Innerhalb der Systemgrenze. Die Benutzerschnittstelle ist ein integraler Bestandteil des Online-Shops und ermöglicht die Interaktion mit den Benutzern innerhalb des Systems.

b. Warenkorb- und Zahlungssystem: Innerhalb der Systemgrenze. Der Warenkorb und das Zahlungssystem gehören zum Funktionsumfang des Online-Shops und sind Teil des Systems.

c. Zahlungs-Gateway: Innerhalb und außerhalb der Systemgrenze. Die Schnittstelle zum Zahlungs-Gateway befindet sich außerhalb des Systems, da es eine externe Dienstleistung für die Zahlungsabwicklung ist, aber die Integration damit erfolgt innerhalb der Systemgrenze.

d. Versanddienstleister: Außerhalb der Systemgrenze. Der Versanddienstleister ist extern und erbringt eine Dienstleistung nach dem Kaufprozess des Online-Shops.

e. Produktverwaltung: Innerhalb der Systemgrenze. Die Produktverwaltung ist ein Bestandteil des
Online-Shops und erfolgt innerhalb des Systems.

f. Benutzerdatenbank: Innerhalb der Systemgrenze. Die Benutzerdatenbank speichert Benutzerinformationen und ist Teil des Systems.

g. Betriebssystem: Außerhalb der Systemgrenze. Das Betriebssystem, auf dem der Online-Shop läuft, ist eine externe Umgebung und liegt außerhalb der Systemgrenze des Online-Shops.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

SysML und UML

A

SysML (Systems Modeling Language) ist eine Erweiterung der Unified Modeling Language (UML).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Syntaktik

A

Der Begriff “Syntaktik” bedeutet im Rahmen des Software Engineerings auf die formale Struktur oder Grammatik von Programmiersprachen oder anderen formalen Sprachen. Es beschreibt die
korrekte Anordnung von Symbolen und Zeichen, um gültige und grammatikalisch richtige Programme oder Ausdrücke zu erstellen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Pragmatik

A

In der Softwaretechnik bezieht sich “Pragmatik” auf die Bedeutung und den Kontext, in dem Software entwickelt und eingesetzt wird. Dies umfasst Aspekte wie die Anpassung von Softwarelösungen an spezifische Anforderungen, die Effizienz der Implementierung sowie die Berücksichtigung von Benutzererwartungen und Anwendungskontexten, um praktikable und nützliche Softwareprodukte zu schaffen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Semantik

A

“Semantik” umfasst im Software Engineering die Bedeutung und Interpretation von Programmcodes und Datenstrukturen. Es beschäftigt sich mit der genauen Bedeutung von Programmanweisungen und Datenobjekten, um sicherzustellen, dass die Software korrekt funktioniert und die
beabsichtigten Operationen gemäß den Anforderungen durchführt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Funktionalarchitektur

A

Die “Funktionalarchitektur” im Software Engineering beschreibt die Struktur und Organisation der funktionalen Elemente eines Softwaresystems sowie deren Interaktionen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Stakeholder

A

Personen oder Gruppen, die ein Interesse an einem Softwareprojekt haben oder davon beeinflusst werden können. Dies können Kunden, Benutzer, Entwickler, Manager oder andere relevante Parteien sein, deren Anforderungen und Erwartungen bei der Softwareentwicklung berücksichtigt werden müssen.

17
Q

Softwaremetrik

A

Ist quantitative Maße, die verwendet werden, um verschiedene Aspekte von Softwarequalität, -komplexität und -
effizienz zu bewerten.

18
Q

Softwarearchitektur

A

Softwarearchitektur bezeichnet die strukturierte Organisation von Softwarekomponenten, deren Interaktionen und das Design des Systems als Ganzes.

19
Q

Modellelement

A

Eine abstrakte Darstellung oder Repräsentation eines Teils eines Software-Modells

20
Q

Use Case vs User Story

A

“Use Case” eine Beschreibung der Interaktionen, Abläufe und Ergebnisse, die durch die Verwendung eines Systems zwischen einem Benutzer (oder
einer externen Entität) und der Software auftreten.

“User Story” eine informelle, alltagsnahe
Beschreibung einer Funktion oder Anforderung aus der Perspektive eines Endbenutzers. User Stories
werden häufig in agilen Entwicklungsmethoden verwendet, um Anforderungen in leicht
verständlicher Form zu kommunizieren und den Fokus auf die Benutzerperspektive zu legen.

21
Q

(syntaktische, semantische und pragmatische Qualität). Überprüfen Sie, ob das folgende Modell die Qualitätskriterien erfüllt.

A

Syntaktische Qualität, d.h. entspricht Notation den Regeln der Sprache
○ Fehlerhaft ist in dem Fall die Ausrichtung der Pfeile für “refine”, “deriveReqt” und
“verify”. Die Pfeile müssten in die entgegengesetzte Richtung (also in Richtung des Blocks “requirement: Acceleration”) zeigen. Zudem ist der Pfeil zwischen “statemachine: Ready” und “requirement: Acceleration” nicht beschriftet.
* Semantische Qualität, d.h. ist ausgedrückt, was dargestellt werden soll?
○ Was des groben Überblick angeht - ja. Jedoch sind keine Requirement-Texts und
Requirement-IDs angegeben, was ein detaillierteres Arbeiten und den Fortschritt am Projekt erschweren würde.
* Pragmatische Qualität, d.h. ist Modell für vorgesehen Zweck geeignet?
○ Grundsätzlich ja, jedoch wäre ein weiteres Element wie “block: PowerSubsystem” (siehe
VL letzte Folie) angebracht. Des Weiteren wären eine Requirement-ID für jedes
Modellelement und ein Requirement-Text ebenfalls ganz praktisch

22
Q

Was zeigt ein Use Case Diagramm NICHT (1 Antwort) – Begründen Sie Ihre Antwort (2-3 Sätze)?

A

(1) Die Schnittstellen der Software bzw. des Systems
(2) Die Prozessschritte eines Anwendungsszenarios bzw. einer Applikation ist richtig
(3) Die Akteure einer Applikation
(4) Die Grenze zwischen einer Applikation zu ihrer Umgebung
(5) Die Funktionalität einer Applikation

Die Prozessschritte eines Anwendungsszenarios bzw. einer Applikation. Ein Use Case Diagramm gibt einen Überblick über die Funktionalitäten und die Interaktion zwischen Akteuren und Use Cases, jedoch nicht die detaillierten Schritte oder Prozesse innerhalb der Use Cases selbst.

23
Q

Nebenläufigkeit

A

Nebenläufigkeit bedeutet, dass Aktionen zeitlich unabhängig voneinander ablaufen können, ohne zwangsläufig gleichzeitig stattzufinden. In diesem Kontext bildet die Semantik den Abschluss mehrerer paralleler Sequenzen in einer Aktivität ab.

24
Q

Erklären Sie am Beispiel der Room Control Unit die zwei Hauptanwendungsgebiete des Activity Diagram

A

Ein Activity-Diagramm für die Room Control Unit modelliert Benutzerinteraktionen und interne Systemabläufe, einschließlich Aufgaben wie Raumtemperaturanpassung und Lichtsteuerung, um Benutzerbedürfnisse zu verstehen und die Benutzeroberfläche anzupassen. Darüber hinaus kann es die Funktionalitäten des Systems, wie Datenübertragung über die Cloud und Sicherheitswarnungsverarbeitung, veranschaulichen, um interne Abläufe klar darzustellen.

25
Q
A