• Nenhum resultado encontrado

Neste cap´ıtulo foram apresentados conceitos a respeito de aplica¸c˜oes Web e s˜ao listadas algumas classifica¸c˜oes encontradas na literatura, al´em de resumida a defini¸c˜ao de arqui- tetura e comentada a importˆancia de um projeto arquitetural.

No contexto Web, pouca aten¸c˜ao ´e dada a p´aginas est´aticas, sendo a maior parte dos estudos voltados a aplica¸c˜oes que envolvam algum tipo de computa¸c˜ao de dados (Domingues, 2005). Portanto, com rela¸c˜ao `a classifica¸c˜ao, assim como no trabalho de doutorado de Domingues (2005), neste trabalho ´e adotada a defini¸c˜ao que descreve uma aplica¸c˜ao Web como uma aplica¸c˜ao que ap´oia a realiza¸c˜ao de transa¸c˜oes de neg´ocio.

Como a quantidade e a complexidade de aplica¸c˜oes Web tˆem aumentado, o desenvolvi- mento Web tem se tornado uma tarefa dif´ıcil. A elabora¸c˜ao do projeto arquitetural pode auxiliar engenheiros de software a analisar a viabilidade e avaliar a satisfa¸c˜ao quanto aos requisitos de uma aplica¸c˜ao. Com o crescimento das exigˆencias por aplica¸c˜oes Web com- plexas e de qualidade, tˆem aumentado a necessidade de processos, m´etodos e ferramentas que ap´oiem o desenvolvimento desse tipo de aplica¸c˜oes.

Tamb´em foram apresentadas as defini¸c˜oes de engenharia Web e de processos e m´etodos de desenvolvimento e a motiva¸c˜ao de empreg´a-los. Al´em disso, foram listados alguns dos m´etodos de desenvolvimento Web encontrados na literatura atual. Como o ambiente Peˆonia ´e uma aplica¸c˜ao Web, a utiliza¸c˜ao de m´etodos de desenvolvimento que tratem das caracter´ısticas espec´ıficas desse tipo de aplica¸c˜ao foi necess´aria.

A compara¸c˜ao entre m´etodos de desenvolvimento n˜ao ´e trivial, pois os objetivos de cada m´etodo podem ser relativamente diferentes. Domingues (2005) cita trˆes estudos comparativos utilizando como base de compara¸c˜ao os atributos gerais, as etapas do pro- cesso de desenvolvimento e os aspectos de informa¸c˜ao e funcional das aplica¸c˜oes Web. No Apˆendice A s˜ao apresentadas duas tabelas comparativas considerando as diferen¸cas de atributos gerais e etapas do processo de desenvolvimento entre os m´etodos Web citados neste cap´ıtulo.

Os m´etodos apresentados neste cap´ıtulo foram avaliados no contexto do trabalho de mestrado de Bianchini (2007) e foi criado um arcabou¸co para auxiliar usu´arios na escolha do mais apropriado para guiar a cria¸c˜ao de aplica¸c˜oes.

CAP´ITULO 2. CONCEITOS B ´ASICOS Neste cap´ıtulo tamb´em foram descritos padr˜oes de software, as vantagens e as desvan- tagens de empregar padr˜oes e mencionadas as maneiras como eles podem ser agrupados. Foram listadas algumas classifica¸c˜oes utilizadas para melhorar a compreens˜ao de padr˜oes e apresentados os seus componentes essenciais, necess´arios para facilitar o entendimento dos usu´arios.

Como existe uma grande quantidade de padr˜oes na literatura, ´e preciso tomar cuidado com a sua qualidade. Uma das maneiras de selecionar padr˜oes ´e avaliar se cont´em os componentes essenciais e se foi utilizado em pelo menos trˆes aplica¸c˜oes. Se o padr˜ao possuir uma se¸c˜ao especial descrevendo como proceder para validar, tanto o padr˜ao, como as aplica¸c˜oes criadas a partir dele, usu´arios podem avaliar melhor a qualidade da sua solu¸c˜ao.

Por fim, foram listadas algumas t´ecnicas de teste de software, explicados os crit´erios da t´ecnica de teste funcional e apresentada a abordagem de associa¸c˜ao de requisitos de teste a padr˜oes de software, proposta por Cagnin et al. (2005). Para que seja obtido um conjunto de casos de teste adequado para avaliar uma aplica¸c˜ao, t´ecnicas e crit´erios devem ser combinados para montar uma boa abordagem.

Ferramentas podem ser utilizadas para automatizar a atividade de teste, assim como para apoiar outras atividades do ciclo de vida de um software. Frameworks podem ser em- pregados para apoiar a implementa¸c˜ao de aplica¸c˜oes. Dentro do contexto deste trabalho, no pr´oximo cap´ıtulo s˜ao apresentadas ferramentas de apoio ao desenvolvimento.

Cap´ıtulo

3

Ferramentas de Apoio ao

Desenvolvimento

3.1

Considera¸c˜oes Iniciais

`

A medida que a demanda e complexidade de softwares crescem, ambientes e ferramentas de engenharia de software tornam-se importantes facilitadores (Harrison et al., 2000).

Como mencionado no Cap´ıtulo 2, ferramentas s˜ao utilizadas para fornecer apoio auto- matizado ou semi-automatizado no emprego de m´etodos de desenvolvimento Web. Al´em de auxiliar no emprego de m´etodos, ferramentas podem tamb´em ser utilizadas para auxi- liar engenheiros de software a empregarem padr˜oes de projeto na cria¸c˜ao de suas aplica¸c˜oes (Marinho et al., 2003) e para apoiar as atividades de VV&T. Outro recurso s˜ao os ambi- entes, que auxiliam a gerˆencia de processos de desenvolvimento de software (Harrison et al., 2000).

Ferramentas e ambientes minimizam a complexidade no desenvolvimento, evitam erros de usu´arios inexperientes ao utilizarem processos, m´etodos, padr˜oes, ou teste, al´em de prevenir contra a omiss˜ao na verifica¸c˜ao, valida¸c˜ao e teste de aplica¸c˜oes. Alguns trabalhos sobre ambientes e ferramentas podem ser citados, sendo que cada um deles fornece aux´ılio isolado nas quatro ´areas mencionadas.

Na Se¸c˜ao 3.2 s˜ao dados exemplos de ambientes e ferramentas que ap´oiam a utiliza¸c˜ao de processos e m´etodos de desenvolvimento. Na Se¸c˜ao 3.3 s˜ao listadas ferramentas de

CAP´ITULO 3. FERRAMENTAS DE APOIO AO DESENVOLVIMENTO automatiza¸c˜ao de teste. Na Se¸c˜ao 3.4 s˜ao apresentadas algumas ferramentas que ap´oiam a utiliza¸c˜ao de padr˜oes de software. Por fim, na Se¸c˜ao 3.5 s˜ao apresentadas as considera¸c˜oes finais sobre este cap´ıtulo.