4. Requirements Definition

advertisement
Schematizing Maps
Requirements Definition
Version:
0.2
Date: 2010-10-01
Schematic Maps
Requirements Definition
Version 0.2
Page 1
Doc. No.:
Schematizing Maps
Requirements Definition
Version:
0.2
Date: 2010-10-01
Revision History
Date
Version
Description
Author
2010-09-26
0.1
Initial Draft
Martin Vrkljan
2010-10-01
0.2
Updated section 2.5, 3.14-3.17, 4.3 and 5.4
Zhixiang Gao
Page 2
Schematizing Maps
Requirements Definition
Version:
0.2
Date: 2010-10-01
Table of Contents
1.
2.
3.
Introduction
4
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
4
4
4
4
4
4
5
Requirements Description
5
2.1
2.2
2.3
2.4
2.5
2.6
2.7
5
5
5
5
5
6
6
Use Case Models
3.1
4.
6
Use case model “User”
3.1.1 Use case “Load image of a geographical map”
3.1.2 Use case “Draw lines and stations”
3.1.3 Use case “Apply schematizing algorithm”
3.1.4 Use case “Save schematic map as an image”
3.1.5 Use case “Import MDM file”
3.1.6 Use case “Export MDM file”
3.1.7 Use case “Editing on existing schematic map”
6
7
7
7
8
8
8
9
Requirements Definition
4.1
4.2
4.3
5.
Introduction
General requirements
Business requirements
User requirements
Algorithm requirements
Functional requirements
Non-functional requirements
9
Requirement Group Definitions
Requirement Sources
Requirements definitions
4.3.1 Change Log
9
9
9
10
Future Development
11
5.1
5.2
5.3
5.4
11
11
11
11
General Overview
Input data import
Output data export
Extensibility
Page 3
1.
Introduction
1.1
Purpose of this document
The purpose of this document is to define the necessary requirements for the Schematizing
Maps project.
1.2
Intended Audience

DSD teachers and project supervisors

Project proposer and customers

Team members
1.3
Scope
This document concentrates on requirements and necessary software functionality
descriptions.
1.4
Definitions and acronyms
1.4.1
Definitions
Keyword
Schematizing Maps
Schematic map
Octilinear
1.4.2
Definitions
Project name and also team name.
A map displaying landmarks connected by routes which follow
certain esthetic constraints, organized to preserves geographical
relationships, but not necessarily the geographical distances. It
usually serves as a graphical representation of a mental map of
geographical locations.
An octilinear drawing of a graph is a drawing which constraints
edges to horizontal, vertical and diagonal orientation, resulting in
eight different directions.
Acronyms and abbreviations
Acronym or
abbreviation
API
FER
GIS
IDE
JDK
MDH
MDM
SVN
Definitions
Application Programming Interface
Fakultet elektrotehnike i računarstva (University of Zagreb,
Croatia)
Geographic Information System
Integrated Development Environment
Java Development Kit
Mälardalens Högskola (Malardalen University, Sweden)
Million Dollar Map, product own output file format
Subversion, an open source version control system
1.5
References

Project DSD home page
http://www.fer.hr/rasip/dsd/projects/schematizing_maps

Project Google group
http://groups.google.com/group/dsd-schematizing-maps
2.
Requirements Description
2.1
Introduction
The customer has asked for an application which could aid a map designer in creating schematic
maps. As a team, we have been given a lot of freedom in defining requirements. The customer gave us
certain guidelines within which those requirements should be made.
2.2
General requirements
We have decided to concentrate on the basic functionalities and create a simple, but robust
application, which could be used by amateurs and professionals alike. To describe what the application
is required to do in general, we can describe what the user should provide as an input, and what the
desired output would be.
On an abstract level, all that the application needs from the user are two sets of different entities:
the stations and the lines. The stations are fixed locations, while the lines connect those stations and
create different routes. On a more realistic level, those stations and lines can represent bus, tram or
metro stations and lines, or even possible guidelines for notable landmarks, bicycle routes, or any other
information that could be schematized in order to provide an more organized view of geographical
locations.
Once the user has defined the input data, the output should be a schematic map. A schematic
map is a special type of a map which is drawn with a particular set of constraints in mind. The purpose
of such a map is to offer a more organized view of geographical paths (routes, lines, etc.) which
contains the information of geographical relation of stations and lines, but not necessarily their
distance, as we will explain in the following sections.
2.3
Business requirements
Business requirements describe the need for building this application. In the next couple of lines
we will list which requirements should be met to satisfy the customer's (or potential user's) business.

The application should offer easy creation of schematic maps,

The application should produce a schematic map in a form that is printable, publishable on digital
media, and easily distributable to users of customer's business.
2.4
2.5
User requirements
User requirements describe the tasks that the user should be able to perform while using this
application. These tasks closely relate to the use case models.

The application should enable the user to easily create a schematic map based on his knowledge of
the network of stations and lines in question, regardless of his skill as a map designer,

The application should provide the user with a quality end result in form of a schematic map,
regardless of her knowledge or skill in mathematical algorithms, graph theory or graphical design.
Algorithm requirements
Algorithm requirements describe the expected behavior of schematizing algorithm and
constrains which the algorithm should comply.

The schematizing algorithm should roughly support the geographical relationships of stations. A station
which is located north from another station should not be positioned south of it on the schematic map.

The schematizing algorithm should respect the input topology of the user's drawing; if that drawing
represents the input graph, the embeddings of that graph must be preserved in the schematic map.
2.6
Functional requirements
Functional requirements define the expected behavior of the application and the operations it
can perform in order to enable the user to perform his tasks.

The application should enable the user to define the input data by drawing stations and lines that
connect them over an image of a geographical map.

The application should enable the user a certain amount of control over how the schematic map will
look. This should be handled by giving the user an option to work in a basic, fast mode with predefined
settings, and the option to work in an advanced mode with the ability to adjust certain settings.

The application should enable the user to save the input data and the output result for optional editing
in the future.

The application should enable the user to save the output result in a form that is printable and
publishable on a digital media.
2.7
Non-functional requirements
Non-functional requirements describe the constraints and contracts the application should
respect. Any requirements on the graphical interfaces, performances, implementation, standards and
similar should be listed here.

The application should be simple and easy to use, for amateurs and professionals alike,

The user interfaces should be simple and unobtrusive. The main use of each interface should be clearly
recognized, with only the necessary controls displayed and neatly organized,

The final output in form of a schematic map should adhere to certain constraints:
◦
Different lines should be displayed in different, contrasting colors. It must be clear which line
continues in which direction and through which stations,
◦
Line segments should be restricted to octilinear orientations: vertical, horizontal, and diagonal.
The degree of the diagonal orientation should be treated as an algorithm setting.
3.
Use Case Models
3.1
Use case model “User”
3.1.1
Use case “Load image of a geographical map”
Initiator:
User
Goal:
Have an image of a geographical map loaded and displayed.
Main Scenario:
1. A list of available images on the user's computer is displayed
2. The user selects the image file to be loaded and confirms his choice
3. The application loads the image file and display
Extensions:
- If the image fails to load, for whatever reason, the application notifies the user.
3.1.2
Use case “Draw lines and stations”
Initiator:
User
Goal:
Have a complete drawing of all the lines and stations displayed and ready to be
processed.
Main Scenario:
1.
2.
3.
4.
5.
Necessary controls for drawing lines and stations are displayed to the user
The user chooses and selects the object he wants to place on top of the
geographical map
The user places the selected object on top of the geographical map
The application displays every placed object with an appropriate visual
representation
Steps 2 – 4 are repeated until the user has defined all input data (that is, until
the user has drawn the network of lines and stations he wishes to schematize)
Extensions:
 If the user tries to perform an invalid placement of a certain object (for example, placing a station
on top of an existing station) the application will notify him.
3.1.3
Use case “Apply schematizing algorithm”
Initiator:
User
Goal:
Have the input data processed and the final result displayed in form of a schematic
map.
Main Scenario:
1.
2.
3.
The user clicks the “Generate” button
The application processes the input data by applying a schematizing algorithm
The application takes the final result and displays it in a form of a schematic
map
Extensions:
 The user can choose to generate the map in an advanced mode, in which case he can select
additional, custom settings:
 Custom angle for diagonal lines,
 Resolution of the grid the schematic map will conform to,
 Line colors,
 Possible additional settings
 If the algorithm cannot find a possible solution for the user's input, it notifies the user about the
problem.
3.1.4
Use case “Save schematic map as an image”
Initiator:
User
Goal:
Save the generated schematic map as an image file in file system.
Main Scenario:
1.
2.
The user clicks the “Save as…” button, then chooses saving directory of image,
The application generates the image of schematic map and stores it to user
chosen directory.
Extensions:
 The user can choose the format of output image (bmp, jpeg, png).
3.1.5
Use case “Import MDM file”
Initiator:
User
Goal:
Import MDM file from file system and display schematic map.
Main Scenario:
1.
2.
The user clicks the “Import” button, then chooses source MDM file from file
system,
The application reads source MDM file, then generates a schematic map
according to this MDM file.
Extensions:
 If an error occurs during importing, it notifies the user about the problem.
3.1.6
Use case “Export MDM file”
Initiator:
User
Goal:
Export generated schematic map to file system as a MDM file.
Main Scenario:
1.
2.
The user clicks the Export” button, then chooses destination directory,
The application generates a MDM file according to current schematic map and
stores it.
Extensions:
 If an error occurs during exporting, it notifies the user about the problem.
Use case “Editing on existing schematic map”
3.1.7
Initiator:
User
Goal:
Have the current schematic map edited and then regenerated.
Main Scenario:
1.
2.
The user edits on existing schematic map by changing colors, removing stations,
adjusting distance between stations and adjusting angle,
The application regenerates a schematic map according to user’s modification.
Extensions:
 Some operations of editing are limited by application according to the situation of current
schematic map.
 If application cannot find a possible solution for the user's modification, it notifies the user about
the problem.
4.
Requirements Definition
4.1
Requirement Group Definitions
Identification
IDD
SA
UI
FIO
4.2
Requirement Group
Rem.
Input Data Definition
Schematizing Algorithm
User Interface
File Input/Output
Requirement Sources
Source
Description
Customer (Michal Young) defined requirement
Required as a consequence of system design (contractor’s
requirement)
Developers suggestion
Ctm
Sys
Ds
4.3
Requirements definitions
Identity
IDD-1
Rem.
Sta
tus
Prio
rity
I
1
Description
Input Data Definition
Define underlying map
Source
Ds
IDD-1-1
IDD-2
IDD-2-1
IDD-2-2
IDD-2-2-1
I
I
I
I
I
1
1
1
1
2
I
SA-1
1
I
SA-2
2
I
SA-2
1
SA-3
SA-4
I
H
2
2
I
UI-1
1
I
UI-2
1
UI-3
I
1
UI-4
I
1
UI-5
I
1
UI-6
UI-7
UI-8
UI-9
I
I
I
I
1
1
2
2
FIO-1
I
1
Load image of a geographical map
Define input graph
Define route lines
Define stations
Define station labels
Schematizing Algorithm
Schematize input graph (basic)
- Geographical map
- User drawing stations
- User drawing lines
Schematize input graph (advanced)
- User defined angle
- User defined resolution
- User defined color
Adhere to schematic map constraints
- Octilinear orientations
- Distance between two stations
- Geographical relationships of stations
- User drawing topology
Define custom angle for diagonal line segments
Regenerating depends on edited schematic map
User Interface
Show basic drawing options
 Select line drawing
 Select station drawing
Show advanced options
 Select custom diagonal line segments angle
Show input graph details
 display underlying map
 display lines and stations
 display station labels
Call schematic map generation
Show output graph details
 Show schematized lines and stations
Open saved map file
Save map file
Rename station labels
Change route lines colors
File Input/Output
Define internal file format (MDM)
Requirement status:
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
Comments
Ds
Sys
Ctm
Ctm
Ds
Ctm
Ctm
Ctm
Ctm
Ds
Ds
Ds
Ds
Sys
Ctm
Ds
Ds
Ds
Ds
Sys
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
Future development of this project should go into extending existing features. The initial
application will be a simple one, with only the basic functionalities, but stable and robust, leaving room
for incremental improvement and upgrade modules.
5.2
Input data import
Importing data from other sources, thus enabling users who already have a set of defined station
networks in a different format (shape files, vector drawings, GIS databases, etc.) to use that data to
produce schematized maps quickly.
5.3
Output data export
Instead of just having a specific file format and a printable image, the output result could be
exported to different formats, such as vector graphics for an example. This would enable graphic and
map designers to create quality schematic maps by utilizing the functionality of our software and
graphic-manipulation functionalities of existing, professional software such as Adobe Illustrator.
5.4
Extensibility
Algorithm should developed in order to be able to reuse in other programs in the future. The
possibility of migrating to a web based application should be considered during the development.
Download