1 / 19

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

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

Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 9th 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 vljubovic@etf.unsa.ba Neum, 31. 08. 2009

  2. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna 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

  3. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned Overview of methods and techniques for software development Iterative and incremental development (IID)

  4. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • 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)

  5. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • Iterative and incremental approach • Frequent confusion between terms "iterative" and "incremental" • For successfull software development both are needed! (Cockburn, 2008; Patton, 2007)

  6. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • 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)

  7. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • Feature Driven Development (FDD) • Project is divided in parts (classes) by user functionalities, or features • Each class has an owner (Coad et al., 1999 *)

  8. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • 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)

  9. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned Overview of Zamger architecture Zamger modular architecture

  10. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • 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)

  11. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned Overview of Zamger architecture Core database structure (excerpt)

  12. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • Zamger development specificities • Relatively low urgency • In-house development • Some modules are mid-term / graduate student papers • Web application

  13. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • Zamger development specificities • Web app advantages: • Deployment is practically free • Bugs fixed "on the fly" • Centralized data (backup!)

  14. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned Zamger development lifecycle 1. User requirements gathering 2. Requirements analysis and planning 3. Module development 4. "Live" system installation and incremental improvements

  15. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned 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

  16. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • 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

  17. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • 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!

  18. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned Analysis of IID approach in Zamger development Incremental approach Project level iterations Iterations within an increment

  19. Vedran Ljubović, Development of Software for Supporting the Learning Process According to Bologna Agreements - Lessons Learned • 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

More Related