Você está na página 1de 7

Engenharia de Sistemas de Informao Profs.

Jos Carlos Maldonado e Elisa Yumi Nakagawa 2o semestre de 2002

WebApps so diferentes de muitos sistemas de software tradicionais. Mas por qu? WebApps envolvem uma mistura de desenvolvimento de sistema e publicao, de marketing e computao, de comunicao interna e relao externa, de arte e tecnologia.

Atributos da maioria dos WebApps:


3. Evoluo contnua: diferente dos sistemas de softwares tradicionais que evoluem dirigida por planos bem estabelecidos, os WebApps evoluem continuamente. usual para vrios WebApps (especialmente, seu contedo) ser atualizados a cada hora.

u t s d p R V i d P R d f R d c Pa ` X V T R P H WI#r WqWWWhhhIgeWb0R IYWUSQIG F v u u t s r p n lg k ihg hhWq o mhWj bf v u u t s r r v |x { zyx hhWq } mhWs bt


Lowe faz uma analogia dos WebApps com jardins, pois estes encontram-se sempre em evoluo, mudana e crescimento. H a necessidade de uma boa arquitetura de modo que possam crescer de maneira consistente e controlada.

v v w

E D 4 @ 5 9 7 4 6 5 4 C BA##83 & 2 1 )' % " 0(& #$ #!        d I SWWhehYhQ IY qhIy x v u u t s r r v |x { zyx hWhWq W} WmQWs bbt w e e

Sistemas Baseados na Web (Web-based Systems) so tambm chamados aplicaes Web (Web Applications), ou simplesmente WebApps. Exemplos de WebApps:
Sistemas de e-commerce Home banking
2

Atributos da maioria dos WebApps:


1. Intensivamente conectado por uma rede:

Webapps residem em uma rede: Internet, intranet ou extranet; 2. Dirigido ao contedo: em muitos casos, a funo principal de um WeApp o uso da hipermidia para apresentar textos, grficos, udio e vdeo para o usurio final; e
4

As seguintes caractersticas de WebApps dirigem o processo de desenvolvimento:


1. Immediacy: WebApps apresentam um imediatismo que no encontrado em qualquer outro tipo de software. O desenvolvimento destes sistemas, muitas vezes, levam poucas semanas, ou at mesmo, poucas horas. Os mtodos de planejamento, anlise, projeto, implementao e teste a serem utilizados pelos desenvolvedores precisam ser adaptados a este imediatismo;
7

Qualidade de WebApps segundo a rvore de Requisitos de Qualidade [Olsina]:

Usabilidade:
Entedimento global do site Feedback on-line e help Caractersticas de interface e esttica

Funcionalidade:
Capacidades de procura e recuperao Caractersticas de navegao Caractersticas do domnio da aplicao

11

d n n m l 2$ k 2g 2g bh g e d E g i j i d f

Qualidade de WebApps segundo a rvore de Requisitos de Qualidade [Olsina] (cont):

3. Esttica: Uma inegvel atrao dos WebApps sua look and feel. Quando a aplicao tem sido projetada para vender/comprar produtos e servios, a esttica tem um papel fundamental.

As seguintes caractersticas de WebApps dirigem o processo de desenvolvimento:

r q q p i 2$g h 2f 2f e b` Y W V EQ g g f c d c a R V X U U T S R

5 C C B A 2$1 @ 29 8) 65 42& 1 5 ' 70 3( 10 ) '( ' D s

$v  2 y E  u v v x v y y x w v

 # # " ! $         5 C C B A 1 PI@ 9 GA EB 1 5 H0 F 7(0 % D

As seguintes caractersticas de WebApps dirigem o processo de desenvolvimento:


2. Segurana: Uma vez que WebApps esto disponveis atravs de uma rede, muitas vezes, impossvel limitar a quantidade de pessoas que podem ter acesso aplicao. Asssim, questes de segurana devem ser consideradas;

Qualidade de WebApps discutvel uma vez que so utilizados por uma diversidade de usurio. Todas as caractersticas de qualidade de softwares tradicionais podem ser aplicados aos WebApps. No entanto, as mais relevantes so:
Usabilidade Funcionalidade Confiabilidade Eficincia Manutenabilidade
10

Confiabilidade:
Links corretos Recuperao de erro Recuperao e validao de entradas do usurio

Eficincia:
Desempenho do tempo de resposta Velocidade de gerao de pginas Velocidade de gerao de grfico

12

Qualidade de WebApps segundo a rvore de Requisitos de Qualidade [Olsina] (cont):


Facilidade de correo Adaptabilidade Extesibilidade

Manutenabilidade:

13

Desenvolvimento baseado em componentes:

a tecnologia de componentes tem evoludo em grande parte devido ao crescimento explosivo de aplicaes e sistemas baseados na Web. Os principais padres de infra-estrutura disponvel para Web so: CORBA, COM/DCOM e JavaBeans. Estes padres provem uma infra-estrutura que serve de base para o desenvolvimento de 15 WebApps.

Padres de Internet:

Na ltima dcada, o padro dominante o HTML Um novo padro tem surgido, o XML, devido ao tamanho e complexidade das aplicaes Web.

17

i p p ` w r ` d c v b ` i ` s hr h p i f e d c b a ` VVyx3v u6%t7qh %c V6Y

U @ @ T S C C P I H GF E C 9 B @ V%!R Q 3DC A9 8 4 76131( 05 42 0)

Segurana:

Uma vez que WeApps residem em uma rede, ele est aberto para acesso no autorizado. Uma variedade de medidas de segurana devem ento ser adotados para evitar acessos indevidos. Como exemplos dessas medidas tm-se tcnicas de criptografia, firewalls, entre 16 outros.

i p p ` ` c b ` f d c v b ` i ` %!w  7uy 6v 36s

H uma grande preocupao em como os WebApps tm sido atualmente desenvolvidos. Tangled Web Mtodos, conceitos e princpios de Engenharia de Software podem ser aplicados para o desenvolvimento de sistemas para Web?

18

W W

i p p ` w r ` d c v b ` i ` s hr h p i f e d c b a ` VyxV3v 6u%t7qh gc 6Y

i p p ` w r ` d c v b ` i ` s hr h p i f e d c b a ` VyxV3v 6u%t7qh gc 6Y

$ $ # "      %!       ' &

Os desenvolvedores devem possuir domnio de todas estas tecnologias para obter um WebApp de qualidade. O projeto e implementao de WebApps incorporam trs importantes tecnologias:
Desenvolvimento baseado em componentes Segurana Padres de Internet
14

19

As caractersticas de WebApps tm uma grande influncia no processo de WebE.


d
Imediatismo e evoluo contnua requer um modelo de processo iterativo e incremental. Diversidade de usurios requer modelagem e elicitao de requisitos. Necessidade de atividade de desenvolvimento paralela, muitas vezes, envolvendo time de desenvolvedores tcnico e no-tcnico.

21

Atividades do Modelo de Processo:

23

Formulao: identifica os objetivos de WebApp e estabelece o escopo para o primeiro incremento; Planejamento: estima custo, avalia riscos e define cronogramas; Anlise: estabelece requisitos tcnicos, identifica contedo e requisitos para projeto grfico; Engenharia: incorpora duas tarefas paralelas realizadas pelo pessoal tcnico (projeto arquitetural, navegacional e de interface) e no-tcnico (projeto de contedo e produo)

i y xr x v f u u i t fr i p i h f sc c 22sw8sq 2h f ge

o n l kf k j i i h f d 22sw8se 2 g

Atividades do Modelo de Processo (cont):

Muitos desenvolvedores de WebApps argumentam que a abordagem convencional de engenharia de software no se aplica ao desenvolvimento de seus sistemas

G A FDA D@864 3 2"( B CE 5 5 C B A 9 7 5 1 0 ) H q p

o n l kf k j i i h f d 2"mgwge 2 2g

% % $ #     &"!    G Y c2Y D8@VT S D"I ` ab U U a ` Y X W U R Q P d d H q q q q ' p

WebE um processo utilizado para criar WebApps de alta qualidade. derivado de muitos dos princpios e conceitos da Engenharia de Software.

20

22

Gerao e Teste de Pginas: implementao do sistema, com uso de ferramentas automatizadas; Avaliao com Cliente: cada incremento produzido revisado pelos clientes.

24

Questes:

25

27

Nesta fase considerar:


n
Mtodos e princpios de projeto da engenharia de software; Padres de projeto

29

2 2'22' m "Tj 0 g 0Ph G g f f e l gk e i e g g f e d

Estrutura depende da aplicao e pode-se combinar essas estruturas formando estruturas compostas.
30

Embora seja recomendado uma especificao de requisitos para sistemas grandes e complexos, este documento raro. Argumenta-se que a evoluo contnua desses sistemas seja uma das causas da falta de documentao.
h

2 2'22' "T 0s w 0Px s Gs r i w v v u w u y u s w w v u s t q qp

Envolve as tarefas de projeto do sistema. Constri-se modelos de projeto baseado na especificao de requisitos resultante da atividade anterior. Dilema do projetista: Projetar arquiteturas de WebApps que possam evoluir atendendo o imediatismo das WebApps;
28

Projeto Arquitetural: Refere-se definio da estrutura hipermidia da aplicao. Algumas estruturas:


Linear, Linear com fluxo opcional, Linear com diversidade Grade Hierrquico (em largura ou profundidade) Rede

Qual a principal motivao para a implementao do sistema? Por que necessrio o sistema? Quem utilizar o sistema?

Com relao ao contedo e/ou informao ao usurio final; Com relao a habilidade do usurio de desempenhar tarefas com o WebApp.

Refere-se identificao dos objetivos gerais do sistema. Em geral, duas categorias de objetivos so definidos:

d a`X H F F E U HS E Q E C H H F E C D A A@ e bc '2YW V "TR 0C H 0PI C GC B 9 f n n


Cria modelos de anlise baseada no escopo definido na atividade de formulao. Tipos de anlises:
Anlise de contedo: contedo da aplicao (texto, imagem, grfico, vdeo e udio) identificado. Tcnica de modelagem de dados pode ser utilizado; Anlise de interao: descreve-se a maneira como o usurio interage com a aplicao. Diagrama de Casos de Uso podem ser utilizado; Anlise Funcional: todas as operaes e funes so detalhadas baseadas nas anlises de contedo e interao; Anlise de Configurao: ambiente e infraestrutura so 26 detalhados

%54 1) & 2623 20( '% $ # "          !         d a`X w v v u u y u s w w v u s t q qp 6 bc 22W "w  s w x s s r i 2 2222' m "g j  g h  g f f e l k e i e g g f e d 8 8 8 8 8 h 7 7 7

31

33

35

Procurar pode erros em WebApps um desafio para os desenvolvedores. Princpios bsicos para teste de software de Engenharia de Software podem ser aplicados ao teste de WebApps, bem como as estratgias e tticas que tm sido recomendadas para sistemas orientados a objeto.

 H H F      IPD  !CB

Abordagens utilizadas para teste de WebApps:


O modelo de contedo revisado para descobrir erros; O modelo de projeto revisado para descobrir erros navegacionais; Cada unidade testada. Em muitos casos, a menor unidade a pgina. Diferentemente do teste de unidade convencional, para WebApps, o teste ao nvel de pgina dirigido ao contedo, processamento e links encapsulados;
36

Projeto de Interface: refere-se definio da interface do usurio da aplicao. Princpios, conceitos e mtodos de projeto de interface de Engenharia de Software podem ser utilizados. A interface do usurio a primeira impresso e uma importante caracterstica de WebApps.

321&0(& 42 )!)'))'% $ #@ 9  98  7     "        

Alguns guidelines para projeto de interface:


Menus de navegao e barra de cabealho poderiam aparecer em todas as pginas; Evitar muito texto em uma nica pgina; Esttica nunca deve substituir a funcionalidade; Evite desapontar o usurio com mensagens tais como ; Opes de navegao devem ser obvios.
34

Existem diversos tipos de padres, tais como, padres de anlise, de projeto, de implementao, de hipermidia, entre outros. Padres de projeto: uma abordagem para resolver problemas em nvel de projeto de sistema. Padres de Hipermdia focalizam no projeto de caractersticas navegacionais.

321&0(& 42 )!)'))'% $ #@ 9  98  7     "         5 5


Projeto Navegacional: refere-se definio dos caminhos de navegao que possibilitam que o usurio acesse o WebApp. Para isso, o projetista deve:
Criar caminhos de navegao Considerar diferentes usurios; Criar unidade de navegao semntica para cada tipo de usurio Estabelecer conveno de navegao, objetivando a navegao mais amigvel. Estabelecer auxlio de navegao, tais como mapa do 32 site, tabela de contedo, entre outros.

321&0(& 42 )!))))'% $ #!          "         321&0(& 42 )!))))'% $ #!          "          H H F      IGED 9 CB

Abordagens utilizadas para teste de WebApps (cont):



Teste de integrao realizado sobre a arquitetura. WebApps so implementados em diferentes ambientes de configuraes e testados para a compatibilidade com estas configuraes; WebApp testado por um grupo controlado e monitorado de usurios.

37

    !  

       

Uma vez que WebApps evoluem continuamente, o processo de teste uma atividade contnua, podendo-se utilizar tambm o teste de regresso.

38

Você também pode gostar