Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Grundlagen der Softwaretechnologie Programmiertechnische.

Ähnliche Präsentationen


Präsentation zum Thema: "ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Grundlagen der Softwaretechnologie Programmiertechnische."—  Präsentation transkript:

1 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Grundlagen der Softwaretechnologie Programmiertechnische Grundlagen 1 P1: Konzepte und Programmiersprachen, Perl, Interaktive Programme, Web Anwendungen

2 ZT Schranz Informationstechnologie KEG 2 Entwicklung Interaktiver Software – Grundlegende Konzepte der Programmentwicklung – Komponenten der Programmierung – Programmiersprachen und Konzepte Compiler und SW-Architekturen Moderne Anwendungsmöglichkeiten Objektorientierte Programmierung – SW für kommerzielle Applikationen Web-Entwicklungen Exemplarische Vertiefung in Perl und Java – Softwaretest und -wartung Themenüberblick GdST 1-3

3 ZT Schranz Informationstechnologie KEG 3 Grundlagen der Applikationsentwicklung – Entwicklung Interaktiver Software Konzepte, Anwendungsbereiche, Sprachen, Werkzeuge, Daten Software-Technologie (Programmiertechn. Grundlagen) ‏ – Konzepte der Programmentwicklung, Sprachdetails, Software-Architekturen, OO, Test/Wartung, prakt. Beispiele IKT-Vertiefung – Datenmanagement und -haltung; Moderne Datenbanken und angewandte Standards SW-Projektmanagement – Beteiligte, Prozesse, Regeln, Kontrolle Abgrenzung Themenbereiche im Msc. Interactive Media Management

4 ZT Schranz Informationstechnologie KEG 4 Programmiertechnische Grundlagen – Konzepte der Programmentwicklung – Grundprinzipien und moderne Programmierkonzepte (XP) ‏ – Konkreten Beispielen (Perl Literaturvorgabe) ‏ Entwicklung von interaktiver Software – Web-Applikationsentwicklung – Programmgestaltung in verteilten Umgebungen – Interaktive Programme mit Perl – Hausarbeit Agenda

5 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Grundlagen der Softwaretechnologie P1: Interaktive Software, Konzepte, Perl, Web2.0

6 ZT Schranz Informationstechnologie KEG 6 Eckpunkte der Anwendungsentwicklung – Projektspezifika Anforderungen, Entwürfe, Partner, Resourcen – Anwendungsumgebung Anwendungsdomäne, Branche, Charakteristiken, Medien – Werkzeuge Programmiersprache, Entwicklungsumgebung (IDE) ‏ – Akteure Auftraggeber, Umsetzer Kompetenzen – Steuerung / Kontrolle ? Entwicklung Interaktiver Software

7 ZT Schranz Informationstechnologie KEG 7 Besonderheiten bei interaktiven / modernen Anwendungen – Involvierung des (meist noch) anonymen Kunden in die Applikation (Produkt- bzw. Leistungspräsentation) ‏ neue Medien / Internet / WWW bieten hierfür hervorragende Voraussetzungen (siehe -> Web Applikation) ‏ – Herausforderungen ans Applikationsdesign besondere Aspekte der Interaktion Kommunikationsdetails, Wissensgewinn, Informationsaustausch – Dezentrale Datenmanipulation wo liegen die während der Interaktion verwendeten Daten? Entwicklung Interaktiver Software

8 ZT Schranz Informationstechnologie KEG 8 Die Softwareerstellung an sich – Konzepte und Werkzeuge moderner SE Moderne Programmiersprachen wie Java, Perl Werkzeuge, Hilfsmittel, Libraries, Archive (CPAN) ‏ Entwicklungsumgebungen (Eclipse,JBuilder,*Studio,vi) ‏ – Konzepte im Software-Entwicklungsprozess Objekt-Orientierung Komponent-based SE, Reuse MVC-Architekturen – Paradigmenwechsel in der interaktiven SE Web 2.0, AJAX Entwicklung Interaktiver Software

9 ZT Schranz Informationstechnologie KEG 9 Kunde Kulturveranstaltungsmanagement

10 ZT Schranz Informationstechnologie KEG 10 Kunde Kulturveranstaltungsmanagement

11 11 Software Engineering Fundamentals of Software Engineering Ghezzi, Jazayeri, and Mandrioli Prentice Hall, 2003. Grundsätzliche Konzepte zum SWE finden sich in

12 12 Software Engineering Das Vorgehens-Modell (V-Modell) ‏ Quelle: http://www.v-modell.iabg.de/ http://www.v-modell.iabg.de/ Das Vorgehensmodell ist ein Prozeßmodell, mit dessen Hilfe Projekte gemäß der Norm ISO 9001 abgewickelt werden können.ISO 9001 Das Vorgehensmodell beschreibt die Aktivitäten (Tätigkeiten) und Produkte (Ergebnisse), die während der Entwicklung von Software durchzuführen bzw. zu erstellen sind.

13 13 Software Engineering Das Vorgehens-Modell (V-Modell) ‏ Notwendigkeit der Standardisierung in der Softwareentwicklung ist unbestritten „Ingenieurmäßige SW-Entwicklung“ Zielsetzungen – Eindämmung der SW-Kosten über den Lebenszyklus – Verbesserung und Gewährleistung der SW-Qualität – Verbesserung der Kommunikation zwischen Auftraggeber und Auftragnehmer. Standarisierung der Zielsetzungen durch Regelungen auf drei Ebenen – Vorgehensweise („Was“) ‏ – anzuwendende Methoden („Wie“) ‏ – funktionale Anforderungen an einzusetzende Werkzeuge („Womit“) ‏

14 14 Software Engineering – V-Modell Einsatzbereich des V-Modells – Vertragsgrundlage definiert Lieferumfang der Software Vollständigkeit der Softwaredokumentation. – Arbeitsanleitung dient bei Softwareentwicklung als Leitfaden und konkrete Arbeitsanleitung – Kommunikationsbasis Entwicklungsdokumente, Glossar dienen als Basis wechselseitigen Verständnisses zwischen Auftraggeber, Nutzer, Auftragnehmer und Entwicklern.

15 ZT Schranz Informationstechnologie KEG 15 Extreme Programming (XP)‏ Einsatz von Agilem Software Engineering im WWW

16 ZT Schranz Informationstechnologie KEG 16 Extreme Programming (XP)‏ Einsatz von Agilem Software Engineering im WWW

17 ZT Schranz Informationstechnologie KEG 17 Extreme Programming (XP)‏ Kundenrechtsproklamation

18 ZT Schranz Informationstechnologie KEG 18 Extreme Programming (XP)‏ Entwicklerrechtsproklamation

19 ZT Schranz Informationstechnologie KEG 19 Extreme Programming (XP)‏ Agiler Entwicklungsprozess

20 ZT Schranz Informationstechnologie KEG 20 Extreme Programming (XP)‏

21 ZT Schranz Informationstechnologie KEG 21 Extreme Programming (XP)‏ Grundkonzepte KISS und YAGNI

22 ZT Schranz Informationstechnologie KEG 22 Extreme Programming (XP)‏ Viele kleinere Iterationen, mehrere Releases

23 ZT Schranz Informationstechnologie KEG 23 Extreme Programming (XP)‏ Vier Variablen im Entwicklungsprozess

24 ZT Schranz Informationstechnologie KEG 24 Extreme Programming (XP)‏ Grundprinzipien und Konzepte

25 ZT Schranz Informationstechnologie KEG 25 Extreme Programming (XP)‏ Grundprinzipien und Konzepte

26 ZT Schranz Informationstechnologie KEG 26 Extreme Programming (XP)‏ Grundprinzipien und Konzepte

27 ZT Schranz Informationstechnologie KEG 27 Extreme Programming (XP)‏ Begriffe, Techniken und Werkzeuge

28 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Grundlagen der Softwaretechnologie Konkrete Werkzeuge der Softwareentwicklung - Programmiersprachen

29 ZT Schranz Informationstechnologie KEG 29 Programmiersprachen – Sprachengenerationen Werkzeuge der Applikationsentwicklung – Metakonzepte (Architekturen, OO, Komp., Protokolle) ‏ – Sprachspezifika, Musterbeispiel Perl Umsetzung der sprachspezifischen Konzepte – Eingabe -> Verarbeitung -> Ausgabe (EVA-Prinzip) ‏ – Objekte -> Attribute -> Methoden – Pattern Matching Konkrete Werkzeuge der Software- Entwicklung

30 ZT Schranz Informationstechnologie KEG 30 Natürliche und künstliche Sprachen – Konzepte von Programmiersprachen – Sprachelemente Einzelelemente vs. Pluralitäten Komplexität in der Anwendungsentwicklung – Abbildung in Sprachelemente (Objekte) ‏ – Anweisungen (Verben) ‏ – TMTOWTDI („tim-toady“) ‏ Werkzeuge & Applikationsumgebungen – Filehandles, Operatoren, Kontrollstrukturen – Regular Expressions & Pattern Matching – Reference-Cards und praktische Demo1... Dynamische Softwareentwicklung - Literaturvorgabe PERL

31 ZT Schranz Informationstechnologie KEG 31 Sprachkonzepte – Konventionen und Zeitgeist was ist in der Praxis für bestimmte Anwendungsfelder am geeignetsten – OO – Objektorientierung Ein Begriff der Computersprachen der dritten Generation (siehe Perl-Buch Kap. 11 & 12) ‏ – Komponententorientierung Applikationsteile (besonders Oberflächen) werden komponentenorientiert zusammengebaut – Architekturen – MVC Model, View und Control als Paradigma Dynamische Softwareentwicklung - PERL

32 ZT Schranz Informationstechnologie KEG 32 MVC ist ein Architekturmuster zur Aufteilung von Softwaresystemen in drei Einheiten – Datenmodell (Model) ‏ enthält Daten (DB) und evtl. Geschftslogik – Präsentation (View) ‏ Darstellung der Daten und Entgegennahme der Benutzerinteraktionen am „Frontend“ – Programmsteuerung (Control) ‏ Verwaltet die unterschiedlichen Sichten, nimmt Aufrufe der View entgegen und entscheidet, welche Daten im Modell geändert werden müssen. Sie enthlt Mechanismen, um die Benutzerinteraktion der Präsentation bzw. der Datenmanipulation im Modell einzuschränken bzw. gezielt zu steuern Ziel ist es, die Flexibilität des Programmentwurfes so zu erhöhen, dass spätere Änderungen und eine evtl. Wieder- verwendung von erarbeiteten Komponenten ermöglicht bzw. erleichtert werden Architekturmuster - MVC ViewModel Controller

33 ZT Schranz Informationstechnologie KEG 33 Quellen und Erweiterungen – Libraries sind Sammlungen von nutzbaren Ergebnissen, vordefinierten Funktionalitäten und Methoden in einer bestimmten Programmiersprache (meist sprachabhängig) ‏ – Archive erlauben die Recherche und Erweiterung von Programmiersprachen und Programmteilen mittels sorgfältig strukturierter Aufbewahrung CPAN demo Dynamische Softwareentwicklung - PERL

34 ZT Schranz Informationstechnologie KEG 34 Die Programmiersprache PERL – Entwickelt von Larry Wall (1987) ‏ – Unterstützt von Tom Christiansen und Randal L. Schwartz – PERL ist die „Practical Extraction and Report Language“ PERL Programming

35 ZT Schranz Informationstechnologie KEG 35 Warum PERL lernen? – Systemadministration mit einer Allzwecksprache – Unix-Anwendungen optimieren – CGI-Programme fürs WWW entwerfen – Prototypen für Programme entwerfen – Keine Entwicklungsumgebung notwendig – Bequem portierbar – Leistungsfähig – TMTOWTDI PERL Grundlagen

36 ZT Schranz Informationstechnologie KEG 36 Grundlagen rund um PERL – PERL ist eine interpretierte Programmiersprache – Basiert auf C, unix tools (awk, sed) ‏ – Prozedural oder objektorientiert anwendbar – Grundsprache oder Bibliotheken (pm) ‏ – Open community unterstützt PERL – CPAN als riesige PERL-Ressource www.cpan.org – Manpages rund um perl Man perl, perldoc perlfaq, perldoc PERL Grundlagen

37 ZT Schranz Informationstechnologie KEG 37 Hello World in PERL – Dokument hello.pl editieren: #!/usr/bin/perl –w print “Hello World!\n“; Programm ausführbar setzen Chmod +x hello.pl Programm ausführen #> hello.pl PERL Grundlagen

38 ZT Schranz Informationstechnologie KEG 38 Einführungskurs in PERL – Perl Datentypen Skalare ($scalar) ‏ Arrays (@array) ‏ Hashes (%hash) ‏ –Beispiele als Demo – Perl Operationen Arithmetische (+,-,*,/,**,%) ‏ Comparative (==, !=,, =,, cmp) ‏ Logische (&&, ||, ! Bzw. AND, OR, NOT) ‏ PERL Grundlagen

39 ZT Schranz Informationstechnologie KEG 39 Einführungskurs in PERL – Perl Operationen (2) ‏ Zuweisungen ( $lvalue = $rvalue ) ‏ Inkrement/Dekrement ( $i++, $i--, ++$i, --$i ) ‏ Zuweisungsoperatoren –Variabler Inkrement (+=, -=) ‏ *=, /=, %=, **= Stringverkettung, -wiederholung (. x) Rangfolge und Assoziativität PERL Grundlagen

40 ZT Schranz Informationstechnologie KEG 40 Ein- und Ausgabe in PERL – Dateihandles – Standardein-/-ausgabe STDIN, STDOUT, STDERR FILEH $zeile = ; Print STDOUT „hello“; PERL Grundlagen

41 ZT Schranz Informationstechnologie KEG 41 Einsatz der Datentypen – Skalare Skalare werden verwendet um Strings und Zahlen zu bearbeiten. $zahl = 24; $text = “das ist ein testtext“; $zahl++; $text.= “\n“; Kontextsensitive Umwandlung in PERL PERL Datentypen und -strukturen

42 ZT Schranz Informationstechnologie KEG 42 Einsatz der Datentypen – Arrays In Arrays werden Listeninhalte verwaltet. @liste = (´das´,´ist´,´eine´,´liste´); @zahlen = (1..1000); @nichts = (); @zahlen = (@zahlen, 1001, 1002, 1003); ($a, $b) = (1,2); ($x, $y) = ($y, $x); print $zahlen[3]; $#zahlen, scalar(@zahlen) ‏ PERL Datentypen und -strukturen

43 ZT Schranz Informationstechnologie KEG 43 Einsatz der Datentypen – Arrays bearbeiten Sortieren @geordnete_zahlen = sort { $a $b } @zahlen; Durchlaufen foreach $x (@liste) {... } Listen einlesen, ausgeben chop, @zeilen =, print @zeilen; Elemente hinzufügen/entfernen push, pop, shift, unshift, splice PERL Datentypen und -strukturen

44 ZT Schranz Informationstechnologie KEG 44 Einsatz der Datentypen Mit Hashes arbeiten – Hashes sind wie Arrays eine Sammlung von Daten (komplexe Datenstruktur) ‏ – Hashes sind assoziative arrays bestehen aus ungeordneten Paaren von Schlüsseln und Werten – Hashes können als Listen definiert werden (schlüssel1, wert1, schlüssel2, wert2,...) ‏ PERL Datentypen und -strukturen

45 ZT Schranz Informationstechnologie KEG 45 Einsatz der Datentypen Mit Hashes arbeiten %paare = (´rot´, 255, ´grün´,150,´blau´,100); %paare = (rot => 255, gruen => 150, blau => 100); %leer = (); $paare{schwarz} = 50; $rot_wert = $paare{rot}; PERL Datentypen und -strukturen

46 ZT Schranz Informationstechnologie KEG 46 Einsatz der Datentypen Auf Hashelemente zugreifen Alle Werte @werte = values(%paare); @schluessel = keys(%paare); Löschen: $geloeschter_wert = delete $paare{rot}; Durch-Iterieren: foreach $stadt (sort keys %paare) {...} PERL Datentypen und -strukturen

47 ZT Schranz Informationstechnologie KEG 47 Einsatz der Datentypen Komplexere Datentypen Durch die Kombination der angewandten Datentypen lassen sich komplexeste Datenstrukturen erstellen. Allerdings können in den Datenstrukturen nur Skalare verschachtelt werden. Über Referenzen können Skalare auf andere Datenstrukturen erzeugt werden: $arrayref = \@werte; $hashref = \%paare; $komplex_list = ($arrayref, $hashref, 27, ´text´); PERL Datentypen und -strukturen

48 ZT Schranz Informationstechnologie KEG 48 Blöcke Anweisungen werden mit ; abgeschlossen Eine Gruppen von Anweisungen kann mit { und } zu einem Block zusammengefasst werden: { $a = 1; $b = 2; } Blöcke können als bare blocks definiert werden oder im Rahmen der Flusssteuerung (Bedingungen, Schleifen) verwendet werden. PERL Flusssteuerung

49 ZT Schranz Informationstechnologie KEG 49 Bedingungen if, else, elsif, unless if ($a < 0) { $a = 1; } else { $a = -1; } Der Bedingungsoperator ?: $a = ($a < 0)?1:-1; # können auch expressions sein PERL Flusssteuerung

50 ZT Schranz Informationstechnologie KEG 50 Schleifen While-SchleifenUntil-Schleifen while ($a > 0) { #solange wahr / falsch print $a--; next if ($a == 100); last if ($a == 99); } Do-Schleifen Do {... } while ($a>0); # do {... } until ($a == 0); PERL Flusssteuerung

51 ZT Schranz Informationstechnologie KEG 51 Schleifen for-Schleifen # for (Startwert; Bedingungsausdruck; Aenderung) {...} for ($i = 1; $i < 10; $i++) { print $i; } foreach ist eine Spezialform, wo die Anzahl der Durchläufe auf die Anzahl der Elemente des angegebenen arrays beschränkt ist. PERL Flusssteuerung

52 ZT Schranz Informationstechnologie KEG 52 Bisher Diskutiertes bildet die Basis vieler anderer Programmiersprachen Pattern Matching bildet in PERL den leistungsfähigsten und flexibelsten Aspekt – Was sind regular expressions (patterns) ‏ – Wie werden diese angewandt – Wozu dient pattern matching? PERL Pattern Matching

53 ZT Schranz Informationstechnologie KEG 53 Pattern Matching Operatoren und Ausdrücke – Operator =~ if ($string =~ m/muster/) {... } – Einfache Muster: /foo/ /dies oder das/ /GrOsSklEineGAl/i – Sonderzeichen in Patterns: ^, $,., +, ?, *, {, }, (, ), \, /, |, [, ] # müssen „escaped“ werden – Klassen von Muster: \d, \D, \w, \W, \s, \S PERL Pattern Matching

54 ZT Schranz Informationstechnologie KEG 54 Pattern Matching Spezialfälle – Mehrfaches Erkennen /.../g; – Negative Patterns !~ /.../; – Gruppierung und Alternativen /(H|M|S|Br)aus/ – Prioritäten (lookahead) /abc(?=de)/, /abc(?!de)/ PERL Pattern Matching

55 ZT Schranz Informationstechnologie KEG 55 Suchen und Ersetzen – Teile isolieren und speichern /abc(\w+)xyz/ – Der Operator s/// $text =~ s/abc(\w+)xyz/ABC$1XYZ/; – Pattern Matching über mehrere Zeilen s///s, s///m – Ersetzen durch einen PERL-Ausdruck s/abc(\w+)xyz/“ABC“.uc($1).“XYZ“/e; PERL Pattern Matching

56 ZT Schranz Informationstechnologie KEG 56 Subroutinen erstellen und verwenden – Subroutinenaufruf $ergebnis = &addiere(2,3); – Werteübergabe, lokale Variable und Ergebnisrückgabe sub addiere { my ($a, $b) = @_; return $a+$b; } PERL Sub-Routinen

57 ZT Schranz Informationstechnologie KEG 57 PERL Module verwenden – use CGI; Argumente übergeben, Umgebungsvariablen – Die Variablen @ARGV, %ENV Optionen auswerten – use Getopt::Std; – getopts(´hf:d´); CGI Methoden verwenden, CGI-Programme schreiben Ausblick

58 ZT Schranz Informationstechnologie KEG 58 PERL Programme auf wae.culturall.com – lokale Programmentwicklung Berechnungen, etwa Sparbuchzinsen nach N Jahren – verteilte Services Rückblick auf fahrenheit.pl vom 29.3.2008 – Wie funktioniert perl? – was macht die Applikation zur Web-Applikation? – Arbeiten mit Linux – Textbasierter Editor Praktische Anwendung

59 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Grundlagen der Softwaretechnologie Interaktive Softwareentwicklung am Beispiel von Web-Applikationen

60 ZT Schranz Informationstechnologie KEG 60 Web Service Architekturen Client/Server Modell Anbieter vs. Nachfrager, Protokoll Browser-Funktionalitäten grafisch vs. textorientiert, HTML, Internet Service Integration Server-Konfiguration Virtuelle Server, Server Extensions, Redirects,... Site of Intelligence Script execution am Server oder am Browser …

61 ZT Schranz Informationstechnologie KEG 61 HTTP Das Hypertext Transfer Protokoll Einfaches und schnelles Protokoll, geeignet für ein verteiltes Hypermedia-Informationssystem Client/Server Ansatz Zustandslos (stateless) ‏ Meta-Information

62 62 Def.: Eine Web-Anwendung ist ein Softwaresystem, das auf Spezifikationen des World Wide Web Consortium (W3C) beruht und Web-spezifische Ressourcen wie Inhalte und Dienste bereitstellt, die über eine Benutzerschnittstelle, den Web-Browser, verwendet werden. – – Software-Aspekt–d.h. statische Seiten alleine stellen keine Web-Anwendung dar – – Benutzerschnittstellen-Aspekt –d.h. Web Services alleine stellen keine Web-Anwendung dar Motivation

63 63 Integration und Umsetzung dynamischer Inhalte Umsetzung von Informationen, die zur Zugriffszeit generiert werden – Aktuelle Informationsdienste (Wetterbericht, Verkehrsaufkommen, Tagesgeschehen, Börsenkurse,…) ‏ – Dynamische Informationsquellen (Datenbanken, Programme) ‏ Integration der bestehenden Anwendungen über Schnittstellen an den WWW Server – Script-Editoren – Programmiersprachen – Template-Systeme – Redaktionssysteme

64 64 Integration und Umsetzung dynamischer Inhalte “Dynamische” Inhalte aus Legacy Applications – Eine Applikation, die relevante Informationen liefert, welche als solche in das WWW eingebunden werden soll (Lagerbestandssystem, Katalog, Bibliothekssystem, Telefonbuch,…) ‏ – Moderne Datenbanken Die Organisation besitzt bereits eine Datenbank und will deren Inhalte über das Web anbinden – Managementsysteme Teure Systeme, die die Steuerung eines ganzen Großbetriebes übernehmen sollen direkt über WWW erreichbar sein (SAP) ‏ Anbindung über vorhandene oder zu programmierende Schnittstellen

65 65 Integration und Umsetzung dynamischer Inhalte Lösungen haben eine 3-tier Architecture Browser Server Legacy Application

66 66 HTML Formulare CGI vs Server API Submit mit POST oder GET – – application/x-www-form-urlencoded Umgebungsvariablen Das Common Gateway Interface ist eine Schnittstellendefinition, die eine Datenkommunikation zwischen Browser und Server zur dynamischen Dokumenterstellung ermöglicht. CGI - Common Gateway Interface

67 67 CGI Output print "Content-type: text/html\n\n"; print ".... "; print "Content-Length: 12345\n"; Das folgende PERL Beispiel erzeugt on-the-fly ein HTML Dokument. Der Inhalt kann durch übergebene Parameter eines Formulars bestimmt sein.

68 68 CGI Zustände in URLs abspeichern in HIDDEN FIELDS abspeichern Cookies verwenden http://wae.culturall.com/duk/imm/test.pl Das HTTP Protokoll ist zustandslos, d.h. der Server sieht verschiedene Zugriffe auf ihn als vollkommen unabhängig an. Mit CGI können Zustände festgehalten werden.

69 69 CGI Software Perl – CGI.pm – use CGI; $query = new CGI;... print $query->header; $query->param(feldname)‏ – Perl Web Application Demo2... C – Uniform Library of Common Code (CERN) ‏ Java – Servlet, JSP, Struts,...

70 ZT Schranz Informationstechnologie KEG 70 Entwerfen Sie eine webbasierte gesicherte Applikation, mit der personalisiert N Lottotipps generiert und persistent aufbewahrt werden können Verwenden Sie hierzu – Perl CGI Programmierung (use CGI;) ‏ – Zur Personalisierung Cookies (siehe CGI.pm) ‏ – Zur Authentifizierung Passwörter (erstmals erfassen, danach abfragen) ‏ – Zur Sicherung SSL (https-Aufrufe) ‏ Übungsangabe Lotto

71 ZT Schranz Informationstechnologie KEG 71 Die Seite soll in Form eines Formulars erfasst werden. Das CGI-Programm erzeugt dabei das Formular und die Ergebnisse abhängig von den erkannten Eingaben Der Status soll per Cookie erkannt werden (Test, ob auch Browser-Restarts möglich sind) ‏ Das Formular soll eine Fehlermeldung bringen, wenn kein SSL verwendet wird Übungsangabe Lotto Details

72 ZT Schranz Informationstechnologie KEG 72 Entwerfen Sie eine interaktive Webapplikation, die folgende Anforderungen erfüllt: Interaktive Benutzerdatenerfassung – Der Benutzer soll über Web-Eingabemöglichkeiten Daten erfassen können – ein mehrstufiger Prozess soll ihn bei der Erledigung seiner Aufgabe begleiten Serverseitige Berechnungen bzw. Datenmanipulationen sind gefragt – Die erfassten Daten sollen (persistent) gesammelt und ausgewertet werden – Die Daten sollen personalisiert behandelt werden, d.h. jeder Benutzer sieht individuelle Daten Die Applikation soll – einen mehrseitige Fragebogen oder – ein mehrstufiges Registrierungsscript oder – ein interaktives Quiz oder – eine Spiel/Wett/Lotto-Annahmestelle darstellen und die Daten individuell bearbeiten bzw. anzeigen. Verwenden Sie hierzu die trainierten Konzepte von Perl, inklusive CGI-handing, Cookie Management, persistente Datenverwaltung mit Files und Kontrolle der Datentypen Das Ergebnis umfasst Programmdokumentation (Funktionalität, Programmbeschreibung), Programmcode und lauffähige Software Arbeitsaufgabe Applikationsentwicklungskonzept bis zur GdST-2


Herunterladen ppt "ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Grundlagen der Softwaretechnologie Programmiertechnische."

Ähnliche Präsentationen


Google-Anzeigen