modelagem de sistemas web - aula 4.ppt [modo de ... · verticais: utilizadas em fases específicas...
TRANSCRIPT
Modelagem de Sistemas WebAula 4Aula 4
Ferramentas e metodologias para projeto de sistemas web
Ferramentas e metodologias para projeto de sistemas webprojeto de sistemas web
Ferramentas CASE
Fontes: Sarajane e Marques Peres
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
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
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
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.
ã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;
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
Ferramentas e metodologias para projeto de sistemas webprojeto de sistemas web
UML - Unified Modeling Language
Fontes: Alice e Carlos Rodrigo
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
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.
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
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.
Di d C d U E lDiagrama de Caso de Uso - Exemplo
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
Ferramentas e metodologias para projeto de sistemas webprojeto de sistemas web
XML - eeXXtensibletensible MMarkup arkup LLanguageanguage
Fontes: DGTEC - DESIS - DISJU – SESEJ
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 />
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
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>
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
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>
Vantagens
FlexívelA t tidAuto-contidaPortávelFácil de utilizarRobustaRobustaLegível
Ferramentas e metodologias para projeto de sistemas webprojeto de sistemas web
SOA
Fontes: José Francisco Salm Junior
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.
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
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
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
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.
á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)
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.