4. Requirements Definition

advertisement
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
GeoLog
Requirements Definition
Version 1.0
Page 1
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
Revision History
Date
Version
Description
Author
2007-11-15
0.1
Initial Draft
AP, SM, JF, NB
2007-11-18
0.2
Changes agreed with supervisor
AP
2007-12-27
0.3
Added some minor changes of use cases
according to web design, added missing
use-cases, added new requirements
(deleting news)
AP
2008-01-05
1.0
Final version; Added setting SMTP
properties to SA module, scheduled
deleting of users.
AP
Page 2
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
Table of Contents
1.
Introduction
1.1
1.2
1.3
1.4
Purpose of this document
Intended Audience
Scope
Definitions and acronyms
1.4.1 Definitions
1.4.2 Acronyms and abbreviations
1.5
References
2.
3.
5
5
5
5
5
5
5
Error! Bookmark not defined.
Requirements Description
6
2.1
2.2
2.3
2.4
6
6
6
6
Introduction
General requirements
System requirements
Database requirements
Use Case Models
3.1
Use case "System administrator"
3.1.1 Use case "set privileged user boundary rank"
3.1.2 Use case "set privileged user minimum articles number"
3.1.3 Use case "set SMTP setttings"
3.1.4 Use case "edit user information"
3.1.5 Use case "delete user"
3.1.6 Use case "asssign content administrator"
3.1.7 Use case "content change for content administrator"
3.1.8 Use case "remove content administrator"
3.1.9 Use case "publish news"
3.1.10 Use case "delete news"
3.2
Use case "Content administrator"
3.2.1 Use case "view user’s articles"
3.2.2 Use case "view user’s comments"
3.2.3 Use case "check user’s status"
3.2.4 Use case "ban/unban user"
3.2.5 Use case "approve/discard new article"
3.2.6 Use case "approve/discard new comment"
3.2.7 Use case "add new location category"
3.2.8 Use case "approve/discard proposed location"
3.2.9 Use case "publish news"
3.2.10 Use case "delete unsuitable content"
3.3
Use case model “User”
3.3.1 Use case "view most popular locations"
3.3.2 Use case "view news"
3.3.3 Use case "search locations by name"
3.3.4 Use case "search locations by category hierarchy"
3.3.5 Use case "search locations on a map"
3.3.6 Use case "view location"
3.3.7 Use case "view location article"
3.3.8 Use case "register"
3.4
Use case “Registered user"
3.4.1 Use case "view most popular locations"
3.4.2 Use case "view news"
3.4.3 Use case "search locations by name"
3.4.4 Use case "search locations by category hierarchy"
3.4.5 Use case "search locations on a map"
7
7
7
7
8
8
8
9
9
9
10
10
11
11
12
12
12
13
13
13
14
14
14
16
16
16
16
17
17
17
18
18
19
19
19
19
19
20
Page 3
GeoLog
Requirements Definition
3.4.6
3.4.7
3.4.8
3.4.9
3.4.10
3.4.11
3.4.12
3.4.13
3.4.14
3.4.15
4.
5.
Use case "view location"
Use case "login"
Use case "change user profile"
Use case "add new location"
Use case "add new article to existing location"
Use case "add comment to existing location"
Use case "vote for interesting article"
Use case "report unsuitable content"
Use case "view location article"
Use case "forgotten password"
Version:
1.1.0
Date: 2007-12-27
20
20
20
20
21
21
22
22
22
22
Requirements Definition
24
4.1
4.2
4.3
24
24
24
26
Requirement Group Definitions
Requirement Sources
Requirements definitions
4.3.1 Change Log
Future Development
26
5.1
5.2
26
27
27
27
28
28
28
General Overview
Integration with Web mapping tools
5.2.1 Services based on proximity
5.2.2 Services based on connectivity
5.3
GeoLog as a social network
5.4
GeoLog “on the road”
5.4.1 Integration with GPS devices
Page 4
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
1. Introduction
1.1 Purpose of this document
This document contains information about a project we make. It contains a detailed
description of all the functionalities our GeoLog project should contain.
1.2 Intended Audience
Intended Audience is:
- customers, who want to know which functionalities they’ll have at their disposal
- supervisors, who supervise the work and need to know the planned scope of a project
- developers, who must know which customers’ functionalities to implement
1.3 Scope
This document will give a detailed description of scenarios which occur when using wanted
functionalities of the project.
1.4 Definitions and acronyms
1.4.1 Definitions
Keyword
location
location category
content
privileged user
Hibernate
DAO
Content administrator
System administrator
Definitions
Specific place to write about
Groups of locations with similar content
Articles and comments for specific location
User with good ranking and much content published. His articles
are published immediately before CA approval
A powerful, high performance object/relational persistence and
query service
A design pattern used in software engineering
A person, who checks and approves articles/comments, takes care
of registered users and adds new location categories. He can also
do everything that normal users can for example writing articles,
writing comments, etc.
A person who is in charge of maintenance of GeoLog system and
takes care of assigning content administrators by location
categories
1.4.2 Acronyms and abbreviations
Acronym or
abbreviation
JSP
CSS
SA
CA
DAO
Definitions
Java Server pages
Cascading style sheets
System Administrator
Content Administrator
Data Access Object
Page 5
GeoLog
Requirements Definition
RU
NU
Version:
1.1.0
Date: 2007-12-27
Registered user
Non-registered user
2. Requirements Description
2.1 Introduction
The customer required an application formed as blog focused on locations. This application
will not be focused on people like usual blogs, but on locations so people can write about them. Those
locations will be visible on Google Earth.
2.2 General requirements
In general, the customer wants an application which makes easier finding interesting
information about some location for example park, restaurant, town, etc. Users will write articles about
location and other users can comment their articles or write their own article about that location.
Locations are divided into categories. We must implement category hierarchy so readers can find
articles they are interested in much easier.
There are four different types of users; System administrator, Content administrators,
registered users and guests. Every group has their own user interface. Guests are allowed only to search
locations and to read articles, comments and news published by SA or CA. Registered users can search
locations, read articles and comments, write their own articles and comments, vote for interesting
locations or propose new locations, read news published by CA or SA and report unsuitable content.
SA is in charge of system maintenance. CA is in charge of content administrating. Except all
permissions that normal registered users have, CA can approve or discard an article/comment/location,
add a new location category, ban user and publish news. Users will have rank points and if they pass
trusted points limit, they become privileged users and their articles are published immediately and
checked later by CA. Other users must grant CA approval to get their article published and visible to
other users. Users can also vote for good articles and that points bring rank points to author and also to
location that article is about.
2.3 System requirements
1.
2.
3.
4.
The system should be designed as a database oriented system, which keeps data about users,
location oriented content, location categories etc.
The system should be easily later upgraded.
The system must have good web interface so users can easily search locations, read about them,
comment them or write their own locations review.
The location categories must be organized hierarchically to make searching for locations easier.
2.4 Database requirements
1.
2.
Whole project must not depend on database type and must be easily portable to other database
system.
Database must have good performance because of high usage of system so we must make
excellent database design.
Page 6
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
3. Use Case Models
3.1 Use case "System administrator"
3.1.1 Use case "set privileged user boundary rank"
Initiator:
SA
Goal:
Set minimum user rank points needed for automatic article publishing
Main scenario:
1.
2.
3.
4.
Main SA page
Click ‘System properties’ tab
Enter minimum points number into ‘privileged user boundary rank’ field
Press ‘Submit’ button to save changes
Extensions:
- if an error occurs, the error page appears
3.1.2 Use case "set privileged user minimum articles number"
Initiator:
SA
Page 7
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
Goal:
Set minimum article number needed for automatic article publishing
Main scenario:
1.
2.
3.
4.
Main SA page
Click ‘System properties’ tab
Enter minimum number of articles into ‘privileged user number of articles’ field
Press ‘Submit’ button to save changes
Extensions:
- if an error occurs, the error page appears
3.1.3 Use case "set SMTP setttings"
Initiator:
SA
Goal:
Set SMTP server settig
Main scenario:
1.
2.
3.
4.
Main SA page
Click ‘System properties’ tab
Fill required fields for SMTP settings
Press ‘Submit’ button to save changes
Extensions:
- if an error occurs, the error page appears
3.1.4 Use case "edit user information"
Initiator:
SA
Goal:
Change user’s information’s
Main scenario:
1.
2.
3.
4.
5.
6.
7.
8.
Main SA page
Click on the ‘Users’ tab
A list of all registered users opens
Find the desired user
Click’ Edit profile’ button in the same row as user is
User profile information page appears
Change user information
Press ‘Submit’ button to save changes
Extensions:
- when listing users, 50 users per page are listed sorted alphabetically, there are
‘Previous’ and ‘Next’ buttons to navigate through users
- if the ‘Cancel’ button is pressed, the user information’s does not change
- if an error occurs, the error page appears
3.1.5 Use case "delete user"
Initiator:
SA
Goal:
Change user’s information’s
Main scenario:
1.
2.
3.
4.
5.
Main SA page
Click on the ‘Users’ tab
A list of all registered users opens
Find the desired user
Click ‘Edit profile’ button in the same row as user is
Page 8
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
6.
7.
8.
User profile information page appears
Click ‘DELETE user’ button
Confirm by pressing ‘OK’ button in popup box
Extensions:
- when listing users, 50 users per page are listed sorted alphabetically, there are
‘Previous’ and ‘Next’ buttons to navigate through users
- if the ‘Cancel’ button in popup box is pressed, the user will not be deleted
- if an error occurs, the error page appears
- after deleting user all his articles belong to generic publisher
3.1.6 Use case "asssign content administrator"
Initiator:
SA
Goal:
Assign content administrator
Main scenario:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Main SA page
Click on the ‘Content admins’ tab
A list of all CA users opens
Click ‘Assign new CA’
A list of all registered users opens
Find the desired user
Click ‘Edit CA’ button in the same row as user is
User profile information page with category tree appears
Check desired categories in category tree
Press ‘Assign’ button
Extensions:
- when listing users, 50 users per page are listed sorted alphabetically, there are
‘Previous’ and ‘Next’ buttons to navigate through users
- if ’Cancel’ button is pressed, the user will not be assigned
- if an error occurs, the error page appears
3.1.7 Use case "content change for content administrator"
Initiator:
SA
Goal:
Content change for content administrator
Main scenario:
1.
2.
3.
4.
5.
6.
7.
Main SA page
Click on the ‘Content admins’ tab
A list of all CA users opens
Click ‘Edit CA’ button in the same row as CA is
User profile information page with assigned categories in category tree appears
Check/uncheck desired categories in category tree
Click ‘Assign’ button
Extensions:
- when listing users, 50 users per page are listed sorted alphabetically, there are
‘Previous’ and ‘Next’ buttons to navigate through users
- if the ’Cancel’ button is pressed, the user will not be assigned
- if an error occurs, the error page appears
3.1.8 Use case "remove content administrator"
Initiator:
SA
Page 9
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
Goal:
Change content for content administrator
Main scenario:
1.
2.
3.
4.
5.
6.
Main SA page
Click on the ‘Content admins’ tab
A list of all CA users opens
Click ‘Edit CA’ button in the same row as CA is
User profile information page with assigned categories in category tree appears
Press ‘Remove CA’ button
Extensions:
- when listing users, 50 users per page are listed sorted alphabetically, there are
‘Previous’ and ‘Next’ buttons to navigate through users
- if ’Cancel’ button is pressed, the CA will not be removed
- if an error occurs, the error page appears
3.1.9 Use case "publish news"
Initiator:
SA
Goal:
Adding news
Main scenario:
1.
2.
3.
4.
5.
6.
7.
Main SA page
Click on the ‘News’ tab
A list of all published news appear
Click on the ‘Add news’ button
News editor page opens
Enter the desired news, news title and text
Click on the ‘Submit’ button
Extensions:
- when listing news, 50 news per page are listed sorted by date, there are ‘Previous’
and ‘Next’ buttons to navigate through news
- if the user hits ‘Cancel’ button, no news is added
- if an error occurs, the error page appears
3.1.10 Use case "delete news"
Initiator:
SA
Goal:
Deleting published news
Main scenario:
1.
2.
3.
4.
5.
6.
Main SA page
Click on the ‘News’ tab
A list of all published news appear
Find the desired news and click on it’s title
A page with news content appears
Click the ‘DELETE news’ button to delete news
Extensions:
- when listing news, 50 news per page are listed sorted by date, there are ‘Previous’
and ‘Next’ buttons to navigate through news
- if an error occurs, the error page appears
Page 10
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
3.2 Use case "Content administrator"
3.2.1 Use case "view user’s articles"
Initiator:
CA
Goal:
View all articles published by a user
Main scenario:
1.
2.
3.
4.
5.
6.
7.
Main CA page
Click on the ‘Users’ tab
A list of all registered users opens
Find the desired user
Click the ‘View articles’ button in the same row as the user
A list of titles of articles opens
Find the desired article title and click it to read article
Extensions:
- when listing users, 50 users per page are listed sorted alphabetically, there are
‘Previous’ and ‘Next’ buttons to navigate through users
Page 11
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
- if an error occurs, the error page appears
3.2.2 Use case "view user’s comments"
Initiator:
CA
Goal:
View all comments published by a user
Main scenario:
1.
2.
3.
4.
5.
6.
7.
Main CA page
Click on the ‘Users’ tab
A list of all registered users opens
Find the desired user
Click the ‘View comments’ button in the same row as the user
A list of user’s comments opens
Hitting the ‘Context’ button opens the location and all of it’s comments, with the
user’s comment highlighted
Extensions:
- when listing users, 50 users per page are listed sorted alphabetically, there are
‘Previous’ and ‘Next’ buttons to navigate through users
- if an error occurs, the error page appears
3.2.3 Use case "check user’s status"
Initiator:
CA
Goal:
Check user’s status (banned/unbanned)
Main scenario:
1.
2.
3.
4.
5.
6.
7.
Main CA page
Click on the ‘Users’ tab
A list of all registered users opens
Find the desired user
Click the ‘Info’ button in the same row as the user
The ‘User profile information’ page opens
Check the status
Extensions:
- when listing users, 50 users per page are listed sorted alphabetically, there are
‘Previous’ and ‘Next’ buttons to navigate through users
- if an error occurs, the error page appears
3.2.4 Use case "ban/unban user"
Initiator:
CA
Goal:
Change registered user’s status by banning/unbanning the user
Main scenario:
1.
2.
3.
4.
5.
6.
7.
8.
Main CA page
Click on the ‘Users’ tab
A list of all registered users opens
Find the desired user
Click the ‘Info’ button in the same row as the user
The ‘User profile information’ page opens
Ban/unban the user by checking/unchecking the ban checkbox and pressing the
‘Submit’ button
The information page refreshes, with the status changed
Page 12
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
Extensions:
- when listing users, 50 users per page are listed sorted alphabetically, there are
‘Previous’ and ‘Next’ buttons to navigate through users
- if the ‘Cancel’ button is pressed, the status does not change
- if an error occurs, the error page appears
3.2.5 Use case "approve/discard new article"
Initiator:
CA
Goal:
Checking and approving/discarding a new article
Main scenario:
1.
2.
3.
4.
5.
6.
Main CA page
Click on the ‘Articles’ tab
A page with a list of all new articles appears, the articles being divided into two
groups (published/unpublished)
Find the desired article and click on it’s title
A page with article appears
Read the article and approve/discard it by clicking on the ‘Approve’/‘Discard’
button
Extensions:
- if the ‘Cancel’ button is pressed, the article stays unchecked
- if the article is discarded, users ranking is decreased to 1 (out of 5)
- if an error occurs, the error page appears
3.2.6 Use case "approve/discard new comment"
Initiator:
CA
Goal:
Checking and approving/discarding a new comment
Main scenario:
1.
2.
3.
4.
5.
6.
Main CA page
Click on the ‘Comments’ tab
A page with a list of all new comments appears
Find the desired comment and click on it’s title
A page with all location’s comments appears, with the comment to be checked
highlighted
Read the comment and approve/discard it by clicking on the
‘Approve’/‘Discard’ button
Extensions:
- if ‘Cancel’ button is pressed, the comment stays unchecked
- if the comment is discarded, users ranking is decreased to 1 (out of 5)
- if an error occurs, the error page appears
3.2.7 Use case "add new location category"
Initiator:
CA
Goal:
Adding a new location category
Main scenario:
1.
2.
3.
4.
Main CA page
Click on the ‘Locations’ tab
Click on the ‘Add new location category’ button
A page with category hierarchy tree and two empty textboxes appear
Page 13
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
5.
6.
7.
8.
Select the new category’s parent node radio button next to the desired position
Enter new category’s name
Enter new category’s description
Press ‘Submit’ button to add new category
Extensions:
- if the ‘Cancel’ button is pressed, no category is added
- if an error occurs, the error page appears
3.2.8
Use case "approve/discard proposed location"
Initiator:
CA
Goal:
Checking and approving/discarding a proposed location
Main scenario:
1.
2.
3.
4.
5.
6.
Main CA page
Click on the ‘Locations’ tab
A list of proposed locations appears
Find the desired location and click on it’s name
A path showing location’s position in the hierarchy opens
Approve/discard the location by clicking on the ‘Approve’/‘Discard’ button
Extensions:
- if the ‘Cancel’ button is pressed, the location stays unchecked
-if location is discarded it is completely deleted form database, including the first
article which user wrote when proposing location
- if the location is discarded, users ranking is decreased to 1 (out of 5)
- if an error occurs, the error page appears
3.2.9 Use case "publish news"
Initiator:
CA
Goal:
Adding news
Main scenario:
1.
2.
3.
4.
5.
6.
Main CA page
Click on the ‘News’ tab
Click on the ‘Add news’ button
News editor page opens
Enter the desired news, news title and text
Press the ‘Submit’ button
Extensions:
- if the ‘Cancel’ button is pressed, no news is added
- if an error occurs, the error page appears
3.2.10 Use case "delete unsuitable content"
Initiator:
CA
Goal:
Deleting unsuitable content reported by user
Main scenario:
1.
2.
3.
4.
Unsuitable content report is sent via e-mail to corresponding CAs
Read the report
Search locations either by name(3.4.3), by category hierarchy (3.4.4) or on a
map(3.4.5) to find the location
On the page with a list of articles and comments for location find the reported
Page 14
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
5.
inappropriate content
Click ‘Delete button’ presented as image (
article/comment title
) next to inappropriate
Extensions:
-when the article/comment is discarded, users ranking is decreased to 1 (out of 5)
- if an error occurs, the error page appears
Page 15
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
3.3 Use case model “User”
3.3.1 Use case "view most popular locations"
Initiator:
RU, NU
Goal:
Find locations with best ranking last month
Main Scenario:
1.
2.
On the main menu select ‘Popular locations’
Page with most popular locations opens
Extensions:
- if an error occurs, the error page appears
3.3.2 Use case "view news"
Initiator:
RU, NU
Goal:
Get news about GeoLog system
Main Scenario:
1.
2.
3.
On the main menu select ‘News’
A list of news sorted by date with short description is displayed
Find the desired news and click ‘Read more…’ to see the whole content of the
news
Extensions:
- when listing news, 10 news per page are listed sorted by date, there are ‘Previous’
and ‘Next’ buttons to navigate through news
- if an error occurs, the error page appears
3.3.3 Use case "search locations by name"
Initiator:
RU, NU
Goal:
Page 16
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
Find location by name
Main Scenario:
1.
2.
3.
4.
5.
6.
7.
On the main menu select ‘Locations’
A locations web page opens
Enter location name into ‘location name’ text box
Click ‘GO!’ button
A list of found locations opens
Find desired location name and click on it
A list of articles and comments for location opens
Extensions:
- if an error occurs, the error page appears
3.3.4 Use case "search locations by category hierarchy"
Initiator:
RU, NU
Goal:
Find location by searching location categories
Main Scenario:
1.
2.
3.
4.
5.
6.
7.
8.
9.
On the main menu select ‘Locations’
A locations web page opens
Click ‘Search categories’
A web page with category tree opens
Expand category tree to the desired category
Click on desired category’s name
A list of locations in desired category opens
Find the desired location an click on it’s name
A list of articles and comments for location opens
Extensions:
- if an error occurs, the error page appears
3.3.5 Use case "search locations on a map"
Initiator:
RU, NU
Goal:
Find location by searching on a map
Main Scenario:
1.
2.
3.
4.
5.
6.
7.
On the main menu select “Locations”
A locations web page opens
Click ‘Search on a map’
A map with existing location opens
Click on desired place mark
Click ‘See more’
A list of articles and comments for location appears
Extensions:
- if an error occurs, the error page appears
3.3.6 Use case "view location"
Initiator:
RU, NU
Goal:
View location content, articles, comments, etc.
Main Scenario:
1. Search locations either by name(3.3.3), by category hierarchy (3.3.4) or on a
map(3.3.5)
Page 17
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
2. Location data is shown
i. basic location data (name, categories, rank)
ii. short description for articles
iii. comments
Extensions:
- This action can be initiated by User or Registered User, but Registered has some
more rights (see „view location“ in Registered user section)
3.3.7 Use case "view location article"
Initiator:
RU, NU
Goal:
View article content
Main Scenario:
1.
2.
3.
View location data (3.3.6)
Find the desired article and click ‘Read more’ next to article description
A page with article content opens
Extensions:
- if an error occurs, the error page appears
3.3.8 Use case "register"
Initiator:
NU
Goal:
Register to GeoLog
Main Scenario:
1.
2.
3.
4.
5.
6.
7.
Click ‘REGISTER’ button that appears under login form on right side of every
page
Registration page opens
Enter user profile information (user name, country, e-mail address, password)
Enter security information (question and an answer)
Click ‘Register’ button
A confirmation link is sent via e-mail to specified e-mail address
Click on confirmation link to activate account
Extensions:
- if an error occurs, the error page appears
Page 18
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
3.4 Use case “Registered user"
3.4.1 Use case "view most popular locations"
Initiator:
NU, RU
Goal:
Find locations with best ranking last month
Main Scenario:
See 3.3.1
3.4.2 Use case "view news"
Initiator:
NU, RU
Goal:
Get news about GeoLog system
Main Scenario:
See 3.3.2
3.4.3 Use case "search locations by name"
Initiator:
RU, NU
Goal:
Find location by name
Main Scenario:
See 3.3.3
3.4.4 Use case "search locations by category hierarchy"
Initiator:
NU, RU
Goal:
Find location by searching location category tree
Page 19
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
Main Scenario:
See 3.3.4
3.4.5 Use case "search locations on a map"
Initiator:
NU, RU
Goal:
Find location by searching on a map
Main Scenario:
See 3.3.5
3.4.6 Use case "view location"
Initiator:
RU
Goal:
View location data, articles, comments, etc.
Main Scenario:
Steps are same as with User (See 3.3.6), but RU has additional options:
1. RU can select "add new article"
2. RU can select "add comment"
3. RU can select "report unsuitable content"
3.4.7 Use case "login"
Initiator:
RU
Goal:
Login as a registered user (User -> Registered User)
Main Scenario:
1.
2.
3.
Enter username and password in login form on right side of every page
Click „Login“
If login is successful user menu appears instead of login form
Extensions:
- if an error occurs, the error page appears
3.4.8 Use case "change user profile"
Initiator:
RU
Goal:
Registered user can change his personal data
Main Scenario:
1.
2.
3.
4.
Click ‘Edit profile’ in user menu on right side of every page
User profile page appears
Edit information
Press ‘Submit’ button to save changes
Extensions:
- if an error occurs, the error page appears
- if ‘Cancel’ button is pressed, profile is not changed
3.4.9 Use case "add new location"
Initiator:
RU
Page 20
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
Goal:
Add new location to GeoLog
Main Scenario:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
On the main menu select ‘Locations’
A locations web page opens
Click ‘Add location…’
A web page with map and three textboxes opens
Click desired location’s position on a map
Chosen latitude and longitude appears in corresponding textboxes
Enter location name and click ‘Submit’
Web page with category tree opens
Check desired categories for new location and click ‘Submit’
New article editor appears
Enter article title, article description and article content
Click ‘ Submit’ to add new location and article for that location
Extensions:
- if the user hits the ‘Cancel’ button, no location is added
- if an error occurs, the error page appears
3.4.10 Use case "add new article to existing location"
Initiator:
RU
Goal:
Add article about location to GeoLog
Main Scenario:
1.
2.
3.
4.
5.
Search locations either by name(3.4.3), by category hierarchy (3.4.4) or on a
map(3.4.5)
On the page with a list of articles and comments for location click ‘Add new
article’
A web page with article editor opens
Enter article title, article description and article content
Click ‘Submit’ to add a new article to location
Extensions:
- if the user hits the ‘Cancel’ button, no article is added
- if an error occurs, the error page appears
3.4.11 Use case "add comment to existing location"
Initiator:
RU
Goal:
Add new comment about location to GeoLog
Main Scenario:
1.
2.
3.
4.
5.
Search locations either by name(3.4.3), by category hierarchy (3.4.4) or on a
map(3.4.5)
On the page with a list of articles and comments for location click ‘Add
comment’
A web page with comment editor opens
Enter comment title and comment body
Click ‘Submit’ to add a new comment to location
Extensions:
- if the user hits the ‘Cancel’ button, no comment is added
- if an error occurs, the error page appears
-
Page 21
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
3.4.12 Use case "vote for interesting article"
Initiator:
RU
Goal:
Add new vote for interesting article to GeoLog
Main Scenario:
1.
2.
3.
View location article (3.4.14)
Check radio button for desired rank
Click on ‘Vote!’ button
Extensions:
- user can vote for an article only once
- if an error occurs, the error page appears
3.4.13 Use case "report unsuitable content"
Initiator:
RU
Goal:
Report inappropriate content in GeoLog
Main Scenario:
1.
2.
3.
4.
5.
Search locations either by name(3.4.3), by category hierarchy (3.4.4) or on a
map(3.4.5)
On the page with a list of articles and comments for location click ‘Report
unsuitable content’
Web page with report editor appears
Enter report title and content
Click ‘Submit’ to send report
Extensions:
- e-mail is sent to corresponding CA
- if an error occurs, the error page appears
3.4.14 Use case "view location article"
Initiator:
RU, NU
Goal:
View article content
Main Scenario:
See 3.3.7
3.4.15 Use case "forgotten password"
Initiator:
RU
Goal:
Get new password in case of forgotten password
Main Scenario:
1.
2.
3.
4.
5.
6.
Click ‘Password forgotten?’ button that appears under login form on right side
of every page
A page with text box opens
Enter your user name into user name text box and click ‘Send’ button
A security question and an empty text box appears
Enter answer to your security question into answer text box
Click ‘Get Password’ button to get a new password
Extensions:
- new password is sent to user e-mail
Page 22
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
- if an error occurs, the error page appears
Page 23
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
4. Requirements Definition
4.1 Requirement Group Definitions
Identification
SA
UA
CA
PC
RNK
WEB
Requirement Group
Rem.
System administration
Users administration
Content administration
Project core
Ranking
Web design
4.2 Requirement Sources
Source
Description
Customers (Mario Žagar, Igor Čavrak)
Required as a consequence of system design (contractor’s
requirement)
Developers suggestion
Ctm
Sys
Ds
Rem.
4.3 Requirements definitions
Identity
Sta
tus
PC-1
PC-2
PC-3
I
I
I
UA-1
UA-2
UA-3
UA-4
UA-5
UA-6
UA-7
UA-8
UA-9
UA-10
UA-11
UA-12
UA-13
UA-13-1
UA-13-2
UA-14
I
I
I
I
I
I
I
I
I
I
I
I
I
I
A
I
Prio
rity
1
3
2
2
3
2
3
1
2
1
2
2
1
2
2
2
Description
Project Core
Handling multiple database systems
Hibernate DAO implementation
Integration using Spring framework
Users administration
Multiple users privileges (SA, CA, user, guest)
Deleting users (SA)
Banning/unbanning users (CA)
Editing user information’s (SA)
Generic user for articles from deleted users
Users status checking (CA)
Users ranking
Safe registering user method; sending confirmation e-mail
Safe password retrieval method; security question/answer
User promotion to CA for one or more specific categories (SA)
Changing categories assigned to CA
Removing CA
Ensure privileged users
Boundary rank for privileged user
Minimum number of articles for privileged user
User can edit his profile
Source
Ctm
Sys
Ds
Ctm
Ctm
Ctm
Sys
Ctm
Ctm
Ctm
Ds
Ds
Ctm
Ctm
Ctm
Ctm
Ctm
Ctm
Sys
Page 24
GeoLog
Requirements Definition
UA-15
A
3
CA-1
CA-2
CA-3
CA-3-1
CA-3-1-1
CA-3-1-2
CA-3-1-3
CA-3-2
CA-4
CA-5
CA-6
CA-7
CA-8
CA-9
CA-10
CA-11
CA-12
CA-12-1
CA-12-2
CA-12-3
CA-13
CA-14
CA-15
CA-16
CA-17
CA-18
CA-19
CA-20
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
A
A
A
2
1
1
1
2
2
1
2
1
2
2
2
2
3
3
2
1
1
1
2
2
2
2
1
2
3
3
3
RNK-1
RNK-2
RNK-3
RNK-4
RNK-5
RNK-6
RNK-7
I
I
I
I
I
I
A
2
2
2
3
2
2
1
SA-1
SA-1-1
SA-1-2
SA-2
I
I
A
A
2
2
2
2
WEB-1
WEB-2
WEB-3
WEB-4
I
A
I
A
3
3
2
2
Version:
1.1.0
Date: 2007-12-27
Scheduled deleting of non-activated users
Content administration
Adding new categories (CA)
Categories have hierarchy
Adding new locations
Adding new articles
Adding links in articles
Adding pictures to articles
Adding text to articles
Adding comments
More articles for location
More comments for location
Article refusing/approving
Comments refusing/approving
Location refusing/approving
Voting for locations
Location popularity ranking
Locations visible in “Google earth”
Location search by:
Location name
Category tree
On “Google maps”
News publishing (SA, CA)
CA can see all articles published by some user
CA can see all comments published by some user
Hierarchy is changeable
Report inappropriate content
Deleting unsuitable content (CA)
Deleting published news (SA)
Uploading images to local file system
Ranking
Article from privileged users publishes immediately
Article refusing decreases user’s rank
Comments refusing decreases user’s rank
Locations ranking take care about time value
Better ranked locations are visible from higher altitudes
Location refusing decreases user’s rank
Voting restrictions; user can vote for an article only once
System administration
Changing system properties (SA)
Changing boundary rank for privileged user
Changing min. number of articles for privileged user
Setting SMTP properties
Web
Using CSS for easier web design changes
Printing style sheet
Presenting locations using “Google maps”
Scalability when listing users, comments, news (pagination)
Ds
Ctm
Ctm
Ctm
Sys
Ctm
Ctm
Ctm
Ctm
Ctm
Sys
Sys
Sys
Sys
Sys
Ctm
Ctm
Ctm
Ctm
Ctm
Ctm
Ctm
Ctm
Ctm
Ctm
Sys
Ds
DS
Ds
Ds
Ds
Ctm
Ctm
Ds
Sys
Ctm
Ctm
Ctm
Sys
Ds
DS
Ctm
Ctm
Requirement status:
Page 25
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
I = initial (this requirement has been identified at the beginning of the project),
D = dropped (this requirement has been deleted from the requirement definitions),
H = on hold (decision to be implemented or dropped will be made later),
A = additional (this requirement was introduced during the project course).
4.3.1 Change Log
Identity
Acti
on
Date
UA-13-2
A
2007-11-18
SA-1-2
A
2007-11-18
WEB-4
A
2007-11-18
CA-18
A
2007-12-27
CA-19
A
2007-12-27
CA-20
A
2007-12-27
RNK-7
A
2007-12-27
WEB-2
A
2007-12-27
SA-2
A
2008-01-05
UA-15
A
2008-01-05
Comments
We agreed with the customer that rank is not sufficient criteria
for user to be privileged, and number of published articles must
also be taken into consideration when promoting user into
privileged user.
This is the consequence (System requirement) after adding
requirement UA-13-2
When listing users/comments/news not all of them are listed at
once but they are divided to pages.
Since reports about unsuitable content are sent to CAs, they
must have ability to delete reported inappropriate content
(content that is already published).
We added ability to delete published news (but this ability has
only SA)
Since uploading images to Panoramio has many restrictions, we
decided to implement uploading images to local file system.
This is a system requirement, user can’t vote for an article more
than once. User votes are stored in a table in database (userID,
articleID).
This is just an user friendly functionality, printing style sheet
adjusts the web-page design when it is printed
SA can change SMTP settings without restarting application.
To avoid misstated registrations and a large number of nonactivated users we are deleting users after the time for activating
account expires.
Requirement status:
D = dropped (this requirement has been deleted from the requirement definitions),
H = on hold (decision to be implemented or dropped will be made later),
A = added (this requirement was introduced during the project course).
R = resurrected (dropped or on hold requirement was reactivated)
5. Future Development
5.1 General Overview
GeoLog is in its essence very similar to Geoweb principles[http://en.wikipedia.org/wiki/Geoweb]
(merging of geographical (location-based) information with the abstract information that currently
dominates the Internet), but also implements ways of adding new content data about geospatial
locations. However, there are some common guidelines in which we will focus our future development.
GeoLog is not tool for Web mapping, but it is advisable to use Web mapping services for representing
Page 26
GeoLog
Requirements Definition
Version:
1.1.0
Date: 2007-12-27
geospatial locations of content data. Therefore it has to have firmly defined interface for connectivity
plugins.
Implementing of Web GIS services, which are dealing with both Web mapping and location (geospatial
content data), looks like the most demanding, but also most desirable service.
5.2 Integration with Web mapping tools
Virtual globes are accessible and easy to handle tools for representation of the Earth or another world.
They are very common, affordable (free! just the price of downloading data) and widely used among
peoples all around the world which makes them ideal tool for distribution of location content data.
Virtual Globes:
 Google Earth
 NASA World Wind
 Microsoft 3D Virtual Earth
Mapping web sites are ideal for representing spatial data on different web sites.
Mapping web sites:
 Google Maps
 Yahoo Maps
 Windows Live Local
Therefore GeoLog must have possibilities to integrate with these tools. Some of them are already taken
into account.
Data organization and representation
Use of GIS has trend of everyday increasing popularity, thereafter data organization and representation
becomes bigger problem. A Geo informational retrieval (GIR) system comes as a solution to address
issues regarded to high traffic and demanding data retrieving.
GeoLog database infrastructure is just first generation and therefore not intended for high traffic use
and GIR services. So we should take in consideration possibilities of integrating it with some future
database services with additional GIS modules. For example 11g Oracle Spatial & Oracle locator, etc.
Enabling these modules would give a good infrastructure for variety of other GIS services. Location
GIS services Network modeling, management, and analysis are common tasks for Geographic
Information Systems (GIS). Network analysis includes routing (path computation) in transportation
networks, tracing (accessibility) in utility networks, and resource allocation in decision-making and
customer relationship management (CRM) applications. Therefore they are very important to take in
consideration when developing Geo oriented systems.
We can divide these services on two similar but distinct areas.
5.2.1 Services based on proximity
Examples:


Nearest Neighbors: What are the N nearest neighbors of a given location?
Within Cost: Find all points of interest within a certain distance from a designated location
5.2.2 Services based on connectivity
Examples:
 Shortest Path: The shortest path from node A to node B
 Shortest Path or Fastest Path
Page 27
GeoLog
Requirements Definition





Version:
1.1.0
Date: 2007-12-27
Accessibility Analysis: Is node A accessible from node B?
Minimum-Cost Spanning Tree: What is the minimum-cost tree that connects all nodes?
Within Cost Analysis: What nodes are within a given cost from (to) a given node?
K Shortest Paths: What are the K shortest paths from node A to node B?
Traveling Salesman Problem: What is the minimum-cost tour that visits a set of cities?
5.3 GeoLog as a social network
GeoLog has variety of uses. Basically it’s a yellow page informational community network. Social
networks are much more popular and in the future GeoLog should offer some social network services
or integrate to already existent like Facebook, MySpace, etc...
5.4 GeoLog “on the road”
There are already services which connects people “on the road”, that is work with subject’s location
and locations of others members of community. Next step is connecting these dynamic location
services with virtual social networks, that is -give them their physical representation. Precondition is, of
course, cognition of subject (current) location, subject is eligible to carry GPS device connected to
mobile device (CDC or CLDC). This is not so strange in today technical community in which almost
every citizen of the modern world has some kind of mobile device. Device with integrated GPS are not
so expensive nowadays, there are solutions available even from 79$.
Implementing these services would give one new dimension in everyday’s functionality of peoples
involved. For example let’s take next situation:
Today is weekend and I have/wants lots of things to do. I have to go to the shop (which works till 3
o’clock), I have to check grandma after lunch, wants to go with Peter to cinema at movie which is
shown at 17, 19 or 21 o’clock. Then I would like to go to some discount shops in center. In center I
have to go with subways (they have fixed, known, departure times) and move from shop to shop by
bus, walk or again subway. Even with these things to take care about I would like to meet my friends
Susan and Ann which also are also “on the run” and take 15 min coffee break with each.
On my mobile GPS enabled device I can set these points and select friends to meet. System has to take
all these factors into consideration, follow me if I change the route, solve dynamic traveling salesman
problem and give me advice about my movement so I can make it all and meet some of my friends.
Is it a science fiction? Probably, but not for so long.
5.4.1 Integration with GPS devices
Car GPS devices are affordable and common in most of the vehicles in perspective western countries.
They are rapidly increasing trend. Nobody wants to get lost and beside that, they are fancy and
becoming must have toys.
So we also must take in consideration connecting with these devices.
Car GPS devices with integrated internet connectivity should be able to connect to our service and get
data about surrounding locations. Car GPS devices without that possibility should be able to download
that data through some computer application so therefore GeoLog should be familiar to these
applications (GPSBabel, etc).
First step is to take account of integration with format which is standardized in these tools – GPX. It’s a
variant of Geographic Markup Language (GML), which is basically standardized format of XML with
few types of representing geospatial location.
Page 28
Download