12015-08-28 These materials are prepared only for the students enrolled in the course Distributed...

34
1 22-03-27 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 2003/2004). 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!

Transcript of 12015-08-28 These materials are prepared only for the students enrolled in the course Distributed...

123-04-19

• 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 2003/2004).

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

223-04-19

Selected Topics in Software Engineering -

Distributed Software Development

323-04-19

GeoLog team

Final presentation

423-04-19

What will we talk about?

• Are we finished??

• Project overview

• Architecture & technologies

• What is done?

• Problems

• Our experiences

• Demonstration

523-04-19

Are we finished??

• We won’t keep you in suspense• General project status:

623-04-19

Project overview... (I)

• Working hours– ca. 1400 working hours reported– 10 working weeks (holidays included)– average of 17.5 hours a week per person– critical 55 hours for one team member last

week

723-04-19

• Communication– E-mails

• ca. 250 e-mails sent

– Skype• weekly meetings• hours of chat sessions

– Forum• ca. 30 forum topics• ca. 180 forum posts

Project overview... (II)

823-04-19

• Communication– A lot of internal documentation

• Internal project description• Use case internals• API documentation• API FAQ• GeoLog developers manual• Parameters reference sheet• Web interfaces document• ...

Project overview... (III)

923-04-19

Project overview... (IV)• SVN commits diagrams

– ca. 900 revisions

1023-04-19

Project overview... (V)• SVN commits diagrams (II)

1123-04-19

Project overview... (VI)

• Milestones timeliness– 15 milestones

1223-04-19

Project overview... (VII)

• Milestones timelines– Completed earlier:

• Project roles definied – 1 week earlier• Web design – 2 weeks earlier

– Completed later:• User module implementation – 1 week later• Interaction with GEarth & GMaps – 1 week later

1323-04-19

Project overview... (VIII)

• Financials– some extra cost expected– good news for our customers: we didn’t cross

the budget

Planned cost € 28 000

Actual cost € 27 140

1423-04-19

Access to InternetThere were lucky

ones....

...and not so lucky ones.

1523-04-19

Architecture• GeoLog architecture

1623-04-19

Technologies (I)• Why Java?

– Everybody familiar

• Why Spring framework?– Enterprise capabilities– Programming to interfaces – POJOs – high testability– Out of the box features

• Acegi security (web authentication and authorization), transactions, abstractions

1723-04-19

Technologies (II)

• Why JSP?– Similar to PHP

• Why Hibernate?– ORM – working with objects and

not SQL– Support for most databases– Caching capabilities

1823-04-19

What is done? (I)

• Requirements fulfilled

• 4 user interfaces

Initial requirements 52

Added requirements 10

Dropped requirements 0

Total requirements 62

1923-04-19

What is done? (II)

• Requirements fulfilled– USERS ADMINISTRATION

• Multiple users privileges (SA, CA, user guest)• Safe registering user method • User promotion to CA for one or more specific

categories• Banning/unbanning users• Ensure privileged users• Scheduled deleting of non-activated users• ...

2023-04-19

What is done? (III)

• Requirements fulfilled– CONTENT ADMINISTRATION

• Category hierarchy• Adding new categories• Adding new locations, articles, comments• Location, article, comment refusing/approving• Location popularity ranking• Locations visible in Google Earth

2123-04-19

What is done? (IV)

• Requirements fulfilled– CONTENT ADMINISTRATION

• News publishing • Reporting inappropriate content • Locations search by name, by category or on

Google Map• Deleting published news• Uploading images to local file system• ...

2223-04-19

What is done? (V)

• Requirements fulfilled– RANKING

• Ranking users and locations• Articles from privileged users publishes

immediately• Location/article/comment refusing decreases

user’s rank• Better ranked locations are visible from

higher altitudes in Google Earth• Voting restrictions; user can vote for an

article only once

2323-04-19

What is done? (VI)

• Requirements fulfilled– SYSTEM ADMINISTRATION

• Changing system properties– Changing boundary rank for privileged user– Changing min. number of articles for privileged

user

• Changing SMTP properties

2423-04-19

What is done? (VII)

• Requirements fulfilled– WEB

• Using CSS for easier web design changes• Presenting locations using “Google maps”• Scalability when listing users, comments,

news (pagination) • Printing style sheet

2523-04-19

Problems

• Category hierarchy– Understandnig– Presenting category tree on web tier

• Technical problems– Virtual server – Fedora 4

• System management, memory, web server crashes, GMaps API key

• Lack of time• One team member has dropped of

2623-04-19

Our experiences...(I)

• Distributed development:– communication is very important– cultural differences

• Real working experience– deadlines– reports and status presentations– planning project cost

• Team work• But after all – A VERY USEFUL A VERY USEFUL

EXPERIENCEEXPERIENCE

2723-04-19

Our experiences...(II)

• What does the team say?– Interesting and absorbing experience in software development and

communication.– Bitter sweet Symphony– I worked like crazy, but at least now everybody is jelaous that I am in

Sweden– Don’t try this at home – Intense concentration of different technology experts with variable

working habits and different cultural backgrounds is very explosivemixture.DSD project should be presented to students as a heavy box with a bigsign "Handle with care, this side up" on it. You can never know whenit's going to loose tracks and start to behave as C3H5(NO3)3.

2823-04-19

Our experiences...(III)

• How we finished GeoLog?– These are two of our developers working hard

2923-04-19

Demonstration

3023-04-19

GeoLog setup (I)• General and database settings

3123-04-19

GeoLog setup (II)• General settings

3223-04-19

GeoLog setup (III)• System administrator account settings• Mail server settings

3323-04-19

GeoLog team

Juraj Misur

Panon Supiratana

Bettina Ortmayr

Sanin Mujkić

Jorge Cervera Juraj Feljan

Nikica Budimir

Ana Petričić

3423-04-19

Thanks to:

• The GeoLog team– They worked hard to finish this project

• Customers and supervisors– For not torturing us or changing requirements

• All of you for your attention during this and all other presentations