03 Ανάλυση Απαιτήσεων και Σχεδιασμός Λογισμικού

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "03 Ανάλυση Απαιτήσεων και Σχεδιασμός Λογισμικού"

Transcript

1 03 Ανάλυση Απαιτήσεων και Σχεδιασμός Λογισμικού Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο Δρ. Κώστας Σαΐδης

2 Περιεχόμενα 1. Οι απαιτήσεις λογισμικού και τα είδη τους 2. Από την ανάλυση απαιτήσεων στη σύνταξη των προδιαγραφών και ο ρόλος του επικεφαλής μηχανικού Software Architect 3. Μοντελοποίηση απαιτήσεων / προδιαγραφών & σχεδιασμού 4. Σχεδιαστικές αρχές λογισμικού 5. Η έννοια του τεχνικού χρέους technical/design/code debt 2

3 1. Ανάλυση απαιτήσεων 3

4 Απαιτήσεις λογισμικού Συνήθως είναι ανεξάρτητες από την τεχνολογία υλοποίησης. Απαίτηση: Τι θέλουμε να κάνει το λογισμικό Ικανοποίηση απαίτησης: Πώς το λογισμικό καλύπτει την απαίτηση σχεδιαστική απόφαση και υλοποίηση. Εκτός, βέβαια, αν η υποστήριξη κάποιας τεχνολογίας είναι ρητή απαίτηση 4

5 Είδη απαιτήσεων Λειτουργικές απαιτήσεις Μη λειτουργικές απαιτήσεις Απαιτήσεις συστήματος Αναδυόμενες απαιτήσεις 5

6 Λειτουργικές απαιτήσεις Οι απαιτήσεις της λειτουργίας του λογισμικού συνήθως η νέα λειτουργικότητα που πρέπει να αναπτυχθεί στο πλαίσιο του έργου Παραδείγματα: διαπίστευση και δικαιοδοσία χρηστών, επιχειρησιακή λογική, περιπτώσεις και σενάρια χρήσης, διαχειριστικές λειτουργίες 6

7 Διαπίστευση χρηστών user authentication Σημεία εισόδου στο σύστημα entry points μηχανισμοί διαπίστευσης χρηστών Επιβεβαίωση ότι ο χρήστης είναι: "υπαρκτός" π.χ. ο λογαριασμός του είναι εγγεγραμμένος στον "πίνακα" των χρηστών της ΒΔ "έγκυρος" π.χ. γνωρίζει το προσωπικό του "μυστικό" που έχει συνδεθεί με το λογαριασμό του "ενεργός" π.χ. δεν έχει απενεργοποιηθεί από το διαχειριστή 7

8 Δικαιοδοσία χρηστών user authorization Διαχείριση δικαιωμάτων: ποιος χρήστης επιτρέπεται να εκτελέσει ποια ενέργεια. Στατική ή δυναμική ανάθεση/ανάκληση δικαιωμάτων; Ρόλοι Access Control Lists ACLs Guards 8

9 Επιχειρησιακή λογική business logic Οι επιχειρησιακές διαδικασίες business processes Οι επιχειρησιακοί κανόνες business rules Μερική ή πλήρης "ηλεκτρονικοποίηση" των λειτουργιών του οργανισμού 9

10 Πιο απλά Τα υποστηριζόμενα σενάρια και περιπτώσεις χρήσης use cases του λογισμικού Οι ενέργειες, λειτουργίες και διαδικασίες που εκτελούν οι χρήστες μέσω του συστήματος 10

11 Διαχειριστικές λειτουργίες administrative functions Ποιες είναι οι διαχειριστικές λειτουργίες; Πώς εκτελούνται; Θα παραμετροποιούνται από το χρήστη και πόσο; 11

12 Λειτουργίες αναφορών reporting requirements Τι αναφορές απαιτούνται ; Πόσο παραμετροποιήσιμες πρέπει να είναι; Ποιος έχει δικαίωμα να τις προσπελαύνει; 12

13 Μη λειτουργικές απαιτήσεις Απαιτήσεις για ποιοτικά χαρακτηριστικά του λογισμικού Διαθεσιμότητα Ανάνηψη από καταστροφές Ασφάλεια Ακεραιότητα Ευελιξία Επεκτασιμότητα Απόδοση Απροκρισιμότητα Υποστήριξη διεθνών προτύπων Καθορίζουν σε μεγάλο βαθμό την επιτυχία του έργου 13

14 Απαιτήσεις συστήματος Απαιτήσεις σχετικές με το "σύστημα" ή το "περιβάλλον" στο οποίο εντάσσεται το υπό ανάπτυξη λογισμικό π.χ. μπορεί να είναι συστατικό ενός μεγαλύτερου όλου Απαιτήσεις υλικού, απαιτήσεις δικτύου, κ.ά 14

15 Αναδυόμενες απαιτήσεις Ποιοτικά χαρακτηριστικά που προκύπτουν από την ένταξη του λογισιμικού στο "σύστημα" ή "περιβάλλον" και αναφέρονται στη λειτουργία του ως όλον. 15

16 Στην πράξη Στην πράξη, κάποιες απαιτήσεις μπορεί να βρίσκονται "κάπου ανάμεσα" στα παραπάνω είδη Αλλά αυτό ποικίλει ανάλογα με το υπό ανάπτυξη λογισμικό, το περιβάλλον λειτουργίας του και τους εμπλεκόμενους φορείς χρήστες του Ας δούμε μερικά παραδείγματα 16

17 Τήρηση ημερολογίων audit tracking Ποιες ενέργεις καταγράφονται σε ημερολόγια; Σε ποιο βαθμό λεπτομέρειας; Για ποιο σκοπό και με ποια τελική χρήση; 17

18 Μαζική εισαγωγή / εξαγωγή δεδομένων Data import / export Απατείται η μαζική εισαγωγή / εξαγωγή δεδομένων; Θα παραμετροποιείται από το χρήστη και πόσο; Ποιοι μορφότυποι αρχείων / δεδομένων θα πρέπει να υποστηρίζονται; 18

19 Υποστήριξη διεθνούς προτύπου Ανάλογα με την περίπτωση, μπορεί να επηρεάζει: Ένα συγκεκριμένο συστατικό Ένα υποσύνολο των συστατικών Το σχεδιασμό συνολικά 19

20 Διαλειτουργικότητα interoperability Το υπό ανάπτυξη σύστημα θα διαλειτουργεί με τρίτα συστήματα; Τι είδους δεδομένα θα ανταλλάσονται; Με ποιους μηχανισμούς, μορφότυπους και πρωτόκολλα; 20

21 Νομικές ή κανονιστικές απαιτήσεις Το υπό ανάπτυξη σύστημα θα πρέπει να είναι σύννομο προσωπικά δεδομένα, πνευματικά δικαιώματα, κτλ. Το υπό ανάπτυξη σύστημα μπορεί να διέπεται από συγκεκριμένο νομικό ή κανονιστικό πλαίσιο για παράδειγμα, πληροφοριακά συστήματα δημοσίου τομέα. 21

22 Ορισμός των απαιτήσεων Σαφήνεια η απαίτηση είναι σαφώς διατυπωμένη Συνέπεια η μία απαίτηση δεν αντιβαίνει με την άλλη Πληρότητα η απαίτηση καλύπτει όλες τις περιπτώσεις Επαληθευσιμότητα η απαίτηση μπορεί να ελεγχθεί σε σχέση με την υλοποίηση 22

23 Επίσης Σε μεγάλα έργα Καταγωγή/γενεαλογία απαίτησης Ποιος τη ζήτησε Ποιον επιχειρησιακό στόχο εξυπηρετεί Για παράδειγμα, θα πρέπει να γνωρίζει η ομάδα του έργου αν "το ζητάει ο διευθυντής" 23

24 Έγγραφο ανάλυσης απαιτήσεων Περιγραφή σε φυσική γλώσσα: Σκοπός του συστήματος Κατηγορίες χρηστών users & stakeholders Εμβέλεια του συστήματος Περιορισμοί Παραδοχές Απαιτήσεις λειτουργικές ή μη 24

25 2. Από την ανάλυση απαιτήσεων στη σύνταξη των προδιαγραφών και ο ρόλος του επικεφαλής μηχανικού Software Architect 25

26 Ζητούμενα από το κείμενο των τεχνικών προδιαγραφών Να προσδιορίσουν τον τρόπο με τον οποίο το λογισμικό θα ικανοποιήσει τις απαιτήσεις 26

27 Συγκεκριμένα Αρχιτεκτονικός σχεδιασμός και συστατικά του λογισμικού Σαφής περιγραφή της αλληλεπίδρασης του λογισμικού με το παραγωγικό του περιβάλλον production environment Λεπτομερής προδιαγραφή των λειτουργιών και των διαδικασιών που υποστηρίζονται από το λογισμικό Σύνδεση των προδιαγραφών με τις απαιτήσεις πηγή/ προέλευση προδιαγραφής Καθορισμός κριτηρίων αποδοχής / απόρριψης τμημάτων ή όλου του συστήματος 27

28 Έλεγχοι αποδοχής acceptance tests Έλεγχοι που καθορίζουν την αποδοχή ή την απόρριψη συστατικών ή λειτουργιών ή "οθονών" του λογισμικού Είναι καλή πρακτική να έχουν προβλεφθεί μερικώς ή πλήρως στις προδιαγραφές Ένας από τους κύριους στόχους ένταξης ελέγχων στον κύκλο του λογισμικού είναι η ελαχιστοποίηση των σφαλμάτων που θα προκύψουν κατά τους ελέγχους αποδοχής 28

29 Σχεδιαστικές αποφάσεις Για να μετατραπούν οι υψηλού επιπέδου απαιτήσεις του λογισμικού Σε χαμηλού επιπέδου τεχνικές προδιαγραφές αυτού Θα πρέπει να παρθούν συγκεκριμένες σχεδιαστικές αποφάσεις 29

30 Δηλαδή Οι τεχνικές προδιαγραφές μοντελοποιούν τις απαιτήσεις εντός ενός οριοθετημένου σχεδιαστικού / αρχιτεκτονικού πλαισίου Δεν είναι πάντα εφικτό ο σχεδιασμός / αρχιτεκτονική να έχουν ολοκληρωθεί μέχρι τελευταίας λεπτομέρειας Από την άλλη δεν είναι αποδεκτό να προκύψει στην πορεία υλοποίησης μιας προδιαγραφής ένα ζήτημα που θα "ακυρώσει" το σχεδιασμό Το ότι θα τον αλλάξει είναι σχεδόν βέβαιο! 30

31 Θυμηθείτε 31

32 Κοινός τόπος Η ανάλυση των απαιτήσεων πρέπει να καταλήξει σε ένα κοινά αποδεκτό ζητούμενο Κάτι που μπορεί να είναι δύσκολο στην πράξη για μη τεχνικούς λόγους επικοινωνίας, οργάνωσης, διαφορετικής κουλτούρας, παγίωσης μη βέλτιστων πρακτικών, κτλ. 32

33 Θυμηθείτε από την εισαγωγή Στα μεγάλα έργα λογισμικού εμπλέκονται πολλοί συμμετέχοντες: Χρήστες Πελάτες Διοίκηση ακόμα και Μέτοχοι ή Επενδυτές Αναλυτές Προγραμματιστές Δοκιμαστές Σχεδιαστές διεπαφών Υπεύθυνοι έργου κτλ. 33

34 Ο ρόλος του Software Architect Διαχείριση της πολυπλοκότητας 50% αρχιτεκτονική ουσιώδης πολυπλοκότητα 50% επικοινωνία τεχνητή πολυπλοκότητα με τους stakeholders με την επιχειρησιακή ομάδα έργου Project Manager, Business Analyst, κ.ά με την ομάδα ανάπτυξης engineers 34

35 Κοινή γλώσσα Κάθε ένας από τους συμμετέχοντες έχει διαφορετικές εμπειρίες, βιώματα, αφετηρίες, στόχους και επιδιώξεις από την υλοποίηση του έργου Η ομάδα ανάπτυξης, η επιχειρησιακή ομάδα και οι stakeholders του έργου μάλλον "θα μιλάνε" σε διαφορετικές γλώσσες Ο Architect θα πρέπει να κάνει το διερμηνέα και να "μιλάει" τη γλώσσα και των τριών 35

36 Ιεράρχηση απαιτήσεων Δεν είναι όλες οι απαιτήσεις εξίσου σημαντικές Μια μικρή θεωρητικά απαίτηση μπορεί να οδηγήσει το έργο εκτός δρόμου/στόχου Η ομάδα ανάπτυξης ή η επιχειρησιακή ομάδα μπορεί να μη δώσουν προσοχή "αφού το ζητάει ο πελάτης" Ο stakeholder ενδέχεται να μην το καταλάβει Ο Architect πρέπει να το διαγνώσει έγκαιρα και να προτείνει εναλλακτικές 36

37 Αντίστοιχα Μια "ακριβή" απαίτηση μπορεί να έχει πιο "φθηνή" εναλλακτική Μια "σύνθετη" απαίτηση μπορεί να έχει πιο "απλή" εναλλακτική κ.ο.κ 37

38 Προσοχή Ο ασφαλέστερος τρόπος να αποτύχει ένα έργο είναι να επιτραπεί στις "λάθος" απαιτήσεις να γίνουν προδιαγραφές! 38

39 Συμπέρασμα Ο Architect θα πρέπει να έχει απευθείας επαφή με τους stakeholders Αναλύοντας και διαμορφώνοντας μαζί με την επιχειρησιακή ομάδα του έργου τις απαιτήσεις Ενώ παράλληλα σχεδιάζει το σύστημα Για να είναι σε θέση να φιλτράρει τις "λάθος" απαιτήσεις Και να μεταφράσει τις υπόλοιπες σε προδιαγραφές για την ομάδα ανάπτυξης 39

40 The belief that complex systems require armies of programmers and designers is wrong. A system that is not understood in its entirety, or at least to a significant degree of detail by a single individual, should probably not be built. N. Wirth 40

41 Superman By J.Schulenklopper, E. Rommes 41

42 Για να γίνεις Superman Ενδεικτικά Ενσυναίσθηση empathy Για τις έγνοιες concerns όλων των εμπλεκόμενων Τεχνική αρτιότητα Επιλογή τεχνολογίας που να είναι συμβατή με τις ανάγκες του έργου και τις ικανότητες της ομάδας Επικοινωνιακή ικανότητα Συνεχής επικοινωνία με όλους τους εμπλεκόμενους για την εύρεση των βέλτιστων συμβιβασμών trade offs Εμπειρία Για να μπορούν να γίνουν καλά όλα τα παραπάνω 42

43 3. Οπτικοποίηση και μοντελοποίηση απαιτήσεων / προδιαγραφών & σχεδιασμού 43

44 Μοντελοποίηση και οπτικοποίηση απαιτήσεων/προδιαγραφών Επικοινωνία των ζητούμενων Διαγράμματα ροής flow charts Διαγράμματα ροής δεδομένων data flow diagrams Πίνακες απόφασης decision tables Δέντρο απόφασης decision trees Mind Maps 44

45 Μοντελοποίηση σχεδιασμού Επικοινωνία του συστήματος και των συστατικών του Αντικειμενοστραφές μοντέλο Ψευδοκώδικας Διαγράμματα οντοτήτων συσχετίσεων Entity Relationship diagrams Οντολογίες ontologies Πρότυπα σχεδίασης design patterns 45

46 UML Ενοποιημένη γλώσσα μοντελοποίησης Μοντελοποίηση απαιτήσεων και προδιαγραφών Μοντελοποίηση σχεδιασμού 46

47 Γιατί αυτός ο διαχωρισμός; It is almost always incorrect to begin the decomposition of a system into modules on the basis of a flowchart. We propose instead that one begins with a list of difficult design decisions or design decisions which are likely to change. Each module is then designed to hide such a decision from the others. Since, in most cases, design decisions transcend time of execution, modules will not correspond to steps in the processing. David Parnas 47

48 Η έμφασή μας στο μάθημα Σε επόμενες διαλέξεις Αντικειμενοστραφές μοντέλο UML Design Patterns 48

49 Διάγραμμα ροής flow chart 49

50 Διάγραμμα ροής δεδομένων data flow diagram 50

51 Πίνακας αποφασης decision table Με εφαρμογή στον έλεγχο λογισμικού testing 51

52 Δέντρο απόφασης decision tree Με εφαρμογές στην επιχειρησιακή έρευνα και στη μηχανική μάθηση 52

53 Mind Map 53

54 Ψευδοκώδικας 54

55 55

56 Οντολογία ontology 56

57 4. Σχεδιαστικές αρχές λογισμικού 57

58 Αφαίρεση Abstraction Θεμελιώδης έννοια "Η εννοιολογική διαδικασία κατά την οποία προκύπτουν γενικοί κανόνες από την εξέταση επιμέρους παραδειγμάτων." Wikipedia Χρησιμοποιείται σε πολλές επιστήμες. Αποτελεί το κύριο εργαλείο σχεδιασμού. 58

59 Αφαίρεση Αναπαράσταση ενός ουσιώδους χαρακτηριστικού του λογισμικού χωρίς τις δευτερεύουσες λεπτομέρειες. 59

60 Παράδειγμα interface Item { String getid() void setid(string id) Map<String, Object> tomap() void frommap(map<string, Object> map) } interface Datastore { Item load(string id) void save(item item) } 60

61 Βελτίωση Refinement Συμπληρωματική διαδικασία της αφαίρεσης Τμηματική προσαρμογή των αφαιρέσεων σε νέες απαιτήσεις, περιορισμούς ή αποφάσεις 61

62 Παράδειγμα interface Datastore { boolean exists(string id) void load(string id, Function<Item> callback) void save(item item, Function<Item> callback) } 62

63 Refactoring Η διαδικασία επαναπροσαρμογής του κώδικα ως τμήμα κάποιας βελτιωτικής απόφασης Αυτοματοποιείται από πολλά IDEs Θα τη δούμε λεπτομερώς σε επόμενη διάλεξη 63

64 Τμηματοποίηση modularity Αναλύουμε ένα πολύπλοκο σύστημα σε επιμέρους απλούστερα τμήματα Σχεδιάζουμε ξεχωριστά το ένα τμήμα από το άλλο Συνθέτουμε ξανά τα τμήματα και τις αλληλεπιδράσεις τους σε ένα ενιαίο σύνολο Με σκοπό τη διευκόλυνση της υλοποίησης, της συντήρησης και της εξέλιξης του λογισμικού 64

65 The most difficult design task is to find the most appropriate decomposition of the whole into a module hierarchy, minimizing function and code duplications. N. Wirth 65

66 Απόκρυψη πληροφορίας information hiding Η απόκρυψη των χαρακτηριστικών που μπορεί να αλλάξουν στο λογισμικό σχεδιαστικών αποφάσεων, λεπτομερειών υλοποίησης από τα άλλα τμήματα, ώστε να ελαχιστοποιηθούν οι αλλαγές που απαιτούνται αν/όταν προκύψει η αλλαγή Παροχή σταθερών interfaces αφαιρέσεων για την επικοινωνία μεταξύ των τμημάτων 66

67 Συναφείς έννοιες / αρχές Ενθυλάκωση encapsulation Διαχωρισμός ενδιαφερόντων separation of concerns 67

68 Ενθυλάκωση encapsulation Διαχωρισμός της δομής από τη συμπεριφορά ενός συστατικού Διαχωρισμός της αφαίρεσης από την υλοποίησή της Προστασία ενός συστατικού από τη μετάβασή του σε μη έγκυρη κατάσταση Μπορεί να θεωρηθεί ως τεχνική υλοποίησης της αρχής της απόκρυψης πληροφορίας 68

69 Παράδειγμα class MySQLDatastore implements Datastore { private Connection con //encapsulation public boolean exists() { String query = "select 1 from items where item = $" ResultSet rs = con.execute(query, getid()) return!rs.isempty() }... } 69

70 Διαχωρισμός ενδιαφερόντων separation of concerns Κάθε τμήμα του λογισμικού επικεντρώνεται στην επίλυση ενός ξεχωριστού ζητήματος concern Αρχιτεκτονικά επίπεδα επίπεδο παρουσίασης, επίπεδο επιχειρησιακής λογικής, επίπεδο πρόσβασης δεδομένων 70

71 Παράδειγμα Θα επανέλθουμε 71

72 Επαναχρησιμοποίηση reuse Το λογισμικό δεν πρέπει να ανακαλύπτει κάθε φορά εκ νέου τον τροχό Οι καλές αφαιρέσεις και τα καλώς διαχωρισμένα συστατικά είναι εύκολο να επαναχρησιμοποιηθούν 72

73 Παράδειγμα var animals = ["dog", "cat", "fish"] var len = function(s) { return s.length; } var sum = function(a, b) { return a+b; } animals.map(len).reduce(sum, 0); //10 73

74 Μήπως ο ίδιος ο κώδικας είναι το design; TEX would have been a complete failure if I had merely specified it and not participated fully in its initial implementation. The process of implementation constantly led me to unanticipated questions and to new insights about how the original specifications could be improved. Donald Knuth 74

75 Πρόσθετες σχεδιαστικές αρχές design principles Πώς να δομήσουμε και να υλοποιήσουμε τις αφαιρέσεις abstractions 75

76 Μην επαναλαμβάνεσαι Don't Repeat Yourself "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system." A. Thomas, D. Hunt 76

77 Μόνο μια φορά Once and Only Once Αρχή του Extreme Programming XP Each and every declaration of behavior should appear Once and Only Once. 77

78 DRY vs WET WET: We Enjoy Typing WET: Waste Everybody's Time 78

79 Εφαρμογή της αρχής DRY στην πράξη Η επανάληψη duplication αυξάνει την τυχαία/τεχνητή πολυπλοκότητα του συστήματος accidental complexity. Οπουδήποτε στον κύκλο ζωής του λογισμικού υπάρχουν "χειροκίνητες" διαδικασίες, θα πρέπει να αυτοματοποιούνται π.χ. μέσω build system, scripting, κ.ά.. Αν προκύπτουν επαναλήψεις στη λογική, κάπου απαιτείται η προσθήκη μιας νέας αφαίρεσης. 79

80 Σύνολο αρχών S.O.L.I.D. Single responsibility S Open/closed Ο Liskov substitution L Interface segregation Ι Dependency inversion D 80

81 Μοναδική ευθύνη Κάθε κλάση/συστατικό πρέπει να έχει μία και μοναδική ευθύνη. A class should have only one reason to change. 81

82 Ανοικτό/κλειστό Κάθε κλάση/συστατικό πρέπει να είναι ανοικτή σε επεκτάσεις π.χ. προσθήκη νέων πεδίων ή μεθόδων. Κάθε κλάση/συστατικό πρέπει να είναι κλειστή και οριοθετημένη έτοιμη προς χρήση από τρίτα συστατικά. 82

83 Δυνατότητα αντικατάστασης Αν το S είναι υποτύπος του Τ τότε όλα τα αντικείμενα του δεύτερου θα πρέπει να μπορούν να αντικατασταθούν με αντικείμενα του πρώτου χωρίς να αλλοιωθεί κανένα από τα επιθυμητά χαρακτηριστικά του συστήματος. Strong behavioral subtyping. 83

84 Επιμερισμός διεπαφών Κανένα συστατικό δεν πρέπει να εξαρτάται από μεθόδους που δε χρησιμοποιεί. Χρήση μικρών και διαφορετικών interfaces για τη θέσπιση των διεπαφών μεταξύ συστατικών. 84

85 Ανιστροφή εξαρτήσεων Τα υψηλού επιπέδου συστατικά δεν πρέπει να εξαρτώνται από τα χαμηλού επιπέδου συστατικά. Και τα δύο θα πρέπει να εξαρτώνται από κοινές αφαιρέσεις. Οι αφαιρέσεις δεν πρέπει να εξαρτώνται από λεπτομέρειες. Οι λεπτομέρειες θα πρέπει να εξαρτώνται από τις αφαιρέσεις. 85

86 Παράδειγμα class DataAccessLayer { private Function<Item> updateindex =... //private MySQLDatastore store //bad private Datastore store //good DataAccessLayer() { store = new MySQLDatastore() //bad store = Config.get('Datastore') //good } void save(item item) { store.save(item item, updateindex) } } Dependency Inversion Injection 86

87 5. Η έννοια του τεχνικού χρέους technical/design/code debt 87

88 Ποιοτικά ζητούμενα σχεδιασμού Performance Scalability Maintainability Extensibility Security Safety Robustness Fault tolerance Usability Reliability 88

89 Σχεδιασμός = Συμβιβασμός Συνήθως δεν είναι εφικτό να γίνουν όλα καλά με την πρώτη Επιλογή των επιθυμητών trade offs 89

90 Τεχνικό χρέος Το κόστος της πρόσθετης δουλειάς που θα απαιτηθεί από την επιλογή μιας εύκολης και γρήγορης υλοποίησης αντί για την εφαρμογή της συνολικά καλύτερης λύσης. 90

91 Τέσσερα είδη By Martin Fowler 91

92 Το κλασικότερο trade off Efficiency vs Abstraction Programmers have spent far too much time worrying about efficiency in the wrong places at the wrong times; premature optimization is the root of all evil. Donald Knuth 92

05 Ανάλυση Απαιτήσεων

05 Ανάλυση Απαιτήσεων 05 Ανάλυση Απαιτήσεων Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Περιεχόμενα 1. Οι

Διαβάστε περισσότερα

07 Σχεδιασμός λογισμικού

07 Σχεδιασμός λογισμικού 07 Σχεδιασμός λογισμικού Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Περιεχόμενα 1.

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Σχεδιαστικές αρχές λογισμικού Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Περιεχόμενα 1. Βασικές σχεδιαστικές αρχές λογισμικού

Διαβάστε περισσότερα

05 Ανάλυση απαιτήσεων

05 Ανάλυση απαιτήσεων 05 Ανάλυση απαιτήσεων Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Ανάλυση και Σχεδιασμός Η διαδικασία που μας επιτρέπει να:

Διαβάστε περισσότερα

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός 06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αφαίρεση Abstraction "Η εννοιολογική

Διαβάστε περισσότερα

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο 08 Η γλώσσα UML I Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο 09 Η γλώσσα UML II Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση συμπεριφοράς

Διαβάστε περισσότερα

10α Έλεγχος και επαλήθευση λογισμικού

10α Έλεγχος και επαλήθευση λογισμικού 10α Έλεγχος και επαλήθευση λογισμικού Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Εισαγωγή στη διαχείριση έργων λογισμικού Δρ. Κώστας Σαΐδης saiko@di.uoa.gr A. Διαχείριση έργου γενικά Ορισμοί Βασικές

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Unified Modeling Language II Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams

Διαβάστε περισσότερα

02α Διαχείριση Έργων Λογισμικού

02α Διαχείριση Έργων Λογισμικού 02α Διαχείριση Έργων Λογισμικού Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Διαχείριση

Διαβάστε περισσότερα

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο 09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

Διαβάστε περισσότερα

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μεθοδολογίες Ανάπτυξης Συστημάτων Πληροφορικής Απαντούν στα εξής ερωτήματα Ποιά βήματα θα ακολουθηθούν? Με ποιά σειρά? Ποιά τα παραδοτέα και πότε? Επομένως,

Διαβάστε περισσότερα

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

Διαβάστε περισσότερα

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας»

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» M. Σπανάκης, Μ. Τσικνάκης Εαρινό Εξάμηνο 2014 Μάθημα 1 Παρουσίαση Εργασίας και Εισαγωγή στην ανάλυση απαιτήσεων Εισαγωγή Αρχική συζήτηση αναφορικά με την ανάλυση

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα #1 : Εισαγωγή Σταμέλος Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 Μ6. Φάσεις ανάπτυξης λογισμικού: προδιαγραφές, σχεδίαση, υλοποίηση, επαλήθευση, τεκμηρίωση, συντήρηση προγραμμάτων Δρ. Γεώργιος Παπαλάμπρου Επικ.

Διαβάστε περισσότερα

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 Μ6. Φάσεις ανάπτυξης λογισμικού: προδιαγραφές, σχεδίαση, υλοποίηση, επαλήθευση, τεκμηρίωση, συντήρηση προγραμμάτων Δρ. Γεώργιος Παπαλάμπρου Επικ.

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας ρ. Πάνος Φιτσιλής Περιεχόµενα Βασικές έννοιες αντικειµενοστεφούς τρόπου ανάπτυξης Τι είναι κλάση Τι είναι αντικείµενο 2 Βασικές

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης Περιπτώσεις Χρήσης περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης περιπτώσεις χρήσης Τι θα κάνει το λογισμικό για κάποιον

Διαβάστε περισσότερα

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

Διαβάστε περισσότερα

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 Use Cases: μια σύντομη εισαγωγή Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 (γενικές εισαγωγικές ιδέες) ΣΥΛΛΟΓΗ ΑΠΑΙΤΗΣΕΩΝ 2 Ανάλυση απαιτήσεων Λειτουργικές απαιτήσεις: τι

Διαβάστε περισσότερα

Γλώσσες προγραµµατισµού. Ανάπτυξη Συστηµάτων Λογισµικού

Γλώσσες προγραµµατισµού. Ανάπτυξη Συστηµάτων Λογισµικού ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ http://courses.softlab.ntua.gr/softeng/ ιδάσκοντες: (nickie@softlab.ntua.gr) Βασίλης Βεσκούκης (bxb@softlab.ntua.gr) Γλώσσες Προγραµµατισµού και Ανάπτυξη Συστηµάτων Λογισµικού ΤΛ

Διαβάστε περισσότερα

Απαιτήσεις Λογισμικού

Απαιτήσεις Λογισμικού Απαιτήσεις Λογισμικού περιεχόμενα παρουσίασης Τι είναι οι απαιτήσεις Δραστηριότητες προσδιορισμού απαιτήσεων Η εξαγωγή απαιτήσεων τι είναι οι απαιτήσεις Πριν βρούμε τη λύση πρέπει να καταλάβουμε το πρόβλημα.

Διαβάστε περισσότερα

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL

Διαβάστε περισσότερα

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

Διαβάστε περισσότερα

Οι περιπτώσεις χρήσης

Οι περιπτώσεις χρήσης 1 Ελληνικό Ανοικτό Πανεπιστήµιο Οι περιπτώσεις χρήσης ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Το µοντέλο των περιπτώσεων χρήσης Τα διαγράµµατα των περιπτώσεων χρήσης Λεκτική περιγραφή των περιπτώσεων χρήσης Τρόπος

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 15: Σχεδίαση Εφαρμογών Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

12 Έλεχος και επαλήθευση λογισμικού

12 Έλεχος και επαλήθευση λογισμικού 12 Έλεχος και επαλήθευση λογισμικού Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Πώς εξασφαλίζουμε ότι το λογισμικό είναι σύμφωνο

Διαβάστε περισσότερα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα Περιεχόμενα Πρόλογος... 9 Κεφάλαιο 1: Δομή και λειτουργία του υπολογιστή... 11 Κεφάλαιο 2: Χρήση Λ.Σ. DOS και Windows... 19 Κεφάλαιο 3: Δίκτυα Υπολογιστών και Επικοινωνίας... 27 Κεφάλαιο 4: Unix... 37

Διαβάστε περισσότερα

02 Αντικειμενοστρεφής Προγραμματισμός

02 Αντικειμενοστρεφής Προγραμματισμός 02 Αντικειμενοστρεφής Προγραμματισμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αντικειμενοστρέφεια Στον προγραμματισμό object

Διαβάστε περισσότερα

Μοντελοποίηση Πεδίου

Μοντελοποίηση Πεδίου Μοντελοποίηση Πεδίου περιεχόμενα παρουσίασης Εννοιολογικές κλάσεις Συσχετίσεις εννοιολογικών κλάσεων Τύποι ιδιοτήτων Γενίκευση Συχνά σφάλματα μοντελοποίησης πεδίου Εννοιολογικές κλάσεις και κλάσεις λογισμικού

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

Διαβάστε περισσότερα

Εισαγωγή στη Δασική Πληροφορική

Εισαγωγή στη Δασική Πληροφορική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Εισαγωγή στη Δασική Πληροφορική Ενότητα 3: Θεωρία, Ανάλυση και Σχεδιασμός Πληροφοριακών Συστημάτων Ζαχαρούλα Ανδρεοπούλου Δασολογίας &

Διαβάστε περισσότερα

Ειδικά θέματα τεχνολογίας λογισμικού

Ειδικά θέματα τεχνολογίας λογισμικού Ειδικά θέματα τεχνολογίας λογισμικού Σχεδιασμός λογισμικού Διομήδης Σπινέλλης Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών dds@aueb.gr http://www.dmst.aueb.gr/dds @CoolSWEng

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Η/Υ Εθνικό Μετσόβιο Πολυτεχνείο Τεχνολογία Λογισμικού 7ο / 9ο Εξάμηνο 2018 19 Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, nickie@softlab.ntua,gr Β.Βεσκούκης, Αν.Καθ. ΣΑΤΜ, v.vescoukis@cs.ntua,gr

Διαβάστε περισσότερα

11β Δομικά πρότυπα σχεδίασης

11β Δομικά πρότυπα σχεδίασης 11β Δομικά πρότυπα σχεδίασης Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Δομικά πρότυπα

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Διαχείριση Ετερογενών Δικτύων

Διαχείριση Ετερογενών Δικτύων Διαχείριση Ετερογενών Δικτύων Δημήτρης Ι. Χρόνης (Ο.Τ.Ε) Λάμπρος Ράπτης (Ε.Μ.Π) Περιεχόμενα Παροχή υπηρεσιών σε ετερογενή δίκτυα Αρχιτεκτονική διαχείρισης ετερογενών δικτύων Λειτουργικές απαιτήσεις Τεχνικά

Διαβάστε περισσότερα

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα 4: Ανάλυση Απαιτήσεων Μαρίνος Θεμιστοκλέους Email: mthemist@unipi.gr Ανδρούτσου 150 Γραφείο 206 Τηλ. 210 414 2723 Ώρες Γραφείου: Δευτέρα 11-12 AM Απαιτήσεις Οι απαιτήσεις

Διαβάστε περισσότερα

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης Αντικειµενοστραφής Σχεδίαση Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Μέθοδοι Στα πρώτα στάδια της γράφουµε µόνο τα ονόµατα των µεθόδων Γράφουµε τις

Διαβάστε περισσότερα

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων περιεχόμενα παρουσίασης Προδιαγραφές Απαιτήσεων Έγγραφο Προδιαγραφών Απαιτήσεων λογισμικού (ΕΠΑΛ) Επικύρωση απαιτήσεων Ιχνηλάτηση απαιτήσεων προδιαγραφές απαιτήσεων

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Επίκαιρα Θέματα Ηλεκτρονικής Διακυβέρνησης Ονοματεπώνυμο Φοιτητή Σταμάτιος

Διαβάστε περισσότερα

Bizagi Modeler: Συνοπτικός Οδηγός

Bizagi Modeler: Συνοπτικός Οδηγός Bizagi Modeler: Συνοπτικός Οδηγός Α. Τσαλγατίδου - Γ.-Δ. Κάπος Πρόγραμμα Μεταπτυχιακών Σπουδών Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών 2017-2018 Bizagi Modeler Εμπορική εφαρμογή για μοντελοποίηση

Διαβάστε περισσότερα

Test Data Management in Practice

Test Data Management in Practice Problems, Concepts, and the Swisscom Test Data Organizer Do you have issues with your legal and compliance department because test environments contain sensitive data outsourcing partners must not see?

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου. Σχεδίαση Συστήματος

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου. Σχεδίαση Συστήματος ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Σχεδίαση Συστήματος Κατερίνα Πραματάρη Διαφορετικοί τύποι έργων ανάπτυξης λογισμικού Μικρή εφαρμογή, ανάπτυξη από την αρχή, σχετικά

Διαβάστε περισσότερα

Ενότητες στην C Τεχνική Υλοποίησης Αφαιρετικών Τύπων Δεδομένων στην C

Ενότητες στην C Τεχνική Υλοποίησης Αφαιρετικών Τύπων Δεδομένων στην C Ενότητες στην C Τεχνική Υλοποίησης Αφαιρετικών Τύπων Δεδομένων στην C Δυσκολία: Προγράμματα που λύνουν «πραγματικά προβλήματα» μπορεί να είναι μεγάλα (χιλιάδες ή εκατομμύρια γραμμές κώδικα). Κανείς δεν

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα, Οργανισμοί και Επιχειρησιακές Διαδικασίες

Πληροφοριακά Συστήματα, Οργανισμοί και Επιχειρησιακές Διαδικασίες Ενότητα 4 Πληροφοριακά Συστήματα, Οργανισμοί και Επιχειρησιακές Διαδικασίες Πληροφοριακά Συστήματα Διοίκησης Ι Διδάσκων: Νίκος Καρακαπιλίδης 4-1 Στόχοι και αντικείμενο ενότητας Περιγραφή των χαρακτηριστικών

Διαβάστε περισσότερα

ΚΑΤΑΛΟΓΟΣ ΕΚΠΑΙΔΕΥΣΗΣ

ΚΑΤΑΛΟΓΟΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΤΑΛΟΓΟΣ ΕΚΠΑΙΔΕΥΣΗΣ www.witside.com Υπηρεσίες Εκπαίδευσης QlikView Οι Υπηρεσίες Εκπαίδευσης QlikView παρέχουν κατάρτιση σχετικά με την ανάπτυξη εφαρμογών QlikView. Τα μαθήματα είναι διαθέσιμα σε μια

Διαβάστε περισσότερα

Κεφάλαιο 7: Τεχνολογία Λογισμικού

Κεφάλαιο 7: Τεχνολογία Λογισμικού Κεφάλαιο 7: Τεχνολογία Λογισμικού Η Επιστήμη των Υπολογιστών: Μια Ολοκληρωμένη Παρουσίαση (δέκατη αμερικανική έκδοση) J. Glenn Brookshear Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Διαβάστε περισσότερα

Ανάλυση Περιπτώσεων Χρήσης

Ανάλυση Περιπτώσεων Χρήσης Ανάλυση Περιπτώσεων Χρήσης ανάλυση απαιτήσεων ü Διαγράμματα Δραστηριότητας. Επιχειρησιακή μοντελοποίηση και ροή εργασιών σε περιπτώσεις χρήσης ü Μοντελοποίηση Πεδίου. Δημιουργία διαγραμμάτων κλάσεων για

Διαβάστε περισσότερα

ΑΦAΙΡΕΤΙΚΟΣ (ή ΑΦΗΡΗΜΕΝΟΣ) ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) - σύνολο δεδομένων (data, objects) - σύνολο πράξεων στα δεδομένα

ΑΦAΙΡΕΤΙΚΟΣ (ή ΑΦΗΡΗΜΕΝΟΣ) ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) - σύνολο δεδομένων (data, objects) - σύνολο πράξεων στα δεδομένα Τύπος Δεδομένων: ΑΦAΙΡΕΤΙΚΟΣ (ή ΑΦΗΡΗΜΕΝΟΣ) ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) - σύνολο δεδομένων (data, objects) - σύνολο πράξεων στα δεδομένα - Ένας ΑΤΔ είναι ένα μαθηματικό μοντέλο (οντότητα)

Διαβάστε περισσότερα

Εισαγωγή στην ανάλυση

Εισαγωγή στην ανάλυση Εισαγωγή στην ανάλυση & σχεδίαση Π.Σ. Τα προϊόντα λογισμικού έχουν (και αυτά) ένα κύκλο ζωής που ξεκινά από τη σύλληψη μιας νέας ιδέας για την ανάπτυξη ενός συγκεκριμένου προϊόντος και φθάνει μέχρι την

Διαβάστε περισσότερα

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας Ανάλυση Πληροφοριακών Συστημάτων «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας 7 12 2005 Περιεχόμενα Παρουσίασης Βασικές Έννοιες Αντικειμενοστραφούς προγραμματισμού

Διαβάστε περισσότερα

EE512: Error Control Coding

EE512: Error Control Coding EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3

Διαβάστε περισσότερα

Εισαγωγή στην. Γιάννης Σμαραγδάκης

Εισαγωγή στην. Γιάννης Σμαραγδάκης Εισαγωγή στην Τεχνολογία Λογισμικού Γιάννης Σμαραγδάκης Γιατί μελετάμε την Τεχνολογία Λογισμικού Λογισμικό υπάρχει παντού σε όλους τους τεχνικούς τομείς (π.χ. αεροδιαστημική) σε όλες τις επιστήμες στον

Διαβάστε περισσότερα

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση: Σχεδίαση Κλάσεων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.11.19 Εισαγωγή 2 ιαρκής συντήρηση και επέκταση λογισµικού Οι εταιρίες συνήθως συντηρούν, επεκτείνουν

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ» ΜΕΤΑΠΤΥΧΙΑΚΗ ΙΑΤΡΙΒΗ ΤΟΥ ΕΥΘΥΜΙΟΥ ΘΕΜΕΛΗ ΤΙΤΛΟΣ Ανάλυση

Διαβάστε περισσότερα

Λογισµικό (Software SW) Γλώσσες

Λογισµικό (Software SW) Γλώσσες Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ & ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ

ΣΧΕΔΙΑΣΗ & ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΣΧΕΔΙΑΣΗ & ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ Διδάσκουσα: Χαρίκλεια Τσαλαπάτα Πανεπιστήμιο Θεσσαλίας ΤΗΜΜΥ 420 htsalapa@inf.uth.gr (e-ce.uth.gr) 1 Εκπαιδευτικό υλικό μαθήματος Ιστοσελίδα: http://eclass.uth.gr/eclass/courses/mhx330/

Διαβάστε περισσότερα

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Διαβάστε περισσότερα

Βάσεις Δεδομένων Εισαγωγή

Βάσεις Δεδομένων Εισαγωγή Βάσεις Δεδομένων Εισαγωγή Σκοποί ενότητας Εκμάθηση Συστημάτων Διαχείρισης Βάσεων Δεδομένων Δημιουργία E-R διαγραμμάτων 2 Περιεχόμενα ενότητας Συστήματα Διαχείρισης Βάσεων Δεδομένων Διάγραμμα οντοτήτων

Διαβάστε περισσότερα

Υποδείγματα Ανάπτυξης

Υποδείγματα Ανάπτυξης Υποδείγματα Ανάπτυξης περιεχόμενα παρουσίασης Αποσύνθεση Αφαίρεση Μοντελοποίηση Η δεδομένο λειτουργική προσέγγιση Η αντικειμενοστρεφής προσέγγιση αποσύνθεση Όταν επιχειρούμε τη λύση ενός προβλήματος, πρώτα

Διαβάστε περισσότερα

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η Υλοποίηση στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Πρωτοτυποποίηση Προγραµµατισµός υλοποίησης Ανάπτυξη συστήµατος Μοναδιαίος έλεγχος Ολοκλήρωση 2 3 Η υλοποίηση

Διαβάστε περισσότερα

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

Διαβάστε περισσότερα

Διαχείριση Πληροφοριακών Συστημάτων

Διαχείριση Πληροφοριακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 6: Αφαιρετικότητα, Βιβλιοθήκες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφαιρετικότητα -Βιβλιοθήκες (packages) Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός

Διαβάστε περισσότερα

Προδιαγραφές Απαιτήσεων Γιάννης Σμαραγδάκης

Προδιαγραφές Απαιτήσεων Γιάννης Σμαραγδάκης Προδιαγραφές Απαιτήσεων Γιάννης Σμαραγδάκης Τα κυριότερα παραδοτέα/προϊόντα μιας διεργασίας ανάπτυξης λογισμικού Άρθρωση του προβλήματος, κατανόηση (προδιαγραφές απαιτήσεων) α ) Ποιο πρόβλημα λύνουμε;

Διαβάστε περισσότερα

Αρχές Προγραμματισμού Υπολογιστών

Αρχές Προγραμματισμού Υπολογιστών Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,

Διαβάστε περισσότερα

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού Ιστορικό Ημερομηνία Έκδοση Περιγραφή Συγγραφέας Σελ. 2 Πίνακας Περιεχομένων 1. Εισαγωγή xx

Διαβάστε περισσότερα

Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας

Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας Σωτηρία Δριβάλου Εθνικό Μετσόβιο Πολυτεχνείο Μονάδα Εργονομίας Συστήματα διανομής ηλεκτρικής ενέργειας

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης

Διαβάστε περισσότερα

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα ΕΙΣΑΓΩΓΗ ΣΤΗ UML UML Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις ιαγράµµατα Παραδείγματα Ορισμός του μοντέλου Αποτελεί µια αφηρηµένη περιγραφή ενός Φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την

Διαβάστε περισσότερα

Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer

Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer Σελίδα 1 Copyright Copyright 2007 Atlantis Group. Ιστορικό εγγράφου Έκδοση Εγχειριδίου: 1.0 Ημερομηνία δημιουργίας: 26/11/2007 Σελίδα 2 ΠΕΡΙΕΧΟΜΕΝΑ 1 Εισαγωγή... 4 2

Διαβάστε περισσότερα

Αρχιτεκτονικές Συστημάτων

Αρχιτεκτονικές Συστημάτων ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Αρχιτεκτονικές Συστημάτων Κατερίνα Πραματάρη Αρχιτεκτονικές Συστημάτων Σχεδίαση και Αρχιτεκτονική Συστήματος Αρχιτεκτονική Πελάτη-Εξυπηρετητή

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 18: Διαδικασία Σχεδίασης Ψηφιακών Συστηµάτων - Επανάληψη ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

Διαβάστε περισσότερα

ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT)

ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) Τύπος Δεδομένων: ΑΦAΙΡΕΤΙΚΟΣ (ή ΑΦΗΡΗΜΕΝΟΣ) ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) - σύνολο δεδομένων (data, objects) - σύνολο πράξεων στα δεδομένα - Ένας ΑΤΔ είναι ένα μαθηματικό μοντέλο (οντότητα)

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Σχεδίαση Περιβάλλοντος εργασίας ενός Οργανισμού και Σχεδίαση Χάρτη διαδικασιών ενός Οργανισμού και

Σχεδίαση Περιβάλλοντος εργασίας ενός Οργανισμού και Σχεδίαση Χάρτη διαδικασιών ενός Οργανισμού και ΜΕΘΟΔΟΛΟΓΙΕΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΔΙΑΔΙΚΑΣΙΩΝ ΔΗΜΟΣΙΩΝ ΥΠΗΡΕΣΙΩΝ Σχεδίαση Περιβάλλοντος εργασίας ενός Οργανισμού και Σχεδίαση Χάρτη διαδικασιών ενός Οργανισμού και ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ

Διαβάστε περισσότερα

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications: UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS 150 Fall 2001 Prof. Subramanian Midterm II 1) You are implementing an 4:1 Multiplexer that has the following specifications:

Διαβάστε περισσότερα

Instruction Execution Times

Instruction Execution Times 1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables

Διαβάστε περισσότερα

Πολιτικές Ασφάλειας Πληροφοριακών Συστημάτων. Σωκράτης Κ. Κάτσικας Τμήμα Μηχ/κών Πληροφοριακών & Επικοινωνιακών Συστημάτων Πανεπιστήμιο Αιγαίου

Πολιτικές Ασφάλειας Πληροφοριακών Συστημάτων. Σωκράτης Κ. Κάτσικας Τμήμα Μηχ/κών Πληροφοριακών & Επικοινωνιακών Συστημάτων Πανεπιστήμιο Αιγαίου Πολιτικές Ασφάλειας Πληροφοριακών Συστημάτων Σωκράτης Κ. Κάτσικας Τμήμα Μηχ/κών Πληροφοριακών & Επικοινωνιακών Συστημάτων Πανεπιστήμιο Αιγαίου Στόχοι της παρουσίασης H παρουσίαση αυτή στοχεύει στην απάντηση

Διαβάστε περισσότερα

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 8η - Εικονικοί Κόσμοι και Πολιτιστικό Περιεχόμενο

Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 8η - Εικονικοί Κόσμοι και Πολιτιστικό Περιεχόμενο Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 8η - Εικονικοί Κόσμοι και Πολιτιστικό Περιεχόμενο Ιόνιο Πανεπιστήμιο, Τμήμα Πληροφορικής, 2015 Κωνσταντίνος Οικονόμου, Επίκουρος Καθηγητής

Διαβάστε περισσότερα

Assalamu `alaikum wr. wb.

Assalamu `alaikum wr. wb. LUMP SUM Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. Assalamu `alaikum wr. wb. LUMP SUM Wassalamu alaikum wr. wb. LUMP SUM Lump sum lump sum lump sum. lump sum fixed price lump sum lump

Διαβάστε περισσότερα

C.S. 430 Assignment 6, Sample Solutions

C.S. 430 Assignment 6, Sample Solutions C.S. 430 Assignment 6, Sample Solutions Paul Liu November 15, 2007 Note that these are sample solutions only; in many cases there were many acceptable answers. 1 Reynolds Problem 10.1 1.1 Normal-order

Διαβάστε περισσότερα