1 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.

Slides:



Advertisements
Similar presentations
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Advertisements

NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Building a Public Transportation System Product Line Omar T. Jaradat, Augustin Petrović & Manish Kungwani 1.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
110/29/12 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
1 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! 10/1/20151 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
1 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
9/23/2009 NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
10/5/2009 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
10/9/2011 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
1 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
10/9/2011 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
10/9/2011 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Presentation transcript:

1 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 2010/2011). 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!

2 Distributed Software Development

3 Public Transportation System Product Line Manish Kungwani

What is it? Is it done? Instance C Instance B Instance A 4 Product Line PRODUCT LINE

5 What did we do? Till Week 53 Product Line complete Fulfilled all Requirements Core elements Schedule Management Passenger Assistance Vehicle Tracking and Management Dessert Optimized Shortest Route Finding Neural Network for Arrival Time Prediction Collaboration with EzFare

6 What did we do? (contd.) Instance 1(FER) complete: Core functionality Persistent Storage Passenger Assistance Instance 2(MDH) complete: Core functionality (Without Timetables and Schedules) Persistent Storage

7

8 Who did what? Documentation – All members Umple code – Manish & Augustin (5892) Unit Testing – Manish & Augustin (2128) FER Instance – Manish & Augustin (2474) FER DB – Manish & Augustin MDH Instance – Omar, Umer, Uma MDH DB – Omar, Umer Graphics - Pratik

9 When Did we do?

10 Member W38W39W40W41W42W43W44W45W46W47W48W49W50W51W52w53 Total Augustin Petrović Uma Shankar Hafiz Umer Waqar Siva Chaitanya Manish Kungwani Pratik Barkade Omar Jaradat Total Grand Total = 1952

11

12 Delivery DELIVERABLESTATUS Project plan document12 minutes late Requirements Definition documentBefore Time Design Description documentOn Time Summary Week ReportOn Time (Late 2 times/ 15) Minutes of Meeting Submitted under 24 hours of a meeting. Acceptance test planLate by 30 hours 28 minutes Test report24 minutes late

13 Results of the initial Plan! Complete Umple model Develop 3 Instances Only 2 done Extend Requirements Neural Network for Smart Arrival Time Prediction Optimized shortest route finding  Collaboration with EzFare – Out of the blue!

14 Cause - A Bumpy Ride! Bugging Umple Experience Umple Modeling gave us a a LOT of ready to go code Lack of communication from team members Lack of performance on time Overloaded Team members Database crash No Umple enhancements from Customer

15 Medium: Mostly Skype Local members met regularly, many sleepless nights Sometimes Ggroup Electronic mail International SMS (4 in all) When: When needed (mostly weekly) At least 1 day notification Communication – Hello, you there?

16 Work Division was done fairly Synchronization was successful! When work was submitted! Late and Unusable Results Untimely revelation of lack of knowledge Slow learning curve Lack of enthusiasm to achieve expected quality Repetition of sloppy work! Who? What? How?

17 Extraaa hours by some members were needed to complete work Next time: Mutually Evaluate and reevaluate all team members Motivate and Peer Pressurize for faster learning So finally!

18 Few team members – LEARN Few team members – CODE Few team members – SLEEP What did we do less?

Solid Content - Core Entities – Entity classes Repositories for entities Manager classes for restricted access Schedule Management Part of Schedule Management Passenger Assistance Schedule Manager & RealTime Manager 19

Solid Content (contd.) Vehicle Management Vehicle Manager & RealTime Manager Optimized Route Finding RealTime Manager & Directed Graphs Arrival Time Prediction Neural Networks DAL Includes Information exchange with EzFare 20

Solid Content (contd.) 21

Blockbuster! Passenger Assistance gives a commercial boost Implemented not required optimization algorithm Arrival Time Prediction Connected the …. Working with EzFare To a wider Complete Solution 22

Pressing points! Some ignored best practices: How to do it! Do it in interface Validate it in entity Automatically persist Success What we are doing.. Do it in interface Try persisting If works, success Else => Validation issue 23

Pressing points! (Contd.) Some more ignored best practices: Class abstraction Generics No Multiple Interface Implementation Seemingly Interface Inheritance Exception Handling 24

Decide! Factory Pattern Repository Pattern Singleton Pattern Impossibility of Observer Pattern 25

Takeaway … A Life experience & friends Understanding the hardships of Distributed Development Concerns of a Product Line Multicultural environment Java Experience Object Oriented Decision making Another weapon in the Arsenal - Umple 26

Any Questions or Queries? Što? What? Vad? Was? 27 Comments !

Special Thanks to the help and Guidance … 28 Ivica Crnković Mario Žagar (FER) Aneta Vulgarakis (MdH) Séverine Sentilles (MdH) Igor Čavrak (FER) Marin Orlić (FER) Ivana Bosnić (FER) Dominik Pavlović Vice Šimunov Ivana Šarić Sandra Petrović Jure Rastić Shruti Johari For all the HELP and GUIDANCE …

29

30 Thank You