Mootl
Mootl
List of Tables
Table 1 - Record of Changes.........................................................................................19
Table 2 - Acronyms........................................................................................................ 20
Table 3 - Glossary..........................................................................................................21
Table 4 - Referenced Documents..................................................................................22
Table 5 - Approvals........................................................................................................ 23
CMS XLC External Interfaces
1. Introduction
Instructions: Provide identifying information for the existing and/or proposed automated
system or situation for which the System Design Document (SDD) applies (e.g., the full
names and acronyms for the development project, the existing system or situation, and
the proposed system or situation, as applicable), and expected evolution of the
document. Also describe any security or privacy considerations associated with use of
this document.
The System Design Document (SDD) describes how the functional and nonfunctional
requirements recorded in the Requirements Document, the preliminary user-oriented functional
design recorded in the High Level Technical Design Concept/Alternatives document, and the
preliminary data design documented in the Logical Data Model (LDM) transform into more
technical system design specifications from which the system is built. The SDD documents the
high-level system design and the low-level detailed design specifications.
The SDD describes design goals and considerations, provides a high-level overview of the
system architecture, and describes the data design associated with the system, as well as the
human-machine interface and operational scenarios. The high-level system design is further
decomposed into low-level detailed design specifications for each system component, including
hardware, internal communications, software, system integrity controls, and external interfaces.
The high-level system design serves as primary input to the Preliminary Design Review (PDR).
The low-level detailed design serves as input to the Detailed Design Review (DDR).
2.2 Assumptions/Constraints/Risks
2.2.1 Assumptions
Instructions: Describe any assumptions or dependencies regarding the system,
software and its use. These may concern such issues as: related software or hardware,
operating systems, end-user characteristics, and possible and/or probable changes in
functionality.
2.2.2 Constraints
Instructions: Describe any global limitations or constraints that have a significant impact
on the design of the system’s hardware, software and/or communications, and describe
the associated impact. Such constraints may be imposed by any of the following (the list
is not exhaustive):
Hardware or software environment
End-user environment
Availability or volatility of resources
Standards compliance
Interoperability requirements
Interface/protocol requirements
Licensing requirements
Data repository and distribution requirements
Security requirements (or other such regulations)
Memory or other capacity limitations
Performance requirements
Network communications
Verification and validation requirements (testing)
Other means of addressing quality goals
Other requirements described in the Requirements Document
2.2.3 Risks
Instructions: Describe any risks associated with the system design and proposed
mitigation strategies.
3. Design Considerations
Instructions: Describe issues which need to be addressed or resolved before attempting
to devise a complete design solution.
Examples of design decisions might concern (but are not limited to) things like the
following:
Use of a particular type of product (programming language, database, library,
commercial off-the-shelf (COTS) product, etc.)
Reuse of existing software components to implement various parts/features of
the system
Future plans for extending or enhancing the software
User interface paradigms (or system input and output models)
Hardware and/or software interface paradigms
Error detection and recovery
Memory management policies
External databases and/or data storage management and persistence
Distributed data or control over a network
Generalized approaches to control
Concurrency and synchronization
Communication mechanisms
Management of other resources
4.4.1.1 Data
Identify all data (as well as the format of the data — paper, manual input, electronic
data) supplied to the system as well as who/what is supplying the data.
routers, cabling, transmitters, firewalls, ports, etc.). Provide a diagram depicting the
communications flow between the system and subsystem components. Include
resource estimates for communications network capacity (LAN and WAN) needed to
install and execute each application on each platform.
4.7 Performance
Instructions: Insert any performance documents or provide a reference to where they
are stored.
5. System Design
5.1 Business Requirements
Instructions: Insert any related project business requirements or provide a reference to
where they are stored.
5.4.1 Inputs
Instructions: Provide a description of the input media used by the user/operator for
providing information to the system. Show a mapping to the high-level data flows (e.g.,
data entry screens, optical character readers, bar scanners, etc.). If appropriate, the
input record types, file structures, and database structures provided in the section for
Data Design, may be referenced. Include data element definitions, or refer to the data
dictionary. Provide the layout of all input data screens or graphical user interfaces
(GUIs) (e.g., windows). Define all data elements associated with each screen or GUI, or
reference the data dictionary. Provide edit criteria for the data elements, including
specific values, range of values, mandatory/optional, alphanumeric values, and length.
Also address data entry controls to prevent edit bypassing. Discuss the miscellaneous
messages associated with user/operator inputs, including (but not limited to) the
following:
Copies of form(s) if the input data are keyed or scanned for data entry from
printed forms
Description of any access restrictions or security considerations
Each transaction name, code, and definition, if the system is a transaction-based
processing system
Incorporation of the Privacy Act statement into the screen flow, if the system is
covered by the Privacy Act
Description of accessibility provisions to comply with Section 508 of the
Rehabilitation Act
5.4.2 Outputs
Instructions: Describe the system output design relative to the user/operator. Show a
mapping to the high-level data flows. System outputs include reports, data display
screens and GUIs, query results, etc. The output files described in the section for Data
Design may be referenced. The following should be provided, if appropriate:
Identification of codes and names for reports and data display screens
Description of report and screen contents (provide a graphical representation of
each layout and define all data elements associated with the layout or reference
the data dictionary)
Description of the purpose of the output, including identification of the primary
users
Report distribution requirements, if any (include frequency for periodic reports)
Description of any access restrictions or security considerations
6. Operational Scenarios
Instructions: Describe the general functionality of the system from the users’
perspectives and provide an execution or operational flow of the system via operational
scenarios that provide step-by-step descriptions of how the proposed system should
operate and interact with its users and its external interfaces under a given set of
circumstances. The scenarios tie together all parts of the system, the users, and other
entities by describing how they interact, and may also be used to describe what the
system should not do.
Operational scenarios should be described for all operational modes, transactions, and
all classes of users identified for the proposed system. For each transaction, provide an
estimate of the size (use maximum, if variable) and frequency (e.g., average number
per session). Identify if there any transactional peak periods and include an estimate of
frequency during those periods. Each scenario should include events, actions, stimuli,
information, and interactions as appropriate to provide a comprehensive understanding
of the operational aspects of the proposed system.
The scenarios can be presented in several different ways: 1) for each major processing
function of the proposed system, or 2) thread-based, where each scenario follows one
type of transaction type through the proposed system, or 3) following the information
flow through the system for each user capability, following the control flows, or focusing
on the objects and events in the system. The number of scenarios and level of detail
specified will be proportional to the perceived risk and the criticality of the project.
7. Detailed Design
Instructions: Provide the information needed for a system development team to actually
build and integrate the hardware components, code and integrate the software
components, and interconnect the hardware and software segments into a functional
product. Additionally, address the detailed procedures for combining separate COTS
packages into a single system.
Internal Data Structures - The internal data structures for the service
Constraints - Any relevant, assumptions, limitations, or constraints for the service
(this should include constraints on timing, storage, or service state, and might
include rules for interacting with the service (encompassing pre-conditions, post-
conditions, invariants, other constraints on input or output values and local or
global values, data formats and data access, synchronization, exceptions, etc.))
Composition - A description of the use and meaning of the subservices that are a
part of the service
Users/Interactions - A description of the service’s collaborations with other
services (what other services use this this entity? what other services does this
entity use (including any side-effects this service might have on other parts of the
system)? this includes the method of interaction, as well as the interaction itself.
Object-oriented designs should include a description of any known or anticipated
sub-classes, super-classes, and meta-classes)
Processing - A description of precisely how the service goes about performing
the duties necessary to fulfill its responsibilities (this should encompass a
description of any algorithms used; changes or state; relevant time or space
complexity; concurrency; methods of creation, initialization, and cleanup; and
handling of exceptional conditions)
Interfaces/Exports - The set of services (resources, data types, constants,
subroutines, and exceptions) that the service provides (the precise definition or
declaration of each such element should be present, along with comments or
annotations describing the meanings of values, parameters, etc.; for each service
element described, include or provide a reference in its discussion to a
description of its important software service attributes (Component Identifier,
Classification, Language, SLOC Estimate, Definition, Responsibilities,
Requirements, Internal Data Structures, Constraints, Composition,
Uses/Interactions, Resources, Processing, and Interfaces/Exports))
Reporting Design and Integration - If built in, provide details on data traffic and
volumes
9. External Interfaces
Instructions: Describe any interfaces that exist with external systems that are not within
the scope of the system being designed, regardless whether the other systems are
managed by CMS or another entity. Describe the electronic interface(s) between the
system being designed and each of the other systems and/or subsystem(s),
emphasizing the point of view of the system being designed. If there are more than one
or two external systems, or if the interfaces are not simplistic, one or more separate
Interface Control Documents (ICDs) should be prepared and referenced here. If
applicable, identify how many ICDs exist and what they are. A template for an ICD is
available from the CMS Integrated IT Investment & System Life Cycle Framework Web
site located at https://www.cms.gov/Research-Statistics-Data-and-Systems/CMS-
Information-Technology/XLC/Downloads/InterfaceControlDocument.docx.
Appendix B: Acronyms
Instructions: Provide a list of acronyms and associated literal translations used within
the document. List the acronyms in alphabetical order using a tabular format as
depicted below.
Table 2 - Acronyms
Acronym Literal Translation
<Acronym> <Literal Translation>
<Acronym> <Literal Translation>
<Acronym> <Literal Translation>
Appendix C: Glossary
Instructions: Provide clear and concise definitions for terms used in this document that
may be unfamiliar to readers of the document. Terms are to be listed in alphabetical
order.
Table 3 - Glossary
Term Acronym Definition
<Term> <Acronym <Definition>
>
<Term> <Acronym <Definition>
>
<Term> <Acronym <Definition>
>
Appendix E: Approvals
The undersigned acknowledge that they have reviewed the SDD and agree with the information
presented within this document. Changes to this SDD will be coordinated with, and approved
by, the undersigned, or their designated representatives.
Instructions: List the individuals whose signatures are desired. Examples of such
individuals are Business Owner, Project Manager (if identified), and any appropriate
stakeholders. Add additional lines for signature as necessary.
Table 5 - Approvals
Document Approved By Date Approved
3. Do not delete any headings. If the heading is not applicable to the investment,
enter “Not Applicable” under the heading.