Sie sind auf Seite 1von 15

Prinzipien des Software Engineering

Strukturierung Hierarchisierung Abstraktion Modularisierung Lokalitt Mehrfachverwendbarkeit Standardisierung integrierte Dokumentation

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

Prinzip der Abstraktion


Abstraktion bedeutet die Verringerung der Komplexitt durch Vernachlssigung von Nebenaspekten und Details

synonym: Modellbildung Ziel der Abstraktion: Herleitung eines Modells des betrachteten Systems aus einer spezifischen Sicht Beispiele: - modellhafte Darstellung der Informationsbeziehungen eines Systems - modellhafte Darstellung der Aufbauorganisation eines Systems (Unternehmens) - modellhafte Darstellung der Geschftsprozesse eines Systems (Unternehmens)

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

Prinzip der Strukturierung


Strukturieren bedeutet, fr ein komplexes System eine reduzierte Darstellung zu finden, die den Charakter des Ganzen mit seinen spezifischen Merkmalen wiedergibt

Strukturierung von Systemen erfolgt durch - Hierarchisierung und - Modularisierung Strukturierung von Programmen erfolgt durch die ausschlieliche Verwendung der Grundstrukturen: - Sequenz, - Selektion und - Iteration

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

Prinzip der Hierarchisierung


Ein System besitzt eine Hierarchie, wenn seinen Elementen eine Rangordnung zugeordnet ist. Elemente gleicher Rangordnung bilden eine Hierarchieebene.

Kriterien fr die Bildung von Rangordnungen: - organisatorische Zusammenhnge - vergleichbare Eigenschaften der Elemente - zeitliche Zusammenhnge Hierarchisierung bildet die Grundlage fr die Strukturierung von Systemen

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

Prinzip der Modularisierung


Modularisieren bedeutet, ein (Software-) Produkt aus einzelnen Bausteinen (Modulen) zusammenzusetzen, die die folgenden Eigenschaften besitzen: - eine feste Bindung, d.h. in einem Modul werden Dinge realisiert, die einen unmittelbaren Zusammenhang besitzen - Kontextunabhngigkeit, d.h. ein Modul ist unabhngig von seiner Umgebung entwickelbar, bersetzbar, prfbar, wartbar und verstndlich - es existiert eine Schnittstellenbeschreibung in Form einer Spezifikation; diese Beschreibung muss die Parameter bzw. alle importierten und exportierten Gren enthalten - alle Internas des Moduls sind dem Anwender verborgen, d.h. es wei nicht, wie ein Modul seine Aufgabe erledigt, er wei nur, welche Aufgabe durch ein Modul gelst wird - alle fr die Anwendung eines Moduls relevanten Informationen befinden sich an einer Stelle (Lokalittsprinzip) - eine geringe Datenkopplung, d.h. die Menge und die Vielfalt der Daten, die zwischen den Modulen eines Systems ausgetauscht werden, ist auf ein Minimum zu reduzieren
LV: SE 2001/2002 Zilahi Prinzipien der Software Engineering 5

Modulbildung 1
Ein Modul ist eine softwaretechnische Einheit, die eine funktionale und/oder eine Datenabstraktion realisiert: Ein Modul besitzt einen eigenen Namen. Von einem Modul ist (nach 'auen') bekannt, was es ausfhrt (nicht wie es ausgefhrt wird). Ein Modul ist unter seinem Namen aufrufbar, d.h. die im Modul enthaltenen Anweisungen werden zur Ausfhrung gebracht. Ein Modul besitzt eine Eingabeschnittstelle, d.h. dem Modul werden vom rufenden Programm Daten (Inputs) bergeben. Ein Modul besitzt eine Ausgabeschnittstelle, d.h. es werden i.d.R. Daten (Outputs) an das rufende Programm zurckgegeben.

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

Modulbildung 2
Abgeschlossenheit Jeder Modul verkrpert eine Entwurfsentscheidung, d.h. eine in sich geschlossene Aufgabe Wohldefinierte Schnittstellen Vollstndige und eindeutige Spezifikation der Schnittstellen Geheimnisprinzip Jeder Modul kennt eine saubere Trennung von Spezifikation und Konstruktion, d.h. eine Trennung von 'was' und 'wie' Gegenseitige Nicht-Beeinflussung nderungen in der Konstruktion eines Moduls ziehen keine nderungen in den anderen Modulen nach sich Handhabbarkeit Jeder Modul ist gut berschaubar, also nicht zu gro und kann von einer Person bearbeitet und verstanden werden Prfbarkeit Jeder Modul ist so beschaffen, dass sein korrektes Funktionieren unter Beachtung der Schnittstellenspezifikation geprft werden kann Integrierbarkeit Module mssen zu einem Ganzen - ohne Schaffung neuer Probleme - integrierbar sein Planbarkeit Ein Modul muss planbar und kontrollierbar sein. Bei der Konstruktion mssen sich Meilensteine festlegen lassen
Prinzipien der Software Engineering 7

LV: SE 2001/2002 Zilahi

Modulare Struktur
Bindung

Kopplung Kopplung Bindung Bindung Kopplung

Kopplung

Bindung

Kopplung Kopplung Kopplung Bindung Bindung

Bindung := intramodulare Beziehung Kopplung := intermodulare Beziehung

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

berblick ber die internen Bindungsarten


a) zufllig schwache Bindung b) logisch c) zeitlich d) prozedural Modul fhrt genau eine probleme) kommunikativ bezogene Funktion aus f) sequentiell ja g) funktional starke Bindung
Wodurch hngen die Aktivitten des Moduls zusammen ?

nein

Daten Reihenfolge wesentlich

Kontrollflu Reihenfolge wesentlich

weder noch alle Aktivitten derselben Kategorie ja nein

ja funktional

nein

ja

nein

sequen- kommuni- prozdural zeitlich tiell kativ

logisch zufllig

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

Kopplung
Die Kopplung von Modulen ist der Grad der Abhngigkeit zwischen den Modulen eines Systems: Kopplungsmechanismus Auf welche Art und Weise werden die Module aufgerufen ? Schnittstellenbreite In welchem Umfang werden Daten zwischen den Modulen bergeben und wie sind sie strukturiert ? Kommunikationsart In welcher Art und Weise beeinflussen die bergebenen Daten den Ablauf eines Moduls ?

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

10

Prinzip der Lokalitt


Optimale Lokalitt liegt vor, wenn alle zur Lsung eines Problems oder zur Einarbeitung in einen Bereich bentigten Informationen an einer Stelle zu finden sind Nicht bentigte Informationen sind an dieser Stelle nicht vorhanden ! Fr den Bereich der Implementierung gilt der Grundsatz, dass rund 30 Anweisungen (Befehle) die obere Grenze dessen darstellen, was beim Lesen eines Listings, einer Modulbeschreibung, etc. ohne grere Probleme bewltigt werden kann

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

11

Prinzip der Mehrfachverwendbarkeit


Um Zeit und Kosten bei der Systementwicklung zu sparen, ist es sinnvoll und wirtschaftlich, erstellte Softwarekomponenten nicht nur in einem Produkt zu verwenden, sondern mehrfach einzusetzen! Grnde, die fr die Wiederverwendbarkeit sprechen: - Zeiterparnis - Kostenersparnis - Fehlerreduktion - Erhhung der Stabilitt

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

12

Prinzip der Standardisierung


Standardisierung erfolgt durch die Anwendung von Richtlinien, Normen, Regeln etc. und betrifft die unterschiedlichsten Bereiche: - Namensvergabe - Pflichtenheftgestaltung - Verwendung von Standardgliederungen bei der Dokumenterstellung - Einhaltung von Programmierstandards - Oberflchenstandards (Masken, Listen, etc.) - einheitliches Fehlermanagement - einheitliche Help - Gestaltung - einheitliche Verwendung von Funktionstasten etc.

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

13

Prinzip der integrierten Dokumentation


Ein Softwareprodukt besteht aus Programmcode + Dokumentation These: Ein Softwareprodukt ist hchstens so gut wie seine Dokumentation

Dokumentation

Produktdokumentation

Projektdokumentation

Zielgruppen: Entwickler und Benutzer

LV: SE 2001/2002 Zilahi

Prinzipien der Software Engineering

14

Zusammenfassung
Abstraktion

Strukturierung

Hierarchisierung

Modularisierung

Lokalitt

Mehrfachverwendbarkeit

Standardisierung a a a LV: SE 2001/2002 Zilahi

integr. Dokumentation

b: a entsteht aus b; b ergibt a b: a steht in Wechselwirkung mit b b: a setzt b voraus Prinzipien der Software
Engineering 15