Março/2015
Qualidade de Sistemas Intensivos
em Software no contexto de
Missões Espaciais
Dra Fátima Mattiello-Francisco
l
Formação:
–
Bacharel em Ciência da Computação – ICMC/ USP
–
Mestre em Eletrônica e Telecomunicações – INPE - Sistemas Tolerantes a Falhas
–
Doutora em Engenharia da Computação - Teste de Software – ITA
l
Cargo: Tecnologista Sênior/ Engenharia de Software
Laboratório de V&V sis -
Coordenação de Gestão de Tecnologias (TEC) / NIT-INPE Docente do Curso de Engenharia de Sistemas Espaciais - ETEl
Projetos de Satélites
–
Desenvolvimento do Software - Segmento Solo
l
Satélite de Coleta de Dados – SCD – Sistema de Controle da Antena
l
Satélite Científico – SACI – Sistema TM/TC
–
Integração dos experimentos científicos – carga útil SACI
l
Integração com OBDH
l
Integração com Solo
–
Missões de Nanosatélites – NanoSatC-BR e CONASAT
–
SINDA – Sistema INtegrado de Dados Ambientais – Modernização do Centro Missão SCD
l
Programa Brasileiro para a Estação Espacial Internacional – ISS
l
Missão de Balão Estratosférico
–
Software de recepção da TM telescópio MASCO – Máscara Codificada para imagear Raios-X
–
Segmento Solo da Missão ProtoMIRAX – projeto FINEP – previsão de lançamento 2016
l
Projeto de Pesquisa em Teste de Software
–
PLAVIS – CNPq Universal cooperação ICMC-USP e IC-Unicamp
–
REVVIS – Revisão de Especialista em Verificação e Validação Independente de Software
–
Robust Web – Cooperação Brasil – França
–
REACT – Recuperação de erros em Sistemas Assíncronos Sensíveis ao Contexto
– QSEE – Qualidade do Software Embarcado em Aplicações Espaciais – FINEP
l
Contextualização
l
Sistemas Intensivos em Software
l
ECSS e ciclo de vida de missões espaciais
l
Verificação e Validação
l
Qualidade do Processo
l
Qualidade do Produto
l
Experiências em IV&V
–
Aplicação de metodologias MBT
l
Modelagem
l
Geração automática de testes
l
Execução
Ø
Crescente preocupação das agências espaciais
mundiais a partir dos anos 90 com a qualidade dos projetos
Ø
satélites
Ø
veículos lançadores
Ø
operação de missões em solo
Ø
Evolução tecnológica dos sistemas computacionais
(hardware e software) aumenta as funcionalidades
implementadas por software – software mais complexo
sistemas intensivos em software
Ø
Grandes investimentos do setor industrial na melhoria
dos processos adotados no desenvolvimento de software
Qualidade do processo de software - CMMI
Contextualização
Elementos da missão espacial
WERTZ – Space Mission Analysis and Design
Como as partes da missão
se comunicam
Pessoas e Software
que executam a
missão no dia a dia
Equipamentos de
comunicação e
facilidades de solo
para controle do
satélite
Como o satélite é colocado
na órbita especificada
O que o satélite observa (passive
subject) ou interage (active or
controlable subject)
A trajetória do satélite
durante a vida útil da
missão
Hardware e software que
operam no espaço para
observar ou interagir
com o alvo da missão
Power
TM/TC
OBDH
Outros
Plataforma do
Satélite
PDC
SWPDCIONEX
EPP-1
(real)EPP-2
(real)Carga útil
Sensors
Measurements
Commands
Other
Commands
System Bus
TC from OBDH
TM to OBDH
Subsistema de
Controle e
Atitude
AOCS
computer
A
ctu
ato
rs
GROUND SYSTEM CONCEPTION FOR SACI-1
TC
Transmitter/ReceiverSatellite Telemetry
&
Payload Telemetry
Telecommand
Antenna Control
TM
TM
INTERNET
Data Base SERVER
Scientific Community
Sistemas Intensivos em Software
Centro de Missão
Centro de Controle
ACDH
ECSS Structure
:
Cliente x Fornecedor
ECSS-E-40 requirements
l
Requirements are established for the following disciplines:
–
system engineering processes related to SW
–
software requirements engineering
–
software design engineering
–
software validation and acceptance
–
software operations engineering
–
software maintenance
–
software verification and validation (supporting process)
l
Additional requirements exist for specific types of SW or
development:
–
space segment
–
ground segment
–
SW reuse
–
man-machine interfaces
–
critical SW
ECSS-Q-80 requirements
l
Programmatic requirements on SW product assurance:
–
organisation
–
responsibilities
–
planning
–
management
l
Software process assurance:
–
lifecycle
–
software development processes
l
Software product assurance:
–
quality objectives and metrication
Especificação Requisitos
Modelos
formais
Linguagem
Natural
Software Embarcado
Qualidade do Produto
Qualidade
do Processo
+
Qualidade
[
NBR ISO 8402
]
A totalidade das
CARACTERÍSTICAS de uma ENTIDADE
que lhe confere
a capacidade de satisfazer às
necessidades explícitas e implícitas
de
9001
12207
CMMI
15504
mpsBr
Qualidade de Processo
Objetivos
Recursos e Infraestrutura
Entradas
Saídas
atividades
Processo
: É uma sequência de atividades realizadas
para atingir um determinado propósito com o
apoio de ferramentas especificadas.
9001
12207
CMMI
15504
mpsBr
Modelos de Referência
Qualidade do Processo de SOFTWARE
Objetivos
Recursos e Infraestrutura
Entradas
Saídas
Qualidade do Processo de SOFTWARE
Processos de Ciclo de Vida do Software
[ISO/IEC 12207]
VERIFICAÇÃO
Requisitos
Especificação
PRODUÇÃO
Métodos de
Verificação
Ø
Teste
(mede o desempenho e
funcionamento do produto em ambientes
real ou simulados)
Ø
Revisão de projeto
(
documentos de projeto
evidenciam que os requisitos foram cumpridos)
Ø
Análise
(
técnicas analíticas ou similaridade
)
Ø
Inspeção
(
determinação visual características físicas
)
[
ECSS-E-10-02A
]
VERIFICAÇÃO
Requisitos
Especificação
PRODUÇÃO
Processos de Verificação e Validação
TESTES
V&V
Build the Right Product
Build the Product Right
Qualidade de Processo do Software
Modelo V
Requisitos
Aceitação
Teste de
Código
Espec. Sist.
Teste de
Sistema
Arquitetura
Teste de
Integração
Projeto
Teste de
Ciclo de vida da missão Espacial
SRR
PDR
CDR
•
Especificação do SW
•
Definição das interfaces
•
Análise de requisitos
•
Projeto Preliminar
•
Prototipação
Revisão de Requisitos do SW
Revisão de Prelimiar de Projeto
•
Projeto Detalhado
•
Implementação e Testes
Revisão Crítica de Projeto
Especificacão de
Sistema
Integracão de sistema
Qualidade do Processo
de Software - INPE
O+A
B
C
D
E
F
MISSÃO / FUNÇÃO REQUISITOS DEFINIÇÃO & JUSTIFICATIVA VERIFICAÇÃO incluindo QUALIFICAÇÃO Ciclo de vida da missão espacial PROCESSOS DO CICLO DE VIDA DO SOFTWARE PRODUÇÃO UTILIZAÇÃO PÓS VIDA ÚTILA
T
I
V
I
D
A
D
E
S
FASES DA MISSÃO ESPACIAL
Processos da Engenharia de REQUISITOS e ARQUITETURA de SOFTWARE Processos de OPERAÇÃO do SOFTWARE Processos de MANUTENÇÃO do SOFTWARE
REVISÕES de MISSÃO MDR
PRR SRR PDR CDR QR AR ORR FRR
EOL Processos da Engenharia de SISTEMAS relacionado ao SOFTWARE Processos da Engenharia de PROJETO e IMPLEMENTAÇÃO do SOFTWARE Processos de VERIFICAÇÃO do SOFTWARE Processos de VALIDAÇÃO do SOFTWARE Processos de ACEITAÇÃO do SOFTWARE DDR
V&V
Especificação Requisitos
Modelos
formais
Linguagem
Natural
Software Embarcado
Qualidade do
Produto
Qualidade
do Processo
Normas de Qualidade de Produto
de Software
ISO/IEC 12119 - Tecnologia da
Informação - Pacotes de
Software - Teste e Requisitos de
Qualidade
ISO/IEC 9126 - Engenharia de
Software - Qualidade de
Produto
de Software
1:
Modelo de Qualidade
2:
Métricas Externas
3:
Métricas Internas
4:
Métricas de Qualidade
em Uso
ISO/IEC 14598 - Engenharia de
Software - Processo de
Avaliação de Produto de
Software
1:
Visão Geral
2:
Gestão e Planejamento
3:
Processo para
Desenvolvedores
4:
Processo para Adquirentes
5:
Processo para Avaliadores
6:
Documentação para Módulos
processo
produto de software
Efeito do
produto de
software
depende de
depende de
depende de
Atributos de
qualidade
externa
influencia
Atributos de
qualidade
interna
influencia
medidas do
processo
medidas
internas
medidas
externas
medidas de
qualidade
em uso
Atributos de
qualidade em
uso
Contexto de uso
Qualidade de
processo
influencia
Modelo da Qualidade de Produto
de Software NBR ISO/IEC 25000
Visões da qualidade no ciclo de vida de um
produto
Modelo da Qualidade de Produto
de Software NBR ISO/IEC 25000
l
Em conjunto com a ISO/IEC 12207 (ciclo de
vida de software) para:
u
obter uma estrutura para definição de requisitos de
qualidade de software nos processos primários do
ciclo de vida;
u
dar suporte para
revisão, verificação e validação
nos processos de suporte de ciclo de vida.
Qualidade do
Produto de Software
(ISO/IEC série 9126,
reformulada em 2007
na serie ISO/IEC
25000).
Modelo de Qualidade
de Software [SQuaRE]
Software Piloto do QSEE
Especificação
Cliente
2 versões
Fornecedores
Experiência em IV&V software
CARGA ÚTIL
Imageamento contínuo (mínimo 9
meses) de Raios X de uma vasta
região em torno do plano Galático
central para fenômenos transientes
Instrumento Imageador de Raios X
Ø
Computador PDC -
SWPDC
Ø
Computador - Eventos das Câmeras - EPPs
Ø
2 Câmeras de Raios X - HXI
Requisitos Base
+ Especificação Técnica
l
Metodologia de especificação dos testes – CoFI
l
Participação nas revisões de projeto
l
Refinamento da Modelagem usando o Manual do Usuário
OBDH
Simulador
Comandos/ Relatos de Teste
Data
Base
SIMULADOR
EPPs
SWPDC
QSEE-TAS
Processo de Verificação e Validação Independente
IVV
l
Ferramenta de Geração Automática de Testes – CONDADO
Fabrica de Software
Planejamento
Construção
Gerência de Configuração
Gerência de Mudança
Análise de Requisitos
Projeto Lógico
Projeto Físico
Testes
Entrega/Homologação
Acompanhamento
Garantia da Qualidade
Revisão por Pares
Fases do ciclo de
vida do software
áreas chave de
processos CMMI
níveis 2 e 3
Processos de Apoio
Planejamento
Construção
Gerência de Configuração
Gerência de Mudança
Análise de Requisitos
Projeto Lógico
Projeto Físico
Testes
Entrega/Homologação
Acompanhamento
Garantia da Qualidade
Revisão por Pares
SRR PDR CDR QR AR Instrumento
(Fornecedor)
Subsistema
(Cliente) (Cliente)Sistema
29/09/05 29/11/05 30/11/05 03/05/06 04/05/06 05/05/06 03/07/06 04/07/06 29/08/06 30/08/06 MODELO DE ENGENHARIA MODELO DE VÔO 29/09/06 30/11/06 DDR 07/03/06 08/03/06
Revis
õ
es Técnicas
Software
Modelo de Engenharia
Modelo de V
ôo
Aceitação
Plano VVI
SRR- Revisão Requisitos de Software PDR – Revisão de Projeto Preliminar DDR – Revisão de Projeto Detalhado CDR – Revisão Crítica de Projeto QR - Revisão de Qualificação AR – Revisão de Aceitação
PDSw
ETS
DPS
PTS
Código
Fonte
Plano de Desenvolvimento de Software
Especificação Técnica
Plano de Teste
Documento de Projeto de Software
MUS
Manual do UsuárioRTS
Relato de TesteEspec -
Protocolos
RB
Requisitos de BaseProcesso desenvolvimento do Software
OBDH
emulator
b
Send Response TC verification Command Execution Mode Control Scientific Dataa
c
management Memory Watchdog Control Analog/ Digital Telemetry House-keepingPayload
Command
TM
Data
Base
Visualization
LabView environment
Ambiente de Teste
Soft X-Ray Data Command to EPPs Hard X-ray DataEPPs
SIMULATOR
Validação – nível de Instrumento
Aceitação do Software Embarcado
SWPDC
`
`
QSEE-TAS
EPPs Simulator
SWPDC embedded
in the PDC board
Mem. error
Watchdog
simulation
Comm. error
Comm. error
OBDH simulator
EPPs simulator
LabV&Vsis
pesquisa
operacional
•
pós-graduação
•
projetos em rede
•
parcerias nacionais
•
parcerias internacionais
Métodos de teste Processos de Teste Ferramentas de Teste Metodologias de Teste Arquiteturas de Teste Mecanismos de TestesSw embarcado em sistemas aeroespaciais
•
•
Processos de V&V - normas
Testes de Sw embarcado
•
Revisão de Artefatos de Sw
Processos PLAVIS QSEE-Tas CoFI Protocolos Injetor falhascustomização
?
Sw crítico em sistemas de ≠s domínios
•
•
Automotiva
Controle Tráfego Aéreo
LabV&Vsis framework
pesquisa
operacional
Métodos de geração de teste Processos de Teste Metodologias de Teste Arquiteturas de TestePLAVIS CoFI Injetor de Falhas
InRob CONDADO RACME Normas – Sistemas Espaciais QSEE-Tas Histórico de Teste VVTeste
Ferramentas de Teste
QSEE
FIAT
protoMIRAX
ECSS
SPADA
Aceitação de Sw
6 pessoas
•
3 sistema
•
2 testadores
•
1 modelagem
LabV&Vsis framework
pesquisa
operacional
Métodos de geração de teste Processos de Teste Metodologias de Teste Arquiteturas de TestePLAVIS CoFI Injetor de Falhas
InRob CONDADO RACME Normas – Sistemas Espaciais QSEE-Tas Histórico de Teste VVTeste
Ferramentas de Teste
QSEE
FIAT
protoMIRAX
ECSS
SRR
PDR
DDR
CDR
AR
TecSpec GCR
Int Req ICD
Sw Dev Plan
TecSpec SwGS
VV Plan
Sw Dev Plan
TecSpec SwGS
Sw Design GS
Sw Test Spec
VV Report
Sw Design
SwGS Code
Sw Test Spec
Sw Test Report
User Manual
VV Report
GCR deliver
User Manual
GRC Test Spec
GRC Test Reprt
Sw Development
GCR Integration
SubSystem
Legend:
Green = Customer’s Deliverable
Blue = Supplier’s Deliverable
Red = VV Customer’s Deliverable
Boldface and Underlined = Final Issue
Subsistema Controle e Recepção Solo - CRS
Deliverables:
RID = Review Item Discrepancy
Req = Requirements
Int = Interface
Acc = Acceptance Testing
Integration
Ground Station
& TcTm
CompSystem
Integration
Ground Seg
& Space Seg
GS
TC
TM
TecSpec GCR
Int Req ICD
Sw Dev Plan
TecSpec SwTcTm
VV Plan
Sw Dev Plan
TecSpec SwTcTm
Sw Design TcTm
Sw Test Spec
VV Report
Sw Design
SwTcTm Code
Sw Test Spec
Sw Test Report
User Manual
VV Report
User Manual
Sw Acc Test Spec Sw Acc Test Rep
SwGCR Code
VV Report
A
C
C
E
P
T
A
N
C
E
Formal
Review
RIDs
Ago/13
QR
Dez/13
Foco no Plano
de Voo
LabV&Vsis framework
Pesquisa em V&V
operacional
Métodos de geração de teste Processos de Teste Metodologias de Teste Arquiteturas de TestePLAVIS CoFI Injetor de Falhas InRob CONDADO RACME Normas – Sistemas Espaciais QSEE-Tas Histórico de Teste VVTeste
Ferramentas de Teste
QSEE
FIAT
protoMIRAX
ECSS
Aceitação de Sw
SPADA
4 pessoas
•
1 sistema
•
2 testadores
•
1 modelagem
LabV&Vsis framework
Pesquisa em V&V
operacional
Métodos de geração de teste Processos de Teste Metodologias de Teste Arquiteturas de TestePLAVIS CoFI Injetor de Falhas InRob CONDADO RACME Normas – Sistemas Espaciais QSEE-Tas Histórico de Teste VVTeste
Ferramentas de Teste
QSEE
FIAT
protoMIRAX
ECSS
Aceitação de Sw
SPADA
4 pessoas
•
1 sistema
NANOSATC-BR1
l
Plataform: Cubesat 1U
l
Launch: 19 de Jun de 2014
l
Payload
–
Magnometer
–
“Driver” on/off
–
FPGA
NANOSATC-BR
–
Brazilian satellite for the purpose of collecting the Earth's magnetic
field data and test in flight, integrated circuits designed in Brazil for
radiation resistance.
Architecture of NANOSATC-BR
Proposed TEST SYSTEM
–
The proposed Test System architecture supports the V&V process
focusing on interoperability features between the onboard computer
and its payloads.
TestLink na gerência de testes
- Projeto
-
Item de teste
(
componente, módulo,
subsistema
)
-
Tipo de teste
(
Aceitação,Integração, Unidade, Sistema