Upload
others
View
14
Download
0
Embed Size (px)
Citation preview
1
Introdução
Qualquer projecto multimédia deverá passar obrigatoriamente por uma análise aos requisitos funcionais assim como um estudo de viabilidade técnica, para um melhor desempenho e adequação às necessidades. Neste segmento é necessário, não apenas identificar quais as funções para os requisitos funcionais, como também identificar quais os tipos de utilizadores e as prioridades de implementação, por parte da equipa de desenvolvimento, assim a análise tem como objectivo a especificação das acções que
se deverão ser capazes de executar, sem levar em consideração as restrições técnicas e financeiras.
Depois de ultrapassada esta etapa, segue-se então o estudo da viabilidade técnica, onde é feita uma análise das soluções técnicas disponíveis no mercado, com vista a atender às especificações do projecto
da melhor forma possível.
2
Requisitos funcionais
3
Na seguinte tabela encontram-se os requisitos funcionais, as permissões dos diferentes tipos de utilizador,
bem como indicações das API nos seus respectivos requisitos.
Ora, para saber se o grupo poderá implementar todos os requisitos indicados na tabela prévia, é necessário recorrer
a um estudo de viabilidade técnica. De referir apenas que todos esses requisitos vão utilizar o XHTML, CSS,
PHP, Javascript e eventuais frameworks como o jQuery.
4
Viabilidade técnica
5
Visto este projecto se tratar de uma plataforma Web 2.0, necessitamos de estruturar e formatar o site. Como tal, o
anexo seguinte contém o PDF com a análise à linguagem de estruturação e formatação, HTML5 e CSS3
respectivamente.
O nosso grupo está a considerar desenvolver a plataforma com recurso a HTML5 e CSS3, mas para isso
precisamos de verificar se é viável. Estudamos então o seu comportamento nos vários browsers e em dois
sistemas operativos (Mac e Windows), como se verifica nas seguintes tabelas:
Fonte: http://www.findmebyip.com/litmus [visitado em 11/03/2011]
6
7
8
9
10
Conclusão
Após a análise das tabelas podemos afirmar seguramente que a hipótese de usar HTML5 e CSS3 foi
descartada. A maioria dos browsers, na sua mais recente versão, ainda não tem compatibilidade suficiente
com inúmeros aspectos para sequer considerar a implementação da plataforma nas referidas linguagens.
Especial atenção para o Internet Explorer, com grande quota de mercado (como visto em
http://www.w3schools.com/browsers/browsers_stats.asp, portanto, o browser de grande parte dos
potenciais utilizadores), om um fraco suporte a estas tecnologias, sobretudo nas suas versões mais
antigas. Ora, este facto por si só fez com que excluíssemos de imediato a utilização do HTML5, recorrendo
então ao (X)HTML 4.01 e CSS 2.1, os mesmos leccionados nas aulas de Laboratório Multimédia 4 e 5.
11
Determinada a estrutura, é necessário analisar as restantes tecnologias.
Linguagem client-side
Depois de analisadas as linguagem cliente-side a escolha recai sobre o Javascript precisamente por ser
uma linguagem dinâmica, versátil e que é utilizada em milhões de páginas para acrescentar
funcionalidades às páginas Web XHTML. O facto de ter imensa documentação online também foi
determinante no processo de decisão, visto que isso poderá ajudar a resolver futuros problemas/bugs.
Descartamos a hipótese do Actionscript porque pensamos que não será necessário investir no Flash, pois
não é o que pretendemos nem será o mais indicado para este tipo de projecto. Em suma, “JavaScript is
THE scripting language of the Web.” [http://www.w3schools.com/js/default.asp]
Fontes:
. http://www.w3schools.com/js/default.asp [visitado em 14/03/2011]
. http://www.revista-php.net/artigos.php?pagina=10 [visitado em 14/03/2011]
. http://www.avellareduarte.com.br/projeto/recursos/recursos4/recursos4e.htm [visitado em 14/03/2011] . Beça, Pedro (2010). LabMM4_09_10_T18_Javascript (Aula de Laboratório Multimédia 4, da licenciatura de Novas Tecnologias da Comunicação, da Universidade da Aveiro) . http://help.adobe.com/pt_BR/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ff8.html [visitado em 14/03/2011] . http://www.ajaxwith.com/ActionScript-vs-JavaScript.html [visitado em 14/03/2011]
Linguagem server-side
12
A tomada de decisão quanto à linguagem server-side recai sobre o PHP, essencialmente devido ao grupo
já estar confortável com esta linguagem, que foi leccionada em Laboratório Multimédia 5, mas também por
ter uma comunidade vasta de programadores, imensos exemplos, tutorias e documentação na Web e
estar em constante crescimento/melhoria através da disponibilização gratuita de bibliotecas. Eliminamos
de imediato o ASP simplesmente por ser uma linguagem proprietária da Microsoft e por ser paga.
Fontes:
. http://www.w3schools.com/php/default.asp [visitado em 14/03/2011]
. http://lightwebdesigner.wordpress.com/2008/02/02/vantagens-do-php/ [visitado em 14/03/2011]
. http://www.w3schools.com/asp/default.asp [visitado em 14/03/2011]
. http://apostilas.fok.com.br/manual-do-php/faq.languages.php#faq.languages.asp [visitado em 14/03/2011]
. http://www.tecnocafe.com.br/porque-existem-empresas-que-usam-asp-e-nao-php/ [visitado em
14/03/2011]
Sistema de gestão de base de dados
A nível da base de dados a escolha foi o MySQL, essencialmente por ter uma comunidade maior que nos
poderá ajudar e porque é um sistema com que nos encontramos devidamente identificados, até porque foi
leccionado em Laboratório Multimédia 5. Em suma, “The world's most popular open source database”
[http://www.mysql.com/training/]
Fontes:
. http://www.mysql.com/ [visitado em 15/03/2011]
. http://www.cio.com/article/113110/Five_Compelling_Reasons_to_Use_MySQL [visitado em 15/03/2011] . http://www.oracle.com/index.html [visitado em 15/03/2011] . http://www.cin.ufpe.br/~rac2/vantagens.txt [visitado em 15/03/2011]
13
Servidores
Optou-se por utilizar o servidor externo devido ao não se ter restrições a qualquer nível, bem como em
relação à privacidade do nosso projecto, visto que o servidor linlabmm contém imensas restrições bem
como é partilhado por toda a comunidade do DeCA. Para testes locais iremos usar um servidor Web, o
Apache, que foi também o que o grupo utilizou no decorrer das aulas de Laboratório Multimédia 5. De
referir ainda que o servidor externo representa um ambiente de desenvolvimento mais seguro e fiável.
Frameworks
A escolha da framework recai em jQuery sobretudo devido às utilizações prévias por parte dos elementos
do grupo, bem como à imensa documentação disponível, à flexibilidade e dinâmica da própria linguagem.
Fontes:
. http://jquery.com/ [visitado em 15/03/2011]
. http://www.criarweb.com/artigos/introducao-jquery.html [visitado em 15/03/2011]
. http://mootools.net/ [visitado em 17/03/2011]
. http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks [visitado em 17/03/2011]
14
Upload de múltiplos ficheiros
API necessária para a implementação de upload múltiplo de ficheiros (imagens) na nossa
plataforma, utilizando tecnologia jQuery.
Fonte:
. http://www.plupload.com/ [visitado em 15/03/2011]
Mapas
Depois de analisadas as alternativas, observamos que todas possuem a documentação de suporte básico
para a sua implementação, no entanto a Google Maps apresenta uma comunidade maior de utilizadores
com maior número de artigos, livros e projectos de código (funcionalidades), pelo que será a opção do
grupo.
15
Fontes:
. http://blog.batchgeo.com/google-maps-vs-yahoo-maps-vs-mapquest-apis/ [visitado em 15/03/2011]
. http://www.earthware.co.uk/blog/index.php/2010/01/mapping-apis-google-maps-vs-bing-maps-part-4-
developer-support-community/ [visitado em 15/03/2011]
. http://www.our-picks.com/archives/2006/11/24/yahoo-maps-vs-google-maps/ [visitado em 15/03/2011]
.
http://www.telecom.pt/InternetResource/PTSite/PT/Canais/Media/DestaquesHP/Destaques_2010/sapomap
as_pai.htm [visitado em 15/03/2011]
. http://tek.sapo.pt/analises/analise_tek_sapo_reformula_servico_de_mapas_1006685.html [visitado em
15/03/2011]
Consulta de bases de dados
A escolha recaiu sobre o workbench porque foi o software de desenho/modelação de bases de dados
leccionado na disciplina de laboratório Multimédia 5, logo todo o grupo está familiarizado com o programa.
Programa esse que se insere na lógica de utilização do MySQL e programas adjacentes, permitindo
igualmente gerir as bases de dados num servidor MySQL e construir por linha de comando queries a
essas bases de dados.
Fontes:
. http://wb.mysql.com/?page_id=6 [visitado em 16/03/2011]
Software para edição do site
16
Quanto ao software a utilizar será o Adobe Dreamweaver CS5, que apesar de ser pago, é de longe o
melhor e mais poderoso editor de websites. Foi também o software utilizado por todos os elementos do
grupo para as disciplinas de Laboratório Multimédia durante o curso.
Fontes:
. http://www.adobe.com/products/dreamweaver/whatisdreamweaver/ [visitado em 16/03/2011]
. http://www.aptana.com/ [visitado em 16/03/2011]
. http://cirofeitosa.com.br/post/aptana-ide-para-o-basico [visitado em 16/03/2011]
. http://notepad-plus-plus.org/ [visitado em 16/03/2011]
Software para edição vectorial
Quanto ao software a utilizar será o Adobe Illustrator CS5, que apesar de ser pago, é de longe o melhor e
mais poderoso editor de imagens vectorial. É também o software com que o grupo se encontra mais à
vontade.
Fontes:
. http://www.adobe.com/products/illustrator/whatisillustrator/ [visitado em 17/03/2011]
. http://www.brighthub.com/multimedia/publishing/articles/73024.aspx [visitado em 17/03/2011]
. http://inkscape.org/ [visitado em 17/03/2011]
. http://tecmidia.wikidot.com/segundo-trabalho [visitado em 17/03/2011]
Software para edição de imagens bitmap
17
Quanto ao software a utilizar será o Adobe Photoshop CS5, que apesar de ser pago, é de longe o melhor
e mais poderoso editor de imagens bitmap. É também o software com que o grupo se encontra mais à
vontade.
Fontes:
. http://www.adobe.com/products/photoshop/photoshop/whatisphotoshop/ [visitado em 17/03/2011]
. http://lucasarruda.wordpress.com/2007/03/06/photoshop-perdendo-mercado-para-o-gimp/ [visitado em
17/03/2011]
18
Reflexão crítica
Esta fase da realização do projecto foi-nos bastante útil, pois através dela pudemos entende-lo melhor, definir quais
os requisitos funcionais que desejamos implementar e verificar quais as soluções técnicas que iremos utilizar. Apesar
de desejarmos que a implementação seja totalmente completa, é provável que o tempo disponível não nos permita
a sua realização, e por esta razão definimos como prioritárias as funções essenciais do projecto.
Ao nível das soluções técnicas é importante referir que devido à nossa inexperiência poderão ainda surgir algumas
alterações, mas acreditamos pela análise efectuada aos resultados das nossas pesquisas que essa hipótese será
remota, não comprometendo assim o presente estudo de viabilidade técnica.