Bottom Up Entwurf Skript, Skripte von Informatik

Softwareentwicklung Skript Technische Informatik

Art: Skripte

2019/2020

Hochgeladen am 11.07.2024

khalid-abdul
khalid-abdul 🇩🇪

1 dokument

1 / 12

Toggle sidebar

Diese Seite wird in der Vorschau nicht angezeigt

Lass dir nichts Wichtiges entgehen!

bg1
Informatik 1 Prof. Dr.-Ing. Martin Gräfe Z.1
Informatik 1
Zusatzfolien zum Selbststudium
Software-Entwurf und Klassifizierung von Programmiersprachen
Prof. Dr.-Ing. Martin Gräfe
pf3
pf4
pf5
pf8
pf9
pfa

Unvollständige Textvorschau

Nur auf Docsity: Lade Bottom Up Entwurf Skript und mehr Skripte als PDF für Informatik herunter!

Informatik 1

Zusatzfolien zum Selbststudium

Software-Entwurf und Klassifizierung von Programmiersprachen

Prof. Dr.-Ing. Martin Gräfe

Lernziele für heute

 Nach dem Selbststudium dieser Unterlagen sollen Sie ...

● (^) den Unterschied zwischen Top-Down- und Bottom-Up-Entwurf wiedergeben können, ● (^) wissen, was man unter einem Phasenmodell versteht und zwei Phasenmodelle benennen können, ● (^) den Unterschied zwischen imperativen und deklarativen Programmiersprachen beschreiben können, ● (^) die Begriffe prozedurale und objektorientierte Programmierung kennen.

Top-Down-Entwurf (2)

 Risiko des Top-Down-Entwurfs: Das Konzept geht am Ende nicht auf.

Bottom-Up-Entwurf

 Vorgehensweise:

● (^) Ist das Kernstück eines Software-Projekts beispielsweise eine aufwändige Berechnung, beginnt man mit der Implementierung dieser Berechnung in einer konkreten Programmiersprache. ● (^) Wenn die eigentliche Berechnung funktioniert, ergänzt man nach und nach geeignete Ein- und Ausgabefunktionen und eine Benutzerschnittstelle.

 Vorteil:

● (^) Konzentration auf die Kernfunktionalität statt auf „schön gestaltete“ Benutzerschnittstellen.

 Nachteil:

● (^) Die Bedienung der Software ist möglicherweise zwar aus Sicht des Programmierers sinnvoll, aber für den Anwender unverständlich. Basiswissen!

Phasenmodelle der Software-Entwicklung

 einfache Software-Projekte können nach dem so genannten

Wasserfallmodell strukturiert werden:

Anforderungsanalyse Entwurf Implementierung Test Pflichtenheft / Spezifikation Detailkonzept Programm Basiswissen!

Phasenmodelle (2)

 Bei größeren Projekten müssen mehrere Testebenen und

Korrekturschleifen eingeplant werden. ⇨ V-Modell

Anforderungsanalyse Grobentwurf Feinentwurf Implementierung Abnahmetest Systemtest Integrationstest Modultest Anwendungsszenarien „Use Cases“ Testfälle Basiswissen!

Prolog-Beispiel: Einsteins 5-Häuser-Rätsel Es gibt fünf Häuser mit je einer anderen Farbe. In jedem Haus wohnt eine Person anderer Nationalität. Jeder Hausbewohner bevorzugt ein bestimmtes Getränk, raucht eine bestimmte Zigarettenmarke und hält ein bestimmtes Haustier. Keine der fünf Personen trinkt das gleiche Getränk, raucht die gleichen Zigaretten oder hält das gleiche Tier wie seine Nachbarn. Frage: Wem gehört der Fisch? Hinweise:  (^) Der Brite lebt im roten Haus.  (^) Der Schwede hält einen Hund.  (^) Der Däne trinkt gern Tee.  (^) Das grüne Haus steht direkt links neben dem weißen Haus.  (^) Der Besitzer des grünen Hauses trinkt Kaffee.  (^) Die Person, die Pall Mall raucht, hält einen Vogel.  (^) Der Mann, der im mittleren Haus wohnt, trinkt Milch.  (^) Der Besitzer des gelben Hauses raucht Dunhill.  (^) Der Norweger wohnt im ersten Haus.  (^) Der Marlboro-Raucher wohnt neben dem, der eine Katze hält.  (^) Der Mann, der ein Pferd hält, wohnt neben dem, der Dunhill raucht.  (^) Der Winfield-Raucher trinkt gern Bier.  (^) Der Norweger wohnt neben dem blauen Haus.  (^) Der Deutsche raucht Rothmans.  (^) Der Marlboro-Raucher hat einen Nachbarn, der Wasser trinkt. Quelle: http://de.wikipedia.org/wiki/Prolog_%28Programmiersprache% Hintergrundwissen

Prolog-Beispiel: Einsteins 5-Häuser-Rätsel (2)  (^) Prolog -Programm zur Lösung des Rätsels: :- initialization(main). erstes(E,[E|]). mittleres(M,[,,M,,]). links(A,B,[A,B|]). links(A,B,[|R]) :- links(A,B,R). neben(A,B,L) :- links(A,B,L);links(B,A,L). main :- X = [,,,,], member([rot,brite,,,],X), member([,schwede,,,hund],X), member([,daene,tee,,],X), links([gruen,,,,],[weiss,,,,],X), member([gruen,,kaffee,,],X), member([,,,pallmall,vogel],X), mittleres([,,milch,,],X), member([gelb,,,dunhill,],X), erstes([,norweger,,,],X), neben([,,,marlboro,],[,,,,katze],X), neben([,,,,pferd],[,,,dunhill,],X), member([,,bier,winfield,],X), neben([,norweger,,,],[blau,,,,],X), member([,deutsche,,rothmans,],X), neben([,,,marlboro,],[,,wasser,,],X), member([,N,,,fisch],X), write('Der '), write(N), write(' hat einen Fisch als Haustier.'), nl. :- initialization(main). erstes(E,[E|]). mittleres(M,[,,M,,]). links(A,B,[A,B|]). links(A,B,[|R]) :- links(A,B,R). neben(A,B,L) :- links(A,B,L);links(B,A,L). main :- X = [,,,,], member([rot,brite,,,],X), member([,schwede,,,hund],X), member([,daene,tee,,],X), links([gruen,,,,],[weiss,,,,],X), member([gruen,,kaffee,,],X), member([,,,pallmall,vogel],X), mittleres([,,milch,,],X), member([gelb,,,dunhill,],X), erstes([,norweger,,,],X), neben([,,,marlboro,],[,,,,katze],X), neben([,,,,pferd],[,,,dunhill,],X), member([,,bier,winfield,],X), neben([,norweger,,,],[blau,,,,],X), member([,deutsche,,rothmans,],X), neben([,,,marlboro,],[,,wasser,,],X), member([,N,,,fisch],X), write('Der '), write(N), write(' hat einen Fisch als Haustier.'), nl. → online ausprobieren unter: http://www.tutorialspoint.com/execute_prolog_online.php Hintergrundwissen