Software-Entwicklung SB 4. Software-Entwicklung



Ähnliche Dokumente
16 Architekturentwurf Einführung und Überblick

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

SDD System Design Document

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

6. Programmentwicklung

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Grundlagen Software Engineering

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Abschnitt 16: Objektorientiertes Design

Das Wasserfallmodell - Überblick

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Softwaretechnik. Fomuso Ekellem WS 2011/12

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

How to do? Projekte - Zeiterfassung

Data Mining-Projekte

Einführung und Motivation

Die Softwareentwicklungsphasen!

Some Software Engineering Principles

QM: Prüfen -1- KN

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Microsoft SharePoint 2013 Designer

Was versteht man unter einem Softwareentwicklungsmodell?

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Softwaretechnik (Allgemeine Informatik) Überblick

Standard Inhaltsverzeichnis für Testvorschrift

BSV Ludwigsburg Erstellung einer neuen Internetseite

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Projektmanagementsoftware: Standard vs. Individual

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Fragebogen zur Anforderungsanalyse

Referent: Mathias Notheis Kontakt:

Erfahrungen mit Hartz IV- Empfängern

Übungen zur Softwaretechnik

Fragebogen: Abschlussbefragung

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

3.2,,Eichung von Function Points (Berichtigte Angabe)

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

1 Mathematische Grundlagen

Aufgabenheft. Fakultät für Wirtschaftswissenschaft. Modul Business/IT-Alignment , 09:00 11:00 Uhr. Univ.-Prof. Dr. U.

Fragebogen ISONORM 9241/110-S

1. Grundbegriffe des Software-Engineering

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Was versteht man unter Softwaredokumentation?

Die Online-Meetings bei den Anonymen Alkoholikern. zum Thema. Online - Meetings. Eine neue Form der Selbsthilfe?

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Kapitel 2: Der Software-Entwicklungsprozess

Theoretische Informatik SS 04 Übung 1

Medizintechnik und Informationstechnologie im Krankenhaus. Dr. Andreas Zimolong

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Übungsaufgaben Tilgungsrechnung

Leseauszug DGQ-Band 14-26

Erläuterungen zur Untervergabe von Instandhaltungsfunktionen

Übungsklausur vom 7. Dez. 2007

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Informationssystemanalyse Grundlagen 1 1

Installation und Bedienung von vappx unter ios

Vorgehensmodelle zur Softwareentwicklung

IT OUTSOURCING. Wie die IT durch Transparenz zum internen Dienstleister wird. Herford, , Steffen Müter

Neues Modul für individuelle Anlagen. Änderung bei den Postleitzahl-Mutationen

Anforderungen an die HIS

Prüfung der Eignung zum/zur Elektriker/in / Mechatroniker/in auf Basis einer Online-Messung

SEP 114. Design by Contract

BEURTEILUNGS GESPRÄCHEN

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Risikomanagement in der Praxis Alles Compliance oder was?! 1. IT-Grundschutz-Tag

Prozessoptimierung. und. Prozessmanagement

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

SharePoint Demonstration

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Welches sind die wichtigsten Aufgaben des Strategischen Projektmanagements? Die Aufgaben des Strategischen Projektmanagements sind wie folgt:

1 topologisches Sortieren

Software-Entwicklung

Nicht über uns ohne uns

Abschlussklausur Geschäftsprozessmodellierung und Workflowmanagement


Anleitung über den Umgang mit Schildern

Software-Engineering

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Architekturplanung und IS-Portfolio-

SAFEYTEAMS-Newsletter Nr. 5

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

T1 - Fundamentaler Testprozess

Du hast hier die Möglichkeit Adressen zu erfassen, Lieferscheine & Rechnungen zu drucken und Deine Artikel zu verwalten.

Was meinen die Leute eigentlich mit: Grexit?

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?

Transkript:

Software-Entwicklung - 1 - tfbseke it rai 03.2012

Inhaltsverzeichnis SOFTWARE-ENTWICKLUNG...3 Prinzipien der Softwareentwicklung...3 1. Das Abstraktionsprinzip...3 2. Das Strukturierungsprinzip...3 3. Das Modularisierungsprinzip...3 4. Das Lokalitätsprinzip...3 5. Das Dokumentationsprinzip...3 6. Das Standardisierungsprinzip...4 7. Das Mehrfachverwendungsprinzip...4 Software-Lebenszyklus...4 Vorgehensmodelle...4 Wasserfallmodell...5 V-Modell...5 Spiralmodell...6 Qualitätskriterien der Software-Entwicklung...7 Kriterien für die Qualität von Software...7 Korrektheit...7 Robustheit...7 Erweiterbarkeit...7 Wiederverwendbarkeit...7 Verträglichkeit (Kompatibilität)...7 Portabilität...8 Verifizierbarkeit...8 Integrität...8 Benutzerfreundlichkeit...8 Bewertung der Entwurfsmethoden für Software...8 Zerlegbarkeit...8 Kombinierbarkeit...8 Verständlichkeit...8 Stetigkeit...8 Modulgeschütztheit...9-2 - tfbseke it rai 03.2012

SOFTWARE-ENTWICKLUNG Prinzipien der Softwareentwicklung 1. Das Abstraktionsprinzip In der Programmierung einer Software sollte nicht allein die konkret eng gefasste Aufgabe leitend sein, sondern die Abstraktion dieser Aufgabe. Das Abstraktionsprinzip besagt, das für die Lösung einer Aufgabenstellung nicht jedes Detail wichtig ist, und folglich beim Lösungsprozess vernachlässigt werden kann. Wenn verlangt wird, die Arbeitsstunden der Lagerarbeiter zu erfassen und den resultierenden Lohn daraus zu berechnen, so sollte die Programmierung auf eine Modelllösung ausgerichtet sein: Erfassung von Arbeitsstunden und Lohnberechnung aller Lohnarbeiter. 2. Das Strukturierungsprinzip Eine Gesamtaufgabe muss in nachvollziehbare Teilaufgaben gegliedert werden, ein Gesamtsystem in einzelne Strukturelemente. 3. Das Modularisierungsprinzip Durch das Modularitätsprinzip wird eine Gesamtaufgabe in überschaubare und klar abgegrenzte Teilaufgaben, den sogenannten Modulen, aufgeteilt. Die Schrittweise Lösung der Teilaufgaben ergibt schließlich die Lösung der Gesamtaufgabe. Durch eine klar definierte Schnittstelle, kommunizieren diese Module untereinander. 4. Das Lokalitätsprinzip Es wird erwartet, dass logisch zusammenhängende Informationen (Daten und Funktionen) am gleichen Ort komprimiert abgelegt werden. 5. Das Dokumentationsprinzip Jeder Softwareabschnitt soll als Vorspann eine Dokumentation dessen erhalten, was der Programmteil ausführt und verlangt. - 3 - tfbseke it rai 03.2012

6. Das Standardisierungsprinzip Zum Verständnis der Software trägt bei, dass bestimmte Lösungsreihenfolgen eingehalten werden: Modulname, Dokumentation, Variableninitialisierung, Kontrollstrukturen, Rückgabewert. 7. Das Mehrfachverwendungsprinzip Softwareteile sollen so ausgearbeitet und bereitgestellt werden, dass sie von anderen Entwicklern wieder verwendet werden können. Software-Lebenszyklus Ein allgemein gültiges Phasenschema gibt es nicht, jedoch ähneln sich die Ansätze in ihrer Grobstruktur. Alle hier beschriebenen Vorgehensmodelle liegen dem folgenden Software-Lebenszyklus zugrunde: Vorgehensmodelle Vorgehensmodelle beschreiben die Strukturierung und Steuerung der Prozesse im Software Engineering (Prozess-Management) für ein Informatik-Projekt. Die Projektabwicklung wird von der Systemplanung, über die Systemanalyse, den Software-Entwurf bis zur Abnahme und Software- Verteilung systematisiert. Ein Vorgehensmodell beschreibt damit den Arbeitsablauf im Software-Lebenszyklus von der Analyse der Anforderungen für eine Anwendung bis zur Pflege und Wartung der Software-Produkte. Das Ziel der Nutzung der Vorgehensmodelle in der Anwendungsentwicklung ist die Beherrschung der Komplexität. Erreicht wird dieses Ziel durch die Organisation der Software-Entwicklung und die Definition der notwendigen Aktivitäten der Projektdurchführung. Über das Prozessmanagement wird der Entwicklungsprozess in klare und für alle Entwickler verbindliche Arbeitsschritte eines Workflow aufgeteilt (Prozessentwicklung). Im Allgemeinen ist ein Vorgehensmodell des Software Engineering eine sehr umfangreiche, für viele denkbare Ablauf-Varianten geeignete Beschreibung von Aktivitäten (Phasenmodell) und Ergebnistypen (Produktmodell). - 4 - tfbseke it rai 03.2012

Die klassischen Phasenmodelle sind: Wasserfallmodell Das Wasserfallmodell ist ein sequenzielles Vorgehensmodell, das die Entwicklung anhand aufeinanderfolgender Phasen organisiert. Es wurde 1970 von Royce vorgeschlagen und wurde von Boehm als Wasserfallmodell bezeichnet, da Ergebnisse einer Phase immer in die folgende fließen. Entgegen der landläufigen Meinung, das Wasserfallmodell sei ein rein sequenzielles Vorgehen, gibt es zwischen den einzelnen Phasen Rückkopplungen, jedoch nur zur jeweils benachbarten, vorausgehenden Phase. Die grundlegende Idee des Wasserfallmodells ist die Aufteilung des Projekts anhand der Entwicklungstätigkeiten in Phasen. Folgende Phasen werden im Wasserfallmodell verwendet: Analyse Design (Architekturentwurf) Implementierung (Codierung) Test Betrieb und Wartung V-Modell Die Phasenergebnisse sind bindende Vorgaben für die nächsttiefere Projektphase. Der linke, nach unten führende Ast für die Spezifizierungsphasen schließt mit der Realisierungsphase ab. Eine Erweiterung gegenüber dem Wasserfallmodell sind die zeitlich nachfolgenden Testphasen, die im rechten, nach oben führenden Ast dargestellt werden. Den spezifizierenden Phasen stehen jeweils testende Phasen gegenüber, was in der Darstellung ein charakteristisches "V" ergibt, das dem Modell auch den Namen gab. Diese Gegenüberstellung soll zu einer möglichst hohen Testabdeckung führen, weil die Spezifikationen der jeweiligen Entwicklungsstufen die Grundlage für die Tests (Testfälle) in den entsprechenden Teststufen sind. - 5 - tfbseke it rai 03.2012

Spiralmodell as Spiralmodell ist es ein risikogetriebenes Vorgehensmodell für die Entwicklung (Wartung betrachtet es nicht explizit). Das Prinzip des Spiralmodells ist das wiederholte Durchlaufen (in Iterationen) von vier Schritten: 1. Ziele aufstellen bzw. Review der vorangegangenen Schritte und Planung der nächsten Iteration 2. Risikoanalyse; Beschreibung von Rahmenbedingungen, Zielen und (Lösungs-)Alternativen 3. Evaluierung der (Lösungs-)Alternativen und auf dieser Basis Erkennen von Risiken und Ausarbeiten adäquater Strategien zur Minderung/Vermeidung etc. 4. In Abhängigkeit von den identifizierten Risiken, wird das Vorgehen für die nächste Iteration festgelegt. Diese Schritte werden durch Quadranten visualisiert. - 6 - tfbseke it rai 03.2012

Durch die iterative Vorgehensweise wird das zu entwickelnde System schrittweise ausgebaut. Eine Linie, die das Fortschreiten der Entwicklung kennzeichnet und in die Quadranten eingetragen wird, liefert das typische Spiralmuster, dem dieses Modell seinen Namen verdankt. Qualitätskriterien der Software-Entwicklung Will man Software bewerten, benötigt man Kriterien, die den Qualitätsgrad festlegen. Softwarequalität ist noch kein feststehender, exakt definierter Begriff. Damit kann nicht genau gesagt werden, was ein gutes Programm ausmacht. Qualitätsmerkmale werden in der Norm ISO/IEC 9126 aufgeführt. Kriterien für die Qualität von Software Korrektheit Fähigkeit von Softwareprodukten, die definierten Anforderungen exakt zu erfüllen. Robustheit Fähigkeit von Softwaresystemen, auch unter außergewöhnlichen Bedingungen zu funktionieren. Erweiterbarkeit Softwareprodukte müssen an neue Anforderungen angepaßt werden können. Erweiterbarkeit wird begünstigt durch die Einfachheit des Entwurfs und durch Dezentralisierung in Module mit hoher Autonomie. Wiederverwendbarkeit Eigenschaft der Software, ganz oder teilweise für neue Aufgaben wiederbenutzt zu werden. Verträglichkeit (Kompatibilität) Das Maß der Leichtigkeit, mit der Softwareprodukte mit anderen verbunden werden können. Zu oft gibt es große Interaktionsprobleme, weil ein Programm unverträgliche Annahmen über den Rest der Welt macht. Der Schlüssel zu einer besseren Verträglichkeit liegt in der Standardisierung der Kommunikation zwischen verschiedenen Programmen. - 7 - tfbseke it rai 03.2012

Portabilität Die Leichtigkeit, mit der Softwareprodukte auf verschiedene Hardware- und Software-Umgebungen angepaßt werden können. Verifizierbarkeit Die Leichtigkeit, mit der Abnahmeprozeduren (Fehlererkennung und -verfolgung) erzeugt werden können. Integrität Fähigkeit des Softwaresystems, seine verschiedenen Komponenten gegen unberechtigte Zugriffe und Veränderungen zu schützen. Benutzerfreundlichkeit Die Leichtigkeit, mit der die Benutzer die Handhabung des Softwaresystems wahrnehmen und erlernen können. Bewertung der Entwurfsmethoden für Software Zerlegbarkeit Bei der Zerlegung eines Problems in Teilprobleme können die Lösungen jeweils getrennt gesucht und gefunden werden. Kombinierbarkeit Module können frei zur Herstellung neuer Systeme kombiniert werden, etwa im Sinne eines Baukastenprinzips. Verständlichkeit die Leistung von einzelnen Softwaremodulen soll aus sich heraus verständlich sein, ohne daß man eine Vielzahl von Nachbarmodulen untersuchen muß. Insbesondere sollen keine Abhängigkeiten von der Reihenfolge des Aufrufs bestehen. Stetigkeit eine Änderung der Programmspezifikation soll nur wenige Module betreffen und nicht die gesamte Architektur des Systems berühren. - 8 - tfbseke it rai 03.2012

Modulgeschütztheit Die Auswirkung einer zur Laufzeit eines Moduls auftretenden Ausnahmesituation soll sich nur auf das betroffene Modul, höchstens auf wenige benachbarte Module erstrecken. Notizen: Quellenverzeichnis: http://weiterbildung-programmierer.de/programmieren/softwareprinzipien.php http://www.enzyklopaedie-der-wirtschaftsinformatik.de/wi-enzyklopaedie/lexikon/is-management/systementwicklung/vorgehensmodell http://test.silke-wingens.de/2010/10/04/softwarelebenszyklus/ http://www.tse.de/papiere/ergonomie/softwarekriterien.html Bleßmann, Büttner, Dax: Anwendungsentwicklung; Bildungsverlag EINS, Toisdorf, 2004-9 - tfbseke it rai 03.2012