Aula1 introducao engsw

28
Engenharia de Software Aula 1 – Introdução à Engenharia de Software Profa. Dra. Judith Pavón Universidade Salvador – UNIFACS 2012

Transcript of Aula1 introducao engsw

Page 1: Aula1 introducao engsw

Engenharia de Software

Aula 1 – Introdução à Engenharia de SoftwareProfa. Dra. Judith Pavón

Universidade Salvador – UNIFACS2012

Page 2: Aula1 introducao engsw

Conteúdo Objetivo da aula Leitura recomendada O que é Engenharia de Software O que é Software Objetivos da Engenharia de Software Características da Engenharia de Software O que é um software de qualidade? Importância da Engenharia de Software A crise do software Definição de Engenharia de Software Atividades e Artefatos de Engenharia de software

2

Page 3: Aula1 introducao engsw

Objetivo da aula

3

O objetivo desta aula é apresentar e consolidar os conceitos básicos de Engenharia de Software.

Page 4: Aula1 introducao engsw

Leitura recomendada

Capítulo 1 e 2 do livro “Engenharia de Software” de Roger Pressman.

Capítulo 1 e 2 do livro “Engenharia de Software” de Ian Sommerville.

Page 5: Aula1 introducao engsw

O que é a Engenharia de Software?

Estudo ou aplicação de abordagens sistemáticas, econômicas e quantificáveis para o desenvolvimento, operação e manutenção de software de qualidade.

Engenheiros de software devem 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

Page 6: Aula1 introducao engsw

O que é software? É o produto entregue ao cliente ao finalizar o

ciclo de desenvolvimento e geralmente é composto por diferentes tipos de artefatos (ex. Código fonte, documentação, programas de instalação, etc.)

Produtos de software podem ser desenvolvidos para um cliente particular ou podem ser desenvolvidos para um mercado geral

Page 7: Aula1 introducao engsw

Objetivos da Engenharia de Software Controle sobre o desenvolvimento de

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

Produtividade no desenvolvimento, operação e manutenção de software

Qualidade versus Produtividade

Page 8: Aula1 introducao engsw

Características da Engenharia de Software A Engenharia de Software se refere 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 9: Aula1 introducao engsw

O que é um software de qualidade?

O software que satisfaz os requisitos solicitados pelo usuário. Deve ser fácil de manter, ter boa performance, ser confiável e fácil de usar

Alguns atributos de qualidade Manutenibilidade

O software deve evoluir para atender os requisitos que mudam

Eficiência O software não deve desperdiçar os recursos do sistema

Confiabilidade A taxa de falhas do software deve ser conhecida para saber

quanto é confiável esse sistema. Usabilidade

O software deve ser fácil de usar pelos usuários para os quais ele foi projetado

Page 10: Aula1 introducao engsw

Produtividade Quantidade de requisitos implementados em

uma unidade de tempo. Custo de desenvolvimento reduzido

A empresa consumidora quer investir pouco em software

A empresa produtora tem que oferecer “software barato”

Tempo de desenvolvimento reduzido Suporte rápido às necessidades do mercado

Page 11: Aula1 introducao engsw

Mas, na realidade, temos a Crise de Software... 25% dos projetos são cancelados o tempo de desenvolvimento é bem

maior do que o estimado 75% dos sistemas não funcionam como

planejado a manutenção e reutilização são

difíceis e custosas os problemas são proporcionais a

complexidade dos sistemas

Page 12: Aula1 introducao engsw

A Crise do Software Aplicações desenvolvidas há mais de 20 anos,

que já passaram por dezenas de gerações de mudanças, ainda são utilizadas até hoje.

Aplicações utilizadas em áreas críticas(ex. aplicações da área de engenharia) não são realmente entendidas. Não se tem conhecimento detalhado da estrutura de seus programas.

Page 13: Aula1 introducao engsw

A Crise do Software Sistemas usados para controlar fábricas,

tráfego aéreo, usinas de eletricidade, etc. apresentam defeitos, mas não podem ser tirados de operação porque não há nada para substituí-los.

Page 14: Aula1 introducao engsw

Causas da Crise de Software Complexidade dos sistemas Dificuldade de formalização Falta de documentação Má qualidade dos métodos, linguagens,

ferramentas, processos, e modelos de ciclo de vida

Falta de qualificação técnica

Page 15: Aula1 introducao engsw

Atividade 1 (entregar na próxima aula)

1. Quando começou a crise de software? A crise já finalizou?

2. Liste as categorias de software que existem e descreva cada uma delas. Use como fonte bibliográfica o livro de Pressman para elaborar esta lista.

3. Identifique, cite e explique os mitos do software.

4. O que é um software legado ?

15

Page 16: Aula1 introducao engsw

Preocupação: Sistematizar o processo de

criação e manutenção de software.

Page 17: Aula1 introducao engsw

Atividade 2 (realizar em sala de aula)

1. O que é um software?

2. Quais são as atividades necessárias para desenvolver um software ?

3. Quais são os papéis dos profissionais que conformam a equipe de desenvolvimento de software ?

4. Cite as principais dificuldades enfrentadas atualmente no desenvolvimento de software.

17

Page 18: Aula1 introducao engsw

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.

Engenharia de Software Definições

Page 19: Aula1 introducao engsw

IEEE Standard Glossary of Software Engineering terminology: Engenharia de software é uma abordagem sistemática para o desenvolvimento, operação, manutenção de software

Software: programas de computador, procedimentos, regras, documentação possivelmente associada, e dados sobre sua operação.

Engenharia de Software Definições

Page 20: Aula1 introducao engsw

Fairley: Engenharia de software é a disciplina tecnologica e gerencial preocupada com a produção sistemática e manutenção de produtos de software que são desenvolvidos e modificados no prazo estabelecido e dentro das estimativas de custo.

Engenharia de Software Definições

Page 21: Aula1 introducao engsw

abrange um conjunto de três elementos fundamentais:

Métodos, Ferramentas Métodos, Ferramentas ee Processos Processos

Principais metas: melhorar a qualidade de produtos de software, aumentar a produtividade do pessoal técnico e aumentar a satisfação do cliente.

Page 22: Aula1 introducao engsw

métodosmétodos: proporcionam os detalhes de como fazer para construir o software

Engenharia de Software

Page 23: Aula1 introducao engsw

ferramentasferramentas: dão suporte automatizado aos métodos. existem atualmente ferramentas para sustentar

cada um dos métodos quando as ferramentas são integradas é

estabelecido um sistema de suporte ao desenvolvimento de software chamado CASE - Computer Aided Software Engineering

Engenharia de Software

Page 24: Aula1 introducao engsw

processosprocessos: constituem o elo de ligação entre os métodos e ferramentas

seqüê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.

Engenharia de Software

Page 25: Aula1 introducao engsw

conjunto de etapasetapas que envolvemétodosmétodos

ferramentas ferramentas procedimentos procedimentos

Essas etapas são conhecidas como componentes de CICLO DE VIDA DE SOFTWARECICLO DE VIDA DE SOFTWARE

ou ou Processo de SoftwareProcesso de Software

Engenharia de Software

Page 26: Aula1 introducao engsw

Elementos e Atividades da Engenharia de Software Elementos

Modelos do ciclo de vida do software

Linguagens Métodos Ferramentas Processos

Atividades Modelagem do negócio Elicitação de requisitos Análise e Projeto Implementação Testes Distribuição Planejamento Gerenciamento Gerência de

Configuração e Mudanças

Manutenção

Page 27: Aula1 introducao engsw

Atividades e Artefatos da Engenharia de Software

Exemplos de Artefatos Plano de Negócios Plano de Projeto Plano de Riscos Documento de Requisitos Mapeamentos A&P Documento de Caso de Uso Documento de Arquitetura Classes Código fonte Documento de Testes Documento de Validação Manual do Sistema

Atividades Modelagem do negócio Elicitação de requisitos Análise e Projeto Implementação Testes Distribuição Planejamento Gerenciamento Gerência de Configuração e

Mudanças Manutenção

Page 28: Aula1 introducao engsw

Dúvidas

28