Μηχανικός λογισμικού: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Νέα σελίδα: Ο επαγγελματίας ο οποίος ασχολείται βιοποριστικά με προγραμματισμό υπολογιστών καλείται προγ...
 
δημιουργία
Γραμμή 1:
Ο επαγγελματίας ο οποίος ασχολείται βιοποριστικά με [[Προγραμματισμός|προγραμματισμό]] υπολογιστών καλείται προγραμματιστής και η επαγγελματική του δραστηριότητα ανάπτυξη λογισμικού (αγγλ.: «software development»), ενώ όταν εφαρμόζει συστηματικές και τυποποιημένες αρχές της μηχανικής λογισμικού, συνήθως ως επόπτης μίας ομάδας προγραμματιστών, καλείται μηχανικός λογισμικού. Κατά κανόνα, όχι όμως απαραιτήτως, ένας κατ' επάγγελμα προγραμματιστής υπολογιστών έχει σπουδάσει σε κάποιον βαθμό την επιστήμη της πληροφορικής η οποία πραγματεύεται τη σχεδίαση, ανάλυση και κατασκευή αποδοτικών υπολογιστικών συστημάτων, του υλικού και του λογισμικού τους. Με τον προγραμματισμό μπορεί να ασχολούνται άτομα και μη επαγγελματικά, π.χ. ενθουσιώδεις χομπίστες και χάκερ, ή επιστήμονες και μηχανικοί οι οποίοι τον αξιοποιούν ως εργαλείο στη δουλειά τους.
 
Στο σημείο αυτό αξίζει να σημειωθεί ότι τα τελευταία έτη έχουν δημιουργηθεί και ρητά κατευθύνσεις Μηχανικής Λογισμικού (όπως και Μηχανικών Δικτύων και Μηχανικών Υπολογιστών) στα τμήματα Πληροφορικής της τριτοβάθμιας εκπαίδευσης (ΤΕΙ) ενώ παλιότερα ειδικά στα Πανεπιστήμια, όπου επιτρέπονταν οι κατευθύνσεις υπήρχαν παράγωγες, σύνθετες ή παρόμοιες ονομασίες των ενδεικτικά τριων εφαρμοσμένων κατευθύνσεων της Πληροφορικής: πχ
* κατεύθυνση Αρχιτεκτονικής Υπολογιστών και Συστημάτων (δηλαδή Μηχ.Υπολογιστών),
* κατεύθυνση Πληροφοριακών Συστημάτων και Εφαρμογών (δηλ Μηχ.Λογισμικού),
* κατεύθυνση Τηλεπικοινωνιών και Δικτύων (δηλ Μηχ.Δικτύων),
* κατεύθυνση Τεχνητής Νοημοσύνης και Εφαρμογών
* κ.α.
 
Επομένως η αναφορά στον όρο "Μηχανικός Λογισμικού" φέρει ακαδημαϊκή ρίζα ενώ σύμφωνα με την αγγλική το συντριπτικό ποσοστό των όσων επικαλούνται τον τίτλο είναι πτυχιούχοι Πληροφορικής τριτοβάθμιων ιδρυμάτων ([[Πληροφορική|Computer Science, Informatics]]). Επιπρόσθετα σε πολλές χώρες (πχ Καναδάς) ο τίτλος πρέπει να συνοδεύεται από ειδική άδεια η οποία εκδίδεται από το Κράτος. Ως εκ τούτου ο όρος Μηχανικός Λογισμικός χρησιμοποιείται από πτυχίουχους[[Κατάλογος ελληνικών τμημάτων ανώτατης εκπαίδευσης|πτυχιούχους (ΤΕΙ/Πανεπιστήμια) Πληροφορικής]] της εν λόγω κατεύθυνσης ενώ ο όρος προγραμματιστής δεν φαίνεται να φέρει περιορισμό.
κατεύθυνση Αρχιτεκτονικής Υπολογιστών και Συστημάτων (δηλαδή Μηχ.Υπολογιστών),
κατεύθυνση Πληροφοριακών Συστημάτων και Εφαρμογών (δηλ Μηχ.Λογισμικού),
κατεύθυνση Τηλεπικοινωνιών και Δικτύων (δηλ Μηχ.Δικτύων),
κατεύθυνση Τεχνητής Νοημοσύνης και Εφαρμογών
κ.α.
 
Επομένως η αναφορά στον όρο "Μηχανικός Λογισμικού" φέρει ακαδημαϊκή ρίζα ενώ σύμφωνα με την αγγλική το συντριπτικό ποσοστό των όσων επικαλούνται τον τίτλο είναι πτυχιούχοι Πληροφορικής τριτοβάθμιων ιδρυμάτων (Computer Science). Επιπρόσθετα σε πολλές χώρες (πχ Καναδάς) ο τίτλος πρέπει να συνοδεύεται από ειδική άδεια η οποία εκδίδεται από το Κράτος. Ως εκ τούτου ο όρος Μηχανικός Λογισμικός χρησιμοποιείται από πτυχίουχους (ΤΕΙ/Πανεπιστήμια) Πληροφορικής της εν λόγω κατεύθυνσης ενώ ο όρος προγραμματιστής δεν φαίνεται να φέρει περιορισμό.
 
Σημαντική επίσης είναι και η διαφοροποίηση του Λογισμικού από το Πρόγραμμα με το δεύτερο να είναι υποσύνολο του πρώτου καθώς υπολείπεται στην Τεκμηρίωση (documentation) (βλέπε αγγλική τον όρο software 'Software' from Collins Concise English Dictionary". Wordreference.com. Princeton, NJ: Princeton University. Retrieved 2007-08-19.).
 
Εξίσου σημαντική για τον προσδιορισμό του όρου "Μηχανικός Λογισμικού" είναι και η κείμενη νομοθεσία των πτυχιούχων Πληροφορικής Πανεπιστήμιων και ΤΕΙ (βλ. ΠΔ.183/2008 και ΠΔ.44/2009) στην οποία όλες οι φάσεις ανάπτυξης του Λογισμικού αλλά και των Συστημάτων Υπολογιστών, Δικτύων κ.α αντιστοίχίζεται ρητά με τις ακαδημαϊκές γνώσεις τις οποίες αυτοί έχουν λάβει κατά την διάρκεια της φοίτησης τους. Σε κάθε περίπτωση μια τέτοιου είδους κατωχύρωση, όσον αφορά την Πληροφορική, δεν υφίσταται για άλλουςμη πτυχίουχους τριτοβάθμιων ιδρυμάτων Πληροφορικής.
 
Μερικές (ενδεικτικά) από τις τυπικές εργασίες που ασκεί ένας μηχανικός λογισμικού είναι οι εξής:
* Ανάλυση (ως αναλυτής / software analyst)
* Σχεδίαση (ως σχεδιαστής / software designer)
* Υλοποίηση (ως προγραμματιστής / programmer)
* Έλεγχος - Εγκυροποίηση (ως ελεγκτής / tester)
* ΠιστοποιήσηΠιστοποίηση (ως quality assurance specialits)
* Τεκμηρίωση (ως τεχνικός συγγραφέας / software writer)
* Με τον όρο developer συνηθίζεται να αποκαλείται ο μηχανικός λογισμικού που ασκεί ανάλυση, σχεδίαση και υλοποίηση ταυτόχρονα.
 
Από την παραπάνω κατηγοροποίηση φαίνεται ότι ο παρεμφερής όρος "προγραμματιστής" αναφέρεται περιοριστικά σε μια από τις εργασίες ενός μηχανικού λογισμικού. Με αυτόν τον τρόπο καταδεικνύεται ενώ ο μηχανικός λογισμικού μπορεί να είναι (και) προγραμματιστής το αντίθετο δεν ισχύει πάντα. Η διακριση αυτή αφορά στο αν ο προγραμματισής είναι πτυχιούχος τμήματος Πληροφορικής ή όχι.