5.2.2.1 The Software Data Dictionary shall include: [SWE-110] a. Channelization data (e.g., bus mapping, vehicle wiring mapping, hardware channelization). NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement. Class B and Class B and Safety Critical and Classes C through E and Safety Critical are labeled with "P (Center) + SO." This means that the requirement must be met to the extent necessary to satisfy safety-critical aspects of the software and an approved Center-defined process that meets a non-empty subset of the full requirement can be used to other aspects of the software. Class C and Not Safety Critical is labeled with "P (Center)." This means that an approved Center-defined process that meets a non-empty subset of the full requirement can be used to achieve this requirement. Classes F and G are labeled with "X (not OTS)." This means that this requirement does not apply to off-the-shelf software for these classes. Class A_SC A_NSC B_SC B_NSC C_SC C_NSC D_SC D_NSC E_SC E_NSC F G H Applicable? X X X P(C) X X X X Key: A_SC = Class A Software, Safety-Critical | A_NSC = Class A Software, Not Safety-Critical | ... | - Applicable | - Not Applicable 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 (see SWE-109) or the software design description document (see SWE-111 and SWE-112). 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 satisfying SWE-110. Additional guidance related to the production of the SDD may be found in the work products generated by the following related requirements in this Handbook: Software Configuration Management Plan Software Test Plan Software Maintenance Plan Software Design Description Interface Design Description Software User Manual Software Version Description This requirement 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. Tools to aid in compliance with this SWE, if any, may be found in the Tools Library in the NASA Engineering Network (NEN). 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. A documented lesson from the NASA Lessons Learned database notes the following: Develop and Test the Launch Procedure Early (1997). Lesson Number 0609: The Abstract states: "During the terminal countdown for the first attempted launch of Cassini, spacecraft telemetry channels indicated a false alarm condition that delayed verification of spacecraft readiness for launch, and contributed to a delay on the first launch day. The anomaly was traced to erroneous telemetry documentation. Develop and release the launch procedure early enough for comprehensive testing before launch. Rigorously test and verify all telemetry channels and their alarms and ensure documentation such as telemetry definitions is kept up to-date." 565
See edit history of this section
Post feedback on this section
1. Requirements
b. Input/Output (I/O) variables.
c. Rate group data.
d. Raw and calibrated sensor data.
e. Telemetry format/layout and data.
f. Data recorder format/layout and data.
g. Command definition (e.g., onboard, ground, test specific).
h. Effecter command information.
i. Operational limits (e.g., maximum/minimum values, launch commit criteria information).1.1 Notes
1.2 Applicability Across Classes
X - Applicable with details, read above for more | P(C) - P(Center), follow center requirements or procedures2. Rationale
3. Guidance
4. Small Projects
5. Resources
5.1 Tools
6. Lessons Learned
SWE-110 - Software Data Dictionary
Web Resources
View this section on the websiteUnknown macro: {page-info}