The title of this page has been changed. If you are using a bookmark to get here, please updated it.
You should be redirected to https://swehb.nasa.gov/display/SWEHBVC/5.07+-+SDD+-+Software+Data+Dictionary. If you do not get there in 2 seconds, click the link to go there.
Return to 7.18 - Documentation Guidance Minimum recommended content for the Software Data Dictionary. The preparation, documentation, and use of a Software Data Dictionary (SDD) enable uniform communication among the team members on a software development project. The SDD provides key information needed for the implementation, testing, and maintenance of the software product. The data dictionary allows developers, maintainers, and analysts to access information about the tables, fields, procedures, processes, and other information in the system. Customers and users have a ready reference of information about the software work product. The Software Data Dictionary (SDD) may be a stand-alone project document; it may be included as part of an electronic database; or it may be written as an appendix in one of the project's primary documents, e.g., the systems requirement specification or the software design description document. Either format (hardcopy or electronic) is compliant with the requirement. A data dictionary includes a set of meta-data that contains the definition and representation of data elements. A data dictionary lists all data elements but does not say anything about the relationships between elements. It gives a single point of reference for a data repository of an organization. Some of the typical components of a data dictionary entry are: Not all of these fields will apply for every single entry in the data dictionary. Designers, programmers, users, maintainers, and administrators of a computer system as an administrative resource are the main users of the SDD. Data dictionaries are used to maintain information on systems hardware and software configurations, documentation, application, and users, as well as other relevant information. The SDD can be produced: An electronic data dictionary is said to be active or passive. The term "passive" applies to the data dictionary that must be updated manually, whereas the term "active" applies to the data dictionary that is updated automatically by a database manager tool as data in the database is updated. The data in the SDD may be in the form of tables. Typically, the table definitions define the tables in the database, including a brief description of their use, the key fields, the primary key, and a list of the fields. Guidance and examples for the required content of the SDD are included in the bullets below: Other candidate information for the software data dictionary includes: Finally, the SDD includes descriptions of each process carried by the database system, including: When performing class F and G software development, the appropriate Center Chief Information Officer is expected to provide appropriate guidance for the fulfillment of this requirement. In all cases, engineering judgment is expected to be used when finalizing the approach to develop the SDD. Additional guidance related to the production of the SDD may be found in the work products described on other tabs in this topic. A software data dictionary is applicable to all projects regardless of size. Small projects may be able to leverage SDDs, or portions of dictionaries, from previous projects, as long as those projects had similar data structures. NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN. The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider. No other Lessons Learned have currently been identified for this requirement.
See edit history of this section
Post feedback on this section
1. Minimum Recommended Content
2. Rationale
3. Guidance
4. Small Projects
5. Resources
5.1 References
5.2 Tools
6. Lessons Learned
6.1 NASA Lessons Learned
6.2 Other Lessons Learned