ICMC USP S C C D e s e n v o l v i m e n t o d e A p l i c a ç õ e s W E B. Renata Pontin de Mattos Fortes. ICMC-USP S.

Documentos relacionados
Desenvolvimento de Aplicações Hipermídia na Web

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

INF1013 MODELAGEM DE SOFTWARE

UML (Unified Modelling Language)

2 Metodologias para Projetos de Aplicações Hipermidia

DIAGRAMAS DE CLASSE UML

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Introdução a Web. Programação para a Internet. Prof. Vilson Heck Junior

Introdução ao Desenvolvimento de

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE

INTRODUÇÃO A PROGRAMAÇÃO PARA WEB

Web Presentation Patterns - Controllers

Introdução a UML (Unified Modeling Language)

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Nesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

5 Arquitetura de implementação

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Construção de Sites. Introdução ao Universo Web. Prof. Nícolas Trigo

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Analista de Sistemas S. J. Rio Preto

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Rational Unified Process (RUP)

Especificação de Sistemas de Software e a UML

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Arquiteturas. capítulo

Análise de Sistemas. Aula 5

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I

UML. Modelando um sistema

Análise e Projeto de Sistemas (Cont.) Profª Rafaella Matos

Análise e projeto de sistemas

UML e seus diagramas

Requisitos de Sistemas

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

UML UNIFIED MODELING LANGUAGE LINGUAGEM DE MODELAGEM UNIFICADA

Introdução à UML. Prof. Jesus José de Oliveira Neto

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS

Marcelo Henrique dos Santos

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Diagrama de Componentes e Implantação

Análise de Sistemas 4º Bimestre (material 3)

Engenharia de Software

UML Diagramas Estruturais Diagrama de Componentes

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

UML. Adriano J. Holanda 21/3/

PROJETO DE ARQUITETURA (PARTE 2)

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

Panorama da notação UML

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

INTRODUÇÃO A PROGRAMAÇÃO AVANÇADA PARA WEB E AO HTML. Prof. Msc. Hélio Esperidião

JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB

Sérgio Koch Van-Dall

Capítulo 5 Modelação do Sistema 1

Para descrever os metadados das aplicações, desenvolvemos um método chamado SHDM (Semantic Hypermedia Design Method) [Lima & Schwabe 2002a, 2002b,

PROJETO DE DADOS PROJETO ARQUITETURAL BÁSICO. Projeto de Programas PPR0001

Requisitos de Software e UML Básico. Janaína Horácio

Classes de Projeto. Prof. Anderson Cavalcanti UFRN-CT-DCA

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS

Diagrama de Atividades

Introdução à Informática

Paradigmas de Software

Dreamweaver CC_15x21.indd 1 06/04/ :04:22

Aula 11 Introdução ao Java Script

Padrão para Especificação de Requisitos de Produto de Multimídia

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

As Visões. Visões arquiteturais (revisão)

DESENVOLVIMENTO DE APLICAÇÕES COM JAVA 2EE E UML

Engenharia de Software Orientada a objetos. Prof. Rogério Celestino dos Santos

Capítulo 7. A camada de aplicação

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Programação para Internet

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

MODELAGEM DE PROCESSOS MÓDULO 9

Requisitos de sistemas

Internet - Navegação. Conceitos. 1 Marco Soares

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

INF1404 MODELAGEM DE SISTEMAS

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

UFCD 0793 Scripts CGI e Folhas de Estilo Formadora: Sónia Rodrigues

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Aula 4 POO 1 Análise OO. Profa. Elaine Faria UFU

Transcrição:

S C C 5811 ICMC USP D e s e n v o l v i m e n t o d e A p l i c a ç õ e s W E B Renata Pontin de Mattos Fortes ICMC-USP S.Carlos

T ó p i c o s A World Wide Web Engenharia de Web Papel da Modelagem, Processo e Arquitetura de Aplicações

A W o r l d W i d e W e b Internet Rede formada por outras redes (inter-network) que permite a comunicação entre os computadores interligados ( 60 (surgimento nos anos World Wide Web Serviço da Internet Ferramentas e protocolos para compartilhar informação dos servidores da Internet ( Mosaic ) Primeiros conceitos em 1989; primeiro browser gráfico divulgado em 1993 Tim Berners-Lee criou os primeiros web sites Propósito de divulgação de pesquisa científica ( Location servidor de arquivos baseado em URL (Universal Resource Os documentos eram simplesmente apresentados no browser

A W o r l d W i d e W e b World Wide Web Em 1990, uso comercial da rede ( Protocol Protocolo de transferência: HTTP (Hypertext Transfer Permite a troca de informação entre os clientes e servidores Web padronizando o diálogo É a linguagem de comunicação O servidor Web é também chamado Servidor HTTP ( Multimídia Sistema de Tim Berners-Lee Sistema Hipermídia (Hipertexto + (... formulário Nó unidade de informação (página, frame, Link representa uma associação entre dois nós Âncora link para o próprio documento Web (teia) Interligação entre recursos (navegação)

A W o r l d W i d e W e b Interesse maior: especificação do HTML 2.0 em 1996 Formulários HTML permitiram a criação de aplicações mais interativas botões, caixas de seleção, caixas de texto,...

A W o r l d W i d e W e b Site Web x Aplicação Web Arquitetura de site Web ( clientes ) servidor Web, conexão de rede e browsers Aplicações Web Desenvolvida a partir de um sistema Web para adicionar regras de negócio...uma aplicação Web é um sistema Web que permite ao usuário executar lógica de negócio usando o browser... As entradas de dados e a navegação do usuário afetam o conteúdo do site Arquitetura: Além da arquitetura de site Web, há também um servidor de aplicações

A W o r l d W i d e W e b

E n g e n h a r i a d e W e b ) g ( W e b E n g i n e e r i n Dinamismo Tecnologias de ativação ( servidor (executam no CGI e Java Servlet ASP, PHP, JSP, etc Clientes dinâmicos ( cliente (executam no Javascript, Java Applets, Active Client Pages

E n g e n h a r i a d e W e b ) g ( W e b E n g i n e e r i n Técnicas para desenvolvimento Web Engenharia de Web Web Engineering Processo usado para criar aplicações Web de alta qualidade; Utiliza conceitos e princípios da ES tradicional (... interface Ênfase em atividades técnicas e gerenciais (navegação, Por que Web Engineering é importante? Necessidade de construir sistemas confiáveis, usáveis e adaptáveis.

E n g e n h a r i a d e W e b ( W e b E n g i n e e r i n g ) Quais são os passos? (1)Formulação do problema; (2)Planejamento e análise de requisitos; (3)Projeto arquitetural, navegacional e da interface; (4)Implementação; (5)Testes. Mecanismos para controle de configuração e garantia de qualidade são extremamente necessários.

E n g e n h a r i a d e W e b ( W e b E n g i n e e r i n g ) Como saber se as etapas foram cumpridas corretamente? Aplicar práticas de SQA convencionais: revisão técnica formal, avaliação de usabilidade, funcionalidade, etc. Para evitar websites emaranhados e obter sucesso no desenvolvimento de aplicações web complexas uso de abordagens disciplinadas de Web Engineering e novos métodos e ferramentas de desenvolvimento, disponibilização e avaliação de aplicações

E n g e n h a r i a d e W e b ( W e b E n g i n e e r i n g ) produto Propriedades que diferenciam aplicações web das aplicações de software tradicionais: Uso intensivo da rede aplicações estão (residem) na rede (internet, intranet) e devem servir a diversas comunidades de clientes; Direcionadas a conteúdo uso da hipermídia para apresentar texto, gráfico, áudio e vídeo aos usuários; Evolução contínua aplicações web evoluem muito rapidamente.

E n g e n h a r i a d e W e b ( W e b E n g i n e e r i n g ) Características que direcionam o processo de desenvolvimento: Urgência Prazo curto para desenvolvimento (poucos dias ou semanas). Uso de métodos adaptados ao desenvolvimento rápido; Segurança Medidas severas de segurança têm que ser implementadas; Cuidados estéticos Diretamente relacionados ao sucesso da aplicação web.

E n g e n h a r i a d e W e b ( W e b E n g i n e e r i n g ) Desenvolvimento baseado em componentes: CORBA, COM/DCOM e JavaBeans componentes que comunicam-se uns com os outros e com outros serviços Segurança: medidas de segurança como firewalls e criptografia Padrões Internet: uso intensivo de HTML na última década; crescimento (tamanho e complexidade) das aplicações web novo padrão : XML desenvolvedores definem suas próprias tags.

E n g e n h a r i a d e W e b ( W e b E n g i n e e r i n g ) Manutenção de Aplicações Web Similar à ES, onde 80% dos custos são voltados à manutenção. Web Engineering é o processo de projetar para mudar. Flexibilidade de Aplicações Web fácil de estender e manter. Capacidade de integrar novos requisitos funcionais sem grandes modificações no sistema Layout gráfico e a aparência

M o d e l a g e m, P r o c e s s o e A r q u i t e t u r a O papel da modelagem Entendimento O que se deseja construir, o que está sendo construindo e o que foi construído ( abstração Descrição da realidade (níveis de Mais abstratos: modelos mais longe da realidade e mais simples Menos abstratos: modelos mais próximos da realidade e mais complexos Modelos devem expor o que é importante para o entendimento do sistema Comunicação Divisão do problema em partes menores ( etc Facilidade para explicar o sistema para outras pessoas (usuários, arquitetos, desenvolvedores,

M o d e l a g e m, P r o c e s s o e A r q u i t e t u r a Vantagem do modelo

M o d e l a g e m, P r o c e s s o e A r q u i t e t u r a ( Engineering Ferramentas CASE (Computer Aided Software Geração de código a partir de modelos (model driven) e geração de modelos a partir de código- ( reversa fonte (engenharia Auxilia no processo de desenvolvimento OBS.: o papel da modelagem não é produzir código através da automação ou produzir documentos por meio ( CASE da engenharia reversa (produtos secundários das ferramentas Valor real da modelagem: capacidade de ver uma simplificação do sistema através de um ponto de vista específico por onde o sistema se torna mais fácil de entender. Modelos muito complexos modelagem perde o sentido

M o d e l a g e m, P r o c e s s o e A r q u i t e t u r a processo de desenvolvimento Organizar o desenvolvimento do software: Acelerar o desenvolvimento e melhorar a qualidade Produzir artefatos: mais importante: modelos Depende da empresa, aplicação, equipe, prioridades do projeto, etc... RUP Rational Unified Process

M o d e l a g e m, P r o c e s s o e A r q u i t e t u r a O papel da Arquitetura Influência no processo de desenvolvimento e no produto final Define regras para a construção do software como o software deve ser pensado? Arquitetura da Web - cliente/servidor diferenciado Servidor não controla o cliente / Interação iniciada pelo cliente ( transação ) Baseado no paradigma estímulo / resposta ( complexidade Se esse comportamento não é o esperado, pode-se acrescentar outros recursos à arquitetura ( mais Mais uso, mais experiência, evolução Padrões arquiteturais: Façades, Page Composition, Template Pages, etc Arquiteturas relativamente complexas

A Era do Hipertexto A r q u i t e t u r a s d a W e b ( estáticos ) Transferência de documentos HTML multimídia Browser : apresentador (interpretador) de páginas HTML PC Browser + HTML HTTP Servidor Web ( Server (Web Internet HTTP MAC Browser + HTML HTTP Documentos HTML Cliente Servidor

A r q u i t e t u r a s d a W e b A Era do Hipertexto Comunicação via Protocolo HTTP

A r q u i t e t u r a s d a W e b A Era Interativa Conceito: Aplicação Web No cliente: funcionalidades de interação no navegador Formulários - para construir interfaces de interação com a aplicação (botões, caixas de texto, ( seleção caixas de Scripts (JavaScript) - para controlar eventos sobre os elementos do formulário Programas cliente - Applets Java processamento de dados no cliente No servidor: documentos HTML estáticos + páginas dinâmicas - PHP, ASP, CGI, JSP, Servlet

A r q u i t e t u r a s d a W e b ( web Interação Cliente/Servidor (criação de aplicações Arquitetura 3-Tier (3 camadas) interativa Módulos Acoplados ao servidor Clientes Browser + HTML + Forms e Scripts HTTP Internet HTTP Servidor Web ( Server (Web Documentos HTML PHP CGI ASP Sistema Gerenciador de Base de Dados Cliente Servidor Base de Dados

H T M L d a W e b i n t e r a t i v a <TITLE>Questionario</TITLE> <H1>Exemplo de Questionario</H1> <P>Responda: <FORM METHOD=post ACTION="http://www.icmc.usp.br/exemplo"> <P>Seu nome: <input name="name" size="48"> <P><input name="masc" type=radio> Homem <P><input name="fem" type=radio> Mulher Ordem na familia: <input name="familia" type=int> <P>Cidades em que possui residencia: <UL PLAIN> <LI><input name="cidade" type=checkbox value="spaulo"> S.Paulo <LI><input name="cidade" type=checkbox value="scarlos"> S.Carlos <LI>Others <textarea name="outro" cols=48 rows=4></textarea> </UL> <P>Apelido: <INPUT NAME="apelido" size ="42"> <P>Obrigada por suas respostas! <P><INPUT TYPE=SUBMIT> <INPUT TYPE=RESET> </FORM>

A r q u i t e t u r a s d a W e b Arquitetura N-Tier (n camadas) interativa Clientes Browser + HTML + Forms, Scripts e Applets HTTP Internet HTTP Servidor Web ( Server (Web PHP CGI ASP Servlet/JSP Container JSP Sistema Gerenciador de Base de Dados Base de Dados Documentos HTML Servlet Cliente Servidor Servlet e JSP Engine

A r q u i t e t u r a s d a W e b Servidores de aplicação: Sistemas que fornecem a infraestrutura de serviços para a execução de aplicações distribuídas Permitem a integração das aplicações com infraestrutura já existente (banco de dados, sistemas legados, ) de forma transparente Promovem a separação entre a apresentação, lógica e dados da aplicação: Atualizações da aplicação tornam-se mais fáceis O processamento da aplicação é todo feito no servidor Servidores de aplicação podem ser: Servidores de Web, Servidores de Email, Servidores de base de dados,

A r q u i t e t u r a s d a W e b Separação apresentação, lógica e dados da aplicação Browser Firewall Aplicação Espec. da Apresentação Serviços Lógica da Aplicação Base de Dados Documentos XML Outros Dados

A r q u i t e t u r a s d a W e b Vantagens dos Servidores de Aplicação: maior concentração do desenvolvedor na lógica de negócio (lógica da aplicação) business logic Outras características: Tolerância a falhas Balanceamento de carga ( transação Gerenciamento de transações (integridade da Segurança Persistência Conceitos importantes: objetos distribuídos, componentes, ( Providers J2EE (Java 2 Enterprise Edition) e ASP (Application Service

P a d r ã o d e A r q u i t e t u r a d e a p l i c a ç ã o W e b MVC = Model View Controller

A b o r d a g e n s p a r a M o d e l a g e m W e b Facilitar o entendimento, especificação, documentação, visualização, comunicação e construção de aplicações Web Problema: gap em termos de objetivos ( Web Modelagem de Informação (sites ( Web Modelagem funcional (aplicações ( Method OOHDM (Object Oriented Hypermedia Design método de autoria para sistemas hipermídia Conjunto de modelos (com respectivas notações) e um método de projeto Ênfase para navegação e interface com usuário ( Language WebML (Web Modeling Conjunto de modelos para modelagem de web-sites ( apresentação Pouca preocupação com aspectos funcionais (boa visão estrutural, de composição e navegação, de

A b o r d a g e n s p a r a M o d e l a g e m W e b W2000 Extensão dos modelos UML para modelagem Web Ênfase na modelagem Hipermídia (informação/navegação) e preocupação com modelo funcional Mapeamento do modelo funcional para sistema ainda confuso ( Engineering UWE (UML-based Web Extensão da UML para modelagem Web + ferramenta de suporte (ArgoUWE) com geração semi-automática de código e modelo. Ênfase na modelagem conceitual, navegacional e de apresentação. ( Conallen ) WAE (Web Application Extension) Extensão dos diagramas da UML para aplicações Web Ênfase na modelagem funcional e no mapeamento dos modelos para tecnologias de desenvolviment ( informação/navegação ) Pouca (mas, presente) preocupação com modelagem de informação

A b o r d a g e n s p a r a M o d e l a g e m W e b

M o d e l a g e m c o m U M L Notação: Sintaxe de atributos visibilidade nome : tipo = valor inicial Retângulo ( obrigatório ) - Largura: Integer - Altura: Integer (opcional) visibilidade é um dos seguintes símbolos: + visibilidade pública # visibilidade protegida - visibilidade privada Restrição + area() : Integer (opcional) {area <= 600} Sintaxe de operações visibilidade nome (parâmetros) : tipo de retorno parâmetros é uma lista de parâmetros separados por vírgula e especificados segundo a sintaxe: nome : tipo = valor default

M o d e l a g e m c o m U M L Tipos de relacionamento entre classes Generalização Associação Composição/Agregação Generalização ( superclasse/subclasse ) Caracteriza Herança VeículoAMotor Carro Caminhão

M o d e l a g e m c o m U M L Associação Relação entre ocorrência de classes Conceitual relações conceituais Especificação responsabilidades Implementação composição interna das classes Duas pontas de associação ( relacionamento Multiplicidade (número de objetos que podem participar de um ( mais (opcional- 0 ou 0..1 ( n 1..n (de 1 a ( 1 (exatamente 1 ( mais (muitos- 0 ou 0..* ( mais (1 ou 1..* ( m.m (de n a

M o d e l a g e m c o m U M L Associação com papéis ( papel ) Cada ponta de associação pode ser rotulada Se a ponta não possui papel, o papel é o nome da classe alvo

M o d e l a g e m c o m U M L ( implementação ) Associação com nome e navegabilidade Nome quando o nome ajuda no entendimento Navegabilidade implementação Unidirecional Bidirecional Pessoa 1 dono Posse de cachorro 0..* animal Cachorro Pessoa 1 dono Posse de cachorro 0..* animal Cachorro Pessoa 1 dono Posse de cachorro 0..* animal Cachorro

M o d e l a g e m c o m U M L Classe de associação só existe quando há o relacionamento entre duas classes Pessoa 1 dono animal 0..* Cachorro PosseDeCachorros

M o d e l a g e m c o m U M L Agregação Indica que uma classe é parte-de outra classe Relatório * * Parágrafo Composição Indica que uma classe é composta por outras Objeto composto não existe sem seus componentes Se a classe composta é removida, todos as suas partes também o são Planador fuselagem 1 Cauda 1 A. E. 1 1 A. D. Fuselagem Cauda Asa

M o d e l a g e m c o m U M L Exemplo 1: Conceitual

M o d e l a g e m c o m U M L ( 1 Código (Exemplo public class Pedido { public Date datarecebida; private boolean prepago; private String numero; private String name; private float preco; public LinhaPedido linhaitem[]; public Cliente thecliente; public Pedido(){ } public class Cliente { private String nome; private String endereco; public Pedido thepedido[]; } public Cliente(){ } public String classcredito(){ } public void expedir(){ } } public void encerrar(){ }

M o d e l a g e m c o m U M L Exemplo 2: Especificação/ Implementação

M o d e l a g e m c o m U M L ( 2 Código (Exemplo public class Pedido { public Date datarecebida; private boolean prepago; private String numero; private String name; private float preco; public LinhaPedido linhaitem[]; public Cliente thecliente; public Pedido(){ } public class Cliente { private String nome; private String endereco; } public Cliente(){ } public String classcredito(){ } public void expedir(){ } } public void encerrar(){ }

M o d e l a g e m c o m U M L ( Stereotypes ) Estereótipos Mecanismo de extensão da UML que permite estender o meta-modelo para suprir necessidades que não se encontram entre os meta-elementos disponíveis. Estereótipos podem ser aplicados a qualquer objeto do diagrama (classes, atributos, operações, associações e generalizações, etc). Ex: <<abstract>>, <<metaclass>>, << interface>>

M o d e l a g e m c o m U M L Código das classes estereotipadas public interface ClienteInterface{ } public boolean updateaddress(string address); public abstract class ClienteEspecial{ } public ClienteEspecial(){ } public class ClienteImplementacao extends ClienteEspecial implements ClienteInterface { public ClienteImplementacao(){ } } public boolean updateaddress(string address){ }

M o d e l a g e m c o m U M L Restrições Condições ou proposições que devem ser mantidas verdadeiras É mostrada como uma cadeia entre chaves { } (OCL Object Constraint ( Language Notas Comentário inserido no diagrama

M o d e l a g e m c o m U M L Comportamento do Sistema Diagrama de Interações Relata como grupos de objetos se relacionam (se comportam) dentro de um único caso de uso. Como os objetos colaboram em um caso de uso Diagramas : de Seqüência e de Colaboração Diagrama de Estados Relata o comportamento de um único objeto através de muitos casos de uso Ciclo de vida de um objeto em um caso de uso Diagrama de Atividades Relata o comportamento de vários casos de uso ou trilhas de execução Compreender o comportamento geral do sistema

M o d e l a g e m c o m U M L ( Interação Diagrama de Seqüência (Diagramas de Colaboração entre objetos organizada em um seqüência de tempo Abordagens: Cenários entre ator e sistema ( caixa-preta Mostra a interação do ator com o sistema (como Fase: análise Cenários entre objetos do sistema Mostra a interação entre os vários objetos do sistema para a execução de um caso de uso Fase: projeto Duas dimensões Vertical: representa o tempo Horizontal: representa os diferentes objetos

M o d e l a g e m c o m U M L Exemplo (interação entre objetos):

M o d e l a g e m c o m U M L ( sistema Exemplo (interação entre ator e

M o d e l a g e m c o m U M L Diagrama de colaboração Não mostra o tempo e interação com atores seqüência de mensagens é determinada usando-se números em seqüência e os objetos mostrados como ícones

M o d e l a g e m c o m U M L Diagrama de Estados Representa o ciclo de vida de um objeto ou interfaces com usuário Para uma classe, mostra os estados que um objeto desta classe pode assumir e as transições que ele pode fazer de estado para estado em função de algum evento Útil quando algum objeto apresenta comportamento diferente durante o sistema Evento acontece quando Há recebimento de uma mensagem Uma condição se torna verdadeira ou Há a passagem de um período de tempo designado após um determinado evento.

M o d e l a g e m c o m U M L A sintaxe do rótulo de uma transição é (deve-se ter pelo menos 1 das informações): Exemplo evento [condições] / ação

M o d e l a g e m c o m U M L Diagrama de Estado representando Interface do Usuário Pronto Pronto Campo alterado Abrir janela Botão consultar Botão sair

M o d e l a g e m c o m U M L Diagrama de Atividades Comportamento de uma trilha de execução em particular Variante do diagrama de estados Descreve uma seqüência de atividades com suporte ao comportamento condicional e paralelo Comportamento condicional ( branch ) Desvios ( exclusivos Única entrada e várias saídas (mutuamente ( merges ) Intercalações ( desvio Várias entradas e única saída (fim do Comportamento paralelo ( fork ) Separação ( relevante Única transição de entrada e várias transições de saída (a ordem de execução não é ( join ) Junção Fechamento da separação (próxima atividade só é executada quando todas as atividades separadas terminarem

M o d e l a g e m c o m U M L Exemplo:

M o d e l a g e m c o m U M L ( 2 ) Exemplo

M o d e l a g e m c o m U M L Organização dos artefatos do sistema Pacotes Organização das classes do sistema Há dependência entre pacotes quando há dependência entre as classes que compõem o pacote Nome Nome Componentes Representam os componentes físicos do sistema

B i b l i o g r a f i a e R e f e r ê n c i a s Livros: Conallen, JIM: Desenvolvendo Aplicações Web com UML, 2a ed, Ed. Campus, 2003. Fowler, Martin; Scott, Kendall, UML Essencial, 2a ed, Ed. Bookman, 2000. Page-Jones, Meilir, Fundamentos do Desenho Orientado a Objeto com UML, Ed. Person Education, 2001. Pressman, Roger S: Engenharia de Software, 5a ed., Ed. Makron Books, 2002. Hickson, Rosangela: Projeto de Sistemas Web Orientados a Interface, Ed. Campus, 2003. Agradecimentos Elaine Quintino Silva, por boa parte dos slides

T o D o 1.Construa uma página 'news-by-x' a ser disponibilizada na Web para apresentar notícias de jornais eletrônicos Utilize folha de estilo apropriadamente na página construída, e apresente-se como sendo a pessoa X que indica / recomenda a leitura dessas informações e defina a navegação entre as fontes dos jornais originais. atenção para a definição das informaçõeis sobre as notícias, tais como: título, data de publicação, origem 2.Desenvolva uma aplicação web que permita que os leitores de sua página 'news-by-x' possam adicionar comentários e palavras-chave, via browser, às notícias lidas. Esses adicionais devem ser devidamente identificados e disponibilizados para os posteriores leitores.