análise orientada a objetos - facom.ufu.brbacala/daw/aula01-1 - introdução.pdf · •engenharia...

108
MÓDULO Análise Orientada a Objetos Introdução Prof. M.Sc. Sílvio Bacalá Júnior

Upload: phungnga

Post on 08-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

MÓDULO

Análise Orientada a Objetos

Introdução

Prof. M.Sc. Sílvio Bacalá Júnior

Page 2: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

OBJETIVO DO

MÓDULO

• Apresentação da disciplina

• Conteúdo Programático

• Sistema de Avaliação

• Bibliografia

DAW4 2

Page 3: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

CURRÍCULO DO

PROFESSOR

• Formado em Engenharia Elétrica pela UFU

• Pós graduado em Tecnologia da Informação pela UFPE

• Mestre em Engenharia de Software pela UFU

• Atuou como Analista de Sistemas, Gerente de Divisão e, atualmente, é professor 20 hs na UFU

• Atua com Analista Tributário na RFB – Foi um dos criadores da versão Windows e Java do

programa IRPF, assumindo papéis de Arquiteto, Projetista, Desenvolvedor e Supervisor Técnico.

DAW4 3

Page 4: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

CONTEÚDO

PROGRAMÁTICO

• Introdução

• Processo de Desenvolvimento de Sistemas

• Sistemas Web

• Engenharia de Software para Web

• Elicitação de Requisitos

• Análise dos Requisitos

• Projeto Web

DAW4 4

Page 5: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

SISTEMA DE

AVALIAÇÃO

DAW4 5

• Trabalhos ao longo das aulas

• Prova final na última aula – (metade da aula)

Page 6: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

REFERÊNCIAS

BIBLIOGRÁFICAS

• UML User’s Guide. Rumbaugh, Jacobson, Booch

• RUP. Rumbaugh, Jacobson, Booch

• Engenharia de Software. Sommerville

DAW4 6

Page 7: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Evolução do Computador

DAW4 7

• Imagine a vida sem computadores. Sem Web!

Page 8: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

A Evolução da Web Tempo levado para chegar a 30% da

população americana (em anos)

4

19

20

26

35

40

Internet

Computador

Videocassete

Televisão

Rádio

Telefone

DAW4 8

Page 9: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

No início:

DAW4 9

• Conteúdo estático e textual

• Interação limitada

• Navegabilidade fácil

• Desempenho não era essencial

• Sites desenvolvidos apenas por uma pessoa ou por um pequeno grupo

Page 10: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Atualmente:

DAW4 10

• Escopo e complexidade vêm aumentando

• Sons, imagens, animações, etc.

• Navegabilidade complexa

• Desempenho essencial

Page 11: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Alguns dados...

DAW4 11

• 84% dos sistemas entregues não atendem as necessidades do cliente

• 79% dos projetos sofrem com atrasos

• 63% tem custo maior que o previsto

• 50% dos sistemas prontos tem problemas: são de baixa qualidade e faltam funcionalidades necessárias

Page 12: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

O cenário atual

DAW4 12

• Sites feitos com pouca disciplina, sem preocupação com técnicas e métodos padronizados ou maneiras de controlar a qualidade

• Muitos desenvolvedores acham que o desenvolvimento para a Web é apenas criação de páginas usando HTML, Frontpage ou Dreamweaver

• Muitos livros e revistas também tratam o desenvolvimento para a Web desta maneira

Page 13: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

A convergência da

tecnologia de redes

Servidor Web

2

Internet

6

99

Usuário Web

2 modemmodem

Servidor Web

Qualquer

dispositivo

Qualquer

meio

Internet Qualquer

meio

Usuário Web

A representação tradicional do acesso a rede Internet

Uma representação atualizada do acesso a rede Internet

Page 14: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

O crescimento da rede Web

Fonte: Nua Surveys <http://www.nua.com>

Page 15: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Características de

Aplicativos Web

DAW4 15

• Uso intenso de recursos de rede

• Dirigido a conteúdo

• Evolução contínua

Page 16: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Analogia da ponte

DAW4 16

Page 17: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Analogia do jardim

DAW4 17

Page 18: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Desenvolvimento de

software

DAW4 18

• Como é feito

– Análise de um problema/processo/sistema

– Desenvolvimento de uma solução

• Software + não-software

– Testes/validação

• Uma série de problemas!!

Page 19: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Como deveria ser

DAW4 19

Page 20: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

A realidade

DAW4 20

Page 21: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

A realidade

DAW4 21

• Modelagem é algo positivo...

• Arquitetos (algumas vezes) usam UML para criar modelos de alto nível – São usados em um primeiro momento

– Discussões, idéias, etc (análise)

• Porém logo são inúteis – Programadores criam código manualmente

– Manutenção é feita diretamente no código

– Modelos perdem a consistência

– Mesmo com engenharia reversa, acaba sendo um artefato desnecessário

Page 22: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Problemas a serem

resolvidos

DAW4 22

• Reduzir o “fardo” da modelagem

– Dificuldades da linguagem (UML)

– Inconsistências entre modelo-código

– Necessidade de ferramentas

– Achar que modelo é algo desnecessário

Page 23: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Reutilização

DAW4 23

• Conhecimento fica criptografado no código

Page 24: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Reutilização de

conhecimento

DAW4 24

Page 25: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Reutilização de

conhecimento

DAW4 25

• E se mudar o código?

Page 26: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Reutilização de

conhecimento

DAW4 26

• E se mudar o código?

Page 27: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Problemas a serem

resolvidos

DAW4 27

• Reduzir o “fardo” da modelagem

• Facilitar o reuso do conhecimento

– Formas mais eficientes para representar o conhecimento

– Menos dependentes do código final

– Mais próximas do domínio do problema

– Diferente da documentação

Page 28: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Produtividade

DAW4 28

• Um elemento conceitual corresponde a vários elementos do código

– Diferença no nível de abstração

– Mapeamento problema / solução

Page 29: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Produtividade

DAW4 29

Page 30: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Produtividade

DAW4 30

Page 31: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Produtividade

DAW4 31

• Muitas tarefas de implementação são repetitivas e exaustivas

– EJB 2.0

– CORBA

– Struts

– Hibernate

• Perde-se tempo precioso em trabalho braçal

– Poderia ser usado em tarefas mais conceituais

Page 32: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Problemas a serem

resolvidos

DAW4 32

• Reduzir o “fardo” da modelagem

• Facilitar o reuso do conhecimento

• Aproveitar o trabalho de forma mais produtiva – Foco em tarefas conceituais

– Evitar tarefas repetitivas

Page 33: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenibilidade

DAW4 33

• Correções

– Erros

– Melhorias

• Evolução

– Novas funcionalidades

• Exigem nova análise, projeto, implementação, testes, etc...

• Normalmente o tempo é curto

Page 34: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Engenharia para a Web

DAW4 34

• Processo utilizado para criar aplicativos Web de alta qualidade

• Não é igual a Engenharia de Software tradicional, mas compartilham muitos conceitos e princípios fundamentais

• Incorpora novas abordagens, metodologias, ferramentas, técnicas e normas para atender os requisitos exclusivos dos sistemas para a Web

• Desenvolvimento para a Web é uma mistura de publicações impressas e desenvolvimento de software, entre marketing e computação, entre comunicações internas e relações externas, e entre arte e tecnologia

Page 35: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenção – a realidade

DAW4 35

Page 36: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenibilidade

DAW4 36

Page 37: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenibilidade

DAW4 37

Page 38: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Exemplo de manutenção

DAW4 38

• Modificar um campo de um registro em uma • aplicação baseada em Struts

– Tabela, índices, visões, consultas, etc. (SQL) – Ação (classe Java) – Mapeamento (XML) – Formulário (XML) – Bean de dados (Java/XML) – DAO - Data Access Objects (Java) – Página (HTML) – Regras de validação (Javascript) – Arquivo de mensagens (.properties) – etc.

Page 39: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenibilidade

DAW4 39

• Trabalho braçal para construir

– Re-trabalho braçal para modificar

• Rastreabilidade

– Um elemento conceitual

– Diversos artefatos de implementação

• Consistência das mudanças

– Entre os diversos artefatos

Page 40: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenibilidade

DAW4 40

• Erros de programação podem ser facilmente encontrados

– Compilador / IDE

– Checagens simples (método privado nunca é chamado, etc.)

• Erros conceituais

– Difíceis de identificar no código

– Conhecimento está “criptografado”

Page 41: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenibilidade

DAW4 41

Page 42: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenibilidade

DAW4 42

Page 43: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenibilidade

DAW4 43

Page 44: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Manutenibilidade

DAW4 44

• Uma vez realizada a alteração

– Atualizar os modelos

• (Quase) nunca acontece

– Uma vez que os desenvolvedores tenham um modelo mental...

– ... começam a descartar o modelo físico (documentação)

• Resultado = modelos desatualizados

– Faz parte do “fardo” da modelagem

Page 45: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Problemas a serem

resolvidos

DAW4 45

• Reduzir o “fardo” da modelagem

• Facilitar o reuso do conhecimento

• Aproveitar o trabalho de forma mais produtiva

• Facilitar a manutenção – Aproveitar o retrabalho de forma mais produtiva

– Possibilitar que mudanças sejam realizadas no nível conceitual

– Facilitar a localização de erros e falhas

– Manter a consistência entre modelo e código

Page 46: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Validação

DAW4 46

• Verificações automáticas de restrições de alto nível

– Difíceis de se realizar diretamente no código

• Exemplos (máquina de estados):

– Estados inalcançáveis

– Transições infinitas

– Estados “mortos”

• Facilita manutenção

– Evitando introdução de erros

Page 47: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Validação

DAW4 47

Page 48: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Otimização

DAW4 48

• Nível de código

– Pré-calcular expressões

– Utilização de macros

– Remoção de expressões redundantes

• Em nível mais alto não é possível sem a existência de um modelo

– Remover estados redundantes

– Normalizar base de dados

– Indexar tabelas de acordo com as consultas existentes

Page 49: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Problemas a serem

resolvidos

DAW4 49

• Reduzir o “fardo” da modelagem

• Facilitar o reuso do conhecimento

• Aproveitar o trabalho de forma mais produtiva

• Facilitar a manutenção

• Validação / otimização – Fazer uso de checagem automática

– Utilizar o conhecimento de especialistas do domínio

Page 50: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Portabilidade

DAW4 50

• Acompanhar a evolução das plataformas de hardware/software

• Novas tecnologias surgem

– Aumenta a pressão para a migração

• Custo do porte:

– Esforço gasto em tarefas específicas da plataforma

Page 51: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Portabilidade

DAW4 51

• Requisitos • Modelos • Regras de negócio • Otimizações

• Código • Arquivos de configuração • Scripts (sql, make, etc) • Código específico da plataforma • Bibliotecas da plataforma

Software dependente da plataforma

Software independente da

plataforma

1 mes

6 meses

Page 52: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Portabilidade

DAW4 52

• Requisitos

• Modelos

• Regras de negócio

• Otimizações

• Código

• Arquivos de configuração

• Scripts (sql, make, etc)

• Código específico da plataforma

• Bibliotecas da plataforma

Software dependente da plataforma

Software independente da

plataforma

3 meses

3 meses

Page 53: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Problemas a serem

resolvidos

DAW4 53

• Reduzir o “fardo” da modelagem

• Facilitar o reuso do conhecimento

• Aproveitar o trabalho de forma mais produtiva

• Facilitar a manutenção

• Validação / otimização

• Portabilidade – Reduzir o esforço específico de plataforma

– Concentrar no trabalho conceitual

Page 54: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Alta complexidade do

software atualmente

DAW4 54

• Exemplo:

– LBS – Location-Based Systems

– GIS –Geographical Information Systems

• Múltiplas plataformas

• Múltiplas interfaces

• Diversas fontes de dados

• Interoperabilidade

• Usuário final leigo

Page 55: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

DAW4 55

• Rastreamento (radiofrequência, GPRS)

• Visualização (Java SWING, Web, JME, Palm)

• Localização • Roteamento • Telemetria • Acionamento

remoto

Page 56: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Tecnologias envolvidas

DAW4 56

• Hardware dedicado (veículos) – GPS, sensores, atuadores

• Software embarcado (C) – Geoposicionamento – Leitura/escrita sinais – Protocolo de comunicação – Transmissão – Criptografia

• Central (C++) – Armazenamento dos dados – Autenticação

Page 57: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Tecnologias envolvidas

DAW4 57

• Monitoramento/rotas (Java/SWING) – Visualização dos veículos – Sobreposição no mapa – Cálculo de rotas

• Servidor de mapas (Java) – http://geoserver.org – Visualização em camadas – Caching

• Base de dados – PostgreSQL + PostGIS – Funções de consulta / geometria – Diferentes fornecedores de mapas

Page 58: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Tecnologias envolvidas

DAW4 58

• Dispositivos móveis – Celular (JME) – PND – Personal Navigation Device (C# / .NET) – Android – IOS

• Visualização Web – Portal de mapas (Javascript) – http://openlayers.org

• Edição de mapas (Java/SWING) – Nomes de ruas – Sentido/mão de direção

Page 59: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Problemas a serem

resolvidos

DAW4 59

• Reduzir o “fardo” da modelagem • Facilitar o reuso do conhecimento • Aproveitar o trabalho de forma mais produtiva • Facilitar a manutenção • Validação / otimização • Portabilidade • Lidar com a alta complexidade do software atual

– Diferentes especialistas (TI vs domínio) – Necessidade de integração / interoperabilidade

Page 60: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Resultado

DAW4 60

• Complexidade exige – Diversos profissionais – Diversos especialistas – Comunicação é crítica

• Especialistas em TI x Especialistas no domínio – Cada um em seu território!

• Porém, com a alta complexidade – Torna-se uma tarefa difícil

• Além disso – Constantes mudanças nas plataformas/requisitos/tecnologias

disponíveis

Page 61: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Solução

DAW4 61

• Modelagem

• Reutilização

• Produtividade

• Manutenibilidade

• Validação / otimização

• Portabilidade

• Alta complexidade

Desenvolvimento usando Modelos

Processo de Software

Page 62: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

PROCESSOS DE SOFTWARE

DAW4 62

Page 63: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Áreas envolvidas:

DAW4 63

• Análise de sistemas e projetos • Engenharia de software • Engenharia de hipermídia e hipertexto • Engenharia de requisitos • Interação humano-computador • Desenvolvimento de interface de usuário • Engenharia de informação • Indexação e recuperação de informações • Teste • Modelagem e simulação • Gerenciamento de projetos • Projeto gráfico e apresentação

Page 64: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Desenvolvimento para a

Web X Desenvolvimento

tradicional

DAW4 64

• Imediatismo: o tempo em que um site completo precisa ficar pronto pode ser apenas alguns poucos dias ou semanas

• Segurança: aplicativos para a Web estão disponíveis via rede, é difícil ou até mesmo impossível limitar a população de usuários que irão acessar o aplicativo

• Estética: é inegável que boa parte do apelo dos aplicativos para a Web é o seu visual

Page 65: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Tipos de aplicativos Web

DAW4 65

• Informacional. – Conteúdo apenas para leitura é fornecido com navegação simples e

links.

• Download. – Um usuário faz o download de informações dos servidores apropriados

• Personalizável. – O usuário personaliza o conteúdo para suas necessidades específicas

• Interação. – Comunicação entre uma comunidade de usuários ocorre em salas de

bate-papo, fóruns ou mensagens instantâneas.

• Entrada de Usuário. – Entradas baseadas em formulários são os mecanismos primários para a

comunicação necessária.

Page 66: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Tipos de aplicativos Web

DAW4 66

• Orientado a transações. – O usuário faz um pedido que é atendido pelo aplicativo

• Orientado a serviços. – O aplicativo fornece um serviço para o usuário.

• Portal. – O aplicativo direciona o usuário para outros conteúdos ou serviços fora

do domínio do portal do aplicativo.

• Acesso a Banco de Dados. – O usuário faz uma consulta em um grande banco de dados e extrai

informações.

• Data warehousing. – O usuário consulta uma coleção de grandes bancos de dados e extrai

informações.

Page 67: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Modelo de Processo

DAW4 67

Page 68: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Atividades do Modelo de

Processo

DAW4 68

• Formulação: atividade que identifica as metas e objetivos do aplicativo e determina um escopo para o primeiro incremento

• Planejamento: estima os custos do projeto, avalia riscos associados com o desenvolvimento, e define um cronograma bem definido para o primeiro incremento, e um menos definido para os demais

• Análise: são estabelecidos os requisitos técnicos e identificados os itens de conteúdo que serão incorporados. Requisitos para projeto gráfico (estética) também são definidos.

Page 69: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Atividades do Modelo de

Processo

DAW4 69

• Engenharia:

– Projeto de Conteúdo e Produção: projetar, produzir e/ou obter todos os textos, gráficos, conteúdo de áudio e vídeo que serão integrados ao aplicativo.

• Geração de Páginas: conteúdo definido na atividade de engenharia é fundido com os projetos de arquitetura, navegação e interface para produzir páginas

Page 70: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Atividades do Modelo de

Processo

DAW4 70

• Teste: tenta descobrir erros em applets, scripts e formulários; e ajuda a garantir que o aplicativo irá funcionar corretamente em diferentes ambientes

• Avaliação do Cliente: mudanças são pedidas e serão integradas ao sistema no próximo ciclo do processo incremental.

Page 71: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Problemas que

normalmente ocorrem:

DAW4 71

• Inconsistência das informações;

• Manutenção normalmente utiliza muitos recursos e tempo;

• Falta de escalabilidade;

• Necessidade de um “visual” comum;

• No início, requisitos são muito vagos;

• Os requisitos irão mudar consideravelmente durante o desenvolvimento e especialmente quando o aplicativo já estiver em uso;

• A tecnologia também vem mudando muito rapidamente.

Page 72: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Cenário atual

DAW4 72

• Grande parte dos desenvolvedores para a Web não utilizam um processo de desenvolvimento bem definido e documentado

• Dos poucos que estão utilizando processos bem definidos e documentados, apenas alguns estão utilizando modelos padronizados pela indústria de software

• Na maioria dos casos o processo se foca na Implementação. Análise de Requisitos e Projeto normalmente estão combinadas no começo do projeto, e as atividades de Teste são conduzidas em conjunto com a implementação.

Page 73: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Formulação

DAW4 73

• As seguintes perguntas devem ser feitas:

• Qual o principal motivo para desenvolvermos este aplicativo?

• Por que este aplicativo é necessário?

• Quem vai usar este aplicativo?

Page 74: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Formulação

DAW4 74

• As respostas destas perguntas servirão para definir:

• Metas de informação: Indicam a intenção de fornecer conteúdo específico e/ou informação para o usuário

• Metas de aplicativo: Indicam a habilidade de executar tarefas do aplicativo

Page 75: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Formulação

DAW4 75

• Quando todas as metas de ambos os tipos forem identificadas, um perfil de usuário é desenvolvido

• Quando todas as metas e perfis de usuários estiverem desenvolvidos, a atividade de formulação irá focar a declaração de escopo do aplicativo para a Web

Page 76: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Análise

DAW4 76

• Análise de Conteúdo: todo o conteúdo a ser fornecido pelo aplicativo é identificado

• Análise de Interação: a maneira pela qual o usuário interage com o aplicativo é descrita em detalhes

• Análise Funcional: os cenários de uso criados na análise de interação irão definir operações que irão ser utilizadas no aplicativo, que implicam outras funções de processamento

• Análise de Configuração: O ambiente e a infra-estrutura na qual o aplicado reside são descritos em detalhe

Page 77: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Análise: cenário atual

DAW4 77

• especificação detalhada de requisitos raramente é feita

• argumentação mais comum é que a evolução contínua dos aplicativos para a Web torna os documentos de requisitos obsoletos antes mesmo de completar o desenvolvimento

Page 78: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Projeto

DAW4 78

• O dilema do projetista:

• O projeto deve resolver os problemas imediatos

• É preciso criar uma arquitetura que comporte uma evolução rápida

Page 79: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Elementos técnicos para

um projeto efetivo:

DAW4 79

• Métodos e Princípios de Projeto: Modularidade eficiente (alta coesão e baixo acoplamento) e outras heurísticas da construção de software devem ser utilizadas também para a Web. Pode-se utilizar inclusive os métodos de projetos para sistemas orientados a objetos, pois a hipermídia define “objetos” que interagem através de um protocolo de comunicação que é bem parecido com o utilizado na orientação a objetos.

• Regras de Ouro (Golden Rules): Sistemas para a Web já vêm sendo construídos há uma década. Neste tempo, os projetistas desenvolveram um conjunto de heurísticas que podem ser reaplicadas durante o projeto de novos aplicativos.

Page 80: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Elementos técnicos para

um projeto efetivo:

DAW4 80

• Padrões de Projetos (Design Patterns): São abordagens genéricas utilizadas para resolver problemas genéricos que podem ser adaptadas para resolverem uma grande variedade de problemas mais específicos.

• Modelos (Templates): um modelo pode ser utilizado para fornecer um esqueleto para qualquer tipo de padrão de projeto que será utilizado no aplicativo.

Page 81: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Projeto de Arquitetura

DAW4 81

• Tem foco na definição da estrutura hipermídia do aplicativo, na aplicação de padrões e na construção de modelos (templates) para montar a estrutura e permitir reuso

• A atividade paralela chamada de Projeto de Conteúdo, deriva a estrutura geral e o esboço detalhado do conteúdo que será apresentado no aplicativo

• Nesta etapa é definida a estrutura que será utilizada

Page 82: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Estrutura Linear

DAW4 82

Page 83: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Estrutura de Grade

DAW4 83

Page 84: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Estrutura Hierárquica

DAW4 84

Page 85: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Estrutura de Rede (Pure

Web)

DAW4 85

Page 86: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Projeto de Navegação

DAW4 86

• Objetivo:

– definir caminhos que permitam ao usuário acessar conteúdos e serviços

– identificar as semânticas de navegação para diferentes usuários e definir os mecanismos para realizar a navegação

Page 87: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Tarefas do Projeto de

Navegação

DAW4 87

• Definir tipos de usuários

• Criar uma unidade semântica de navegação (semantic navigation unit – SNU) para cada objetivo associado a cada tipo de usuário – SNU é composta de um conjunto de sub-estruturas navegáveis

que podemos chamar de caminhos (ways of navigating – WoN)

– Cada um desses caminhos representará a melhor maneira de navegar para que um determinado usuário atinja sua meta ou sub-meta.

• Escolher como os links serão identificados. Dentre as opções estão: textos, ícones, botões, etc

Page 88: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Projeto de Interface

DAW4 88

• Métodos utilizados na Engenharia de Software podem ser utilizados, porém são necessárias algumas considerações adicionais

• Na Web a interface tem um papel fundamental

Page 89: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Recomendações para

construção de uma boa

interface:

DAW4 89

• Erros no servidor, mesmo os menores, podem fazer com que um usuário deixe o site e procure a informação ou serviço que deseja em outro lugar;

• Não se deve forçar o usuário a ler grandes quantidades de texto, principalmente se for texto explicando como operar o aplicativo ou navegar por ele;

• Avisos de “Em Construção” devem ser evitados, são links desnecessários que causam uma expectativa do usuário que com certeza irá se desapontar;

Page 90: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Recomendações para

construção de uma boa

interface:

DAW4 90

• Usuários não gostam de rolar a tela, informações importantes devem ser colocadas no topo, de forma que apareça logo que a página é carregada;

• Menus e barras de navegação devem ser projetados de forma consistente, e devem estar disponíveis em todas as páginas que o usuário irá navegar. Não se deve contar com as funcionalidades do browser;

• Opções de navegação devem ser óbvias, mesmo para o usuário casual. O usuário não pode ficar procurando pela tela até encontrar o que deseja.

Page 91: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Considerações

DAW4 91

• Pessoas gastam horas clicando em um site para encontrar uma simples informação.

• “Surfar” na Web é muito mais difícil do que parece.

• Os usuários (potenciais clientes) estão conseguindo navegar no seu site?

• Por que os humanos têm que se adaptar a tecnologia? Por que a tecnologia não se adapta aos humanos?

• Sua empresa não é o público-alvo.

• Você deve escrever seu site em uma linguagem que seus usuários compreendam.

Page 92: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Considerações

DAW4 92

• Grandes erros continuam acontecendo na Web: links quebrados, cores não padronizadas, URLs que mudam e fazem com que links externos para seu site fiquem quebrados.

• Na Internet, sobrevive o mais fácil de usar.

• Se o usuário não consegue achar o produto, ele não irá comprá-lo.

• Atenção com a usabilidade aumenta a porcentagem de visitantes que se tornam clientes.

Page 93: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Testes

DAW4 93

• Assim como na Engenharia de Software, na Engenharia para a Web as atividades de teste também visam encontrar erros

• Na Web o desafio é ainda maior, pois os aplicativos podem ser acessados utilizando diferentes browsers, sistemas operacionais, plataformas de hardware, etc

Page 94: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Testes

DAW4 94

• O modelo de conteúdo é revisto para descobrir erros

• O modelo de projeto é revisto para descobrir erros de navegação

• Componentes selecionados passam por um processo de teste de unidade

• A arquitetura é construída e testes de integração são conduzidos

Page 95: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Testes

DAW4 95

• O aplicativo já integrado é testado em sua funcionalidade geral e conteúdo fornecido

• O aplicativo é implementado em diferentes configurações de ambientes e testado em sua compatibilidade com cada configuração

• O aplicativo é testado por uma população controlada de usuários

Page 96: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Gerenciamento

DAW4 96

• Muitos desenvolvedores acabam optando por pouco ou nenhum gerenciamento por causa do curto período de desenvolvimento e da constante evolução de aplicativos para a Web

• A combinação de tarefas técnicas e não técnicas que ocorrem são um desafio para qualquer grupo de profissionais

• Para evitar confusões, frustrações e falhas, um planejamento precisa ocorrer, riscos precisam ser considerados, um cronograma precisa ser estabelecido e acompanhado, e mecanismos de controle precisam ser definidos

Page 97: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Equipe de

Desenvolvimento

DAW4 97

• normalmente menores que as equipes de desenvolvimento de software tradicional

• no desenvolvimento de software tradicional

– as equipes divididas em unidades menores para resolver diferentes problemas e executar diferentes tarefas

• no desenvolvimento para a Web,

– as equipes divididas em grupos multidisciplinares, que construirão diferentes seções do aplicativo para a Web, mas em geral irão trabalhar em problemas similares

Page 98: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Equipe de Desenvolvimento

Papéis

DAW4 98

• Desenvolvedores e Provedores de Conteúdo: coleta e geração de conteúdo, vem de diversas áreas não relacionadas com software

• Web Publisher: organiza conteúdo, faz a conexão entre o pessoal técnico que constrói o aplicativo e o pessoal não-técnico que desenvolve o conteúdo

• Web Engineer: se envolve em várias atividades durante o desenvolvimento (levantamento de requisitos; análise; projeto arquitetural, de navegação e de interface; implementação; e teste)

Page 99: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Equipe de Desenvolvimento

Papéis

DAW4 99

• Especialista de Suporte: serão responsáveis por dar continuidade no suporte ao aplicativo para a Web, responsável pelas correções, adaptações e melhorias no site

• Administrador (WebMaster): responsável pela operação do site no dia-a-dia, incluindo desenvolvimento e implementação de regras para operação do aplicativo; fixação de procedimentos de suporte; implementação de procedimentos de segurança e direitos de acesso; medição e análise de tráfego; coordenação de mudanças de procedimentos; coordenação de especialistas de suporte

Page 100: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Gerenciamento de

Projeto

DAW4 100

• O desenvolvimento de aplicativos para a Web é uma área relativamente nova e há poucos dados históricos que podem ser utilizados para fazer estimativa

• Nenhum tipo de métrica publicado e há pouca discussão de como elas devem ser

• Estimativas baseadas apenas em experiências com projetos similares

• Quase todo aplicativo para a Web quer inovar em alguma coisa, isto acaba fazendo com que estimativas baseadas em experiência com outros projetos, apesar de úteis, estejam sujeitas a uma alta margem de erro.

• Grande parte dos aplicativos na Web é construída por terceiros, especializados neste tipo de desenvolvimento

Page 101: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Tarefas da empresa

contratante

DAW4 101

• Muitas das atividades de análise devem ser feitas internamente, – a definição do público-alvo; – dos objetivos; – das informações e serviços a serem fornecidos; – e das medidas quantitativas e qualitativas que serão utilizadas para medir

o sucesso.

• Um esboço do projeto deve ser criado – economizará tempo e custo para o desenvolvedor, – permite uma ideia melhor de como deverá ser o aplicativo.

• Um esboço do cronograma deve ser definido e acompanhado. • Os níveis de interação entre o contratante e o contratado devem ser

identificados – definindo as responsabilidades de cada um.

Page 102: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Gerenciamento de

Configuração

DAW4 102

• estratégias utilizadas na Engenharia de Software são aplicáveis, porém táticas e ferramentas devem ser adaptadas para as características dos aplicativos para a Web

Page 103: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Limitações a serem

consideradas:

DAW4 103

• Conteúdo: um aplicativo para a Web típico possui bastante conteúdo. O desafio é organizá-lo em um conjunto racional de objetos e então estabelecer mecanismos de controle de configuração apropriados.

• Pessoas: como o desenvolvimento do aplicativo para a Web é contínuo, qualquer pessoa pode criar conteúdo, muitas delas não têm conhecimentos em engenharia de software e desconhecem as necessidades de gerenciamento de configuração.

Page 104: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Limitações a serem

consideradas:

DAW4 104

• Escalabilidade: as técnicas e controles aplicados a aplicativos para a Web pequenos não são bem escaláveis, é comum ver aplicativos crescendo em tamanho e complexidade, e com isso pequenas mudanças acabam tendo efeitos inesperados e problemáticos.

• Política. Quem é o dono do aplicativo? Esta questão é bastante discutida em grandes e pequenas companhias, e a resposta tem impacto significativo nas atividades de gerenciamento e controle.

Page 105: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Conclusão

DAW4 105

• A maneira desordenada com que a maior parte dos aplicativos para a Web são construídos é preocupante, principalmente quando analisamos as pesquisas que mostram que a grande maioria dos sites tem problemas de funcionalidade e/ou usabilidade

• As técnicas criadas e já consolidadas na Engenharia de Software podem ser utilizadas e isto é uma vantagem. Porém, é preciso fazer algumas adaptações, tendo muito cuidado com todas as características específicas de sistemas para a Web

Page 106: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Conclusão

DAW4 106

• Poucos desenvolvedores utilizam as técnicas de engenharia, normalmente, de forma restrita ou errônea.

• Problema que também ocorre na Engenharia de Software, mas na Engenharia para a Web a incidência é ainda maior

• Os problemas ocorrem principalmente nas áreas de Análise, Requisitos, Testes, Validação e Manutenção, que são áreas importantes que ainda não recebem a atenção necessária, pois a maior parte dos desenvolvedores concentram-se apenas na fase de Implementação

Page 107: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

Conclusão

DAW4 107

• Os estudos mostram que o uso de técnicas de engenharia é eficaz e eficiente, portanto os esforços devem ser concentrados nesta adaptação das técnicas utilizadas na Engenharia de Software, incluindo o desenvolvimento de métricas e técnicas para o gerenciamento de projeto.

• Paralelamente precisa haver um trabalho para conscientizar desenvolvedores da importância do uso destas técnicas, mostrando como as mesmas poderiam tornar seu trabalho mais eficiente, trazendo também melhores resultados

Page 108: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia de Software para Web •Elicitação de Requisitos ... –Testes/validação •Uma

REFERÊNCIAS

BIBLIOGRÁFICAS

DAW4 108

• [BIE98] BIEBER, Michael. “Web Engineering”. New Jersey Institute of Technology, 1998. <http://www-ec.njit.edu/~bieber/web-engineering.html>

• [GIN01] GINIGE, Athula e MURUGESAN, San. “Web Engineering: An Introduction”. IEEE Multimedia. Janeiro-Março 2001.

• [GIN01b] GINIGE, Athula. “Engineering A Better Website”. University Of Western Sydney. Austrália, Outubro de 2000. <http://aeims.uws.edu.au/talks/eng-web-sites.pdf>

• [GIN01c] GINIGE, Athula. “Web Engineering in Action”. University Of Western Sydney. Austrália, Outubro de 2000 <http://aeims.uws.edu.au/talks/Webe-in-action.pdf>

• [MCD01] MCDONALD, Andrew e WELLAND, Ray. The University, Glasgow G12 8QQ, Scotland. 2001. <http://www.dcs.gla.ac.uk/~andrew/webe2001.pdf>

• [MUR00] MURUGESAN, San. “Web Engineering For Sucessful Web Application Development”. University Of Western Sydney. Austrália, Outubro de 2000. <http://aeims.uws.edu.au/Talks/Web-ApWeb2000.PDF>

• [NIE00] NIELSEN, Jakob. “Designing Web Usability”. New Riders Publishing, 2000.

• [PRE01] PRESSMAN, Roger S. “Software Engineering: A Practioner’s Approach”. McGraw-Hill. 5ª edição. 2001.