prof. me. clodoaldo brasilino [email protected] · introdução à engenharia de software 2....
TRANSCRIPT
Engenharia de SoftwareProf. Me. Clodoaldo Brasilino [email protected]
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
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
Prof. Me. Clodoaldo Brasilino
4
• Sistema é um termo universal • Sistema computacional • Sistema de ensino • Sistema digestivo • Sistema de governo
Sistemas Sociotécnicos
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
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
Prof. Me. Clodoaldo Brasilino
7
• Sistemas técnicos: • Hardware • Software
• Sistemas Sociotécnicos: • Hardware • Software • Pessoas • Processos
Sistemas Sociotécnicos
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
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
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
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
Prof. Me. Clodoaldo Brasilino
12
• Engenheiros de sistemas não se preocupam apenas com o software • Hardware • Interações
Engenharia de Sistemas
Prof. Me. Clodoaldo Brasilino
13
Diferenças importantes entre engenharia de sistemas e desenvolvimento de software: • Limitações de retrabalho • Interdisciplinaridade
Engenharia de Sistemas
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
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
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
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
Prof. Me. Clodoaldo Brasilino
18
Sensores de Movimento
Sirene
Controlador de alarme
Sintetizador de voz
Discador de telefone
Sensores de porta
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
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
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
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
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
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
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
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
Prof. Me. Clodoaldo Brasilino
27
• Sistemas legados são sistemas sociotécnicos • Desenvolvidos no passado • Obsoleto, seja por:
• Hardware • Software • Processos • Procedimentos
Sistemas Legados
Prof. Me. Clodoaldo Brasilino
28
Velhos, mas ainda dão pro gasto!
Sistemas Legados
Prof. Me. Clodoaldo Brasilino
29
• Características: • “Ninguém sabe mexer” • “Se trocar um, tem que trocar tudo”
Sistemas Legados
Prof. Me. Clodoaldo Brasilino
30
Alguma dúvida?
Prof. Me. Clodoaldo Brasilino
31
• Leitura do capítulo 2 do Sommerville
Fixação da Aula
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