ThOdOr1s wrote:
Βασικά αυτό που έχω καταλάβει εγώ είναι ότι είναι ότι η αρχιτεκτονική είναι ένα επίπεδο πιο πάνω από αυτό...
Η αρχιτεκτονική λογισμικού στοχεύει στον εντοπισμό και την καταγραφή, μέσα από την συσσωρευμένη πείρα των μηχανικών λογισμικού, συγκεκριμένων αρχιτεκτονικών μοτίβων και προτύπων (architectural styles, architectural patterns) που περιγράφουν συστήματα λογισμικού σε υψηλό επίπεδο αφαίρεσης.
Στην αρχή του σχεδιασμού ενός συστήματος λογισμικού εντοπίζουμε το αρχιτεκτονικό πρότυπο που ταιριάζει καλύτερα στο σύστημα.
Προσπαθούμε να μην επανεφευρίσκουμε τον τροχό αλλά να καθοδηγούμαστε από δοκιμασμένες από τον χρόνο και από την πράξη λύσεις.
Καθοδηγούμαστε έτσι ώστε να αποφύγουμε τον καταποντισμό μέσα σε μία θάλασσα αντικειμένων (Brushmann et al., 1996).
Τα αρχιτεκτονικά μοτίβα και πρότυπα χρησιμεύουν επίσης και ως μέσο επικοινωνίας μεταξύ των μηχανικών λογισμικού, αφού αποτελούν ένα κοινό λεξιλόγιο.
Και στο βιβλίο του Γιακουμάκη της Τεχνολογίας Λογισμικού στο 7ο κεφ, κάτι αντίστοιχο λέει... Το κομμάτι της Σχεδίασης και της Αρχιτεκτονικής του προγράμματος, Εκεί που δημιουργείται το σχέδιο του προγράμματος με βάση της απαιτήσεις του πελάτη, και ύστερα ο μηχανικός αναλαμβάνει το κομμάτι της λεπτομερής σχεδίασης, και της μεταφοράς του σχεδίου σε κώδικα...
Edit:
nachos wrote:Καταρχάς το ότι χρειάστηκε να googl-άρεις σημαίνει ότι διαισθητικά δεν έχεις γνώση του αντικειμένου.
Προφανώς και δεν έχω 100% γνώση του αντικείμενου, 2ο έτος είμαι... Googlαρα όχι γιατί δεν ξέρω τι μου γίνεται αλλά για να παραθέσω κάτι...
Έχω την αίσθηση ότι μιλάς για ερευνητικό κομμάτι του Software Engineering. Απλά γενικά επειδή είναι πολύ πρακτικό ζήτημα ο προγραμματισμός, δεν είναι θεωρία αυτομάτων, πρέπει να ξέρεις ότι για να κάνεις έρευνα σε τέτοια πράγματα πρέπει να έχεις αρχίσει απ'το χαμηλότερο στάδιο και να αποκτήσεις πρακτική εμπειρία σε έργα. Και στη συνέχεια να πεις ότι κάθεσαι και κάνεις ένα διδακτορικό πάνω σε θέμα της δουλειάς σου στο οποίο έχεις εντρυφήσει πολύ, πχ. σε συγκεκριμένο αρχιτεκτονικό πρότυπο, όπως το ονομάζεις, και όχι γενικά. Η έρευνα σε τεχνολογικές τάσεις δεν είναι κάτι που το σπουδάζεις στην τάξη. Όλοι αυτοί εκεί έξω που θα δεις να μιλάνε για high level συστήματα και βελτιστοποιήσεις (πχ. σε ημερίδες προγραμματισμού) έχουν ξεκινήσει απ'το Hello world κι έχουν γράψει εκατοντάδες χιλιάδες γραμμές κώδικα.
ThOdOr1s wrote:nachos wrote:
Ξέρω επ' ακριβώς τι εικόνα έχεις κατά νου, για την ακρίβεια ήδη σε έχω φανταστεί να φαντάζεσαι τον εαυτό σου σταυροπόδι στη γραφειάρα σου με το ανατομικό keyboard. Επίσης, χαίρομαι που πόσταρες απόσπασμα από βιβλίο Γιακουμμή, επιβεβαιώνεις το προηγούμενο ποστ μου 100%.
Dude, έχεις νοιώσει ότι ρωτάω 2 πράγματα γιατί...
δεν ξέρω ?
Είναι το πρώτο αποτέλεσμα στο Google, Seriously? Θα μπορούσα να είχα postάρει wikipedia instead, no big deal...
Έχω κάνει reasearch στο συγκεκριμένο κομμάτι από τη 2α λυκείου, και μου φάνηκε απίστευτα ενδιαφέρον γιατί συνδυάζει πράγματα που μου αρέσουν: Έρευνα, Βελτιστοποίηση και Scaling, αλλά και κώδικα... Πως ακριβώς ένας άνθρωπος που είναι υπεύθυνος σε τέτοιο βαθμό μπορεί να κάθεται όλη μέρα? Επειδή το έχω ψάξει τελευταία με το Game Dev, οι άνθρωποι που έχουν ανάλογα πόστα σε αυτή τη βιομηχανία, αναλαμβάνουν όλη την ευθύνη για το προϊόν και την ημερομηνία που πρέπει να το παραδώσουν, γράφουν πολύ κώδικα και έχουν meetings με τους publisher εκ μέρους του team... Πόσο διαφορετικό μπορεί να είναι στη βιομηχανία λογισμικού?
Εγώ αυτό ρώτησα, αν ήθελα να κάθομαι, θα ρωτούσα αν παίζει κανένα μέσο για το Δημόσιο...
- Spoiler: εμφάνιση/απόκρυψη
Grow up... :smt011
Επειδή κάποιοι εδώ μέσα έχουν φάει χρόνια ερευνώντας (δε βάζω τον εαυτό μου μέσα), καλύτερα να μη χρησιμοποιείς τη λέξη "research" τόσο αβίαστα. :P
Προφανώς και δεν κάθεται ένας άνθρωπος που έχει να διοικήσει μια ομάδα παραγωγής. Για την ακρίβεια πρέπει να ξέρει να διορθώνει κάθε βλακεία ή ανεπάρκεια που τυχόν θα κάνουν οι junior προγραμματιστές. Οι project managers είναι άλλη ιστορία, πολύ συχνά δεν έχουν καμία σχέση με την Πληροφορική. Το μόνο που κάνουν είναι να δίνουν deadlines.
Το μόνο που θέλω να σου τονίσω είναι ότι για να φτάσεις σε αυτό το επίπεδο (που ομολογουμένως σημαίνει περισσότερα λεφτά αλλά και περισσότερες ευθύνες), θα πρέπει να έχεις περάσει απ'ολα τα προηγούμενα. Και μάλιστα το θέμα είναι να γράφεις κώδικα επειδή σ'αρέσει, όχι επειδή είναι αναγκαίο κακό και στο τέλος να σκοπεύεις να ασχοληθείς σε manager-ιλίκι. Αν τυχόν είσαι αυτής της λογικής τότε δεν θα σου χρησιμεύσει κάπου το πτυχίο απ'τη συγκεκριμένη σχολή, ούτε και θα μπορέσεις να χτυπήσεις σχετικές θέσεις στο μέλλον με επιτυχία. Αν γουστάρεις τον κώδικα, δε θα σταματήσεις ποτέ να γράφεις, αλλά κάποια στιγμή θα φτάσεις στο σημείο να μετράει ο λόγος σου για τη δομή μεγάλων έργων. Αν δεν γουστάρεις να γράφεις, τότε δε θα μπορέσεις ούτε καν να ξεκινήσεις κάτι πετυχημένο στον κλάδο. Σίγουρα τίποτα περισσότερο από χαμαλίκι σε εταιρειούλες που σήμερα είναι κι αύριο δεν είναι.
Anyway, με τη (λίγη) εμπειρία που έχω σαν μεγαλύτερός σου, θεωρώ ότι δε μπορείς ακόμα να ξέρεις με τι θέλεις ν'ασχοληθείς. Πέρνα τα βασικά μαθήματα με βαθμό, Δομές, Αλγορίθμους, Προγραμματισμό, Βάσεις, ξεκίνα και τους κύκλους σου και το βλέπεις αργότερα με καθαρό μυαλό και πολύ περισσότερη γνώση. Αυτό που λέει ο nachos, δεν ξέρω αν όντως σε αντιπροσωπεύει, αλλά τυχαίνει όντως να είναι η εντύπωση πολλών που μπαίνουν στο τμήμα (και δική μου κάποτε σε ορισμένο βαθμό, δε σου κάνω τον άγιο :D ), μόνο και μόνο επειδή το τμήμα είναι στην ΑΣΟΕΕ. Η πραγματικότητα είναι ότι το τμήμα βγάζει Πληροφορικούς που πρέπει να ξέρουν και να θελουν να γράφουν κώδικα. Αν κάποιος έχει αργήσει να το ξεκινήσει, ας το κάνει το συντομότερο. Ποτέ δεν είναι αργά. Αργά είναι όταν θα πάρεις το πτυχίο και θα καταλάβεις ότι δεν το υπολογίζει κανένας αν δε συνοδεύεται με ολοκληρωμένα projects σε συγκεκριμένες γλώσσες και τεχνολογίες (λέγονται και "demonstrated skills" στις αγγελίες). Όταν στο CV σου γράφεις ότι ξέρεις Java, θα πρέπει να σημαίνει ότι έχεις γράψει μερικές δεκάδες χιλιάδες γραμμές στη ζωή σου κι ότι έχεις να δείξεις και 1-2 projects. Δεν σημαίνει ότι έχεις περάσει Σύρη. Στη συνέντευξη θα καταλάβουν αμέσως σε ποια απ'τις δύο κατηγορίες ανήκεις. Και οι μοναδικές θέσεις που μπορείς να κάνεις αίτηση έχοντας 0 χρόνια προυπηρεσίας, είναι αυτές του junior developer. Δε θα σε προσλάβει κανένας να διοικήσεις ομάδα και να σχεδιάσεις λογισμικό. Θα δεις ότι όλες αυτές οι αγγελίες στην πρώτη γραμμή γράφουν "2-3/4-5/5-10 χρόνια προυπηρεσίας". Αυτό σημαίνει ότι η αίτησή σου θα είναι η πρώτη που θα πάει στα σκουπίδια, αν φυσικά έχεις το θράσος να τη στείλεις.