Viabilidade tecnica

3,249 views
3,110 views

Published on

mod2

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,249
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Viabilidade tecnica

  1. 1. Estudo de viabilidade TécnicaMarkup languages Forças Fraquezas Observações/ Escolha Frameworks relevantesHTML (1) pode ser processada por uma grande variedade de ferramentas inclusive bloco de (1) é uma linguagem estática; notas; (2) estrutura com base em tags, sem eles a sua (2) é facilmente assimilado; visualização fica comprometida; (3) suportado em todos os browsers; (3) linguagem que interage com outras (CSS), o que Dadas as características da (4) amplamente utilizado (presente em quase todos os Web sites); obriga a sua aprendizagem; solução e o grau de (5) muito parecido com a sintaxe XML, que é cada vez mais utilizada para (4) os recursos de segurança apresentados pelo HTML interactividade que queremos armazenamento de dados; são limitados; implementar, será necessário (6) é de utilização livre (não é necessário recorrer a nenhum software em específico); integrar HTML com XML. (7) permite a integração de outras linguagens, normalmente, para tornar o conteúdo das páginas dinâmico; Queremos que o conteúdo das páginas, nomeadamente notícias,XHTML (1) Extensible HyperText Markup Language é o futuro dos documentos (1) não é suportado em algumas versões de browsers sejam actualizadas (2) combina algumas características do XML e do HTML; (ex.: IE6); dinamicamente, sem haver a (3) é uma linguagem mais “limpa” que o HTML; (2) é extremamente rigoroso do ponto de vista de necessidade de um refresh no (4) todos os browsers suportam XHTML; escrita, já que requer o fecho de todos os tags; browser por parte do utilizador e (3) são poucos os browsers que oferecem benefícios à nos menus de linguagem, para recepção e processamento de documentos XHTML. quando o utilizador alterar a (4) um dos principais browsers - IE - não dá suporte a linguagem, os conteúdos passíveis XHTML de tradução – e traduzidos – sejam automaticamente substituídos.XML (1) é a base para vários formatos, incluindo HTML, WML, XHTML, etc; (1) depende do HTML para ser reconhecido pelos (2) facilita a transferência de dados entre programas muito diferentes; browsers; O XML será também utilizado na (3) compatível com diversos formatos de dados; (2) é mais exigente e mais preciso quando comparado comunicação feita pela (4) é compatível com aplicativos como Java; com o HTML; framework AJAX. (5) é uma linguagem extensível (pode criar as suas próprias marcas ou usar tags já (3) tem um requisito de plataforma neutra o que pode criadas); ser tornar-se numa desvantagem em determinadas circunstâncias;Server-Side Scripting Forças FraquezasASP.NET (1) permite a redução de código para a construção de grandes aplicações; (1) não é open source; (2) flexibilidade na manutenção do estado de uma aplicação (facilita o uso de várias (2) só corre em Windows; cessões em simultâneo); (3) é lento a processar informação; (3) configuração da aplicação é feita através de arquivos XML (facilidade em alterar (4) a sua integração em páginas web é complexa A nossa escola para server- dados sem interferência do administrador) (5) mesmo na execução de tarefas simples existe scripting recai sobre o php, não só (4) possibilidade de fazer cache de toda a pagina ou só de algumas partes (aumento de alguma complexidade (ex.: ler um arquivo de outro pelas vantagens aqui desempenho); site); enumeradas, como pela (5) permite utilizar DLLs para ocultar o código; (6) existe pouca informação disponível online quando qualidade do suporte e dos (7) existem inúmeras bibliotecas open source; comparado com o PHP; recursos disponíveis online. (9) pode ser programado em qualquer linguagem .NET (as mais comuns são C# e (7) o número de ferramentas de depuração e (...) VB.NET); desenvolvimento no mercado são limitadas; (10) os ficheiros de código e de interface ficam separados, o que permite ao webdesigner (8) os utilizadores estão sujeitos às mudanças decididas e o webdeveloper trabalharem separadamente e alterar o conteúdos dos arquivos pela Microsoft livremente, o que agiliza muito o desenvolvimento; (9) requer compilação; Convém também referir que a equipa de desenvolvimento
  2. 2. PHP (1) é executado em diferentes plataformas (Windows, Linux, Unix, etc.); (1) para programadores com pouca experiência em (2) trata-se de um linguagem facilmente escalável ; programação a linguagem PHP pode ser de difícil (3) é compatível com quase todos os servidores usados (Apache, IIS, etc.); compreensão; Convém também referir que a (4) permite a integração com outras linguagens de programação (Java, C, C++, etc.); (2) falta suporte a multi-threading; equipa de desenvolvimento (5) está disponível gratuitamente para download; (3) muitas frameworks (aumento da curva de possui conhecimentos (6) é de fácil aprendizagem; aprendizagem); consolidados nesta linguagem ao (7) é executada de forma eficiente no lado do servidor; contrário das restantes pelo que (8) a sua utilização é totalmente gratuita; não se justificaria investir tempo, (9) não é Tag-Based. PHP é uma linguagem de programação real; que é um factor por si só escasso, (10) é rico em frameworks; na aprendizagem de outras (11) por ser open source a linguagem possui várias comunidades online que se dedicam à linguagens para o mesmo efeito. partilha de experiências e ao suporte dos seus programadores Ruby (Ruby On Rails) (1) framework de uma metaframework: Ruby (1) mais lento quando comparado com alguns dos seus (2) o nível de dificuldade na aprendizagem é definido por muitos com sendo médio; principais oponentes de mercado (3) a sua sintaxe é mais “limpa” quando comparado com outras linguagens no mercado (2) necessita de maior capacidade de memória (4) linguagem nativa orientada a objectos; (3) não é suportado por todos os hosts; (5) após aprendizagem é mais rápido programar com Ruby quando comparado com PHP; (4) pouco suporte na Web e poucos recursos (devido a (6) ferramenta desenvolvida em código aberto ser uma linguagem relativamente recente);Client-Side Scripting Forças Fraquezas JavaScript (1) corre em todos os principais browsers (Internet Explorer, Firefox, Chrome, Opera, (1) nem sempre é interpretado da mesma forma pelos Safari); diferentes versões de browsers, o que “obriga” à (2) proporciona interactividade às páginas de HTML; utilização de diferentes versões de JavaScript; A nossa escolha no que diz (3) permite ler e escrever elementos HTML; (2) o código é executado no computador dos respeito a client-side scripting (4) pode ser usado para validar dados (formulário); utilizadores o pode colocar o computador vulnerável; recai na utilização do javascript. (5) pode ser usado para detectar o browser do utilizador, redireccionando-o para uma (3) é possível desactiva-lo o que influenciará a Primeiro porque é a linguagem página específica para esse browser; interacção da página; jquery mais usada para criar (6) permite a criação de cookies (permite armazenar e recuperar informação sobre o "write less do more" interactividade. computador do utilizador); Existem muitas funcionalidades (7) reage a eventos (ex.: ao clicar num elemento HTML o JavaScrip executa uma disponíveis para reutilização na operação); internet tal como plugins, (8) aumenta a experiência de interactivadade na página; exemplos e guiais práticos. (10) liberta o servidor para funções primordiais processando os dados no browser do São inúmeras as comunidades de cliente; developers espalhadas pela internet. É uma linguagem já conhecida pela equipa de desenvolvimento. Por outro lado, o uso do flex não se enquadra totalmente nos os requisitos funcionais sendo que o Js permite dar uma melhor resposta as necessidades projectuais.
  3. 3. disponíveis para reutilização na internet tal como plugins, exemplos e guiais práticos. São inúmeras as comunidades de developers espalhadas pela Flex (ActionScript) (1) aplicações muti-plataforma (suporte para Windows, Mac e Linux); (1) suporte para apenas ActionScrip 3.0; internet. (2) linguagem XML para definir a interface; (2) algumas limitações de programação (falta de É uma linguagem já conhecida (3) integração de vídeo; suporte para VB, C++, Python); pela equipa de desenvolvimento. (4) linguagem orientada para objectos; Por outro lado, o uso do flex não (5) acesso facilitado a serviços Web XML; se enquadra totalmente nos os (6) ferramentas dedicadas à compilação; requisitos funcionais sendo que o (7) facilidade no desenvolvimento do design; Js permite dar uma melhor (8) forte integração com as restantes ferramentas da Adobe; resposta as necessidades (9) tecnologias de suporte já implementadas na maioria dos sistemas; projectuais. (10) existência de uma vasta colecção de plu-ins gratuitos para a plataforma; (11) suporte directo com Java e AJAX; (12) frameworks dedicadas para aplicações standalone (AIR); (13) comunicação directa com todo o tipo de server-side;Stylesheet and Transform Languages Forças Fraquezas CSS (1) economiza tempo (uma única página pode comportar toda a formatação de um site); (1) compatibilidade entre browsers (interpretação CSS permite uma grande (2) possibilita rapidez no carregamento de páginas; difere consoante os browser e suas versões); flexiblidade na formatação das (3) de fácil manutenção (a formatação está centrada num único local); (2) é suportado por todos os browsers à excepção da páginas. Quando utilizado (4) maior diversidade de atributos que o HTML; versão mais recentes: css 3 segundo as melhores práticas, (5) permite a inclusão de formatações especiais para browsers mais antigos; permite-nos de um modo rápido criar estilos aplicaveís em diversas páginas reaproveitando código. Na internet existem diversas comunidades de utilizadores e os XSL (1) permite atribuir formatações a conteúdos XML (1) Apenas tem utilidade na formatação da página caso mais diversificados exemplos de o contéudo mostrado seja proveniente de um utilização. documento XML A internet encontra-se repleta de documentação e normas que auxiliam na sua utilização. Mais uma vez trata-se de um linguagem já conhecida pela equipa o que permiteSistemas de gestão de base de dados Forças Fraquezas MS-SQL (1) É reconhecida por muitos DBA como sendo uma das linguagens mais acessíveis em (1) Não é open-source; termos de complexidade de aprendizagem e utilização; (2) Requer utilização de ferramentes de coding (2) É normalmente usado em conjunto com a linguagem server-scripting ASP.NET; específicas; (3) Apenas corre em ambiente Windows; Uma vez que a equipa de projecto dá preferência à utilização de
  4. 4. mySQL (1) Possui grande parte da quota de mercado em sistema base de dados open source; (1) Para fins comerciais requer a aquisição de uma (2) Têm a sua posição consolidada no mercado, integrando estabilidade, rapidez e licença específica; funcionalidades; (2) A escalabilidade da linguagem para novas (3) Integrada numa plataforma windows é visto por muitos como combinação perfeita funcionalidades diminui uma das suas principais (4) Disponível em múltiplas plataformas características - a rapidez (5) Possui mecanismos de armazenamento com suporte de conexão (6) Possui um sistema único de cache para queries (armazena a query e o seu resultado) (7) Suporte para optimização de segurança - GRANT; REVOKE (8) GUI de gestão e desenvolvimento disponível e suportado em múltiplos sistemas operativos (9) É preferência dos grandes nomes mundiais: Facebook, Nokia, Flickr, Youtube (10) É o componente central do LAMP, WAMP e XAMPP Uma vez que a equipa de projecto dá preferência à utilização de ferramentas open source exclui- se à partida o Oracle e o MS SQL. Visto que o servidor corre sobre o OS Linux o MS-SQL fica mais umaOracle (1) existe muita informação disponível; (1) não é open source (considerado o mais caros do vez excluído. (2) multi-plataforma; mercado); (3) é rápido a processar informação; (2) é um Software que ocupa muito espaço em disco; Acabamos por nos confrontar (4) oferece uma poderosa combinação de tecnologia (aplicações de negócios pré- (3) não é compatível com FreeBSD (SO livre); com uma difícil escolha, integrada); (4) só a empresa detentora do Oracle (Oracle PostgreSQL ou MySQL. (5) possui tecnologia Flashback (recuperação de dados perdidos); Corporation) tem permissões para dar apoio aos seus (6) possuir ferramentas para gerar logs com grande nível de controlo; utilizadores; De entre as duas escolhemos o (7) permite encaminhar um tablespace separado para um tablespace TEMP e UNDO MySQL. Além de ter sido o (permite um melhor desempenho); modelo de base de dados que nos (8) possui uma ferramenta “Fine - Grained Access” (permite o acesso a determinadas foi leccionado na licenciatura, linhas de uma tabela); tem, no nosso ponto de vista uma (9) maior flexibilidade na definição dos arquivos de log de transacção; maior comunidade e tutoriais (10) permite facilidade na migração de dados de plataformas distintas; online, o que nos facilita a (11) permite a “paralelização” de operações pesadas (backups lógicos, importações via resolução de problemas. SQLLoader, consultas longas, etc.); (12) tem tolerâncias a erros; (13) permite o escalonamento horizontal (através de RAC – Real Aplication Cluster); (14) possui parâmetros de inicialização que se ajustam aos limites de memória do Oracle (permite a distribuição de dados entre as diversas áreas internas); (15) tem o controle de transacções dentro de um bloco PL/SQL; (16) através de uma ferramenta “Jobs Scheduler”, o Oracle permite o desencadeamento de acções específicas a partir de um horário específico;PostgreSQL (1) Gratuito e open source; (1) comunidade inferior à do MySQL (2) boa performance; (2) nível de aprendizagem superior aos restantes (3) multi-plataforma; (3) mais dificil de encontrar serviços com alojamento (4) altamente escalável; que suportem postgresql em relação ao mysql (5) integridade referencial e suporte a transacções nativas; (6) optimizado para aplicações mais complexas;
  5. 5. Syndication Languages Caracteristicas Atom (1) requer que ambos os feeds e campos incluam um titulo, que pode estar vazio, um elemento identificador, exemplo id e um campo para a data Para syndication language iremos de última actualização - timestamp utilizar o sistema ATOM: além de (2) escreve a informação de maneira mais detalhada ser mais recente do que o RSS é (3) presume-se que venha a ser a preferência de grande parte dos utilizadores ainda mais completo no que respeita à informação armazenada. O nosso principal objectivo é fazer RSS (1) semelhante ao ATOM, e tal como ele escrito baseado em XML chegar aos utilizadores da (2) mais antigo, e para quem procura algum detalhe na informação o ATOM assume-se como a melhor escolha plataforma as notícias mais recentes dos festivais.Sandboxed Languages Forças Fraquezas ActiveX (1) tem acesso completo ao sistema operativo Windows; (1) actualmente, só é suportado por arquitecturas Intel; (2) permite a criação de páginas Web com conteúdo dinâmico complexo; (2) só é compatível com o Internet Explorer (versão 3.0 (3) os seus componentes podem ser criados através de uma ampla variedade de ou superior); linguagens de programação (Visual Basic, Visual C++, Java, etc.); (3) foi projectado apenas para Windows (versões para (4) estão disponíveis bibliotecas de comandos open source; Mac e Unix estão a ser desenvolvidas); (5) todos os componentes ActiveX são actualizados automaticamente a partir do servidor (4) tem graves problemas de segurança (não há especificado quando a página é aberta; restrições à utilização dos recursos disponíveis nos (6) todos os seus comandos podem ser utilizados noutras aplicações ou podem ser computadores dos utilizadores); usados para criar novas extensões de funcionalidade; Flash (1) uma aplicação/animação em Flash pode demorar (1) por ser baseado em gráficos vectoriais as animações podem ser redimensionadas sem imenso tempo a carregar, o que pode “afastar” A utilização de linguagens perder a qualidade de imagem; possíveis utilizadores; sandboxed na plataforma não foi (2) alta qualidade de imagem; (2) o conteúdo da sua animação não é visível para o planeada pelo grupo, no entanto, (3) as animações podem ser incorporadas em páginas HTML (ex.: menus, filmes, etc.); motor de pesquisa; um projecto deve ser escalável e (4) é escalável; (3) é mais caro alterar uma aplicação/página Web se como tal optámos por fazer um (5) é de fácil controlo; estiver em flash do que se estiver em HTML; estudo de viabilidade das (6) permite um alto nível de interactividade (ex: animação); tecnologias mais populares no (7) permite velocidades de carregamento elevadas; mercado. (8) é multi-plataforma; Cada uma com as suas Java (1) é mais fácil de escrever, compilar, depurar e aprender do que outras linguagens de (1) é mais lento que outras linguagens compiladas (C, características, o flash, de entre programação (ex.: C++); C++, etc.); os requisitos funcionais e (2) usa alocação de memoria automática; (2) o padrão look and feel de aplicações gráficas em necessidades do projecto, (3) é independente da plataforma (facilita a passagem de um computador para outro); Java utilizando o toolkit Swing é muito diferente de pareceu-nos ser a melhor opção (4) é multi-plataforma; aplicativos nativos; por diversos motivos: (5) é seguro (foi uma das primeiras linguagens de programação a considerar a segurança (3) é difícil criar código não seja gerado pela VM; como parte integrante do seu projecto); (4) disparidade de configuração dos pontos flutuantes É facilmente integrada, quando (6) é robusto e fiável; com muitos processadores (torna-o mais lento quando comparada com os concorrentes (7) é capaz de detectar problemas/erros de forma precoce; faz cálculos); directos, num ambiente (8) é multi-tarefa; (5) não suporta heranças múltiplas; concebido por recurso a um servidor MySQL e linguagem de scripting PHP; Existe documentação mais do que suficiente, além de que o grupo já se encontra familiarizado com a tecnologia.
  6. 6. directos, num ambiente concebido por recurso a um servidor MySQL e linguagem de scripting PHP; Shockwave (1) integração de 3D; (1) requer plug-in instalado previamente; (2) leitura de XML; (2) limitação ao código reutilizável; Existe documentação mais do que (3) permite dimensionamento de imagem; (3) software Director é extremamente caro, quando suficiente, além de que o grupo já (4) é mais versátil (permite a criação de plataformas mais complexas, interactividade comparado com Flash; se encontra familiarizado com a mais elaborada e maiores detalhes nas animações); tecnologia. (5) o Shockwave suporta arquivos Flash (este último não suporta arquivos Shockwave); Silverlight (1) facilidade de integração com código; (1) incompatível com versões antigas do Windows, (2) pode ser desenvolvido sobre XML (XAML); como o Windows 2000 e 98; (3) suporte para Visual Basic e C#; (2) necessidade de software específico para suporte; (4) facilidade de integração com ASP.NET; (3) fraca penetração no mercado a curto prazo; (5) cross-browser; (4) tecnologia pouco desenvolvida (por ser recente); (6) é possível a sobreposição de comandos Silverlight, pois cada componente é (5) o apoio do WPF é limitado; processada por tags HTML DIV; (6) oferece problemas com alguns SO, nomeadamente (7) suporta várias linguagens de programação; Mac; Referênciashttp://www.w3.orghttp://www.w3schools.com/htmlhttp://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_using_HTML&alreadyAsked=1&rtitle=Advantages_of_using_HTMLphphttp://www.php.net/http://wiki.answers.com/Q/What_are_the_advantages_of_using_PHPJavascript- http://ezinearticles.com/?JavaScript-for-Web-Design---Advantages-and-Disadvantages&id=645013Csshttp://www.quackit.com/css/tutorial/css_advantages.cfmXmlhttp://www.w3schools.com/xhtml/xhtml_intro.asphttp://e-articles.info/e/a/title/General-advantages-and-disadvantages-of-HTML-vs-XML-and-XHTML/http://www.exforsys.com/tutorials/xml/xml-disadvantages.htmlFlexhttp://www.docstoc.com/docs/22463992/Vantagens-Desvantagens-Adobe-FLEX-vs-Microsoft-SILVERLIGHTOraclehttp://www.learn.geekinterview.com/database/oracle/advantages-of-using-oracle.htmlhttp://www.midstorm.org/~telles/2007/08/30/16-caracteristicas-do-oracle-que-fazem-falta-no-postgresql/
  7. 7. PostgreSQLhttp://www.midstorm.org/~telles/2007/08/30/coisas-do-postgresql-que-fazem-falta-no-oracle/activeXhttp://webdocs.cs.ualberta.ca/~zaiane/courses/cmput499/work/presentations/activex.htmlFlashhttp://www.articlesbase.com/web-design-articles/advantages-and-disadvantages-of-flash-web-design-676382.htmlJavahttp://www.webdotdev.com/nvd/articles-reviews/java/java-advantages-and-disadvantages-1042.htmlShockwavehttp://www.mcli.dist.maricopa.edu/show/interact/shock.htmlOutras referênciashttp://en.wikipedia.org/wiki/Server-side_scriptinghttp://en.wikipedia.org/wiki/Client-side_scriptinghttp://www.w3.org/TR/WCAG20-SCRIPT-TECHS/http://www.jsptut.com/Getfamiliar.jsphttp://sixrevisions.com/web-technology/web-languages-decoded/http://cplus.about.com/od/introductiontoprogramming/a/comparelangs_3.htm
  8. 8. Markup language Syndication lang. Server-scripting Frameworks (javascript) APIs Database client-scriptingGestão de utilizadoresFuncionalidade HTML XML PHP MYSQL AJAX Jquery Atom Facebook Twitter PaypalRegistar utilizadorActivar contaEfectuar LoginManter sessão iniciadaEditar Perfil de utilizadorFazer upload de foto para AvatarCriar FestivalVer feed de notícias do festivalCriar histórico de participações em festivaisListar festivais inscritos na plataformaVídeos Ver vídeos Fazer upload de vídeos Editar Informação do vídeo Definir política de privacidade do vídeo Inscrever filme em festival(ais) Criar Playlist de vídeosPesquisarAlterar a língua da páginaVer principais funcionalidades da plataforma - TOURConvidar contactos para se registarem na plataformaSeguir a plataforma nas redes sociaisDenunciar conteúdo ou utilizadorFazer report de errosContactar administrador do festival via mensagemSubscrever newsletter da plataformaSubscrever FEED da páginaVer mapa do siteBack end gestão festivaisFuncionalidade HTML XML PHP MYSQL AJAX Jquery Atom Facebook Twitter PaypalSubscrever serviço goldCriar evento do FestivalGerir inscriçõesAprovar/Reprovar participações + MotivoDefinir política de privacidade do festivalPersonalizar página perfil do festivalAdministrar equipa do festival Convidar utilizador júri Convidar utilizador administrador Criar guest list para o mercado do festival Remover estatuto dos utilizadoresAdministração do Evento Definir data de início da edição do festival Definir data limite para participação no festival Definir limite de participações no festival Criar categorias de concurso do festivalListagem de informação Listar últimas inscrições no festival Listar últimos vídeos seleccionados Listar últimos vídeos submetidos a concursoRecolha de dados/ Gerar estatística Definir critérios para recolha de informação/feedback Visualizar elementos estatísticos: gráficos; tabelas, etcPesquisar Pesquisar recursos associados ao festivalNotificações do festival Enviar Spot mails Enviar Mass mails Publicar NotíciaGestão das produções cinematográficas aprovadas e processo de selecção Visualizar vídeos em concurso Atribuir classificações Efectuar comentário Notificar/Contactar proprietário do vídeo Adicionar observações ao vídeoBack end do administrador da plataformaFuncionalidade HTML XML PHP MYSQL AJAX Jquery Atom Facebook Twitter PaypalEnviar spot mails e mass mails para utilizadoresMonitorizar dados de clientes e utilizadoresRever denúncias de utilizadores e conteúdosRever reports de erros de outros utilizadores
  9. 9. Remover utilizadores da plataformaValidar registo do festivalCancelar subscrições do festivalEliminar definitivamente os vídeos "ocultos" de outros utilizadoresMonitorizar informação na plataformaSistemas de AjudaFuncionalidade HTML XML PHP MYSQL AJAX Jquery Atom Facebook Twitter PaypalHelpdesk Pedir suporte por tickets Fazer review da ajuda Utilizar linha de apoio telefónicaFAQ Aceder em qualquer momento Pesquisar dentro do FAQHelp contextual Permite obter ajuda no contexto em que se insereAplicável à funcionalidadeNão aplicável à funcionalidade

×