adelaidejsousa @ 18:23

Sex, 02/03/12

Apresentamos o trabalho da última semana que se concentra na listagem dos requisitos funcionais e identificação das soluções técnicas possíveis.

Para conseguir elaborar a lista dos requisitos funcionais da aplicação Web, colocamo-nos na pele dos futuros utilizadores e pensamos no que queríamos que a aplicação fizesse.      Assim surgiu a tabela que se segue, onde os requisitos estão agrupados por temas, assim como por Front-End e Back-End.

Foram também analisadas as dependências entre requisitos e a prioridade com que devem ser implementados. Além disso, ainda é possível verificar as diferenças entre um utilizador registado e um administrador da plataforma. 

(clicar na imagem, para fazer o download do ficheiro Excel)

 

Viabilidade Técnica

Uma vez definidos os requisitos funcionais, procedeu-se à realização do estudo de viabilidade técnica, procurando decidir quais as tecnologias a utilizar na plataforma Web.

Realizou-se uma pequena pesquisa das tecnologias já existentes que melhor responderiam às necessidades dos nossos futuros utilizadores, ponderando mais tarde as vantagens e desvantagens de cada uma.

 

TECNOLOGIAS SERVER-SIDE:

1. PHP

PHP é uma linguagem de script open source, que é processada no servidor (server side) e está normalmente embebida em páginas HTML. Para o browser (client-side), é apenas enviada uma página com html. Esta linguagem é normalmente utilizada para criar conteúdos dinâmicos na Web.

Vantagens: A grande vantagem desta tecnologia é o conhecimento e experiencia que o nosso grupo ja detém na utilização desta, uma vez que foi abordada na disciplina de laboratório  multimédia 5. Como foi acima mencionado, é uma tecnologia gratuita, independente de plataforma (tanto funciona em servidores Windows como em servidores Linux). É fácil de usar (a maior parte das funções  está disponível por defeito) e poderosa, tendo mais de 180 livrarias para consulta e com mais funções prestes a ser utilizadas.

Desvantagens: Por vezes existe algumas incompatibilidades entre versões ( um comando que se comporta de uma determinada forma numa versão, pode não se comportar de igual modo noutra); alguma documentação encontra-se incompleta uma vez que em tecnologias open Source, surgem primeiro os recursos e só depois a documentação.

Fontes: http://pt.php.net/manual/en/faq.general.php#faq.general.what;

http://www.designersplayground.com/pr/the-advantages-of-php/

 

2. ASP.NET

ASP.NET é uma plataforma da Microsoft para o desenvolvimento de aplicações Web, criada para funcionar no seu servidor, o Internet Information Server (IIS).

Vantagens: A informação de configuração é armazenada em arquivos XML, assim é possivel fazer alterações em qualquer lugar e enviar as mudanças via FTP. O suporte de datas funciona melhor em ASP.net do que em PHP.

Desvantagens: É necessário um servidor Windows para que os scripts em ASP funcionem, assim como é necessária a utilização do MS-SQL (as licenças são caras);  tende também a deixar o servidor mais lento, em comparação com o PHP.  Como só funciona em servidores Microsoft, caso fosse necessário mudar de servidor, todos os scripts teriam de ser reescritos, ao contrário do PHP que é multiplataforma.

Fontes: http://en.wikipedia.org/wiki/ASP.NET;

http://ezinearticles.com/?What-is-ASP.NET?--Top-12-Advantages-of-ASP.NET&id=1358877

 

3. Adobe ColdFusion

Coldfusion é uma linguaguem utilizada para desenvolvimento de páginas Web e aplicações dinâmicas.

Vantagens: Pode ser desenvolvida rapidamente porque apenas são necessárias tags do estilo HTML e não é necessário um elevado conhecimento de código; São fáceis de testar e implementar; Fornece todas as ferramentas necessárias para fazer o debug;

Desvantagens: Não é gratuito; Pode ser lento porque corre numa framework de Java;

Fontes: http://www.adobepress.com/articles/article.asp?p=31062&seqNum=4;

 

4. Java Server Pages

É uma tecnologia utilizada no desenvolvimento de aplicações para Web, similar às tecnologias Active Server Pages (ASP) da Microsoft ou PHP.

Vantagens: Execução em diversos sistemas operativos; Portabilidade de plataforma;

Desvantagens: Não é compatível com todos os servidores;

Fontes: http://pt.wikipedia.org/wiki/JavaServer_Pages

 

 

 

Assim, analisando todas as hipóteses que estavam disponíveis optou-se pelo uso da linguagem PHP, uma vez que é open source e funciona bem com MySql (instalado nos servidores da Universidade). O facto de já estarmos familiarizados com esta linguagem também foi um ponto a ter em conta na tomada desta decisão. 

 

 

TECNOLOGIAS CLIENT-SIDE:

1. XML

 

É um conjunto de regras para codificar documentos num formato legível pelas máquinas, produzido pelo W3C e com foco na simplicidade de uso e utilização pela internet.

Vantagens: Simplicidade e legibilidade tanto para o humano como para a máquina; é baseada em texto; Não há limitação quanto ao nome das tags, visto que são criadas por nós;

Desvantagens: Falta de aplicações de processamento adequadas;

Fontes: http://pt.wikipedia.org/wiki/XML;

http://www.theukwebdesigncompany.com/articles/xml-advantages-disadvantages.php

 

2. HTML5

HTML5 é uma linguagem para estruturação e apresentação de conteúdo para a Web. Em relação às versões anteriores, o html5 adiciona novas tags, tais como, <video> ou <audio>, que facilitam a inclusão e manipulação de conteúdo multimédia na web sem que seja necessário recorrer a plug ins ou APIs.

CSS3

CSS3 é a versão mais recente das Cascate Style Sheets, que permitem manipular a parte visual das páginas Web. Com esta nova versão é possível fazer animações (tando em 2D como 3D) , transições, bordas arredondadas, entre outros.

Vantagens: Estas duas tecnologias juntas vêm substituir o uso do flash no desenvolvimento de aplicações Web, uma vez que já é possivel criar efeitos e transições nos elementos gráficos. Com o html5, as aplicações Web poderão ser acessadas offline  via cache, e há a possibilidade de aceder a geolocalização sem recorrer a APIs. É também capaz de executar em dispositivos de baixa potência como smartphones ou tablets.

Desvantagens: Uma vez que são tecnologias muito recentes, ainda nao há compatilibilidade total entre os diferentes browsers.

Fontes: http://www.tecmundo.com.br/navegador/2254-o-que-e-html-5-.htm

http://pt.wikipedia.org/wiki/HTML5

 

3. JavaScript

Javascript é uma linguagem de programação client-side, orientada a objectos. Com esta tecnologia é possível, por exemplo, abrir uma nova janela manipulando tamanho, posição e os seus atributos, validar a informação de um formulário para garantir que cumprem todos os requisitos antes de serem enviadas para o servidor.

Vantagens: Como é uma tecnologia que é processada no lado do cliente, o processamento é mais rápido, poupando tempo e tráfego de dados. Tal como php, também já temos alguns conhecimentos e experiência com esta tecnologia.

Desvantagens: Como é uma tecnologia client-side, pode não ser totalmente segura, havendo a possibilidade de inclusão de código malicioso para explorar o sistema do utilizador. Pode ser interpretado de diferentes formas em diferentes browsers.

Fontes: http://www.jscripters.com/javascript-advantages-and-disadvantages/

http://www.mediacollege.com/internet/javascript/pros-cons.html

 

4. AJAX

Não é uma nova linguagem de programação, mas é uma nova forma de utilizar as normas já existentes. É a arte de trocar dados com o servidor e actualizar partes de uma página Web sem recarregar a página toda.

Vantagens: Não precisa de instalação, apenas que o browser esteja habilitado; Sobrecarrega menos o servidor, uma vez que não é feito o reload completo da página;

Desvantagens: Está dependente do Javascript; É difícil fazer o debug; Código complexo;

Fontes: http://www.w3schools.com/ajax/default.asp;        

http://www.javabeat.net/qna/431-advantages-of-ajax/;

 

5. Jquery

É um Framework para javascript constituído por um conjunto de bibliotecas já pronto a usar.

Vantagens: É cross-browser; aumenta a dinâmica das páginas Web; fácil de implementar; as bibliotecas ocupam pouco espaço em disco; Grande comunidade open-source; Existe muita documentação e tutoriais;

Desvantagens: É necessário o Javascript estar activado nos browsers.

Fontes: http://www.jscripters.com/jquery-disadvantages-and-advantages/

 

6. API's 

É um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.

Vantagens: é possível acelerar o processo de desenvolvimento de aplicativos e a sua integração nas aplicações;

Desvantagens: deixar de funcionar ou ser descontinuada;

Fontes:http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing3.htm

http://pt.wikipedia.org/wiki/API

 

Analisando as tecnologias existentes, optámos por usar todas as mencionadas.  Embora nao haja conhecimentos por parte do grupo em HTML5 e CSS3 achou-se que seria benéfico tanto a nível de experiência como de qualidade de trabalho usar-se estas duas tecnologias, uma vez que são uma aposta cada vez mais popular entre as empresas.

Quanto ao uso das restantes, o grupo considerou que seria uma mais valia agregar as potencialidades de cada uma na nossa aplicação para melhorar a experiencia para os nossos futuros utilizadores.

 

 

REQUISITOS NÃO FUNCIONAIS

Os requisitos não-funcionais servem para verificar se o sistema está ou não a satisfazer os diferentes requisitos funcionais, uma vez que representam características mínimas de um software de qualidade.

O grupo definiu os seguintes requisitos não funcionais:

 

Requisitos de segurança: Só os utilizadores registados é que podem aceder a informação disposta na aplicação Web.

Requisitos de Desempenho:  O tempo de resposta  da aplicação  não deve exceder os 30 segundos. A base de dados deve ser actualizada em tempo real.

Requisitos operacionais:  A aplicação Web  deverá ser capaz de importar conteúdo gráfico Gif e Jpeg. O sistema será funcional em sistema Windows e Macintosh.

Requisitos de Usabilidade:  O utilizador não deve precisar de mais de três cliques para aceder à informação que pretende. A ajuda online deve estar sempre presente em qualquer página da aplicação Web. O sistema terá uma interface amigável ao utilizadores primário sem se tornar cansativa aos utilizadores mais experientes.

Requisitos de Compatibilidade: Garantia de compatibilidade com diferentes browsers e resoluções.



SOBRE: What do you think? :P Blog de acompanhamento ao projecto de 3º ano de NTC, no ano lectivo de 2011/2012. Work in Perspective é um projecto multiplataforma que tem como objectivo a procura do emprego ideal!
Arquivos
copyright
Licença Creative Commons
Este trabalho foi licenciado com uma Licença Creative Commons - Atribuição - NãoComercial - SemDerivados 3.0 Portugal.
Pesquisar
 
blogs SAPO