Title: Controlled Software Management
1Controlled Software Management
2Learning Objectives
- Understand the consequence of inadequate software
management control - Identify scope of procedure and approved
exemptions - Specify Software Project Management activities
- Determine process for software acceptance
- Develop software test plan
- Define Software Operation and Maintenance
Requirements - Define Lifecycle phases and documentation
requirements
3Purpose of HNF-PRO-309
- Manage software lifecycle activities including
- Identify Requirements,
- Control Configuration,
- Acquire Evaluate,
- Design Implement,
- Verify Validate,
- Operate Maintain, and
- Retire software
4Software Management Method
- Systematic
- Disciplined
- Quantifiable
5Software Control Consequences
- Therac 25
- Patriot Missile System
- Ariane 5
6Therac 25
7Patriot Missile System
8Ariane 5
9Learning Objectives
- Understand the consequence of inadequate software
management control - Identify scope of procedure and approved
exemptions - Specify Software Project Management activities
- Determine process for software acceptance
- Develop software test plan
- Define Software Operation and Maintenance
Requirements - Define Lifecycle phases and documentation
requirements
10Scope
- Applies to all controlled software.
- Controlled software includes nuclear,
safety-related, high-risk and quality affecting
software currently in use at the Hanford Site
under the Project Hanford Management Contract
(PHMC)
11Exemptions
- Site licensed and metered software
- Firmware
- WIPP Controlled by other procedures
- OCRWM Controlled by other procedures
- Single-use spreadsheets
12Learning Objectives
- Understand the consequence of inadequate software
management control - Identify scope of procedure and approved
exemptions - Specify Software Project Management activities
- Determine process for software acceptance
- Develop software test plan
- Define Software Operation and Maintenance
Requirements - Define Lifecycle phases and documentation
requirements
13Roles and Responsibilities
- Project/Facility/Function Manager
- Software SME
- Software Owner
- Independent Technical Reviewer
- Test Personnel
- FH Chief Information Officer
14Procedure Process Setup
- Manage the Project
- Acquire
- Evaluate Legacy/COTS
- Accept for New Scope
- Manage Requirements
- Design
15Procedure Process Execution
- Implement
- Test
- Approve for Use
- Install
- Operate
- Maintain
16Software Project Management (5.1.2)
- Software Classification
- Risk Management
- Quality Planning
17Software Classification (Appendix A)
- Controlled Software Determination Checklist
- Level A Safety Systems
- Level B Safety-related analysis (SARP)
- Level C High-risk
- Level D Medium-risk
- Level E Low-risk
18Risk Management (5.1.3)
- Functional Requirements Document
- Controlled Software Determination Checklist
- Computer System Evaluation
- Acquisition/Development Strategy
- Alternatives Analysis
19Quality Planning (5.1.4)
- A description of the software need
- Organizations responsible for software
- Configuration Management Methodology
- Supporting documentation to be prepared
- Required Software Reviews
- Programming standards, conventions, techniques or
methodologies.
20Quality Planning contd
- Error reporting/corrective action methods
- Preparation of Contingency and Disaster Recovery
Plans (HNF-PRO-597) - Data and Information Management Standards
(HNF-PRO-656) - Functional Security Requirements/ Application
Development (HNF-PRO-311)
21Learning Objectives
- Understand the consequence of inadequate software
management control - Identify scope of procedure and approved
exemptions - Specify Software Project Management activities
- Determine process for software acceptance
- Develop software test plan
- Define Software Operation and Maintenance
Requirements - Define Lifecycle phases and documentation
requirements
22Software Acquisition (5.2)
- Statement of Work (HNF-PRO-186)
- CIO Approval for Level A, B, or C software
- Purchase software (HNF-PRO-123)
- Virus scan files (HNF-PRO-592)
- License agreements
23Acquisition contd
- Establish primitive baseline
- Prepare Software Management Plan
- Manage software code media
- Archive completed code in Source Integrity/Visual
Source Safe - Manage documents (HNF-RD-8310)
24COTS/LEGACY Evaluation (5.3)
- Functional Requirements Document
- Software Evaluation Report
- intended use of software
- adequacy of software to support application
- adequacy of test plans/test reports
- adequacy of user documentation
- compensatory measures
25Acceptance for New Scope (5.4)
- Functional Requirements Document
- Evaluate existing software baseline
- intended use of software
- adequacy of software to support application
- adequacy of SRS/SDD documentation
- adequacy of test plans/test reports
- adequacy of user documentation
26Learning Objectives
- Understand the consequence of inadequate software
management control - Identify scope of procedure and approved
exemptions - Specify Software Project Management activities
- Determine process for software acceptance
- Develop software test plan
- Define Software Operation and Maintenance
Requirements - Define Lifecycle phases and documentation
requirements
27Lifecycle phases
- Requirements
- Design
- Implementation
- Testing
- Installation
- Operation Maintenance
- Retirement
28Requirements Management (5.5)
- Software Requirements Specification
- Functionality
- Performance
- Design Constraints
- Attributes
- External Interfaces
- Software and Data Security Controls
29Requirements Management
- Identify critical characteristics for putting a
payload into space.
30Software Design (5.6)
- Design Description
- Description of major components
- Technical Description
- Allowable Input/Output ranges
- Integration Points (HLAN)
- Data Model (Metadata)
- Hardware and Software Configuration
31Technical Description
- Theoretical basis
- Mathematical model
- Control Flow
- Data Flow
- Control Logic
- Data Structures
32Independent Design Review
- Complete
- Verifiable
- Consistent
- Traceable to requirements
33Software Implementation (5.7)
- Create source code
- Analyze and debug software
- Document code
- Code walkthrough (Level A/B/C only)
- Prepare user documentation
34User Documentation
- Software name and version identifier
- Description of user interaction
- Description of required training
- Input/Output specifications
- Input/Output format
35User Documentation contd
- Description of system limitations
- System configuration
- Information for maintenance support
- Description of user messages and how user can
respond - Process for reporting problems
36Establish software baseline
- Manage software media
- Archive code in Source Integrity/Visual Source
Safe - Manage documentation as supporting documents
- Register baseline in Hanford Information System
Inventory (HISI)
37Software Testing (5.8)
- Assign test personnel
- Prepare Test Plan
- Specify test methods
- Independent Technical Review
- Perform testing
- Prepare Acceptance Test Report
38Test Plan
- Test objectives and technical approach,
- Required ranges of input parameters,
- Requirements for testing logic branches,
- Requirements for hardware integration,
- Evaluation method(s) to be used,
- Sequence of required activities, and
- Acceptance criteria.
39Test Methods
- Hand calculations,
- Calculations using comparable proven problems,
- Comparison with confirmed published data,
- Comparisons with validated computer programs,
- Comparisons with experiments and tests, and
- Manual inspections of system performance.
40Case Study test planning
41Learning Objectives
- Understand the consequence of inadequate software
management control - Identify scope of procedure and approved
exemptions - Specify Software Project Management activities
- Determine process for software acceptance
- Develop software test plan
- Define Software Operation and Maintenance
Requirements - Define Lifecycle phases and documentation
requirements
42Acceptance Test Report
- Demonstrate that test results address the
specified test acceptance criteria - Changes to methods, inputs, or sequence
- Date of test
- Simulation models used, where applicable
- Hardware used and test configuration
- Test results and conclusions
- Requirements Traceability Matrix
43Approval for Use (5.9)
- Register the software application in the Hanford
Information System Inventory (HISI) by completing
the required links to supporting documentation. - Software SME Approval for Level A/B/C/D Software
- CIO Approval for Level A/B Software
44Software Installation (5.10)
- NETWORK
- Prepare PRRB Submission Package
- Obtain PRRB approval
- Perform installation
- Prepare Software IC Form
- Archive completed software in Source
Integrity/Visual Source Safe
- DESKTOP
- Perform installation
- Prepare Software IC Form
- Archive completed software in Source
Integrity/Visual Source Safe
45PRRB Submittal
- PRRB Submission Form
- Implementation Plan
46Software Operation (5.11)
- Manage Authorized User List
- Establish user access controls
- Document user qualification (Level A/B)
- Log usage for Level A/B Software
- Operate software
- Perform periodic operational testing (Level A)
- Software retirement
47Software Maintenance (5.12)
- User notification of required software change
- Software Owner resolves problem with Computer
Technical Support - Complete Problem Report to identify software
problem and determine impact - Report error in accordance with HNF-PRO-052
- Propose updates/changes by completing PR/CR
- SME approval of proposed software changes
48Maintenance contd
- Implement approved software change
- Define test cases required to verify minor change
and to support regression testing - Independent Technical Review
- Perform required testing
- Document testing on PR/CR or Test Report
- Review and approve PR/CR test documentation
- Update HISI when new or revised software products
are approved for use
49Learning Objectives
- Understand the consequence of inadequate software
management control - Identify scope of procedure and approved
exemptions - Specify Software Project Management activities
- Determine process for software acceptance
- Develop software test plan
- Define Software Operation and Maintenance
Requirements - Define Lifecycle phases and documentation
requirements
50Conclusion
- HNF-PRO-309 manages software lifecycle using a
graded approach - Identify Requirements,
- Control Configuration,
- Acquire Evaluate,
- Design Implement,
- Verify Validate,
- Operate Maintain, and
- Retire software