These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science and Engineering, University of Mälardalen, Västerås, Sweden and at the Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia (year 2009/2010). For all other purposes, authors’ written permission is needed! The purpose of these materials is to help students in better understanding of lectures in DSD and not their replacement! NOTICE!
Distributed Software Development
Progress Component Model Final Presentation
Next ½ hour.. Project Definitions ProCom Requirements Final Demo Experiences and Challenges Project Statistics
Team Structure
Piyush (PM) - Project Management - Coding - Documentation Bilal (TL) - Design Mapping - Coding - Documentation Priyadarshan - Coding - Design Mapping Parisa - SVN Manager - Plug-in coding Manzoor - Document Manager - Testing Iftikhar - Document Manager - Testing
Project Definitions
A model-driven code generation utility for the embedded system, modeled using ProCom model. Part of ongoing research in the University for the Progress project Developed at MdH
Why Procom Project? Non existence of the code generation utility for the embedded system modeled using ProCom model. Mapping the ProCom model to executable code.
Procom Project Benefits? An integrated platform to design & develop embedded- systems in a common IDE Enables rapid application development
Interaction with Progress- IDE? Interaction with Progress-IDE via XML files Final Product? A Plug-in integrated in Progress-IDE
ProgressIDE
Generated XML File
Refine XML Schema
Parse XML & store tags
Identify individual elements
Identify dependencies among components
And then….
Generate Java Code
View Code
Compile Code
Execute Code
Clean Code
Requirements
Fulfilled Requirements? XML Parsing Identifying Mapping Rules Code Generation Code Compilation Code Execution Plug-in for Progress-IDE Investigated Glue Code Generation
Additional Requirements? XML Schema Dropped Requirements? Compilation & Execution of Glue Code
By: Edward V. Berard Image source: i.imgur.com/
A Sample ProCom Model
Experiences and Challenges
Communication strategies –In face-to-face meetings Slow Conversation speed Team members availability –Online Meetings Preferred text chat over voice chat More online meetings rather than face-to-face meetings –Emphasis on use of latest communication technologies
Experiences and Challenges Skype Google Groups Online
Experiences and Challenges Time Limitations –Because of exams and assignments of other courses What we Like about the project –Team Work –Challenging Project –Opportunity to interact with knowledgeable Supervisors and Professors
Cultural Differences (and Similarities)
Spiral SDLC Model Spiral helped incremental Product delivery Customer feedback was taken after each delivery Suggested changes were included in the next delivery Continuous feedback ensured customer expected product
379/9/2015 Development Methodology Prototype 1 Prototype 2 Prototype 3 Final Release Prototype1 : Code generation for PROSAVE Component Prototype 2: Refinement of Code generation logic Prototype 3: Code Generation for PROSYS and Progress IDE plug-in Final release: Code Execution Framework and glue code investigation
Project Statistics
Effort Distribution Cumulative Team Efforts (approx): 1200 hours
SVN Statistics
Communication Statistics Team meetings: –Online Meetings: 6 –Campus Meetings: 5 Meetings with the Supervisor: –Online Meetings: 3 –Campus Meetings: 3 Informal team meetings: Countless
Future Development XML Schema Validation Support For Multiple Languages Class Diagram View Representation Reverse Engineering (Code -> ProCom) Improved Code Generation
ADIOS!!!