Modelagem de Sistemas Web Aula 4 Ferramentas e metodologias para projeto de sistemas web
Ferramentas e metodologias para projeto de sistemas web Ferramentas CASE Fontes: Sarajane e Marques Peres
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. Serviços: ação efetuada pelo computador que é de interesse do desenvolvedor: edo Simples edições de texto Gerenciamento de configurações Teste de software Verificações formais
Conceitos básicos As ferramentas CASE podem ser: Horizontais: oferecem serviços utilizados durante todo o processo de software Verticais: utilizadas em fases específicas do processo de software Também podem ser classificadas de acordo com os serviços que oferecem, dentre as quais, cita-se. Documentação Planejamento e gerenciamento de projetos Especificações formais Comunicação Análise e projeto de software Projeto e desenvolvimento de interfaces Programação Gerenciamento de Configuração Controle de Qualidade
Composição básica de uma ferramenta CASE Outras ferramentas Interface com o usuário. Interface de comunicação. Usuário Interface com o SGBD. SGBD
Adoção de Ferramentas CASE O processo de adoção de ferramentas CASE é 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 das empresas em obter aumentos significativos ifi i de produtividade. O IEEE P1348 Recommended Pratice for the Adoption of CASE Tools tenta fornecer um conjunto 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 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 CASE candidatas; Avaliar CASE candidatas; Emitir relatório contendo resultados;
Critérios de Seleção de uma ferramenta CASE Critérios Confiabilidade d Usabilidade d Eficiência iê i Manutenabilidade Portabilidade d Geral Funcionalidade Ambiente de Funções Funções Operação Verticais Horizontais Ambiente de Projetos Modelagem Documentação Ambiente de HW/SW Implementação Gerenciamento de configuração Ambiente Tecnológico Teste Gerenciamento de projetos
Ferramentas e metodologias para projeto de sistemas web UML - Unified Modeling Language Fontes: Alice e Carlos Rodrigo
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
Por quê UML? Automatizar produção de software Adicionar qualidade e reduzir custos Gerenciar a complexidade de sistemas quando estes crescem em escopo e escala Resolver problemas de arquitetura: t Distribuição física Concorrência Segurança Tolerância a falhas Etc.
Benefícios Software desenhado e documentado profissionalemente antes de iniciar a codificação. 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
Elementos Básicos Visões 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 Exemplos:Classe, Objeto, Estado, Pacote Diagramas Descrever as Visões (9 diagramas) Softwares de desenvolvimento UML Jude Argo MS-Visio Poseidon, etc.
Diagrama de Caso de Uso - Exemplo
Diagrama de Classe - Exemplo Diagrama de classes para representar a relação entre: e Meio eo de transporte, te, Carro, Barco e Avião.
Ferramentas e metodologias para projeto de sistemas web XML - extensible Markup Language Fontes: DGTEC - DESIS - DISJU SESEJ
extensible Markup Language 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 XML Simplicidade Cada um descreve seus dados como os vê, aplicações extraem os dados que interessam. XML concentra-se na estrutura da informação e não na sua aparência Integra dado e metadado
Sintaxe Início Conteúdo Fim Elemento XML Exemplos: <NUM_GUIA>10010028882</NUM_GUIA> <VALOR_GRERJ>843.30 843.30</VALOR_GRERJ> 30 <DATA_RECOLHIMENTO>26/02/2006</DATA_RECOLHIMENTO>
Exemplos TXT CSV 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 98898Luiz Eduardo Almeida Filho27091977665763453454 87878Maria Eduardo da Silva 05071988336456345645 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 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;Carlos Eduardo d Gomes;14/08/1945;456575668787 456575668787 98898;Luiz Eduardo Almeida Filho;27/09/1977;665763453454 87878;Maria Eduardo da Silva;05/07/1988;336456345645
Exemplo em XML <?xml version="1.0"?> <EMPRESA_XPTO> <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> ADMISSAO>22/04/2001</DATA ADMISSAO> <CPF>823472936726</CPF> </FUNCIONARIO> <FUNCIONARIO> <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 Auto-contida tid Portável Fácil de utilizar Robusta Legível
Ferramentas e metodologias para projeto 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ó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 Serviços / SLA-WS Interface Lógica na Instituição Dados
Elemento SOA: Web Services Serviços Web são aplicações de negócio modulares Nele é exposta a lógica de negócio em forma serviços sobre a Internet através de interfaces programáveis Utiliza de protocolos de Internet com o propósito de fornecer meios para buscar, assinar e acessar esses serviços
Modelo básico operacional dos Web Services Serviços Web podem ser conceituados em um modelo simples operacional que tem um pouco em comum com o modelo padrão de comunicação As operações são concebidas em 3 distintas regras e relacionamentos que definem os usuários e fornecedores dos serviços: Service provider Service broker Service requestor
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 clientes se comuniquem com os provedores de serviço. 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); 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; 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 Developing Java Web Services. Nagappan, et al (2004)
Entidade de Informação em SOA No coração de um Web services está um problema complexo: com uma aplicação distribuída trata a necessidade de compartilhamento de dados Identificação e equivalência Autenticação Autorização e privacidade mediação sincronização fonte: The Dataweb: An Introduction to XDI, Drummond Reed et al.