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