modelagem de sistemas web - aula 4.ppt [modo de ... · verticais: utilizadas em fases específicas...

30
Modelagem de Sistemas Web Aula 4 Aula 4 Ferramentas e metodologias para projeto de sistemas web

Upload: vuongkhanh

Post on 09-Nov-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Modelagem de Sistemas WebAula 4Aula 4

Ferramentas e metodologias para projeto de sistemas web

Page 2: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Ferramentas e metodologias para projeto de sistemas webprojeto de sistemas web

Ferramentas CASE

Fontes: Sarajane e Marques Peres

Page 3: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

I t d ãIntroduçãoFerramenta CASE:

CASE: Computer Aided Software Engeneering.

Ferramenta que oferece um conjunto de serviços, fortemente relacionados, para apoiar uma ou mais atividades do processo de desenvolvimento de software.de desenvolvimento de software.

Serviços: ação efetuada pelo computador que é de interesse do desenvolvedor:dese o edo

Simples edições de textoGerenciamento de configuraçõesTeste de softwareVerificações formais

Page 4: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

C it bá iConceitos básicosAs ferramentas CASE podem ser:As ferramentas CASE podem ser:

Horizontais: oferecem serviços utilizados durante todo o processo de softwaresoftwareVerticais: utilizadas em fases específicas do processo de software

Também podem ser classificadas de acordo com os serviços queTambém podem ser classificadas de acordo com os serviços que oferecem, dentre as quais, cita-se.

DocumentaçãoDocumentaçãoPlanejamento e gerenciamento de projetosEspecificações formaisComunicaçãoo u açãoAnálise e projeto de softwareProjeto e desenvolvimento de interfacesProgramaçãog çGerenciamento de ConfiguraçãoControle de Qualidade

Page 5: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Composição básica de uma ferramenta CASE

Interface com o usuário

Usuário

usuário.

Interface de comunicação

Outras ferramentas

comunicação.

Interface com o SGBDSGBD.

SGBD

Page 6: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Ad ã d F t CASEAdoção de Ferramentas CASE

O processo de adoção de ferramentas CASE é um processo crítico dentro de uma empresa Existe umprocesso crítico dentro de uma empresa. Existe um contraste neste processo: um aumento da oferta de ferramentas CASE no mercado contra a dificuldade d b i ifi i ddas empresas em obter aumentos significativos de produtividade.

O IEEE P1348 – Recommended Pratice for the Adoption of CASE Tools tenta fornecer um conjunto p jde questões que devem ser analisadas quando da adoção de uma ferramenta CASE, para aumentar as chances de sucesso em seu usochances de sucesso em seu uso.

Page 7: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

ãAvaliação de Ferramentas CASE

Processo no qual vários aspectos de uma ferramenta CASE são medidos considerando-se critériosCASE são medidos, considerando-se critérios definidos. Os resultados são armazenados para uso posterior.

Passos:

Definir a tarefa de avaliação;Identificar e selecionar critérios de avaliação;Identificar e selecionar critérios de avaliação;Identificar CASE candidatas;Avaliar CASE candidatas;Emitir relatório contendo resultados;

Page 8: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Critérios de Seleção de uma ferramenta CASE

CritériosCritérios

Efi iê iC fi bilid d P bilid d G lU bilid d EficiênciaConfiabilidade Manutenabilidade Portabilidade GeralUsabilidade

Funcionalidade

Ambiente de Funções Funções Operação

Ambiente deP j t

çVerticais

Modelagem

çHorizontais

DocumentaçãoProjetos

Ambiente deHW/SW

Modelagem

Implementação

Documentação

Gerenciamentode configuração/

AmbienteTecnológico Teste

g ç

Gerenciamentode projetos

Page 9: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Ferramentas e metodologias para projeto de sistemas webprojeto de sistemas web

UML - Unified Modeling Language

Fontes: Alice e Carlos Rodrigo

Page 10: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

O é UML?O que é UML?

Idealizada em 1997 para diagramação de design de software

UML é uma linguagem para especificação, visualização, construção e documentação de software

Utilizada para modelagem de software

Visa gerar uma visão intermediária entre o cliente, o analista, o programador e demais envolvidos no desenvolvimento do softwaresoftware

Page 11: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

P ê UML?Por quê UML?

Automatizar produção de software

Adicionar qualidade e reduzir custos

Gerenciar a complexidade de sistemas quando estes crescemGerenciar a complexidade de sistemas quando estes crescem em escopo e escala

R l bl d it tResolver problemas de arquitetura:Distribuição físicaConcorrênciaSSegurançaTolerância a falhasEtc.

Page 12: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

B fí iBenefícios

Software desenhado e documentado profissionalemente antes de iniciar a codificação.

Controle do software que você temControle do software que você tem

Maior facilidade para detectar casos de reutilização de componentes

Menor custo de desenvolvimento

Durante a codificação serão encontrados menos erros

Tomada de decisões antes de iniciar a codificação

Visão geral mais apurada do software

Diminuição no custo de manutenção, uma vez que é mais fácil entender os diagramas UML do que códigos de programas

Melhor entendimento por parte de novos integrantes da equipe de codificaçãoMelhor entendimento por parte de novos integrantes da equipe de codificação

Page 13: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

El t Bá iElementos Básicos

VisõesDiferentes aspectos do sistema a ser modeladoDiferentes aspectos do sistema a ser modeladoExemplos: Visão Conceitual, Visão de Classes, Visão Arquitetural…

Modelo de ElementosConceitos Usados nos diagramasConceitos Usados nos diagramasExemplos:Classe, Objeto, Estado, Pacote…

DiagramasDescrever as Visões (9 diagramas)

Softwares de desenvolvimento UMLJudeArgoMS-VisioPoseidon, etc.Poseidon, etc.

Page 14: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Di d C d U E lDiagrama de Caso de Uso - Exemplo

Page 15: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Diagrama de Classe - Exemplo

Diagrama de classes para representar a relação entre: Meio de transporte, Carro, Barco e Avião.e t e e o de t a spo te, Ca o, a co e ão

Page 16: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Ferramentas e metodologias para projeto de sistemas webprojeto de sistemas web

XML - eeXXtensibletensible MMarkup arkup LLanguageanguage

Fontes: DGTEC - DESIS - DISJU – SESEJ

Page 17: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

eeXXtensibletensible MMarkup arkup LLanguageanguage

XML é uma linguagem de marcação, semelhante ao HTML

Linguagens de marcação permitem criar documentos consistindo de texto ou outras entidades, mais códigos de marcação que definem a estrutura, aparência e outros aspectos do dado.

17 <xml:introdução />

Page 18: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Características do XMLCaracterísticas do XML

Simplicidade

Cada um descreve seus dados como os vê, aplicações extraem os dados que interessamaplicações extraem os dados que interessam.

XML concentra-se na estrutura da informaçãoXML concentra se na estrutura da informaçãoe não na sua aparência

Integra dado e metadado

Page 19: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Si tSintaxe

InícioInício ConteúdoConteúdo FimFim

Elemento XML

Exemplos:Exemplos:

<NUM_GUIA><NUM_GUIA>1001002888210010028882</NUM_GUIA></NUM_GUIA>VALOR GRERJVALOR GRERJ 843 30843 30 /VALOR GRERJ/VALOR GRERJ<VALOR_GRERJ><VALOR_GRERJ>843.30843.30</VALOR_GRERJ></VALOR_GRERJ>

<DATA_RECOLHIMENTO><DATA_RECOLHIMENTO>26/02/200626/02/2006</DATA_RECOLHIMENTO></DATA_RECOLHIMENTO>

Page 20: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Exemplos TXT | CSVExemplos TXT | CSV

23567Paulo Nogueira 0307199723679873456723567Paulo Nogueira 0307199723679873456767892Maria Cristina de Almeida 2204200182347293672645321Fernando Rosa da Silva 0112l96247823648623674394Carolina dos Santos 2205197799993234239973827Thadeu Alves 1701195665766746576578398Ana Cristina Lages 0305198965345634545595845Flávio da Silva 1111196789854956456452363Carlos Eduardo Gomes 1408194545657566878752363Carlos Eduardo Gomes 1408194545657566878798898Luiz Eduardo Almeida Filho2709197766576345345487878Maria Eduardo da Silva 05071988336456345645

23567 P l N i 03/07/1997 23679873456723567;Paulo Nogueira;03/07/1997;23679873456767892;Maria Cristina de Almeida;22/04/2001;82347293672645321;Fernando Rosa da Silva;01/12/l962;47823648623674394;Carolina dos Santos;22/05/1977;99993234239974394;Carolina dos Santos;22/05/1977;99993234239973827;Thadeu Alves;17/01/1956;65766746576578398;Ana Cristina Lages;03/05/1989;65345634545595845;Flávio da Silva;11/11/1967;89854956456452363 C l Ed d G 14/08/1945 45657566878752363;Carlos Eduardo Gomes;14/08/1945;45657566878798898;Luiz Eduardo Almeida Filho;27/09/1977;66576345345487878;Maria Eduardo da Silva;05/07/1988;336456345645

Page 21: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Exemplo em XMLExemplo em XML<?xml version="1.0"?><EMPRESA_XPTO>

<FUNCIONARIO><FUNCIONARIO><MATRICULA>23567</MATRICULA><NOME>Paulo Nogueira</NOME><DATA_ADMISSAO>03/07/1997</DATA_ADMISSAO><CPF>236798734567</CPF>

</FUNCIONARIO><FUNCIONARIO>

<MATRICULA>67892</MATRICULA><NOME>Maria Cristina de Almeida</NOME><DATA ADMISSAO>22/04/2001</DATA ADMISSAO><DATA_ADMISSAO>22/04/2001</DATA_ADMISSAO><CPF>823472936726</CPF>

</FUNCIONARIO><FUNCIONARIO>

<MATRICULA>45321</MATRICULA><MATRICULA>45321</MATRICULA><NOME>Fernando Rosa da Silva</NOME><DATA_ADMISSAO>01/12/1962</DATA_ADMISSAO><CPF>478236486236</CPF>

</FUNCIONARIO></EMPRESA_XPTO>

Page 22: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Vantagens

FlexívelA t tidAuto-contidaPortávelFácil de utilizarRobustaRobustaLegível

Page 23: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Ferramentas e metodologias para projeto de sistemas webprojeto de sistemas web

SOA

Fontes: José Francisco Salm Junior

Page 24: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

SOA - Service-Oriented Architecture

SOA é uma arquitetura de software que está baseada nos elementos de repositórioestá baseada nos elementos de repositório

de serviços, BUS de serviços e aplicação frontend.

Page 25: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Principais Elementos SOA

SOA

Serviços (Web Services)

Repositório de Serviços) Aplicação Frontend Bus de Serviços

Implementação Regras de S i / SLA WS Interfacep ç Serviços / SLA-WS

Lógica na Instituição

Dados

Page 26: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Elemento SOA: Web Services

Serviços Web são aplicações de ó i d lnegócio modulares

Nele é exposta a lógica de negócio emp g gforma serviços sobre a Internet através deinterfaces programáveisp gUtiliza de protocolos de Internet com opropósito de fornecer meios para buscarpropósito de fornecer meios para buscar,assinar e acessar esses serviços

Page 27: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Modelo básico operacional dosModelo básico operacional dos Web Services

Serviços Web podem ser conceituados em ummodelo simples operacional que tem ummodelo simples operacional que tem umpouco em comum com o modelo padrão decomunicaçãocomunicaçãoAs operações são concebidas em 3 distintasregras e relacionamentos que definem osregras e relacionamentos que definem osusuários e fornecedores dos serviços:

Service providerService providerService brokerService requestorq

Page 28: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

W b S i t l iWeb Services – tecnologias

Se fundamenta basicamente em três tecnologias:Web Services Description Language (WSDL)

Define a interface de acesso ao serviçoSimple Object Access Protocol (SOAP)

Um protocolo baseado em XML Permite que osUm protocolo baseado em XML. Permite que os clientes se comuniquem com os provedores de serviço.

Universal Description Discovery and Integration (UDDI)Universal Description, Discovery and Integration (UDDI)Permite Web services registrarem suas características, permitindo que outras aplicações as encontrem.

Page 29: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

áModelo básico operacional

Service provider: Desenvolvedor e publicador dos serviços (interage com o service broker); S i b k R á l i t d b i iService broker: Responsável por registrar e descobrir os serviços na Web. Ele lista os vários tipos de serviços, descrições e locais do serviços que auxiliam o solicitante dos serviços (service requestor) a encontrar e acessar os serviços requiridos;acessar os serviços requiridos;Service requestor: Usuário dos serviços. Ele localiza o serviço usando o service broker, invoca o serviço requerido e executa ele do service providerp

Developing Java Web Services. Nagappan, et al (2004)

Page 30: Modelagem de sistemas Web - Aula 4.ppt [Modo de ... · Verticais: utilizadas em fases específicas do processo de software ... Gerenciar a complexidade de sistemas quando estes crescemGerenciar

Entidade de Informação em SOAEntidade de Informação em SOA“No coração de um Web services está umNo coração de um Web services está um problema complexo: com uma aplicação distribuída trata a necessidade dedistribuída trata a necessidade de compartilhamento de dados”

Identificação e equivalênciaAutenticaçãoAutenticaçãoAutorização e privacidademediaçãomediaçãosincronização

fonte: The Dataweb: An Introduction to XDI, Drummond Reed et al.