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

Post on 08-Nov-2018

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MÓDULO

Análise Orientada a Objetos

Introdução

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

OBJETIVO DO

MÓDULO

• Apresentação da disciplina

• Conteúdo Programático

• Sistema de Avaliação

• Bibliografia

DAW4 2

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

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

SISTEMA DE

AVALIAÇÃO

DAW4 5

• Trabalhos ao longo das aulas

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

REFERÊNCIAS

BIBLIOGRÁFICAS

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

• RUP. Rumbaugh, Jacobson, Booch

• Engenharia de Software. Sommerville

DAW4 6

Evolução do Computador

DAW4 7

• Imagine a vida sem computadores. Sem Web!

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

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

Atualmente:

DAW4 10

• Escopo e complexidade vêm aumentando

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

• Navegabilidade complexa

• Desempenho essencial

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

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

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

O crescimento da rede Web

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

Características de

Aplicativos Web

DAW4 15

• Uso intenso de recursos de rede

• Dirigido a conteúdo

• Evolução contínua

Analogia da ponte

DAW4 16

Analogia do jardim

DAW4 17

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!!

Como deveria ser

DAW4 19

A realidade

DAW4 20

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

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

Reutilização

DAW4 23

• Conhecimento fica criptografado no código

Reutilização de

conhecimento

DAW4 24

Reutilização de

conhecimento

DAW4 25

• E se mudar o código?

Reutilização de

conhecimento

DAW4 26

• E se mudar o código?

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

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

Produtividade

DAW4 29

Produtividade

DAW4 30

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

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

Manutenibilidade

DAW4 33

• Correções

– Erros

– Melhorias

• Evolução

– Novas funcionalidades

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

• Normalmente o tempo é curto

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

Manutenção – a realidade

DAW4 35

Manutenibilidade

DAW4 36

Manutenibilidade

DAW4 37

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.

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

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”

Manutenibilidade

DAW4 41

Manutenibilidade

DAW4 42

Manutenibilidade

DAW4 43

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

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

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

Validação

DAW4 47

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

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

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

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

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

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

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

DAW4 55

• Rastreamento (radiofrequência, GPRS)

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

• Localização • Roteamento • Telemetria • Acionamento

remoto

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

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

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

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

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

Solução

DAW4 61

• Modelagem

• Reutilização

• Produtividade

• Manutenibilidade

• Validação / otimização

• Portabilidade

• Alta complexidade

Desenvolvimento usando Modelos

Processo de Software

PROCESSOS DE SOFTWARE

DAW4 62

Á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

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

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.

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.

Modelo de Processo

DAW4 67

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.

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

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.

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.

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.

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?

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

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

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

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

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

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.

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.

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

Estrutura Linear

DAW4 82

Estrutura de Grade

DAW4 83

Estrutura Hierárquica

DAW4 84

Estrutura de Rede (Pure

Web)

DAW4 85

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

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

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

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;

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.

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.

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.

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

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

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

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

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

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)

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

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

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.

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

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.

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.

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

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

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

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.

top related