Escolar Documentos
Profissional Documentos
Cultura Documentos
DAW4 2
Engenharia de Software
• Enfoque sistemático para o
desenvolvimento, operação, manutenção e
descontinuação do software (IEEE)
• Aplicação prática do conhecimento científico
no projeto e construção de programas e da
documentação requerida para desenvolver,
operar e manter esses programas (Boehm)
• Disciplina que aplica os princípios de
engenharia com o objetivo de produzir
software de alta qualidade a baixo custo
(Bauer) DAW4 3
Objetivo da Engenharia
de Software
• Produzir software de alta qualidade a baixo custo
• Usando Modelos de Processo de Software
– Conjunto de atividades, métodos, técnicas e ferramentas
que garantem que o software seja produzido com alta
qualidade e baixo custo
DAW4 4
Aplicações Web
Atributos da aplicação • Evolução contínua
[Pressman 2001] – ... e rápida (horas?)
• Uso intensivo da rede – Estrutura e funcionalidade
– Internet, intranet e extranet – Informação
– Diversos e diferentes
grupos de usuários
• Direcionadas a conteúdo
– Hipermídia
DAW4 5
Aplicações Web
Atributos do processo • Estética
[Pressman 2001] – Sucesso da aplicação
• Características que
direcionam o
desenvolvimento
• Urgência
– Adaptação dos métodos
• Segurança
– Aplicação e infraestrutura
DAW4 6
Aplicações Web
Atributos de qualidade • ISO/IEC 9126
[Pressman 2001] – Software product
• Usabilidade evaluation – Quality
characteristics and
• Funcionalidade guidelines for their use
• Confiabilidade – Portabilidade
• Eficiência
• Manutenibilidade • Qualidade de Aplicações
Web
[Rocha et al. 2001]
• Base para avaliar a
qualidade de aplicações
Web
DAW4 7
Aplicações Web
Tecnologias [Pressman • Padrões
2001] – W3C
• Desenvolvimento (sopa de letrinhas!)
baseado em – Web Semântica
componentes • http://www.w3.org/
– Construir menos e reusar 2001/sw/
mais – Acessibilidade
– Substituir um componente • http://www.w3.org/
por outro WAI/
– Internacionalização
• Segurança • http://www.w3.org/
– Permitir apenas acesso International/
autorizado
DAW4 8
Engenharia de Web
• A aplicação das práticas • Os princípios, conceitos e
de engenharia no métodos de engenharia
desenvolvimento de
podem ser aplicados ao
Aplicações Web
desenvolvimento de
Aplicações Web?
• Objetivo: produzir
Aplicações Web de alta
qualidade a baixo custo • Por que a Engenharia de
Web é importante?
• Abordagem “ad hoc” para
desenvolvimento de
Aplicações Web
DAW4 9
Engenharia Web
DAW4 10
Engenharia Web
• Multidisciplinaridade
• Mecanismos para gerenciamento de conteúdo
– Dinamicidade de conteúdo
• integração de componentes
• Independência de localização de serviços
• Independência de dispositivos
– Cada vez mais a Web está sendo acessada por dispositivos
móveis
DAW4 11
Principais Atividades
• Definição do problema, motivação, propósitos e audiência
• Planejamento e gerência do projeto - estudo de viabilidade
• Análise e Especificação de Requisitos
• Design
– Estrutura Organizacional (Conceitual)
– Navegação
– Conteúdo
– Interface
– Funcional
• Implementação
• Testes
• Instalação
• Evolução e Suporte (manutenção)
DAW4 12
Projeto e Análise Web
• Verificação antes da codificação
– Requisitos
– Comportamento do sistema
– Analogia:
Projeto Arquitetural X Análise e Projeto de Software
DAW4 13
Design Web
• Estrutura Organizacional (Conceitual)
– Visão global do site (conceitos envolvidos)
• Navegação
– Visão de navegação (comportamental)
• Conteúdo
– Visão e modelagemdas informações
• Interface
– Organização, interação e apresentação
• Funcional
– Arquitetura dos programas, projeto de banco de dados,
plataforma
DAW4 14
Estrutura Organizacional
Qual o objetivo da
organização e como
o site ajuda em sua
realização?
Exemplo: Venda de
produtos on-line
Destaque a
produtos
Facilidade para
acesso a
departamentos
DAW4 15
Navegação
• Como chegar a determinados conteúdos?
– Caminhos percorridos
• Nós e ligações
– Podem ser múltiplos
– Atalhos
DAW4 16
Conteúdo
• O que está acessível?
– Quais informações e serviços constam no site
• Web Writing
– Diretrizes para conteúdos
– Distinções próprias da Web
– Nível de profundidade do conteúdo deve acompanhar a
navegação
No exemplo:
Descrição do
produto com Preço
Imagem ilustrativa
DAW4 17
Design da Interface
• Apresentação
– Determinar os aspectos estéticos e visuais
– Diagramação
– Uso de imagens e ícones
– Escolha das cores, tipo de fontes, plano de fundo, ...
• Interação
– Determinar como os serviços podem ser utilizados
– Menus, cliques, botões e ícones
DAW4 18
Separação da Interface
DAW4 19
Estrutura Funcional
• O que está por traz do funcionamento do site
– Envolvendo tecnologias computacionais
• Servidor e aplicações base
• Rede
• Processamento
• A Web hoje
– Cada vez mais tem disponibilizado aplicações
funcionalmente complexas
– Acesso a grandes bases de dados
– Aplicações robustas que suportam milhões de acessos
DAW4 20
Questões que devem ser
vistas em um projeto Web
• Características próprias do desenvolvimento
Web
– Abrangência
• Usuários dos mais variados perfis
• E de diferentes localizações geográficas
– Colaboração
• Tanto síncrona como assíncrona
– Aplicações cada vez mais complexas
• Principalmente em relação à interação, que deve ser
simples e usável
DAW4 21
Modelagem Web
DAW4 22
Desafios na modelagem
para Web
• Deficiências em relação a suporte ferramental
– Integração com a modelagem
– Transformação entre modelos
– Flexibilidade para adaptação ao modo de trabalho das
organizações
• Dificuldades de modelar
– Interação por eventos
– Gerenciamento de mensagens
– Controle do navegador
• Aplicações cada vez mais complexas
• Muitas diretrizes e padrões para qualidade
– Boas práticas para acessibilidade e usabilidade
DAW4 23
Desafios na modelagem
para Web
• Como apoiar efetivamente o uso de boas práticas nos
projetos?
– Falta de uma ligação direta para a incorporação com
elementos e arquiteturas que as preveem
– Ou mesmo estruturas que indicam como e quando usar
diretrizes
– Algumas boas práticas envolvem subjetividade
• Difícil a realização de inferências computacionais
DAW4 24
Conclusões
DAW4 25
Modelo de processo
• Pressman [2001]
DAW4 26
Modelo de processo
• Lowe & Eklund [2002]
DAW4 27
Levantamento
• Práticas de Resultados
desenvolvimento • Não existe uma
Web e Multimídia abordagem uniforme
na Irlanda
[Barry & Lang 2001]
• Modelos citados na
literatura não são
• 1.000 empresas utilizados
98 respostas válidas
• 100 empresas
Conclusão
(multimídia)
15 respostas válidas • Novas técnicas são
necessárias
DAW4 28
Levantamento
Metodologias
DAW4 29
Levantamento
Desenvolver aplicações multimídia
Intenções
futuras
DAW4 30
Métodos
• HDM – Hypermedia Design Method
• RMM – Relationship Management Methodology
• EORM – Enhanced Object Relationship Methodology
• OOHDM – Object-Oriented Hypermedia Design Method
• SOHDM – Scenario-based Object-oriented Hypermedia Design
Methodology
• WSDM – Web Site Design Method
• RNA – Relationship-Navigational Analysis
• MacWeb Approach
• HFPM – Hypermedia Flexible Process Modeling
• OO/Pattern Approach
• Lowe-Hall’s Engineering Approach
[Koch 1999]
DAW4 31
Fases cobertas pelos
métodos
DAW4 32
Métodos (RE)
• WSDM – Web Site Design Method
• SOHDM – Scenario-based Object-oriented Hypermedia Design
Methodology
• RNA – Relationship-Navigational Analysis
• HFPM – Hypermedia Flexible Process Modeling
• OOHDM – Object-Oriented Hypermedia Design Method
• UWE – UML-based Web Engineering
• W2000 (UML+HDM)
• WebML – Web Modeling Language
• NDT – Navigational Development Techniques
• Design-driven Requirements Elicitation
DAW4 34
Resumo
Pense!
• Porque a Engenharia de • Como alcançar o objetivo
Web é importante? de produzir Aplicações
Web de alta qualidade a
• Os princípios, conceitos e baixo custo?
métodos de engenharia
podem ser aplicados ao
desenvolvimento de
Aplicações Web?
DAW4 35
Referências
• Pressman, R. S. (2001) Software engineering: a practitioner’s
approach, 5th edition, McGraw-Hill
• Rocha, A. R. C., Maldonado, J. C., Weber, K. C. (2001) Qualidade de
Software: Teoria e Prática, Prentice Hall
• Lowe, D. B., Eklund, J. (2002) Client Needs and the Design Process in
Web Projects, Journal of Web Engineering, 1(1)
• Barry, C., Lang, M. A (2001) Survey of Multimedia and Web
Development Techniques and Methodology Usage, IEEE Multimedia
8(2) p. 52-60
• Koch, N. (1999) A Comparative Study of Methods for Hypermedia
Development, LMU Technical Report 9905
• Escalona, M. J., Koch, N. (2004) Requirements Engineering for Web
Applications – A Comparative Study, Journal of Web Engineering, 2(3)
p. 193-212
• Krishnamurthy, S. (2002). Cave or Community? An Empirical
Examination of 100 Mature Open Source Projects. First Monday, 7(6).
DAW4 36
Referências
• Thomas, C. (2003) A Survey of Quality Practices in Open Source
Software and the Linux Kernel. In Proceedings of 2003 Pacific
Northwest Software Quality Conference.
http://developer.osdl.org/craiger/pnsqc2003.pdf
• Reis, C. R. (2003) Caracterização de um Processo de Software para
Projetos de Software Livre. São Carlos, abril de 2003. 195p.
Dissertação (Mestrado). Instituto de Ciências Matemáticas e de
Computação, Universidade de São Paulo.
http://coweb.icmc.usp.br/coweb/mostra.php?ident=59.33.1
• The Bugzilla Team (2005). The Bugzilla Guide - 2.18 Release.
http://www.bugzilla.org/docs/2.18/pdf/Bugzilla-Guide.pdf
• Lohmeyer, J. (2004) Open-Source Bug Tracking with Bugzilla. Linux
Journal. http://www.linuxjournal.com/article/7216
DAW4 37
DAW4 38