Σχεδιάζοντας Εφαρμογές DNA A Crash Course Άρης Οικονομόπουλος.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
E-alerts.com Για να μην ξεχνάτε ποτέ... E-ALERTS.COM.
Advertisements

Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
Η πλατφόρμα moodle και η χρήση ψηφ. εκπαιδευτικού υλικού
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Διακρατική συνάντηση EQUAL Σάμος, 25 – 26 Σεπτεμβρίου 2003
Νέα σειρά εκδόσεων 4.5. Νέα χαρακτηριστικά  Επιφάνεια εργασίας  On Line ενημέρωση Λογιστικής  Διαχείριση σχετικών εγγράφων  Data Center  Γεωγραφικές.
Γονικός έλεγχος Κ. Ξ. Γ. «ΛΙΟΛΙΟΥ». Γονικός έλεγχος •Ακόμη κι όταν δεν κρυφοκοιτάζετε, μπορείτε να θέσετε περιορισμούς στη χρήση του υπολογιστή από τα.
Υποστήριξη του Υπολογιστή σας μ’ ένα “κλικ” !. H PROFITEL σε συνεργασία με την I.T.OpenSolutionS σχεδίασε και παρέχει στους συνδρομητές της, τη νέα πρωτοποριακή.
GRGOV Mobile Search Βαγγέλης Μπάνος, Open Public Data Hackathon 2014.
ΔΙΑΔΡΑΣΤΙΚΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΦΡΟΝΤΙΣΤΗΡΙΩΝ
• Php • Joomla • Joomla Module • Παρουσίαση του συστήματος μας.
ΔΙΑΔΙΚΤΥΟ (INTERNET) Γκόγκου A. Μάρθα Msc Πληροφορικής.
Ανάπτυξη Λογισμικού (Software Development)
ΕΓΚΑΤΑΣΤΑΣΗ ΛΟΓΑΡΙΑΣΜΟΥ
Copyright ©: SAMSUNG & Samsung Hope for Youth. Με επιφύλαξη κάθε νόμιμου δικαιώματος Εκπαιδευτικό υλικό Το Internet: Ασφαλείς online αγορές Επίπεδο.
Πάντα ακούμε τους «κανόνες» των γυναικών
Διαχείριση Έργου Οργάνωση, σχεδιασμός και προγραμματισμός έργων ανάπτυξης λογισμικού.
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
Πάντα ακούμε τους «κανόνες» των γυναικών
H διαδικασία ανάπτυξης λογισμικού. Tι θα γνωρίσουμε •Τις φάσεις ανάπτυξης του λογισμικού. •Γιατί χρειάζεται να γίνει ανάλυση του προβλήματος. •Τι θα πρέπει.
Σημειώσεις : Χρήστος Μουρατίδης
Βάσεις Δεδομένων 1 T.Manavis– N.Kyritsis.
Microsoft Exchange Server Τι είναι ο Exchange Ο Exchange Server χρησιμοποιείται για την παροχή υπηρεσίας ηλεκτρονικού ταχυδρομείου ( service).
Δ.Π.Θ. Συνδέοντας έγγραφα - 1 Συνδέοντας έγγραφα Μια σύνδεση στο Web (link) αποτελείται από δύο μέρη : Aυτό που βλέπουμε στη σελίδα και λέγεται άγκυρα.
HTML FTP, E -mail, Gopher Web Pages “Browse the Web” “Program the Web” Η εξέλιξη του Web Τεχνολογία Web Services XML Προγραμματισμός Παρουσίαση T C P/IP.
Εισαγωγή στην Επιστήμη των Υπολογιστών και Επικοινωνιών Εισαγωγή στο ηλεκτρονικό και κινητό επιχειρείν Σπύρος Κοκολάκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ.
Torque Game Engine - #02 Κώστας Καρπούζης (kkarpou)
ΕΡΓΑΛΕΙΟ ΠΑΡΑΓΩΓΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΣΕ WEB SITE (CONTENT MANAGEMENT TOOL)
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Δημιουργία Λογαριασμού. Τι είναι το Gmail; To Gmail είναι ένα webmail, δηλαδή ένας λογαριασμός ηλεκτρονικής αλληλογραφίας που μπορείτε να λαμβάνετε από.
Microsoft ASP.NET Browser Web 2.0 CSS JavaScript Server Client Clients Κατσιώτης Ιωάννης Οικονομικό Πανεπιστήμιο Αθηνών
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Θέμα: Διοίκηση ανάπτυξης μη-κερδοσκοπικού ιστόπεδου (ιστόπεδου Δήμου Αγ.Παρασκευής)
Παρουσίαση PocketBiz SmartPhone Κωνσταντίνος Τζαβάρας Sales Manager.
1 Ενότητα 5.3.2: Ανάλυση δεδομένων επισκεψιμότητας ιστοτόπων Διδάσκων: Χρήστος Κατσάνος - Πανεπιστημιακό κέντρο εκπαίδευσης επιμορφωτών.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Οδηγίες Εισαγωγής Ανακοινώσεων στο site του ΤΜΕΥ Με το F5 αρχίζει το animation.
«Αντί-κοινωνική Δικτύωση» Εκμετάλλευση της εμπιστοσύνης των ιστοσελίδων σε περιβάλλον WEB 2.0.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Π.Μ.Σ. ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
Πανεπιστήμιο Μακεδονίας ΠΜΣ Πληροφοριακά Συστήματα Πληροφοριακά Συστήματα για Μάρκετινγκ και Δημοσκοπήσεις Υπεύθυνος Καθηγητής: Α.Α. Οικονομίδης
ORACLE PL/SQL Εξαιρέσεις Exceptions. ΟΡΙΣΜΟΣ Μια εξαίρεση (exception) είναι ένας δείκτης που ενεργοποιείται κατά την εκτέλεση του προγράμματος.
Διασκεδάζω Προγραμματίζοντας στο code.org
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
Εισαγωγή στην Επιστήμη των Υπολογιστών και Επικοινωνιών Εισαγωγή στο ηλεκτρονικό και κινητό επιχειρείν Σπύρος Κοκολάκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ.
Company LOGO Οικονομικό Πανεπιστήμιο Αθηνών ΜΔΕ “Επιστήμη Υπολογιστών” Απρίλιος 2006 Στεφανίδης Χαράλαμπος RSVP.
WebCT Γιατί δημιουργήθηκε το WebCT; Τι είναι το WebCT; Οργάνωση WebCT Εργαλεία διαχειριστή/μαθητή Σχεδιαστική διεπαφή Ακαδημαϊκή απόδοση και αποδοχή.
Εγκατάσταση του joomla σε τοπικό υπολογιστή Νταλούκας Βασίλης Υπεύθυνος ΚΕ.ΠΛΗ.ΝΕ.Τ. 1 ου Γραφείου Δ.Ε. Ν.Ηλείας.
Κάντε κλικ για έναρξη… Τ Ο ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ Κέντρο εντολών Χώρος γραφικών (σελίδα) Χώρος σύνταξης διαδικασιών.
 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον:  Τεχνικές Διδασκαλίας.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
University of Crete HY566-Semantic Web CS566 – Semantic Web Computer Science Department - UoC Heraklion 1 April, 2003 Παπαγγελής Μάνος, Κοφφινά Ιωάννα,
Προώθηση και πώληση προϊόντων μέσω του Διαδικτύου. TMHMA ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τ.Ε.Ι. ΣΕΡΡΩΝ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ Ευάγγελος.
Ηλεκτρονικό Ταχυδρομείο
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΛΛΑΣ ΑΝΑΣΤΑΣΙΟΣ / ΦΕΒΡ ΚΕΦΑΛΑΙΟ 2 ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ.
Προγραμματισμός και Διαχείριση Επιχειρηματικών Πόρων - ERP Μάθημα 4: Τεχνολογική Υποδομή ERP.
Προχωρημένα Θέματα Δικτύων
Βάσεις Δεδομένων Ι Εισαγωγή
Καλώς ορίσατε στο PowerPoint
ΕΦΑΡΜΟΓΕΣ ΝΕΦΟΥΣ Cloud Computing.
Δημιουργία Λογαριασμού
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ
Νέα σειρά εκδόσεων 4.5.
Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
Web Services στη C# Εργαστήριο 3
Δημιουργία συστήματος υποστήριξης αποφάσεων και έλεγχο διαθεσιμότητας
Πληροφοριακό σύστημα Πληροφοριακό Σύστημα μιας επιχείρησης/οργανισμού είναι ένα σύστημα που αποτελείται από ανθρώπους, διαδικασίες και εξοπλισμό (Υλικό,
ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΩΝ ΕΦΑΡΜΟΓΩΝ
Server-side vs Client-side
Συγγραφέας: Ζαγκότας Στεφανος Επιβλέπων Καθηγητής: Ούτσιος Ευάγγελος
Εφαρμογές ιστού και δημιουργία ιστοσελίδων
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Σχεδιάζοντας Εφαρμογές DNA A Crash Course Άρης Οικονομόπουλος

Τι ζητάει η εφαρμογή; Ανάγκες της εφαρμογής (sample app) Ταχύτητα Αντοχή σε πολλούς ταυτόχρονους χρήστες Internet front-end Χρήση βάσης δεδομένων Modular σχεδίαση

Τι θα κάνει η εφαρμογή; Μηχανισμοί log in/log out Παρακολούθηση αριθμού επισκέψεων Χρήση πινάκων μηνυμάτων (forums) Δυναμική δημιουργία πινάκων Έλεγχος πρόσβασης Έλεγχος πίνακα από δημιουργό Posting Χρήση threads

Γρήγορες αποφάσεις Ταχύτητα – MTS και components Κλιμάκωση – MTS και σωστές τεχνικές (ADO) Internet front-end – IIS και ASP BΔ – SQL Server / Oracle (ADO) Modular σχεδίαση – components (COM+)

Από που ξεκινάμε; Από το Data Tier Γιατί; Επειδή μας δίνει μια ολική εικόνα της εφαρμογής Με βάση πίνακες και δεδομένα μπορούμε να σχεδιάσουμε data και business components Τελευτάιο σχεδιάζουμε το Presentation Tier – αλλά το έχουμε συνεχώς στο μυαλό μας σε προηγούμενα στάδια σχεδίασης

Data Tier Τι tables έχουμε; Πως συνδέονται μεταξύ τους; Τι primary keys θα χρησιμοποιήσουμε; (‘άχρηστα primary keys’) Tι τύπους δεδομένων χρειαζόμαστε; Μέγεθος; Θα χρησιμοποιήσουμε error handling (required fields κλπ) του server ή μέσω κώδικα;

Data Tier Continued Θα χρησιμοποιήσουμε stored procedures? Θα χρησιμοποιήσουμε data components που θα τρέχουν στον MTS? Τι θα κάνουν αυτά τα components? Πόσα χρειαζόμαστε; Δημιουργία διαγραμμάτων για: Σχέσεις Tables στην ΒΔ. Αν υπάρχουν Σχέσεις μεταξύ components, αν υπάρχουν

Business Tier Σχεδίαση components Πόσα χρειαζόμαστε; Με βάση ποια λογική ‘χωρίζουμε’ την λειτουργικότητά μας σε components; Τι θα κάνει το καθένα; Ανάλυση σε επίπεδο function Υπάρχει κάποιο σημείο που ΠΡΕΠΕΙ να κρατάμε κατάσταση (state); Αν ναι, χρήση του SPM Πόσο δυνατούς ελέγχους χρειαζόμαστε σε κάθε component; Τι θα κάνει το error handling μας; Τι συμφέρει να περνάμε; Strings; Recordsets;

Business Tier Continued Δημιουργία διαγράμματος Σχέσεις μεταξύ business components Σχέσεις μεταξύ business components και data components Τι transaction settings θα χρησιμοποιήσουμε; Τι ασφάλεια θα χρησιμοποιήσουμε; Θα έχουμε ρόλους; Θα χρησιμοποιήσουμε access control που προκύπτει από την βάση και τον κώδικα;

Business Tier Continued Όχι caching Χρήστες δεν πρέπει να έχουν κάποιο ρόλο σε transactions Oι πόροι πρέπει να δεσμεύονται αργά και να απελευθερώνονται νωρίς Αποφύγετε περίπλοκες, ‘βαθειές’ ιεραρχίες από components Μην κάνετε τίποτα που έχει σχέση με την ΒΔ στο business tier. Κάντε το στο Data Tier ΠΑΝΤΑ να τεστάρετε τις εφαρομογές σας

Presentation Tier IIS – In-process και out-of-process Out-of-process κατά την ανάπτυξη In-process μετά από το testing Debugging σε ASP scripts Πρέπει να ένεργοποιηθεί από τον IIS Χρήση breakpoints (άφθονα) Δημιουργία objects με server.createobject και όχι με απλό createobject Πρόβλημα ASP με συγκεκριμένα objects

Presentation Tier Cont’d Μπορούμε να κρατάμε state στο presentation tier; Και ναι και όχι Χρήση του Session Object Χρήση cookies Προσοχή στην κατάχρηση Μπορούμε να ελέγξουμε το πως ο χρήστης περνάει μέσα από την εφαρμογή μας; Χρήση session object Χρήση includes Χρήση ASP σελίδας loginAccess

Presentation Tier Cont’d Σχεδίαση του site διαγραμματικά Μην φοβάστε να χωρίσετε τα databases σας ΠΟΤΕ μην καλείτε data components, ακόμα κι αν ο προγραμματιστής τους το επιτρέπει Απεικόνιση σχέσεων μεταξύ pages και μεταξύ pages και components Δείξτε πως μπορεί να κινηθεί ο χρήστης μέσα στην εφαρμογή σας Γραφιστική σχεδίαση (πως να κάνετε το site σας όμορφο)...μην ρωτάτε εμένα. Τα δικά μου είναι χάλια, αλλά δουλέυουν!

Presentation Tier Cont’d Τι να κάνετε και τι να μην κάνετε Τι να κάνετε Να καλείτε components Να τα καταστρέφετε ΑΜΕΣΩΣ μόλις δεν τα χρειάζεστε Να γράφετε Subs και Functions μέσα στο ASP Να κρατάτε πληροφορίες στο Session Object Να έχετε καλό error handling Τι να μην κάνετε Να μην αφήνετε objects να καταστρέφονται μόνα τους Να μην γράφετε πολύ χύμα κώδικα (άπειρα bugs) Να μην υπερφορτώνετε το Session Object Να μην περιμένετε ότι ο χρήστης θα κάνει ότι εσείς θέλετε Να μην αφήνετε ανοιχτό το site σας σε επιθέσεις (π.χ. POST parameters)

Άσκηση Ακολουθείστε την παραπάνω διαδικασία για να σχεδιάσετε μια εφαρμογή με παρόμοιες απαιτήσεις: Ταχύτητα, Αντοχή σε πολλούς ταυτόχρονους χρήστες, Internet front-end, Χρήση βάσης δεδομένων, Modular σχεδίαση Μηχανισμοί login/logout Να προσφέρει forums συζητήσεων Να προσφέρει profile χρηστών (και editing) Να προσφέρει σε κάθε χρήστη μέσω του web (e.g. HotMail)

Άσκηση Continued Ζητούμενα: Τεχνολογίες που θα χρησιμοποιήσετε. Που και γιατί; Tables ΒΔ, τύποι μεταβλητών, διάγραμμα σχέσεων Data components – περιγραφή, ανάλυση functions, διάγραμματα (components και components με ΒΔ) Business Components – περιγραφή, ανάλυση functions, διαγράμματα (business και business με data) Presentation Tier pages – περιγραφή, εικονικός σχεδιασμός φορμών, διαγράμματα (site, και page με components), περιγραφή functions ανά page, περιγραφή του τι πληροφορίες θα κρατήσετε στο session object Overall – Ασφάλεια και άλλα θέματα που σκέφτεστε ότι είναι σημαντικά

Παράδοση Άσκησης Με στο σε ηλεκτρονική Τυπωμένη στο γραφείο μου (Y22)