Modelagem de Sistemas Web
Aula 4
Aula 4
Ferramentas e metodologias para
projeto de sistemas web
Ferramentas e metodologias para
projeto de sistemas web
projeto de sistemas web
Ferramentas CASE
I t d ã
Introdução
Ferramenta 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 texto
Gerenciamento de configurações Teste de software
C
it
bá i
Conceitos básicos
As ferramentas CASE podem ser:
As ferramentas CASE podem ser:
Horizontais: oferecem serviços utilizados durante todo o processo de
software software
Verticais: utilizadas em fases específicas do processo de software
Também podem ser classificadas de acordo com os serviços que Também podem ser classificadas de acordo com os serviços que
oferecem, dentre as quais, cita-se.
Documentação Documentação
Planejamento e gerenciamento de projetos Especificações formais
Comunicaçãoo u ação
Análise e projeto de software
Projeto e desenvolvimento de interfaces Programaçãog ç
Gerenciamento de Configuração Controle 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 SGBD SGBD. SGBDAd ã d F
t
CASE
Adoção de Ferramentas CASE
O processo de adoção de ferramentas CASE é um
processo crítico dentro de uma empresa Existe um processo 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 d
das empresas em obter aumentos significativos de produtividade.
O IEEE P1348 – Recommended Pratice for the
Adoption of CASE Tools tenta fornecer um conjunto p j
de questões que devem ser analisadas quando da adoção de uma ferramenta CASE, para aumentar as chances 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érios CASE 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;
Critérios de Seleção de uma ferramenta CASE
Critérios Critérios Efi iê i
C fi bilid d U bilid d Eficiência P bilid d G l
Confiabilidade Usabilidade Manutenabilidade Portabilidade Geral
Funcionalidade
Ambiente de Funções Funções
Operação Ambiente de P j t ç Verticais Modelagem ç Horizontais Documentação Projetos Ambiente de HW/SW Modelagem Implementação Documentação Gerenciamento de configuração / Ambiente Tecnológico Teste g ç Gerenciamento de projetos
Ferramentas e metodologias para
projeto de sistemas web
projeto de sistemas web
UML - Unified Modeling Language
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 software
P
ê UML?
Por quê UML?
Automatizar produção de software
Adicionar qualidade e reduzir custos
Gerenciar a complexidade de sistemas quando estes crescem
Gerenciar a complexidade de sistemas quando estes crescem
em escopo e escala
R l bl d it t
Resolver problemas de arquitetura:
Distribuição física Concorrência S Segurança Tolerância a falhas Etc.
B
fí i
Benefícios
Software desenhado e documentado profissionalemente antes de iniciar a codificação.
Controle do software que você tem
Controle 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ção Melhor entendimento por parte de novos integrantes da equipe de codificação
El
t
Bá i
Elementos Básicos
Visões Diferentes aspectos do sistema a ser modelado Diferentes aspectos do sistema a ser modelado
Exemplos: Visão Conceitual, Visão de Classes, Visão Arquitetural…
Modelo de Elementos
Conceitos Usados nos diagramas
Conceitos Usados nos diagramas
Exemplos:Classe, Objeto, Estado, Pacote…
Diagramas
Descrever as Visões (9 diagramas)
Softwares de desenvolvimento UML
Jude Argo MS-Visio
Poseidon, etc. Poseidon, etc.
Di
d C
d U
E
l
Diagrama 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.
Ferramentas e metodologias para
projeto de sistemas web
projeto de sistemas web
XML - ee
XX
tensible
tensible
M
M
arkup
arkup
LL
anguage
anguage
ee
XX
tensible
tensible
M
M
arkup
arkup
LL
anguage
anguage
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.
Características do XML
Características do XML
Simplicidade
Cada um descreve seus dados como os vê, aplicações extraem os dados que interessam aplicações extraem os dados que interessam. XML concentra-se na estrutura da informação XML concentra se na estrutura da informação e não na sua aparência
Si t
Sintaxe
Início
Início ConteúdoConteúdo FimFim
Elemento XML
Exemplos: Exemplos:
<NUM_GUIA>
<NUM_GUIA>1001002888210010028882</NUM_GUIA></NUM_GUIA> VALOR GRERJ
VALOR GRERJ 843 30843 30 /VALOR GRERJ/VALOR GRERJ <VALOR_GRERJ>
<VALOR_GRERJ>843.30843.30</VALOR_GRERJ></VALOR_GRERJ> <DATA_RECOLHIMENTO>
Exemplos TXT | CSV
Exemplos TXT | CSV
23567Paulo Nogueira 03071997236798734567 23567Paulo Nogueira 03071997236798734567 67892Maria Cristina de Almeida 22042001823472936726 45321Fernando Rosa da Silva 0112l962478236486236 74394Carolina dos Santos 22051977999932342399 73827Thadeu Alves 17011956657667465765 78398Ana Cristina Lages 03051989653456345455 95845Flávio da Silva 11111967898549564564
52363Carlos Eduardo Gomes 14081945456575668787 52363Carlos Eduardo Gomes 14081945456575668787 98898Luiz Eduardo Almeida Filho27091977665763453454 87878Maria Eduardo da Silva 05071988336456345645 23567 P l N i 03/07/1997 236798734567
23567;Paulo Nogueira;03/07/1997;236798734567
67892;Maria Cristina de Almeida;22/04/2001;823472936726 45321;Fernando Rosa da Silva;01/12/l962;478236486236 74394;Carolina dos Santos;22/05/1977;999932342399 74394;Carolina dos Santos;22/05/1977;999932342399 73827;Thadeu Alves;17/01/1956;657667465765
78398;Ana Cristina Lages;03/05/1989;653456345455 95845;Flávio da Silva;11/11/1967;898549564564
52363 C l Ed d G 14/08/1945 456575668787 52363;Carlos Eduardo Gomes;14/08/1945;456575668787 98898;Luiz Eduardo Almeida Filho;27/09/1977;665763453454 87878;Maria Eduardo da Silva;05/07/1988;336456345645
Exemplo em XML
Exemplo 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ível
A t
tid
Auto-contida
Portável
Fácil de utilizar
Robusta
Robusta
Legível
Ferramentas e metodologias para
projeto de sistemas web
projeto de sistemas web
SOA
SOA - Service-Oriented Architecture
SOA é uma
arquitetura de software
que
está baseada nos elementos de repositório
está baseada nos elementos de repositório
de serviços, BUS de serviços e
aplicação frontend.
Principais Elementos SOA
SOAServiços (Web Services)
Repositório de
Serviços) Aplicação Frontend Bus de Serviços
Implementação Regras de S i / SLA WS Interface p ç Serviços / SLA-WS Lógica na Instituição Dados
Elemento SOA:
Web Services
Serviços Web são aplicações de
ó i
d l
negócio modulares
Nele é exposta a lógica de negócio em
p
g
g
forma serviços sobre a Internet através de
interfaces programáveis
p g
Utiliza de protocolos de Internet com o
propósito de fornecer meios para buscar
propósito de fornecer meios para buscar,
assinar e acessar esses serviços
Modelo básico operacional dos
Modelo básico operacional dos
Web Services
Serviços Web podem ser conceituados em um
modelo simples operacional que tem um
modelo simples operacional que tem um
pouco em comum com o modelo padrão de
comunicação
comunicação
As operações são concebidas em 3 distintas
regras e relacionamentos que definem os
regras e relacionamentos que definem os
usuários e fornecedores dos serviços:
Service provider
Service provider
Service broker
Service requestor
q
W b S
i
t
l i
Web Services – tecnologias
Se fundamenta basicamente em três tecnologias:
Web Services Description Language (WSDL)
Define a interface de acesso ao serviço
Simple Object Access Protocol (SOAP)
Um protocolo baseado em XML Permite que os
Um 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,
á
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 i
Service 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 provider
p
Entidade de Informação em SOA
Entidade de Informação em SOA