SlideShare a Scribd company logo
Software Engineering ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ - 4 1
ΠρωτοτυποποίησηΛογισμικού Ένα software prototype μπορεί να αναπτυχθεί από ένα περίγραμμα προδιαγραφής - Πρωτοτυποποίηση στην διαδικασία ανάπτυξης λογισμικού - Τεχνικές πρωτοτυποποίησης - Πρωτοτυποποίηση GUI 2
Πλεονεκτήματα και χρησιμότητα Πρωτοτυποποίησης Είναι δύσκολο οι χρήστες ενός συστήματος να φανταστούν πώς χρησιμοποιείται το σύστημα από μια προδιαγραφή απαιτήσεων μόνο Η πρωτοτυποποίηση software είναι αρκετά διαφορετική από την πρωτοτυποποίηση του hardware Τα πλεονεκτήματα ανάπτυξης ενός πρωτοτύπου κατά τα αρχικά στάδια ανάπτυξης λογισμικού είναι: Μπορεί να αναγνωρίζονται οι παρανοήσεις μεταξύ των σχεδιαστών λογισμικού και των χρηστών καθώς παρουσιάζονται οι λειτουργίες του συστήματος. Μπορεί να εντοπιστούν οι ελλείψεις στις προσφερόμενες λειτουργίες. Μπορεί να αναγνωρίζονται και να διορθώνονται οι δύσκολες στη χρήση ή οι συγκεχυμένες υπηρεσίες των χρηστών. Καθώς αναπτύσσεται το πρωτότυπο, το προσωπικό που ασχολείται με την ανάπτυξη του λογισμικού, μπορεί να βρει ελλιπείς ή και ασύμβατες απαιτήσεις. Ένα σύστημα που δουλεύει, παρότι περιορισμένο, είναι διαθέσιμο να δείχνει γρήγορα στη διοίκηση το πραγματοποιήσιμο και τη χρησιμότητα της εφαρμογής. Το πρωτότυπο εξυπηρετεί και ως βάση για συγγραφή της προδιαγραφής για ένα ποιοτικό σύστημα παραγωγής. Μπορεί να χρησιμοποιηθεί στην εκπαίδευση χρηστών πριν την παράδοση του συστήματος παραγωγής. Μπορεί να χρησιμοποιηθεί κατά τη διάρκεια ελέγχου για να «τρέξει» ‘back-to-back’ tests.  3
Στάδια ανάπτυξης Πρωτοτύπου 1	Καθορισμός σκοπών πρωτοτύπου. 2	Επιλογή των λειτουργιών που θα συμπεριληφθούν στο πρωτότυπο και λήψη αποφάσεων σχετικά με το ποιες μη λειτουργικές απαιτήσεις πρέπει να πρωτοτυποποιηθούν. Σε αυτό το στάδιο γίνεται και η εκτίμηση κόστους καθώς ,η επιλογή τεχνολογίας καθώς και το αν το πρωτότυπο θα είναι throw-awayείτε evolutionary prototype (reusable). 3	Ανάπτυξη πρωτοτύπου. 4	Αξιολόγηση του πρωτοτύπου. Το μεγαλύτερο τεχνικό πρόβλημα που σχετίζεται με την πρωτοτυποποίηση περιστρέφεται γύρω από την ανάγκη γρήγορης ανάπτυξης λογισμικού - $$$ Η αποτελεσματική πρωτοτυποποίηση αυξάνει την ποιότητα λογισμικού και ως εκ τούτου μπορεί να δώσει σ’ αυτούς που αναπτύσσουν λογισμικό ένα πλεονέκτημα απέναντι στους ανταγωνιστές 4
Μοντέλο διαδικασίας με Πρωτοτύποποίηση(1) Είναι τύπου throw-away που αρχική του λειτουργία είναι να ξεκαθαρίσει τις απαιτήσεις και να παρέχει επιπρόσθετη πληροφορία στους υπεύθυνους του έργου ώστε να υπολογίζουν τους κινδύνους της διαδικασίας. Μετά την αξιολόγηση, το πρωτότυπο απορρίπτεται και δεν χρησιμοποιείται ως βάση για περαιτέρω ανάπτυξη συστήματος. Το μοντέλο διαδικασίας στο σχήμα 5.2 υποθέτει ότι το πρωτότυπο αναπτύσσεται από ένα περίγραμμα προδιαγραφής συστήματος, παραδίδεται για πειραματισμό και τροποποιείται μέχρι ο πελάτης να είναι ικανοποιημένος από τη λειτουργικότητά του. 5
Μοντέλο διαδικασίας με Πρωτοτύποποίηση(2) Προβλήματα αν αντί να παραχθεί μια προδιαγραφή από το πρωτότυπο, προταθεί να «κάνουμε κάτι όπως αυτό» –δηλ. το  πρωτότυπο-  Σημαντικά χαρακτηριστικά του συστήματος μπορεί να έχουν μείνει εσκεμμένα έξω από το πρωτότυπο για να απλοποιήσουν τη γρήγορη ανάπτυξη Μια υλοποίηση είναι μια ακατάλληλη βάση για συμβόλαιο μεταξύ πελάτη και εργολήπτη. Το επακόλουθο συμβόλαιο μπορεί πιθανότατα να μην έχει νομική βάση. Μη λειτουργικές απαιτήσεις όπως αυτές που αφορούν στην αξιοπιστία, στην ακεραιότητα και στην ασφάλεια δεν μπορούν να εκφραστούν κατάλληλα σε μια υλοποίηση πρωτοτύπου. Ο χρήστης μπορεί να μη χρησιμοποιεί το πρωτότυπο με τον ίδιο τρόπο όπως ένα εν ενεργεία σύστημα. Αυτό μπορεί να είναι εξαιτίας της έλλειψης εξοικείωσης με το σύστημα ή εξαιτίας κάποιων χαρακτηριστικών του πρωτοτύπου.  Όταν πρόκειται να αναπτυχθούν μεγάλα και μεγάλης διάρκειας ζωής συστήματα, το πρωτότυπο πρέπει να υλοποιείται. 6
Μοντέλο διαδικασίας με Πρωτοτύποποίηση(3) Εναλλακτικό μοντέλο: παράδοση συστήματος με τμηματικό τρόπο. Η τμηματική ανάπτυξη αναιρεί τα προβλήματα των συνεχών αλλαγών που χαρακτηρίζουν το εξερευνητικό προγραμματισμό Η τμηματική ανάπτυξη είναι πιο διαχειρίσιμη από το εξερευνητικό προγραμματισμό  7
Τεχνικές πρωτοτυποποίησης 1	Εκτελέσιμες γλώσσες προδιαγραφώνZ specifications language http://staff.washington.edu/jon/z/machine.html 2	Γλώσσες πολύ υψηλού επιπέδου 3	Υψηλού επιπέδου γλώσσες προσανατολισμένες στην εφαρμογή (γλώσσες τέταρτης γενιάς) 4	Σύνθεση με επαναχρησιμοποιούμενα συστατικά Από τα παραπάνω το 4 χρησιμοποιήθηκε και εξελίχθηκε περισσότερο,ακολουθώντας τεχνικές evolutionary prototype (reusable)  8
Πρωτοτυποποίηση GUI(1) Μεγάλο μέρος πολλών συστημάτων το GUI (user friendly) Μείωση του χρόνου ανάπτυξης ενός prototype  με χρήση κάποιου R.A.D. (Rapid Application Development) Java IDEs –NetBeans, Eclipse…- .Net, Borland C++Builder, Delphi  Αν ένα prototype αντιπροσωπεύει περίπου 10% στο κόστος του συνολικού έργου,δεν μπορεί να αγνοηθεί και μετά την έγκρισητου, να πεταχτεί (throw-away)για αυτό και διαλέγεται κάποιο IDE που υποστηρίζει τη γλώσσα στην οποία θα γίνει η ανάπτυξη 9
Πρωτοτυποποίηση GUI(2) CASE tools (Computer Aided Software Engineering) Forward engineering: Design  Code Reverse engineering: Code  Design 10

More Related Content

Viewers also liked

Nordic Walking As a Innovation Agent In Greek Tourism
Nordic Walking As a Innovation Agent In Greek TourismNordic Walking As a Innovation Agent In Greek Tourism
Nordic Walking As a Innovation Agent In Greek TourismVaios Kyriakis
 
Aloe vera hellas μια καινοτόμος ιδέα με προοπτικές
Aloe vera hellas μια καινοτόμος  ιδέα με προοπτικέςAloe vera hellas μια καινοτόμος  ιδέα με προοπτικές
Aloe vera hellas μια καινοτόμος ιδέα με προοπτικέςMaria Kyprianidou
 
παρουσίαση Business planing
παρουσίαση Business planingπαρουσίαση Business planing
παρουσίαση Business planing
Apostolos Apostolakis
 
Greek Tourism: Facts & Figures, 2013 edition
Greek Tourism: Facts & Figures, 2013 editionGreek Tourism: Facts & Figures, 2013 edition
Greek Tourism: Facts & Figures, 2013 editionSETE
 
Geometry formula sheet
Geometry formula sheetGeometry formula sheet
Geometry formula sheet
sidraqasim99
 
ΣΟΑΠ Κέντρου Αθήνας
ΣΟΑΠ Κέντρου ΑθήναςΣΟΑΠ Κέντρου Αθήνας
Algebra formulae
Algebra formulaeAlgebra formulae
Algebra formulae
Tamizhmuhil
 
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in India
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in IndiaCivil Engineering – Oldest Yet A Highly Sought After Career Choice in India
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in India
Ankur Tandon
 
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
Aaron Gustafson
 

Viewers also liked (10)

Nordic Walking As a Innovation Agent In Greek Tourism
Nordic Walking As a Innovation Agent In Greek TourismNordic Walking As a Innovation Agent In Greek Tourism
Nordic Walking As a Innovation Agent In Greek Tourism
 
Aloe vera hellas μια καινοτόμος ιδέα με προοπτικές
Aloe vera hellas μια καινοτόμος  ιδέα με προοπτικέςAloe vera hellas μια καινοτόμος  ιδέα με προοπτικές
Aloe vera hellas μια καινοτόμος ιδέα με προοπτικές
 
παρουσίαση Business planing
παρουσίαση Business planingπαρουσίαση Business planing
παρουσίαση Business planing
 
Business Plan
Business PlanBusiness Plan
Business Plan
 
Greek Tourism: Facts & Figures, 2013 edition
Greek Tourism: Facts & Figures, 2013 editionGreek Tourism: Facts & Figures, 2013 edition
Greek Tourism: Facts & Figures, 2013 edition
 
Geometry formula sheet
Geometry formula sheetGeometry formula sheet
Geometry formula sheet
 
ΣΟΑΠ Κέντρου Αθήνας
ΣΟΑΠ Κέντρου ΑθήναςΣΟΑΠ Κέντρου Αθήνας
ΣΟΑΠ Κέντρου Αθήνας
 
Algebra formulae
Algebra formulaeAlgebra formulae
Algebra formulae
 
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in India
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in IndiaCivil Engineering – Oldest Yet A Highly Sought After Career Choice in India
Civil Engineering – Oldest Yet A Highly Sought After Career Choice in India
 
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
 

Similar to SE4

Presentation 6
Presentation 6Presentation 6
Presentation 6
Annaa77
 
Presentation 6
Presentation 6Presentation 6
Presentation 6
mariakarousiou
 
Presentation 6 (1)
Presentation 6 (1)Presentation 6 (1)
Presentation 6 (1)
Christianamou
 
Presentation 6
Presentation 6Presentation 6
Presentation 6
Maria Loizou
 
Presentation 2
Presentation 2Presentation 2
Presentation 2
Nikos Koulouridis
 
Pliroforiki
PliroforikiPliroforiki
Pliroforiki
papettas
 
Πληροφορική
ΠληροφορικήΠληροφορική
Πληροφορική
Gymnasio Kokkinochorion
 
A 3 1 Operating System
A 3 1 Operating SystemA 3 1 Operating System
A 3 1 Operating System
papettas
 
Εφαρμογές πληροφορικής 2ο κεφ
Εφαρμογές πληροφορικής 2ο κεφΕφαρμογές πληροφορικής 2ο κεφ
Εφαρμογές πληροφορικής 2ο κεφ
ileria
 
Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1Stathis Gourzis
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
ISSEL
 
Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...
ISSEL
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
ISSEL
 
11 Multimedia Design Ii
11 Multimedia Design Ii11 Multimedia Design Ii
11 Multimedia Design Iieretrianews
 
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
JoSk9
 
Τεχνολογική επισκόπηση
Τεχνολογική επισκόπησηΤεχνολογική επισκόπηση
Τεχνολογική επισκόπησηStesia Papavasileiou
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
ISSEL
 

Similar to SE4 (20)

Presentation 6
Presentation 6Presentation 6
Presentation 6
 
Presentation 6
Presentation 6Presentation 6
Presentation 6
 
Presentation 6 (1)
Presentation 6 (1)Presentation 6 (1)
Presentation 6 (1)
 
Presentation 6
Presentation 6Presentation 6
Presentation 6
 
Presentation 6 (1)
Presentation 6 (1)Presentation 6 (1)
Presentation 6 (1)
 
Presentation 2
Presentation 2Presentation 2
Presentation 2
 
PhaST_flyer_01
PhaST_flyer_01PhaST_flyer_01
PhaST_flyer_01
 
Pliroforiki
PliroforikiPliroforiki
Pliroforiki
 
Πληροφορική
ΠληροφορικήΠληροφορική
Πληροφορική
 
A 3 1 Operating System
A 3 1 Operating SystemA 3 1 Operating System
A 3 1 Operating System
 
Εφαρμογές πληροφορικής 2ο κεφ
Εφαρμογές πληροφορικής 2ο κεφΕφαρμογές πληροφορικής 2ο κεφ
Εφαρμογές πληροφορικής 2ο κεφ
 
Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
 
Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
 
Aepp-6.4-6.7-tsiotakis
Aepp-6.4-6.7-tsiotakisAepp-6.4-6.7-tsiotakis
Aepp-6.4-6.7-tsiotakis
 
11 Multimedia Design Ii
11 Multimedia Design Ii11 Multimedia Design Ii
11 Multimedia Design Ii
 
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdfΣύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισηςΠληροφοριακών Συστημάτων.pdf
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων.pdf
 
Τεχνολογική επισκόπηση
Τεχνολογική επισκόπησηΤεχνολογική επισκόπηση
Τεχνολογική επισκόπηση
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
 

More from Yanis Manaras

Webclass admin 4
Webclass admin 4Webclass admin 4
Webclass admin 4
Yanis Manaras
 
What iswebclass 4
What iswebclass 4What iswebclass 4
What iswebclass 4
Yanis Manaras
 
Webclass teacher 4
Webclass teacher 4Webclass teacher 4
Webclass teacher 4
Yanis Manaras
 
Webclass student 4
Webclass student 4Webclass student 4
Webclass student 4
Yanis Manaras
 
Webclass Student
Webclass StudentWebclass Student
Webclass Student
Yanis Manaras
 

More from Yanis Manaras (20)

Webclass admin 4
Webclass admin 4Webclass admin 4
Webclass admin 4
 
What iswebclass 4
What iswebclass 4What iswebclass 4
What iswebclass 4
 
Webclass teacher 4
Webclass teacher 4Webclass teacher 4
Webclass teacher 4
 
Webclass student 4
Webclass student 4Webclass student 4
Webclass student 4
 
Webclass Student
Webclass StudentWebclass Student
Webclass Student
 
Ads 1 fibonacci
Ads 1 fibonacciAds 1 fibonacci
Ads 1 fibonacci
 
Ads 1 alt_e
Ads 1 alt_eAds 1 alt_e
Ads 1 alt_e
 
Ads 1 common
Ads 1 commonAds 1 common
Ads 1 common
 
HTML and Javascript
HTML and JavascriptHTML and Javascript
HTML and Javascript
 
Signals
SignalsSignals
Signals
 
ΛΣ2_IPC
ΛΣ2_IPCΛΣ2_IPC
ΛΣ2_IPC
 
ΛΣ1-002
ΛΣ1-002ΛΣ1-002
ΛΣ1-002
 
Processes
ProcessesProcesses
Processes
 
ΛΣ1-001
ΛΣ1-001ΛΣ1-001
ΛΣ1-001
 
SE5
SE5SE5
SE5
 
SQL7v2
SQL7v2SQL7v2
SQL7v2
 
SQL9v0
SQL9v0SQL9v0
SQL9v0
 
SQL8v1
SQL8v1SQL8v1
SQL8v1
 
ΛΣ1FILES1v0
ΛΣ1FILES1v0ΛΣ1FILES1v0
ΛΣ1FILES1v0
 
ΛΣ1FILES2v0
ΛΣ1FILES2v0ΛΣ1FILES2v0
ΛΣ1FILES2v0
 

SE4

  • 1. Software Engineering ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ - 4 1
  • 2. ΠρωτοτυποποίησηΛογισμικού Ένα software prototype μπορεί να αναπτυχθεί από ένα περίγραμμα προδιαγραφής - Πρωτοτυποποίηση στην διαδικασία ανάπτυξης λογισμικού - Τεχνικές πρωτοτυποποίησης - Πρωτοτυποποίηση GUI 2
  • 3. Πλεονεκτήματα και χρησιμότητα Πρωτοτυποποίησης Είναι δύσκολο οι χρήστες ενός συστήματος να φανταστούν πώς χρησιμοποιείται το σύστημα από μια προδιαγραφή απαιτήσεων μόνο Η πρωτοτυποποίηση software είναι αρκετά διαφορετική από την πρωτοτυποποίηση του hardware Τα πλεονεκτήματα ανάπτυξης ενός πρωτοτύπου κατά τα αρχικά στάδια ανάπτυξης λογισμικού είναι: Μπορεί να αναγνωρίζονται οι παρανοήσεις μεταξύ των σχεδιαστών λογισμικού και των χρηστών καθώς παρουσιάζονται οι λειτουργίες του συστήματος. Μπορεί να εντοπιστούν οι ελλείψεις στις προσφερόμενες λειτουργίες. Μπορεί να αναγνωρίζονται και να διορθώνονται οι δύσκολες στη χρήση ή οι συγκεχυμένες υπηρεσίες των χρηστών. Καθώς αναπτύσσεται το πρωτότυπο, το προσωπικό που ασχολείται με την ανάπτυξη του λογισμικού, μπορεί να βρει ελλιπείς ή και ασύμβατες απαιτήσεις. Ένα σύστημα που δουλεύει, παρότι περιορισμένο, είναι διαθέσιμο να δείχνει γρήγορα στη διοίκηση το πραγματοποιήσιμο και τη χρησιμότητα της εφαρμογής. Το πρωτότυπο εξυπηρετεί και ως βάση για συγγραφή της προδιαγραφής για ένα ποιοτικό σύστημα παραγωγής. Μπορεί να χρησιμοποιηθεί στην εκπαίδευση χρηστών πριν την παράδοση του συστήματος παραγωγής. Μπορεί να χρησιμοποιηθεί κατά τη διάρκεια ελέγχου για να «τρέξει» ‘back-to-back’ tests. 3
  • 4. Στάδια ανάπτυξης Πρωτοτύπου 1 Καθορισμός σκοπών πρωτοτύπου. 2 Επιλογή των λειτουργιών που θα συμπεριληφθούν στο πρωτότυπο και λήψη αποφάσεων σχετικά με το ποιες μη λειτουργικές απαιτήσεις πρέπει να πρωτοτυποποιηθούν. Σε αυτό το στάδιο γίνεται και η εκτίμηση κόστους καθώς ,η επιλογή τεχνολογίας καθώς και το αν το πρωτότυπο θα είναι throw-awayείτε evolutionary prototype (reusable). 3 Ανάπτυξη πρωτοτύπου. 4 Αξιολόγηση του πρωτοτύπου. Το μεγαλύτερο τεχνικό πρόβλημα που σχετίζεται με την πρωτοτυποποίηση περιστρέφεται γύρω από την ανάγκη γρήγορης ανάπτυξης λογισμικού - $$$ Η αποτελεσματική πρωτοτυποποίηση αυξάνει την ποιότητα λογισμικού και ως εκ τούτου μπορεί να δώσει σ’ αυτούς που αναπτύσσουν λογισμικό ένα πλεονέκτημα απέναντι στους ανταγωνιστές 4
  • 5. Μοντέλο διαδικασίας με Πρωτοτύποποίηση(1) Είναι τύπου throw-away που αρχική του λειτουργία είναι να ξεκαθαρίσει τις απαιτήσεις και να παρέχει επιπρόσθετη πληροφορία στους υπεύθυνους του έργου ώστε να υπολογίζουν τους κινδύνους της διαδικασίας. Μετά την αξιολόγηση, το πρωτότυπο απορρίπτεται και δεν χρησιμοποιείται ως βάση για περαιτέρω ανάπτυξη συστήματος. Το μοντέλο διαδικασίας στο σχήμα 5.2 υποθέτει ότι το πρωτότυπο αναπτύσσεται από ένα περίγραμμα προδιαγραφής συστήματος, παραδίδεται για πειραματισμό και τροποποιείται μέχρι ο πελάτης να είναι ικανοποιημένος από τη λειτουργικότητά του. 5
  • 6. Μοντέλο διαδικασίας με Πρωτοτύποποίηση(2) Προβλήματα αν αντί να παραχθεί μια προδιαγραφή από το πρωτότυπο, προταθεί να «κάνουμε κάτι όπως αυτό» –δηλ. το πρωτότυπο- Σημαντικά χαρακτηριστικά του συστήματος μπορεί να έχουν μείνει εσκεμμένα έξω από το πρωτότυπο για να απλοποιήσουν τη γρήγορη ανάπτυξη Μια υλοποίηση είναι μια ακατάλληλη βάση για συμβόλαιο μεταξύ πελάτη και εργολήπτη. Το επακόλουθο συμβόλαιο μπορεί πιθανότατα να μην έχει νομική βάση. Μη λειτουργικές απαιτήσεις όπως αυτές που αφορούν στην αξιοπιστία, στην ακεραιότητα και στην ασφάλεια δεν μπορούν να εκφραστούν κατάλληλα σε μια υλοποίηση πρωτοτύπου. Ο χρήστης μπορεί να μη χρησιμοποιεί το πρωτότυπο με τον ίδιο τρόπο όπως ένα εν ενεργεία σύστημα. Αυτό μπορεί να είναι εξαιτίας της έλλειψης εξοικείωσης με το σύστημα ή εξαιτίας κάποιων χαρακτηριστικών του πρωτοτύπου. Όταν πρόκειται να αναπτυχθούν μεγάλα και μεγάλης διάρκειας ζωής συστήματα, το πρωτότυπο πρέπει να υλοποιείται. 6
  • 7. Μοντέλο διαδικασίας με Πρωτοτύποποίηση(3) Εναλλακτικό μοντέλο: παράδοση συστήματος με τμηματικό τρόπο. Η τμηματική ανάπτυξη αναιρεί τα προβλήματα των συνεχών αλλαγών που χαρακτηρίζουν το εξερευνητικό προγραμματισμό Η τμηματική ανάπτυξη είναι πιο διαχειρίσιμη από το εξερευνητικό προγραμματισμό 7
  • 8. Τεχνικές πρωτοτυποποίησης 1 Εκτελέσιμες γλώσσες προδιαγραφώνZ specifications language http://staff.washington.edu/jon/z/machine.html 2 Γλώσσες πολύ υψηλού επιπέδου 3 Υψηλού επιπέδου γλώσσες προσανατολισμένες στην εφαρμογή (γλώσσες τέταρτης γενιάς) 4 Σύνθεση με επαναχρησιμοποιούμενα συστατικά Από τα παραπάνω το 4 χρησιμοποιήθηκε και εξελίχθηκε περισσότερο,ακολουθώντας τεχνικές evolutionary prototype (reusable) 8
  • 9. Πρωτοτυποποίηση GUI(1) Μεγάλο μέρος πολλών συστημάτων το GUI (user friendly) Μείωση του χρόνου ανάπτυξης ενός prototype με χρήση κάποιου R.A.D. (Rapid Application Development) Java IDEs –NetBeans, Eclipse…- .Net, Borland C++Builder, Delphi Αν ένα prototype αντιπροσωπεύει περίπου 10% στο κόστος του συνολικού έργου,δεν μπορεί να αγνοηθεί και μετά την έγκρισητου, να πεταχτεί (throw-away)για αυτό και διαλέγεται κάποιο IDE που υποστηρίζει τη γλώσσα στην οποία θα γίνει η ανάπτυξη 9
  • 10. Πρωτοτυποποίηση GUI(2) CASE tools (Computer Aided Software Engineering) Forward engineering: Design  Code Reverse engineering: Code  Design 10