Title: 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
1NOTICE!
- 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!
2Distributed Software Development
3Manish Kungwani
Public Transportation System Product Line
4Product Line
Instance C
Instance B
Instance A
PRODUCT LINE
5What 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
6What 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(No Transcript)
8Who 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
9When Did we do?
10Member W38 W39 W40 W41 W42 W43 W44 W45 W46 W47 W48 W49 W50 W51 W52 w53 Total
Augustin Petrovic 14 19 16 10 18 17 13 56.5 25 21.5 13 33 36 25 8 44 369
Uma Shankar 13 1 5 12 13 10 10 17 20 32 25 17 23.5 16 14.5 28 257
Hafiz Umer Waqar 14 9 12 18 14 14 10 19 19 20 18 17.5 17 36.5 20.5 33 291.5
Siva Chaitanya 0 4 4 8 11 10 11 16 20 21.5 20.5 19.5 12 13 8 23 201.5
Manish Kungwani 15 17 12 14 17 17 14 54 28 28 13 36 36 17 40 358
Pratik Barkade 13 4 6 15 14 14 12 18 19 17 16 15.5 20.5 13.5 10 15 222.5
Omar Jaradat 22 18 12 18 16 14 17 20 24 20 18 11 18 34 10 20 292
Total 91 72 67 95 103 103 87 201 155 160 124 150 163 155 71 203 1952
Grand Total 1952
11(No Transcript)
12Delivery
DELIVERABLE STATUS
Project plan document 12 minutes late
Requirements Definition document Before Time
Design Description document On Time
Summary Week Report On Time (Late 2 times/ 15)
Minutes of Meeting Submitted under 24 hours of a meeting.
Acceptance test plan Late by 30 hours 28 minutes
Test report 24 minutes late
13Results 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!
We promised, we delivered! WE DID SOME MORE
14Cause - 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
15Communication Hello, you there?
- 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
16Who? What? How?
- 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!
17So finally!
- 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
18What did we do less?
- Few team members LEARN
- Few team members CODE
- Few team members SLEEP
19Solid 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
20Solid 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
21Solid Content (contd.)
22Blockbuster!
- Passenger Assistance gives a commercial boost
- Implemented not required optimization algorithm
- Arrival Time Prediction
- Connected the .
- Working with
- EzFare
- To a wider
- Complete Solution
23Pressing 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 gt Validation issue
24Pressing points! (Contd.)
- Some more ignored best practices
- Class abstraction
- Generics
- No Multiple Interface Implementation
- Seemingly Interface Inheritance
- Exception Handling
25Decide!
- Factory Pattern
- Repository Pattern
- Singleton Pattern
- Impossibility of Observer Pattern
26Takeaway
- 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
27- Any Questions or Queries?
Vad?
What?
Što?
Was?
Comments !
28Special Thanks to the help and Guidance
Ivica Crnkovic Mario Žagar (FER) Aneta Vulgarakis
(MdH) Séverine Sentilles (MdH) Igor Cavrak
(FER) Marin Orlic (FER) Ivana Bosnic
(FER) Dominik Pavlovic Vice Šimunov Ivana
Šaric Sandra Petrovic Jure Rastic Shruti Johari
For all the HELP and GUIDANCE
29(No Transcript)
30Thank You ?