Shopping Cart

No products in the cart.

BSI PD CEN/TR 17603-40:2022

$215.11

Space engineering. Software engineering handbook

Published By Publication Date Number of Pages
BSI 2022 202
Guaranteed Safe Checkout
Category:

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

This Handbook provides advice, interpretations, elaborations and software engineering best practices for the implementation of the requirements specified in EN 16603-40 (based on ECSS-E-ST-40C). The handbook is intended to be applicable to both flight and ground. It has been produced to complement the EN 16603-40 Standard, in the area where space project experience has reported issues related to the applicability, the interpretation or the feasibility of the Standard. It should be read to clarify the spirit of the Standard, the intention of the authors or the industrial best practices when applying the Standard to a space project. The Handbook is not a software engineering book addressing the technical description and respective merits of software engineering methods and tools.

PDF Catalog

PDF Pages PDF Title
2 undefined
10 1 Scope
12 2 References
14 3 Terms, definitions and abbreviated terms
3.1 Terms from other documents
3.2 Terms specific to the present document
3.3 Abbreviated terms
17 4 Introduction to space software
4.1 Getting started
4.1.1 Space projects
4.1.2 Space standards: The ECSS System
18 4.1.3 Key characteristics of the ECSS System
4.1.4 Establishing ECSS Standards for a space project
19 4.1.5 Software / ECSS Standards relevant for Software
21 4.1.6 Why are standards a MUST for the software development process?
22 4.1.7 Executing a space software project
4.1.7.1 Overview
4.1.7.2 Lessons learned
4.1.7.3 Project Management
4.1.7.4 Reviews
23 4.1.7.5 Processes
4.1.8 Disciplines in Space Software Projects
4.1.8.1 Overview
24 4.1.8.2 Software System Engineering (Co-engineering)
4.1.8.3 Software Design and Implementation
4.1.8.4 Software Configuration Management
4.1.8.5 Software Product Assurance
4.2 Getting compliant
4.2.1 The ECSS-E-ST-40C roles
4.2.1.1 Customer – Supplier definition
25 4.2.1.2 User
4.2.1.3 The SOS Entity
26 4.2.1.4 Maintainer
4.2.1.5 Operator
4.2.1.6 Conductor
4.2.1.7 Roles relationship
28 4.2.2 Compliance with the ECSS-E-ST-40C
30 4.2.3 Characterization of space software leading to various interpretations/applications of the standard
4.2.3.1 Introduction
4.2.3.2 Flight software characterization
31 4.2.3.3 Ground segment software characterization
33 4.2.4 Software criticality categories
4.2.4.1 Software criticality analysis
34 4.2.4.2 Critical software
35 4.2.5 Tailoring
37 4.2.6 Contractual and Organizational Special Arrangements
4.2.6.1 Contractual and Organisational Aspects of Software Development
4.2.6.2 Warranty, User support and Maintenance
39 4.2.6.3 Software Delivery Modalities
40 4.2.6.4 Software Development Environment
4.2.6.5 Software Development Methodologies
4.2.6.6 Software Acceptance Modalities and Warranty Period
41 4.2.6.7 Intellectual Property Rights management
42 4.2.6.8 Other development constraints / Customer Furnished Items
43 5 Guidelines
5.1 Introduction
5.2 Software related system requirement process
5.2.1 Overview
5.2.1.1 Introduction
44 5.2.1.2 System engineering
45 5.2.1.3 System level framework relevant for Software
5.2.1.4 Software System Engineering
5.2.1.5 Co-engineering by means of an Integrated System / Software team
46 5.2.1.6 Preconditions / Tailoring
5.2.2 Software related system requirements analysis
5.2.2.1 Specification of system requirements allocated to software
47 5.2.2.2 Identification of observability requirements
5.2.2.3 Specification of Human Machine Interface requirements
5.2.3 Software related system verification
5.2.3.1 Verification and Validation process requirements
5.2.3.2 System input for software validation
5.2.3.3 System input for software installation and acceptance
48 5.2.4 Software related system integration and control
5.2.4.1 Identification of software versions for software integration into the system
5.2.4.2 Supplier support to system integration
5.2.4.3 Interface requirement specification
5.2.4.4 System database
53 5.2.4.5 Development constraints
5.2.4.6 On board control procedures
54 5.2.4.7 Development of software to be reused
5.2.4.8 Software safety and dependability requirements
5.2.4.9 Format and data medium
55 5.2.5 System requirement review
5.2.5.1 Relationship between software SRR and system SRR
5.2.5.2 Software requirement reviews
56 5.3 Software management process
5.3.1 Overview
5.3.2 Software life cycle management
5.3.2.1 Software life cycle identification
5.3.2.2 Identification of interfaces between development and maintenance
5.3.2.3 Software procurement process implementation
5.3.2.4 Automatic code generation
57 5.3.2.5 Change to baselines
5.3.3 Software project and technical reviews
5.3.3.1 Joint reviews
5.3.3.2 Software project reviews
5.3.3.3 Software technical reviews
5.3.4 Software project reviews description
58 5.3.5 Software technical reviews description
5.3.5.1 Description
60 5.3.5.2 Use of Technical Reviews to accommodate various life cycles
65 5.3.6 Review phasing
5.3.6.1 Review phasing for flight software
66 5.3.6.2 Review phasing for ground software
5.3.7 Interface management
67 5.3.8 Technical budget and margin management
5.3.8.1 Software technical budget and margin philosophy definition
5.3.8.2 Technical budget and margins computation
5.3.9 Compliance to this Standard
5.4 Software requirements and architecture engineering process
5.4.1 Overview
5.4.2 Software requirement analysis
5.4.2.1 Establishment and documentation of software requirements
68 5.4.2.2 Definition of functional and performance requirements for in flight modification
5.4.2.3 Construction of a software logical model
69 5.4.2.4 Conduction a software requirement review
5.4.3 Software architectural design
5.4.3.1 Transformation of software requirements into a software architecture
70 5.4.3.2 Software design method
71 5.4.3.3 Selection of a computational model for real-time software
5.4.3.4 Description of software behaviour
5.4.3.5 Development and documentation of the software interface
5.4.3.6 Definition of methods and tools for software intended for reuse
76 5.4.3.7 Reuse of existing software
78 5.4.3.8 Definition and documentation of the software integration requirements and plan
5.4.4 Conducting a preliminary design review
5.5 Software design and implementation engineering process
5.5.1 Overview
5.5.2 Design of software items
5.5.2.1 Detailed design of each software components
5.5.2.2 Development and documentation of the software interfaces detailed design
5.5.2.3 Production of the detailed design model
5.5.2.4 Software detailed design method
79 5.5.2.5 Detailed design of real-time software
80 5.5.2.6 Utilization of description techniques for the software behaviour
5.5.2.7 Determination of design method consistency for real-time software
5.5.2.8 Development and documentation of the software user manual
5.5.2.9 Definition and documentation of the software unit test requirements and plan
5.5.2.10 Conducting a detailed design review
5.5.3 Coding and testing
5.5.3.1 Development and documentation of the software units
5.5.3.2 Software unit testing
83 5.5.4 Integration
5.5.4.1 Software integration test plan development
5.5.4.2 Software units and software component integration and testing
85 5.6 Software validation process
5.6.1 Overview
86 5.6.2 Validation process implementation
5.6.2.1 Establishment of a software validation process
90 5.6.2.2 Selection of an ISVV organization
93 5.6.3 Validation activities with respect to the technical specification
5.6.3.1 Development and documentation of a software validation specification with respect to the technical specification
5.6.3.2 Conducting the validation with respect to the technical specification
5.6.3.3 Updating the software user manual
5.6.3.4 Conducting a critical design review
5.6.4 Validation activities with respect to the requirement baseline
5.6.4.1 Development and documentation of a software validation specification with respect to the requirement baseline
94 5.6.4.2 Conducting the validation with respect to the requirement baseline
5.6.4.3 Updating the software user manual
5.6.4.4 Conducting a qualification review
95 5.7 Software delivery and acceptance process
5.7.1 Overview
5.7.2 Software delivery and installation
96 5.7.3 Software acceptance
5.7.3.1 Acceptance test planning
97 5.7.3.2 Acceptance test execution
5.7.3.3 Executable code generation and installation
5.7.3.4 Supplier’s support to customer’s acceptance
98 5.7.3.5 Evaluation of acceptance testing
5.7.3.6 Conducting an acceptance review
99 5.8 Software verification process
5.8.1 Overview
5.8.2 Verification process implementation
5.8.2.1 Establishment of the software verification process
102 5.8.2.2 Selection of the organization responsible for conducting the verification
5.8.3 Verification activities
5.8.3.1 Verification of requirements baseline
104 5.8.3.2 Verification of the technical specification
5.8.3.3 Verification of the software architectural design
105 5.8.3.4 Verification of software detailed design
5.8.3.5 Verification of code
5.8.3.6 Verification of software unit testing (plan and results)
5.8.3.7 Verification of software integration
106 5.8.3.8 Verification of software validation with respect to the technical specification and the requirements baseline
5.8.3.9 Evaluation of validation: complementary system level validation
5.8.3.10 Verification of software documentation
5.8.3.11 Schedulability analysis for real-time software
5.8.3.12 Technical budget management
5.8.3.13 Behaviour modelling verification
5.9 Software operation process
5.9.1 Overview
5.9.1.1 Introduction
108 5.9.1.2 Incident Management
109 5.9.1.3 Problem Management
5.9.1.4 Release Management
5.9.2 Process implementation
5.9.3 Operational testing
5.9.4 Software operation support
5.9.5 User support
110 5.10 Software maintenance process
5.10.1 Overview
5.10.2 Process implementation
5.10.2.1 Establishment of the software maintenance process
114 5.10.2.2 Long term maintenance for flight software
117 5.10.3 Problem and modification analysis
5.10.4 Modification implementation
5.10.5 Conducting maintenance review
5.10.6 Software migration
5.10.7 Software retirement
118 6 Selected topics
6.1 Use Cases and Scenarios
6.1.1 Relation to the Standard
6.1.2 Introduction to use cases
119 6.1.3 Identification of use cases
6.1.4 Formalization of each use case
121 6.1.5 Definition and guidelines
122 6.2 Life cycle
6.2.1 Relation to the Standard
6.2.2 Introduction
124 6.2.3 Existing life-cycle models
6.2.3.1 Sequential models (Waterfall and V Models)
125 6.2.3.2 Iterative models
133 6.2.3.3 Multi-level (nested)
6.2.4 Choosing a Software life-cycle
134 6.2.4.2 System-Software relationships
135 6.2.4.3 Customer-Supplier relationship
136 6.2.4.4 Influence of the used technologies/methods/languages
6.3 Model based Engineering
6.3.1 Relation to the Standard
137 6.3.2 Definition and guidelines
6.3.2.1 Modelling
6.3.2.2 Model Based System Engineering
138 6.3.2.3 Model Driven Architecture
6.3.2.4 Component model
139 6.3.2.5 Model Based Testing
140 6.4 Testing Methods and Techniques
6.4.1 Relation to the Standard
6.4.2 Introduction
6.4.3 Definitions
6.4.3.1 Black box test
6.4.3.2 Test coverage
6.4.3.3 Test objective
6.4.3.4 White box test
6.4.4 Test objectives
6.4.4.1 Interface testing
142 6.4.4.2 Robustness Testing
6.4.4.3 Performance testing
143 6.4.5 Testing strategies and approaches
6.4.5.1 Introduction
6.4.5.2 Testing techniques
147 6.4.6 Real Time Testing
148 6.5 Autocode
6.5.1 Relation to the Standard
6.5.2 Introduction
149 6.5.3 Subsystem and software relationship around autocode
6.5.3.1 Introduction
6.5.3.2 Roles
6.5.3.3 Autocoding process
152 6.5.3.4 Impact on the software reviews
6.5.4 From subsystem model to autocoded model
6.5.4.1 Traceability
6.5.4.2 Configuration Management
6.5.4.3 Modelling standard
153 6.5.4.4 Verification and Validation
6.5.4.5 Modelling Coverage
154 7 Real-time software
7.1 Relation to the Standard
7.2 Software technical budget and margin philosophy definition
7.2.1 Introduction
155 7.2.2 Load and real-time
7.2.2.1 Schedulability analysis
7.2.2.2 Theoretical worst case and operational scenario
156 7.2.2.3 Margins
158 7.2.3 Memory capacity
7.2.4 Numerical Accuracy
7.2.5 Interface timing budget
159 7.3 Technical budget and margins computation
7.3.1 Load and real-time
160 7.3.2 Memory margins
7.3.3 Numerical accuracy budget management
161 7.3.4 Interface timing budget management
7.4 Selection of a computational model for real-time software
7.4.1 Introduction
162 7.4.2 Recommended Terminology
166 7.4.3 Computational model
7.4.3.1 Overview
169 7.4.3.2 Access to Hardware Resources
170 7.4.3.3 Criteria for Computational Model selection
171 7.5 Schedulability analysis for real-time software
7.5.1 Overview
7.5.2 Schedulability Analysis
7.5.2.1 Needed Input
173 7.5.2.2 Description of the analysis method
174 7.5.2.3 Quality of Schedulability Analysis Input
177 7.5.2.4 Schedulability Analysis Results
178 7.5.2.5 Schedulability Analysis Checklists
BSI PD CEN/TR 17603-40:2022
$215.11