Was ist SDLC?

Der Lebenszyklus der Software-Entwicklung (Software Development Life Cycle, SDLC) ist eine Methode mit klar definierten Prozessen zur Erstellung hochwertiger Software. Im Einzelnen konzentriert sich die SDLC-Methodik auf die folgenden Phasen der Software-Entwicklung

 

  • Anforderungsanalyse
  • Planung
  • Softwareentwurf, z. B. Architekturentwurf
  • Software-Entwicklung
  • Testen
  • Bereitstellung

 

In diesem Artikel wird erklärt, wie der SDLC funktioniert, es wird auf die einzelnen Phasen eingegangen und es werden Beispiele angeführt, um ein besseres Verständnis der einzelnen Phasen zu erreichen.

 

Tipp: Anwendungsfehler und Performance-Probleme sofort finden mit Stackify Retrace

Mit integrierten Fehlern, Protokollen und Leistungseinblicken auf Code-Ebene ist die Fehlersuche und Optimierung Ihres Codes ganz einfach.

Heute kostenlos testen

 

Was ist ein Softwareentwicklungs-Lebenszyklus?

 

Der SDLC (Software Development Life Cycle) ist ein Prozess, mit dem Software mit höchster Qualität und geringsten Kosten in kürzester Zeit entwickelt werden kann. Der SDLC bietet einen gut strukturierten Ablauf von Phasen, die einem Unternehmen helfen, schnell qualitativ hochwertige, gut getestete und produktionsreife Software zu erstellen.

 

Wie in der Einleitung erläutert, umfasst der SDLC sechs Phasen. Beliebte SDLC-Modelle sind das Wasserfallmodell, das Spiralmodell und das agile Modell.

 

Wie also funktioniert der Software Development Life Cycle?

 

Wie funktioniert der SDLC?

 

Der SDLC funktioniert, weil er die Kosten der Softwareentwicklung senkt und gleichzeitig die Qualität erhöht und die Produktionszeit verkürzt. SDLC erreicht diese scheinbar divergierenden Ziele, indem es einem Plan folgt, der die typischen Fallstricke von Softwareentwicklungsprojekten beseitigt. Der Plan beginnt mit der Bewertung der vorhandenen Systeme auf Mängel.

 

Dann werden die Anforderungen an das neue System definiert. Anschließend wird die Software in den Phasen Analyse, Planung, Design, Entwicklung, Test und Bereitstellung erstellt. Durch die Vorwegnahme kostspieliger Fehler wie das Versäumnis, den Endbenutzer oder Kunden um Feedback zu bitten, kann SLDC überflüssige Nacharbeiten und nachträgliche Korrekturen vermeiden.

 

Wichtig ist auch, dass ein starker Fokus auf die Testphase gelegt wird. Da der SDLC eine sich wiederholende Methodik ist, muss die Codequalität in jedem Zyklus sichergestellt werden. Viele Unternehmen neigen dazu, wenig Aufwand für das Testen zu betreiben, während ein stärkerer Fokus auf das Testen ihnen viel Nacharbeit, Zeit und Geld ersparen kann. Seien Sie klug und schreiben Sie die richtigen Arten von Tests.

 

Als nächstes wollen wir uns die verschiedenen Phasen des Softwareentwicklungszyklus ansehen.

 

 

Phasen und bewährte Praktiken

Die Einhaltung der bewährten Praktiken und/oder Phasen des SDLC gewährleistet einen reibungslosen, effizienten und produktiven Ablauf des Prozesses.

 

  1. Identifizierung der aktuellen Probleme

„Was sind die aktuellen Probleme?“ In dieser Phase des SDLC müssen alle Beteiligten, einschließlich Kunden, Vertriebsmitarbeiter, Branchenexperten und Programmierer, zu Wort kommen. Lernen Sie die Stärken und Schwächen des aktuellen Systems kennen, mit dem Ziel, es zu verbessern.

 

  1. Plannen Sie

“ Was wollen wir?“ In dieser Phase des SDLC bestimmt das Team die Kosten und Ressourcen, die für die Umsetzung der analysierten Anforderungen erforderlich sind. Außerdem werden die damit verbundenen Risiken detailliert beschrieben und Teilpläne zur Abschwächung dieser Risiken erstellt.

 

Anders ausgedrückt: Das Team sollte die Durchführbarkeit des Projekts bestimmen und herausfinden, wie es das Projekt mit dem geringsten Risiko erfolgreich umsetzen kann.

 

  1. Entwurf

“ Wie bekommen wir, was wir wollen?“ In dieser Phase des SDLC werden die Softwarespezifikationen in einen Entwurfsplan, die so genannte Entwurfsspezifikation, umgewandelt. Alle Beteiligten prüfen dann diesen Plan und geben Feedback und Anregungen. Es ist von entscheidender Bedeutung, dass Sie einen Plan haben, wie Sie die Anregungen der Beteiligten sammeln und in dieses Dokument einfließen lassen. Ein Scheitern in dieser Phase führt mit ziemlicher Sicherheit bestenfalls zu Kostenüberschreitungen und schlimmstenfalls zum völligen Scheitern des Projekts.

 

  1. Erstellen Sie

“ Schaffen wir, was wir wollen.“

 

In dieser Phase beginnt die eigentliche Entwicklung. Es ist wichtig, dass sich jeder Entwickler an die vereinbarte Blaupause hält. Stellen Sie außerdem sicher, dass Sie über geeignete Richtlinien für den Codestil und die Vorgehensweise verfügen.

 

So sollten Sie beispielsweise eine Nomenklatur für Dateien oder einen Stil für die Benennung von Variablen wie camelCase festlegen. Dies hilft Ihrem Team, einen organisierten und konsistenten Code zu erstellen, der leichter zu verstehen und in der nächsten Phase auch leichter zu testen ist.

 

  1. Code-Test

“ Haben wir bekommen, was wir wollten?“ In dieser Phase testen wir auf Fehler und Unzulänglichkeiten. Wir beheben diese Probleme, bis das Produkt den ursprünglichen Spezifikationen entspricht.

 

Kurz gesagt, wir wollen überprüfen, ob der Code die definierten Anforderungen erfüllt.

 

Probieren Sie den kostenlosen Code-Profiler von Stackify, Prefix, aus, um besseren Code auf Ihrer Workstation zu schreiben. Prefix funktioniert mit .NET, Java, PHP, Node.js, Ruby und Python.

 

  1. Bereitstellung von Software

„Fangen wir an, das zu nutzen, was wir haben.“

 

In diesem Stadium besteht das Ziel darin, die Software in der Produktionsumgebung einzusetzen, damit die Benutzer das Produkt verwenden können. Viele Unternehmen entscheiden sich jedoch dafür, das Produkt in verschiedenen Bereitstellungsumgebungen, z. B. in einer Test- oder Staging-Umgebung, einzusetzen.

 

So können alle Beteiligten gefahrlos mit dem Produkt spielen, bevor es auf den Markt gebracht wird. Zudem können so letzte Fehler vor der Freigabe des Produkts behoben werden.

 

Extras: Software-Wartung

“ Bringen wir es näher an das heran, was wir wollen.“ Der Plan wird fast nie perfekt, wenn er auf die Realität trifft. Und wenn sich die Bedingungen in der realen Welt ändern, müssen wir die Software entsprechend aktualisieren und weiterentwickeln.

 

Durch die DevOps-Bewegung hat sich der SDLC in gewisser Weise verändert. Die Entwickler sind jetzt für immer mehr Schritte des gesamten Entwicklungsprozesses verantwortlich. Außerdem sehen wir den Wert der Linksverschiebung. Wenn Entwicklungs- und Betriebsteams dasselbe Toolset verwenden, um die Leistung zu verfolgen und Fehler von der Entwicklung bis zur Stilllegung einer Anwendung festzustellen, sorgt dies für eine gemeinsame Sprache und schnellere Übergaben zwischen den Teams.

 

APM-Tools (Application Performance Monitoring) können in einer Entwicklungs-, QA- und Produktionsumgebung eingesetzt werden. Auf diese Weise verwenden alle Beteiligten über den gesamten Entwicklungszyklus hinweg das gleiche Toolset.

 

Mehr dazu: 3 Gründe, warum sich die APM-Nutzung nach links zur Entwicklung und QA verschiebt

 

Beispiele

Die gängigsten SDLC-Beispiele oder SDLC-Modelle sind im Folgenden aufgeführt.

 

Wasserfall-Modell

Dies ist das älteste und einfachste SDLC-Modell. Bei dieser Methodik wird eine Phase abgeschlossen und dann die nächste begonnen. Jede Phase hat ihren eigenen Miniplan und jede Phase geht in die nächste über. Der größte Nachteil dieses Modells ist, dass kleine, unvollständige Details den gesamten Prozess aufhalten können.

 

Agiles Modell

Beim agilen SDLC-Modell wird das Produkt in Zyklen unterteilt und sehr schnell ein funktionierendes Produkt geliefert. Bei dieser Methodik wird eine Reihe von Versionen erstellt. Die Tests der einzelnen Versionen liefern Informationen, die in die nächste Version einfließen. Laut Robert Half besteht der Nachteil dieses Modells darin, dass die starke Betonung der Kundeninteraktion das Projekt in manchen Fällen in die falsche Richtung führen kann.

 

Iteratives Modell

Bei diesem SDLC-Modell liegt der Schwerpunkt auf Wiederholungen. Die Entwickler erstellen sehr schnell und mit relativ geringem Kostenaufwand eine Version und testen und verbessern diese dann durch schnelle und aufeinanderfolgende Versionen. Ein großer Nachteil dieses Modells ist, dass es schnell Ressourcen verbrauchen kann, wenn es nicht kontrolliert wird.

 

V-förmiges Modell

Als Erweiterung des Wasserfallmodells wird bei dieser SDLC-Methode in jeder Phase der Entwicklung getestet. Wie beim Wasserfallmodell kann auch dieser Prozess auf Hindernisse stoßen.

 

Urknall-Modell

Dieses risikoreiche SDLC-Modell setzt die meisten Ressourcen für die Entwicklung ein und eignet sich am besten für kleine Projekte. Es fehlt die gründliche Anforderungsdefinitionsphase der anderen Methoden.

 

Spiralmodell

Das Spiralmodell ist das flexibelste der SDLC-Modelle und ähnelt dem iterativen Modell in seiner Betonung der Wiederholung. Das Spiralmodell durchläuft die Phasen der Planung, des Entwurfs, der Erstellung und des Tests immer wieder, wobei bei jedem Durchgang schrittweise Verbesserungen vorgenommen werden.

 

Vorteile des SDLC

Ein richtig durchgeführter SDLC ermöglicht ein Höchstmaß an Managementkontrolle und Dokumentation. Die Entwickler wissen, was sie entwickeln sollen und warum. Alle Beteiligten sind sich im Vorfeld über das Ziel einig und sehen einen klaren Plan, wie dieses Ziel erreicht werden soll. Jeder weiß, welche Kosten und Ressourcen erforderlich sind.

 

Verschiedene Fallstricke können dazu führen, dass eine SDLC-Implementierung eher ein Hindernis für die Entwicklung als ein hilfreiches Werkzeug darstellt. Die Nichtberücksichtigung der Bedürfnisse der Kunden und aller Benutzer und Beteiligten kann dazu führen, dass die Systemanforderungen von Anfang an nicht richtig verstanden werden. Die Vorteile des SDLC sind nur dann gegeben, wenn der Plan genau befolgt wird.

 

Sie möchten die Anwendungsqualität verbessern und die Anwendungsleistung in jeder Phase des SDLC überwachen? Testen Sie das Retrace-Tool von Stackify kostenlos und erfahren Sie, wie es Ihrem Unternehmen helfen kann, qualitativ hochwertigere Software zu produzieren.

 

 

Werkzeugsoftware

Werkzeugsoftware – Software zur Verwendung beim Entwurf, der Entwicklung und der Wartung von Programmen. Unter ihnen sind:

  • Assembler – konvertieren Assembler-Code in Maschinencode-Sprache;
  • Compiler sind Programme, die den Text eines Programms in einer höheren Sprache in ein gleichwertiges Programm in einer Maschinensprache übersetzen.
  • Interpreter – Programme (manchmal Hardware), die Befehle oder Programmanweisungen analysieren und sofort ausführen;
  • Linker (Link-Editoren) – Programme, die das Verknüpfen herstellen – nehmen ein oder mehrere Objektmodule als Eingabe und stellen daraus ein ausführbares Modul zusammen;
  • Unterprogrammbibliotheken – Sammlungen von Unterprogrammen oder Objekten, die für die Softwareentwicklung verwendet werden;
  • Quellpräprozessoren sind Computerprogramme, die Eingabedaten und Ausgabedaten verwenden, die für die Eingabe eines anderen Programms bestimmt sind, beispielsweise eines Compilers.

und andere Arten von Instrumentensoftware.



Beispiele für Werkzeugsoftware sind:

  • Borland Delphi – entwickelt, um fast jedes Problem der Anwendungsprogrammierung zu lösen;
  • Borland C ++ Builder ist ein großartiges Tool zum Entwickeln von DOS- und Windows-Anwendungen.
  • Microsoft Visual Basic ist ein beliebtes Tool zum Erstellen von Windows-Programmen.
  • Microsoft Visual C ++ – Mit diesem Tool können Sie jede Anwendung entwickeln, die auf einem Betriebssystem wie Microsoft Windows ausgeführt wird.

Android und Arduino

Installieren und Konfigurieren der Arduino IDE

Holen Sie sich die neueste Version von der Download-Seite. Sie können zwischen dem Installationsprogramm (.exe) und den Zip-Paketen wählen. Wir empfehlen Ihnen, die erste zu verwenden, die direkt alles installiert, was Sie zur Verwendung der Arduino-Software (IDE) benötigen, einschließlich der Treiber. Mit dem Zip-Paket müssen Sie die Treiber manuell installieren. Die Zip-Datei ist auch nützlich, wenn Sie eine tragbare Installation erstellen möchten.

Wenn der Download abgeschlossen ist, fahren Sie mit der Installation fort und lassen Sie den Treiberinstallationsprozess zu, wenn Sie eine Warnung vom Betriebssystem erhalten.


Wählen Sie die zu installierenden Komponenten aus


Choose the installation directory (we suggest to keep the default one)


The process will extract and install all the required files to execute properly the Arduino Software (IDE)

Browser

Der Webbrowser feiert in diesem Jahr sein 30-jähriges Bestehen, wenn man Tim Berners-Lees Einführung der WorldWideWeb-Software im Jahr 1991 mitzählt. Fast von diesem Beginn an tobten die Browserkriege. Angesichts neuer Konkurrenten im Kampf und langjähriger Einträge, die neue Technologien, Annehmlichkeiten, Schutzfunktionen und Funktionen hervorbringen, ist Ihre Wahl der Browsersoftware genauso wichtig wie je zuvor.

In den letzten Jahren wurde die Browserlandschaft von Google dominiert. Das gleiche Unternehmen, das mehr Webinhalte bereitstellt als jedes andere (laut comScore), beansprucht mit Chrome (basierend auf NetMarketShare- und StatCounter-Nummern) auch fast 70 Prozent des Browsermarktes. Dies gilt für den Desktop-Einsatz. Wenn Sie jedoch Mobilgeräte hinzufügen, ist Chrome mit einem Anteil von über 60 Prozent immer noch König. Chrome ist so dominant, dass die meisten anderen Browser jetzt den zugrunde liegenden Chromium-Rendering-Code verwenden, wobei Firefox der einzige verbleibende unabhängige Konkurrent von oben nach unten ist.

Anwendungssoftware

Angewandt – Programme, die die Implementierung spezifischer Aufgaben auf einem Computer ermöglichen: Wissenschaft, Büro, Unterhaltung und andere. Unter ihnen sind:

  • Texteditoren und -prozessoren – Eingabe und Bearbeitung (Formatierung) von Textdaten und grafischen Elementen (z. B. MS Word aus dem MS Office-Paket);
  • Grafikeditoren – Erstellung und Verarbeitung von Grafiken. Es gibt drei Kategorien: Raster-, Vektor- und 3D-3D-Grafikeditoren (z. B. Adobe PhotoshopCorelDraw Graphics-Softwarepakete); oder
  • Datenbankverwaltungssysteme (DBMS) – Organisieren von Datenarrays, Verwalten und Sicherstellen der Interaktion mit anderen Programmen (z. B. MS Access aus dem MS Office-Paket);
  • Dateimanager – Führen Sie Vorgänge aus, um das Dateisystem zu warten: Kopieren, Verschieben, Löschen von Dateien, Erstellen und Löschen von Verzeichnissen (Ordnern), Suchen und Navigieren durch die Dateistruktur. Kann im Betriebssystem enthalten sein (z. B. FAR-Manager);
  • Tabelleneditoren – Datenverwaltung in Form von Tabellen (z. B. MS Excel aus dem MS Office-Paket);
  • WEB-Editoren – Zum Erstellen und Verwalten von Dokumenten für das Internet stehen eine Reihe nützlicher Funktionen zur Verfügung, mit denen Benutzer Webseiten und Dokumente in HTML erstellen können (z. B. Adobe Dreamweaver).
  • Datenarchivierer – Programme zum Komprimieren verschiedener Arten von Dokumenten und Dateien, zum Reduzieren ihrer Größe und zum Verwalten von Archiven (z. B. WinRAR-Archivierer für Windows);
  • WEB-Browser – Mittel zum Anzeigen von WEB-Seiten und zum Abspielen von Text, Grafiken, Videos, Musik sowie zum Arbeiten mit E-Mails (z. B. Internet Explorer von Microsoft);
  • Computer Aided Design (CAD) -Systeme – zur Automatisierung von Konstruktions- und Konstruktionsprozessen (z. B. AutoCAD);
  • Player und Media Player – Programme und Codecs zum Abspielen von Medieninhalten – Video, Musik in verschiedenen Formaten und Standards (z. B. Winows Media Player);
  • Grafiksysteme (Videobearbeitungssysteme) – Programme zum Arbeiten mit Videodateien, Framing, Spezialeffekten (z. B. Windows Move Maker);
  • Buchhaltungssoftware – Buchhaltungs- und Buchhaltungssysteme, Buchhaltung für den Warenverkehr usw. (z. B. 1C-Buchhaltungspaket);
  • Antivirenprogramme und Firewalls – Programme zum Schutz vor Viren, Trojanern, zur Kontrolle des Zugriffs auf Computerports, zum Schutz vor Hackerangriffen und anderen Eingriffen aus dem Netzwerk (z. B. NOD32-Antivirensoftware von ESET);
  • Musikeditoren – Programme zum Erstellen von Musikkompositionen auf einem Computer (z. B. WaveLab);
  • Spielprogramme und andere Unterhaltungsprogramme – Unterhaltungsprogramme mit 3D-Grafik und anderer Art (z. B. viele moderne Spiele für Desktop-PCs und Spielekonsolen);
  • Geografische Informationssysteme – zum Arbeiten mit Karten, Luftbildern, geodätischen Arbeiten (z. B. GIS-Labor);
  • Systemprogramme für die Arbeit mit verschiedenen Peripheriegeräten, Datenträgerverwaltung, Sicherung und Datenwiederherstellung (z. B. Acronis Disk Doctor);
  • E-Mail-Clients – Programme zum Verwalten von E-Mails, die das Erstellen und Empfangen von E-Mail-Nachrichten erleichtern (z. B. MS Outlook Express).
  • Programme für Instant Messaging (ISQ-Clients) und Online-Videoübertragung für die Benutzerkommunikation sowie für die Übertragung von Text und Dateien (z. B. Skype);
  • Programme zum Schreiben von Daten auf CD, DVD, Blu-Ray-Medien (z. B. das NERO-Paket);
  • Viele andere unterhaltsame, wissenschaftliche, systemische Programme.