Aula 01 - Introdução a Engenharia de Software

16
Introdução a Engenharia de Software José Ferdinandy Silva Chagas [email protected]

description

Aula 01 - Introdução a Engenharia de Software

Transcript of Aula 01 - Introdução a Engenharia de Software

Page 1: Aula 01 - Introdução a Engenharia de Software

Introdução a Engenharia de Software

José Ferdinandy Silva Chagas

[email protected]

Page 2: 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

Page 3: Aula 01 - Introdução a Engenharia de Software

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

Page 4: Aula 01 - Introdução a Engenharia de Software

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

Page 5: Aula 01 - Introdução a Engenharia de Software

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

Page 6: Aula 01 - Introdução a Engenharia de Software

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

Page 7: Aula 01 - Introdução a Engenharia de 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

Page 8: Aula 01 - Introdução a Engenharia de Software

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

Page 9: Aula 01 - Introdução a Engenharia de Software

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

Page 10: Aula 01 - Introdução a Engenharia de Software

Engenharia de Software - Aula 01 10

Perguntas frequentes

● O que é CASE?– Computer Aided Software Engineering

● Upper-CASE● Lower-CASE

Page 11: Aula 01 - Introdução a Engenharia de Software

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

Page 12: Aula 01 - Introdução a Engenharia de Software

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

Page 13: Aula 01 - Introdução a Engenharia de Software

Engenharia de Software - Aula 01 13

Responsabilidade Ética e Profissional● Confidencialidade● Competência● Direitos de propriedade intelectual● Má utilização de computadores

Page 14: Aula 01 - Introdução a Engenharia de Software

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

Page 15: Aula 01 - Introdução a Engenharia de Software

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?

Page 16: Aula 01 - Introdução a Engenharia de Software

Engenharia de Software - Aula 01 16

Referência

● SOMMERVILLE, I. Engenharia de software. 8ª ed. São Paulo: Pearson Addison-Wesley, 2007