Prof. Me. Clodoaldo Brasilino [email protected] · Introdução à Engenharia de Software 2....

32
Engenharia de Software Prof. Me. Clodoaldo Brasilino [email protected]

Transcript of Prof. Me. Clodoaldo Brasilino [email protected] · Introdução à Engenharia de Software 2....

Page 1: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Engenharia de SoftwareProf. Me. Clodoaldo Brasilino [email protected]

Page 2: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

2

1. Introdução à Engenharia de Software2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software

Acompanhamento da Disciplina

Page 3: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

3

• Sistemas Sociotécnicos • Propriedades emergentes de sistemas • Engenharia de sistemas • Organizações, pessoas e sistemas de

computadores • Sistemas legados

Conteúdo da Aula

Page 4: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

4

• Sistema é um termo universal • Sistema computacional • Sistema de ensino • Sistema digestivo • Sistema de governo

Sistemas Sociotécnicos

Page 5: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

5

“Um sistema é o conjunto intencional de componentes inter-relacionados que funcionam juntos para atingir certo objetivo”

(Sommerville, 2008)

Sistemas Sociotécnicos

Page 6: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

6

• Essa definição é abrangente a vários tipos de sistemas

• Nos sistemas que incluem software, temos:

Sistemas Sociotécnicos

Sistemas técnicos baseados em computador

Sistemas sociotécnicos

Page 7: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

7

• Sistemas técnicos: • Hardware • Software

• Sistemas Sociotécnicos: • Hardware • Software • Pessoas • Processos

Sistemas Sociotécnicos

Page 8: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

8

• A Engenharia de Software é crítica para os sistemas sociotécnicos • Não se deve preocupar apenas com o

software em si • Limites do software

Sistemas Sociotécnicos

Page 9: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

9

• O sistema não é só a soma de suas partes • Propriedades emergentes

• Funcionais: partes do sistema trabalhando juntas para atingir um objetivo

• Não-funcionais: Relacionadas ao sistema em seu ambiente operacional

Propriedades emergentes de sistemas

Page 10: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

10

• Propriedades emergentes não-funcionais: • Facilidade de reparos • Usabilidade • Volume • Proteção • Confiabilidade:

• Hardware • Software • Operador

Propriedades emergentes de sistemas

Page 11: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

11

Engenharia de sistemas é a atividade de

Especificação Projeto

Implementação Validação

Implantação Manutenção

de sistemas sociotécnicos

Engenharia de Sistemas

Page 12: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

12

• Engenheiros de sistemas não se preocupam apenas com o software • Hardware • Interações

Engenharia de Sistemas

Page 13: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

13

Diferenças importantes entre engenharia de sistemas e desenvolvimento de software: • Limitações de retrabalho • Interdisciplinaridade

Engenharia de Sistemas

Page 14: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

14

Engenharia Eletrônica

Engenharia de sistemas de controle

Engenharia Elétrica

Engenharia de Estruturas

Projeto de Interface com o Usuário

Engenharia de Software

Engenharia Mecânica

Engenharia Civil Arquitetura

Page 15: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

15

• Definição de requisitos do sistema • Requisitos funcionais abstratos • Propriedades de sistema • Características que o sistema não deve

apresentar

Engenharia de Sistemas

Page 16: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

16

• Projeto do sistema • Agrupar requisitos • Identificar subsistemas • Atribuir requisitos a subsistemas • Especificação de funcionalidade de

subsistemas (especificação de requisitos) • Definir interfaces de subsistemas

Engenharia de Sistemas

Page 17: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

17

• Modelagem do sistema • Quando o sistema é componentizado,

podemos modelar o sistema • Representação dos subsistemas pelas

conexões

Engenharia de Sistemas

Page 18: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

18

Sensores de Movimento

Sirene

Controlador de alarme

Sintetizador de voz

Discador de telefone

Sensores de porta

Page 19: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

19

• Desenvolvimento de sistemas • Quando for software:

• Comprar um software de prateleira • Sacrificar personalização por menor

custo ou tempo de entrega • Desenvolver software sob demanda

• Deve ser apto a se adaptar a possíveis mudanças

Engenharia de Sistemas

Page 20: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

20

• Integração do sistema • Agrupamento dos subsistemas de forma a

construir o sistema • Abordagens:

• Big-bang • Integração incremental

Engenharia de Sistemas

Page 21: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

21

• Evolução do sistema • Sistemas grandes e complexos possuem

grande longevidade • Alterações:

• Correções de erros • Novos requisitos • Substituição de equipamentos • Mudanças organizacionais • Fatores externos

Engenharia de Sistemas

Page 22: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

22

• Evolução do sistema • Mudanças nunca devem ocorrer por

motivos exclusivamente técnicos • Cuidado com o impacto em outros

subsistemas

Engenharia de Sistemas

Page 23: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

23

• Desativação do sistema • Retirar sistema da operacionalização • Desmontagem de equipamentos • Reciclagem • No caso de software:

• Incorporação em outro sistema • Aproveitamento dos dados

Engenharia de Sistemas

Page 24: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

24

“Os sistemas sociotécnicos são sistemas empresariais com a finalidade

de auxiliar na conquista de alguma meta organizacional ou de negócio.”

(Sommerville, 2008)

Organizações, pessoas e sistemas de computadores

Page 25: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

25

• Exemplos de metas: • Aumentar vendas • Reduzir material de fabricação • Coletar impostos • Reduzir custos de logística • Acelerar atendimento

Organizações, pessoas e sistemas de computadores

Page 26: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

26

• Para entender os requisitos de um sistema sociotécnico, precisamos entender o ambiente organizacional

• Fatores que influenciam o projeto do sistema: • Mudanças de processo • Mudanças de trabalho • Mudanças organizacionais

Organizações, pessoas e sistemas de computadores

Page 27: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

27

• Sistemas legados são sistemas sociotécnicos • Desenvolvidos no passado • Obsoleto, seja por:

• Hardware • Software • Processos • Procedimentos

Sistemas Legados

Page 28: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

28

Velhos, mas ainda dão pro gasto!

Sistemas Legados

Page 29: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

29

• Características: • “Ninguém sabe mexer” • “Se trocar um, tem que trocar tudo”

Sistemas Legados

Page 30: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

30

Alguma dúvida?

Page 31: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

31

• Leitura do capítulo 2 do Sommerville

Fixação da Aula

Page 32: Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu · Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software 4. Teste de Software Acompanhamento

Prof. Me. Clodoaldo Brasilino

32

PRESSMAN, R. S. Software Engineering: A Practitioner's Approach. 6 Ed. McGraw Hill, 2005. 912p.

SOMMERVILLE, I. Engenharia de Software. 8 Ed. Pearson, 2008. 552p.

Referências