Difference between revisions of "Functional requirements"

From ICA-AtoM
Jump to navigation Jump to search
 
(33 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Main Page]] > [[System Requirements]] > Functional requirements
+
[[Main Page]] > [[System requirements]] > Functional requirements
  
 +
== Purpose ==
  
 
Functional requirements state what the system must be able to do. The requirements provide:
 
Functional requirements state what the system must be able to do. The requirements provide:
*Parameters for designing the system.
 
*Criteria for testing the system (used in initial release and future iterations and upgrades).
 
*Planning guidelines for developing the system (improve existing or add new functionality).
 
*Documentation for standards compliance (link requirements to relevant international or national descriptive standards)
 
*A framework for structuring user-end documentation (step-by-step procedures for how to do things in the system).
 
  
 +
*Parameters for designing the system and identifying [[Metadata requirements|metadata requirements]].
  
Functional requirements are organized hierarchically, with core requirements, broken down into sub- and sub-sub-requirements. around the core functions of repositories holding archival material. ICA-AtoM currently focuses on two functions, breaking these down into sub- and sub-sub-requirements:
+
*Criteria for testing the system (used in initial release and future iterations and upgrades).
#[[#FR-1 | Establish intellectual and administrative control over archival materials]]
 
#[[#FR-2 | Provide an interface that supports user interaction with the system (create, read, update, delete, search]]
 
  
 +
*Planning guidelines for developing the system (improve existing or add new functionality).
  
Each functional requirement includes the following information:
+
*Documentation for standards compliance (link requirements to relevant international or national descriptive standards)
  
{| border="1" cellpadding="2"
+
*A framework for structuring user-end documentation (step-by-step procedures for how to do things in the system).
 
 
|- valign="top" align="left" style="background:#00008B; color:white"
 
!width="250" | Requirement number
 
!width="700" | FR-x.x.x (unique tracking number assigned to requirement)
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Requirement name
 
| Descriptive name assigned to requirement.
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement specification
 
| Brief description of requirement: system must do X.
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Sub-requirements
 
| If the requirement is broken down into sub-requirements, provides links to these.
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Requirement quotation
 
| Links to standards or other documents: why must the system be able to do X?
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated metadata requirements
 
| Links to functional requirements: what data must the system capture in order to be able to do X?
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated quality requirements
 
| Links to quality requirements: what design and interface features must the system have to do X well?
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated technical requirements
 
| Links to technical requirements: what system architecture, hardware / software configurations, and programming rules must the system implement to do X?
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | ICA-AtoM implementation
 
| Brief description of how ICA-AtoM implements X.
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Known issues
 
| Brief indication of known problems or limitations in the current version of ICA-AtoM that should be addressed in future releases.
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | User Manual sections
 
| Links to the User manual sections that provide step-by-step instructions for doing X.
 
 
 
|}
 
 
 
 
 
<span id="FR-1"></span>
 
== Establish intellectual and administrative control over archival materials ==
 
 
 
{| border="1" cellpadding="2"
 
 
 
|- valign="top" align="left" style="background:#00008B; color:white"
 
!width="250" | Requirement number
 
!width="700" | FR-1
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement name
 
| Establish intellectual and administrative control over archival materials
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement specification
 
| The system must:
 
*Support the arrangement and description of archival materials in order to make them accessible.
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Sub-requirements
 
|
 
*[[#FR-1.1 | 1.1 Implement a system of control]]
 
*[[#FR-1.2 | 1.2 Implement descriptive standards]]
 
*[[#FR-1.3 | 1.3 Create and control description records]]
 
*[[#FR-1.4 | 1.4 Describe archival materials]]
 
*[[#FR-1.5 | 1.5 Describe actors]]
 
*[[#FR-1.6 | 1.6 Describe archival institutions]]
 
 
 
|}
 
 
 
---
 
<span id="FR-1.1"></span>
 
=== Implement a system of control ===
 
 
 
{| border="1" cellpadding="2"
 
 
 
|- valign="top" align="left" style="background:#00008B; color:white"
 
!width="250" | Requirement number
 
!width="700" | FR-1.1
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement name
 
| Implement a system of control.
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement specification
 
| The system must:
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Sub-requirements
 
|
 
*[[#FR-1.1.1 | 1.1.1 Support multi-level description]]
 
*[[#FR-1.1.2 | 1.1.2 Accommodate different levels as the highest level of arrangement and description]]
 
*[[#FR-1.1.3 | 1.1.3 Accommodate different systems for assigning reference codes]]
 
 
 
|}
 
 
 
---
 
 
 
<span id="FR-1.1.1"></span>
 
==== Support multi-level description ====
 
 
 
{| border="1" cellpadding="2"
 
 
 
|- valign="top" align="left" style="background:#00008B; color:white"
 
!width="250" | Requirement number
 
!width="700" | FR-1.1.1
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Requirement name
 
| Support multi-level description.
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement specification
 
| The system must be able to:
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Requirement quotation
 
|
 
*[[ISAD(G)# | ISAD(G) ]]
 
*[[ISAAR(CPF)# | ISAAR(CPF) ]]
 
*[[ISIAH# | ISIAH ]]
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated metadata requirements
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated quality requirements
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated technical requirements
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | ICA-AtoM implementation
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Known issues
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | User Manual sections
 
|
 
 
 
|}
 
 
 
---
 
 
 
<span id="FR-1.1.2"></span>
 
==== Accommodate different levels as the highest level of arrangement and description ====
 
 
 
{| border="1" cellpadding="2"
 
 
 
|- valign="top" align="left" style="background:#00008B; color:white"
 
!width="250" | Requirement number
 
!width="700" | FR-1.1.2
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Requirement name
 
| Accommodate different levels as the highest level of arrangement and description.
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement specification
 
| The system must be able to:
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Requirement quotation
 
|
 
*[[ISAD(G)# | ISAD(G) ]]
 
*[[ISAAR(CPF)# | ISAAR(CPF) ]]
 
*[[ISIAH# | ISIAH ]]
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated metadata requirements
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated quality requirements
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated technical requirements
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | ICA-AtoM implementation
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Known issues
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | User Manual sections
 
|
 
 
 
|}
 
 
 
---
 
 
 
<span id="FR-1.1.3"></span>
 
==== Accommodate different systems for assigning reference codes ====
 
 
 
{| border="1" cellpadding="2"
 
 
 
|- valign="top" align="left" style="background:#00008B; color:white"
 
!width="250" | Requirement number
 
!width="700" | FR-1.1.3
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Requirement name
 
| Accommodate different systems for assigning reference codes.
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement specification
 
| The system must be able to:
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Requirement quotation
 
|
 
*[[ISAD(G)# | ISAD(G) ]]
 
*[[ISAAR(CPF)# | ISAAR(CPF) ]]
 
*[[ISIAH# | ISIAH ]]
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated metadata requirements
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated quality requirements
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Associated technical requirements
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | ICA-AtoM implementation
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | Known issues
 
|
 
 
 
|- valign="top" align="left"
 
| style="background:silver" | User Manual sections
 
|
 
 
 
|}
 
 
 
---
 
 
 
<span id="FR-1.2"></span>
 
=== Implement descriptive standards ===
 
 
 
{| border="1" cellpadding="2"
 
 
 
|- valign="top" align="left" style="background:#00008B; color:white"
 
!width="250" | Requirement number
 
!width="700" | FR-1.2
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement name
 
| Implement descriptive standards.
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Requirement specification
 
| The system must:
 
 
 
|- valign="top" align="left"
 
| style="background:silver"  | Sub-requirements
 
|
 
*[[#FR-1.2.1 | 1.2.1 Support all ICA standards]]
 
*[[#FR-1.2.2 | 1.2.2 Integrate with existing national or local standards]]
 
*[[#FR-1.2.3 | 1.2.3 Accommodate different practices for the level of detail required]]
 
*[[#FR-1.2.4 | 1.2.4 Separate description of archival materials from description of creators and repositories]]
 
  
|}
 
  
<span id="FR-1.3"></span>
+
== Organization ==
=== Create and control description records ===
 
  
{| border="1" cellpadding="2"
+
Functional requirements are organized hierarchically, with high-level requirements broken down into sub- and sub-sub-requirements. To facilitate cross-references and links, each requirement has been assigned an alpha-numeric code: the alpha prefix designates the type of requirement (FR = functional requirement), the number establishes its position in the hierarchy. Six main functional requirements have been identified:
  
|- valign="top" align="left" style="background:#00008B; color:white"
+
[[FR-1|FR-1 Implement a system of control]]
!width="250" | Requirement number
 
!width="700" | FR-1.3
 
  
|- valign="top" align="left"
+
[[FR-2|FR-2 Add / edit content]]
| style="background:silver"  | Requirement name
 
| Create and control descriptions
 
  
|- valign="top" align="left"
+
[[FR-3|FR-3 Translate content]]
| style="background:silver"  | Requirement specification
 
| The system must:
 
  
|- valign="top" align="left"
+
[[FR-4|FR-4 Access content]]
| style="background:silver"  | Sub-requirements
 
|
 
*[[#FR-1.3.1 | 1.3.1 Accept contributions from multiple repositories]]
 
*[[#FR-1.3.2 | 1.3.2 Assign unique identifiers to descriptions]]
 
*[[#FR-1.3.3 | 1.3.3 Accommodate descriptions of different status (draft, finalized, superseded / obsolete]]
 
*[[#FR-1.3.4 | 1.3.4 Prevent unauthorized creation, alteration or deletion of descriptions]]
 
  
 +
[[FR-5|FR-5 Import / export content]]
  
|}
+
[[FR-6|FR-6 Administer the system]]
  
  
<span id="FR-1.4"></span>
+
== Information ==
=== Describe archival materials ===
 
  
 +
Each functional requirement includes some or all of the following information:
  
{| border="1" cellpadding="2"
+
*'''Requirement number''': FR-x.x.x, unique tracking number assigned to requirement.
  
|- valign="top" align="left" style="background:#00008B; color:white"
+
*'''Requirement name''': descriptive name assigned to requirement.
!width="250" | Requirement number
 
!width="700" | FR-1.2
 
  
|- valign="top" align="left"
+
*'''Specification''': brief description of requirement; users of the application must be able to do X, the system must be able to do X.
| style="background:silver"  | Requirement name
 
| Implement descriptive standards.
 
  
|- valign="top" align="left"
+
*'''Context (parent requirements)''': links to higher-level requirements, if applicable.
| style="background:silver"  | Requirement specification
 
| The system must:
 
  
|- valign="top" align="left"
+
*'''Sub-requirements''': links to lower-level requirements, if applicable.
| style="background:silver"  | Sub-requirements
 
|
 
*[[#FR-1.2.1 | 1.2.1 Support all ICA standards]]
 
*[[#FR-1.2.2 | 1.2.2 Integrate with existing national or local standards]]
 
*[[#FR-1.2.3 | 1.2.3 Accommodate different practices for the level of detail required]]
 
*[[#FR-1.2.4 | 1.2.4 Separate description of archival materials from description of creators and repositories]]
 
  
|}
+
*'''Source quotations''': links to standards or other documents: why must the applicable be able to do X?
  
<span id="FR-1.5"></span>
+
*'''Associated metadata requirements''': what data must the application capture in order to be able to do X?
=== Describe actors ===
 
  
 +
*'''Associated quality requirements''': what design and interface features must the application have to do X '''well'''?
  
{| border="1" cellpadding="2"
+
*'''Associated technical requirements''': what system architecture, hardware / software configurations, and programming rules must the application implement to do X?
  
|- valign="top" align="left" style="background:#00008B; color:white"
+
*'''ICA-AtoM implementation''': brief description of how ICA-AtoM implements X.
!width="250" | Requirement number
 
!width="700" | FR-1.2
 
  
|- valign="top" align="left"
+
*'''Known issues''': brief indication of known problems or limitations in the current version of ICA-AtoM that should be addressed in future releases.
| style="background:silver"  | Requirement name
 
| Implement descriptive standards.
 
  
|- valign="top" align="left"
+
*'''Use cases''': links to descriptions of user-end scenarios relating to the requirement and how they are handled in ICA-AtoM.
| style="background:silver"  | Requirement specification
 
| The system must:
 
  
|- valign="top" align="left"
+
*'''User Manual sections''': links to the User manual sections that provide step-by-step instructions for doing X.
| style="background:silver"  | Sub-requirements
 
|
 
*[[#FR-1.2.1 | 1.2.1 Support all ICA standards]]
 
*[[#FR-1.2.2 | 1.2.2 Integrate with existing national or local standards]]
 
*[[#FR-1.2.3 | 1.2.3 Accommodate different practices for the level of detail required]]
 
*[[#FR-1.2.4 | 1.2.4 Separate description of archival materials from description of creators and repositories]]
 
  
|}
 
  
<span id="FR-1.6"></span>
+
Note that most of this detail will only be found at the lower-level requirements. Higher-level requirements will typically only include the requirement name, number, specification, and source quotation, with links to the lower-level sub-requirements.
=== Describe archival institutions ===
 
  
  
{| border="1" cellpadding="2"
+
== Index of functional requirements ==
  
|- valign="top" align="left" style="background:#00008B; color:white"
+
The following is the full index of functional requirements identified to date.
!width="250" | Requirement number
 
!width="700" | FR-1.2
 
  
|- valign="top" align="left"
 
| style="background:silver"  | Requirement name
 
| Implement descriptive standards.
 
  
|- valign="top" align="left"
+
[[FR-1|'''FR-1 Implement a system of control''']]
| style="background:silver"  | Requirement specification
 
| The system must:
 
  
|- valign="top" align="left"
+
*[[FR-1.1|FR-1.1 Define system scope]]
| style="background:silver"  | Sub-requirements
+
**[[FR-1.1.1|FR-1.1.1 Specify data input methods]]
|
+
**[[FR-1.1.2|FR-1.1.2 Specify repositories that will contribute descriptions]]
*[[#FR-1.2.1 | 1.2.1 Support all ICA standards]]
+
**[[FR-1.1.3|FR-1.1.3 Specify languages in which descriptions will be accessible]]
*[[#FR-1.2.2 | 1.2.2 Integrate with existing national or local standards]]
+
**[[FR-1.1.4|FR-1.1.4 Specify individuals who will contribute descriptions]]
*[[#FR-1.2.3 | 1.2.3 Accommodate different practices for the level of detail required]]
 
*[[#FR-1.2.4 | 1.2.4 Separate description of archival materials from description of creators and repositories]]
 
  
|}
+
*[[FR-1.2 |FR-1.2 Implement a system of intellectual control]]
 +
**[[FR-1.2.1|FR-1.2.1 Describe material at multiple levels of arrangement]]
 +
**[[FR-1.2.2|FR-1.2.2 Establish the highest level of arrangement]]
 +
**[[FR-1.2.3|FR-1.2.3 Establish the number of levels of arrangement]]
 +
**[[FR-1.2.4|FR-1.2.4 Comply with descriptive standards]]
 +
**[[FR-1.2.5|FR-1.2.5 Establish level of detail required]]
  
== Template ==
+
*[[FR-1.3|FR-1.3 Implement a system of administrative control]]
  
{| border="1" cellpadding="2"
+
*[[FR-1.4| FR-1.4 Implement a system of physical control]]
  
|- valign="top" align="left" style="background:#00008B; color:white"
 
!width="250" | Requirement number
 
!width="700" | MR-x
 
  
|- valign="top" align="left"
+
[[FR-2|'''FR-2 Add / edit content''']]
| style="background:silver"  | Requirement name
 
| Name
 
  
|- valign="top" align="left"
+
*[[FR-2.1|FR-2.1 Appraise materials]]
| style="background:silver"  | Requirement specification
+
|  
+
*[[FR-2.2|FR-2.2 Acquire archival materials]]
The system must:
+
*requirement1
+
*[[FR-2.3|FR-2.3 Store archival materials]]
*requirement2
+
 +
*[[FR-2.4|FR-2.4 Preserve archival materials]]
 +
 +
*[[FR-2.5|FR-2.5 Describe archival materials]]
 +
**[[FR-2.5.1|FR-2.5.1 Identify units of description]]
 +
**[[FR-2.5.2|FR-2.5.2 Describe context (origin and custody) of archival materials]]
 +
**[[FR-2.5.3|FR-2.5.3 Describe content and structure of archival materials]]
 +
**[[FR-2.5.4|FR-2.5.4 Indicate conditions of access and use of archival materials]]
 +
**[[FR-2.5.5|FR-2.5.5 Indicate related archival materials]]
 +
 +
*[[FR-2.6|FR-2.6 Describe actors that interact with archival materials]]
 +
**[[FR-2.6.1|FR-2.6.1 Identify actors]]
 +
**[[FR-2.6.2|FR-2.6.2 Describe the nature, context, and activities of actors]]
 +
**[[FR-2.6.3|FR-2.6.3 Indicate relationships between actors]]
 +
**[[FR-2.6.4|FR-2.6.4 Identify related archival materials]]
 +
 +
*[[FR-2.7|FR-2.7 Describe institutions that have custody of archival materials]]
 +
 +
*[[FR-2.8|FR-2.8 Control descripiton records]]
 +
 +
*[[FR-2.9|FR-2.9 Assign access points to descriptions]]
 +
 +
*[[FR-2.10|FR-2.10 Administer access to archival materials]]
 +
 +
*[[FR-2.11|FR-2.11 Promote archival materials]]
  
|- valign="top" align="left"
 
| style="background:silver" | Requirement quotation
 
|
 
*link to ISAD(G).
 
*link to ISAAR(CPF).
 
*link to ISIAH.
 
*link to ISDF.
 
*link to OSARIS.
 
  
|- valign="top" align="left"
+
[[FR-3|'''FR-3 Translate content''']]
| style="background:silver" | Associated metadata requirements
 
|
 
*link to metadata requirement.
 
  
|- valign="top" align="left"
 
| style="background:silver" | Associated quality requirements
 
|
 
*link to quality requirement.
 
  
|- valign="top" align="left"
+
[[FR-4|'''FR-4 Access content''']]
| style="background:silver" | Associated technical requirements
 
|
 
*link to technical requirement.
 
  
|- valign="top" align="left"
 
| style="background:silver" | ICA-AtoM implementation
 
|
 
*discuss how ICA-AtoM implements requirement.
 
  
|- valign="top" align="left"
+
[[FR-5|'''FR-5 Import / export content''']]
| style="background:silver" | Known issues
 
|
 
*discuss how any known problems with ICA-AtoM's current implementation / functionality.
 
  
|- valign="top" align="left"
 
| style="background:silver" | User Manual sections
 
|
 
*link to User Manual pages.
 
  
|}
+
[[FR-6|'''FR-6 Administer the system''']]

Latest revision as of 13:14, 11 July 2008

Please note that ICA-AtoM is no longer actively supported by Artefactual Systems.
Visit https://www.accesstomemory.org for information about AtoM, the currently supported version.

Main Page > System requirements > Functional requirements

Purpose

Functional requirements state what the system must be able to do. The requirements provide:

  • Criteria for testing the system (used in initial release and future iterations and upgrades).
  • Planning guidelines for developing the system (improve existing or add new functionality).
  • Documentation for standards compliance (link requirements to relevant international or national descriptive standards)
  • A framework for structuring user-end documentation (step-by-step procedures for how to do things in the system).


Organization

Functional requirements are organized hierarchically, with high-level requirements broken down into sub- and sub-sub-requirements. To facilitate cross-references and links, each requirement has been assigned an alpha-numeric code: the alpha prefix designates the type of requirement (FR = functional requirement), the number establishes its position in the hierarchy. Six main functional requirements have been identified:

FR-1 Implement a system of control

FR-2 Add / edit content

FR-3 Translate content

FR-4 Access content

FR-5 Import / export content

FR-6 Administer the system


Information

Each functional requirement includes some or all of the following information:

  • Requirement number: FR-x.x.x, unique tracking number assigned to requirement.
  • Requirement name: descriptive name assigned to requirement.
  • Specification: brief description of requirement; users of the application must be able to do X, the system must be able to do X.
  • Context (parent requirements): links to higher-level requirements, if applicable.
  • Sub-requirements: links to lower-level requirements, if applicable.
  • Source quotations: links to standards or other documents: why must the applicable be able to do X?
  • Associated metadata requirements: what data must the application capture in order to be able to do X?
  • Associated quality requirements: what design and interface features must the application have to do X well?
  • Associated technical requirements: what system architecture, hardware / software configurations, and programming rules must the application implement to do X?
  • ICA-AtoM implementation: brief description of how ICA-AtoM implements X.
  • Known issues: brief indication of known problems or limitations in the current version of ICA-AtoM that should be addressed in future releases.
  • Use cases: links to descriptions of user-end scenarios relating to the requirement and how they are handled in ICA-AtoM.
  • User Manual sections: links to the User manual sections that provide step-by-step instructions for doing X.


Note that most of this detail will only be found at the lower-level requirements. Higher-level requirements will typically only include the requirement name, number, specification, and source quotation, with links to the lower-level sub-requirements.


Index of functional requirements

The following is the full index of functional requirements identified to date.


FR-1 Implement a system of control


FR-2 Add / edit content


FR-3 Translate content


FR-4 Access content


FR-5 Import / export content


FR-6 Administer the system