Präsentation

Spezialisieren Sie sich auf Software-Qualität aus technischer und Management-Perspektive; erwerben Sie Ihre Qualifikation in 12 Monaten und machen Sie in Ihrem beruflichen Umfeld einen Unterschied"

##IMAGE##

Das Konzept der technischen Schuld, das derzeit von zahlreichen Unternehmen und Verwaltungen gegenüber ihren Lieferanten angewandt wird, spiegelt die improvisierte Art und Weise wider, in der Projekte entwickelt wurden. Dies führt zu neuen impliziten Kosten, da ein Projekt aufgrund der Annahme einer schnellen und einfachen Lösung im Gegensatz zu einem skalierbaren Ansatz in der Entwicklung des Projekts wiederholt werden muss. 

Seit einigen Jahren werden Projekte sehr schnell entwickelt, mit dem Ziel, sie auf der Grundlage von Preis- und Terminkriterien mit dem Kunden abzuschließen, anstatt einen Qualitätsansatz zu wählen. Diese Entscheidungen fordern nun ihren Tribut von vielen Lieferanten und Kunden.

Dieser Weiterbildender Masterstudiengang befähigt IT-Fachleute, die Kriterien zu analysieren, die der Softwarequalität auf allen Ebenen zugrunde liegen. Kriterien wie Datenbankstandardisierung, Entkopplung zwischen den Komponenten eines Informationssystems, skalierbare Architekturen, Metriken, Dokumentation, sowohl funktional als auch technisch. Zusätzlich zu den Methoden für das Management und die Entwicklung von Projekten und anderen Methoden zur Qualitätssicherung, wie z.B. kollaborative Arbeitstechniken, einschließlich Pair Programming, die es ermöglichen, dass das Wissen im Unternehmen und nicht bei den Menschen verbleibt.

Die überwiegende Mehrheit der Studiengänge dieser Art konzentriert sich auf eine Technologie, eine Sprache oder ein Tool. Dieses Programm ist insofern einzigartig, als es den Fachleuten die Bedeutung der Softwarequalität bewusst macht und die technische Schuld von Projekten mit einem qualitativen statt einem auf Wirtschaftlichkeit und kurze Fristen ausgerichteten Ansatz reduziert; es stattet die Studenten mit Fachwissen aus, so dass die Budgetierung von Projekten gerechtfertigt werden kann.

Um dies zu ermöglichen, hat die TECH Global University eine Gruppe von Experten auf diesem Gebiet zusammengestellt, die das aktuellste Wissen und die neuesten Erfahrungen weitergeben werden. Über einen modernen virtuellen Campus mit theoretischen und praktischen Inhalten, die in verschiedenen Formaten angeboten werden. Es werden 10 Module angeboten, die in verschiedene Themen und Unterthemen unterteilt sind und es ermöglichen, in 12 Monaten mit der Relearning-Methode zu lernen, die das Einprägen und Lernen auf agile und effiziente Weise erleichtert.

Der Weiterbildender Masterstudiengang in Software-Qualität analysiert die dem Thema zugrunde liegenden Kriterien auf allen Ebenen. Erweitern Sie Ihr Fachwissen. Schreiben Sie sich jetzt ein"

Dieser Weiterbildender Masterstudiengang in Software-Qualität enthält das vollständigste und aktuellste Programm auf dem Markt. Die hervorstechendsten Merkmale sind: 

  • Die Entwicklung von Fallstudien, die von Experten für Softwareentwicklung vorgestellt werden
  • Der anschauliche, schematische und äußerst praxisnahe Inhalt soll wissenschaftliche und praktische Informationen zu den für die berufliche Praxis wesentlichen Disziplinen vermitteln
  • Er enthält praktische Übungen in denen der Selbstbewertungsprozess durchgeführt werden kann um das Lernen zu verbessern
  • Ein besonderer Schwerpunkt liegt auf innovativen Methoden 
  • Theoretischer Unterricht, Fragen an den Experten und individuelle Reflexionsarbeit
  • Die Verfügbarkeit des Zugangs zu Inhalten von jedem festen oder tragbaren Gerät mit Internetanschluss

Entwickeln Sie die Kriterien, Aufgaben und fortgeschrittenen Methoden, um die Relevanz qualitätsorientierter Arbeit zu verstehen und Ihrem Unternehmen oder Kunden effektive Lösungen zu bieten“ 

Zu den Lehrkräften des Programms gehören Fachleute aus der Branche, die ihre Berufserfahrung in diese Fortbildung einbringen, sowie renommierte Fachleute von Referenzgesellschaften und angesehenen Universitäten.

Die multimedialen Inhalte, die mit den neuesten Bildungstechnologien entwickelt wurden, ermöglichen den Fachleuten ein situiertes und kontextbezogenes Lernen, d. h. eine simulierte Umgebung, die ein immersives Training ermöglicht, das auf reale Situationen ausgerichtet ist.

Das Konzept dieses Studiengangs konzentriert sich auf problemorientiertes Lernen, bei dem die Fachkraft versuchen muss, die verschiedenen Situationen aus der beruflichen Praxis zu lösen, die während des gesamten Studiengangs gestellt werden. Zu diesem Zweck werden sie von einem innovativen interaktiven Videosystem unterstützt, das von renommierten Experten entwickelt wurde.

Ein Programm zur Sensibilisierung für die Bedeutung von Software-Qualität und für die Notwendigkeit, Qualitätsrichtlinien in Software Factories einzuführen"

##IMAGE##

Praxisorientiert und flexibel lernen. Teilen Sie Ihren Alltag mit dieser 100%igen Online-Schulung, die exklusiv von der TECH Global University angeboten wird"

Lehrplan

Die Struktur und der Inhalt dieses Weiterbildender Masterstudiengang wurden entwickelt, um die wichtigsten Themen für die Entwicklung von Qualitätssoftware abzudecken. Bestehend aus 10 Lehrmodulen, die von der Entwicklung von Softwareprojekten, funktionaler und technischer Dokumentation, Test Driven Developement und den verschiedenen Methoden bis hin zur Implementierung fortgeschrittener praktischer Lösungen mit DevOps und kontinuierlicher Integration reichen und alle auf das Erreichen von Softwarequalität ausgerichtet sind. Die umfangreichen multimedialen Inhalte, die von fachkundigen Dozenten sorgfältig ausgewählt wurden, sind eine große Hilfe bei der Erleichterung des Studiums und dienen als Referenzmaterial für die Zukunft.

##IMAGE##

Die praktischen Fälle, die auf der Realität beruhen, werden dazu dienen, die Theorie, die während des Programms erlernt wird, zu verstärken und zu kontextualisieren"

Modul 1. Software-Qualität. TRL-Entwicklungsstufen

1.1. Elemente, die die Softwarequalität beeinflussen (I). Die technische Schuld 

1.1.1. Die technische Schuld. Ursachen und Folgen
1.1.2. Software-Qualität. Allgemeine Grundsätze 
1.1.3. Software mit und ohne Qualitätsprinzipien 

1.1.3.1. Konsequenzen
1.1.3.2. Die Notwendigkeit der Anwendung von Qualitätsprinzipien bei Software 

1.1.4. Software-Qualität. Typologie 
1.1.5. Qualitätssoftware. Besondere Features 

1.2. Elemente, die die Softwarequalität beeinflussen (II). Zugehörige Kosten 

1.2.1. Software-Qualität. Beeinflussende Elemente 
1.2.2. Software-Qualität. Missverständnisse 
1.2.3. Software-Qualität. Zugehörige Kosten 

1.3. Software-Qualitätsmodelle (I). Wissensmanagement 

1.3.1. Allgemeine Qualitätsmodelle 

1.3.1.1. Total Quality Management 
1.3.1.2. Europäisches Modell für Business Excellence (EFQM) 
1.3.1.3. Sechs-Sigma-Modell 

1.3.2. Wissensmanagement-Modelle 

1.3.2.1. Dyba Modell 
1.3.2.2. SEKS-Modell 

1.3.3. Erlebnisfabrik und QIP-Paradigma 
1.3.4. Modelle mit hoher Nutzungsqualität (25010) 

1.4. Software-Qualitätsmodelle (III). Qualität bei Daten, Prozessen und SEI-Modellen 

1.4.1. Modell der Datenqualität 
1.4.2. Modellierung von Softwareprozessen 
1.4.3. Software & Systems Process Engineering Metamodel Specification (SPEM) 
1.4.4. SEI-Modelle 

1.4.4.1. CMMI 
1.4.4.2. SCAMPI 
1.4.4.3. IDEAL 

1.5. ISO-Software-Qualitätsstandards (I). Analyse der Standards 

1.5.1. ISO 9000-Norm 

1.5.1.1. ISO 9000-Norm 
1.5.1.2. ISO-Familie von Qualitätsstandards (9000) 

1.5.2. Andere ISO-Normen zum Thema Qualität 
1.5.3. Normen zur Qualitätsmodellierung (ISO 2501) 
1.5.4. Normen zur Qualitätsmessung (ISO 2502n) 

1.6. ISO-Software-Qualitätsstandards (II). Anforderungen und Bewertung 

1.6.1. Normen für Qualitätsanforderungen (2503n) 
1.6.2. Standards zur Qualitätsbewertung (2504n) 
1.6.3. ISO/IEC 24744:2007 

1.7. TRL-Entwicklungsstufen (I). Stufen 1 bis 4 

1.7.1. TRL-Stufen 
1.7.2. Stufe 1: Grundlegende Prinzipien 
1.7.3. Stufe 2: Konzept und/oder Anwendung 
1.7.4. Stufe 3: kritische analytische Funktion 
1.7.5. Stufe 4: Komponentenvalidierung in einer Laborumgebung 

1.8. TRL-Entwicklungsstufen (II). Stufen 5 bis 9 

1.8.1. Stufe 5: Komponentenvalidierung in der entsprechenden Umgebung 
1.8.2. Stufe 6: System/Subsystem-Modell 
1.8.3. Stufe 7: Demonstration in realer Umgebung 
1.8.4. Stufe 8: Vollständiges und zertifiziertes System 
1.8.5. Stufe 9: Erfolg in realer Umgebung 

1.9. TRL-Entwicklungsstufen. Verwendungen 

1.9.1. Beispiel für ein Unternehmen mit Laborumgebung 
1.9.2. Beispiel für ein FuEuI-Unternehmen 
1.9.3. Beispiel für ein industrielles FuEuI-Unternehmen 
1.9.4. Beispiel für ein Joint-Venture-Unternehmen zwischen Labor und Technik 

1.10. Software-Qualität. Wichtige Details 

1.10.1. Methodische Details 
1.10.2. Technische Details 
1.10.3. Details zum Software-Projektmanagement 

1.10.3.1. Qualität der IT-Systeme 
1.10.3.2. Qualität von Softwareprodukten 
1.10.3.3. Qualität der Softwareprozesse

Modul 2. Software-Projektentwicklung. Funktionelle und technische Dokumentation

2.1. Projektmanagement

2.1.1. Projektmanagement für Softwarequalität
2.1.2. Projektmanagement. Vorteile
2.1.3. Projektmanagement. Typologie

2.2. Methodik des Projektmanagements

2.2.1. Methodik des Projektmanagements
2.2.2. Projekt-Methoden. Typologie
2.2.3. Methodik des Projektmanagements. Anwendung

2.3. Phase der Bedarfsermittlung

2.3.1. Identifizierung der Projektanforderungen
2.3.2. Verwaltung von Projekttreffen
2.3.3. Vorzulegende Dokumentation

2.4. Modell

2.4.1. Anfangsphase
2.4.2. Analysephase
2.4.3. Bauphase
2.4.4. Testphase
2.4.5. Lieferung

2.5. Zu verwendendes Datenmodell

2.5.1. Festlegung des neuen Datenmodells
2.5.2. Identifizierung des Datenmigrationsplans
2.5.3. Datensatz

2.6. Auswirkungen auf andere Projekte

2.6.1. Auswirkungen eines Projekts. Beispiele
2.6.2. Risiken im Projekt
2.6.3. Risikomanagement

2.7.  “Must” des Projekts

2.7.1. Must des Projekts
2.7.2. Die Identifizierung des Must des Projekts
2.7.3. Identifizierung der Ausführungspunkte für die Lieferung eines Projekts

2.8. Das Konstruktionsteam des Projekts

2.8.1. Rollen, die je nach Projekt zu spielen sind
2.8.2. Kontakt mit der Personalabteilung für die Rekrutierung
2.8.3. Leistungen und Projektzeitplan

2.9. Technische Aspekte eines Softwareprojekts

2.9.1. Projekt Architekt. Technische Aspekte
2.9.2. Technische Leiter
2.9.3. Aufbau des Softwareprojekts
2.9.4. Bewertung der Codequalität, SonarQube

2.10. Projektleistungen

2.10.1. Funktionsanalyse
2.10.2. Datenmodell
2.10.3. Zustandsdiagramm
2.10.4. Technische Dokumentation

Modul 3. Software Testing. Testautomatisierung

3.1. Software-Qualitätsmodelle

3.1.1. Produktqualität
3.1.2. Prozessqualität
3.1.3. Qualität der Nutzung

3.2. Prozessqualität

3.2.1. Prozessqualität
3.2.2. Reifegradmodelle
3.2.3. ISO 15504-Norm

3.2.3.1. Verwendungszwecke
3.2.3.2. Kontext
3.2.3.3. Etappen

3.3. ISO/IEC 15504-Norm

3.3.1. Prozess-Kategorien
3.3.2. Entwicklungsprozess. Beispiel
3.3.3. Profil Fragment
3.3.4. Etappen

3.4. CMMI (Capability Maturity Model Integration) 

3.4.1. CMMI. Integration des Capability Maturity Model
3.4.2. Modelle und Bereiche. Typologie
3.4.3. Prozessbereiche
3.4.4. Kapazitätsstufen
3.4.5. Prozessmanagement
3.4.6. Projektleitung

3.5. Verwaltung von Änderungen und Repositorys

3.5.1. Software Change Management

3.5.1.1. Konfigurationselement. Kontinuierliche Integration
3.5.1.2. Zeilen
3.5.1.3. Flussdiagramme
3.5.1.4. Branches

3.5.2. Repository

3.5.2.1. Versionskontrolle
3.5.2.2. Arbeitsteam und Nutzung des Repository
3.5.2.3. Kontinuierliche Integration in das Repository

3.6. Team Foundation Server (TFS)

3.6.1. Installation und Konfiguration
3.6.2.  Ein Team-Projekt erstellen
3.6.3. Hinzufügen von Inhalten zur Versionskontrolle
3.6.4. TFS on Cloud

3.7. Testing

3.7.1. Motivation für Tests
3.7.2. Verifikationsprüfung
3.7.3. Beta-Tests
3.7.4. Implementierung und Wartung

3.8. Belastungstests

3.8.1. Load testing
3.8.2. LoadView-Tests
3.8.3. Testen mit K6 Cloud
3.8.4. Testen mit Loader

3.9. Unit-, Stress- und Dauertests

3.9.1. Motivation für Unit-Tests
3.9.2. Unit Testing Tools
3.9.3. Motivation für Stresstests
3.9.4. Testen mit StressTesting
3.9.5. Motivation für Stresstests
3.9.6. Testen mit LoadRunner

3.10. Skalierbarkeit. Skalierbares Software-Design

3.10.1. Skalierbarkeit und Software-Architektur
3.10.2. Unabhängigkeit zwischen den Ebenen
3.10.3. Kopplung zwischen Schichten. Architektur-Muster

Modul 4. Software-Projektmanagement-Methoden. Waterfall-Methoden versus agile Methoden

4.1. Waterfall-Methode

4.1.1. Waterfall-Methode
4.1.2. Waterfall-Methode. Einfluss auf die Softwarequalität
4.1.3. Waterfall-Methode. Beispiele

4.2. Methodik Agile

4.2.1. Methodik Agile
4.2.2. Methodik Agile. Einfluss auf die Softwarequalität
4.2.3. Methodik Agile. Beispiele

4.3. Scrum-Methodik

4.3.1. Scrum-Methodik
4.3.2. Scrum Manifest
4.3.3. Scrum Implementierung

4.4. Kanban-Panel

4.4.1. Kanban-Methode
4.4.2. Kanban-Panel
4.4.3. Kanban-Panel. Beispiel einer Anwendung

4.5. Projektmanagement in Waterfall

4.5.1. Phasen eines Projekts
4.5.2. Projektvision in Waterfall
4.5.3. Zu berücksichtigende Leistungen

4.6. Projektmanagement in Scrum

4.6.1. Phasen eines Projekts Scrum
4.6.2. Projektvision in Scrum
4.6.3.  Zu berücksichtigende Leistungen

4.7. Waterfall vs. Scrum Vergleich

4.7.1. Ansatz des Pilotprojekts
4.7.2. Projekt nach dem Prinzip Waterfall. Beispiel
4.7.3. Projekt nach dem Prinzip Scrum. Beispiel

4.8. Kundenvision

4.8.1. Dokumente in Waterfall
4.8.2. Dokumente in Scrum
4.8.3. Vergleich

4.9. Kanban Struktur

4.9.1. Anwenderberichte
4.9.2. Backlog
4.9.3. Kanban-Analyse

4.10. Hybride Projekte

4.10.1. Projekt Konstruktion
4.10.2. Projektleitung
4.10.3. Zu berücksichtigende Leistungen

Modul 5. TDD (Test Driven Developement). Testgetriebener Softwareentwurf

5.1. TDD. Test Driven Development

5.1.1. TDD. Test Driven Development
5.1.2. TDD. Einfluss von TDD auf die Qualität
5.1.3.  Testgesteuertes Design und Entwicklung. Beispiele

5.2. TDD-Zyklus

5.2.1. Auswahl einer Anforderung
5.2.2. Testen. Typologien

5.2.2.1. Einheitstests
5.2.2.2. Integrationstests
5.2.2.3. End To End-Tests

5.2.3. Prüfung des Tests. Misserfolge
5.2.4. Erstellung der Implementierung
5.2.5. Ausführung von automatisierten Tests
5.2.6. Eliminierung von Doppelarbeit
5.2.7. Aktualisierung der Liste der Anforderungen
5.2.8.  Wiederholung des TDD-Zyklus
5.2.9. TDD-Zyklus. Theoretisches und praktisches Beispiel

5.3. TDD-Implementierungsstrategien

5.3.1. Mock-Implementierung
5.3.2. Dreieckige Implementierung
5.3.3. Offensichtliche Implementierung

5.4. TDD. Nutzung. Vorteile und Nachteile

5.4.1. Vorteile der Nutzung
5.4.2. Beschränkungen der Nutzung
5.4.3. Qualitätsbilanz in der Implementierung

5.5. TDD. Bewährte Verfahren

5.5.1. TDD-Regeln
5.5.2. Regel 1: Durchführung eines früheren Tests, falls dieser fehlschlägt, bevor in der Produktion programmiert wird
5.5.3. Regel 2: Nicht mehr als einen Einheitstest schreiben
5.5.4. Regel 3: Nicht mehr Code schreiben als nötig
5.5.5. Zu vermeidende Fehler und Anti-Patterns bei TDD

5.6. Simulation eines realen Projekts zur Anwendung von TDD (I)

5.6.1. Allgemeine Beschreibung des Projekts (Unternehmen A)
5.6.2. Implementierung von TDD
5.6.3. Vorgeschlagene Übungen
5.6.4. Übungen. Feedback

5.7. Simulation eines realen Projekts zur Anwendung von TDD (II)

5.7.1. Allgemeine Beschreibung des Projekts (Unternehmen B)
5.7.2. Anwendung von TDD
5.7.3. Vorgeschlagene Übungen
5.7.4. Übungen. Feedback

5.8. Simulation eines realen Projekts zur Anwendung von TDD (III)

5.8.1. Allgemeine Beschreibung des Projekts (Unternehmen C)
5.8.2. Anwendung von TDD
5.8.3. Vorgeschlagene Übungen
5.8.4. Übungen. Feedback

5.9. Alternativen zu TDD. Test Driven Development

5.9.1. TCR (Test Commit Revert)
5.9.2. BDD (Behavior Driven Development)
5.9.3. ATDD (Acceptance Test Driven Development)
5.9.4. TDD. Theoretischer Vergleich

5.10. TDD TCR, BDD und ATDD. Praktischer Vergleich

5.10.1. Problemstellung
5.10.2. Lösen mit TCR
5.10.3. Lösen mit BDD
5.10.4. Lösen mit ATDD

Modul 6. DevOps. Software-Qualitätsmanagement

6.1. DevOps. Software-Qualitätsmanagement

6.1.1. DevOps
6.1.2. DevOps und Softwarequalität
6.1.3. DevOps. Vorteile der DevOps-Kultur

6.2. DevOps. Beziehung zu Agile

6.2.1. Beschleunigte Lieferung
6.2.2. Qualität
6.2.3. Kostensenkung

6.3. Implementierung von DevOps

6.3.1. Identifizierung des Problems
6.3.2. Implementierung in einem Unternehmen
6.3.3. Metriken zur Implementierung

6.4. Software-Lieferzyklus

6.4.1. Design-Methoden
6.4.2. Abkommen
6.4.3. Roadmap

6.5. Entwicklung von fehlerfreiem Code

6.5.1. Wartbarer Code
6.5.2. Entwicklungsmuster
6.5.3. Code-Testing
6.5.4. Software-Entwicklung auf Code-Ebene. Bewährte Verfahren

6.6. Automatisierung

6.6.1. Automatisierung. Arten von Tests
6.6.2. Kosten für Automatisierung und Wartung
6.6.3. Automatisierung. Fehler abmildern

6.7. Einsätze

6.7.1. Zielbewertung
6.7.2. Entwurf eines automatischen und angepassten Prozesses
6.7.3. Feedback und Reaktionsfähigkeit

6.8. Management von Zwischenfällen

6.8.1. Bereitschaft für Zwischenfälle
6.8.2. Analyse und Lösung von Vorfällen
6.8.3. Künftige Fehler vermeiden

6.9. Automatisierung des Einsatzes

6.9.1. Vorbereitungen für automatisierte Einsätze
6.9.2. Automatische Bewertung des Prozesszustands
6.9.3. Metriken und Rollback-Fähigkeit

6.10. Bewährte Verfahren. Entwicklung von DevOps

6.10.1. DevOps Leitfaden für bewährte Verfahren
6.10.2. DevOps. Methodik für das Team
6.10.3. Nischen meiden

Modul 7. DevOps und kontinuierliche Integration. Fortgeschrittene praktische Lösungen in der Softwareentwicklung

7.1. Ablauf der Softwarelieferung

7.1.1. Identifizierung von Akteuren und Artefakten
7.1.2. Entwurf des Softwareentwicklungsprozesses
7.1.3. Ablauf der Softwareentwicklung. Anforderungen zwischen den Phasen

7.2. Prozessautomatisierung

7.2.1. Kontinuierliche Integration
7.2.2. Kontinuierliche Bereitstellung
7.2.3. Konfiguration von Umgebungen und Verwaltung von Geheimnissen

7.3. Deklarative Pipelines

7.3.1. Unterschiede zwischen traditionellen, codeähnlichen und deklarativen Pipelines
7.3.2. Deklarative Pipelines
7.3.3. Deklarative Pipelines in Jenkins
7.3.4. Vergleich der Anbieter von kontinuierlicher Integration

7.4. Qualitätsprüfpunkte und erweitertes Feedback

7.4.1. Qualitätsprüfpunkte
7.4.2. Qualitätsstandards mit Qualitätsprüfpunkten. Wartung
7.4.3. Geschäftsanforderungen für Integrationsanfragen

7.5. Verwaltung von Artefakten

7.5.1. Artefakte und Lebenszyklus
7.5.2. Systeme zur Aufbewahrung und Verwaltung von Artefakten
7.5.3. Sicherheit bei der Verwaltung von Artefakten

7.6. Kontinuierliche Bereitstellung

7.6.1. Kontinuierliche Bereitstellung in Containern
7.6.2. Kontinuierliche Bereitstellung mit PaaS
7.6.3. Kontinuierliche Bereitstellung von mobilen Anwendungen

7.7. Verbesserung der Pipeline-Laufzeit: statische Analyse und Git Hooks

7.7.1. Statische Analyse
7.7.2. Code-Stilregeln
7.7.3. Git Hooks und Einheitstests
7.7.4. Die Auswirkungen der Infrastruktur

7.8. Container-Schwachstellen

7.8.1. Container-Schwachstellen
7.8.2. Scannen von Bildern
7.8.3. Regelmäßige Berichte und Warnmeldungen

Modul 8. Datenbank-Design (DB). Standardisierung und Leistung. Software-Qualität

8.1. Entwurf von Datenbanken

8.1.1. Datenbanken. Typologie
8.1.2. Derzeit verwendete Datenbanken

8.1.2.1. Relational
8.1.2.2. Schlüssel-Wert
8.1.2.3. Netzwerkbasiert

8.1.3. Datenqualität

8.2. Entwurf eines Entity-Relationship-Modells (I)

8.2.1. Entity-Relationship-Modell. Qualität und Dokumentation
8.2.2. Einheiten

8.2.2.1. Starke Einheit
8.2.2.2. Schwache Einheit

8.2.3. Attribute
8.2.4. Beziehungsset

8.2.4.1. 1 zu 1
8.2.4.2. 1 zu vielen
8.2.4.3. Viele zu 1
8.2.4.4. Viele zu viele

8.2.5. Schlüssel

8.2.5.1. Primärschlüssel
8.2.5.2. Fremdschlüssel
8.2.5.3. Schwacher Primärschlüssel der Einheit

8.2.6. Beschränkungen
8.2.7. Kardinalität
8.2.8. Vererbung
8.2.9. Aggregation

8.3. Entity-Relationship-Modells (II). Tools

8.3.1. Entity-Relationship-Modell. Tools
8.3.2. Entity-Relationship-Modell. Praktisches Beispiel
8.3.3. Durchführbares Entity-Relationship-Modell

8.3.3.1. Visuelles Beispiel
8.3.3.2. Beispiel in tabellarischer Darstellung

8.4. Standardisierung von Datenbanken (DB) (I). Überlegungen zur Softwarequalität

8.4.1. DB Standardisierung und Qualität
8.4.2. Abhängigkeit

8.4.2.1. Funktionsabhängigkeit
8.4.2.2. Eigenschaften der Funktionsabhängigkeit
8.4.2.3. Abgeleitete Eigenschaften

8.4.3. Schlüssel

8.5. Standardisierung von Datenbanken (DB) (II). Normalformen und Codd-Regeln

8.5.1. Normale Formen

8.5.1.1. Erste Normalform (1NF)
8.5.1.2. Zweite Normalform (2NF)
8.5.1.3. Dritte Normalform (3NF)
8.5.1.4. Boyce-Codd-Normalform (BCNF)
8.5.1.5. Vierte Normalform (4NF)
8.5.1.6. Fünfte Normalform (5NF)

8.5.2. Codd's Regeln

8.5.2.1. Regel 1: Information
8.5.2.2. Regel 2: Garantierter Zugang
8.5.2.3. Regel 3: Systematische Behandlung von Nullwerten
8.5.2.4. Regel 4: Beschreibung der Datenbank
8.5.2.5. Regel 5: Integrale Untersprache
8.5.2.6. Regel 6: Ansicht aktualisieren
8.5.2.7. Regel 7: Einfügen und Aktualisieren
8.5.2.8. Regel 8: Körperliche Unabhängigkeit
8.5.2.9. Regel 9: Logische Unabhängigkeit
8.5.2.10. Regel 10: Unabhängigkeit der Integrität

8.5.2.10.1. Integritätsregeln

8.5.2.11. Regel 11: Verteilung
8.5.2.12. Regel 12: Nicht-Subversion

8.5.3. Praktisches Beispiel

8.6. Datenlager / OLAP-System

8.6.1. Data Warehouse
8.6.2. Faktentabelle
8.6.3. Tabelle der Abmessungen
8.6.4. Erstellung des OLAP-Systems. Tools

8.7. Leistung der Datenbank (DB)

8.7.1. Index-Optimierung
8.7.2. Optimierung von Abfragen
8.7.3. Tabelle Partitionierung

8.8. Simulation des realen Projekts für DB-Design (I)

8.8.1. Projektübersicht (Unternehmen A)
8.8.2. Anwendung von Datenbankdesign
8.8.3. Vorgeschlagene Übungen
8.8.4. Vorgeschlagene Übungen. Feedback

8.9. Simulation des realen Projekts für DB-Design (II)

8.9.1. Allgemeine Beschreibung des Projekts (Unternehmen B)
8.9.2. Anwendung von Datenbankdesign
8.9.3. Vorgeschlagene Übungen
8.9.4. Vorgeschlagene Übungen. Feedback

8.10. Relevanz der DB-Optimierung für die Softwarequalität

8.10.1. Design-Optimierung
8.10.2. Optimierung des Abfragecodes
8.10.3. Optimierung von gespeichtertem Prozedur-Code
8.10.4. Der Einfluss von Triggers auf die Softwarequalität. Empfehlungen für die Verwendung

Modul 9. Entwurf skalierbarer Architekturen. Architektur im Software-Lebenszyklus

9.1. Entwurf skalierbarer Architekturen (I)

9.1.1. Skalierbare Architekturen
9.1.2. Grundsätze einer skalierbaren Architektur

9.1.2.1. Zuverlässig
9.1.2.2. Skalierbar
9.1.2.3. Wartbar

9.1.3. Arten der Skalierbarkeit

9.1.3.1. Vertikal
9.1.3.2. Horizontal
9.1.3.3. Kombiniert

9.2. Architekturen DDD (Domain-Driven Design)

9.2.1. DDD-Modell. Domain-Ausrichtung
9.2.2. Schichten, Aufteilung der Verantwortung und Entwurfsmuster
9.2.3. Entkopplung als Grundlage für Qualität

9.3. Entwurf skalierbarer Architekturen (II). Vorteile, Einschränkungen und Designstrategien

9.3.1. Skalierbare Architektur. Vorteile
9.3.2. Skalierbare Architektur. Beschränkungen
9.3.3. Strategien für die Entwicklung skalierbarer Architekturen (Beschreibende Tabelle)

9.4. Lebenszyklus der Software (I). Etappen

9.4.1. Lebenszyklus der Software

9.4.1.1. Planungsphase
9.4.1.2. Analysephase
9.4.1.3. Entwurfsphase
9.4.1.4. Phase der Umsetzung
9.4.1.5. Testphase
9.4.1.6. Phase der Installation/Einrichtung
9.4.1.7. Phase der Nutzung und Pflege

9.5. Software-Lebenszyklus-Modelle

9.5.1. Wasserfall-Modell
9.5.2. Wiederholtes Modell
9.5.3. Spiralförmiges Modell
9.5.4. Big Bang Modell

9.6. Lebenszyklus der Software (II). Automatisierung

9.6.1. Lebenszyklus der Softwareentwicklung. Lösungen

9.6.1.1. Kontinuierliche Integration und Entwicklung (CI/CD)
9.6.1.2. Agile Methodologien
9.6.1.3. DevOps / Produktionsbetrieb

9.6.2. Zukünftige Trends
9.6.3. Praktische Beispiele

9.7. Software-Architektur im Software-Lebenszyklus

9.7.1. Vorteile
9.7.2. Beschränkungen
9.7.3. Tools

9.8. Simulation eines realen Projekts zum Entwurf einer Software-Architektur (I)

9.8.1. Projektübersicht (Unternehmen A)
9.8.2. Anwendung Softwarearchitektur-Design
9.8.3. Vorgeschlagene Übungen
9.8.4. Vorgeschlagene Übungen. Feedback

9.9. Simulation eines realen Projekts zum Entwurf einer Software-Architektur (II)

9.9.1. Allgemeine Beschreibung des Projekts (Unternehmen B)
9.9.2. Anwendung Softwarearchitektur-Design
9.9.3. Vorgeschlagene Übungen
9.9.4. Vorgeschlagene Übungen. Feedback

9.10. Simulation eines realen Projekts zum Entwurf einer Software-Architektur (III)

9.10.1. Allgemeine Beschreibung des Projekts (Unternehmen C)
9.10.2. Anwendung Softwarearchitektur-Design
9.10.3. Vorgeschlagene Übungen
9.10.4. Vorgeschlagene Übungen. Feedback

Modul 10. ISO, IEC 9126 Qualitätskriterien. Metriken zur Software-Qualität

10.1. Qualitätskriterien. ISO/IEC 9126 Norm

10.1.1. Qualitätskriterien
10.1.2. Software-Qualität. Rechtfertigung. ISO/IEC 9126 Norm
10.1.3. Messung der Softwarequalität als Schlüsselindikator

10.2. Qualitätskriterien für Software. Eigenschaften

10.2.1. Verlässlichkeit
10.2.2. Funktionsweise
10.2.3. Effizienz
10.2.4. Benutzerfreundlichkeit
10.2.5. Instandhaltbarkeit
10.2.6. Tragbarkeit
10.2.7. Sicherheit

10.3. ISO, IEC 9126 (I). Präsentation

10.3.1. Beschreibung von ISO, IEC 9126
10.3.2. Funktionsweise
10.3.3. Verlässlichkeit
10.3.4. Benutzerfreundlichkeit
10.3.5. Instandhaltbarkeit
10.3.6. Übertragbarkeit
10.3.7. Qualität im Einsatz
10.3.8. Metriken zur Softwarequalität
10.3.9. Qualitätsmetriken in ISO 9126

10.4. ISO, IEC 9126 (II). McCall und Boehm Modelle

10.4.1. McCall Modell: Qualitätsfaktoren
10.4.2. Böhm Modell
10.4.3. Mittleres Niveau. Eigenschaften

10.5. Metriken zur Softwarequalität (I). Elemente

10.5.1. Messung
10.5.2. Metrik
10.5.3. Indikator

10.5.3.1. Arten von Indikatoren

10.5.4. Maßnahmen und Modelle
10.5.5. Umfang der Software Metriken
10.5.6. Klassifizierung von Softwaremetriken

10.6. Messung der Softwarequalität (II). Praxis der Messung

10.6.1. Metrische Datenerfassung
10.6.2. Messung der internen Produkteigenschaften
10.6.3. Messung von externen Produktattributen
10.6.4. Messung der Ressourcen
10.6.5. Metriken für objektorientierte Systeme

10.7. Entwerfen eines einzigen Software-Qualitätsindikators

10.7.1. Einzelner Indikator als Global Scorer
10.7.2. Entwicklung, Rechtfertigung und Anwendung von Indikatoren
10.7.3. Beispiel für eine Anwendung. Notwendigkeit, die Details zu kennen

10.8. Simulation eines realen Projekts zur Qualitätsmessung (I)

10.8.1. Projektübersicht (Unternehmen A)
10.8.2. Anwendung der Qualitätsmessung
10.8.3. Vorgeschlagene Übungen
10.8.4. Vorgeschlagene Übungen. Feedback

10.9. Simulation eines realen Projekts zur Qualitätsmessung (II)

10.9.1. Allgemeine Beschreibung des Projekts (Unternehmen B)
10.9.2. Anwendung der Qualitätsmessung
10.9.3. Vorgeschlagene Übungen
10.9.4. Vorgeschlagene Übungen. Feedback

10.10. Simulation eines realen Projekts zur Qualitätsmessung (III)

10.10.1. Allgemeine Beschreibung des Projekts (Unternehmen C)
10.10.2. Anwendung der Qualitätsmessung
10.10.3. Vorgeschlagene Übungen
10.10.4. Vorgeschlagene Übungen. Feedback

##IMAGE##

Weiterbildender Masterstudiengang in Software-Qualität

Das zunehmende Tempo in der Technologiebranche und die Anforderungen des Marktes haben zu einer hohen technischen Verschuldung bei Softwareprojekten geführt. Die Notwendigkeit, schnell auf die Anforderungen von Kunden oder Unternehmen zu reagieren, hat dazu geführt, dass die Details der Qualität des Systems vernachlässigt wurden. Der Weiterbildender Masterstudiengang in Software-Qualität ist ein Studiengang, der darauf ausgerichtet ist, Kriterien, Aufgaben und fortgeschrittene Methoden zu entwickeln, die es ermöglichen, die Relevanz einer Arbeit zu verstehen, die sich an der Notwendigkeit orientiert, eine Qualitätspolitik in Softwarefabriken umzusetzen. Dieser Kurs ist vollständig online konzipiert, mit einer Dauer von 12 Monaten und einer Methodik, die an die Bedürfnisse der Studenten der größten digitalen Universität der Welt angepasst ist.

Spezialisieren Sie sich auf Software-Projekte

Dieser Masterstudiengang ermöglicht es Ihnen, sich aus einer ganzheitlichen Perspektive Spezialwissen im Bereich Softwarequalität anzueignen. Sie werden lernen, Methoden und Techniken zur Bewertung und Verbesserung der Softwarequalität in allen Phasen des Projektlebenszyklus anzuwenden. Sie werden auch in der Lage sein, Qualitätsprobleme in Softwareprojekten zu erkennen und zu lösen und Test- und Analysewerkzeuge anzuwenden, um die Qualität des Endprodukts zu bewerten und zu gewährleisten. Sie werden von Experten auf diesem Gebiet angeleitet, die Ihnen eine hochwertige Fortbildung im Bereich Softwarequalität bieten. Mit diesem Kurs werden Sie darauf vorbereitet, in jedem Bereich der Technologiebranche zu arbeiten, sei es im öffentlichen oder privaten Sektor. Sie werden in der Lage sein, Ihre Kenntnisse und Fähigkeiten im Software-Projektmanagement anzuwenden und zur kontinuierlichen Verbesserung der Qualität in Software Factories beizutragen.