engenharia de sistemas
DESCRIPTION
Engenharia de SistemaasTRANSCRIPT
Engenharia de Software - Aula 02 2/30
Tópicos
● Engenharia de sistemas● Propriedades emergentes● Tipos de propriedades● Influências da confiabilidade do sistema● Sistemas e seu ambiente● Fatores que afetam o sistema● Modelagem de sistemas● Componentes funcionais
Engenharia de Software - Aula 02 3/30
Engenharia de sistemas
● O que é um sistema?
● O que é a engenharia de sistemas?– Especificar– Projetar– Implementar– Validar– Implantar– Manter
Um sistema é uma coleção significativa de componentes inter-relacionados, que trabalham em conjunto para atingir algum objetivo.
Engenharia de Software - Aula 02 4/30
Engenharia de sistemas
● Característica principal de um sistema– Propriedades e comportamentos dos
componentes do sistema estão interligados
● Subsistemas– Podem operar de forma independente
Engenharia de Software - Aula 02 5/30
Propriedades Emergentes
Engenharia de Software - Aula 02 6/30
Propriedades emergentes
● Não podem ser atribuídas a partes isoladas do sistema
● Emergem somente quando o sistema é considerado como um todo.
● Exemplos– Peso total do sistema
– Confiabilidade do sistema
– Facilidade de uso do sistema
Engenharia de Software - Aula 02 7/30
Tipos de propriedades
● Propriedades funcionais– Quando todas as partes de um sistema trabalham em
conjunto para atingir algum objetivo– Ex.: uma bicicleta
● Propriedades não funcionais– Comportamento do sistema no seu ambiente
operacional– Ex.: confiabilidade, desempenho, segurança e proteção
Engenharia de Software - Aula 02 8/30
Influências da confiabilidade do sistema● Confiabilidade de hardware
– Qual a probabilidade de um componente de hardware falhar e quanto tempo leva para reparar esse componente?
● Confiabilidade de software– Qual a probabilidade de um componente de software
venha produzir uma saída incorreta?
● Confiabilidade do operador– Qual é a probabilidade de que o operador do sistema
cometa um erro?
Engenharia de Software - Aula 02 9/30
Influências da confiabilidade do sistema● Exemplo
– Sistema eletrônico sensível a temperatura
– Ambiente com temperatura controlada por ar-condicionado
– Se ar-condicionado falhar o sistema pode falhar
Engenharia de Software - Aula 02 10/30
Sistemas e seu ambiente
● Exemplo
SISTEMA DE AQUECIMENTO
SISTEMA DE ENERGIA
SISTEMA DE ÁGUA
SISTEMA DE SEGURANÇA
SISTEMA DE ILUMINAÇÃO
SISTEMA DE ESGOTO
CIDADE
RUA
EDIFÍCIO
Engenharia de Software - Aula 02 11/30
Sistemas e seu ambiente
● Necessidade de compreender o ambiente– Em muitos casos o sistema modifica o
ambiente
– O funcionamento do sistema pode ser afetado por mudanças no ambiente
Engenharia de Software - Aula 02 12/30
Fatores que afetam o sistema● Mudanças no processo
– O sistema requer mudanças no processo de trabalho, no ambiente?
● Pode ser necessário treinamento● Pessoas podem perder o emprego● Possível resistência ao sistema
Engenharia de Software - Aula 02 13/30
Fatores que afetam o sistema● Mudanças nas tarefas
– Os sistemas diminuem a habilidade dos usuários em um ambiente ou faz com que eles modifiquem o modo como trabalham?
● Pode haver resistência● Sensação de perda de status
Engenharia de Software - Aula 02 14/30
Fatores que afetam o sistema● Mudanças organizacionais
– O sistema modifica a estrutura de poder político em uma organização?
● Ex.: – Se uma organização depende de um sistema complexo,
aqueles que sabem operar o sistema possuem bastante poder político.
Engenharia de Software - Aula 02 15/30
Fatores que afetam o sistema● Os fatores humanos, sociais e
organizacionais são cruciais para o sucesso do sistema
● O futuro comportamento de um sistema é geralmente imprevisível– O que há são suposições
● Metodologias surgiram para auxiliar, mas ainda são insuficientes
Engenharia de Software - Aula 02 16/30
Fatores que afetam o sistema● Conclusão
– Todo conhecimento ambiental relevante deve ser incluído na especificação do sistema.
Engenharia de Software - Aula 02 17/30
Modelagem de Sistemas
Engenharia de Software - Aula 02 18/30
Introdução
● Modelagem de sistemas– O sistema precisa ser modelado como um
conjunto de componentes relacionados.
– A modelagem é ilustrada através de gráficos que representam os subsistemas interligados por setas
– Chamado modelo de arquitetura do sistema
Engenharia de Software - Aula 02 19/30
Modelagem de sistemas
● Exemplo
Subsistemas Descrição
Sensor de movimento Detecta movimentos nos cômodos monitorados pelo sistema.
Sensor de porta Detecta abertura de porta nas portas externas do edifícil.
Controlador de alarme Controla a operação do sistema
Sirene Emite um aviso sonoro quando um intruso é detectado
Sintetizador de voz Sintetiza uma mensagem de voz dando a localização do possível intruso
Discador de telefone Faz as chamadas externas para avisar a segurança, a polícia, etc.
Engenharia de Software - Aula 02 20/30
Introdução
● Cada subsistema pode ser representado da através da mesma técnica
● Esse refinamento é realizado até que o sistema seja decomposto em componentes funcionais
Componentes funcionais são aqueles que, quando vistos na perspectiva do subsistema, proporciona uma única função.
Engenharia de Software - Aula 02 21/30
Modelagem de Sistemas
● Subsistemas podem ser classificados de acordo com sua função
● A decisão sobre se uma função deve ser fornecida por hardware ou software pode envolver fatores não técnicos – Disponibilidade de componentes COTS
(commercial off-the-shelf)
– Tempo necessário para desenvolver o componente
Engenharia de Software - Aula 02 22/30
Modelagem de Sistemas
Engenharia de Software - Aula 02 23/30
Componentes Funcionais do Sistema● Classificação de componentes
– Componentes de sensores– Componentes de atuadores– Componentes de computação– Componentes de comunicação
– Componentes de coordenação– Componentes de interface
● A maioria dos sistemas possuem esses tipos de componentes● Se faltar um ou mais tipos de componentes pode ter ocorrido
falhas no projeto do sistema
Engenharia de Software - Aula 02 24/30
Componentes Funcionais do Sistema● Componentes de sensores
– Coletam informações do ambiente do sistema
– Exemplos:● Radares em um sistema de
controla de tráfego aéreo● Sensores de posicionamento
do papel em uma impressora a laser
Engenharia de Software - Aula 02 25/30
Componentes Funcionais do Sistema● Componentes de Atuadores
– Causam alguma mudança no ambiente do sistema
– Exemplos:● Válvulas que abrem e fecham● Superfícies de voo em uma
aeronave● Alimentação de papel em uma
impressora
Engenharia de Software - Aula 02 26/30
Componentes Funcionais do Sistema● Componentes de computação
– Consideram uma entrada, realizam uma computação sobre ela e produzem uma saída
– Exemplos:● Processador de ponto flutuante
Engenharia de Software - Aula 02 27/30
Componentes Funcionais do Sistema● Componentes de comunicação
– Permite a comunicação entre outros componentes do sistema
– Exemplos● Ethernet
Engenharia de Software - Aula 02 28/30
Componentes Funcionais do Sistema● Componentes e coordenação
– Coordena a operação de outros componentes
– Exemplos:● Escalonador (escalonamento de processos)
Engenharia de Software - Aula 02 29/30
Componentes Funcionais do Sistema● Componentes de interface
– Transforma a representação utilizada por um componente de sistema em outra representação utilizada por outro componente
– Exemplo● Interface humana● Conversor analógico-digital
Engenharia de Software - Aula 02 30/30
Referência
● SOMMERVILLE, I. Engenharia de software. 8ª ed. São Paulo: Pearson Addison-Wesley, 2007