building web solutions with the rational unified process:unifying the creative design process and...

40
the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software & Context Integration white paper

Upload: internet

Post on 18-Apr-2015

114 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Building Web Solutions with the Rational Unified Process:Unifying the

Creative Design Process and the Software Engineering

Process

A Rational Software & Context Integration white paper

Page 2: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Construindo Soluções Web Com o RUP

Unificando o processo de desenho criativo e o processo de engenharia de software

Adolfo Americano BrandãoFábio Morais GiordanoRenato César

Page 3: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

“Nova” geração de software

E-commerce

OLTP

Supply chain integration

Conteúdo dinâmico e personalizado

Page 4: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Arquiteturas Multi-camadas Flexíveis Robustas Escaláveis Volumes imprevisíveis de carga Tudo afeta a usabilidade

= WEB SOLUTION

Page 5: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Web Solution Look and feel crítico

Grande diversidade de interessados: Marketing e atendimento ao cliente Diretores de arte, designers gráficos Executivos Arquitetos e programadores Usuários

Page 6: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Mercado de aplicações Web Altamente competitivo Menores prazos para entrega Em muitos casos o que está sendo criado

é uma forma de mídia, como um DVD O consumidor navega pelo produto

fazendo um test drive e compra se gostar, tomando esta decisão na hora

=> O desenho da interface é uma das chaves para o sucesso da aplicação Web

Page 7: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Unificando os processos

É essencial integrar o processo de desenho criativo e o processo de engenharia de software.

Page 8: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Engenharia de software X desenho criativo

Diferem em processos Diferem em habilidades Diferem em culturas

Divergências podem causar sérios prejuízos

Integração é vital

Page 9: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Casos de Uso

Língua franca que todos os participantes utilizam para entender, descrever e comunicar o projeto

Especificação unificada

Page 10: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Figura 1: Unificando o Processo de Desenho Criativo e o Processo de Engenharia de Software

Page 11: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Requisitos

Aplicações Web envolvem mais participantes que o desenvolvimento tradicional

=> A comunicação é crítica e deve ser beneficiada pelo processo!

Page 12: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Visão Deve ser definida com a participação e

aprovação de todos e define:

Os problemas a seres solucionados Os limites do sistema As funções mais importantes do sistema

Page 13: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Usuários e Serviços do Sistema Após concluída a Visão, são feitos

workshops para identificação de usuários e serviços do sistema

Modelagem através de atores e casos de uso: Facilita ao usuário final

a articulação de serviços Facilita à equipe de desenvolvimento

A validação do atendimento dos requisitos de forma completa e precisa

Page 14: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Re-uso de Casos de Uso Em aplicações Web é muito comum a re-

incidência dos mesmos casos de uso, como em aplicações de e-commerce

Aplicação de padrões também para casos de uso, como os padrões de análise e de desenho

O re-uso de casos de uso é essencial para atender os prazos do mercado web!

Page 15: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Especificação Suplementar Captura e documenta requisitos não-funcionais

em paralelo ao desenvolvimento dos casos de uso: Usabilidade, Disponibilidade, Performance, Segurança,

Hospedagem, Manutenibilidade

Glossário: Captura e documenta a terminologia comum necessária ao projeto

O glossário garante que todos os participantes do projeto tenham a mesma visão do significado de conceitos importantes.

Page 16: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Brief do Desenho Criativo Aplicações Web requerem maior foco no

desenho criativo da interface de usuário

Em paralelo à modelagem de casos de uso, diretivas de interface de usuário são criadas

As diretivas, ou guidelines, são conhecidas como Creative Design Brief

Page 17: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Brief do Desenho Criativo O humor do site (e.g., autoridade, entretenimento

ou serviços? conservador ou ousado?) Velocidade de conexão dos usuários Navegador a ser utilizado Uso de frames ou não Limitações de cores Guia de padrões gráficos (e.g., logo do cliente) Adornos (e.g., mouse-overs, aminação,

multimedia, etc)

Page 18: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Mapa de Navegação Também conhecido como “mapa do site”

Opção pelo termo “mapa de navegação” por ser mais objetivo

Representação hierárquica em diagrama de árvore

Cada nível mostra a quantidade de clicks necessária para se chegar a ele

Geralmente as áreas mais importantes estão a um click da página principal ou “home page”.

Page 19: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Mapa de Navegação Importante artefato de comunicação entre

os representantes do cliente e a equipe de desenvolvimento

Facilita ao usuário final a visualização da navegação

Facilita à equipe de desenvolvimento O entendimento do esquema de navegação

Page 20: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Mapa de Navegação Tem início pela identificação das janelas ou

páginas principais de cada caso de uso, em nível alto de abstração, pois neste momento não se sabe quais serão as páginas.

Identifica-se páginas lógicas

É uma variação da técnica de criação de storyboards, descrita na atividade Model the User Interface, do RUP

Page 21: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Mapa de Navegação As páginas lógicas identificadas podem ser divididas ou

mescladas com outras, à medida do desenvolvimento da interface.

Páginas lógicas são representadas na UML como classes de fronteira <<boundary class>>.

Adiante no desenvolvimento, páginas HTML e outros elementos visuais são representados como componentes.

A cada página lógica identificada, também são descritas as informações que elas transportam.

Page 22: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Figura 2: Exemplo de um Mapa de NavegaçãoCompleto de um Web Site

Page 23: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Figura 3: Exemplo de Mapa de Navegação Específico para um Ator

Page 24: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Opções de Desenho Criativo Um número de opções de design gráfico,

originalmente chamados de Creative Design Comps

Imagens estáticas

Adiam o custoso processo de criação de protótipos HTML, até que haja consenso na direção gráfica específica do site

O fato de serem apenas imagens também evita o mal entendido de que o protótipo já esteja completo

Page 25: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Opções de Desenho Criativo Extensão da atividade Prototype the

User Interface, do RUP

Para o caso de uso mais importante, são produzidas no mínimo 10 opções de design para o look and feel (LAF)

Apenas 3 são selecionadas e apresentadas aos usuários

Page 26: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Opções de Desenho Criativo Permitem a produção de feedback dos usuários

Geralmente consomem 3 iterações

Constituem um processo criativo e iterativo

Produzem um consenso com relação ao aspecto visual do produto

Evoluem para um protótipo funcional de interface de usuário.

Page 27: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Elementos do Desenho Web Conjunto consistente de imagens gráficas

padronizadas apresentadas nas páginas do site

Sua produção deve ser iniciada juntamente com as diretivas de interface (Creative Design Brief) precocemente no projeto

Devem garantir a consistência da experiência do usuário

Page 28: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Elementos do Desenho Web Benefícios:

Consistência Redução de prazo Redução do custo de desenvolvimento Maior qualidade

Entrega de um conjunto menor de componentes de maior qualidade.

Page 29: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Elementos do Desenho Web Os Elementos do Desenho Web são criados com

o protótipo inicial da interface de usuário

As Opções de Desenho servem de insumo para a criação inicial dos Elementos do Desenho Web

À medida em que o protótipo é aprovado, os elementos são finalizados e aprovados

A identificação dos componentes de interface no RUP é feita em Workflow Detail: Design Components

Page 30: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Protótipo Inicial da Interface Web Originalmente chamado de Initial Web UI Prototype

O visual do protótipo é baseado na Opção do Desenho Criativo

Prototipa-se apenas os casos de uso mais importantes e representativos

Gera melhoria na comunicação do projeto tanto sobre o aspecto criativo quanto sobre o aspecto funcional

Garante feedback dos usuários antes que maiores investimentos sejam feitos

No RUP é feito na atividade Prototype the User Interface, utilizando os Elementos do Desenho Web

Page 31: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Diretivas da Interface de Usuário Originalmente chamadas de UI Guidelines

São desenvolvidas a partir do protótipo inicial completo

Orientam o desenvolvimento da interface

Aplicação dos Elementos do Desenho Web, esquemas de cores, fontes, folhas de estilo, posicionamento de elementos, etc.

No RUP são desenvolvidas na atividade Develop User Interface Guidelines

Page 32: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Protótipo Integral da Interface Web Originalmente chamado de Full Web UI Prototype

Criado a partir do Protótipo Inicial da Interface Web

Apresenta navegação completa entre as telas e o comportamento dos elementos gráficos

Sofre refinamentos contínuos durante as iterações de construção

Deve produzir um consenso com relação ao escopo e à natureza de cada página entre os interessados

É baseado na diretiva do RUP Use-Case Storyboard

Page 33: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Mapa de Navegação Completo Criado após concluído o Protótipo Integral

da Interface Web

Baseado no Mapa de Navegação e nos detalhamentos dos casos de uso

Deve incluir todas as páginas e telas conhecidas e identificadas no Protótipo Integral da Interface Web

Page 34: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

6 Melhores Práticas de Desenvolvimento favorecidas pelo RUP e seu relacionamento com aplicações Web

Page 35: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Melhores práticas Desenvolvimento iterativo: Descoberta,

criação e implementação contínua; Mitigação de riscos; Associação direta com aplicações Web devido ao seus curtos e rápidos ciclos.

Gerência de requisitos: Elucidar, organizar, comunicar e gerenciar mudanças nos requisitos; Aplicações Web estão sujeitas a tendências de mercado.

Page 36: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Melhores práticas Arquiteturas de componentes: Estruturas e

padrões de integração e interação de componentes; Aplicações Web são essencialmente extensíveis, escalares e devem se adaptar facilmente a componentes de terceiros.

Modelos visuais: Elucidam o problema e a solução em termos de uma simplificação da realidade; Sistemas Web são de natureza complexa. A notação UML oferece mecanismos para expressar arquitetura e desenho de aplicações Web.

Page 37: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Melhores práticas Garantia da qualidade: De processo e de

produto; Aplicações Web são tipicamente para exposição pública; Falhas podem ser fatais; Testes precoces, constantes e automatizados são cruciais.

Gerência de Configurações: Sistemas Web são compostos por objetos que podem ser criados e modificados por muitas pessoas, mesmo paralelamente; Múltiplos releases de um produto podem ocorrer simultâneamente; Requer-se, assim, uma gerência rigorosa de configurações e mudanças durante o desenvolvimento do ciclo de vida do produto.

Page 38: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Conclusão

O RUP é uma boa fundação para o desenvolvimento de aplicações Web. Através da sua integração com o processo de desenho criativo e aplicando corretamente o processo, é possível fabricar soluções Web de uma maneira efetiva e predizível.

Page 39: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

Referência Bibliográfica

1 S. Ward and P. Kroll, "Building Web Solutions with the Rational Unified Process: Unifying the Creative Design Process and the Software Engineering Process, “www.rational.com/products/whitepapers/101057.jsp” (current 2 Jan. 2001).

Page 40: Building Web Solutions with the Rational Unified Process:Unifying the Creative Design Process and the Software Engineering Process A Rational Software

FIM