software requirements specification document softwa gpre...

22
Software Requirements Specification Document Rev 1.0 Drafted by: Di Simone Alessio 068/100005 Di Sorbo Alessandro 068/100254 Ragni Domenico 068/100006 Romano Enrico 068/100030 Serino Antonio 068/100061 Supervision by: Prof. Antoniol Giulio Approved by: Title Date Signature Prof. Antoniol Giulio Team Supervisor Romano Enrico Team Leader Di Simone Alessio Team Member Di Sorbo Alessandro Team Member Ragni Domenico Team Member Serino Antonio Team Member 3/15/02 SF.BART Grass P ost Software Requirements Specification Document

Upload: others

Post on 19-Apr-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

Software Requirements Specification DocumentRev 1.0

Drafted by:Di Simone Alessio 068/100005Di Sorbo Alessandro 068/100254Ragni Domenico 068/100006Romano Enrico 068/100030Serino Antonio 068/100061

Supervision by:Prof. Antoniol Giulio

Approved by: Title Date Signature

Prof. Antoniol Giulio Team SupervisorRomano Enrico Team LeaderDi Simone Alessio Team MemberDi Sorbo Alessandro Team MemberRagni Domenico Team MemberSerino Antonio Team Member

3/15/02 SF.BART

GrassPostSoftware Requirements Specification

Document

Software Requirements Specification DocumentRev 1.0

Index1 Introduction..............................................................................................................................................2

1.1 Background............................................................................................................................21.2 Purpose & Scope...................................................................................................................31.3 Glossary of Terms................................................................................................................41.4 Definitions, Acronyms and Abbreviations.....................................................................51.5 References..............................................................................................................................5

1.5.1 PostGrass Project Documents...................................................................................51.6 Overview.................................................................................................................................6

2 Overall Description................................................................................................................................7

2.1 Product Perspective.............................................................................................................72.2 Product Functions................................................................................................................72.3 User Charateristic.................................................................................................................82.4 Constraints.............................................................................................................................8

3 Specific Requirements...........................................................................................................................9

3.1 External interface requirements.......................................................................................93.2 Function Requirements.......................................................................................................9

3.2.1 Overview of DataBase Interaction............................................................................93.2.1.1 Create a DataBase with PostGIS extension Use Case.................................103.2.1.2 Drop a DataBase with PostGIS extension Use Case...................................11

3.2.2 Overview of PostGrass System Interaction..........................................................123.2.2.1 Open a connection on a PostGrass DataBase..............................................133.2.2.2 Perform a write line on the DataBase............................................................143.2.2.3 Perform a rewrite line on the DataBase........................................................153.2.2.4 Perform a read line on the DataBase.............................................................163.2.2.5 Perform a read next line on the DataBase...................................................173.2.2.6 Perform a rewind on the DataBase................................................................183.2.2.7 Close a connection to a PostGrass DataBase...............................................19

3.3 Design Constraints............................................................................................................203.4 Software System Attributes.............................................................................................20

3.4.1 Reliability, Availability, Security, Maintainability, Portability.........................20

3/15/02 1 SF.BART

Software Requirements Specification DocumentRev 1.0

1 IntroductionThis document is the first artifacts in the development life cycle of the product. It ’sa guideline for designers and developers about the functionalities performed and theproblems that the system solves.

1.1 Background

Project title: PostGrass GRASS extension to the PostGIS functionalities

Rapid overview on the project environment:

GRASS (Geographic Resources Analysis Support System) is a raster based GIS,vector GIS, image processing system, and graphics production system. GRASScontains over 200 programs and tools to render maps and images on monitor andpaper; manipulate raster, vector, and sites data; process multi−spectral image data;and create, manage, and store spatial data. GRASS uses both an intuitive windowsinterface as well as command line syntax for ease of operations. GRASS caninterface with commercial printers, plotters, digitizers, and databases to develop newdata as well as manage existing data.

GRASS is ideal for use in engineering and land planning applications. Like otherGIS packages, GRASS can display and manipulate vector data for roads, streams,boundaries, and other features. GRASS can also be used to keep maps updated withits integral digitizing functions. Another feature of GRASS is its ability to use raster,or cell, data. This is particularly important in spatial analysis and design. GRASSfunctions can convert between vector data to raster data for seamless integration.

GRASS’ strengths lie in several fields. The simple user interface makes it an idealplatform for those learning about GIS for the first time. GRASS is capable ofreading and writing maps and data to many popular commercial GIS packagesincluding ARC/Info and Idrisi. Users wishing to write their own code can do so byexamining existing source code, interfacing with the documented GIS libraries, andusing the GRASS Programmers Manual. This allows more sophisticatedfunctionality to be integrated in GRASS.

The ability to work with raster data gives GRASS the unique ability to function as asurface modeling system. GRASS contains more than 100 multi−function rasteranalysis and manipulation commands. Surface processes such as rainfall−runoffmodeling, flowline construction (as shown), slope stability analysis, and spatial data

3/15/02 2 SF.BART

Software Requirements Specification DocumentRev 1.0

analysis are just a few of the many applications of GRASS to engineering and landplanning. Since many of the raster tools are multi−functional, users can create theirown maps from GRASS data analysis.

In addition to standard two−dimensional analysis, GRASS allows users to view datain three−dimensions. Raster maps, vector maps, and sites data can be used forvisualization. Example applications of such capabilities include airspace analysis forairport planning (as shown), terrain analysis and flybys , and spatial trends. Tools inGRASS allow the user to animate any spatial data available with options to switchbetween data layers on−the−fly . Data used in 3−D visualization may also be savedas still pictures, or as mpeg movie files for later replay and analysis.

Accompanying its land planning and engineering applications, GRASS contains asuite of tools to aid in hydrologic modeling and analysis. Currently, tools are alsoavailable for performing such functions as watershed analysis, curve numbergeneration, flood analysis, and stream channel characteristics for comprehensivewatershed modeling. Other GRASS programs can generate graphs, statistics, andcharts of modeled and calibrated data. Additionally, GRASS can use field data formodel input or simulate parameters based on numerical data.

In addition to the traditional command line version of GRASS, a new user interface,based on Tcl/Tk has been written. This puts the power of spatial analysis andmodeling into an easy to use Graphical User Interface that is platform−independent.This intuitive user interface lets users quickly and easily view, manipulate, and usedata. Nearly all of the programs available in GRASS are available in the new GUI,with the standard command−line still available, giving users all of the functionalityof GRASS. [Refer to GRM for more information]

1.2 Purpose & Scope

A new GRASS vector format and library is under development (GRASS 5.1).Thenew vector support is based on flat files for geometry and RDBMS for attributes.This solution is suitable for many tasks but doesn’t allow simultaneous editing bymore users and all the other advantages available for RDBMS. The idea for GRASS5.1 is to support both flat files and RDBMS for geometry. This research shouldresult into working code applicable to future version of GRASS and discoverpotential problems.The aim is to write (modify) all the functions which writes and reads primitivesto/from PostGIS database tables.

3/15/02 3 SF.BART

Software Requirements Specification DocumentRev 1.0

1.3 Glossary of TermsA B C D E

FFunction A defined objective or characteristic action of a system or component. Asoftware module that performs a specific action, is invoked by the appearance of itsname in an expression, may receive input values and returns a single value.

G H

IInterface A connection between two devices or systems.

J K

LLibrary A controlled collection of software and related documentation designedto aid in software development, use or maintenance.

M

NNetwork Describes the physical hardware and software connections betweencomputers allowing information to be shared and electronic communications to takeplace.

O

PPatch A modification made directly to an object program without reassembling orrecompiling from the source program.Portability The ease with which a system or component can be transferred fromone hardware or software environment to another.Project The combined resources (people, machines, materials), processes, andactivities that are dedicated to building and delivering a product to a customer.

Q

3/15/02 4 SF.BART

Software Requirements Specification DocumentRev 1.0

RRequirements The statement of needs by a user that triggers the development of aprogram, system, or project. May be called business functional requirements orrequirement specifications.

S T U V W X Y Z

1.4 Definitions, Acronyms and Abbreviations

GRASS Graphical Resources Analysis Support SystemSFRD or PSFRD PostGrass Software Feasibility Research Document SRS or PSRS PostGrass Software Requirement Specification DocumentSDD or PSDD PostGrass Software Design Description DocumentTVRRD or PTVRRD PostGrass Test or Validation Result Report DocumentUD or PUD PostGrass User DocumentationTBD To Be DeterminedCD Create a DataBase with PostGIS extension Use CaseDD Drop a DataBase with PostGIS extension Use CaseOCD Open a connection on a PostGrass DataBasePWD Perform a write line on the DataBasePRD Perform a rewrite line on the DataBasePRDD Perform a read line on the DataBasePRND Perform a read next line on the DataBasePRWD Perform a rewind on the DataBaseCCD Close a connection to a PostGrass DataBase

1.5 References

The following document are used as design and development requirements of thePostGrass system parts.

1.5.1 PostGrass Project Documents

Grass Reference Manual (GRM)PostGrass Software Feasibility Research Document (SFRD)

3/15/02 5 SF.BART

Software Requirements Specification DocumentRev 1.0

1.6 Overview

The document is organized following the IEEE std 830−1998.

3/15/02 6 SF.BART

Software Requirements Specification DocumentRev 1.0

2 Overall Description

2.1 Product Perspective

The product PostGrass is not a complete system, but it’s an integral part of theSoftware GRASS. This document will be useful during the development of futureproject tied to the functionalities implemented in the PostGrass project.

2.2 Product Functions

Create a DataBase with PostGis extension (PostGrass DataBase)

~

Drop a DataBase with PostGis extension (PostGrass DataBase)

~

Open a connection to a PostGrass DataBase

~

Close a Connection to a PostGrass DataBase

~

Perform a read line on the DataBase

~

Perform a read next line on the DataBase

~

Perform a rewind on the DataBase

Reset the reading status to the first read line

Perform a write line on the DataBase

~

Perform a rewrite line on the DataBase

~

3/15/02 7 SF.BART

Software Requirements Specification DocumentRev 1.0

2.3 User Characteristic

A PostGrass User is the PostGis user which own the table defined in the frmt fileexample relative to a PostGrass DataBase as indicated in the Feasibility ResearchDocument (SFRD).Every User has reading permission on every table.

2.4 Constraints

Library must be reliable in multi user environment (for writing).Simultaneous write access by more clients must be available.Library should be optimized for speed.Binary cursors should be used, and geometry read directly from geometry structure.Solution must be platform independent, please pay attention to byte order issues.The solution must permit to handle:

Native vector on local machine.Native vector on NFS.PostGIS vector on a local server.PostGIS vector on a remote server (other machine in network).

3/15/02 8 SF.BART

Software Requirements Specification DocumentRev 1.0

3 Specific Requirements

3.1 External interface requirements

None.

3.2 Function Requirements

3.2.1 Overview of DataBase Interaction

3/15/02 9 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.1.1 Create a DataBase with PostGIS extension Use Case

Use Case Id: CD

Use Case: Create a DataBase with PostGIS extension Use Case

Description: ~

Exceptions: None

Actors: User postmaster

Use Case Extends: None

Use Case Uses: None

Use Case inputs/Preconditions: Postgis features and DataBase name

Use Case outputs/Postconditions: None

Acceptance Criteria: None

Related Expectations: Perform a creation correctly

Related Use Cases or Requirements:

~

Keywords: ~

Status Release Priority Stability UnderstandingLevel

Final 1 Stable Stable Known

Version Date Compiled by1 12/02/02 Developers

Notes: ~

3/15/02 10 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.1.2 Drop a DataBase with PostGIS extension Use Case

Use Case Id: DD

Use Case: Drop a DataBase with PostGIS extension Use Case

Description: ~

Exceptions: None

Actors: User Postmaster

Use Case Extends: None

Use Case Uses: None

Use Case inputs/Preconditions: PostGIS features and DataBase name

Use Case outputs/Postconditions: None

Acceptance Criteria: None

Related Expectations: Perform a drop correctly

Related Use Cases or Requirements: CD

Keywords: ~

Status Release Priority Stability Understanding LevelFinal 1 Stable Stable Known

Version Date Compiled by1 12/02/02 Developers

Notes: ~

3/15/02 11 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.2 Overview of PostGrass System Interaction

3/15/02 12 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.2.1 Open a connection on a PostGrass DataBase

Use Case Id: OCD

Use Case: Open a connection on a PostGrass DataBase

Description: ~

Exceptions: None

Actors: User defined in the frmt file concerning vector

Use Case Extends: None

Use Case Uses: None

Use Case inputs/Preconditions: PostGIS features and DataBase features

Use Case outputs/Postconditions: None

Acceptance Criteria: None

Related Expectations: Perform a connection correctly

Related Use Cases or Requirements: CD

Keywords: ~

Status Release Priority Stability Understanding LevelFinal 1 Stable Stable Known

Version Date Compiled by1 12/02/02 Developers

Notes: ~

3/15/02 13 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.2.2 Perform a write line on the DataBase

Use Case Id: PWD

Use Case: Perform a write line on the DataBase

Description: ~

Exceptions: None

Actors: User defined in the frmt file concerning vector

Use Case Extends: None

Use Case Uses: None

Use Case inputs/Preconditions: PostGIS features and DataBase features

Use Case outputs/Postconditions: None

Acceptance Criteria: None

Related Expectations: Perform a write line correctly

Related Use Cases or Requirements: CD, OCD

Keywords: ~

Status Release Priority Stability Understanding LevelFinal 1 Stable Stable Known

Version Date Compiled by1 14/02/02 Developers

Notes: ~

3/15/02 14 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.2.3 Perform a rewrite line on the DataBase

Use Case Id: PRD

Use Case: Perform a rewrite line on the DataBase

Description: ~

Exceptions: None

Actors: User defined in the frmt file concerning vector

Use Case Extends: None

Use Case Uses: None

Use Case inputs/Preconditions: PostGIS features and DataBase features

Use Case outputs/Postconditions: None

Acceptance Criteria: None

Related Expectations: Perform a rewrite line correctly

Related Use Cases or Requirements: CD, OCD

Keywords: ~

Status Release Priority Stability Understanding LevelFinal 1 Stable Stable Known

Version Date Compiled by1 14/02/02 Developers

Notes: ~

3/15/02 15 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.2.4 Perform a read line on the DataBase

Use Case Id: PRDD

Use Case: Perform a read line on the DataBase

Description: ~

Exceptions: None

Actors: User defined in the frmt file concerning vector

Use Case Extends: None

Use Case Uses: None

Use Case inputs/Preconditions: PostGIS features and DataBase features

Use Case outputs/Postconditions: None

Acceptance Criteria: None

Related Expectations: Perform a read line correctly

Related Use Cases or Requirements: CD, OCD

Keywords: ~

Status Release Priority Stability Understanding LevelFinal 1 Stable Stable Known

Version Date Compiled by1 14/02/02 Developers

Notes: ~

3/15/02 16 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.2.5 Perform a read next line on the DataBase

Use Case Id: PRND

Use Case: Perform a read next line on the DataBase

Description: ~

Exceptions: None

Actors: User defined in the frmt file concerning vector

Use Case Extends: None

Use Case Uses: None

Use Case inputs/Preconditions: PostGIS features and DataBase features

Use Case outputs/Postconditions: None

Acceptance Criteria: None

Related Expectations: Perform a read next line correctly

Related Use Cases or Requirements: CD, OCD

Keywords: ~

Status Release Priority Stability Understanding LevelFinal 1 Stable Stable Known

Version Date Compiled by1 14/02/02 Developers

Notes: ~

3/15/02 17 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.2.6 Perform a rewind on the DataBase

Use Case Id: PRWD

Use Case: Perform a rewind on the DataBase

Description: Reset the reading status to the first read line

Exceptions: None

Actors: User defined in the frmt file concerning vector

Use Case Extends: None

Use Case Uses: None

Use Case inputs/Preconditions: PostGIS features and DataBase features

Use Case outputs/Postconditions: None

Acceptance Criteria: None

Related Expectations: Perform a rewind correctly

Related Use Cases or Requirements: CD, OCD

Keywords: ~

Status Release Priority Stability Understanding LevelFinal 1 Stable Stable Known

Version Date Compiled by1 14/02/02 Developers

Notes: ~

3/15/02 18 SF.BART

Software Requirements Specification DocumentRev 1.0

3.2.2.7 Close a connection to a PostGrass DataBase

Use Case Id: CCD

Use Case: Close a connection to a PostGrass DataBase

Description: ~

Exceptions: None

Actors: User defined in the frmt file concerning vector

Use Case Extends: None

Use Case Uses: None

Use Case inputs/Preconditions: PostGIS features and DataBase features

Use Case outputs/Postconditions: None

Acceptance Criteria: None

Related Expectations: Perform a close correctly

Related Use Cases or Requirements: CD, OCD

Keywords: ~

Status Release Priority Stability Understanding LevelFinal 1 Stable Stable Known

Version Date Compiled by1 12/02/02 Developers

Notes: ~

3/15/02 19 SF.BART

Software Requirements Specification DocumentRev 1.0

3.3 Design Constraints

Must use C programming language to develop the project.Must use postgreSQL with PostGIS extension.

3.4 Software System Attributes

3.4.1 Reliability, Availability, Security, Maintainability, Portability

The product satisfied the committent’ requirements when:

We develop a patch file for pgrass.The patched pgrass must be able to import/export ascii files (v.in/out.ascii grassmodule) to postgres and data created in postgres tables must be readable byPostGIS functions and identical with original ascii files.The functionality will be tested on ’mcat’ and ’multi’ from pgdata package inthe same way which can be seen in ’io’ script in pgdata. The simultaneous write access by more clients must be available. The short report about technical problems faced during the project and ideas forfuture development and improvements.

3/15/02 20 SF.BART

Software Requirements Specification DocumentRev 1.0

Developedby

SF.BARTSF.BARTeam©

segmentation fault beyond any reason team

[email protected] 2002©

3/15/02 21 SF.BART