30
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!

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

Embed Size (px)

Citation preview

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 SystemProduct 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

MemberW38

W39

W40W41

W42

W43W44

W45

W46

W47W48

W49

W50W51

W52

w53 Total

Augustin Petrović

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

12

DeliveryDELIVERABLE 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 MeetingSubmitted under 24 hours of

a meeting.

Acceptance test plan Late by 30 hours 28 minutes

Test report 24 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!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