This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dido:public:ra:1.4_req:3_assessment:1_functional:start [2021/03/24 19:13] murphy |
dido:public:ra:1.4_req:3_assessment:1_functional:start [2021/10/06 07:52] (current) 34.237.132.33 ↷ Links adapted because of a move operation |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== 4.4.1 Functional Requirements Assessment ====== | ====== 4.4.1 Functional Requirements Assessment ====== | ||
| [[dido:public:ra:1.4_req:3_assessment |Return to Assessment]] | [[dido:public:ra:1.4_req:3_assessment |Return to Assessment]] | ||
| + | |||
| + | ===== Things to Consider When Designing Distributed systems ===== | ||
| + | * **Note:** Because these are [[dido:public:ra:xapend:xapend.a_glossary:f:funcreq|Functional Requirements]], they need to be written specifically for the system being specified in the proposal or solicitation. | ||
| + | |||
| + | In DIDO, the following areas minimally cover Functional Requirements: | ||
| + | |||
| + | ==== Hardware Architecture ==== | ||
| + | [[dido:public:ra:1.4_req:3_assessment:1_functional:start | Return to Top]] | ||
| + | |||
| + | The [[dido:public:ra:xapend:xapend.a_glossary:g:goal|goal]] of hardware functional requirements is to decide which hardware architectures are going to be supported and which, if any, will be left out. | ||
| + | |||
| + | * [[dido:public:ra:1.4_req:1_func:platform|Which Platforms must be supported?]] | ||
| + | * [[dido:public:ra:xapend:xapend.c_hwarch:1_embedded| Which Embedded Systems must be supported?]] \\ | ||
| + | • [[dido:public:ra:xapend:xapend.c_hwarch:1_embedded:subsystems| Which Standalone Subystems must be supported?]] \\ | ||
| + | • [[dido:public:ra:xapend:xapend.c_hwarch:1_embedded:standalone| Which Standalone Systems must be supported?]] \\ | ||
| + | • [[dido:public:ra:xapend:xapend.c_hwarch:1_embedded:networked| Which Network Systems must be supported? ]] | ||
| + | * [[dido:public:ra:xapend:xapend.c_hwarch:server | Which servers must be supported?]] \\ | ||
| + | • [[dido:public:ra:xapend:xapend.c_hwarch:server:sw | Which software Servers must be supported?]] \\ | ||
| + | • [[dido:public:ra:xapend:xapend.c_hwarch:server:hw | Which hardware Servers must be supported?]] | ||
| + | * [[dido:public:ra:xapend:xapend.c_hwarch:desktop | Which desktop computers must be supported?]] | ||
| + | * [[dido:public:ra:xapend:xapend.c_hwarch:handheld | Which handheld computers must be supported?]] | ||
| + | * [[dido:public:ra:xapend:xapend.c_hwarch:super | Which supercomputers must be supported?]] | ||
| + | * [[dido:public:ra:xapend:xapend.c_hwarch:network | Which network computers must be supported?]] | ||
| + | | ||
| + | ==== Operating System ==== | ||
| + | [[dido:public:ra:1.4_req:3_assessment:1_functional:start | Return to Top]] | ||
| + | |||
| + | [[dido:public:ra:xapend:xapend.a_glossary:n:node|Nodes]] on the distributed network must be designed specifically for the [[dido:public:ra:xapend:xapend.a_glossary:o:os|operating system]] that runs on the node. So the [[dido:public:ra:xapend:xapend.a_glossary:d:distsystem|distributed system]] must support more than one operating system. But too many OSs can cause the support and maintenance of the system to be more difficult and costly. | ||
| + | * [[dido:public:ra:1.4_req:1_func:platform:os_arch | Which operating systems must be supported?]] | ||
| + | | ||
| + | ==== Network ==== | ||
| + | [[dido:public:ra:1.4_req:3_assessment:1_functional:start | Return to Top]] | ||
| + | |||
| + | A distributed system is a collection of networked nodes, that run on networking equipment all connected using wireless or USB connections. Network functional requirements is to decide which [[dido:public:ra:xapend:xapend.a_glossary:p:platform|platform]], devices, and permissions are used throughout the system. | ||
| + | * [[dido:public:ra:1.4_req:1_func:platform:net_arch | Which network platforms must be supported?]] | ||
| + | * [[dido:public:ra:xapend:xapend.c_hwarch:network | Which networking architectures must be supported?]] | ||
| + | * [[dido:public:ra:1.4_req:1_func:access | Which networking access must be supported?]] | ||
| + | | ||
| + | ==== RunTime Libraries ==== | ||
| + | [[dido:public:ra:1.4_req:3_assessment:1_functional:start | Return to Top]] | ||
| + | |||
| + | RunTime functional requirements is to establish a RunTime Library that can communicate to with different operating/hardware platforms across the system. | ||
| + | * [[dido:public:ra:1.4_req:1_func:platform:sw_arch | Which runtime environments must be supported?]] | ||
| + | |||
| + | ==== Community/Development Tools ==== | ||
| + | [[dido:public:ra:1.4_req:3_assessment:1_functional:start | Return to Top]] | ||
| + | |||
| + | Tool functional requirements include making sure your system has all the necessary development, management, and operation tools for the project. | ||
| + | * [[dido:public:ra:xapend:xapend.e_tools:start| Which support tools must be supported?]] | ||
| + | **Note**: The tool list provided is not exhaustive. | ||
| + | |||
| + | ==== Virtualized Nodes ==== | ||
| + | [[dido:public:ra:1.4_req:3_assessment:1_functional:start | Return to Top]] | ||
| + | |||
| + | Utilizing Virtual Nodes in a distributed system can provide flexibility because a virtual node can run on many hardware/operating system platforms. Virtual Node functional requirements entail determining which type of virtual node is necessary for the system. | ||
| + | * [[dido:public:ra:1.4_req:1_func:platform:virtnodes | Which types of virtualization nodes must be supported?]] | ||
| + | |||
| + | ==== Data ===== | ||
| + | [[dido:public:ra:1.4_req:3_assessment:1_functional:start | Return to Top]] | ||
| + | |||
| + | Every [[dido:public:ra:xapend:xapend.a_glossary:n:node|node]] based on its [[dido:public:ra:1.2_views:3_taxonomic:3_node_tax:start| roles]], manages and controls data. The data within the node is [[dido:public:ra:1.2_views:3_taxonomic:4_data_tax:start| classified]] as either: | ||
| + | [[dido:public:ra:1.2_views:3_taxonomic:4_data_tax:03_digi_taxonomy:1_ledger| ledger data]], | ||
| + | [[dido:public:ra:1.2_views:3_taxonomic:4_data_tax:03_digi_taxonomy:2_ancillary| ancillary data]], or | ||
| + | [[dido:public:ra:1.2_views:3_taxonomic:4_data_tax:03_digi_taxonomy:3_external| external data]]. Regardless of the clas of data sotred on a node, it is often controlled by [[dido:public:ra:xapend:xapend.j_gov_model:start#regulation| regulatons]], [[dido:public:ra:1.3_gov:1_legaldocs:3_pp | Policies and Procedures]]. | ||
| + | |||
| + | |||
| + | * [[dido:public:ra:xapend:xapend.a_glossary:h:hippa | Are there Health Insurance Portability and Accountability Act (HIPAA) restrictions?]] | ||
| + | * [[dido:public:ra:xapend:xapend.a_glossary:g:dgpr | Are there General Data Protection Regulation (GDPR) restriction? ]] | ||
| + | * [[dido:public:ra:xapend:xapend.a_glossary:d:dpa | Are there Data Protection Act 2018 restrictions? ]] | ||
| + | * [[dido:public:ra:xapend:xapend.a_glossary:c:ccpa | Are there California Consumer Privacy Act (CCPA) restrictions?]] | ||
| + | * [[dido:public:ra:xapend:xapend.a_glossary:d:dataretentionpolicy | Are there data Retention Policy restrictions?]] | ||
| + | |||
| + | |||
| + | /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | ||
| + | /* To add a discussion page to this page, comment out the line that says | ||
| + | ~~DISCUSSION:off~~ | ||
| + | */ | ||
| + | ~~DISCUSSION:on|Outstanding Issues~~ | ||
| + | ~~DISCUSSION:off~~ | ||