Blatt 5,6,7,8,9 Flashcards
Test Driven Development
“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.
Entwicklungsteams
“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.
digitales Modell
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.
Modellieren
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.
Modeling Guideline
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.
IT-Werkzeug
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.
Ontologie
Eine formale Darstellung von Wissen, die die Beziehungen zwischen verschiedenen Konzepten in einem bestimmten Bereich beschreibt.
Funktionale Anforderungen
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.
nicht-funktionale Anforderungen
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.
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. 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.
SysML und UML
SysML (Systems Modeling Language) ist eine Erweiterung der Unified Modeling Language (UML).
Syntaktik
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.
Pragmatik
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.
Semantik
“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.
Funktionalarchitektur
Die “Funktionalarchitektur” im Software Engineering beschreibt die Struktur und Organisation der funktionalen Elemente eines Softwaresystems sowie deren Interaktionen.