Top Banner
DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS - LESSONS LEARNED 9 th Workshop "Software Engineering Education and Reverse Engineering" Neum, Bosnia and Herzegovina Vedran Ljubović Faculty of Electrical Engineering Sarajevo [email protected] Neum, 31. 08. 2009
19

DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Jan 03, 2016

Download

Documents

9 th Workshop "Software Engineering Education and Reverse Engineering" Neum, Bosnia and Herzegovina. DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS - LESSONS LEARNED. Vedran Ljubović Faculty of Electrical Engineering Sarajevo - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

DEVELOPMENT OF SOFTWARE FOR SUPPORTINGTHE LEARNING PROCESS ACCORDING TO

BOLOGNA AGREEMENTS -LESSONS LEARNED

9th Workshop"Software Engineering Education and Reverse Engineering"Neum, Bosnia and Herzegovina

Vedran LjubovićFaculty of Electrical Engineering Sarajevo

[email protected], 31. 08. 2009

Page 2: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Introduction – Highlights of project "Zamger":

Started out as an application for personal use in teaching Becomes interesting to other colleagues Used in implementation of institutional QA policies Iterative and incremental approach used during development

Page 3: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Iterative and incremental development (IID)

Overview of methods and techniques for software development

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 4: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Iterative and incremental approach

Iteration – development in steps, gradual product improvement Increment – independent part of product that is developed separately (e.g. by a team)

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 5: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Iterative and incremental approach

Frequent confusion between terms "iterative" and "incremental" For successfull software development both are needed!

(Cockburn, 2008; Patton, 2007)

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 6: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

IID vs. Waterfall

"The attraction of [waterfall] is its simplicity" (Cauwenberghe, 2002) Waterfall makes it hard to make mistakes; IID requires training, both of managers and programmers (Larman, Basili, 2003)

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 7: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Feature Driven Development (FDD)

Project is divided in parts (classes) by user functionalities, or features Each class has an owner

(Coad et al., 1999 *)

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 8: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Open Source Software Development (OSSD)

Release early. Release often. User is involved in development process Developers are involved in all aspects of the project First iteration in a project is the most important one

(Raymond, 2002)

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 9: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Overview of Zamger architecture

Zamger modular architecture

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 10: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Overview of Zamger architecture

Each module is a rounded whole Registry.php – list of modules with access rights Framework deals with security, among else Library modules – offer features for other modules Core database structure is common, individual modules may have own tables (which simply remain empty if module isn't used)

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 11: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Core database structure(excerpt)

Overview of Zamger architecture

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 12: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Zamger development specificities

Relatively low urgency In-house development Some modules are mid-term / graduate student papers Web application

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 13: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Zamger development specificities

Web app advantages: Deployment is practically free Bugs fixed "on the fly" Centralized data (backup!)

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 14: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Zamger development lifecycle

1. User requirements gathering2. Requirements analysis and planning3. Module development4. "Live" system installation and incremental improvements

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 15: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Zamger development lifecycle

3. Module development (e.g. by a student) a. detailed user requirements b. interface and interaction design c. functional prototype d. module development (coding) e. testing f. detailed documentation g. fixes and suggestions from project leader

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 16: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Zamger development lifecycle

Average iteration lenght: 6 months Relatively long, but there are good reasons (and it wasn't a problem)

De-facto ownership of modules, but developers fix bugs everywhere

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 17: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Analysis of IID approach in Zamger development

Each iteration is "final" release Bugs and features arise from usage ("instability" is an aftermath) Module = feature, completed within one iteration Core features in early iterations Unexpected changes and new features happen all the time – schedule extra time!

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 18: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Analysis of IID approach in Zamger development

Incremental approachIterations within an increment Project level

iterations

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned

Page 19: DEVELOPMENT OF SOFTWARE FOR SUPPORTING THE LEARNING PROCESS ACCORDING TO BOLOGNA AGREEMENTS -

Conclusions and future work

A new reading of literature is offered Zamger project continues... Iteration planning process needs to be elaborated, with emphasis on the first iteration and its importance

Vedran Ljubović,Development of Software for Supporting the Learning Process According toBologna Agreements - Lessons Learned