Engenharia de software

Disponível somente no TrabalhosFeitos
  • Páginas : 6 (1373 palavras )
  • Download(s) : 0
  • Publicado : 9 de julho de 2011
Ler documento completo
Amostra do texto
Engenharia de Software

Aula 02

Tópicos da Aula
Engenharia de Software: Conceitos Fundamentais
Motivação e Conceitos Fundamentais Leis de Lehman (Evolução de Software) Engenharia de Software: Visão Geral Desenvolvimento de sistemas
Visões do sistema (charge) Atividades principais

Eduardo Figueiredo
http://www.dcc.ufmg.br/~figueiredo figueiredo@dcc.ufmg.br
05 Agosto 2010

RevisãoO que é software?

Motivação e Conceitos Fundamentais

Programa de computador + Documentação Classificação fundamental
Produtos genéricos (ex. MS Office) Produtos encomendados (ex. Locadora do Zé)

Crise do Software (1968)
Custos de hardware caindo Custos do software subindo Avanços em hardware
Permitem desenvolvimento de sistemas cada vez mais complexos

Software está em todo lugarResultado (software)
Custos altos, projetos atrasados, sistemas não confiáveis, desempenho insatisfatório, etc...

1

Desafios de Produzir Software
Confiabilidade Exemplo: Vôo Air France Rio - Paris
1. Dados conflitantes (falha nos sensores) 2. Sistema assume o controle (piloto automático) 3. Piloto tenta reiniciar o sistema (boot) 4. Em 4 minutos o avião mergulha no oceano
The Last FourMinutes of Air France Flight 447. http://www.spiegel.de/international/world/0,1518,679980,00.html

Desafios de Produzir Software
Preço e desempenho Celular
Pouco espaço na memória Grande variação em características de aparelhos

Desafios de Produzir Software
Sistemas Críticos Equipamentos médicos
Extremamente críticos Lidam com vidas

Em Resumo...
O desenvolvimento informal de softwarenão é suficiente
Técnicas e métodos são necessários

Algumas dificuldades Caixas eletrônicos
Prejuízos financeiros Heterogeneidade Prazo de entrega Mudança contínua

O que é Engenharia de Software?
A Engenharia de Software é uma disciplina de engenharia relacionada a todos os aspectos de produção de software. Ian Sommerville Foco no desenvolvimento de software de alta qualidade dentro decustos adequados.
Atender necessidades do cliente

E as outras engenharias?
O que difere Engenharia de Software de outras engenharias?
Software é desenvolvido, não fabricado Software não se desgasta Software é geralmente produzido para um cliente específico

2

Evolução de Software

Leis de Lehman (Evolução)

Objetivo de Manny Lehman
Definir uma teoria unificada para evolução desoftware

Resultados
Um conjunto de oito leis que “governam” a evolução de sistemas
M. M. Lehman. Rules and Tools for Software Evolution Planning and Management. Annals of Software Engineering, 2001.

Lei da Modificação Contínua
Sistemas devem ser continuamente adaptados ou eles se tornam progressivamente menos satisfatórios

Lei da Complexidade Crescente
A medida que um sistema evolui, suacomplexidade aumenta, a menos que seja realizado esforço para mantê-la ou diminuí-la

Lei do Crescimento Contínuo
O conteúdo funcional de sistemas podem ser continuamente aumentado para manter a satisfação do usuário

Lei da Qualidade Declinante
A qualidade de sistemas parecerá estar declinando a menos que eles sejam mantidos e adaptados às modificações do ambiente

3

Resultado dasLeis = Custo
Custo de Desenvolvimento
0 100 200 300 400

Engenharia de Software: Visão Geral

Custo de Evolução / Manutenção

Roger Pressman. Engenharia de Software, 6ª Edição. McGraw-Hill, 2006.

Eng. de Software em Camadas
A engenharia de software inclui
Processo Métodos Ferramentas
Ferramentas Métodos de Software Processo de Software Alta Qualidade e Baixo Custo

Qualidade deSoftware
Atributos de um bom software
Facilidade de manutenção Confiança Eficiência Ferramentas Usabilidade, etc.
Métodos de Software Processo de Software Alta Qualidade e Baixo Custo

Pode ser organizada em camadas

Processo de Software
Conjunto de atividades (e seus resultados) cujo objetivo é o desenvolvimento de software O processo oferece estabilidade, controle e organização no ciclo de...
tracking img