Hochschule Fakultät Technologie und Management Informationsverarbeitung Ravensburg-Weingarten PT & TM Softwareentwicklung Inhaltsverzeichnis
|
|
- Andreas Hermann Schenck
- vor 8 Jahren
- Abrufe
Transkript
1 Inhaltsverzeichnis 8 SOFTWAREENTWICKLUNG IMMATERIELLE PRODUKTE SOFTWARE Definition von Software Kategorien von Software SOFTWARE ENGINEERING Entstehung und Definition des Software Engineering Vorgehensmodelle Systemerstellung im V-Modell XT PHASEN DER SOFTWAREENTWICKLUNG Anforderungsanalyse Spezifikation Systemspezifikation Spezifikationssprache Spezifikationstechnik Entwurf Sinnbilder und Ihre Anwendung Anwendungsbereich und Zweck Allgemeines Begriffe Bezeichnung Darstellungsarten Sinnbilder nach DIN Sinnbilder nach DIN Codierung / Implementierung Modultest Integration Systemtest Betrieb und Wartung SOFTWARE KOSTEN Entwicklungsaufwand und Kosten Fehlerkosten Software Lebenszyklus Kosten Planungskosten Entwicklungskosten Wartungskosten DV1_Kapitel_8.doc Seite 8-1 von 32 Rüdiger Siol
2 8 Softwareentwicklung DV I Kosten Entwicklung Wartung Flußdiagramme Pseudo-Code Sortieralgorithmus Algorithmen Softwareentwicklung Spezifikation Requirements-Engineering Zustandsdiagramme UML Entstehungsprozeß Entwicklungswerkzeuge Anwendungsbeispiel Lottozahlengenerator Aufgabenbeschreibung Lösungsvorschlag Implementierung Test Übersicht Prof. Dr. Wöllhaf Seite 3 10:55:46 DV1_Kapitel_8.doc Seite 8-2 von 32 Rüdiger Siol
3 8.1 Immaterielle Produkte 1 Das Ziel jeglicher Software Entwicklung ist immer ein Programm oder ein Softwaresystem; also ein Produkt, das entweder intern genutzt wird und von vorübergehender Bedeutung sein mag oder aber, das auf dem Markt verkauft werden soll. Hierzu einige Begriffe: o Angebotsprodukt: Produkt, das durch die Organisation dem Kunden (dem Markt) zum Kauf angeboten oder ihm als Besitz oder zur Benutzung zur Verfügung gestellt wird. o Dienstleistung: Immaterielles Produkt, das dem Zweck dient, unmittelbar den Zustand des Kunden zu verbessern. o Software: Immaterielles Produkt, bestehend aus geschriebenen oder anderweitig aufgezeichneten Informationen, wie etwa Rechnersoftware, Konstruktionsentwürfe, Sitzungsberichte, Verfahren. Angebotsprodukte Materielle Angebotsprodukte Immaterielle Angebotsprodukte A: Hardware Stückgüter B: Verfahrenstechnische Produkte (Massen und Endlosgüter) C: Software D: Dienstleistungen Beliebige Kombinationen aus A, B, C und D Kategorien von Angebotsprodukten (mit Kombinationen) 1 Masing; Handbuch Qualitätsmanagement; Carl Hanser Verlag München Wien (1994); 3-te Auflage; ISBN DV1_Kapitel_8.doc Seite 8-3 von 32 Rüdiger Siol
4 8.2 Software Definition von Software Bis vor kurzem war noch umstritten, ob Software überhaupt als ein Produkt betrachtet werden soll oder ob sie eher eine Dienstleistung darstellt. Heute wird Software generell als ein immaterielles Produkt angesehen. Vielfach versteht man unter Software Programme, die auf einer Hardware lauffähig sind und das so entstandene Computersystem zur Lösung verschiedener Aufgaben nutzbar machen. Diese Definition reicht jedoch im allgemeinen noch nicht aus: Die Entwicklung eines Programms erfordert, von der anfänglichen Definition der Anforderungen bis hin zum Laden des endgültigen Codes in den Computer, die Erstellung einer Reihe von Unterlagen wie Anforderungsdokumentation, Spezifikation, Entwurfsdokumentation, Programmtext (Quellcode) und Testdokumentation. Unter Software versteht man auch die Gesamtheit dieser Dokumente. Software besteht somit aus: - Maschinell gespeicherten Instruktionen (Programmen), - Vereinbarungen über Eigenschaften der zu verarbeitenden Daten, - Dokumenten, die zur Nutzung und Wartung erforderlich sind. Demgemäß werden Software und Softwareprodukt in DIN ISO 9000 Teil 3 folgendermaßen definiert: o Software: Geistiges Produkt, das aus Programmen, Verfahren und allen dazugehörigen Beschreibungen besteht, die zur Arbeit mit einem Datenverarbeitungssystem gehören. Software ist unabhängig von dem Medium, auf dem sie gespeichert ist. o Softwareprodukt: Vollständiger Satz von Computerprogrammen, Verfahren und dazugehörigen Beschreibungen und Daten, der zur Lieferung an den Anwender bestimmt ist. 2 Handbuch Qualitätsmanagement; Dr. Walter Masing; Carl Hanser Verlag München Wien 3.te Auflage Auszüge aus Kapitel 44 DV1_Kapitel_8.doc Seite 8-4 von 32 Rüdiger Siol
5 8.2.2 Kategorien von Software Es gibt verschiedene Möglichkeiten der Klassifikation von Software. In diesem Kapitel sollen folgende Kategorien betrachtet werden: - Anwendungssoftware 3 ist Software für den Anwender zur Lösung einer Arbeitsaufgabe. Man unterscheidet horizontale, d. h. branchenübergreifende und vertikale, d. h. branchenspezifische Anwendungssoftware. - Systemsoftware ist der Sammelbegriff für all diejenigen Programme, die den Betrieb einer EDV-Anlage und ein reibungsloses Zusammenspiel vorhandener Hardwarekomponenten ermöglichen sowie einen koordinierten Ablauf der Anwendungsprogramme sicherstellen. Kern der Systemsoftware 4 bildet das Betriebssystem. Zur Systemsoftware zählen darüber hinaus alle Programme und Werkzeuge (Tools) für die Entwicklung von Programmen wie Compiler, Interpreter, Linker, Testwerkzeuge, Debugger sowie Kommunikationssoftware. - Standardsoftware oder Standardanwendungssoftware sind Programme für Aufgabenstellungen, die in vielen Betrieben gleichartig auftreten und bei ihrer Entwicklung so allgemein gehalten sind, dass sie für einen breiten Anwenderkreis geeignet sind. Standardsoftware wird im allgemeinen in großen Stückzahlen vertrieben und kann vielfältige Vorteile bieten wie vergleichsweise geringe Anschaffungskosten, sofortige Verfügbarkeit, Ausgereiftheit, Praxisnähe, Einsatz fortschrittlicher Programmiermethoden. - Individualsoftware 5 ist das Gegenstück zur Standardsoftware und umfasst spezielle Anwendungen, d. h. Einzelentwicklungen, die auf einen individuellen Anwender bzw. ein bestimmtes Unternehmen zugeschnitten sind. - Steuerungssoftware 6 umfasst Programme zur Steuerung von Geräten, Anlagen und Prozessen, die oftmals in die zu steuernde Hardware eingebaut sind. Steuerungssoftware übernimmt vielfach sicherheitsrelevante Funktionen. 3 Siehe auch Kapitel 6 - Anwendersoftware 4 Siehe auch Kapitel 5 - Betriebssysteme 5 Z.B.: Selbst entwickelte Programme 6 Z.B.: Regelungstechnik, Mechatronik DV1_Kapitel_8.doc Seite 8-5 von 32 Rüdiger Siol
6 8.3 Software Engineering DV I Idee, Anforderung Lastenheft Pflichtenheft Design.. Implementierung Test Abnahme Entwicklungsphasen Entstehungsprozeß Entwicklungsmodelle Wasserfallmodell Iterative Entwicklung Rapid Prototyping Evolutionär code-and-fix Softwareentwicklung Software-Entstehungsprozeß Prof. Dr. Wöllhaf Seite 4 11:25:08 DV I Kosten Entwicklung Wartung Flußdiagramme Pseudo-Code Sortieralgorithmus Algorithmen Softwareentwicklung Spezifikation Requirements-Engineering Zustandsdiagramme UML Entstehungsprozeß Entwicklungswerkzeuge Anwendungsbeispiel Lottozahlengenerator Aufgabenbeschreibung Lösungsvorschlag Implementierung Test Übersicht Prof. Dr. Wöllhaf Seite 10 11:25:41 DV1_Kapitel_8.doc Seite 8-6 von 32 Rüdiger Siol
7 DV I Programm Problemlösung Aufgabe Übersetzer ( Compiler ) Algorithmus Entwerfen in grafischer Form Hardwareorientierte Maschinensprache problemorientierte Programmiersprache textuelle Beschreibung nach formalen Regeln Ablaufpläne Struktogramme Natürliche Sprache - nicht formal Vom Problem zum Programm Prof. Dr. Wöllhaf Seite 11 11:26:12 DV I Computer können nur solche Aufgaben lösen, deren Lösung sich als Algorithmus angeben läßt Algorithmen werden mit Hilfe von Programmiersprachen in eine computergerechte Form gebracht Wie sage ich es meinem Computer? Definition eines Algorithmus Prof. Dr. Wöllhaf Seite 12 11:26:24 DV1_Kapitel_8.doc Seite 8-7 von 32 Rüdiger Siol
8 8.3.1 Entstehung und Definition des Software Engineering Die Erkenntnisse aus der Softwarekrise und die Bemühungen zur Entwicklung einer verbesserten Programmiertechnologie fanden in der Forschung ihren ersten Niederschlag in zwei von der NATO veranstalteten Software Engineering-Konferenzen in Garmisch 1968 und Rom Auf diesen Konferenzen wurde darauf hingewiesen, dass Programme Industrieprodukte sind, und es wurde die Forderung erhoben, Softwareentwicklung als ingenieurmäßige Disziplin und weniger als kreative Kunstfertigkeit zu verstehen. Der Begriff Software Engineering wurde geprägt. Unter Software Engineering - im Deutschen manchmal auch Softwaretechnik genannt versteht man jenes Teilgebiet der Informatik, das die rationelle, wirtschaftliche und jederzeit kontrollierbare Herstellung großer Programmsysteme zum Inhalt hat, die dazu erforderlichen wissenschaftlichen Methoden erforscht und geeignete Werkzeuge entwickelt und zur Verfügung stellt. Die strikte Anwendung von Methoden des Software Engineering ist eine wesentliche Voraussetzung für ein effizientes Qualitätsmanagement von Software. Ein zentrales Ergebnis des Software Engineering ist die Entwicklung und Anwendung unterschiedlicher Vorgehensmodelle Vorgehensmodelle Mit der Einführung und Verwendung von Vorgehensmodellen bei der Softwareentwicklung wird neben einer klaren und systematischen Vorgehensweise die zeitliche und inhaltliche Strukturierung des Entwicklungsprozesses angestrebt. Durch Vorgehensmodelle wird der Prozess der Softwareentwicklung in aufeinander abgestimmte Phasen zerlegt, und für jede Phase werden Tätigkeiten und Ergebnisse festgelegt. Synonyme Begriffe für Vorgehensmodell sind Software- Lebenszyklus, Phasenmodell, Projektmodell und Prozeßmodell. Es gibt zahlreiche, sehr unterschiedliche Vorgehensmodelle: - Wasserfallmodell - V-Modell - Spiralmodell - Prototyping-Modell - Objektorientiertes Lebenszyklusmodell. Das klassische Wasserfallmodell ist nach wie vor das häufigst eingesetzte Modell und dient vielfach als Grundlage bei Ausschreibungen. Es bietet einen klaren Rahmen, definiert die wichtigsten Tätigkeiten des Softwareentwicklungsprozesses, grenzt diese ab und erleichtert somit die Projektplanung und Abschätzung der Entwicklungskosten. Die Phasen werden als abgeschlossene Einheiten aus Aktivitäten und Ergebnissen definiert und sequentiell durchlaufen. Das Ende einer Phase wird durch einen Meilenstein markiert, an dem geprüfte und bewertete Arbeitsergebnisse vorliegen. In Prozess-Normen werden häufig Reviews gefordert, bei denen Arbeitsergebnisse formell freigegeben werden. DV1_Kapitel_8.doc Seite 8-8 von 32 Rüdiger Siol
9 DV I Wasserfallmodell der Softwareentwicklung Prof. Dr. Wöllhaf Seite 5 09:40:50 Am Wasserfallmodell wird manchmal kritisiert, dass die strenge Trennung der einzelnen Phasen eine unzulässige Idealisierung darstelle, da sich die Tätigkeiten überlappen und die Wechselwirkungen zwischen den Phasen komplexer seien als durch das sequentielle Modell angezeigt. Das sequentielle Vorgehen hat auch den Nachteil, dass erst sehr spät greifbare Ergebnisse vorliegen. Änderungswünsche der Anwender können damit erst dann geäußert werden, wenn der zur Umsetzung erforderliche Aufwand bereits sehr hoch ist. DV I Iterierte Phasenmodell Prof. Dr. Wöllhaf Seite 6 11:27:31 DV1_Kapitel_8.doc Seite 8-9 von 32 Rüdiger Siol
10 DV I Modell der evolutionären Softwareentwicklung Prof. Dr. Wöllhaf Seite 7 11:27:49 DV1_Kapitel_8.doc Seite 8-10 von 32 Rüdiger Siol
11 Prototyping Modell An dieser Stelle bieten das Prototyping-Modell und auch das Spiralmodell wesentliche Vorteile. Zielsetzung bei diesen Vorgehensmodellen ist, dem Anwender bereits kurze Zeit nach Beginn des Entwicklungsprozesses einen Prototyp, d. h. eine Demonstrationsversion des zukünftigen Programms, vorführen zu können. Dadurch können Missverständnisse ausgeräumt und Änderungswünsche frühzeitig berücksichtigt werden. Durch Einsatz von Werkzeugen läßt sich die Entwicklung von Prototypen wesentlich beschleunigen (Rapid Prototyping). DV I Das V-Modell Prof. Dr. Wöllhaf Seite 9 11:28:16 DV1_Kapitel_8.doc Seite 8-11 von 32 Rüdiger Siol
12 V-Modell 7 Besondere Bedeutung für das Qualitätsmanagement hat das V-Modelle erlangt. Beim V- Modell stehen die eher konstruktiven Aktivitäten (linker Zweig des V) den prüfenden, d. h. verzifizierenden und validierenden Aktivitäten (rechter Zweig des V) gegenüber. Das Modell macht deutlich, dass Fehler auf derjenigen Abstraktionsstufe gefunden werden, auf der sie begangen werden. Da bei der Systementwicklung zunächst vom Ganzen (AufgabensteIlung) zum Detail (Code) vorgegangen (top down: linker Zweig) und danach vom Detail (Code) über Integration- und Testschritte zum Ganzen (Problemlösung) zurückgekehrt wird (bottom up: rechter Zweig), können in den Phasen des rechten Zweiges des V nur jene Fehler gefunden werden, die in der symmetrischen Phase des linken Zweiges des V entstanden sind. Daraus folgt, dass die frühen Fehler am längsten im System bleiben und somit weitaus am teuersten sind. Darum ist in den frühen Phasen fast jeder Aufwand gerechtfertigt, der dazu beiträgt, Fehler zu vermeiden oder zu beseitigen (siehe auch nächster Abschnitt). Mit Testen können sie aber erst spät entdeckt werden; das Mittel für die Früherkennung der Fehler sind die Reviews Systemerstellung im V-Modell XT Das V-Modell nach Boehm Testfälle Systemkonzeptvalidierung Betrieb Anforderungs definition Systemdurchführbarkeitskonzept Systemspezifikation Produktentwurf Komponenten entwurf Modulentwurf Codierung Testfälle Testfälle Testfälle Testfälle Anforderungsvalidierung Entwurfsvalidierung Testvalidierung Einzeltest Systemtest Akzeptanztest Integrationstest Pilotbetrieb Einführung Validierung Verifizierung Zeit (r.siol) FH_RV-Weingarten DV SS_ Entwicklungsstandard für IT-Systeme des Bundes (EStdIT) DV1_Kapitel_8.doc Seite 8-12 von 32 Rüdiger Siol
13 Erzeugnisstruktur und Systemstruktur IT-Projekte erfolgreich mit dem neuen V-Modell XT 31 DV1_Kapitel_8.doc Seite 8-13 von 32 Rüdiger Siol
14 Systementwicklung und Entscheidungspunkte Zerlegung in der Systementwicklung Anforderungen (Lastenheft) Gesamtsystemspezifikation (Pflichtenheft) Gefährdungs- und Systemsicherheitsanalyse Systemarchitektur Unterstützungssystemarchitektur Systemspezifikation Spezifikation log. Unterstützung Prüfspezifikation Systemelement Implementierungs-, Integrations- und Prüfkonzept System/Unterstützungssystem Prüfspezifikation Systemelement HW-Architektur und SW-Architektur HW-Spezifikation und SW-Spezifikation Logistisches Unterstützungskonzept Externe-Einheit-Spezifikation Projekt beauftragt Gesamtsystem System spezifiziert System, Segmente System entworfen Einheiten Feinentwurf abgeschlossen IT-Projekte erfolgreich mit dem neuen V-Modell XT 32 Entscheidungspunkte Entscheidungspunkte - Produkte Systementwicklung System integriert Abnahme erfolgt Gesamtsystem Lieferung durchgeführt System, Segmente Einheiten Systemelemente realisiert Prüfprotokoll Lieferung Abnahmeerklärung Prüfprotokoll Systemelement Lieferung Prüfprotokoll Systemelement System mit allen Segmenten Logistische Unterstützungsdokumentation Prüfprotokoll Systemelement HW-Einheiten SW-Einheiten Externe Einheiten IT-Projekte erfolgreich mit dem neuen V-Modell XT 33 DV1_Kapitel_8.doc Seite 8-14 von 32 Rüdiger Siol
15 8.4 Phasen der Softwareentwicklung Phasen der Softwareentwicklung und Nutzung Phase Anforderungsanalyse Spezifikation Entwurf Codierung / Implementierung Modultest Integration Systemtest Betrieb und Wartung Tätigkeit Klärung der Anforderungen (globale Ziele). Planung des Softwareprojekts: Auftraggeber, Bearbeiter, Aufwand, Termine. Dokumentation der Solleigenschaften des Softwareprodukts: Pflichtenheft. Dokumentation der Problemlösung. Modularisierung: Logische Gliederung der Funktionen und Daten. Festlegung der Schnittstellen der Module (unabhängig von einer Programmiersprache). Erstellen der Quelltexte in einer Programmiersprache. Fehlerbeseitigung durch den Vergleich von Sollund Ist- Eigenschaften der Programm-Module. Zusammenfügen der Module zum Gesamtsystem. Fehlerbeseitigung durch Vergleich von Soll- und Ist- Eigenschaften des Gesamtsystems. Nutzung des Softwareprodukts durch den Anwender: Fehlerbeseitigung und Pflege durch das Wartungsteam. DV I Struktur der systematischen Softwareentwicklung Prof. Dr. Wöllhaf Seite 8 11:31:31 DV1_Kapitel_8.doc Seite 8-15 von 32 Rüdiger Siol
16 8.4.1 Anforderungsanalyse Anforderungsanalysen bzw. Anwendungsanalysen werden in der Praxis üblicherweise von Benutzern und Informatikern gemeinsam durchgeführt. Die Benutzer sind die internen oder externen potentiellen Kunden die möglicherweise an einer Systemlösung interessiert sind und auch bereit sein werden, dafür Mittel bereitzustellen. Sofern eine Zielsetzung besteht, für die es derzeit noch keine handelsüblichen Systeme gibt ist diese Vorgehensweise erforderlich, dazu gehört: o Zusammenfassung aller Anforderungen. o Gliederung in Funktionsbereiche, das sind in diesem Falle Anforderungen an die Informationsverarbeitung. o Durchführbarkeitsstudien zur technischen, wirtschaftlichen und terminlichen Machbarkeit. o Prüfung, ob die erforderlichen Ressourcen verfügbar sind oder verfügbar gemacht werden können. o Zusammenfassung der Anforderungen, die als realisierbar und derer, die als nicht realisierbar eingestuft wurden. Das Ergebnis der Anforderungsanalyse wird in einem Dokument als Studie zur Machbarkeit (Realisierbarkeit) zusammengefasst. Auf dieser Basis ist gemeinsam mit dem Interessenten (Kunden, späteren Benutzer intern oder extern) zu prüfen, ob an einer Realisierung überhaupt noch Interesse besteht. Sofern das der Fall ist, werden die umzusetzenden Anforderungen in einem Dokument zusammengefasst und es wird auch dargestellt, wie die Erfüllung dieser Anforderungen überprüft wird. Die Art und Weise, wie diese Tests erfolgen sollen, ist bereits auf dieser Ebene verbindlich zu vereinbaren; d.h. man definiert die Validierung 8 des Systems. Hier ist es entscheidend die Sicht bzw. Vorstellung des Kunden vollständig erfasst zu haben; ihn aber gegebenenfalls darauf hinzuweisen, dass aus Systemtechnischen Gründen eventuell Tests zu erfolgen haben, deren Notwendigkeit er nicht erkannt hat. Diese Phase hat als Ergebnisse: o Studie zur Machbarkeit (Realisierbarkeitsstudie) o Zusammenfassung der Anforderungen o Eventuell weitere Dokumente wie Studien oder Forschungsberichte usw. Auf dieser Basis wird der Lieferant ein detailliertes Angebot ausarbeiten. 8 Validierung heißt, es wurden die Anforderungen erfüllt; es wurde also das gemacht, was der Kunde (Auftraggeber) wollte. Dies kann in einem Projekt ein sehr Zeit- und kostenintensiver Vorgang sein so z.b. wenn Langzeittests die Zuverlässigkeit und Robustheit des Systems nachweisen sollen. DV1_Kapitel_8.doc Seite 8-16 von 32 Rüdiger Siol
17 8.4.2 Spezifikation DV I Benutzerschnittstellen Requirement-Engineering Prof. Dr. Wöllhaf Seite 32 11:34:02 Besser formuliert ist das eine Anforderungsspezifikation (Requirement Specification). Der Lieferant erarbeitet eine sehr detaillierte Spezifikation auf deren Grundlage dann auch die zugehörige Systemspezifikation und Managementpläne erstellt werden können. Der Lieferant muss auf dieser Basis die Möglichkeit haben, ein vollständiges Angebot zu erstellen. Intern sollte bekannt sein, welche Toleranzen verfügbar sind; für alle Beteiligten, die für den Erfolg des Projektes verantwortlich sind und sein werden. Der Kunde (Benutzer, interner oder externer Auftraggeber) muss auf dieser Basis die Möglichkeit haben, einen eindeutig definierten Auftrag zu erteilen. Ergebnis dieser Phase: Die Anforderungsspezifikation (Requirement Specification). DV1_Kapitel_8.doc Seite 8-17 von 32 Rüdiger Siol
18 Systemspezifikation Die Systemspezifikation gehört zum Teilgebiet der Programmiermethodik; Programmierungstechnik; Systemanalyse bzw. specification. Man bezeichnet das auch als Systementwurfsbeschreibung. Spezifikation ist eine detaillierte Beschreibung der Teile des Ganzen und ihrer Eigenschaften bezüglich Größe, Qualität, Performance usw. sowie ihrer Beziehungen untereinander. Obwohl die Definition in dieser Allgemeinheit für alle Systeme gilt, wird die Spezifikation von Softwaresystemen noch enger gefasst. Im Wesentlichen geht es darum festzulegen o was ein System tun sollte, d.h. seine Funktionen; o worauf das System wirken sollte, d.h. seine Daten; o unter welchen Bedingungen das System arbeiten sollte, d.h. seine physische Umgebung und o welchen Einschränkungen das System unterliegen sollte, d.h. seine Grenzen. Bei der Entwicklung von Programmen geht man in der Regel aus von einem Pflichtenheft, in dem die zu erbringenden Leistungen in mehr oder weniger formalisierter Weise niedergelegt sind. Die Umsetzung des Pflichtenhefts in eine Form, von der man für die anschließende Programmierung ausgehen kann, ist die Aufstellung der Spezifikation. Die Spezifikation ist somit das Ergebnis der Entwurfsphase. Sie enthält die zu erbringenden Leistungen in einer DV-gerechten Form und ermöglicht eine anschließende Implementierung. Für die Spezifikation im strengen Sinne existieren wenige Werkzeuge. Fasst man den Begriff der Spezifikation weniger rigoros, so vermitteln weitere Methoden die Möglichkeiten des Spezifizierens. Daher werden in der Literatur auch vielfach Problembeschreibungssprachen (UML, PSL/PSA) und Datenbanksysteme mit hoher Sprachschnittstelle als Werkzeuge zur Spezifikation bezeichnet. Die Spezifikation bildet die Grundlage für Korrektheitsbeweise. DV I Softwaremodellierung mit UML Prof. Dr. Wöllhaf Seite 35 11:34:42 DV1_Kapitel_8.doc Seite 8-18 von 32 Rüdiger Siol
19 Spezifikationssprache Teilgebiet: Programmierungsmethodik specification language Die Hilfsmittel, mit denen ein System spezifiziert wird, nennt man Spezifikationssprache. Obwohl es keine Festlegungen gibt, in welcher Sprache, d.h. auch graphischer Darstellung, und auf welchem Niveau, d.h. DetailIierungsgrad, ein System beschrieben werden soll, gehen moderne Ansätze davon aus, dass ein System auf einem dem Benutzerdenken sehr nahen Niveau beschrieben werden sollte. So werden z.b. Dialogprogramme zur Wartung von Stammdateien durch bildhaftes Spezifizieren am Terminal erzeugt. Die Spezifikation der Bildschirmmaske dient dann einerseits zur Beschreibung und Dokumentation des Systems, andererseits als Ausgangspunkt für die automatische Generierung von Programmen. Ähnlich wird auch für Verarbeitungsprogramme und Reportprogramme verfahren. Allgemein gilt die Tendenz, dass nur noch angegeben wird, was getan werden soll und nicht mehr, wie das getan werden soll Spezifikationstechnik Teilgebiet: Programmierungsmethodik specification technique Notation zur Spezifikation von Systemen; formale Spezifikationstechniken beruhen meist auf der mathematischen Logik oder der Algebra und bieten neben einer Notation zur Spezifikation auch (Ansätze zu) Verfahren für die formale Auswertung (Vollständigkeit, Konsistenz) von Spezifikationen. DV1_Kapitel_8.doc Seite 8-19 von 32 Rüdiger Siol
20 8.4.3 Entwurf Der Entwurf oder das technische Konzept besteht aus allen formellen und informellen Dokumenten zur Beschreibung der Realisierung auf der Basis der verfügbaren technischen und wirtschaftlichen Möglichkeiten. Dazu gehören die Datenorganisation, die Programmstrukturen, die Schnittstellendokumente und das Design. In der Entwurfsphase wird pro Vorgang oder Objekt eine Grobentwurfsdokumentation und eine Feinentwurfsdokumentation erstellt. Der grobe und feine Datenentwurf beinhaltet: o Das Datenbankstrukturdiagramm o Die Dateibeschreibungen o Beschreibungen von Listen und Masken o Datenbeschreibungstabellen o Schlüsselverzeichnisse o Testdatenbeschreibungen Der grobe und feine Programmentwurf beinhaltet: o Prozessablaufdiagramm o Datenflussdiagramm o Programmbeschreibungen o Programmablaufplan je Modul o Modulschnittstellendiagramme o Modultestrahmen Sinnbilder und Ihre Anwendung Dies wird durch DIN (Deutsches Institut für Normung e.v.) unterstützt. Der Normenausschuß Informationssysteme (NI) hat u.a. die DIN bereitgestellt Anwendungsbereich und Zweck Zweck dieser Norm ist die einheitliche und anschauliche Darstellung von Aufgabenlösungen in der Informationsverarbeitung. Dazu legt diese Norm Sinnbilder und deren Anwendung zur Darstellung von Daten 1) und ihre Verarbeitung sowie von Datenträger- und Verarbeitungseinheiten und die Verknüpfung dieser Elemente fest. Nicht Gegenstand der Norm sind die Texte. die bei der Anwendung zur näheren Bezeichnung in die Sinnbilder eingetragen werden müssen. Die Sinnbilder sind nicht für Schaltpläne bestimmt. Nicht Gegenstand der Norm ist die Darstellung der Speicherungsform von Daten, wie sie z. 8. in Programmiersprachen vereinbart wird Allgemeines Diese Norm lässt unterschiedliche Darstellungsarten für Lösungen von Aufgaben der Informationsverarbeitung zu. Die Wahl der Darstellungsart hängt vom jeweiligen Zweck der Darstellung ab. In allen Darstellungsarten erfolgen die Aussagen mit Hilfe von Sinnbildern und erläuternden Texten. Dabei können mit Hilfe der Sinnbilder u. a. Reihenfolgen, Zugriffsmöglichkeiten und hierarchische Zuordnungen aufgezeigt werden. Die Verwendung der Sinnbilder lässt DV1_Kapitel_8.doc Seite 8-20 von 32 Rüdiger Siol
21 unterschiedliche Detaillierungsgrade der Darstellungen zu. Es ist möglich, dass ein Sinnbild einer groben Darstellung eine detaillierte Darstellung zusammenfasst. Der Detaillierungsgrad richtet sich nach dem Zweck der Darstellung. Die Grösse und Lage der Sinnbilder darf dem jeweiligen Anwendungsfall entsprechend gewählt werden, jedoch müssen die Sinnbilder in ihrem Charakter erkennbar bleiben. Es wird empfohlen, für das Zeichnen der Sinnbilder eine Schablone nach Beiblatt 1 zu DIN zu benutzen Begriffe Siehe DIN 44300, DIN 44302, DIN und DIN Bezeichnung Eine Darstellung, die den Bedingungen dieser Norm entspricht. wird z.b. wie folgt bezeichnet: Benennung Norm-Nummer Kennbuchstaben Programmablaufplan DIN PA DV1_Kapitel_8.doc Seite 8-21 von 32 Rüdiger Siol
22 Darstellungsarten 1 Datenflussplan (DF) Ein Datenflussplan 9 stellt Verarbeitungen und Daten sowie die Verbindungen zwischen beiden dar. Die Verbindungen stellen dabei die Zugriffsmöglichkeiten von Verarbeitungen auf Daten dar. 2 Programmablaufplan (PA) Ein Programmablaufplan,) stellt die Verarbeitungsfolgen in einem Programm I) dar. Die Verbindungen zeigen dabei die Reihenfolgen der Verarbeitungen auf. Daten werden nicht dargestellt. 3 Programmnetz (PN) Ein Programmnetz ist die Vereinigung von einem oder mehreren Programmablaufplänen mit einem oder mehreren Datenflussplänen. 4 Datennetz (DN) Ein Datennetz zeigt Daten mit ihren Verbindungen als mögliche Zugriffswege auf. Verarbeitungen werden nicht dargestellt. 5 Programmhierarchie (PH) Eine Programmhierarchie stellt die Über-/Unterordnungen von Verarbeitungen dar. Die Verbindungen sagen aus, ob eine Verarbeitung eine andere verwendet (in Richtung der Verbindung) bzw. in ihr verwendet wird (entgegen der Verbindungsrichtung). Daten und Verarbeitungsreihenfolgen werden nicht dargestellt. 6 Datenhierarchie (DH) Eine Datenhierarchie stellt die Zusammenfassung bzw. Unterteilung von Daten dar. Die Verbindungen sagen aus, welche Daten andere enthalten (in Richtung der Verbindung) bzw. in anderen Daten enthalten sind (entgegen der Verbindungsrichtung). Die Unterteilung muß nicht vollständig sein und drückt keine Reihenfolge der Anordnung aus. Verarbeitungen und Zugriffswege werden nicht dargestellt. 7 Konfigurationsplan (KP) Ein Konfigurationsplan stellt Verarbeitungseinheiten und Datenträgereinheiten mit ihren Verbindungen dar. Die Verbindungen zeigen die Datenübertragungswege. Jedes Sinnbild einer Verarbeitungseinheit oder Datenträgereinheit kann als Zusammenfassung zusammengehöriger Einheiten benutzt werden. Verarbeitungen und Daten werden nicht dargestellt. 9 Begriff siehe DIN DV1_Kapitel_8.doc Seite 8-22 von 32 Rüdiger Siol
23 Sinnbilder nach DIN DIN Sinnbilder Verarbeitung / Verarbeitungseinheiten Verarbeitungseinheit, allgemein (processing unit) Manuelle Verarbeitung (manual operation) Verzweigung (decision) DIN Sinnbilder Daten (Begriffe nach DIN ) Daten, allgemein (data) Maschinell zu verarbeitende Daten (data to be processed by machine) Manuell zu verarbeitende Daten (data to be processed by manual operation) (r.siol) FH_RV-Weingarten DV SS_ (r.siol) FH_RV-Weingarten DV SS_ Sinnbilder Verbindungen DIN Verbindung (line) Verarbeitungsfolge Zugriffsmöglichkeit Zugriffsweg Über-/Unterordnung Zusammenfassung / Unterteilung Datenübertragungsweg (communication link) (r.siol) FH_RV-Weingarten DV SS_ Sinnbilder Darstellungshilfen DIN Grenzstelle - zur Umwelt (terminator) (z.b. Beginn oder Ende einer Folge, Herkunft oder Verbleib von Daten) Verbindungsstelle (connector) Eine Verbindung kann durch eine Verbindungsstelle unterbrochen und an anderer Stelle derselben Darstellung mit einer Verbindungsstelle mit gleicher Innenbeschriftung fortgesetzt werden. (r.siol) FH_RV-Weingarten DV SS_ Sinnbilder Darstellungshilfen DIN Bemerkung (annotation) Mit diesem Sinnbild kann erläuternder Text jedem anderen Sinnbild dieser Norm zugeordnet werden. Die durchbrochene Linie zum erläuternden Sinnbild darf durch eine Volllinie ersetzt werden. (r.siol) FH_RV-Weingarten DV SS_ DV1_Kapitel_8.doc Seite 8-23 von 32 Rüdiger Siol
24 Sinnbilder nach DIN Sinnbilder für Struktogramme nach Nassi-Shneiderman DIN Struktogramme nach Nassi-Shneiderman G = Gemeinsamer Bedingungsteil B = Bedingung V = Verarbeitung N = Bezeichner des zu verlassenden umfassenden Sinnbildes n = natürliche Zahl größer oder gleich DIN Sinnbilder Verarbeitung allgemein process V Verarbeitung imperative V Block block (r.siol) FH_RV-Weingarten DV SS_ (r.siol) FH_RV-Weingarten DV SS_ DIN Sinnbilder Folge serial V1 Folge serial V B B DIN Sinnbilder V V Wiederholung Wiederholung mit vorausgegangener Bedingungsprüfung Wiederholung mit nachfolgender Bedingungsprüfung iterative pre-tested iteration post-tested iteration V Wiederholung ohne Bedingungsprüfung continuous iteration (r.siol) FH_RV-Weingarten DV SS_ (r.siol) FH_RV-Weingarten DV SS_ B V DIN Sinnbilder G Alternative bedingte Verarbeitung selective choice monadic selective B1 V1 G B2 V2 einfache Alternative dyadic selective B 1 G B i V 1 V i V n-1 V n B n mehrfache Alternative multiple exclusive selective (r.siol) FH_RV-Weingarten DV SS_ DV1_Kapitel_8.doc Seite 8-24 von 32 Rüdiger Siol
25 8.4.4 Codierung / Implementierung Unter Codierung wird an dieser Stelle die Niederschrift eines Programmes nach den Regeln einer formalen Programmiersprache, also z.b.: C, C++, Ada, Algol, Pascal u.a. verstanden. Codierung (Verschlüsselung) ist hier die Umwandlung einer natürlichen Sprache zur Beschreibung von Algorithmen in eine formale Sprache; da in der Regel höhere Sprachen (wie hier genannt) verwendet werden, ist dies für den Menschen (Anwender) noch lesbar und verständlich so gesehen also noch nicht wirklich verschlüsselt. Der Compiler erzeugt daraus Maschinencode, also Bitmuster die nur noch aus 0 oder 1 bestehen, zusammengefasst je Rechnerwort hexadezimal oder oktal dargestellt werden können, und nur noch dem Systemexperten des jeweiligen Rechnersystems verständlich sind. Man benutzt also eine Programmiersprache (programming language) um ein Programmprotokoll, also ein Quellprogramm, zu erzeugen. Für jeden der spezifizierten Module werden Quellprogramme erzeugt; das können auch einfach Datenlisten usw. sein. Vereinfachend spricht man auch von Programm wobei klar zu stellen ist, dass unter dem Begriff Programm auch ein komplettes Softwaresystem verstanden werden kann. Format von C - Programmen Programm in C #include <stdio.h> int main ( ) { printf ( Hello, World!\n ); } #include <stdio.h> int main ( ) { printf ( y = a * x * sin ( x )\n ); } (r.siol) FH_RV-Weingarten DV SS_ DV1_Kapitel_8.doc Seite 8-25 von 32 Rüdiger Siol
26 8.4.5 Modultest Ein Modul ist ein getrennt übersetzbares Programmstück, ein Unterprogramm, eine Funktion oder eine Prozedur jeweils zusammen mit den von ihm benutzten Daten. Ein Modul sollte separat getestet werden um sicher zu stellen, dass er alle Anforderungen erfüllt. Dazu sind Testhilfen bereitzustellen oder zu schaffen. Testverfahren, Testergebnisse und Testprotokolle sind besonders sorgfältig und so zu dokumentieren, dass sie jederzeit wiederholt ausführbar sind. Sie sind Bestandteil der Entwicklungsdokumentation Integration Ein System gliedert sich in Teilsysteme (Hardware, Software und Schnittstellen) die ihrerseits modular aufgebaut sind. Diese Module und Teilsysteme sind nun in einer systematischen Vorgehensweise aneinanderzufügen; es ist also eine Folge von Integrationsschritten erforderlich. Mit jedem Integrationsschritt wird ein höheres Komplexitätsniveau (Eine höhere Integrationsebene) erreicht. Je Integrationsniveau sind wiederum zugehörige Testverfahren bereitzustellen und anzuwenden. Dies ist ein iterativer Prozess der auch die Überarbeitung und Wiederholung von Modultests erforderlich machen kann. Diese Tests dienen dazu, nachzuweisen dass das Produkt entsprechend dem Stand der Technik richtig gemacht wurde; man bezeichnet das als Verifikation Systemtest Ein Systemtest soll nachweisen, dass das Produkt die gestellten (also vertraglich vereinbarten) Anforderungen erfüllt. Er beantwortet also die Frage, ob wir das richtige Produkt gemacht haben; man bezeichnet das als Validierung Betrieb und Wartung Unter Betrieb versteht man die produktiven Nutzungsphasen des entwickelten Systems. Sofern das System die vereinbarten Anforderungen Störungs- und Fehlerfrei erfüllt ist für die Software keine Wartung erforderlich, da sie keinem Verschleiß unterliegt; natürlich können Ausfälle in der Hardware auftreten. In der Praxis werden sich aus der Nutzung Änderungs- und Ergänzungswünsche ergeben deren Erfüllung als Wartung oder als Weiterentwicklung verstanden werden kann. Der Betrieb kann die Anpassung an geänderte Daten oder Schnittstellen erfordern. DV1_Kapitel_8.doc Seite 8-26 von 32 Rüdiger Siol
27 8.5 Software Kosten Entwicklungsaufwand und Kosten 11 Auch wenn das Schätzen extrem schwierig, eventuell sogar unmöglich ist; es hilft nichts, irgendwie braucht man Zahlen. Nachfolgend einige Betrachtungen, wie solche Zahlen entstehen. Hoffentlich wissen alle, worüber sie reden. Wer hat eigentlich die Frage Nennen Sie eine Zahl! gestellt? Handelt es sich um eine rein interne Entwicklung für den Betrieb oder hat man den Auftrag eines Kunden schon angenommen? Reden wir über fertig entwickelte und ausgereifte Produkte, die nur noch verkauft werden müssen oder über noch zu erbringende Entwicklungsleistungen? 10 Auszüge aus: Harry M. Sneed; Software Management; Verlagsgesellschaft Rudolf Müller GmbH Köln, 1987; ISBN sowie auch: Siegfried Vollmann; Aufwands Achätzung im Software Engineering; IWT Verlag 1. Auflage 1990; ISBN Siegfried Vollmann; Aufwandsschätzung im Software Engineering; IWT Verlag GmbH Vaterstetten bei München (1990); ISBN DV1_Kapitel_8.doc Seite 8-27 von 32 Rüdiger Siol
28 Schätzung in der EDV Während im technischen Bereich fast überall mit hohen Sicherheitsaufschlägen gearbeitet wird und etwa eine Betondecke auf eine Tragkraft ausgelegt wird, die einem Vielfachen von dem entspricht, was sie normalerweise tragen muss, wird bei EDV-Projekten, insbesondere wenn sie aufgrund des Preises gegen Konkurrenzangebote akquiriert wurden, oft unter sehr optimistischen Annahmen sehr knapp kalkuliert. Das hat zur Folge, dass zwar nur sehr selten Häuser einstürzen, aber sehr häufig EDV- Projekte die Kosten und Termine überziehen. So findet eine Untersuchung der Universität Köln heraus, dass nur 11 % der Projekte mit einem Aufwand von mehr als 10 Mannjahren eine Kostenüberschreitung von weniger als 25 % aufweisen. Auch Selig kommt in einer Befragung von Unternehmen zu ähnlichen Ergebnissen. Eine solche Aussage ist denn auch typisch für die Situation in der EDV insgesamt, die Liste der Großprojekte mit riesigen Kostenüberschreitungen ist lang. Die Gründe dafür sind relativ gut bekannt. So schreibt Brooks in seinem Buch vom Mythos des Mann-Monats: "Aus Zeitnot sind mehr Softwareprojekte schief gegangen als aus allen anderen Gründen zusammengenommen. Warum ist gerade dieser Umstand so häufig für ein Scheitern verantwortlich? o Erstens sind unsere Schätzmethoden nur kärglich ausgebildet. Schlimmer noch, sie spiegeln eine unausgesprochene Annahme wider, nämlich die, dass schon alles gut gehen werde. o Zweitens erliegen wir mit unseren Schätzmethoden dem Trugschluss, das Ausmaß der Anstrengungen mit dem Fortschritt zu verwechseln, indem wir die Annahme zugrunde legen, Arbeitszeit und Arbeitskräfte seien austauschbare Faktoren. o Drittens fehlt es Softwaremanagern oft an der höflichen Halsstarrigkeit..., weil wir unserer Schätzungen selber nicht sicher sind. o Viertens wird der Fortgang der Arbeiten schlecht überwacht. o Fünftens, wird eine Abweichung vom Zeitplan festgestellt, ist die normale (und traditionelle) Antwort darauf der Einsatz zusätzlicher Arbeitskräfte. Als versuche man ein Feuer mit Benzin zu löschen, wird dadurch alles nur noch schlimmer, viel schlimmer." Auch wenn diese Aussagen schon ca. 40 Jahre alt sind, gelten sie auch heute noch. Die ersten drei beziehen sich dabei auf die Schätzung, die letzten zwei auf die Projektabwicklung. Es kommen noch einige weitere Gründe hinzu. Der Wichtigste ist, dass jemand das Projekt machen will, einen Auftrag haben will, denn damit ist heute Erfolg verbunden. Ein Misserfolg des Projektes kommt dagegen erst später, auszubaden haben ihn häufig andere. Zumindest zum Zeitpunkt der Schätzung verstärkt das eine meist ohnehin schon optimistische Grundhaltung. Statt einer soliden Schätzung gibt es dann starke Sprüche. DV1_Kapitel_8.doc Seite 8-28 von 32 Rüdiger Siol
29 8.5.2 Fehlerkosten Entwicklungskosten umfassen alle Aufwendungen für die Herstellung von Software. Einen wesentlichen Anteil haben dabei die Fehlerkosten; sie sind die größten Kostentreiber. Die Kosten der Entdeckung und Behebung eines Fehlers steigen mit dem Abstand zwischen dem Zeitpunkt der Entstehung und dem Zeitpunkt der Entdeckung und Behebung extrem an. Beispiel: Fehlerkosten in Abhängigkeit von der Phase der Entdeckung Phase der Fehlerauffindung Fehlerkosten (z.b.: in ) Entwurfs-Review Implementierung / Entwicklungstest Systemtest Feldeinsatz Das nächste Beispiel zeigt, wo und zu welchem Anteil Fehler entstehen und wann sie erkannt werden. Die Prozentangaben sind natürlich grobe Schätzungen. Frühzeitige Fehlererkennung bewirkt enorme Einsparungen. Entstehung und Behebung von Softwarefehlern Anforder ungen Entwurf Implementierung 10% 40% 50% Fehlerstrom 3% 5% 7% 25% 50% 10% Anforderungs review Entwurfsreview Codereview Entwicklungstest Systemtest Feldeinsatz (r.siol) FH_RV-Weingarten DV SS_ Bei der Beurteilung des Entwicklungsaufwandes bis zur Auslieferung (ohne Wartung) wird die Phase der Codierung meist überschätzt: ihr Anteil an den Entwicklungskosten beläuft sich nämlich nur auf bis zu 20%. Der Aufwand für das Testen hingegen, der bis zu 50% betragen kann, wird oftmals unterschätzt. Die Integration mit einem Anteil von 30% wird oft vergessen. Betrachtet man jedoch den Gesamtaufwand der Softwareentwicklung über sämtliche Phasen des Softwarelebenszyklus, einschließlich der Nutzungsphase, so nimmt die Wartung mit ca. 60% den weitaus größten Teil in Anspruch, wobei dieser Anteil derzeit sogar noch wächst. DV1_Kapitel_8.doc Seite 8-29 von 32 Rüdiger Siol
30 8.5.3 Software Lebenszyklus Kosten entstehen durch o Planung o Entwicklung o Wartung von Softwaresystemen. Insgesamt spricht man vom Software Lebenszyklus (Software Life Cycle) und versucht die Kosten in diesem Rahmen darzustellen. Dabei ergibt sich folgendes Bild zur Software Kostenverteilung: Software Kostenverteilung 10% 30% 60% Planung Entwicklung Wartung Planungskosten Planungskosten sind die Kosten vor der eigentlichen Entwicklung. Denn schon allein die Voruntersuchung eines geplanten Systems kann je nach Systemgröße recht teuer sein; sollte aber nicht mehr als 10% der Entwicklungskosten betragen. Allerdings, wenn der Anwender nicht weiß, was er will oder wenn es Zielkonflikte gibt, kann der Anteil der Planungskosten überproportional hoch liegen, sogar bis zu 30% der Entwicklungskosten. In solchen Fällen ist eine ordnungsgemäße Kostenrechnungsführung kaum möglich. Daher sollten Projekte mit einem hohen Planungsaufwand in mehrere Projekte aufgeteilt werden. DV1_Kapitel_8.doc Seite 8-30 von 32 Rüdiger Siol
31 Entwicklungskosten Entwicklungskosten sind die Kosten, die während der Entwicklung eines Systems anfallen, d. h. von der Spezifikation bis zur Freigabe. Eentwicklungskosten Integrationstest 22% Anforderungs- Spezifikation 18% Entwurf 15% Modultest 24% Programmierung 21% Sie werden durch die Quantität und Qualität der Software sowie durch die Dauer der Entwicklung und die Produktivität der Entwickler bestimmt. Je kürzer die Laufzeit eines Projektes, um so höher die Kosten. Dieser Sachverhalt ist unter der Bezeichnung»Brooks'sches Gesetz«bekannt geworden. Nach Professor Brooks nimmt der Kommunikationsaufwand mit der Anzahl der Mitarbeiter zu, so dass die Produktivität des einzelnen immer geringer wird. Die Produktivität hängt also von der Anzahl der aufeinander angewiesenen Mitarbeiter ab. Dennoch nicht nur davon. Die Produktivität schwankt erheblich von Betrieb zu Betrieb, in Abhängigkeit von der Qualifikation der Mitarbeiter und der Güte der Entwicklungsumgebung. Der Test macht demnach bis zu 46% der Entwicklungskosten aus. Inwiefern der Einsatz moderner Methoden und Werkzeuge diese Aufwandsverteilung ändert, bleibt noch zu beweisen. Es liegen zu wenig Erfahrungen vor. Fest steht, dass ein großer Teil der Entwicklungskosten den Wartungskosten zugerechnet wird. DV1_Kapitel_8.doc Seite 8-31 von 32 Rüdiger Siol
32 Wartungskosten Wartungskosten sind alle Kosten, die nach der ersten Freigabe des Systems anfallen. Wartungskosten Erweiterung 40% Anpassung 20% Korrektur 25% Optimierung 15% Wartungskosten sind alle Kosten, die nach der ersten Freigabe des Systems anfallen. Sie betragen bis zu 67% der Life cycle-kosten. Um bei dem Beispiel von Entwicklungskosten zu bleiben, wären noch erforderlich, um das System am Leben zu erhalten. 40% der Wartungskosten sind in der Tat Weiterentwicklungskosten. Wenn man diese 40% von den abzieht, bleiben nur für die eigentliche Wartungs-Fehlerbehebung, Optimierung und Anpassung. Dagegen stiegen die Entwicklungskosten auf Damit gäbe es ein Verhältnis von 3:2 statt 1:2 zwischen Entwicklungs- und Wartungskosten. Dieses Verhältnis entspricht eher den Tatsachen. Es ist auch eine Ermessensfrage, wann Software-Systeme fertig sind. Die Frage lässt sich nur schwer beantworten. Komplexe interaktive Systeme sind an sich nie fertig. Sie werden ständig weiterentwickelt. Um so wichtiger wird es, nach der ersten Freigabe eines Systems die echten Wartungskosten von den Weiterentwicklungskosten zu trennen. Änderungen, Optimierungen und Korrekturen zu der bestehenden Software Komponente sind echte Wartungsaktivitäten. Die Erstellung neuer Komponenten - das sind Moduln, Datenkapseln oder Dokumente - sollten hingegen als Entwicklung zu Buche schlagen. Diese Betrachtungsweise ist für eine ordentliche Software-Kostenrechnung äußerst wichtig, da sonst die wahren Entwicklungskosten verschleiert würden. Ein Großteil der Entwicklung findet in den ersten Jahren nach der Freigabe eines Systems statt. Sie als Wartungskosten einzustufen, ist eine Verzerrung der Kostenrechnung. Die Planungskosten sind ebenso von den Entwicklungskosten zu trennen, weil man für sie keinen messbaren Gegenwert hat. Der Gegenwert der Entwicklungskosten ist der Code, auch wenn er nicht ohne weiteres brauchbar ist. Den Planungskosten steht das Know-how in den Köpfen der Planer gegenüber. DV1_Kapitel_8.doc Seite 8-32 von 32 Rüdiger Siol
Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin
Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
MehrAbschnitt 16: Objektorientiertes Design
Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrSoftwaretechnik. Fomuso Ekellem WS 2011/12
WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering
MehrPraktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle
Diverse Grundlagen Dr. Karsten Tolle Vorgehensmodelle im Software Engineering Wasserfallmodell Rapid Prototyping Spiralmodell V-Modell Rational Unified Process extrem Programming Test Driven Development
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
Mehr6. Programmentwicklung
6. Programmentwicklung Fertigungsprozess Qualitativ hochwertige Software ist ein Industrieprodukt -> Methoden der Industrie übertragen auf der Herstellprozess -> Herstellprozess gliedert sich in Phasen
MehrProjektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung
Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.1 Wie kommt es zu einem Projektauftrag? Auftraggeber Projekt-Idee / Ziele [Anforderungen/Spezifikation/
MehrKlausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement
Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement Prof. K.-P. Fähnrich, Prof. H.-G. Gräbe, T. Riechert Institut für Informatik Sommersemester 2012 Allgemeine Bemerkungen
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrVgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.
Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf 2 Nach derbefragung aller Stakeholder und der Dokumentation
MehrFUTURE NETWORK 20.11.2013 REQUIREMENTS ENGINEERING
18/11/13 Requirements Engineering 21 November 2013 DIE GRUNDFRAGEN Wie erhält der Kunde den größten Nutzen? Wie kann der Kunde am besten spezifizieren, was er haben will? Welchen Detailierungsgrad braucht
MehrContent Management System mit INTREXX 2002.
Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,
MehrIT-Projekt-Management
IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über
MehrKapitel 2: Der Software-Entwicklungsprozess
Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrDIN FB Technologie und Management DIN DIN 66001
FB Technologie und Management Datenverarbeitung (D 1) (Kapitel 7 Programmierung) Darstellungsarten (DF) Datenflußplan (PA) Programmablaufplan (PN) Programmnetz (DN) Datennetz (PH) Programmhierarchie (DH)
MehrGEDS Dienstleistungen. Software Engineering
GEDS Dienstleistungen Software Engineering GEDS Software Engineering Übersicht Leistungen Methoden Vorgehen Projektablauf Technologien Software Engineering Leistungen Auftragsprogrammierung Wir übernehmen
MehrEinführung und Motivation
Einführung und Motivation iks-thementag: Requirements Engineering 16.11.2010 Autor Carsten Schädel Motto Definiere oder Du wirst definiert. Seite 3 / 51 These Im Privatleben definiert jeder (seine) Anforderungen.
MehrDer Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle
Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung Kapitel B Vorgehensmodelle Inhaltsverzeichnis 1 B Vorgehensmodell... 3 1.1 Welche Vorgehensmodelle sind
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
MehrSome Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
MehrDie integrierte Zeiterfassung. Das innovative Softwarekonzept
Die integrierte Zeiterfassung Das innovative Softwarekonzept projekt - ein komplexes Programm mit Zusatzmodulen, die einzeln oder in ihrer individuellen Zusammenstellung, die gesamte Abwicklung in Ihrem
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrSoftware- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell
1. Vorgehensmodelle Software- Entwicklungsaktivitäten und Vorgehensmodelle a) Lebenszyklusmodell (Life- Cycle- Modell) b) V- Modell c) Wasserfallmodell d) Modifiziertes Wasserfallmodell e) Iterative Modelle
MehrRobot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
Mehr3.2,,Eichung von Function Points (Berichtigte Angabe)
I N S T I T U T E F O R R E A L - T I M E C O M P U T E R S Y S T E M S TECHNISCHE UNIVERSIT ÄT MÜNCHEN P R O F E S S O R G. F Ä R B E R Software Engineering 3. Übung 22.05.2003 3.2,,Eichung von Function
MehrIKP Uni Bonn Medienpraxis EDV II Internet Projekt
IKP Uni Bonn Medienpraxis EDV II Internet Projekt WS 2001/2002 Dozentin: Lucie Prinz Grundlagen der Projektarbeit Was ist ein Projekt? Die Phasen eines Software Projektes Die Projektunterlagen Die Projektplanung
MehrFragebogen ISONORM 9241/110-S
Fragebogen ISONORM 9241/110-S Beurteilung von Software auf Grundlage der Internationalen Ergonomie-Norm DIN EN ISO 9241-110 von Prof. Dr. Jochen Prümper www.seikumu.de Fragebogen ISONORM 9241/110-S Seite
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se
MehrDie vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante
ISO 9001:2015 Die vorliegende Arbeitshilfe befasst sich mit den Anforderungen an qualitätsrelevante Prozesse. Die ISO 9001 wurde grundlegend überarbeitet und modernisiert. Die neue Fassung ist seit dem
MehrIshikawa-Diagramm. 1 Fallbeispiel 2. 2 Was ist ein Ishikawa-Diagramm 2. 3 Vorgehen bei der Erstellung eines Ishikawa-Diagramms 2.
Ishikawa-Diagramm 1 Fallbeispiel 2 2 Was ist ein Ishikawa-Diagramm 2 3 Vorgehen bei der Erstellung eines Ishikawa-Diagramms 2 4 Vorteile 5 5 Nachteile 5 6 Fazit 5 7 Literaturverzeichnis 6 1 Fallbeispiel
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrProjektmanagement in der Spieleentwicklung
Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren
MehrKlausur Software-Engineering SS 2005 Iwanowski 23.08.2005
Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt!
MehrKapitel 10: Dokumentation
Kapitel 10: Dokumentation Inhalt 10.1 Stellenwert der Dokumentation 10.2 Dokumentenlenkung 10.3 Dokumentation des Qualitätsmanagementsystems Schlüsselbegriffe Dokument, Dokumentenlenkung, Qualitätshandbuch
Mehrgeben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen
geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde
Mehr17 Architekturentwurf Vorgehen und Dokumentation
17 Architekturentwurf Vorgehen und Dokumentation 17.1 Einbettung Aber Erster Schritt der Lösung Wenn Anforderungsspezifikation vorliegt Vorgabe für Codierung Hierarchische Verzahnung von Anforderungen
MehrProzessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08
Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer
MehrInformationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:
Informationssystemanalyse Lebenszyklusmodelle 3 1 Aufgaben von Lebenszyklusmodellen Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen: Definition der Tätigkeiten im Entwicklungsprojekt Zusicherung
MehrGenerelle Einstellungen
Wie in fast jedem Programm sind auch in work4all ganz grundlegende Einstellungen und Programm- Anpassungen möglich. In diesem Kapitel gehen wir auf die verschiedenen Konfigurationsmöglichkeiten innerhalb
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrStudie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell
Studie über Umfassendes Qualitätsmanagement ( TQM ) und Verbindung zum EFQM Excellence Modell (Auszug) Im Rahmen des EU-Projekts AnaFact wurde diese Umfrage von Frauenhofer IAO im Frühjahr 1999 ausgewählten
MehrSoftware Engineering. Dokumentation! Kapitel 21
Martin Glinz Thomas Fritz Software Engineering Kapitel 21 Dokumentation 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch gestattet;
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrINTERNET SERVICES ONLINE
VERTRAG ZUR UNTERSTÜTZUNG BEI DER ERSTELLUNG EINES PFLICHTENHEFTES f INTERNET SERVICES ONLINE VERTRAG ZUR UNTERSTÜTZUNG BEI DER ERSTELLUNG EINES PFLICHTENHEFTES... nachfolgend Kunde genannt und Internet
MehrSoftware Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik
Martin Glinz Harald Gall Software Engineering Wintersemester 2005/06 Kapitel 21 Dokumentation Universität Zürich Institut für Informatik 2006 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe
MehrStandard Inhaltsverzeichnis für Testvorschrift
Standard Inhaltsverzeichnis für Testvorschrift Inhaltsverzeichnis 1. Zweck, Veranlassung... 1 2. Allgemeines... 1 2.1 Zweck der Testvorschrift... 1 2.2 Freigabe und Änderungen... 1 2.3 Prinzipien... 2
MehrFehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems
Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems Name: Bruno Handler Funktion: Marketing/Vertrieb Organisation: AXAVIA Software GmbH Liebe Leserinnen und liebe Leser,
MehrInformationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:
Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät
MehrGEVITAS Farben-Reaktionstest
GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl
MehrReferent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de
ISO/IEC 62304 Medizingeräte-Software Referent: Mathias Notheis Kontakt: Mathias.Notheis@dqs.de DQS Medizin nprodukte GmbH Übersicht Basics Wann ist ein MP Software? Markteinführung vor der 62304 alles
MehrEberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995. Inhaltsverzeichnis.
3 Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995 Inhaltsverzeichnis Vorwort 5 1. Komplexe Software - Projekte - Software-Engineering 7 1.1 Komplexe
MehrWas versteht man unter Softwaredokumentation?
Was versteht man unter? Mit bezeichnet man die Dokumentation von Computer-Software. Sie erklärt für Anwender, Benutzer und Entwickler in unterschiedlichen Rollen, wie die Software funktioniert, was sie
MehrWas sind Jahres- und Zielvereinbarungsgespräche?
6 Was sind Jahres- und Zielvereinbarungsgespräche? Mit dem Jahresgespräch und der Zielvereinbarung stehen Ihnen zwei sehr wirkungsvolle Instrumente zur Verfügung, um Ihre Mitarbeiter zu führen und zu motivieren
MehrSoftware-Entwicklung
Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung
Mehr«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»
«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.» www.pse-solutions.ch ANTOINE DE SAINT-EXUPÉRY 1 PROJECT SYSTEM ENGINEERING
MehrSoftwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12
Vertretung von Prof. Dr. Blume WS 2011/12 Inhalt Test, Abnahme und Einführung Wartung- und Pflegephase gp Vorlesung Zusammenfassung Produkte und Recht (Folien von Prof. Blume) 2 , Abnahme und Einführung
MehrCharakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.
Der Gutachtenstil: Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Das Ergebnis steht am Schluß. Charakteristikum
MehrSDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
MehrProzess-Modelle für die Softwareentwicklung
Prozess-Modelle für die Softwareentwicklung Prof. Dr. Andreas Spillner Institut für Informatik und Automation Hochschule Bremen Übersicht Softwareentwicklungs-Modelle Wasserfall-Modell Vorgehensmodell
MehrKlausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement
Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement Prof. Dr. H.-G. Gräbe, T. Riechert Institut für Informatik Sommersemester 2010 Allgemeine Bemerkungen Jedes Blatt ist mit
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrFlowFact Alle Versionen
Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für
MehrWhitebox-Tests: Allgemeines
-Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv
MehrSoftware Engineering
Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,
Mehr13 Anhang A: Erfüllung der Norm ISO 9000 durch HERMES
13 Anhang A: Erfüllung der Norm ISO 9000 durch Hinweis Einleitung Eine der wesentlichsten Grundlagen für die Qualitätssicherung in einem Unternehmen ist die Normenserie «ISO 9000», insbesondere ISO 9001:1994
MehrVgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.
Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,
MehrIntegration von ITIL in das V-Modell XT
Integration von ITIL in das V-Modell XT Masterprojekt von Alexis Djomeny Nana 06.11.2014 VMEA Köln Joachim Schramm Technische Universität Clausthal Institut für Informatik - Software Systems Engineering
MehrLernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation
Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Einführung Mit welchen Erwartungen gehen Jugendliche eigentlich in ihre Ausbildung? Wir haben zu dieser Frage einmal die Meinungen von Auszubildenden
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrDas Persönliche Budget in verständlicher Sprache
Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,
MehrQM: Prüfen -1- KN16.08.2010
QM: Prüfen -1- KN16.08.2010 2.4 Prüfen 2.4.1 Begriffe, Definitionen Ein wesentlicher Bestandteil der Qualitätssicherung ist das Prüfen. Sie wird aber nicht wie früher nach der Fertigung durch einen Prüfer,
MehrKonsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt
Konsolidierung und Neuimplementierung von VIT Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt Inhaltsverzeichnis 1 Was ist der Kontext?... 1 2 VIT: Ein sehr erfolgreiches
MehrSoftwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler
Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 4 Lösungshilfe. Aufgabe 1. Zustandsdiagramm (8 Punkte) Geben Sie ein Zustandsdiagramm für
MehrBachelor Prüfungsleistung
FakultätWirtschaftswissenschaftenLehrstuhlfürWirtschaftsinformatik,insb.Systementwicklung Bachelor Prüfungsleistung Sommersemester2008 EinführungindieWirtschaftsinformatik immodul GrundlagenderWirtschaftswissenschaften
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
Mehretutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche
etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Softwaretechnik I Wintersemester 2015 / 2016 www.ias.uni-stuttgart.de/st1 st1@ias.uni-stuttgart.de
MehrKurzeinführung Moodle
Kurzeinführung Moodle 1. Einstieg, Kursinhalte, Datei-Download Nachdem Sie sich erfolgreich registriert und eingeloggt haben, gelangen Sie zu Ihrer Hauptseite. Aktivieren Sie Meine Startsteite um Ihren/Ihre
Mehr16 Architekturentwurf Einführung und Überblick
Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software
MehrMind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999
Mind Mapping am PC für Präsentationen, Vorträge, Selbstmanagement von Isolde Kommer, Helmut Reinke 1. Auflage Hanser München 1999 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21222 0 schnell
MehrProfessionelles Projektmanagement mit dem V - Modell XT
Professionelles Projektmanagement mit dem V - Modell T Dr. Ingo Zank / IKMT (VT, 04/2007) V-Modell Release 1.2 Ein Seminar des IKMT - Institut für kreatives Management und Training Postfach 330145 14171
MehrPersönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl
Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon
MehrObjektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt
Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse
MehrREQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1
REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1 QUALITÄT FÜR SIE Qualität zeigt sich in Ergebnissen und Erfolgen. Sie hängt von der jeweiligen Problemstellung ab, deshalb sehen wir
MehrFragebogen zur Anforderungsanalyse
Fragebogen zur Anforderungsanalyse Geschäftsprozess Datum Mitarbeiter www.seikumu.de Fragebogen zur Anforderungsanalyse Seite 6 Hinweise zur Durchführung der Anforderungsanalyse Bevor Sie beginnen, hier
MehrBerechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT
Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard
MehrSoftwaretechnik (Allgemeine Informatik) Überblick
Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6
MehrSoftware Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003
Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen
MehrOnline Newsletter III
Online Newsletter III Hallo zusammen! Aus aktuellem Anlass wurde ein neuer Newsletter fällig. Die wichtigste Neuerung betrifft unseren Webshop mit dem Namen ehbshop! Am Montag 17.10.11 wurde die Testphase
MehrIhre Bearbeitung kann sein: Sie wird durch eine Benutzerdokumentation (nicht: Anwenderdokumentation, Programmdokumentation) ergänzt.
Hinweis 1 Sie sehen nach dem Hinweis 2 einen Auszug aus dem Arbeitspapier. Es ist Ihre Aufgabe, diese Vorlage an die Anforderungen in Ihrem Unternehmen anzupassen. Das Arbeitspapier enthält neun Seiten,
MehrLeseprobe. Bruno Augustoni. Professionell präsentieren. ISBN (Buch): 978-3-446-44285-6. ISBN (E-Book): 978-3-446-44335-8
Leseprobe Bruno Augustoni Professionell präsentieren ISBN (Buch): 978-3-446-44285-6 ISBN (E-Book): 978-3-446-44335-8 Weitere Informationen oder Bestellungen unter http://wwwhanser-fachbuchde/978-3-446-44285-6
MehrDas Leitbild vom Verein WIR
Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
Mehr