CoboCards App FAQ & Wishes Feedback
Language: English Language
Sign up for free  Login

This flashcard is just one of a free flashcard set. See all flashcards!

All main topics / Informatik / Softwaretechnik / Softwaretechnik + Softwarequalitätssicherung
22
Welche Richtlinien für einen guten Entwurf gibt es?
Modularisierung
- System sollte in sinnvolle,überschaubare Bestandteile (Komponenten) gegliedert werden
- diese bestehen intern wieder aus Modulen
- Identifizierung gemäß Prinzip des Information Hiding
- Modul dient als Schutzhülle für seine Datenstruktur
- Unterteilung nach Nagl: Funktionale Module (z.B. Klasse Math in Java), Datenobjektmodule (Objekte in Java), Datentypmodule (Klassen in Java)

Kopplung und Zusammenhalt
- Beispiel aus dem Alltag: Konzertsaal
- inter-modulare Kopplung (Komplexität der Schnittstellen zwischen den Modulen) sollte gering sein
- intra-modularer Zusammenhalt (Verwandtschaft zwischen Bestandteilen eines Moduls) sollte hoch sein

Information Hiding
- Informationen, die der Programmierer nicht verwenden soll, sollen ihm nicht zugänglich sein (z.B. sollte der Zugriff auf einzelne Attribute nicht direkt, sondern nur über getter und setter Methoden möglich sein)
- Schnittstellen sollen nur das anbieten, was andere Module wirklich benötigen (interne Datenstrukturen bleiben verborgen)
- "Datenschutz" für Module
- Alltagsbeispiel: Kunde möchte Banktransaktion machen (ruft sozusagen die Methode "Transaktion" auf). Die Interne Organisation der Bank interessiert dabei den Kunden nicht. Er erhält immer dasselbe Ergebnis, egal wie die Transaktion intern abläuft.

Open-Closed-Principle
Closed: Modulschnittstellen sollen so gestaltet sein, dass sie ohne Anpassung verwendet werden können (die Schnittstelle ist stabil)
Open: Modul soll sich problemlos erweitern lassen, ohne dass die Schnittstellen sich ändern und somit die Kundenmodule angepasst werden müssten.
Das Open-Closed Principle lässt sich durch Vererbung realisieren.

Trennung von Zuständigkeiten
Interaktion (z.B. durch die Benutzeroberfläche) und Funktionalität sollten getrennt sein.

Objektorientierte Architekturprinzipien
- Abstrakte Klassen (verwenden von abstrakten Methoden, Schablonenmethoden und Basismethoden)
- Generalisierung
- finden von Klassen durch fachliches Begriffsmodell
- Unterscheidung zwischen fachlichen und technischen Klassen
New comment
Flashcard info:
Author: ChristianK
Main topic: Informatik
Topic: Softwaretechnik
School / Univ.: RWTH Aachen
City: Aachen
Published: 24.04.2010

Cancel
Email

Password

Login    

Forgot password?
Deutsch  English