Open Source Software Engineering - Aristotle Students Guide - English

28
http://sweng.csd.auth.gr/ F/OSS Projects Course: Software Engineering Lecturer: I. Stamelos {[email protected]} Associates: Ε. Κωνσταντίνου {[email protected]} Κ. Μουστάκα {[email protected]} S. K. Sowe {[email protected]} NetGeners.Net support: A. Meiszner ([email protected]) The Open University, UK Institute of Educational Technologies FREE/ OPEN SOURCE SOFTWARE PROJECT

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 - English

Page 1: Open Source Software Engineering - Aristotle Students Guide - English

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

F/OSS Projects

Course: Software Engineering

Lecturer: I. Stamelos [email protected]

Associates: Ε. Κωνσταντίνου [email protected]Κ. Μουστάκα [email protected]. K. Sowe [email protected]

NetGeners.Net support: A. Meiszner ([email protected])The Open University, UKInstitute of Educational Technologies

FREE/ OPEN SOURCE SOFTWARE PROJECT

Page 2: Open Source Software Engineering - Aristotle Students Guide - English

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

Objective of this course

• Get involved in software engineering within a real world scenario

• By working within Free / Open Source Software projects• Therefore engaging with peers not only within Aristotle

University, but throughout the globe• By selecting one of 3 activity options as following

detailed at this presentation

Page 3: Open Source Software Engineering - Aristotle Students Guide - English

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

F/OSS Basics

Page 4: Open Source Software Engineering - Aristotle Students Guide - English

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

F/OSS Basics

• There are numerous F/OSS projects at the internet

• You can download Free/Open Source Software and use it freely

• The F/OSS source code is available and can be modified freely

• You can register and participate to any F/OSS project

Page 5: Open Source Software Engineering - Aristotle Students Guide - English

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

Example 1: Sourceforge [http://sourceforge.net/]

You can browse a number of projects categories here. Before you can work on a project in

sourceforge you must create an account.

Search for a project you know.

Page 6: Open Source Software Engineering - Aristotle Students Guide - English

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

Example 2: How to select a project at 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 7: Open Source Software Engineering - Aristotle Students Guide - English

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

Example 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 8: Open Source Software Engineering - Aristotle Students Guide - English

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

General selection criteria of F/OSS projects:• Operating System / Platform: Should be preferably the same as the one you already use

(Linux, Windows, etc) ‏• Maturity (Development status): Alpha, Beta, Mature, etc:

• Product/stable: not suitable – inappropriate for testing activities• Alpha/Beta: most suitable FOSS projects for your project

• General activity of the project: check the following• # programmers (at least > 3 programmers) ‏• A large number of people that participate (users, programmers) at the discussion lists

(Mailing lists and Forums) of the project;• Check what has been discussed at these lists before you send any message about your

project• At sourceforge you must go to ‘Public Areas’ of the project to check the

collaboration activities of the project

Page 9: Open Source Software Engineering - Aristotle Students Guide - English

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

Where to find interesting FOSS projects?

• Sourceforge – [http://sourceforge.net]– Very good for every kind of FOSS projects

• Freshmeat [http://freshmeat.net] – Very good for every kind of FOSS projects, also including the

categories Desktop, Utilities.• Savannah.gnu.org [http://savannah.gnu.org]

– Very good for FOSS projects about software development and communication tools. Especially good for Linux, Unix users.

• Tigris [www.tigris.org ]– Very good for FOSS projects about Software Engineering and in

general for students.…

Page 10: Open Source Software Engineering - Aristotle Students Guide - English

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

F/OSS Project activity options

Option 1: Requirements Analysis of F/OSS projects

Option 2: Testing of F/OSS projects

Option 3: Extending F/OSS projects

Page 11: Open Source Software Engineering - Aristotle Students Guide - English

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

F/OSS Project activity options

Option 1: Requirements Analysis of F/OSS projects

Page 12: Open Source Software Engineering - Aristotle Students Guide - English

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

Option 1: F/OSS Project Requirements Analysis

• Find a F/OSS project without a requirement specification documentation

• Carry out a requirements analysis for this F/OSS project • Create the requirement specification document• The document will be written in Greek (optionally in

English or another language, after informing the tutor). • The requirements will have to be written down according

to accepted structures and formats using either existing templates (for example ΙΕΕΕ) or following the structure of requirement specification documents from other open source projects.

Page 13: Open Source Software Engineering - Aristotle Students Guide - English

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

Strategy Option 1: F/OSS Project Requirements Analysis

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

Students from Aristotle University are asked to send the following information by email to: [email protected]:

•First and Last Name, AEM and URL of the FOSS project/s they are working on

•Login name + password of the community space

Page 14: Open Source Software Engineering - Aristotle Students Guide - English

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

Option 1: F/OSS Project Requirements Analysis Please keep in mind:

1. Do not write a document for a project if it already exists2. Follow the requirements analysis template document provided3. If you need information you can

• Ask the developers of the project• Use the help files (if exist)

4. Help Files• Do not copy from the help files• Use the information you find in the help files, by embodying it to

your document5. Do not use large fonts just to fill more pages

For any problem, question, etc send a message to the course’s associates

Page 15: Open Source Software Engineering - Aristotle Students Guide - English

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

Option 1: F/OSS Project Requirements Analysis Deliverables / Expected Outcomes

• Printed (with CD) requirements analysis document

• Online published requirements analysis document

• A small report about your project including (1) a summary of your activities,

(2) the workplan you developed to carry out your project (e.g. selection

criteria, list of your activities) and (3) an overview of messages exchanged

with other participants

• The report shall be published by you online (e.g. at the NetGeners.Net wiki)

Page 16: Open Source Software Engineering - Aristotle Students Guide - English

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

F/OSS Project activity options

Option 2: Testing of F/OSS projects

Page 17: Open Source Software Engineering - Aristotle Students Guide - English

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

Option 2: Test F/OSS Project

• Select one F/OSS project• Describe development status of the project

– Alpha/Beta• Find Bugs• Report Bugs• Contribute to the community

– Fix bugs you found or bugs reported by others (Optional)‏

Page 18: Open Source Software Engineering - Aristotle Students Guide - English

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

Strategy Option 2: Test F/OSS Project

Students from Aristotle University are asked to send the following information by email to: [email protected]:

•First and Last Name, AEM and URL of the FOSS project/s they are working on

•Login name + password of the community space

Page 19: Open Source Software Engineering - Aristotle Students Guide - English

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

Option 2: Test F/OSS Project Please keep in mind:

1. Wonder if what you found is really a bug2. Search for

• existing bug reports for similar bugs• if it is already register to the BTS (Bug Tracking System)‏

3. Add comments to your report4. Submit the bug with the BTS 5. Or send a message to the discussion list. Use the forum to discuss

what7. Select a subject for your messages that describes the bug8. At the message description, describe the bug with information that

enable its reproduction, like:• The platform you use• Exactly what you did when the error occurred

9. Don’t send bug reports directly to the project’s programmers

For any problem, question, etc send a message to the course’s associates

Page 20: Open Source Software Engineering - Aristotle Students Guide - English

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

Option 2: Test F/OSS Project You might not:

• Do not submit 1-2 bugs and then abandon the project. • Send unnecessary clarification requests • Report bugs that are already reported• Report bugs in a short amount of time• Urging community member for replies• Send unnecessary emails to the developers and members of the

community• Translate the project (except for fun, but not as part of your work)

Note: You won’t be evaluated by large number of traffic, but by the analytical and critical work you actually did!

Page 21: Open Source Software Engineering - Aristotle Students Guide - English

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

Option 2: Test F/OSS Project Deliverables / Expected Outcomes

• A small report about your project including (1) a summary of your activities, (2) the workplan you developed to carry out your project (e.g. selection criteria, list of your activities) and (3) the bugs you found, the communities’response and a summary of your activities

• The report should include for every bug you submitted– Your actions (submission report, support to the programmers, other

users)– The response of the project’s participants (other users, programmers)– If the bug was fixed– If you participated to the correction of the bug by programming

(optional)• The report shall be published by you online (e.g. at the NetGeners.Net wiki)

Page 22: Open Source Software Engineering - Aristotle Students Guide - English

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

F/OSS Project activity options

Option 3: Extending F/OSS projects

Page 23: Open Source Software Engineering - Aristotle Students Guide - English

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

Project Option 3: Extend F/OSS Project

• Find a F/OSS project and contribute to the code development of the project by improving parts of the functionality (e.g. implement functionalities from feature requests).

• Develop code for the project (programming language of your choice)

• Submit the code to the project management / relevant group to be evaluated and accepted.

• In the case you identify bugs alongside your work report them and (optional) try to fix them

• The size of the code is up to you!

Page 24: Open Source Software Engineering - Aristotle Students Guide - English

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

Strategy Option 3: Extend F/OSS Project

Students from Aristotle University are asked to send the following information by email to: [email protected]:

•First and Last Name, AEM and URL of the FOSS project/s they are working on

•Login name + password of the community space

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 25: Open Source Software Engineering - Aristotle Students Guide - English

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

Option 3: Extend F/OSS Project Please keep in mind:

1. MISSING

Page 26: Open Source Software Engineering - Aristotle Students Guide - English

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

Option 3: Extend F/OSS Project Deliverables / Expected Outcomes

• Code developed by you printed, on a CD and placed online by you

• A small report about your project including (1) a summary of your activities,

(2) the workplan you developed to carry out your project (e.g. selection

criteria, list of your activities) and (3) an overview of messages exchanged

with other participants

• The report shall be published by you online (e.g. at the NetGeners.Net wiki)

Page 27: Open Source Software Engineering - Aristotle Students Guide - English

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

Aristotle Students: Self evaluation survey

• You will be asked to answer a survey with information about:

– At the beginning of the course:

• What you consider to be your personal learning style

• What would be your strategy for selecting a project

– At the end of the course:

• How successful you feel you have been?

• What do you have achieved?

• What have you learnt?

Page 28: Open Source Software Engineering - Aristotle Students Guide - English

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

That’s it!

Thanks for your attention and be encouraged to contact us if things are unclear or you need

assistance!