Software-Entwicklung & Programmiersprachen
Software-Entwicklung&
Programmiersprachen
Inhalt
Phasen des Software-Entwurfs Entwicklung der Programmiersprachen
Phasen des Softwareentwurfs
DefinitionsphaseEntwurfsphaseImplementationsphaseDokumentationsphase
Definitionsphase (WAS-Planung)
Die Entscheidung, ein umfassendes Problem in einem Betrieb zum Beispiel durch Einführung eines EDV-Systems zu lösen, beginnt nach anfänglichen allgemeinen Überlegungen mit dem Satz: „ Man sollte doch…“. Damit wird das ganze Vorhaben zu einem Projekt.
Für den Zweck der Verwirklichung bzw. Realisierung
wird eine Projektgruppe gebildet.
Folgende Eigenschaften der Mitarbeiter sind am Erfolg einer Projektarbeit maßgeblich entscheidend:
Beherrschung ihres Fachbereiches Gute Auffassungsgabe Bereitschaft zur Teamarbeit Kontaktfreudigkeit Bereitschaft zur Weiterbildung Psychische Belastbarkeit
Projekte und Projektgruppen
Projektleiter und sein Team
Ziel nicht aus den Augen verlieren Klare Definitionen der Eingangsdaten
und des Ergebnisses Das Struktur der Lösung wird vom
Ergebnis und nicht von ungewollten Nebeneffekten bestimmt
Ziele der Anwendung(gewünschte Erebnisse)
Grobentwurf der Anwendung
Untersuchung der gewünschten Daten (Ausgabedaten)
Untersuchung der benötigten Funktionen (Prozessanalyse)
Festlegung der benötigten Daten (Eingabedaten)
Überprüfung der Dokumentation der Anwendungslösung
Anwendungsentwurf(Programmiervorgaben
Dokumentation)
Entwurfsphase (WIE-Planung)
Programmablaufplanung (Transaktionsplanung)
Erstellung eines modularen und strukturierten Programm-Designs
DatenplanungErstellung Datenfluss-Pläne d.h. grafische Darstellung der einzelnen Stationen eines Vorganges
DatenbankplanungZentrale Sammlung aller Daten die das Projekt betreffen
Implementationsphase
Programmlogik Strukturierte Programmierung
früher „Spagettiprogramme“ führten oft zu unlösbare Probleme
Kodierung Programmkode Erfassung
compilierung Test
Dokumentationsphase
Software-Lebenszyklus
Ziele der Anwendung
Programme, Dokumentationen, Daten
Problemlösungsprozeß
Aufgabe Konfrontation
Information
Definition
KreationProgrammierung
Beurteilung
EntscheidungLösung
Die Entwicklung von Softwaresollte als Teil des allgemeinen Prozesseszur Lösung von Problemengesehen werden
Programmiersprachen
Programmiersprachen
Will man eine Problemstellung mit Hilfe der elektronischen Datenverarbeitung lösen, so muss man den Lösungsweg (Algorithmus) in einer Sprache formulieren, die der Computer versteht. Sowohl System- als auch Anwendersoftware sind mit Hilfe einer ( oder mehrerer) Programmiersprachen verfasst.
Programmiersprachen
Maschinensprachen Assembler Höhere Programmiersprachen Objektorientierte und ereignisorientierte
Programmierung Programm- und Datenstrukturen
1. Generation:
MaschinensprachenBefehle werden direkt in einer Maschinensprache notiert, d.h. als Folge von Zahlencodes. Da sich der Befehlssatz von Rechner mit unterschiedlichen Prozessoren im allgemeinen unterscheidet, sind in Maschinensprache geschriebene Programme nur sehr schwer auf verschiedene Prozessortypen übertragbar.
Die direkte Programmierung in einer Maschinensprache wird heute kaum noch verwendet.
Maschinensprachen Das Herz eines Computers ist die CPU, also der
Microchip, der sämtliche Befehle verarbeitet. Jeder Chip versteht eine bestimmte Anzahl von Befehlen, die ihm in Form von Null-Eins-Befehlsketten übermittelt werden können.
Beispiel:Die Zahlenkette 0000 0 0000 0 0000 4bedeutet für den Chip: Reserviere eine Variable im Speicher und ordne ihr den Wert 0 zu. Addiere danach den Wert 4 zu der Variablen.
2. Generation:
Assembler Anstelle von Zahlencodes wird mit Hilfe von
symbolischen Bezeichnern codiert.
Eine Assembleranweisung wird in genau einen Maschinenbefehl umgesetzt. Assemblerprogramme sind deshalb im allgemeinen an einen bestimmten Prozessortyp gebunden.
Bsp: Assembler
Zu Beginn der Computer-Ära wurden die riesigen Rechenmaschienen noch direkt, also mit den oben beschriebenen Befehlsketten programmiert. Da diese Form der Programmierung jedoch denkbar umständlich ist, kam man bald auf die Idee, Übersetzerprogramme zu entwerfen, die bestimmte Befehlsworte in die entsprechenden Zahlenketten übersetzen. Diese Programme heißen Assembler und bilden die unterste Stufe der Programmiersprachen.
Beispiel: MaschinenbefehlAssembler Programm0000 0 zaehler db ?0000 0 mov zaehler 00000 4 add zaehler, 4
3. Generation:
höhere Programmiersprachen (high level language)Sprachen der 3. Generation unterstützen unmittelbar die Notation von Algorithmen, sie sind weitgehend anwendungsneutral und Maschinen unabhängig.
Erste höhere Programmiersprachen entstanden ab Mitte der fünfziger Jahre (FORTRAN, COBOL, ALGOL-60). Weitere Sprachen dieser Generation sind zum Beispiel PASCAL(1968), MODULA-2, PL1, C, ADA, BASIC, SIMULA.
4. Generation:
Fourth Generation Language (4GL)Sprachen der 4. Generation sind anwendungsbezogen (applikative Sprachen). Sie stellen i.a. die wichtigsten Gestaltungsmittel von Sprachen der 3. Generation zur Verfügung, zusätzlich jedoch Sprachmittel zur Auslösung von relativ komplexen, anwendungsbezogenen Operationen, beispielsweise zum Zugriff auf Datenbanken und zur Gestaltung von Benutzeroberflächen. Z.B. Visual Basic
Sprachen der 4. Generation gehören häufig zum Umfeld von Datenbanksystemen. Z.B SQL
Eine relativ weit verbreitete Sprache dieser Art ist z.B. NATURAL.
5. Generation:
(Very High Level Language, VHLL)Sprachen der 5.Generation gestatten das Beschreiben von Sachverhalten, von Problemen. Sie kommen vor allem im Bereich der KI (künstliche Intelligenz) zum Einsatz. Die Wahl des Problemlösungsweges kann (entsprechend dem Sprachkonzept) dem jeweiligen System (weitgehend) überlassen werden.
Bekanntestes Beispiel für eine Sprache der 5. Generation ist PROLOG.