Mindmap-Galerie Anforderungsanalyse, Softwaretests, Softwareentwicklung, Softwaredesign, Selbststudium, Mindmap
Anforderungsanalyse, Softwaretests, Softwareentwicklung, Software-Design-Selbststudien-Mindmap, die den Inhalt von Anforderungsanalyse, Softwaredesign, Softwaretests, Softwarewartung, Software-Wiederverwendung und Softwareentwicklungsumgebung organisiert zu dir.
Bearbeitet um 2023-02-23 22:55:01Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Anforderungsanalyse, Softwaretests, Softwareentwicklung, Softwaredesign, Selbststudium, Mindmap
Bedarfsanalyse
Anforderungsklassifizierung
Funktionale Anforderungen (was die Software macht, was das System leisten muss und welche Eigenschaften es hat), Leistungsanforderungen (Zuverlässigkeit, Fehlertoleranz, Leistung, Reaktionszeit), Designbeschränkungen (Einschränkungen spezifizieren Einschränkungen, wie z. B. die Angabe von Datenbanken, Betriebssystemen, Entwicklung). Werkzeuge )
Geschäftsanforderungen (der General Manager sagte, ich möchte ein ... System entwickeln, um ... Geschäfte zu realisieren), Benutzeranforderungen (der Managementmanager sagte ... Funktionen und Leistung sind erforderlich), Systemanforderungen (Entwicklung und Verwendung von)
Grundbedürfnisse (von Benutzern klar angegebene Anforderungen), erwartete Bedürfnisse (Dinge, die Benutzer nicht explizit angegeben haben, die aber für selbstverständlich halten), aufregende Bedürfnisse (übertreffende Benutzererwartungen, zusätzliche Funktionen, die Benutzer nicht erwartet haben und nicht ausgeführt werden müssen)
Anforderungsengineering
Anforderungsentwicklung (Bestimmung von Funktionen, Leistung, Daten und Schnittstellen, einschließlich der vier Phasen Anforderungserfassung, Analyse, Erstellung von Spezifikationen und Anforderungsüberprüfung)
Nachfragemanagement
Entwickeln Sie einen Anforderungsmanagementplan, definieren Sie Anforderungsbaselines, gewinnen Sie Verständnis und Engagement für Anforderungen, verwalten Sie Anforderungsänderungen, sorgen Sie für eine bidirektionale Verfolgung von Anforderungen und identifizieren Sie Inkonsistenzen zwischen Projektarbeit und Anforderungen
Zwei-Wege-Verfolgung von Anforderungen: Bei der Vorwärtsverfolgung, bei der die ursprüngliche Anforderung realisiert wird, ist es ein spannender Bedarf, ob bei der Rückwärtsverfolgung alle ursprünglichen Anforderungen realisiert werden .
Anforderungserfassung
zu erfassende Informationen (was)
Informationen zum Problembereich, Informationen zum zu lösenden Problem, Benutzererwartungen und Einschränkungen
Informationsquelle (wo)
Stakeholder, Altsysteme, Konkurrenten, Domänenexperten
Techniken zur Anforderungserfassung (wie)
Gemeinsame Diskussionsbedarfsbesprechung (Mehrparteiendiskussion), Benutzerinterviews (Hauptbenutzer bereiten Fragen vor), schriftliche Befragungen (bei vielen Personen), Beobachtungen vor Ort, Lektüre historischer Dokumente und Teilnahme an Geschäftspraktiken
Grafische Werkzeuge: hierarchisches Blockdiagramm, Anwendungsfalldiagramm, IPO-Diagramm, Warnier-Diagramm
Strategie zur Anforderungserfassung
Die Anforderungsentwicklung ist ein iterativer Evolutionsprozess ohne Wasserfall, der das Problem von oben nach unten und Schicht für Schicht zerlegt und eine logische und eine physische Sicht auf das System bietet.
Bedarfsanalyse
Aufgabe
Zeichnen Sie ein Scope-Diagramm der Beziehung zwischen dem System und externen Einheiten, erstellen Sie einen Prototyp einer Benutzeroberfläche, analysieren Sie die Durchführbarkeit von Anforderungen, bestimmen Sie die Priorität von Anforderungen, erstellen Sie ein Analysemodell für Anforderungen (Anwendungsfallmodell, ER-Diagramm, Datenflussdiagramm). Erstellen Sie ein Datenwörterbuch und verwenden Sie Qualitätsfunktionen zur Zuweisung
Methode
Strukturierte Analysemethoden
Eine Modellierungsmethode, die auf der schrittweisen Top-Down-Zerlegung von Datenflussdiagrammen beruht, um den Transformations- und Übertragungsprozess von Informationen im System grafisch darzustellen.
Geschäftsprozessanalyse
Untersuchen und erfassen Sie die Grundsituation, beschreiben, bestätigen und analysieren Sie bestehende Geschäftsprozesse, entdecken Sie Probleme, schlagen Sie Lösungen vor und schlagen Sie optimierte Geschäftsprozesse vor
Zeichnen Sie ein Datenflussdiagramm DFD
Das Diagramm der obersten Ebene verdeutlicht, mit welchen externen Entitäten das System eine Beziehung hat und welche Daten übertragen werden müssen. Das Diagramm der obersten Ebene ist Schicht für Schicht von oben nach unten zerlegt und beschreibt die Komponenten.
Einschließlich Datenfluss (Daten mit Namen und Flussrichtung), Verarbeitung (Transformation des Datenflusses), Datenspeicherung (zugängliche gespeicherte Informationen), externe Einheiten (Datenquelle und Datenziel)
Datenwörterbuch
Geben Sie logische Definitionen für alle im Datenflussdiagramm angezeigten Datenelemente
Einschließlich strukturierter Sprache, Entscheidungsbaum, Entscheidungstabelle
Objektorientierte Analysemethode
Methode zur Analyse von Flächenproblemdomänen
Schreiben Sie eine Softwareanforderungsspezifikation
Methoden (verwenden Sie eine gute Struktur und natürliche Sprache, um Textdokumente zu schreiben, grafische Modelle zu erstellen und formale Spezifikationen zu schreiben)
Anforderungen (Vollständigkeit, Konsistenz, Veränderbarkeit, Nachvollziehbarkeit)
Überprüfung der Anforderungen
Anforderungsprüfung: Die Beteiligung des Kunden an der Unterschriftenbestätigung ist eines der Akzeptanzkriterien. Überprüfen Sie, ob die Anforderung prozessgemäß erfolgt und ob das Ergebnis der Anforderung objektiv, fair und angemessen ist.
Anforderungstests
Software-Design
Das Grundprinzip
Informationsverbergung (Daten und Methoden zwischen Modulen dürfen nicht von nicht verwandten Modulen verwendet werden), Abstraktion, Top-Down, schichtweise Verfeinerung, Modulunabhängigkeit (hohe Kohäsion und geringe Kopplung)
Schritt
Architektur-Design
Logische Ansicht (Erfüllung funktionaler Anforderungen), Prozessansicht (Parallelitätsprobleme), Komponentenansicht (Implementierungsprobleme), Bereitstellungsansicht (Verteilungsprobleme)
Umrissentwurf
Konvertieren Sie Softwareanforderungen in Datenstrukturen und Softwaresystemstrukturen und vervollständigen Sie dabei hauptsächlich das Gesamtdesign, einschließlich der Aufteilung von Funktionen in Module, der Bestimmung von Modulfunktionen sowie der Aufruf- und Zusammensetzungsbeziehungen zwischen Modulen
detailliertes Design
Von oben nach unten, schrittweise Verfeinerung, Ausblenden von Informationen (Betriebsschnittstelle), unabhängige Module (hohe Kohäsion, geringe Kopplung)
Entwerfen Sie Datenstruktur und Algorithmus für jedes Modul, Leistung, Bearbeitungszeit, Antwortzeit, Durchsatz, Genauigkeit usw.
Designdokumente schreiben
Designprüfung
Entwurfsmethode
Module im Systemstrukturdiagramm
Eingangsmodul, Ausgangsmodul, Transformationsmodul, Koordinationsmodul
Allgemeines Systemstrukturdiagramm
Transformation, Transaktion, Gemischt
Benutzeroberfläche
Benutzerfreundlichkeit, Flexibilität, Komplexität, Zuverlässigkeit
Designprüfung
Designleiter, leitendes Managementpersonal, Hauptgutachter, Prüfteam
Softwaretest
Prüfprinzipien
Testen Sie die von Ihnen entworfenen Programme so früh wie möglich und führen Sie Regressionstests durch Das Gleiche gilt für die Anzahl der vom Programm erkannten Fehler
Entwerfen Sie Testfälle einschließlich Eingabe, Ausführungsbedingungen und erwarteter Ausgabe
Testmethoden
Black-Box-Tests
Entwerfen Sie Testfälle gemäß den funktionalen Spezifikationen und prüfen Sie, ob die Funktionen den Anforderungen entsprechen, unabhängig von der Struktur und Verarbeitung des Programms.
Einteilung der Äquivalenzklasse
Das Testen der repräsentativen Werte der Äquivalenzklasse entspricht dem Testen anderer Werte dieses Typs. Jede Äquivalenzklasse wird in zwei Fällen getestet: gültig und ungültig.
Grenzwertanalyse
Entwerfen Sie Testfälle an den Eingabe- und Ausgabegrenzen. Die Grenzwerte sind am fehleranfälligsten (nehmen Sie einen Wert an, der genau gleich, nur größer oder kleiner als die Grenze ist).
Fehler erraten
Mögliche Fehler bei Spekulationen aus Erfahrung und Intuition
Ursache-Wirkungs-Diagramm
Analysieren Sie die Anforderungsspezifikationen, um verschiedene Eingaben und Ausgaben (Ursachen und Ergebnisse) herauszufinden, ermitteln Sie die Entsprechung zwischen verschiedenen Kombinationen von Eingabebedingungen und Ausgaben und zeichnen Sie ein Ursache-Wirkungs-Diagramm Eine Entscheidungstabelle. Jede Spalte der Entscheidungstabelle ist ein Testfall.
White-Box-Tests
Inhalte testen
Entwerfen Sie Testfälle für die interne Logik des Programms, um zu überprüfen, ob die Logikpfade gemäß vorgegebenen Anforderungen funktionieren. Dies ist umfassender und detaillierter als Black-Box-Tests
Testen Sie mindestens einmal alle Pfade des Programmmoduls, testen Sie mindestens einmal alle logischen Urteile, wahr und falsch, testen Sie Schleifengrenzen und Laufgrenzen und testen Sie die Gültigkeit interner Datenstrukturen
Testmethoden
Anweisungsabdeckung, Entscheidungsabdeckung, Bedingungsabdeckung, Entscheidungsbedingungsabdeckung, Bedingungskombinationsabdeckung, Pfadabdeckung
Gray-Box-Test
Kombinieren Sie Black-Box- und White-Box-Tests
Testphase
Gerätetest
Während der Codierungsphase werden allgemeine White-Box-Tests durchgeführt, z. B. Modulschnittstellen-Funktionstests, lokale Datenstrukturtests, Pfadtests, Fehlerbehandlungstests und Randbedingungstests
Integrationstests
Fehler in der Entwurfsphase werden entdeckt. Nach dem Zusammenbau der Module werden die Schnittstelle und die Kommunikation zwischen den Modulen getestet, in der Regel Black-Box-Tests.
Bestätigungstest
Überprüfen Sie anhand der Anforderungsspezifikationen, Gültigkeitstests, Überprüfung der Softwarekonfiguration und Abnahmetests (Analysebericht, Benutzerhandbuch, zusammenfassender Entwicklungsbericht) in einer simulierten Umgebung, ob die Funktionen und die Leistung der Software den Anforderungen des Benutzers entsprechen
Systemtest
Tests der Produktionsumgebung, Black-Box-Tests basierend auf Anforderungsspezifikationen, die alle gemeinsamen Komponenten abdecken und die Qualität von Softwareprodukten bewerten
Einschließlich Software, Hardware, Peripheriegeräte, Daten, Supportsoftware usw., insbesondere Wiederherstellungstests, Sicherheitstests, Festigkeitstests, Leistungstests, Zuverlässigkeitstests und Installationstests
prüfen
Bei Software vom Typ Produkt ist der @-Entwickler vorhanden und der Kunde implementiert den Test, und der b-Entwickler ist nicht vorhanden.
Testtyp
Funktionstest
Leistungstest
Zweck (Bewertung der Systemfähigkeiten, Identifizierung von Schwachstellen, Systemoptimierung, Überprüfung der Stabilität und Zuverlässigkeit), Typ (Belastungstests, Festigkeitstests, Kapazitätstests)
Abnahmeprüfung
Analyse der Softwareanforderungen, Erstellung eines Abnahmetestplans und Projektabnahmekriterien, Testdesign und Testfalldesign, Aufbau einer Testumgebung, Testimplementierung, Ergebnisanalyse, Testbericht
Tests durch Dritte
Vermittler – Beijing Software Evaluation Center
Regressionstests (überprüfen, ob bereits aufgetretene, aber reparierte Fehler nicht erneut auftreten), Wiederherstellungstests, Zuverlässigkeitstests, Start-/Stopptests, Konfigurationstests, Sicherheitstests, Usability-Tests, Installationstests, Prozesstests, Kompatibilitätstests
Objektorientiertes Testen
Objektorientierte Analysetests, objektorientierte Designtests, objektorientierte Programmiertests (objektorientierte Komponententests, objektorientierte Integrationstests, objektorientierte Systemtests)
Testwerkzeuge
Erfordert keine regelmäßige Validierung, Kalibrierung, Verifizierung oder Konfigurationsverwaltung, um die Eignung aufrechtzuerhalten.
Testmanagement
Es ist schwierig, das Testteam zu verwalten, da die Leistungsindikatoren der Tester nicht einfach zu zählen sind. Es gibt eine große Lücke in der Anzahl der Fehler in Programmen, die von Experten und Anfängern geschrieben wurden. Wie lässt sich die Fähigkeit der Tester bestimmen, Fehler zu finden?
Fehler-(Defekt-)Tracking-Management
Software-Wartung
Die Softwarewartung ist ein integraler Bestandteil des Lebenszyklus. Sie stellt alle Aktivitäten bereit, die Softwareunterstützung erfordern. Die Software ist verständlich, testbar, modifizierbar und wartbar.
Wartbarkeit der Software
Software-Engineering verbessert die Wartbarkeit
Anforderungsanalyse – Mögliche Verbesserungen und Änderungen werden erläutert
Designphase – leicht erweiterbare, tragbare, wiederverwendbare Lösung, objektorientiert
Codierungsphase – Annotation, Qualität, objektorientiert
Testphase: Wenn der Test gut ist, ist die Wartung gut; alle testbezogenen Dokumente sind verfügbar
Wartungsphase – gutes Konfigurationsmanagement und synchronisierte Dokumente
Systemdokumentation (Wartungsanforderungen, Quellcode, Designdokumente, Testdokumente)
Benutzerdokumentation (Benutzerhandbuch, Installationsdokumentation, Referenzhandbuch, Administratorhandbuch)
Wartbarkeitsmetriken
Anzahl der Schleifen (Komplexität des Quellcodes), Softwaregröße, andere Faktoren
Klassifizierung der Softwarewartung
Korrektur (der Prozess der Fehlerdiagnose und -korrektur)
Adaptiver Typ (der Prozess der Anpassung an Änderungen in der neuen Software und Hardware der externen Umgebung, der Datenumgebungsdatenbank, dem Datenformat und den Speichermedien zur Änderung der Software, z. B. Aktualisierung des Betriebssystems und Änderung der Software)
Präventiver Typ (der Prozess der Änderung der Software, um die Wartbarkeit und Zuverlässigkeit der Software zu verbessern und den Grundstein für zukünftige Verbesserungen der Software zu legen. Dies ist jetzt kein Fehler, sondern wird mit der Zeit zu einem Fehler, wie zum Beispiel das gelöste Millennium-Bug-Problem im Jahr 1999)
Perfektionstyp (der Prozess der Änderung oder Neuentwicklung von Software, um neuen Funktionen und Leistungen gerecht zu werden)
Implementierung der Softwarewartung
Erstellen Sie eine Wartungsorganisation, schlagen Sie Wartungsanforderungen vor, führen Sie Wartungsvorgänge durch, erfassen Sie Wartungselemente und bewerten Sie Wartungsaktivitäten
Die Wartung vor der Lieferung umfasst Betriebspläne und Wartungspläne nach der Lieferung, und die Wartung nach der Lieferung umfasst Softwareänderungen, Schulungen, Hilfsmaterialien usw.
Wiederverwendung von Software
Die Nutzung verschiedener relevanter Kenntnisse bestehender Software zur Erstellung neuer Software zur Reduzierung der Softwareentwicklungs- und Wartungskosten ist eine wichtige Technologie zur Verbesserung der Softwareproduktivität und -qualität.
Code-Wiederverwendung, Design-Wiederverwendung, Analyse-Wiederverwendung, Testfall-Wiederverwendung
Eine Komponente ist ein Programmkörper mit bestimmten Funktionen, der unabhängig arbeiten oder mit anderen Komponenten zusammengestellt und koordiniert werden kann. Um praktischer zu sein und effektiver wiederverwendet zu werden, sollten Komponenten Variabilität und Flexibilität aufweisen, um die Vielseitigkeit zu verbessern.
Software-Entwicklungsumgebung
Eine Sammlung verwandter Softwaretools, integrierte Entwicklungsumgebung (Datenintegration, Steuerungsintegration, Schnittstellenintegration)