Software Requirements

GHOSTS requirements

REQ_GHOSTS_1

GHOSTS shall manage standard Genealogical Data file format

Lower level requirements:

REQ_GHOSTS_2

GHOSTS shall be consistent with GNU standards

Lower level requirements:

REQ_GHOSTS_3

GHOSTS shall support internationalization ; at least English and French languages shall be available

Lower level requirements:

REQ_GHOSTS_4

GHOSTS shall provide a command line tool to check validity of GEDCOM 5.5 files

Lower level requirements:

REQ_GHOSTS_5

GHOSTS shall provide a command line tool to provide metrics about GEDCOM 5.5 files

Lower level requirements:

REQ_GHOSTS_6

GHOSTS shall provide a graphical tool to display genealogical data

Lower level requirements:

REQ_GHOSTS_7

GHOSTS shall provide a graphical tool to define / update GEDCOM genealogical data

Lower level requirements:

REQ_GHOSTS_8

GHOSTS shall provide services to select particular records within a set of genealogical data

GEDCOMPARSER requirements

REQ_LIBGEDCOMPARSER_1

libgedcomparser shall provide a data structure to handle genealogical data

Upper level requirements:

REQ_LIBGEDCOMPARSER_2

libgedcomparser shall provide services to upload a GEDCOM 5.5 file into its data structure

Upper level requirements:

REQ_LIBGEDCOMPARSER_3

libgedcomparser shall provide services to dump its data structure into a GEDCOM 5.5 file

Upper level requirements:

REQ_LIBGEDCOMPARSER_4

The 'gedcomcheck' utility included in libgedcomparser shall be able to parse GEDCOM 5.5 files

Upper level requirements:

REQ_LIBGEDCOMPARSER_5

The 'gedcomcheck' utility shall exit with status '0' if an error occurs during GEDCOM 5.5 parsing (bad file format, file not found)

Upper level requirements:

REQ_LIBGEDCOMPARSER_6

The 'gedcomcheck' utility shall display metrics about GEDCOM 5.5 data input : number of individual records, number of family records ; those metrics shall be provided on user request

Upper level requirements:

REQ_LIBGEDCOMPARSER_7

The 'gedcomcheck' utility shall report the execution trace of the GEDCOM 5.5 parsing process ; this execution trace report shall be provided on user request.

Upper level requirements:

REQ_LIBGEDCOMPARSER_8

The 'gedcomcheck' utility shall be sensitive to the following standards GNU options :

-v or --version : give the version of libgedcomparser associated to gedcomcheck

-h or --help : give the available options of gedcomcheck

Upper level requirements:


REQ_LIBGEDCOMPARSER_9

All libgedcomparser messages outputs shall support internationalization ; at least English and French languages shall be available

Upper level requirements:

REQ_LIBGEDCOMPARSER_10

libgedcomparser shall provide services to modify genealogical data. Advanced services, assuring data integrity, shall be provided for the following operations:

Upper level requirements:

REQ_LIBGEDCOMPARSER_11

libgedcomparser shall provide a way to select individual without children in a set of genealogical data

Upper level requirements:

REQ_LIBGEDCOMPARSER_12

libgedcomparser shall provide a way to select individual without spouse in a set of genealogical data

Upper level requirements:

REQ_LIBGEDCOMPARSER_13

libgedcomparser shall provide a way to select individual of a particular gender (male or female) in a set of genealogical data

Upper level requirements:

REQ_LIBGEDCOMPARSER_14

libgedcomparser shall provide a way to select individual without parents in a set of genealogical data

Upper level requirements:

GEDCOMVIEWER requirements

REQ_GEDCOMVIEWER_1

gedcomviewer shall display the following information:

Upper level requirements:

REQ_GEDCOMVIEWER_2

gedcomviewer shall allow modification of the following information:

Upper level requirements:

REQ_GEDCOMVIEWER_3

gedcomviewer man machine interface shall be consistent with GNOME environment

Upper level requirements:

REQ_GEDCOMVIEWER_4

gedcomviewer shall provide a way to browse individuals within the genealogical data structure

Upper level requirements:

REQ_GEDCOMVIEWER_4_1

gedcomviewer shall give a way to browse through the list of individuals of the genealogical data structure.
If the user changes the current selected individu in the list, the new selected individu shall be displayed in the application window.
If the user changes the current displayed individu in the application window, the new displayed individu shall be selected in the list.
Modifications of the genealogical data structure shall be automatically and simultaneously reflected in the list.

REQ_GEDCOMVIEWER_4_2

gedcomviewer shall give a way to browse through a tree of individuals of the genealogical data structure
The root of the tree shall be the current individu displayed in the application window when the user asks for the tree browsing feature.
If the user changes the current selected individu in the tree, the new selected individu shall be displayed in the application window.
If the user changes the current displayed individu in the application window, the new displayed individu shall be selected in the tree ; if the individu to be displayed is not included in the tree (i.e. the new displayed individu in the application window is not an ancestor of the root individu in the tree), then no individu shall be selected in the tree.
Modifications of the genealogical data structure shall be automatically and simultaneously reflected in the tree.

REQ_GEDCOMVIEWER_5

if an information is displayed on many man machine interface elements, all the elements shall be consistent at any time (in case of modification through one element, the others shall be systematically updated to reflect modification)

Upper level requirements:

REQ_GEDCOMVIEWER_6

gedcomviewer man machine interface shall support internationalization ; at least English and French languages shall be available

Upper level requirements:

REQ_GEDCOMVIEWER_7

gedcomviewer shall give the availability to open many GEDCOM files simultaneously

Upper level requirements: