|
Software Specifications Review (SSR)
Presenters
Requirements definition team
Participants
- Customer
representatives
- User representatives
- Senior
development team representative(s)
- QA representatives
Time
After requirements definition is complete and before the requirements
analysis phase begins.
Agenda
Selective presentation of system requirements, highlighting operations
concepts and critical issues (e.g., TBD requirements)
Materials
Distribution
- The requirements
and functional specifications document is distributed 1 to 2 weeks prior
to SSR.
- Hardcopy
material is distributed a minimum of 3 days before the SSR.
Key
Issues To Be Addressed
- What is
the effect of the TBD items?
- What timetable
has been established for resolving TBD items?
- Have all
external interface requirements been defined?
- Are operational
methods and performance constraints understood (e.g., timing, accuracy)?
- Is the
project feasible, given the constraints on and assumptions about available
resources?
SSR
Hardcopy Material
An outline and suggested contents of the SSR hardcopy material are presented
below.
- Agenda
- outline of review material.
- Introduction
- purpose of system and background of the project.
- Requirements
summary - review of top-level (basic) requirements developed to form
the functional specifications.
- Background
of requirements - overview of project characteristics and major events.
- Derivation
of requirements - identification of input from project office, support
organization, and system engineering organization used to formulate
the requirements, support instrumentation requirements document
(SIRD), memoranda of information (MOIs), and memoranda of understanding
(MOUs).
- Relationship
of requirements to level of support provided - typical support,
critical support, and special or contingency support.
- Organizations
that provide system and support input and receive system output.
- Data
availability - frequency, volume, and format.
- Facilities
-target computing hardware and environment characteristics.
- Requirements
for computer storage, failure/recovery, operator interaction, system
error recovery, and diagnostic output.
- Requirements
for support and test software - data simulators, test programs,
and utilities.
- Overview
of the requirements and functional specifications document - its
evolution, including draft dates and reviews and outline of contents.
- Performance
requirements - system-processing speed, system response time, system
failure recovery time, and output data availability.
- Derived
system requirements - List of those requirements not explicitly called
out in the requirements document but representing constraints, limitations,
or implications that must be satisfied to achieve the explicitly stated
requirements.
- Operations
concepts
- High-level
diagrams of operating scenarios showing intended system behavior
from the user's viewpoint.
- Sample
input screens, menus, etc.; sample output displays, reports, plots,
etc; critical control sequences.
- Requirements
management approach
- Description
of controlled documents, including scheduled updates.
- Specifications/requirements
change control procedures.
- System
enhancement/maintenance procedures.
- Personnel
organization and interfaces -
- Milestones
and suggested development schedule -
- Issues,
TBD items, and problems - a characterization of all outstanding requirements
issues and TBDs, an assessment of their risks (including
the effect on progress), and a course of action to resolve them, including
required effort, schedule, and cost.
Requirement
and Functional Specifications Template
The requirement definition team as the key product of the requirement
definition phase produces this document. It is often published in multiple
volumes: volume 1 defines the requirements, and volume 2 contains the
functional specifications. The document is distributed prior to the SSR.
Functional specifications are updated during requirement analysis and
baseline following the SSR.
- Introduction
-
- Purpose
and background of the project.
- Document
organization.
- System
overview -
- Overall
system concept.
- Expected
operational environment (hardware, peripherals, etc.).
- High-level
diagrams of the system showing the external interfaces and data
flows.
- Overview
of high-level requirements.
- Requirements
- functional, operational (interface, resource, performance, etc.),
and data requirements
- Numbered
list of high-level requirements with their respective derived requirements
(derived requirements are not explicitly called out in the requirements
document but represent constraints, limitations, or implications
that must be satisfied to achieve the explicitly stated requirements)
- For
each requirement:
- Requirement
number and name.
- Description
of the requirement.
- Reference
source for the requirement, distinguishing derived from explicit
requirements.
- Interfaces
to other major functions or external entities.
- Performance
specifications - frequency, response time, accuracy, etc.
- Functional
specifications -
- Discussion
and diagrams showing the functional hierarchy of the system.
- Description
and data flow diagrams of the basic functions of each major subsystem.
- Description
of general conventions used (mathematical symbols, units of measure,
etc.).
- Description
of each basic function.
- Input.
- Process
- detailed description on how this function should work.
- Output.
- Identification
of candidate reusable software.
- Acceptance
criteria for verifying satisfaction of related requirements.
- Data
dictionary - indicating name of item, definition, structural
composition of the item, item range, item type.
- Mapping
of functional specifications to requirements - also distinguishes project-unique
requirements from standard requirements for the project type.
Requirements
Analysis Report
The development team at the conclusion of the requirement analysis phase
prepares this report. It summarizes the results of requirement analysis
and establishes a basis for beginning preliminary design. The suggested
contents are as follows:
- Introduction
- purposes and background of the project, overall system concepts, and
document overview.
- Reuse
proposal - key reuse candidates and overall architectural concept for
the system.
- Operations
overview - updates to operations concepts resulting from work performed
during the requirements analysis phase.
- Updated
operations scenarios
- Operational
modes - including volume and frequency of data to be processed in
each mode, order and type of operations, etc.
- Updated
descriptions of input, output, and messages
- Specification
Analysis
- Summary
of classifications (mandatory, derived, "wish list", information
only, or TBD) assigned to requirements and functional specifications
- Problematic
specifications - identification and discussion of conflicting, ambiguous,
infeasible, untestable, and TBD requirements and specifications.
- Unresolved
requirements/operations issues, including the dates by which resolutions
are needed.
- System
Constraints
- Hardware
availability - execution, storage, peripherals
- Operating
system limitations
- Support
software limitations
- Development
Assumptions
- Risks
both to costs and schedules. These should include risks related
to TBD or changing requirements, as well as technical risks
- Prototyping
efforts needed to resolve technical risks, including the goals and schedule
for each prototyping effort
- Data Flow
or object oriented diagrams results of all functional decomposition
or object oriented analysis of the requirements performed during the
requirements analysis phase.
- Data dictionary
- for the updated processes, data flows, and objects shown in the diagrams.
|