Software-Entwicklung & Programmiersprachen

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Programmierung: Einführung
Nachtrag zum Vortrag vom Vorbereitung zur Datensicherung
Datenbanken Einführung.
Das „Vorgehensmodell“
3. Kapitel: Komplexität und Komplexitätsklassen
Puck eine visuelle Programmiersprache für die Schule
Lösung 7.1 Syntax und Semantik
Kapitel 4 Datenstrukturen
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
Entwicklung der Programmiersprachen
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
Internetstruktur Das Internet besteht aus vielen Computern, die weltweit untereinander vernetzt sind.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Rational Unified Process (RUP) - Definitionen
eXtreme Programming (XP)
Informatik Oberstufe A. Gillmann, M. Reker, V. Reimchen.
Access 2000 Datenbanken.
Datenbankentwurfsprozess
Einstiegsunterricht - Informatik -. Möglichkeiten des Einstiegsunterricht Benutzung und Analyse eines dokumentierten Systems Einführung in die Programmierung.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Berliner Rahmenpläne Informatik für die Sekundarstufe I
Einführung Inhalte dieses Kurses Generationen der Programmiersprachen
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
SOFTWARE.
CPLD/FPGA-Programmierung mit E-blocks. Wozu die CPLD/FPGA-Programmierung untersuchen? Zusammenhang zur modernen Digitalen Elektronik Verschwinden der.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
? Was ist Informatik? Was ist Informatik? Alexander Lange
grundlagen der Wirtschafts- informatik
Informatik eine 1.0 Einführung.
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Entwicklung der Programmiersprachen
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Strukturierter Entwurf (und Realisierung)
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
CGI (Common Gateway Interface)
Allgemeines zu Datenbanken
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Historische Entwicklung und ihre Einteilung
Programmieren in C Einführung
Wasserfallmodell und Einzelbegriffe
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Freiwillige Feuerwehr der Stadt Perg
My Statistics Schinnerl, Mikes, Walehrach, Grieshofer PPM-Projekt
Ein Vortrag von Elisa Beyer und Melanie Erker
Software der EDV-Anlage
Verarbeitung und Computerinneres
Johann Baron von Neumann
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Software Engineering Grundlagen
Die Geschichte der Entwicklung der Informations-Technologie
Software Engineering Strukturierte Analyse
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Objektorientierte (OO) Programmierung
4) Kaufmännische Realisierung
Software-Entwicklung
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
Praktische Informatik 1
 Präsentation transkript:

Software-Entwicklung & Programmiersprachen

Inhalt Phasen des Software-Entwurfs Entwicklung der Programmiersprachen

Phasen des Softwareentwurfs Definitionsphase Entwurfsphase Implementationsphase Dokumentationsphase

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.

Projekte und Projektgruppen 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

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 Datenplanung Erstellung Datenfluss-Pläne d.h. grafische Darstellung der einzelnen Stationen eines Vorganges Datenbankplanung Zentrale 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ß Die Entwicklung von Software sollte als Teil des allgemeinen Prozesses zur Lösung von Problemen gesehen werden Lösung

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: Maschinensprachen Befehle 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 4 bedeutet 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 Beispiel: MaschinenbefehlAssembler Programm 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 Programm 0000  0 zaehler db ? 0000  0 mov zaehler 0 0000  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.