software requirements specification document softwa gpre...
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