150 likes | 314 Views
Arquitetura de Aplicações Web. Disciplina: Engenharia de Software I Professora: Eliane Martins. Amanda Meincke Melo melo@ic.unicamp.br RA: 007250. Roteiro. Visão Geral Sistemas e Aplicações Baseados na Web O Processo de Engenharia para Web Projeto Arquitetural Estudo de Caso Conclusão
E N D
Arquitetura de Aplicações Web Disciplina: Engenharia de Software I Professora: Eliane Martins Amanda Meincke Melo melo@ic.unicamp.br RA: 007250
Roteiro • Visão Geral • Sistemas e Aplicações Baseados na Web • O Processo de Engenharia para Web • Projeto Arquitetural • Estudo de Caso • Conclusão • Referências Engenharia de Software I - Arquitetura de Aplicações WEB
WebApps Sistemas e Aplicações Baseados na Web “Inclui uma mistura entre imprensa e desenvolvimento de software, entre mercado e computação, entre comunicações internas e relações externas, e entre arte e tecnologia.” Thomas Powell Engenharia de Software I - Arquitetura de Aplicações WEB
Sistemas e Aplicações Baseados na Web • Exemplos: • Web sites completos; • Funcionalidades especializadas dentro de Web sites; • Aplicações de processamento de informação (em: Internet, Intranet ou Extranet); Engenharia de Software I - Arquitetura de Aplicações WEB
Sistemas e Aplicações Baseados na Web • Atributos comuns à maioria das WebApps: • Baseadas em rede; • Direcionadas a conteúdo; • Evolução contínua. Influem na maneira como a Engenharia para Web é conduzida Engenharia de Software I - Arquitetura de Aplicações WEB
O Processo de Engenharia para Web Dica: considerar as restrições impostas pelas características das diferentes WebApps Formulação do Problema Análise de Requisitos Revisão de modelos de análise e projeto Revisão especializada de usabilidade Planejamento do Projeto Arquitetura da Informação + Projeto da Interação Projeto Arquitetural Projeto Navegacional Projeto de Interface Implementação do Sistema Testes (conteúdo, funcionalidade e compatibilidade) Engenharia de Software I - Arquitetura de Aplicações WEB
Projeto Arquitetural Decomposição OO Requisitos funcionais: diagramas de classes, templates de classes Decomposição em Subsistemas Módulos, Subsistemas, Camadas Orientada a Dados Modelo E-R Visão Lógica Visão de Desenvolvimento Cenários Visão de Processo Visão Física Decomposição de Processo Requisitos não-funcionais: diagramas de componentes (UML) Mapeamento do Sw para o Hw Requisitos não-funcionais (Kruchten, 1995) Engenharia de Software I - Arquitetura de Aplicações WEB
Visão de Desenvolvimento • Estilo Arquitetural: Camadas • Aspecto Coberto: Decomposição Modular • Sintaxe: • Especificidades: • cada camada deve ter responsabilidades bem definidas; • as interfaces entre as camadas devem ser bem projetadas; • subsistemas dependem apenas de subsistemas de um mesmo nível ou de nível inferior. Engenharia de Software I - Arquitetura de Aplicações WEB
Visão de Desenvolvimento Através da Interface Web, é possível: - Visualizar interior dos elevadores; - Visualizar acesso aos elevadores; - Verificar localização dos elevadores; - Operar controle central. • Estudo de Caso Interface Web Homem-Computador Botões Andar Botões Elevador Aplicação Web Lógica de Negócios da Aplicação Web Controle Central Acesso à Dados Base de Dados Controle Central Física Base de Dados Fonte: Arquitetura em Camadas (Sílvia e Camila) Física Engenharia de Software I - Arquitetura de Aplicações WEB
Visão Física • Aspecto Coberto: Estrutura • Notação: Diagrama de deployment (UML) • Sintaxe Utilizada: • Ferramenta: UMLStudio 6.2 Engenharia de Software I - Arquitetura de Aplicações WEB
Estudo de Caso: Visão Física Engenharia de Software I - Arquitetura de Aplicações WEB
Conclusão • Complexidade do projeto varia de acordo com o tipo de aplicação; • O projeto de interface e da navegabilidade contam com métodos próprios; • Mais de uma visão são necessárias para expressar a arquitetura da aplicação; • Diferentes estilos arquiteturais podem ser adotados nas diferentes visões; • Os modelos apresentados são adequados para o problema apresentado (o estudo de caso proposto foi adaptado): • Aplicação Web (cliente-servidor); Engenharia de Software I - Arquitetura de Aplicações WEB
Conclusão • A documentação de diferentes visões (abstrações) do sistema possibilita a reflexão, em tempo de projeto, sobre as soluções propostas para atender os diferentes requisitos do sistema computacional em desenvolvimento, sejam eles funcionais, sejam não funcionais; • A identificação das diferentes facetas do sistema (e sua documentação) permite a atribuição de tarefas bem definidas a diferentes equipes na fase de implementação do sistema. Engenharia de Software I - Arquitetura de Aplicações WEB
Referências Booch, G. (2001). “The architecture of Web applications”. [online]: http://www-106.ibm.com/developerworks/library/it-booch_web/? dwzone=ibm Conallen, Jim. (1998). “Modeling Web Application Design with UML.” [online]: http://www.rational.com/products/whitepapers/100462.jsp Garrett, J. J. (2002). “A visual vocabulary for describing information architecture and interaction design”. [online]: http://www.jjg.net/ ia/visvocab/ Kruchten, P. (1995). “Architectural Blueprints - The “4+1” View”. Paper published in IEEE Software 12 (6) November 1995, pp. 42-50. Pressaman, R. S. (2001). “Software Engineering - A practioner’s approach. 5th edition, McGraw-Hill, 860p. Schwabe, D.; Rossi, G. (1998). “An Object Oriented Approach to Web-Based Application Design”, Theory and Practice of Object Systems 4(4), 1998. Wiley and Sons, New York, ISSN 1074-3224). [online]: http://www.inf.puc-rio.br/~schwabe/papers/TAPOSRevised.pdf Engenharia de Software I - Arquitetura de Aplicações WEB