Análise Orientada a Objetos - facom.ufu.br bacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia…

Download Análise Orientada a Objetos - facom.ufu.br bacala/DAW/Aula01-1 - Introdução.pdf · •Engenharia…

Post on 08-Nov-2018

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • MDULO

    Anlise Orientada a Objetos

    Introduo

    Prof. M.Sc. Slvio Bacal Jnior

  • OBJETIVO DO

    MDULO

    Apresentao da disciplina

    Contedo Programtico

    Sistema de Avaliao

    Bibliografia

    DAW4 2

  • CURRCULO DO

    PROFESSOR Formado em Engenharia Eltrica pela UFU

    Ps graduado em Tecnologia da Informao pela UFPE

    Mestre em Engenharia de Software pela UFU

    Atuou como Analista de Sistemas, Gerente de Diviso e, atualmente, professor 20 hs na UFU

    Atua com Analista Tributrio na RFB Foi um dos criadores da verso Windows e Java do

    programa IRPF, assumindo papis de Arquiteto, Projetista, Desenvolvedor e Supervisor Tcnico.

    DAW4 3

  • CONTEDO

    PROGRAMTICO

    Introduo

    Processo de Desenvolvimento de Sistemas

    Sistemas Web

    Engenharia de Software para Web

    Elicitao de Requisitos

    Anlise dos Requisitos

    Projeto Web

    DAW4 4

  • SISTEMA DE

    AVALIAO

    DAW4 5

    Trabalhos ao longo das aulas

    Prova final na ltima aula (metade da aula)

  • REFERNCIAS

    BIBLIOGRFICAS

    UML Users Guide. Rumbaugh, Jacobson, Booch

    RUP. Rumbaugh, Jacobson, Booch

    Engenharia de Software. Sommerville

    DAW4 6

  • Evoluo do Computador

    DAW4 7

    Imagine a vida sem computadores. Sem Web!

  • A Evoluo da Web Tempo levado para chegar a 30% da

    populao americana (em anos)

    4

    19

    20

    26

    35

    40

    Internet

    Computador

    Videocassete

    Televiso

    Rdio

    Telefone

    DAW4 8

  • No incio:

    DAW4 9

    Contedo esttico e textual

    Interao limitada

    Navegabilidade fcil

    Desempenho no era essencial

    Sites desenvolvidos apenas por uma pessoa ou por um pequeno grupo

  • Atualmente:

    DAW4 10

    Escopo e complexidade vm aumentando

    Sons, imagens, animaes, etc.

    Navegabilidade complexa

    Desempenho essencial

  • Alguns dados...

    DAW4 11

    84% dos sistemas entregues no atendem as necessidades do cliente

    79% dos projetos sofrem com atrasos

    63% tem custo maior que o previsto

    50% dos sistemas prontos tem problemas: so de baixa qualidade e faltam funcionalidades necessrias

  • O cenrio atual

    DAW4 12

    Sites feitos com pouca disciplina, sem preocupao com tcnicas e mtodos padronizados ou maneiras de controlar a qualidade

    Muitos desenvolvedores acham que o desenvolvimento para a Web apenas criao de pginas usando HTML, Frontpage ou Dreamweaver

    Muitos livros e revistas tambm tratam o desenvolvimento para a Web desta maneira

  • A convergncia da

    tecnologia de redes

    Servidor Web

    2

    Internet

    6

    99

    Usurio Web

    2 modemmodem

    Servidor Web

    Qualquer

    dispositivo

    Qualquer

    meio

    Internet Qualquer

    meio

    Usurio Web

    A representao tradicional do acesso a rede Internet

    Uma representao atualizada do acesso a rede Internet

  • O crescimento da rede Web

    Fonte: Nua Surveys

  • Caractersticas de

    Aplicativos Web

    DAW4 15

    Uso intenso de recursos de rede

    Dirigido a contedo

    Evoluo contnua

  • Analogia da ponte

    DAW4 16

  • Analogia do jardim

    DAW4 17

  • Desenvolvimento de

    software

    DAW4 18

    Como feito

    Anlise de um problema/processo/sistema

    Desenvolvimento de uma soluo

    Software + no-software

    Testes/validao

    Uma srie 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 nvel So usados em um primeiro momento

    Discusses, idias, etc (anlise)

    Porm logo so inteis Programadores criam cdigo manualmente

    Manuteno feita diretamente no cdigo

    Modelos perdem a consistncia

    Mesmo com engenharia reversa, acaba sendo um artefato desnecessrio

  • Problemas a serem

    resolvidos

    DAW4 22

    Reduzir o fardo da modelagem

    Dificuldades da linguagem (UML)

    Inconsistncias entre modelo-cdigo

    Necessidade de ferramentas

    Achar que modelo algo desnecessrio

  • Reutilizao

    DAW4 23

    Conhecimento fica criptografado no cdigo

  • Reutilizao de

    conhecimento

    DAW4 24

  • Reutilizao de

    conhecimento

    DAW4 25

    E se mudar o cdigo?

  • Reutilizao de

    conhecimento

    DAW4 26

    E se mudar o cdigo?

  • 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 cdigo final

    Mais prximas do domnio do problema

    Diferente da documentao

  • Produtividade

    DAW4 28

    Um elemento conceitual corresponde a vrios elementos do cdigo

    Diferena no nvel de abstrao

    Mapeamento problema / soluo

  • Produtividade

    DAW4 29

  • Produtividade

    DAW4 30

  • Produtividade

    DAW4 31

    Muitas tarefas de implementao so repetitivas e exaustivas

    EJB 2.0

    CORBA

    Struts

    Hibernate

    Perde-se tempo precioso em trabalho braal

    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

    Correes

    Erros

    Melhorias

    Evoluo

    Novas funcionalidades

    Exigem nova anlise, projeto, implementao, testes, etc...

    Normalmente o tempo curto

  • Engenharia para a Web

    DAW4 34

    Processo utilizado para criar aplicativos Web de alta qualidade

    No igual a Engenharia de Software tradicional, mas compartilham muitos conceitos e princpios fundamentais

    Incorpora novas abordagens, metodologias, ferramentas, tcnicas e normas para atender os requisitos exclusivos dos sistemas para a Web

    Desenvolvimento para a Web uma mistura de publicaes impressas e desenvolvimento de software, entre marketing e computao, entre comunicaes internas e relaes externas, e entre arte e tecnologia

  • Manuteno a realidade

    DAW4 35

  • Manutenibilidade

    DAW4 36

  • Manutenibilidade

    DAW4 37

  • Exemplo de manuteno

    DAW4 38

    Modificar um campo de um registro em uma aplicao baseada em Struts

    Tabela, ndices, vises, consultas, etc. (SQL) Ao (classe Java) Mapeamento (XML) Formulrio (XML) Bean de dados (Java/XML) DAO - Data Access Objects (Java) Pgina (HTML) Regras de validao (Javascript) Arquivo de mensagens (.properties) etc.

  • Manutenibilidade

    DAW4 39

    Trabalho braal para construir

    Re-trabalho braal para modificar

    Rastreabilidade

    Um elemento conceitual

    Diversos artefatos de implementao

    Consistncia das mudanas

    Entre os diversos artefatos

  • Manutenibilidade

    DAW4 40

    Erros de programao podem ser facilmente encontrados

    Compilador / IDE

    Checagens simples (mtodo privado nunca chamado, etc.)

    Erros conceituais

    Difceis de identificar no cdigo

    Conhecimento est criptografado

  • Manutenibilidade

    DAW4 41

  • Manutenibilidade

    DAW4 42

  • Manutenibilidade

    DAW4 43

  • Manutenibilidade

    DAW4 44

    Uma vez realizada a alterao

    Atualizar os modelos

    (Quase) nunca acontece

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

    ... comeam a descartar o modelo fsico (documentao)

    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 manuteno Aproveitar o retrabalho de forma mais produtiva

    Possibilitar que mudanas sejam realizadas no nvel conceitual

    Facilitar a localizao de erros e falhas

    Manter a consistncia entre modelo e cdigo

  • Validao

    DAW4 46

    Verificaes automticas de restries de alto nvel

    Difceis de se realizar diretamente no cdigo

    Exemplos (mquina de estados):

    Estados inalcanveis

    Transies infinitas

    Estados mortos

    Facilita manuteno

    Evitando introduo de erros

  • Validao

    DAW4 47

  • Otimizao

    DAW4 48

    Nvel de cdigo

    Pr-calcular expresses

    Utilizao de macros

    Remoo de expresses redundantes

    Em nvel mais alto no possvel sem a existncia 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 manuteno

    Validao / otimizao Fazer uso de checagem automtica

    Utilizar o conhecimento de especialistas do domnio

  • Portabilidade

    DAW4 50

    Acompanhar a evoluo das plataformas de hardware/software

    Novas tecnologias surgem

    Aumenta a presso para a migrao

    Custo do porte:

    Esforo gasto em tarefas especficas da plataforma

  • Portabilidade

    DAW4 51

    Requisitos Modelos Regras de negcio Otimizaes

    Cdigo Arquivos de configurao Scripts (sql, make, etc) Cdigo especfico da plataforma Bibliotecas da plataforma

    Software dependente da plataforma

    Software independente da

    plataforma

    1 mes

    6 meses

  • Portabilidade

    DAW4 52

    Requisitos

    Modelos

    Regras de negcio

    Otimizaes

    Cdigo

    Arquivos de configurao

    Scripts (sql, make, etc)

    Cdigo especfico 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 manuteno

    Validao / otimizao

    Portabilidade Reduzir o esforo especfico de plataforma

    Concentrar no trabalho conceitual

  • Alta complexidade do

    software atualmente

    DAW4 54

    Exemplo:

    LBS Location-Based Systems

    GIS Geographical Information Systems

    Mltiplas plataformas

    Mltiplas interfaces

    Diversas fontes de dados

    Interoperabilidade

    Usurio final leigo

  • DAW4 55

    Rastreamento (radiofrequncia, GPRS)

    Visualizao (Java SWING, Web, JME, Palm)

    Localizao Roteamento Telemetria Acionamento

    remoto

  • Tecnologias envolvidas

    DAW4 56

    Hardware dedicado (veculos) GPS, sensores, atuadores

    Software embarcado (C) Geoposicionamento Leitura/escrita sinais Protocolo de comunicao Transmisso Criptografia

    Central (C++) Armazenamento dos dados Autenticao

  • Tecnologias envolvidas

    DAW4 57

    Monitoramento/rotas (Java/SWING) Visualizao dos veculos Sobreposio no mapa Clculo de rotas

    Servidor de mapas (Java) http://geoserver.org Visualizao em camadas Caching

    Base de dados PostgreSQL + PostGIS Funes de consulta / geometria Diferentes fornecedores de mapas

  • Tecnologias envolvidas

    DAW4 58

    Dispositivos mveis Celular (JME) PND Personal Navigation Device (C# / .NET) Android IOS

    Visualizao Web Portal de mapas (Javascript) http://openlayers.org

    Edio de mapas (Java/SWING) Nomes de ruas Sentido/mo de direo

  • 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 manuteno Validao / otimizao Portabilidade Lidar com a alta complexidade do software atual

    Diferentes especialistas (TI vs domnio) Necessidade de integrao / interoperabilidade

  • Resultado

    DAW4 60

    Complexidade exige Diversos profissionais Diversos especialistas Comunicao crtica

    Especialistas em TI x Especialistas no domnio Cada um em seu territrio!

    Porm, com a alta complexidade Torna-se uma tarefa difcil

    Alm disso Constantes mudanas nas plataformas/requisitos/tecnologias

    disponveis

  • Soluo

    DAW4 61

    Modelagem

    Reutilizao

    Produtividade

    Manutenibilidade

    Validao / otimizao

    Portabilidade

    Alta complexidade

    Desenvolvimento usando Modelos

    Processo de Software

  • PROCESSOS DE SOFTWARE

    DAW4 62

  • reas envolvidas:

    DAW4 63

    Anlise de sistemas e projetos Engenharia de software Engenharia de hipermdia e hipertexto Engenharia de requisitos Interao humano-computador Desenvolvimento de interface de usurio Engenharia de informao Indexao e recuperao de informaes Teste Modelagem e simulao Gerenciamento de projetos Projeto grfico e apresentao

  • 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

    Segurana: aplicativos para a Web esto disponveis via rede, difcil ou at mesmo impossvel limitar a populao de usurios que iro acessar o aplicativo

    Esttica: inegvel que boa parte do apelo dos aplicativos para a Web o seu visual

  • Tipos de aplicativos Web

    DAW4 65

    Informacional. Contedo apenas para leitura fornecido com navegao simples e

    links.

    Download. Um usurio faz o download de informaes dos servidores apropriados

    Personalizvel. O usurio personaliza o contedo para suas necessidades especficas

    Interao. Comunicao entre uma comunidade de usurios ocorre em salas de

    bate-papo, fruns ou mensagens instantneas.

    Entrada de Usurio. Entradas baseadas em formulrios so os mecanismos primrios para a

    comunicao necessria.

  • Tipos de aplicativos Web

    DAW4 66

    Orientado a transaes. O usurio faz um pedido que atendido pelo aplicativo

    Orientado a servios. O aplicativo fornece um servio para o usurio.

    Portal. O aplicativo direciona o usurio para outros contedos ou servios fora

    do domnio do portal do aplicativo.

    Acesso a Banco de Dados. O usurio faz uma consulta em um grande banco de dados e extrai

    informaes.

    Data warehousing. O usurio consulta uma coleo de grandes bancos de dados e extrai

    informaes.

  • Modelo de Processo

    DAW4 67

  • Atividades do Modelo de

    Processo

    DAW4 68

    Formulao: 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

    Anlise: so estabelecidos os requisitos tcnicos e identificados os itens de contedo que sero incorporados. Requisitos para projeto grfico (esttica) tambm so definidos.

  • Atividades do Modelo de

    Processo

    DAW4 69

    Engenharia:

    Projeto de Contedo e Produo: projetar, produzir e/ou obter todos os textos, grficos, contedo de udio e vdeo que sero integrados ao aplicativo.

    Gerao de Pginas: contedo definido na atividade de engenharia fundido com os projetos de arquitetura, navegao e interface para produzir pginas

  • Atividades do Modelo de

    Processo

    DAW4 70

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

    Avaliao do Cliente: mudanas so pedidas e sero integradas ao sistema no prximo ciclo do processo incremental.

  • Problemas que

    normalmente ocorrem:

    DAW4 71

    Inconsistncia das informaes;

    Manuteno normalmente utiliza muitos recursos e tempo;

    Falta de escalabilidade;

    Necessidade de um visual comum;

    No incio, requisitos so muito vagos;

    Os requisitos iro mudar consideravelmente durante o desenvolvimento e especialmente quando o aplicativo j estiver em uso;

    A tecnologia tambm vem mudando muito rapidamente.

  • Cenrio atual

    DAW4 72

    Grande parte dos desenvolvedores para a Web no utilizam um processo de desenvolvimento bem definido e documentado

    Dos poucos que esto utilizando processos bem definidos e documentados, apenas alguns esto utilizando modelos padronizados pela indstria de software

    Na maioria dos casos o processo se foca na Implementao. Anlise de Requisitos e Projeto normalmente esto combinadas no comeo do projeto, e as atividades de Teste so conduzidas em conjunto com a implementao.

  • Formulao

    DAW4 73

    As seguintes perguntas devem ser feitas:

    Qual o principal motivo para desenvolvermos este aplicativo?

    Por que este aplicativo necessrio?

    Quem vai usar este aplicativo?

  • Formulao

    DAW4 74

    As respostas destas perguntas serviro para definir:

    Metas de informao: Indicam a inteno de fornecer contedo especfico e/ou informao para o usurio

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

  • Formulao

    DAW4 75

    Quando todas as metas de ambos os tipos forem identificadas, um perfil de usurio desenvolvido

    Quando todas as metas e perfis de usurios estiverem desenvolvidos, a atividade de formulao ir focar a declarao de escopo do aplicativo para a Web

  • Anlise

    DAW4 76

    Anlise de Contedo: todo o contedo a ser fornecido pelo aplicativo identificado

    Anlise de Interao: a maneira pela qual o usurio interage com o aplicativo descrita em detalhes

    Anlise Funcional: os cenrios de uso criados na anlise de interao iro definir operaes que iro ser utilizadas no aplicativo, que implicam outras funes de processamento

    Anlise de Configurao: O ambiente e a infra-estrutura na qual o aplicado reside so descritos em detalhe

  • Anlise: cenrio atual

    DAW4 77

    especificao detalhada de requisitos raramente feita

    argumentao mais comum que a evoluo contnua dos aplicativos para a Web torna os documentos de requisitos obsoletos antes mesmo de completar o d

Recommended

View more >