Engenharia de Software Sistemas Sociotécnicos

Documentos relacionados
Confiança. Objetivos. Reflete o grau de confiança do usuário no sistema

Bruno R. N. Matheus. Engenharia de Software Prof. Paulo Masiero

Sistemas Críticos. Centro de Informática - Universidade Federal de Pernambuco Engenharia da Computação Kiev Gama

Engenharia de Software I Confiança do sistema

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Disciplina: Engenharia de Software. 4 Bimestre Aula 3: CONFIANÇA E PROTEÇÃO

Confiabilidade de software. Qualidade de Software. Confiança: Funcionalidade. Falhas provocam custos

SOCIO-TECHNICAL SYSTEMS. Ian Sommerville, 8º edição Capítulo 2 Aula de Luiz Eduardo Guarino de Vasconcelos

Introdução a Engenharia de Software

ISO/IEC Prof. Alexandre Luís Franco

ENGENHARIA DE SOFTWARE

Requisitos de Software

Engenheiros de software (algumas vezes conhecidos no mundo da TI como engenheiros de sistemas ou analistas ) e outros interessados no projeto

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Falha de Comunicação no Desenvolvimento de Software

Análise e Projeto de Sistemas I

Engenharia de Software

Engenharia de Software

Segurança e Controle em Sistemas de Informação. Profa. Ellen Francine ICMC-USP

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

Engenharia de Software e Sistemas

Documento de Requisitos*

Introdução a Teste de Software

VERIFICAÇÃO & VALIDAÇÃO

5 Fidedignidade Disponibilidade Confiabilidade Segurança Proteção Privacidade Integridade

Contextualização. Gerenciamento de riscos de Proteção. Contextualização. Objetivo

ÍNDICE 1. OBJETIVO CONCEITOS PRINCÍPIOS DIRETRIZES CORPORATIVAS ESTRUTURA DE GERENCIAMENTO... 4

Engenharia de Software I

POLÍTICA DE SEGURANÇA CIBERTNÉTICA, SEGURANÇA DE INFORMAÇÃO E CONTINUIDADE.

Processo de gerenciamento da disponibilidade

Engenharia de Proteção. Dario Pintor Venilton Falvo Júnior

Engenharia de Confiança. Helena Macedo Reis Luis Fernando de Souza Moro

21/09/2012. Elicitação de Requisitos. Projeto de Interface Homem- Máquina. Prof. Esp. MBA Heuber G. F. Lima. Técnicas etipos de Requisitos

TESTES DE SOFTWARE. Unidade 5 Teste de Software em Sistema em Produção. Luiz Leão

Aspectos importantes como a autenticação e autorização. Tipos de ameaças: Atividade não autorizada; Downloads não autorizados; Redes: local de transmi

3/9/2011. Segurança da Informação. Segurança da Informação. O que é Segurança e seguro? Prof. Luiz A. Nascimento Auditoria e Segurança de Sistemas

Engenharia de Software

Verificação e Validação

Segurança da informação

O Código de Ética e Conduta Profissional da ACM(Association for Computing Machinery) Código de Ética da ACM. Código de Ética da ACM

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

AN INTRODUCTION TO SOFTWARE ENGINEERING

Rabobank Segurança Cibernética

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Tolerância a falha. Edy Hayashida

Sistemas de Tempo Real e Tolerante a Falhas

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Engenharia de Requisitos

Engenharia de Requisitos

MANUTENÇÃO CENTRADA EM CONFIABILIDADE

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

TS01. Teste de Software INTRODUÇÃO À QUALIDADE DE SOFTWARE. COTI Informática Escola de Nerds

POCKET PCS GARANTIA LIMITADA MUNDIAL E SUPORTE TÉCNICO

Aula 8 Segurança em Redes Sem-fio

Engenharia Software. Ení Berbert Camilo Contaiffer

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

Análise de Requisitos

Qualidade de software. Prof. Emiliano Monteiro

Segurança e Auditoria de Sistemas

Segurança da Informação

Análise e Projeto Orientado a Objetos

SEGURANÇA DE SISTEMAS E REDES. TÁSSIO JOSÉ GONÇALVES GOMES

Prof. Emiliano S. Monteiro

Introdução aos Sistemas de Informação nas Empresas

Gerência de Redes Áreas Carlos Gustavo Araújo da Rocha. Gerência de Redes

1 Introdução. 1.1 Contextualização

Qualidade de Software. Profª Rafaella Matos

Engenharia de Requisitos

MANUAL DE INSTALAÇÃO. Hidrômetros de diâmetro nominal 15 a 40 mm V2.0

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Requisitos de Software

Qualidade de Software

ENGENHARIA DE SOFTWARE

Aula 2 - Modelos de Processo - cascata, iterativo e incremental e ágil

Análise de Requisitos

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

15/03/2018. Professor Ariel da Silva Dias Introdução a Engenharia de Software. O mundo moderno poderia existir sem software?

ISO/IEC 12207: Manutenção

METAS DE USABILIDADE. Eng Mauricio F. Castagna ACRUX SOLUTIA

inmarsat.com/isatphone

3. Engenharia dos requisitos de software

Introdução aos Testes de Software

Sistemas Operacionais

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Um estudo sobre a relação entre processos de engenharia de software com a dependabilidade e previsão de falhas em sistemas

Sistemas Distribuídos

Requisitos de Sistemas

CÓDIGO DE ÉTICA & CONFORMIDADE

GESTÃO DE RISCOS CORPORATIVOS E CONTROLES INTERNOS BELÉM (PA) MAIO DE 2018

Teste de Software. Karen Frigo Busolin Novembro / 2010

Processos de Validação e Verificação do MPS-Br

Transcrição:

Engenharia de Software Sistemas Sociotécnicos Prof. Carlos Lucas uma vela não perde sua chama acendendo outra Apenas 5% dos professores fizeram, fazem e farão a diferença 1

Sistema Sistemas Sociotécnicos Sistema: conjunto de componentes inter-relacionados que funcionam juntos para atingir certo objetivo. 2

Categorias de sistemas que incluem software Sistemas técnicos baseados em computadores Incluem componentes de hardware e software, porém não incluem procedimentos e processos. Ex.: telefones celulares, softwares de computadores pessoais (são utilizados com algum objetivo, mas o conhecimento desse objetivo não é parte do sistema). Sistemas sociotécnicos Incluem, além dos sistemas técnicos, o conhecimento de como o sistema deve ser usado para alcançar um objetivo maior. Envolvem processos, pessoas e podem ser afetados por restrições externas. 3

Características dos sistemas sociotécnicos 1. Possuem propriedades emergentes, ou seja, propriedades do sistema como um todo, que dependem dos componentes do sistema e dos relacionamentos entre eles. 2. São ditos não determinísticos. Isso significa que, para uma determinada entrada, a saída produzida pode não ser sempre a mesma. Seu comportamento pode ser alterado pela criação de novos relacionamentos entre seus componentes. 3. Os objetivos organizacionais não dependem apenas do sistema, mas também da estabilidade dos objetivos, dos relacionamentos e dos conflitos entre os objetivos, além da interpretação dos objetivos pelas pessoas. 4

Propriedades emergentes de sistemas São duas: 1. Propriedades emergentes funcionais: aparecem quando todas as partes de um sistema trabalham juntas para atingir um objetivo. 2. Propriedades emergentes não funcionais: referem-se ao comportamento do sistema em seu ambiente operacional. Ex.: confiabilidade, desempenho, segurança e proteção. Falhas dessas propriedades podem fazer com que o sistema se torne inutilizável. São exemplos, ainda, de propriedades emergentes: volume, confiabilidade, proteção (capacidade de resistir a ataques), facilidade de manutenção, usabilidade. 5

Influências relacionadas à confiabilidade São três: 1. Confiabilidade de hardware: qual é a probabilidade de falha de um componente de hardware, e qual é o tempo gasto para o reparo dele? 2. Confiabilidade de software: qual a probabilidade de um componente de software produzir uma saída errada? 3. Confiabilidade do operador: qual é a probabilidade de que o operador cometa um erro? 6

Sistemas legados São sistemas sociotécnicos baseados em computadores, desenvolvidos no passado, por meio de tecnologias antigas e obsoletas. Muitas vezes é preferível que esse tipo de sistema continue a existir, com mudanças que o adaptem aos novos requisitos e tecnologias, a descartá-los e iniciar o desenvolvimento de um novo sistema. 7

Sistemas Críticos São aqueles cujas falhas podem resultar em perdas econômicas significativas, danos físicos ou ameaças à vida humana. Classificam-se em três tipos: 1. De segurança: uma falha pode resultar em prejuízo, perda de vida ou danos sérios ao ambiente. Ex.: sistema de controle de uma fábrica de produto químico. 2. De missão: uma falha pode ocasionar problema em atividade dirigida a metas. Ex.: sistema de navegação de nave espacial. 3. De negócios: uma falha pode resultar em custos muito altos para o negócio que o utiliza. Ex. sistema controle bancário. 8

Sistemas Críticos Em sistemas críticos, confiança está relacionada à disponibilidade, confiabilidade, segurança e proteção. Confiança: propriedade importante em sistemas críticos Em sistemas críticos, confiança está relacionada à disponibilidade, confiabilidade, segurança e proteção. 1. Quanto ao uso do sistema: sistemas não confiáveis, inseguros ou desprotegidos são, com frequência, rejeitados pelos usuários. 2. Custos de falhas altos: o custo de falha do sistema é maior do que o custo de um sistema de controle. 3. Perda de informações: os dados são muito valiosos, o que faz com que seja justificável o que se gasta de esforço e dinheiro para duplicá-los e impedir que sejam corrompidos. 9

Sistemas Críticos Onde os sistemas críticos podem falhar? 1. No hardware: por causa de erros no projeto, falhas de componentes, erros de fabricação, fim da vida útil de componentes. 2. No software: erros na especificação, projeto ou implementação. 3. Nos operadores humanos: são, atualmente, a maior causa de falhas de sistema 10

Sistemas Críticos Sistema crítico de segurança simples São de vários tipos: desde sistemas de controle de dispositivos e máquinas até sistemas de informações e de comércio eletrônico. Confiança no sistema Está relacionada ao sistema de computador (hardware), que pode falhar, não fornecendo os serviços solicitados. Devido à falha, o sistema de software pode não operar conforme o esperado, ou ainda, corromper dados. O grau de confiança dos usuários em que o sistema irá operar conforme sua expectativa, sem falhas, é expresso sob a forma de não confiável, muito confiável e ultraconfiável. 11

Dimensões de confiança Sistemas Críticos 1. Disponibilidade: é a probabilidade de que o sistema esteja pronto, em execução, capaz de fornecer serviços úteis a qualquer momento. 2. Confiabilidade: é a probabilidade, em um dado período de tempo, de que o sistema forneça corretamente os serviços, conforme esperado pelo usuário. 3. Segurança: é um julgamento da probabilidade de que um sistema cause danos para pessoas ou para o ambiente. 4. Proteção: é um julgamento da probabilidade de que um sistema possa resistir a invasões acidentais ou intencionais. 12

Dimensões de confiança Sistemas Críticos Além das já citadas, podemos considerar, ainda: Integridade: garantia de que os programas e dados do sistema são sejam danificados. Confidencialidade: garantia de que as informações possam ser acessadas apenas pelas pessoas autorizadas. Correção: garantia de que os serviços do sistema estejam conforme o especificado. Precisão: garantia de que a informação seja liberada em um nível apropriado de detalhes. Tempo certo: garantia de que as informações sejam liberadas quando solicitadas. 13

Sistemas Críticos Outras propriedades do sistema sob o aspecto da confiança Facilidade de reparos: as falhas existem, mas podem ser minimizadas se o sistema puder ser reparado rapidamente. Facilidade de manutenção: refere-se à facilidade em incorporar novos requisitos ao sistema, com baixa probabilidade de que essas mudanças introduzam novos erros. Capacidade de sobrevivência: refere-se à capacidade do sistema em continuar a fornecer o serviço quando estiver sob ataque e, potencialmente, quando parte do sistema estiver desativada. Tolerância a erros: propriedade que faz parte da usabilidade e reflete até onde o sistema evita e tolera erros de entrada do usuário. 14

Disponibilidade e confiabilidade Sistemas Críticos Disponibilidade de um sistema é a probabilidade de que o sistema estará pronto e funcionando, para fornecer serviços aos usuários quando eles solicitarem. Confiabilidade de um sistema: é a probabilidade de que os serviços serão fornecidos corretamente, conforme especificado. É a probabilidade de operação livre de falhas durante um período especificado, em um dado ambiente, para um objetivo específico. Essas duas propriedades são comprometidas pelas falhas de sistema. 15

Sistemas Críticos Segurança Sistemas de segurança críticos são aqueles em que é essencial que a operação seja sempre segura, isto é, que nunca cause danos a pessoas ou ao ambiente, mesmo que ocorra falha no sistema. Ex. sistema de controle de aeronaves. Confiabilidade e segurança são propriedades relacionadas. Porém, são atributos separados de confiança. 16

Sistemas Críticos Por que os sistemas confiáveis de software não são, necessariamente, seguros? 1. Especificação pode estar incompleta e, assim, não descreve o comportamento exigido do sistema em situações críticas (dificuldades com requisitos). 2. O mau funcionamento de software pode fazer o sistema se comportar de maneira imprevisível, de forma que o software fique exposto a uma situação inesperada. 3. Os operadores podem falhar ao gerarem entradas incorretas individualmente, mas que em certas situações, podem levar a um mau funcionamento do sistema. 17

Garantia de segurança Sistemas Críticos O essencial para se garantir a segurança, é garantir que o acidente não ocorra, ou que as consequências sejam mínimas. De que forma? 1. Prevenção de perigos: o sistema deve ser projetado de forma que os perigos sejam evitados. 2. Detecção e remoção dos perigos: os perigos são detectados e removidos antes de causarem um acidente. 3. Limitação de danos: trata-se de recursos de proteção que o sistema possui para minimizar os danos resultantes de um acidente. 18

Proteção Sistemas Críticos Reflete a capacidade do sistema de se proteger de ataques externos acidentais ou propositais. Três tipos de danos podem ser causados por ataques externos: 1. Recusa de serviço: o sistema é forçado a um estado em que seus serviços normais tornam-se indisponíveis. 2. Corrupção de programas ou dados: os componentes de software podem ser alterados de maneira não autorizada, afetando o comportamento do sistema e, consequentemente, sua confiabilidade e segurança. 3. Vazamento de informações confidenciais: o ataque externo pode expor informações para pessoas não autorizadas, afetando a segurança do sistema, e permitindo posteriores ataques. 19

Fonte: Engenharia de Software Ian Sommerville 8ª ed. 20