101-200 Flashcards
(100 cards)
Was ist ein Prototyp?
Prototyping bzw. Prototypenbau ist eine Methode der Softwareentwicklung, die schnell zu ersten Ergebnissen führt und frühzeitiges Feedback bezüglich der Eignung eines Lösungsansatzes ermöglicht. Dadurch ist es möglich, Probleme und Änderungswünsche frühzeitig zu erkennen und mit weniger Aufwand zu beheben, als es nach der kompletten Fertigstellung möglich gewesen wäre.
Unterschied zwischen Alpha-, Beta-, Kandidaten-, und
Freigabeversion?
Alpha-Version Die erste zum Test durch Fremde (nicht Entwickler) bestimmte Version eines Computerprogramms wird oft Alpha-Version genannt. Enthält in der Regel eine Alpha-Version bereits die grundlegenden Bestandteile des Programms.
Eine Beta-Version ist eine unfertige Version eines Computerprogramms. Häufig sind Beta-Versionen die ersten Versionen eines Programms, die vom Hersteller zu Testzwecken veröffentlicht werden. Als Betatester bezeichnet man im Allgemeinen den oder die ersten unabhängigen beziehungsweise anonymen Fremdtester und Anwender. Ein Release Candidate, gelegentlich auch als Prerelease bezeichnet, ist eine abschließende Testversion einer Software. Darin sind alle Funktionen, die die endgültige Version der Software enthalten soll, schon verfügbar (sogenannter feature complete), alle bis dahin bekannten Fehler sind behoben. Aus dem Release Candidate wird vor der Veröffentlichung die endgültige Version erstellt, um einen abschließenden Produkttest oder Systemtest durchzuführen. Die fertige und veröffentlichte Version einer Software wird als Release bezeichnet. Damit geht eine Veränderung der Versionsbezeichnung, meist ein Hochzählen der Versionsnummer einher.
Unterschied zwischen Modul-, Integrations-, und Systemtest?
Integrationstest Der Integrationstest bzw. Interaktionstest testet die Zusammenarbeit voneinander abhängiger Komponenten. Der Testschwerpunkt liegt auf den Schnittstellen der beteiligten Komponenten und soll korrekte Ergebnisse über komplette Abläufe hinweg nachweisen. Systemtest Der Systemtest ist die Teststufe, bei der das gesamte System gegen die gesamten Anforderungen (funktionale und nicht-funktionale Anforderungen) getestet wird. Gewöhnlich findet der Test auf einer Testumgebung statt und wird mit Testdaten durchgeführt. Die Testumgebung soll die Produktivumgebung des Kunden simulieren, d. h. ihr möglichst ähnlich sein. In der Regel wird der Systemtest durch die realisierende Organisation durchgeführt. Ein Modultest (auch Komponententest oder oft vom engl. unit test als Unittest bezeichnet) wird in der Softwareentwicklung angewendet, um die funktionalen Einzelteile (Module) von Computerprogrammen zu testen, d. h. sie auf korrekte Funktionalität zu prüfen.
Welche Softwaretestverfahren gibt es?
Black-Box-Test Testfälle über die Funktionalität. Innere Strukturen oder Implementierung bleiben unbetrachtet. -Funktionsüberdeckung -Eingabeüberdeckung -Ausgabeüberdeckung
White-Box-Test
Überprüfung des Codes.
… bei der die Tests mit Kenntnissen über die innere
Funktionsweise des zu testenden Systems entwickelt werden.
(Grey-Box-Test)
Was versteht man unter dem Begriff Change-Management?
Unter Veränderungsmanagement (englisch change management) lassen sich alle Aufgaben, Maßnahmen und Tätigkeiten zusammenfassen, die eine umfassende, bereichsübergreifende und inhaltlich weitreichende Veränderung – zur Umsetzung neuer Strategien, Strukturen, Systeme, Prozesse oder Verhaltensweisen – in einer Organisation bewirken sollen. Mit der Verfolgung von Änderungen an Produkten befasst sich das Änderungswesen.
Was versteht man unter dem Begriff Traceability?
Die Rückverfolgbarkeit (engl.: traceability) bedeutet, dass zu einem Produkt oder zu einer Handelsware jederzeit festgestellt werden kann, wann und wo und durch wen die Ware gewonnen, hergestellt, verarbeitet, gelagert, transportiert, verbraucht oder entsorgt wurde.
Wie lassen sich Informationssystementwicklungsmodelle
gliedern?
Softwareentwicklungsprozesse
(Wasserfallmodell, Spiralmodell)
Softwarelebenszyklusmanagement
(Phasenmodell, ISO 12207)
Softwareentwicklungs-Philosophie
(Extrem Programmierung, Prototyping, Rational Unified
Process, Scrum, Kanban)
Erläutern Sie das klassische und erweiterte
Wasserfallmodell.
klassisch: nur eine Richtung – erweiterte: in beide Richtungen
* Grafik Seite 214*
Erläutern Sie die Eigenschaften inkrementeller
Softwareentwicklungsprozesse.
Das inkrementelle Vorgehensmodell beschreibt einen Prozess der kontinuierlichen Verbesserung, der häufig in kleinen oder sogar kleinsten Schritten vollzogen wird. Die agile Softwareentwicklung basiert auf einem inkrementellen Vorgehen, Wikis arbeiten ebenso nach diesem Prinzip.
Was zeichnet die iterative Softwareentwicklung aus?
Iterative Entwicklung ist eine Strategie zur Überarbeitungsplanung, die Zeit für laufende Revision und Verbesserung der Teile des Systems vorsieht. Sie setzt eine inkrementelle Entwicklung nicht voraus, passt aber sehr gut zu ihr. Ein Unterschied ist, dass das Ergebnis eines inkrementellen Arbeitsschritts nicht notwendigerweise Gegenstand weiterer Überarbeitung ist, noch dienen Ergebnisse aus Tests und Benutzerreaktionen als Vorgabe für nachfolgende Arbeitsschritte. Das Ergebnis einer Iteration hingegen wird auf notwendige Änderungen untersucht, vor allem hinsichtlich einer Anpassung der Ziele späterer Iterationen. Wesentliche Schritte im Prozess:
mit einer einfachen und ausbaufähigen Implementierung einer definierten
Untermenge der zu diesem Zeitpunkt bekannten Systemanforderungen
anzufangen.
schrittweise mit zunehmender Kenntnis der sinnvollen
Systemanforderungen die sich entwickelnden Versionen bis zur
vollständigen Implementierung des Systems auszubauen
bei jeder Iteration den Entwurf anzupassen - wobei hier zwischen
Iterationen zur Implementierung neuer Funktionen und Iterationen zur
Verbesserung der Systemarchitektur (Refactoring) zu unterscheiden ist
Vorteile der iterativen Programmierung?
Die iterative Programmierung (von lat. iterare = wiederholen) verwendet im Gegensatz zur rekursiven Programmierung keine Selbstaufrufe, sondern Schleifen (Wiederholungen von Anweisungen oder Anweisungsfolgen). Prinzipiell lassen sich rekursive Algorithmen auch iterativ implementieren und umgekehrt.
Wie lauten die Zyklen des Spiralmodells?
Grafik Seite 222
Was ist das V-Modell XT?
Das V-Modell XT ist ein Vorgehensmodell zum Entwickeln von IT-Systemen. Es deckt im Wesentlichen die Disziplinen Projektmanagement, Qualitätssicherung, Ausschreibung und Vergabe sowie die Systementwicklung ab. Es ist durch den öffentlichen Auftraggeber verpflichtend im Rahmen von Ausschreibungen anzuwenden und besitzt somit auch für die Wirtschaft eine hohe Relevanz.
Was sind agile Entwicklungsprozessmodelle?
- Adaptive Software Development (ASD)
- Crystal
- Extreme Programming (XP)
- Feature Driven Development (FDD)
- Kanban
- Scrum
- Agiles Testen
- Behavior Driven Development (BDD)
Wie lauten die agile Grundprinzipien?
• Zufriedenstellung des Kunden durch frühe und kontinuierliche
Auslieferung von wertvoller Software
• Agile Prozesse nutzen Veränderungen (selbst spät in der Entwicklung) zum Wettbewerbsvorteil des Kunden.
• Lieferung von funktionierender Software in regelmäßigen, bevorzugt kurzen Zeitspannen (wenige Wochen oder Monate)
• Nahezu tägliche Zusammenarbeit von Fachexperten und Entwicklern während des Projektes (Bsp.: Gemeinsamer Code-Besitz)
• Bereitstellung des Umfeldes und der Unterstützung, welche von motivierten Individuen für die Aufgabenerfüllung benötigt wird
• Informationsübertragung nach Möglichkeit im Gespräch
• Als wichtigstes Fortschrittsmaß gilt die Funktionsfähigkeit der Software
• Einhalten eines gleichmäßigen Arbeitstempos von Auftraggebern, Entwicklern und Benutzern für eine nachhaltige Entwicklung
• Ständiges Augenmerk auf technische Exzellenz und gutes Design
• Einfachheit ist essenziell (KISS-Prinzip)
• Selbstorganisation der Teams bei Planung und Umsetzung
Erläuterung von SCRUM, sowie den Abläufen, Rollen und Komponenten?
Scrum ist ein Vorgehensmodell des Projekt- und Produktmanagements und ist insbesondere ein Vorgehensmodell zur agilen Softwareentwicklung. Scrum wurde ursprünglich in der Softwaretechnik entwickelt, ist aber davon unabhängig. Scrum wird inzwischen in vielen anderen Domänen eingesetzt. Scrum ist eine Umsetzung von Lean Development für das Projektmanagement. Scrum besteht nur aus wenigen Regeln. Diese Regeln definieren fünf Aktivitäten, drei Artefakte und drei Rollen, die den Kern von Scrum ausmachen. Die Regeln sind im Agile Atlas oder Scrum Guide definiert. Das Scrum-Framework muss durch Techniken für die Umsetzung der Aktivitäten, Artefakte und Rollen konkretisiert werden, um Scrum tatsächlich umsetzen zu können. Der Kern von Scrum wurde von den Umsetzungstechniken getrennt, um einerseits die zentralen Elemente und Wirkungsmechanismen klar zu definieren, andererseits große Freiheiten bei der individuellen Ausgestaltung zu lassen. Scrum Master, Backlog, Sprint, Daily Sprint, Product Backlog, Sprint Review,
Was ist die Authentifikation?
Identitätsprüfung eines Benutzers als Zugangs- und
Rechtekontrolle für ein System (z.B. durch Passwort)
Was versteht man unter Datenauthentizität?
Die Bedrohung der Authentizität (Verbindlichkeit) betrifft vor allem Daten, insbesondere Dokumente und Urkunden, die elektronisch übertragen werden. Es ist daher alles Notwendige zu unternehmen, um zu verhindern, daß zu der richtigen Herkunft solcher Daten Zweifel bestehen können und die Urheber dieser Daten korrekt authentifiziert werden können. Allerdings kann es in bestimmten Anwendungszusammenhängen auch wichtig sein, daß die Authentizität von Programmen und von Hardware und anderen erforderlichen Mittel garantiert werden muß (z.B. im elektronischen Zahlungsverkehr).
Was ist Datenintegrität und wie kann man sie gewährleisten?
Integrität (von lateinisch integritas ‚Unversehrtheit‘, ‚Reinheit‘, ‚Unbescholtenheit‘) ist neben Verfügbarkeit und Vertraulichkeit eines der drei klassischen Ziele der Informationssicherheit. Eine einheitliche Definition des Begriffs Integrität gibt es nicht. In den Evaluationskriterien für Informationssicherheit der frühen 1990er Jahre (ITSEC) wird Integrität definiert als „Verhinderung unautorisierter Modifikation von Information“.[1] Laut Glossar des Bundesamtes für Sicherheit in der Informationstechnik bezeichnet Integrität die „Korrektheit (Unversehrtheit) von Daten und der korrekten Funktionsweise von Systemen“.[2] Demgegenüber werden in [3] verschiedene Arten von Integrität definiert
Nennen Sie Beispiele für Hash-Algorithmen
Eine Hashfunktion (auch Streuwertfunktion) ist eine Abbildung, die eine große Eingabemenge (die Schlüssel) auf eine kleinere Zielmenge (die Hashwerte) abbildet – sie ist daher im Allgemeinen nicht injektiv. Dabei kann die Eingabemenge auch Elemente mit unterschiedlichen Längen enthalten, die Elemente der Zielmenge haben dagegen meist eine feste Länge.
Was versteht man unter asymmetrischer Krytografie?
Ein asymmetrisches Kryptosystem oder Public-Key-Kryptosystem ist ein kryptographisches Verfahren, bei dem im Gegensatz zu einem symmetrischen Kryptosystem die kommunizierenden Parteien keinen gemeinsamen geheimen Schlüssel zu kennen brauchen. Ein Benutzer erzeugt hier ein Schlüsselpaar, das aus einem geheimen Teil (privater Schlüssel) und einem nicht geheimen Teil (öffentlicher Schlüssel) besteht. Der öffentliche Schlüssel ermöglicht es jedem, Daten für den Inhaber des privaten Schlüssels zu verschlüsseln, dessen digitale Signaturen zu prüfen oder ihn zu authentifizieren. Der private Schlüssel ermöglicht es seinem Inhaber, mit dem öffentlichen Schlüssel verschlüsselte Daten zu entschlüsseln, digitale Signaturen zu erzeugen oder sich zu authentisieren.
Was ist ein Risiko?
Risiko ist das Ergebnis möglicher negativer Ausgang bei einer Unternehmung, mit dem Nachteile, Verlust, Schäden verbunden sind; mit einem Vorhaben, Unternehmen o. Ä. verbundenes Wagnis
Was versteht man unter Risikomanagement?
Risikomanagement umfasst sämtliche Maßnahmen zur systematischen Erkennung, Analyse, Bewertung, Überwachung und Kontrolle von Risiken.
Was sind typische Tätigkeiten des Risikomanagements?
Risikomanagement ist nach der Norm ISO 31000: 2009[1] eine Führungsaufgabe, im Rahmen derer die Risiken einer Organisation identifiziert, analysiert und bewertet werden. Hierzu sind übergeordnete Ziele, Strategien und Politik der Organisation für das Risikomanagement festzulegen. Im Einzelnen betrifft dies die Festlegung von Kriterien, nach denen die Risiken eingestuft und bewertet werden, die Methoden der Risikoermittlung, die Verantwortlichkeiten bei Risikoentscheidungen, die Bereitstellung von Ressourcen zur Risikoabwehr, die interne und externe Kommunikation über die identifizierten Risiken (Berichterstattung) sowie die Qualifikation des Personals für das Risikomanagement.