Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 5
Aula 01 - Introdução a Engenharia de Software
-
Upload
artenio-morais -
Category
Documents
-
view
13 -
download
0
description
Transcript of Aula 01 - Introdução a Engenharia de Software
Engenharia de Software - Aula 01 2
Tópicos
● Histórico da Engenharia de Software● Perguntas frequentes● Responsabilidade profissional e ética
Engenharia de Software - Aula 01 3
Histórico da Engenharia de Software● A crise do software (1968)
– Aumento da capacidade de hardware
– Aumento da complexidade do software
● Ainda há problemas– Atender as necessidades do cliente
– Entregar o produto no prazo
– Entregar o produto no orçamento planejado
Engenharia de Software - Aula 01 4
Perguntas frequentes
● O que é software?– Produtos de software
● Produtos genéricos (pacotes de software)● Produtos sob encomenda
– Genéricos vs Encomendados
● O que é a engenharia de software?– Software é abstrato
– Software é intangível
Engenharia de Software - Aula 01 5
Perguntas frequentes
● Qual a diferença entre engenharia de software e ciência da computação?– Engenharia vs ciência
● Qual a diferença entre engenharia de software engenharia de sistemas?– Visão do sistema como um todo
– 100 anos atrás já havia engenharia de sistemas
Engenharia de Software - Aula 01 6
Perguntas frequentes
● O que é um processo de software?– Atividades
● Especificação do software● Desenvolvimento do software● Validação do software● Evolução do software
Engenharia de Software - Aula 01 7
Perguntas frequentes
● O que é um modelo de processo de software?– Tipos de modelos
● Modelo de workflow● Modelo de fluxo de dados ou de atividade● Modelo papel/ação
– Modelos gerais● Modelo em cascata● Desenvolvimento evolucionário● Transformação formal● Montagem de um sistema a partir de componentes reutilizáveis
Engenharia de Software - Aula 01 8
Perguntas frequentes
● Quais são os custos da engenharia de software?
Especificação Projeto Desenvolvimento Integração e teste
0 25 50 75 100
Custos de desenvolvimento
Esp. Desenvolvimento evolucionário Teste de sistema
0 25 50 75 100
Custos de desenvolvimento evolucionário
Des. do sistema Evolução do sistema
0 25 50 75 100
Custos de evolução do sistema
Engenharia de Software - Aula 01 9
Perguntas frequentes
● O que são métodos de engenharia de software?– Método da análise estruturada (DeMarco, 1978)– JSD (Jackson, 1983)– UML (Unified Modeling Language)
● Modelos gráficos para especificação e projeto
– Não existe modelo ideal
Engenharia de Software - Aula 01 10
Perguntas frequentes
● O que é CASE?– Computer Aided Software Engineering
● Upper-CASE● Lower-CASE
Engenharia de Software - Aula 01 11
Perguntas frequentes
● Quais são os atributos de um bom software?– Facilidade de manutenção
– Nível de confiança
– Eficiência
– Facilidade de uso
Engenharia de Software - Aula 01 12
Perguntas frequentes
● Quais os principais desafios enfrentados pela engenharia de software?– Desafio do legado
– Desafio da heterogeneidade
– Desafio do fornecimento
Engenharia de Software - Aula 01 13
Responsabilidade Ética e Profissional● Confidencialidade● Competência● Direitos de propriedade intelectual● Má utilização de computadores
Engenharia de Software - Aula 01 14
Código de ética e de prática profissional da engenharia de software● Princípios
– Público – a favor do interesse público– Cliente e Empregador – favorecer interesses do cliente– Produto – alto padrão profissional– Julgamento – integridade e independência– Gerenciamento – abordagem ética– Profissão – defender a integridade e reputação da profissão– Colegas – ser justo e defender os colegas– Pessoal – aprendizado contínuo
Engenharia de Software - Aula 01 15
Exercícios
● 01. O que é software?● 02. Quais os principais atributos de um
software?● 03. Qual a diferença entre processo e modelo
de processo de software?● 04. O que são ferramentas CASE? Cite
exemplos.● 05. Quais são os desafios do software?
Engenharia de Software - Aula 01 16
Referência
● SOMMERVILLE, I. Engenharia de software. 8ª ed. São Paulo: Pearson Addison-Wesley, 2007