Open Source Software Engineering - Aristotle Students Guide – Greek

24
http://sweng.csd.auth.gr/ F/OSS Projects Μάθημα: Τεχνολογία Λογισμικού Διδάσκων: Ι. Σταμέλος {[email protected]} Συνεργάτες: Ε. Κωνσταντίνου {[email protected]} Κ. Μουστάκα {[email protected]} S. K. Sowe {[email protected]} ΕΡΓΑΣΙΑ ΣΤΟ ΕΛΕΥΘΕΡΟ ΛΟΓΙΣΜΙΚΟ/ΛΟΓΙΣΜΙΚΟ ΑΝΟΙΧΤΟΥ ΚΩΔΙΚΑ

description

This is a guide for the Software Engineering Students at Aristotle University detailing the tasks and activities for the 2008 / 2009 course “Introduction to Software Engineering”. This course is hosted at www.netgeners.net, a open collaboration space to provide students with the opportunity to work on their open source (F/OSS) projects in a more structured way, to see what others are doing and how they do it and also to engage with fellow students of your course and others interested in this area. We kindly welcome participation from fellow universities, people outside of formal education interested in open source and software engineering and also practitioners from open source projects that like to provide students with the opportunity to work on real tasks and that are looking for contributors.

Transcript of Open Source Software Engineering - Aristotle Students Guide – Greek

Page 1: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

F/OSS Projects

Μάθημα: Τεχνολογία Λογισμικού

Διδάσκων: Ι. Σταμέλος [email protected]

Συνεργάτες: Ε. Κωνσταντίνου [email protected]Κ. Μουστάκα [email protected]. K. Sowe [email protected]

ΕΡΓΑΣΙΑ ΣΤΟΕΛΕΥΘΕΡΟ ΛΟΓΙΣΜΙΚΟ/ΛΟΓΙΣΜΙΚΟ ΑΝΟΙΧΤΟΥ ΚΩΔΙΚΑ

Page 2: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Σκοπός της Εργασίας

• Να εφαρμόσετε τις γνώσεις που αποκτήσατε στομάθημα της Τεχνολογίας Λογισμικού σεσυνθήκες πραγματικού κόσμου

• Εργασία σε έργα ανοιχτούλογισμικού/λογισμικού ανοιχτού κώδικα

• Συνεργάζεστε με άτομα όχι μόνο από τη σχολή, αλλά από οπουδήποτε στον κόσμο

• Επιλογή μίας από τις 3 επιλογές

Page 3: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Βασικές Έννοιες ΕΛΛΑΚ

•Υπάρχουν πολυάριθμα έργα ΕΛΛΑΚ στοΔιαδίκτυο

•Μπορείτε να κατεβάσετε το λογισμικό ΕΛΛΑΚκαι να το χρησιμοποιήσετε ελεύθερα

•Ο πηγαίος κώδικας ΕΛΛΑΚ είναι διαθέσιμος καιμπορεί να τροποποιηθεί ελεύθερα

•Μπορείτε να εγγραφείτε και να συμμετέχετε σεοποιοδήποτε έργο ΕΛΛΑΚ

Page 4: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Παράδειγμα 1: Sourceforge [http://sourceforge.net/]

Μπορείτε να αναζητήσετε ταέργα ανά κατηγορία. Πριν εργαστείτε σε κάποιο έργο στο

sourceforge πρέπει να δημιουργήσετελογαριασμό.

Αναζητήστε έναέργο που ήδηγνωρίζετε.

Page 5: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Παράδειγμα 1: Πώς να επιλέξετε ένα έργο στοSourceforgeMake sure to have a look at a number of different F/OSS projectsbefore selecting the ones you want to engage at ! ! !

Click on project categoryGo to projects sub-categories.

More project categories

Projects you can select.

Page 6: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Παράδειγμα 2: Tigris: [www.tigris.org/ ]

Before you can work on a project at tigris you must registerGo here to browse

projects availableShows also FOSS projects that are hosted and managed by students

Page 7: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Γενικά Κριτήρια Επιλογής έργων ΕΛΛΑΚ:• Λειτουργικό Σύστημα / Πλατφόρμα: ίδια με αυτή που έχετε στη διάθεσή σας (Linux,

Windows, κλπ) ‏• Ωριμότητα (Development status): Alpha, Beta, Mature, etc:

• Product/stable: δεν είναι κατάλληλο για δραστηριότητες ελέγχου/Κατάλληλο γιακαταγραφή απαιτήσεων

• Alpha/Beta: τα πιο κατάλληλα έργα ΕΛΛΑΚ για δραστηριότητες ελέγχου• Γενική δραστηριότητα στο έργο: ελέγξτε τα ακόλουθα

• # προγραμματιστών (τουλάχιστον > 3 προγραμματιστές) ‏• Συμμετέχουν πολλά άτομα (χρήστες, προγραμματιστές) στις λίστες συζήτησης (Mailing

lists και Forums) του έργου;• Ελέγχετε τι έχει συζητηθεί στις λίστες αυτές πριν στείλετε οποιοδήποτε μήνυμα σχετικά με

την εργασία σας• Στο sourceforge πηγαίνετε στην περιοχή ‘Public Areas’ του έργου για να ελέγξετε

τις δραστηριότητες συνεργασίας του έργου

Page 8: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Που μπορείτε να βρείτε έργα ΕΛΛΑΚ?

• Sourceforge – [http://sourceforge.net]– Πολύ καλό για κάθε τύπου έργα ΕΛΛΑΚ

• Freshmeat [http://freshmeat.net] – Πολύ καλό για κάθε τύπου έργα ΕΛΛΑΚ, περιλαμβάνει τις

κατηγορίες Desktop, Utilities.• Savannah.gnu.org [http://savannah.gnu.org]

– Πολύ καλό για έργα ΕΛΛΑΚ σχετικά με ανάπτυξη λογισμικού καιεργαλεία επικοινωνίας. Ιδιαίτερα καλό για χρήστες Linux, Unix.

• Tigris [www.tigris.org ]– Πολύ καλό για έργα ΕΛΛΑΚ σχετικά με Τεχνολογία Λογισμικού και

γενικά για φοιτητές.• …

Page 9: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Επιλογές Εργασίας ΕΛΛΑΚ

1η Επιλογή: Μηχανικός Απαιτήσεων σε έργα ΕΛΛΑΚ

2η Επιλογή: Δοκιμαστής σε έργα ΕΛΛΑΚ

3η Επιλογή: Επέκταση έργων ΕΛΛΑΚ

Page 10: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

1η Επιλογή: Μηχανικός Απαιτήσεων σε έργα ΕΛΛΑΚ

• Επιλογή έργου για το οποίο δεν υπάρχειτεκμηρίωση απαιτήσεων

• Ανάλυση απαιτήσεων για αυτό το έργο ΕΛΛΑΚ• Δημιουργία του εγγράφου ανάλυσηςαπαιτήσεων

• Το έγγραφο μπορεί να γραφτεί στα Ελληνικά(προαιρετικά στα Αγγλικά ή σε κάποια άλληγλώσσα, σε συνεννοήση με τον διδάσκοντα).

• Οι απαιτήσεις θα πρέπει να γραφούν σύμφωναμε κάποιο πρότυπο (π.χ. ΙΕΕΕ) ή με κάποιοπαράδειγμα ‘καλού’ εγγράφου απαιτήσεων απόάλλο έργο ΕΛΛΑΚ

Page 11: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

1η Επιλογή: Μηχανικός Απαιτήσεων σε έργα ΕΛΛΑΚ

Understand Program Functionalities?

F/OSSProject

Students Requirements

Engineers

Write the document. (Use

any help provided by the

community)

YesSubmit Document to the Community

Download Software

Select another project

1

2

34

No

Install & Run Software

Στείλτε τις ακόλουθες πληροφορίες με email στο [email protected]:

•Ονοματεπώνυμο, ΑΕΜ και URL του ή των έργων ΕΛΛΑΚ

•Login + password

Page 12: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

1η Επιλογή: Μηχανικός Απαιτήσεων σε έργα ΕΛΛΑΚΠροσέξετε τα ακόλουθα:

• Μην γράψετε το έγγραφο για έργο ΕΛΛΑΚ εάν ήδη υπάρχει• Ακολουθήστε το πρότυπο έγγραφο ανάλυσης απαιτήσεων που σας

παρέχεται• Εάν χρειάζεστε πληροφορίες για το έργο μπορείτε

• Να ρωτήσετε τους developers του έργου• Χρησιμοποιήστε τα αρχεία βοήθειας (εάν υπάρχουν)‏

1. Αρχεία Βοήθειας• Μην αντιγράφετε αυτούσιο το κείμενο• Χρησιμοποιήστε την πληροφορία που θα βρείτε στα αρχεία

βοήθειας, ενσωματόνοντας την στο έγγραφο σας• Το έγγραφο θα πρέπει να είναι τουλάχιστον 30 σελίδες• ΜΗΝ χρησιμοποιείτε μεγάλη γραμματοσειρά, κτλ για να γεμίσετε

σελίδες!!• Μην μεταφράσετε το έργο ή τα αρχεία βοήθειας του

Για οποιοδήποτε πρόβλημα, απορία κλπ στείλτε μήνυμα στουςσυνεργάτες του μαθήματος

Page 13: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

1η Επιλογή: Μηχανικός Απαιτήσεων σε έργα ΕΛΛΑΚΠαραδοτέα

• Το έγγραφο απαιτήσεων εκτυπωμένο (με CD)‏

• Παράδοση του εγγράφου στην κοινότητα

• Μια αναφορά που θα περιέχει (1) περιγραφή του έργου που ασχοληθήκατε,

(2) περιγραφή του εγγράφου και (3) τα μηνύματα που ανταλλάξατε με άλλα

μέλη της κοινότητας

• Η αναφορά και το έγγραφο μπορούν να ανέβουν στο Netgeners

Page 14: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

2η Επιλογή: Δοκιμαστής σε έργα ΕΛΛΑΚ

• Επιλογή ενός έργου ΕΛΛΑΚ (αρχικά)‏• Στάδιο ανάπτυξης του έργου

– Alpha/Beta• Εύρεση Λαθών• Αναφορά Λαθών• Συνεισφορά στην κοινότητα

– Διόρθωση λαθών που βρήκατε εσείς ή άλλοι(Προαιρετικά)‏

Page 15: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

2η Επιλογή: Δοκιμαστής σε έργα ΕΛΛΑΚ

Στείλτε τις ακόλουθες πληροφορίες με email στο [email protected]:

•Ονοματεπώνυμο, ΑΕΜ και URL του ή των έργων ΕΛΛΑΚ

•Login + password

Page 16: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

2η Επιλογή: Δοκιμαστής σε έργα ΕΛΛΑΚΠροσέξτε τα ακόλουθα:

• Πρώτα να κάνετε Login με username + password• Αναζητείστε

• υπάρχουσες αναφορές σφαλμάτων για παρόμοια σφάλματα• μήπως είναι ήδη στο BTS (Bug Tracking System) ‏

• Προσθέστε σχόλια στην αναφορά σας• Υποβάλλετε το σφάλμα με το BTS• Ή στείλτε μήνυμα στη λίστα συζήτησης. Χρησιμοποιείστε το forum για

να συζητήσετε το εύρημά σας1. Να επιλέξετε ένα θέμα στα μηνύματά σας που να περιγράφει το

σφάλμα2. Στο κείμενο του μηνύματος περιγράψτε το σφάλμα με πληροφορίες

που να επιτρέπουν την αναπαραγωγή του, όπως :• Την πλατφόρμα που χρησιμοποιείτε• Τι ακριβώς κάνατε όταν εμφανίστηκε το λάθος

3. Μη στέλνετε αναφορές σφαλμάτων απευθείας σε προγραμματιστές τουέργου

Για οποιοδήποτε πρόβλημα, απορία κλπ στείλτε μήνυμα στουςσυνεργάτες του μαθήματος

Page 17: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

2η Επιλογή: Δοκιμαστής σε έργα ΕΛΛΑΚΛάθος Προσέγγιση:

• 1-2 λάθη για πολλά projects• Απάντηση για διευκρινήσεις δε θεωρείται reply• Αναφορά λαθών που έχουν ήδη δηλωθεί• Αναφορά λαθών σε μικρό χρονικό διάστημα• Παρότρυνση για απαντήσεις• Αποστολή αχρείαστων emails σε developers καιμέλη της κοινότητας

Page 18: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

2η Επιλογή: Δοκιμαστής σε έργα ΕΛΛΑΚΠαραδοτέα

• Μια αναφορά που θα περιλαμβάνει (1) μια σύνοψη της δραστηριότητας σας, (2) την πορεία που ακολουθήσατε (π.χ. κριτήρια επιλογής, έργα πουασχοληθήκατε) και (3) τα λάθη που βρήκατε, τις απαντήσεις από τηνκοινότητα και μια σύνοψη των δραστηριοτήτων σας

• Η αναφορά θα περιέχει για κάθε λάθος που θα υποβάλετε– Ενέργειες σας (αναφορά υποβολής, submission report, support to the

programmers, other users) ‏– Οι απαντήσεις από τα μέλη της κοινότητας (άλλους χρήστες,

προγραμματιστές)‏– Εάν το λάθος επιλύθηκε– Εάν συμμετείχατε στην επίλυση του λάθους προγραμματίζοντας

(προαιρετικά)‏• Η αναφορά και το έγγραφο μπορούν να ανέβουν στο Netgeners

Page 19: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

3η Επιλογή: Επέκταση έργων ΕΛΛΑΚ

• Εύρεση ενός έργου ΕΛΛΑΚ και συνεισφορά στηνανάπτυξη του έργου βελτιώνοντας τη λειτουργικότητα(π.χ. Υλοποίηση λειτουργιών από τα feature requests).

• Συγγραφή κώδικα (Γλώσσα προγραμματισμού τηςεπιλογής σας)‏

• Υποβολή του κώδικα στους developers του έργου ώστενα αξιολογηθεί και να ενσωματωθεί.

• Στην περίπτωση που βρείτε λάθη μπορείτε να τααναφέρετε και να προσπαθήσετε να τα φτιάξετε(προαιρετικά)‏

• Δεν υπάρχει περιορισμός στο μέγεθος του κώδικα

Page 20: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

3η Επιλογή: Επέκταση έργων ΕΛΛΑΚ

Στείλτε τις ακόλουθες πληροφορίες με email στο [email protected]:

•Ονοματεπώνυμο, ΑΕΜ και URL του ή των έργων ΕΛΛΑΚ

•Login + password

Familiar with the programming language

of the project?

F/OSSProject

Students Coders

Write code to implement certain

functionalities

YesSubmit Code to the CVS/SVN

Download Software

Select another project

No

Install & Run Software

Page 21: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

3η Επιλογή: Επέκταση έργων ΕΛΛΑΚΠαραδοτέα

• Ο κώδικας που αναπτύχθηκε εκτυπωμένος, σε CD και online στο έργο από

το λογαριασμό σας

• Μια μικρή αναφορά για την εργασία που θα περιλαμβάνει (1) περιγραφή

των δρστηριοτήτων σας, (2) την πορεία που ακολουθήσατε για την εκπόνηση

της εργασίας (π.χ. κριτήρια επιλογής έργου, δραστηριότητα σας) και (3) μια

σύνοψη των μηνυμάτων που ανταλλάξατε με άλλα μέλη της κοινότητας

• Η αναφορά και το έγγραφο μπορούν να ανέβουν στο Netgeners

Page 22: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Παραδοτέα (1η, 2η, 3η Επιλογή)

• Ερωτηματολόγια (ηλεκτρονικά) ‏– Πριν την έναρξη της εργασίας:

• σχετικά με το μαθησιακό στυλ σας• σχετικά με τη διαδικασία επιλογής έργου

– Μετά το τέλος της εργασίας• σχετικά με το πόσο επιτυχημένεςαισθάνεστε ότι ήταν οι επιλογές σας

Page 23: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Netgeners

Page 24: Open Source Software Engineering - Aristotle Students Guide – Greek

http://sweng.csd.auth.gr/

Netgeners (www.netgeners.net)‏

• Ευκαιρία μάθησης μέσω συνεργασίας με άλλους φοιτητές είτε άλλαάτομα ανά τον κόσμο, με ενδιαφέρον στο ίδιο θέμα

• Δημιουργία δικών σας learning projects ή συμμετοχή σε υπάρχοντα• Συνεργασία και επικοινωνία με ειδικούς και μαθητευόμενους• Εύρεση βοήθειας!• Μέσω του μαθήματος έχετε την ευκαιρία να συνεισφέρετε σε

πραγματικά έργα ΕΛΛΑΚ και να αποκτήσετε γνώσεις

• Συνεργασία με άτομα που έχουν ασχοληθεί με το ίδιο έργο ΕΛΛΑΚ• Συζήτηση θεμάτων που αφορούν το μάθημα (Έννοιες μαθήματος,

Θεμάτων παλιών εξεταστικών, κτλ)‏