12015-08-28 these materials are prepared only for the students enrolled in the course distributed...
TRANSCRIPT
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!
423-04-19
What will we talk about?
• Are we finished??
• Project overview
• Architecture & technologies
• What is done?
• Problems
• Our experiences
• Demonstration
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)
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
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
3323-04-19
GeoLog team
Juraj Misur
Panon Supiratana
Bettina Ortmayr
Sanin Mujkić
Jorge Cervera Juraj Feljan
Nikica Budimir
Ana Petričić