Softwarequalität 3
50 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Welche der folgenden Maßnahmen zielt nicht primär auf die Verbesserung zwischenmenschlicher Beziehungen im Team ab, um so die Softwarequalität zu steigern?

  • Spezialisierte Fortbildungskurse zu Testbarkeit (correct)
  • Förderung von Abstimmung und Konsistenz
  • Teambildung
  • Konfliktmanagement

Was ist kein wesentliches Merkmal eines reifen Prozesses in der Softwareentwicklung gemäß dem Inhalt?

  • Wiederholbarkeit
  • Quantitative Steuerbarkeit
  • Anpassungsfähigkeit
  • Vollständige Automatisierung aller Prozessschritte (correct)

Warum ist die Prozessreife in der Softwareentwicklung so wichtig?

  • Weil sie die Einhaltung von Compliance-Vorschriften garantiert.
  • Weil sie die Anzahl der Codezeilen reduziert.
  • Weil sie die Kreativität der Entwickler fördert.
  • Weil sie eine zielgerichtete Steuerung ermöglicht und somit die Softwarequalität positiv beeinflusst. (correct)

Welchen Vorteil bietet ein gut etablierter Prozess nicht in der Softwareentwicklung?

<p>Vollständige Eliminierung von Fehlern im Entwicklungsprozess (B)</p> Signup and view all the answers

Worauf legen moderne Verfahren in der Softwareentwicklung besonderen Wert?

<p>Darauf, dass Anforderungen von Anfang an fehlerfrei verstanden und laufende Änderungen berücksichtigt werden. (A)</p> Signup and view all the answers

Welche Aussage beschreibt am besten die Rolle von Konfliktmanagement und Teambildung in Bezug auf die Softwarequalität?

<p>Sie verbessern die Softwarequalität indirekt, durch die Förderung besserer Abstimmung und klarerer Schnittstellen. (B)</p> Signup and view all the answers

Wie beeinflusst die Dokumentation reifer Prozesse die Softwareentwicklung?

<p>Sie ermöglicht die Wiederverwendung bewährter Vorgehensweisen. (B)</p> Signup and view all the answers

Was ist das primäre Ziel präventiver Maßnahmen in der Softwareentwicklung?

<p>Die Kompetenzen der Entwickler zu verbessern und so Genauigkeit und Fehlerfreiheit zu fördern. (D)</p> Signup and view all the answers

Warum sind klare Notationskonventionen besonders für Anfänger in der Softwareentwicklung von Bedeutung?

<p>Sie dienen als Wegweiser zu bewährten Methoden und Techniken. (B)</p> Signup and view all the answers

In welchen der folgenden Situationen ist die Einhaltung von Notationskonventionen besonders wichtig?

<p>In Projekten mit mehreren Entwicklern, um die Verständlichkeit und Bearbeitbarkeit des Codes zu gewährleisten. (C)</p> Signup and view all the answers

Welches der folgenden Beispiele stellt eine korrekte Anwendung der snake_case-Konvention in Python dar?

<p><code>meine_variable</code> (C)</p> Signup and view all the answers

Warum ist die Verwendung von Einrückungen und Leerzeichen in Code wichtig?

<p>Um die Struktur des Codes visuell hervorzuheben und die Lesbarkeit zu verbessern. (D)</p> Signup and view all the answers

Was ist der empfohlene Ansatz für Importe in Python gemäß den Notationskonventionen?

<p>Jede Bibliothek in einer separaten Zeile importieren. (B)</p> Signup and view all the answers

Warum sollte man die maximale Zeilenlänge in Python auf 79 Zeichen beschränken?

<p>Um die Lesbarkeit des Codes auf verschiedenen Geräten zu verbessern. (D)</p> Signup and view all the answers

Welches der folgenden Code-Beispiele zeigt die korrekte Anwendung der CamelCase-Konvention für Klassennamen in Python?

<p><code>MeineKlasse</code> (D)</p> Signup and view all the answers

Wie viele Leerzeichen werden pro Einrückungsebene in Python gemäß den Konventionen empfohlen?

<p>4 Leerzeichen (D)</p> Signup and view all the answers

Was ist das Hauptziel konstruktiver Qualitätssicherungsmaßnahmen in der Softwareentwicklung?

<p>Die Entstehung von Fehlern von vornherein zu vermeiden und somit die Qualität des Endprodukts sicherzustellen. (B)</p> Signup and view all the answers

Welchen Vorteil bieten konstruktive Qualitätssicherungsmaßnahmen im Vergleich zu reaktiven Maßnahmen?

<p>Sie reduzieren den Bedarf an nachträglichen Korrekturen und steigern somit die Effizienz. (A)</p> Signup and view all the answers

Was ist laut Schneider (2012) eine notwendige Bedingung, um eine Maßnahme der konstruktiven Qualitätssicherung zuzuordnen?

<p>Die Maßnahme muss einen klar benennbaren und gezielten Bezug zu einem oder mehreren Qualitätsaspekten haben. (B)</p> Signup and view all the answers

Warum ist es wichtig, bei konstruktiven Qualitätssicherungsmaßnahmen zielgerichtet vorzugehen?

<p>Um die Effektivität der Maßnahmen zu maximieren und Ressourcenverschwendung zu vermeiden. (B)</p> Signup and view all the answers

Welches der folgenden Qualitätsmerkmale wird besonders häufig von konstruktiven Maßnahmen adressiert?

<p>Fehlerfreiheit (Korrektheit) (D)</p> Signup and view all the answers

Ein Entwicklerteam entscheidet sich, vor dem eigentlichen Programmieren detaillierte UML-Diagramme zu erstellen, um die Softwarearchitektur zu planen und zu visualisieren. Welches Ziel wird hiermit primär verfolgt?

<p>Vermeidung von Architekturfehlern und daraus resultierenden Problemen in späteren Phasen der Entwicklung. (D)</p> Signup and view all the answers

Ein Softwareunternehmen führt Code-Reviews ein, bei denen erfahrene Entwickler den Code anderer Teammitglieder prüfen, bevor dieser in das Hauptsystem integriert wird. Welchen Zweck erfüllt diese Maßnahme primär im Sinne der konstruktiven Qualitätssicherung?

<p>Potenzielle Fehler und Schwachstellen im Code frühzeitig zu erkennen und zu beheben, bevor sie zu größeren Problemen führen. (C)</p> Signup and view all the answers

Ein Projektmanager setzt auf die Verwendung einer etablierten Design Pattern-Bibliothek für wiederkehrende Aufgaben in einem Softwareprojekt. Welches der folgenden Ziele wird durch diese Maßnahme am ehesten gefördert?

<p>Die Konsistenz, Wartbarkeit und Zuverlässigkeit des Codes zu erhöhen, indem bewährte Lösungen eingesetzt werden. (D)</p> Signup and view all the answers

Warum sind Notationskonventionen in der Softwareentwicklung von großer Bedeutung?

<p>Sie verbessern die Lesbarkeit, Wartbarkeit und erleichtern die Teamarbeit durch einen einheitlichen Programmierstil. (C)</p> Signup and view all the answers

Welche der folgenden Aussagen beschreibt am besten, wie Datenschutzrichtlinien die Softwareentwicklung beeinflussen?

<p>Sie legen fest, wie personenbezogene Daten gesammelt, verarbeitet und gespeichert werden dürfen, um gesetzliche Vorgaben einzuhalten. (D)</p> Signup and view all the answers

Was ist das Hauptziel von User Experience (UX)-Richtlinien im Kontext der Softwareentwicklung?

<p>Die Gestaltung benutzerfreundlicher Schnittstellen, die Zugänglichkeit, Konsistenz und intuitive Bedienbarkeit berücksichtigen. (A)</p> Signup and view all the answers

Inwiefern tragen Notationskonventionen zur Softwarequalität bei?

<p>Sie erhöhen die Lesbarkeit und Wartbarkeit des Codes, was zu weniger Fehlern und effizienterer Zusammenarbeit führt. (C)</p> Signup and view all the answers

Welche Aussage beschreibt den Zusammenhang zwischen Notationskonventionen und Teamarbeit am besten?

<p>Notationskonventionen vereinfachen die Teamarbeit, da ein gemeinsamer Standard die Code-Überprüfung erleichtert und Zeit spart. (B)</p> Signup and view all the answers

Warum ist die Berücksichtigung von APIs in heterogenen IT-Umgebungen besonders wichtig im Kontext von Softwarerichtlinien?

<p>Weil die Integration von APIs in unterschiedlichen Umgebungen einheitliche Standards erfordert, um Kompatibilität und Sicherheit zu gewährleisten. (C)</p> Signup and view all the answers

Wie beeinflussen User Experience (UX)-Richtlinien die Softwareentwicklung hinsichtlich der Zugänglichkeit?

<p>Sie stellen sicher, dass die Software von möglichst vielen Nutzern, einschließlich Menschen mit Behinderungen, verwendet werden kann. (D)</p> Signup and view all the answers

Welche der folgenden Aufgaben gehört nicht in den Verantwortungsbereich von Datenschutzrichtlinien?

<p>Optimierung der Code-Performance. (B)</p> Signup and view all the answers

Welche Aussage beschreibt am besten den Zweck von Verhaltensmustern (Behavioral Patterns) im Softwaredesign?

<p>Sie verbessern die Interaktion und Verantwortungszuteilung zwischen Objekten, was zu klareren und dynamischeren Beziehungen führt. (B)</p> Signup and view all the answers

Ein Entwicklerteam steht vor der Aufgabe, ein System zu entwerfen, bei dem Änderungen an einem Objekt automatisch andere abhängige Objekte benachrichtigen und aktualisieren sollen. Welches Designmuster wäre hier am besten geeignet?

<p>Observer-Muster (D)</p> Signup and view all the answers

Welchen Vorteil bieten Designmuster in der Softwareentwicklung hauptsächlich?

<p>Sie verkürzen die Entwicklungszeit und verbessern die Qualität und Wartbarkeit des Codes. (B)</p> Signup and view all the answers

Welche Aussage beschreibt am besten das Ziel von Usability Engineering?

<p>Die Maximierung der Benutzerfreundlichkeit und Zufriedenheit der Nutzer mit dem Endprodukt. (A)</p> Signup and view all the answers

Warum wird Usability Engineering in der Literatur zur Softwarequalität manchmal bei den konstruktiven Qualitätsmaßnahmen aufgeführt?

<p>Weil es darauf abzielt, Mängel am User Interface von Anfang an zu eliminieren. (B)</p> Signup and view all the answers

Ein Entwicklungsteam plant die Erstellung einer neuen E-Commerce-Plattform. Sie möchten sicherstellen, dass die Navigation intuitiv ist, der Bestellprozess einfach gestaltet ist und die Benutzer insgesamt eine positive Erfahrung haben. Welche der folgenden Aktivitäten wäre der wichtigste erste Schritt im Rahmen des Usability Engineerings?

<p>Die Durchführung von Benutzerforschung, um die Bedürfnisse und Erwartungen der Zielgruppe zu verstehen. (D)</p> Signup and view all the answers

Welches der folgenden Beispiele stellt eine Anwendung des Strategy-Musters dar?

<p>Ein System, das verschiedene Algorithmen zur Datenkomprimierung zur Laufzeit austauschen kann. (D)</p> Signup and view all the answers

In welchem Szenario wäre das Composite-Muster am nützlichsten?

<p>Wenn man eine hierarchische Baumstruktur von Objekten erstellen und diese einheitlich behandeln muss. (B)</p> Signup and view all the answers

Welche der folgenden Aussagen beschreibt am besten die empfohlene Verwendung von Leerzeilen in Python-Code?

<p>Verwenden Sie zwei Leerzeilen vor Klassendefinitionen und eine vor Funktionsdefinitionen. (A)</p> Signup and view all the answers

Was ist das Hauptziel bei der Verwendung von Kommentaren im Code?

<p>Den Code für andere Entwickler und für sich selbst verständlicher zu machen. (D)</p> Signup and view all the answers

Wie sollten Leerzeichen im Zusammenhang mit Operatoren in Python-Code behandelt werden?

<p>Es sollten Leerzeichen um die meisten Operatoren gesetzt werden. (B)</p> Signup and view all the answers

Ab welcher Python-Version ist die Verwendung von Unterstrichen in numerischen Literalen erlaubt, und welchem Zweck dient diese Funktion?

<p>Ab Python 3.6; sie dienen dazu, die Lesbarkeit großer Zahlen zu verbessern. (B)</p> Signup and view all the answers

Welche Aussage beschreibt am besten die Bedeutung einer aussagekräftigen Namensgebung im Kontext der Softwareentwicklung?

<p>Es geht darum, Namen zu wählen, die die Funktion und den Zweck von Variablen, Funktionen und Klassen klar und präzise beschreiben. (B)</p> Signup and view all the answers

Betrachten Sie folgenden Code-Ausschnitt: preis = 10_000_000. Welchen Vorteil bietet die Verwendung von Unterstrichen in diesem Fall?

<p>Es verbessert die Lesbarkeit der Zahl, indem es sie in logische Gruppen unterteilt. (C)</p> Signup and view all the answers

Welche Konsequenz hat es, wenn Variablennamen gewählt werden, die ihren Zweck nicht klar widerspiegeln?

<p>Es erschwert das Verständnis des Codes und erhöht das Risiko von Fehlern. (B)</p> Signup and view all the answers

In welchem Fall ist ein Inline-Kommentar am sinnvollsten?

<p>Um komplexe Logik oder schwer verständliche Ausdrücke innerhalb einer Zeile zu erläutern. (D)</p> Signup and view all the answers

Warum ist es wichtig, White-Space im Code richtig zu nutzen?

<p>Um die Lesbarkeit und Struktur des Codes zu verbessern. (C)</p> Signup and view all the answers

Was ist der empfohlene Ansatz für die Benennung von Klassen in Python?

<p>Verwendung von CamelCase, wobei jedes Wort großgeschrieben wird. (D)</p> Signup and view all the answers

Flashcards

Präventive Ansätze

Präventive Maßnahmen vor Problemen verbessern Entwicklerkompetenzen und Genauigkeit.

Spezialisierte Fortbildung

Kurse zu Lesbarkeit und Testbarkeit erhöhen die Softwarequalität gezielt.

Teamdynamik-Maßnahmen

Konfliktmanagement und Teambildung verbessern Abstimmung und Klarheit im Team.

Reifer Prozess

Prozesse sind wiederholbar, anpassungsfähig und quantitativ steuerbar.

Signup and view all the flashcards

Nutzen reifer Prozesse

Ein reifer Prozess ermöglicht zielgerichtete Steuerung und verbessert die Softwarequalität.

Signup and view all the flashcards

Etablierter Prozess

Gut etablierte Prozesse setzen bewährte Vorgehensweisen effizient um.

Signup and view all the flashcards

Verfahrensmodelle

Verfahrensmodelle beugen Fehlern in der Softwareentwicklung vor.

Signup and view all the flashcards

Anforderungen

Anforderungen müssen von Anfang an fehlerfrei verstanden und Änderungen berücksichtigt werden.

Signup and view all the flashcards

Konstruktive Qualitätssicherung

Verfahren und Strategien zur Fehlervermeidung, um Softwarequalität von Anfang an zu gewährleisten.

Signup and view all the flashcards

Präventive Qualitätsmaßnahmen

Qualitätsmaßnahmen, die Fehlerentstehung präventiv verhindern, anstatt sie nachträglich zu korrigieren.

Signup and view all the flashcards

Ziel konstruktiver Maßnahmen

Reduzierung von Kosten und Steigerung der Effizienz durch Vermeidung von Fehlern von Anfang an.

Signup and view all the flashcards

Wirkungsweise konstruktiver QS

Eine klare Verbindung zwischen der Maßnahme und dem angestrebten Qualitätsziel muss bestehen.

Signup and view all the flashcards

Fehlerfreiheit (Korrektheit)

Sicherstellen, dass Software korrekt und fehlerfrei funktioniert.

Signup and view all the flashcards

Fehlervermeidung

Methoden und Praktiken, die darauf abzielen, Fehler und Defekte in Software von vornherein zu verhindern.

Signup and view all the flashcards

Usability Engineering

Ein Ansatz, der darauf abzielt, die Softwareentwicklung so zu gestalten, dass sie von Anfang an benutzerfreundlich ist.

Signup and view all the flashcards

User Experience Design

Ein Gestaltungsprozess, der sich darauf konzentriert, positive, sinnvolle und relevante Erlebnise für Benutzer zu schaffen.

Signup and view all the flashcards

Interoperabilitätsrichtlinien

Richtlinien für einheitliche Schnittstellen, wichtig in heterogenen IT-Umgebungen und bei APIs.

Signup and view all the flashcards

User Experience-Richtlinien

Richtlinien für die Gestaltung benutzerfreundlicher Schnittstellen bezüglich Zugänglichkeit und intuitiver Bedienbarkeit.

Signup and view all the flashcards

Datenschutzrichtlinien

Regeln zum Schutz persönlicher Daten gemäß Gesetzen wie der DSGVO.

Signup and view all the flashcards

Notationskonventionen

Regeln für das Schreiben von Code, um Softwarequalität zu verbessern.

Signup and view all the flashcards

Lesbarkeit des Codes

Erhöhen die Lesbarkeit des Codes, sodass er leichter verständlich ist.

Signup and view all the flashcards

Wartbarkeit

Erleichtern die Fehlerbehebung und Änderung von Code.

Signup and view all the flashcards

Teamarbeit

Verbessern die Zusammenarbeit, da alle Entwickler gleiche Regeln befolgen.

Signup and view all the flashcards

Code-Review

Effektivere und schnellere Code-Überprüfungen durch einheitliche Standards.

Signup and view all the flashcards

Zweck von Notationskonventionen

Erhöhen die Lesbarkeit, Verständlichkeit und Wartbarkeit des Codes, besonders in Teams.

Signup and view all the flashcards

Variablenbenennung

Variablennamen sollten prägnant und aussagekräftig sein, um den Zweck der Variable zu verdeutlichen.

Signup and view all the flashcards

Einrückung und Leerzeichen

Verbessern die Lesbarkeit durch visuelle Strukturierung des Codes.

Signup and view all the flashcards

Kommentare

Erklären die Funktionsweise und den Zweck von Codeabschnitten.

Signup and view all the flashcards

Python Einrückung

Vier Leerzeichen pro Einrückungsebene anstelle von Tabs.

Signup and view all the flashcards

Maximale Zeilenlänge (Python)

Beschränke jede Zeile auf maximal 79 Zeichen für bessere Lesbarkeit.

Signup and view all the flashcards

snake_case in Python

Verwende snake_case (z.B. meine_variable) für Variablen- und Funktionsnamen.

Signup and view all the flashcards

Adapter-Muster

Ermöglicht Zusammenarbeit inkompatibler Schnittstellen.

Signup and view all the flashcards

Composite-Muster

Fasst Objekte zu Baumstrukturen zusammen; Teil-Ganzes-Hierarchien.

Signup and view all the flashcards

Verhaltensmuster (Behavioral Patterns)

Verbessern Kommunikationsmuster zwischen Objekten.

Signup and view all the flashcards

Observer-Muster

Objekt aktualisiert sich automatisch bei Änderungen eines anderen Objekts.

Signup and view all the flashcards

Strategy-Muster

Ermöglicht dynamische Änderung des Algorithmus einer Funktion.

Signup and view all the flashcards

Ziel von Usability Engineering

Maximiert Benutzerfreundlichkeit und Nutzerzufriedenheit.

Signup and view all the flashcards

Prämisse von Usability Engineering

Software sollte verständlich, effizient und angenehm sein.

Signup and view all the flashcards

Leerzeilen in Python

Klassen werden mit zwei Leerzeilen davor und Funktionen mit einer Leerzeile davor definiert.

Signup and view all the flashcards

Kommentare in Python

Erklärende Sätze im Code, sparsam für zusätzliche Klarheit eingesetzt.

Signup and view all the flashcards

Whitespace in Ausdrücken

Vermeide überflüssige Leerzeichen in Ausdrücken und Anweisungen.

Signup and view all the flashcards

Leerzeichen um Operatoren

Leerzeichen um die meisten Operatoren für bessere Lesbarkeit.

Signup and view all the flashcards

Unterstriche in Zahlen

Unterstriche in Zahlen zur besseren Lesbarkeit großer Zahlen.

Signup and view all the flashcards

Aussagekräftige Namen

Variablennamen sollten den Zweck der Variable klar beschreiben.

Signup and view all the flashcards

Was ist eine Klasse?

Eine Vorlage für Objekte, die Daten (Attribute) und Verhalten (Methoden) bündelt.

Signup and view all the flashcards

Was ist ein Objekt?

Eine spezifische Instanz einer Klasse.

Signup and view all the flashcards

Was ist eine Methode?

Eine Funktion innerhalb einer Klasse, die das Verhalten des Objekts bestimmt.

Signup and view all the flashcards

Was ist init?

Eine spezielle Methode, die beim Erstellen eines Objekts aufgerufen wird, um Attribute zu initialisieren.

Signup and view all the flashcards

Study Notes

Konstruktive Qualitätssicherung

  • Konstruktive Qualitätsmaßnahmen förden die Qualität durch Fehlervermeidung, indem sie das Entstehen von Fehlern von vornherein verhindern.
  • Diese Maßnahmen sind präventive Techniken, die in den Softwareentwicklungsprozess integriert werden.
  • Sie senken Kosten und steigern die Effizienz, da nachträgliche Korrekturen reduziert werden.
  • Eine Maßnahme wird der konstruktiven Qualitätssicherung zugeordnet, wenn klar ist, welche Qualitätsaspekte verbessert werden sollen.
  • Es muss ein klarer Zusammenhang zwischen Maßnahme und Qualitätsziel bestehen.
  • Folgende Qualitätsmerkmale werden häufig adressiert: Fehlerfreiheit (Korrektheit), Flexibilität, Bedienbarkeit (Usability) und Laufzeiteffizienz.

Qualitätsmerkmale

  • Fehlerfreiheit wird oft durch ausgeklügelte Methoden der konstruktiven Qualitätssicherung verfolgt.
  • Flexibilität wird durch architektonische Vorgaben oder Designmuster gefördert.
  • Bedienbarkeit wird durch Usability Engineering unterstützt, das parallel zum Projekt durchgeführt wird.
  • Laufzeiteffizienz kann durch Simulationen und Modellierungen verbessert werden, besonders in der eingebetteten Softwareentwicklung.
  • Konstruktive Maßnahmen greifen auf "bewährte Verfahren", "bewährte Bestandteile" und "bewährte Strukturen" zurück.

Bewährte Verfahren

  • Bewährte Verfahren in der Qualitätssicherung erstrecken sich über verschiedene Ebenen und haben ihre Wirksamkeit bereits bewiesen.
  • Sie manifestieren sich in Werkzeugen und Aktivitäten, die dazu dienen, erfolgreiche Praktiken zu reproduzieren.
  • Schulungen und Fortbildungen helfen Teams, wertvolle Erkenntnisse zu erlangen und Fehler zu vermeiden.
  • Reife Prozesse werden dokumentiert und in Prozessmodellen festgehalten.
  • Es ist wichtig Anforderungen von Anfang an „fehlerfrei“ zu verstehen und laufende Änderungen zu berücksichtigen.

Checklisten und Richtlinien

  • Checklisten, basierend auf Erfahrungen, erinnern Teams daran, Fallstricke zu vermeiden und sich auf Testphasen vorzubereiten.
  • Richtlinien wandeln Erfahrungswissen in Handlungsanweisungen um.
  • Richtlinien helfen somit beim Anwenden von bestmöglichen Praktiken.
  • Software-Richtlinien sind systematisch formulierte Anweisungen zur Standardisierung und Optimierung der Softwareentwicklung.
  • Sie dienen als Leitfaden für Entwickler, um Qualitätsmerkmale wie Sicherheit, Kompatibilität und Benutzerfreundlichkeit zu gewährleisten.

Arten von Richtlinien

  • Sicherheitsrichtlinien legen Vorgehensweisen fest, um Schwachstellen zu vermeiden und die Software zu schützen.
  • Richtlinien zur Interoperabilität fördern die nahtlose Integration mit anderen Systemen durch festgelegte Standards.
  • User Experience-Richtlinien bieten Anleitungen zur Gestaltung benutzerfreundlicher Schnittstellen.
  • Datenschutzrichtlinien gewährleisten die Einhaltung gesetzlicher Vorgaben wie der DSGVO.
  • Notationskonventionen sind Richtlinien für das Schreiben von Code.

Notationskonventionen

  • Notationskonventionen erhöhen die Lesbarkeit und Wartbarkeit des Codes.
  • Sie sind besonders wichtig in Projekten mit mehreren Entwicklern.
  • Beispiele für Notationskonventionen sind Benennung von Variablen, Einrückung, Klammern sowie Kommentare und Dokumentation.
  • Python Konventionen beinhalten 4 Leerzeichen pro Einrückungsebene und keine Tabs.
  • Die maximale Zeilenlänge sollte 79 Zeichen betragen.
  • Bibliotheken sollten in separaten Zeilen importiert werden.
  • Variablennamen sollten als snake_case geschrieben werden.
  • Klassennamen sollten im CamelCase geschrieben werden.
  • Leerzeilen sollten vor Klassendefinitionen und Funktionsdefinitionen genutzt werden.

Bewährte Bestandteile

  • Der Einsatz von "bewährten Bestandteilen" hat eine herausragende Bedeutung, der Wert in der Praxis bereits bewiesen wurde.
  • Bewährte Komponenten und Dokumentationen tragen zur beschleunigten Fertigstellung bei und erhöhen meist die Qualitätsstandards.
  • Code-Bibliotheken erlauben es, bewährte Algorithmen und Datenstrukturen direkt zu integrieren.
  • Bibliotheken bieten fertige Funktionen, die in neue Software integriert werden können, z.B. math-Bibliothek in Python.
  • Komponenten sind größere Einheiten eigene und wiederverwendete Teile, kombinieren, die dann konfiguriert werden, um ein umfassenderes System zu bilden.

Konzepte

  • Komponentenbasierte Softwareentwicklung (Component-Based Software Engineering) ist gut bekannt.
  • Frameworks sind umfangreiche Sammlungen von vordefinierten Klassen, Bibliotheken und Funktionen.
  • Sie bieten Entwicklerinnen einen strukturierten Rahmen für die Entwicklung von Anwendungen.
  • Bewährte Arbeitswerkzeuge wie Eclipse, Git und JUnit haben sich als hilfreich für Entwickler etabliert.
  • Unternehmen sollten bewährte Technologien konservieren und bei Bedarf weiterhin einsetzen.

Bewährte Strukturen

  • Bewährte Strukturen geben theoretische Konzepte vor und bieten einen stützenden Rahmen.
  • Architekturen und Design Patterns dienen als Blaupause für den Entwurf.
  • Die Nutzung bewährter Strukturen ermöglicht es, von den Erfahrungen zahlreicher Entwickler zu profitieren und gängige Fehler zu vermeiden.
  • Umfassende Architekturen wie die Drei-Schichten-Architektur bieten eine breite Anwendbarkeit.
  • Design Patterns dienen als Leitfaden zur eleganten Gestaltung der Softwarearchitektur.
  • Sie sind in drei Hauptkategorien unterteilt: Erzeugungs-, Struktur- und Verhaltensmuster.

Design Muster

  • Erzeugungsmuster konzentrieren sich auf die Steuerung der Objekterstellung (z.B. Singleton- und Factory-Method-Muster).
  • Strukturmuster zielen darauf ab, größere Strukturen durch Komposition von Objekten zu bilden (z.B. Adapter- und Composite-Muster).
  • Verhaltensmuster verbessern die Interaktion und Verantwortungszuteilung zwischen Objekten (z.B. Observer- und Strategy-Muster).
  • Der Einsatz von Designmustern kann die Entwicklungszeit durch die höhere Qualität und Wartbarkeit verringern.

Usability Engineering und User Experience Design

  • Usability Engineering ist ein benutzerzentrierter Ansatz, der die Benutzerfreundlichkeit und Zufriedenheit maximieren soll.
  • Es zielt darauf ab Mängel am User Interface von Anfang an zu eliminieren.
  • Usability Engineering basiert darauf, dass Softwareprodukte für ihre Benutzer verständlich, effizient und angenehm in der Anwendung sein sollten.
  • User Experience Design (UX Design) umfasst ein breiteres Spektrum.
  • Es bezieht die Emotionen, Wahrnehmungen, Präferenzen und das Verhalten der Nutzer mit ein.
  • Es soll eine ganzheitliche Nutzererfahrung geschaffen, die Erwartungen erfüllt oder übertrifft.

Usability Engineering durchführen

  • Schritt 1: Benutzeranalyse.
  • Schritt 2: Anforderungserhebung.
  • Schritt 3: Design und Prototyping.
  • Schritt 4: Benutzertests.
  • Schritt 5: Iteration und der Verfeinerung.
  • Schritt 6: Implementierung und Bewertung.
  • Die Einbindung von Usability Engineering und UX hat einen direkten Einfluss auf die Qualität der Software.

ISO 9241

  • Die ISO 9241 Reihe ist ausschlaggebend für Usability und User Experience (UX).
  • Die Norm legt Prinzipien und Leitlinien für das menschzentrierte Design von interaktiven Systemen fest.
  • Sie betont die Einbeziehung von Benutzern und die Notwendigkeit, Usability-Ziele zu berücksichtigen.
  • Die Norm befasst sich mit Kontext der Nutzung, Nutzerbedürfnissen, Gestaltung der Interaktion, Nutzertests und Iteration.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Softwarequalität 2
48 questions

Softwarequalität 2

AchievablePlateau avatar
AchievablePlateau
Softwarequalität 4
52 questions

Softwarequalität 4

AchievablePlateau avatar
AchievablePlateau
Softwarequalität 5
48 questions

Softwarequalität 5

AchievablePlateau avatar
AchievablePlateau
Softwarequalität 6
47 questions

Softwarequalität 6

AchievablePlateau avatar
AchievablePlateau
Use Quizgecko on...
Browser
Browser