engenharia de software conceitos e elementos 1. engenharia resolução de problemas através de...

21
Engenharia de Software Conceitos e elementos 1

Upload: maria-luiza-maranhao-rodrigues

Post on 07-Apr-2016

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de SoftwareConceitos e elementos

1

Page 2: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia

Resolução de problemas através de soluções economicamente viáveis

Motivacão: Limitação de recursos, tempo e pessoal

Page 3: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

O que é a Engenharia de Software?

– " Aplicação de um processo disciplinado, sistemático e quantitativo para o desenvolvimento, operação e manutenção de um software. “ [Pressman].

– “Se preocupa com teorias, métodos e ferramentas para o desenvolvimento profissional de software.” [Sommerville]

Page 4: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de Software - Definições

• Segundo Boehm:

– Engenharia de software envolve a aplicação prática de conhecimento científico para o projeto e construção de programas de computador e a documentação associada necessária para desenvolvê-los, operá-los e mantê-los.

4

Page 5: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de Software - Definições

• Segundo IEEE (The Institute of Electrical and Electronics Engineers) :

–Engenharia de software é uma abordagem sistemática para o desenvolvimento, operação, manutenção de software.

5

Page 6: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de Software - Definições

Descomplicando :

• Engenharia de Software é um conjunto de processos, técnicas e ferramentas que têm por objetivo suportar o processo de implementação e operação de um software.

6

Page 7: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

• Adotar uma abordagem sistemática e organizada para seu trabalho e usar ferramentas e técnicas/métodos apropriados dependendo do problema a ser solucionado, das restrições de desenvolvimento e dos recursos disponíveis

Papel do Engenheiro de Software

Page 8: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de SoftwareAtualmente, o termo é utilizado para se referir a:

Modelos de ciclo de vida

Métodos e ferramentas de

desenvolvimento

Técnicas para gerência e controle da

qualidade

Documentação

Estabelecimento de padrões para as

atividades de produção e manutenção de

software

Page 9: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Características da Engenharia de Software

• Refere-se a software (sistemas) desenvolvidos por grupos ao invés de indivíduos

• Usa princípios de engenharia ao invés de arte, e

• Inclui tanto aspectos técnicos quanto não técnicos

Page 10: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Objetivos da Engenharia de Software• Controle sobre o desenvolvimento de software

dentro de custos, prazos e níveis de qualidade desejados

• Propor soluções economicamente viáveis para a resolução de problemas de produtividade no desenvolvimento, operação e manutenção de software

• Organizar o conhecimento sobre técnicas para o desenvolvimento de software

Page 11: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Qual a diferença entre engenharia de software e Ciência da Computação?

• A Ciência da Computação preocupa-se com teorias e fundamentos; a engenharia de software está preocupada com a viabilidade de desenvolvimento e entrega de softwares úteis

Page 12: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Qual a diferença entre engenharia de software e engenharia de sistemas?

• Engenharia de sistema preocupa-se com todos os aspectos do desenvolvimento de sistemas baseados em computadores, incluindo hardware, software e engenharia de processo.

• Engenharia de software é parte deste processo. Os engenheiros de sistema envolvem-se na especificação do sistema, no design arquitetural, na integração e na implantação

Page 13: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de Software

• Abrange um conjunto de três elementos fundamentais: – Processos, Métodos e Ferramentas

• Principais metas:

– Melhorar a qualidade de produtos de software

– Aumentar a produtividade do pessoal técnico

– Aumentar a satisfação do cliente.

13

Page 14: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de Software – Para implementar um software precisamos de :• processos • métodos• ferramentas

– A combinação destes elementos é o que podemos chamar de CICLO DE VIDA DE PROJETO DE SOFTWARE ou PROCESSO DE SOFTWARE

14

Page 15: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de Software

• Métodos : proporcionam os detalhes de como fazer para construir o software :– Planejamento e estimativa de projeto– Análise de requisitos de software e de sistemas– Projeto da estrutura de dados– Algoritmo de processamento– Codificação– Teste– Manutenção

15

Page 16: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de Software

• Ferramentas: dão suporte automatizado aos métodos.

• Existem atualmente ferramentas para sustentar cada um dos métodos

• Ferramentas integradas estabelecem um sistema de suporte ao desenvolvimento de software chamado CASE - Computer Aided Software Engineering

16

Page 17: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Engenharia de Software • Processos: constituem o elo de ligação

entre os métodos e ferramentas– Sequência em que os métodos serão

aplicados– Produtos que se exige que sejam

entregues– Controles que ajudam assegurar a

qualidade e coordenar as alterações– Marcos de referência que possibilitam

administrar o progresso do software.

17

Page 18: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Elementos de um Processo – O 5W+1H (who, when, where, why, what e how)

18

Page 19: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Principais Temas em Engenharia de Software

• Gestão :– Processo de Software– Métricas– Planejamento– Análise de Riscos– Estimativas– Garantia da Qualidade– Gestão de Configuração

19

Page 20: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Principais Temas em Engenharia de Software

• Engenharia :– Engenharia de Sistemas– Análise– Design– Arquitetura– Interface Homem-máquina– Componentização– Testes– Orientação a Objetos– Métodos Formais– Requisitos– Desenvolvimento Web– Reuso 20

Page 21: Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação

Encerrando nossa aulaNesta aula, tratamos sobre :

• Software– Entendendo por que um software não pode ser

comparado a produtos tangíveis, requerendo um tratamento diferenciado quando da gestão de projetos

– Discutindo e desfazendo os mitos criados sobre o desenvolvimento de software

– Compreendendo os impactos da Crise da Software em nossos projetos atuais

• Engenharia de Software– Conhecendo melhor a disciplina e sua aplicabilidade

aos projetos– Diferenciando as definições de Processos, Métodos e

Ferramentas– Entendendo como a Engenharia de Software pode

ajudar gestores de projetos de software 21