Introdução... 3 Requisitos funcionais... 4 Requisitos não funcionais... 6 Viabilidade técnica PDF
Download "Introdução... 3 Requisitos funcionais... 4 Requisitos não funcionais... 6 Viabilidade técnica... 7"
Washington Carvalho Alencastre
2 Índice Introdução... 3 Requisitos funcionais... 4 Requisitos não funcionais... 6 Viabilidade técnica ) HARDWARE... 7 Decisão ) LINGUAGENS E FRAMEWORKS Decisão ) SOFTWARE Decisão ) PROBLEMÁTICA ACTUAL ) CONCLUSÃO
3 Introdução De acordo com o processo de criação de um projeto é fulcral definir os requisitos funcionais e a viabilidade técnica do mesmo, uma vez que estes permitem entender o que o utilizador irá enfrentar na utilização da aplicação e o que realmente é necessário para o correto desenvolvimento da aplicação, sendo que o presente documento vem, então, responder a esta necessidade. 3
4 Requisitos funcionais Os requisitos funcionais (figura 1 e 2) representam as ações/funcionalidades possíveis de executar na aplicação por parte do utilizador. Para uma melhor organização, e de acordo com o que foi pedido, estes foram agrupados de acordo com os ecrãs ou momentos na aplicação, hierarquizados por prioridade de implementação. Foram também associados ao acesso por parte dos dois tipos de utilizadores: registados e não registados, havendo ainda a indicação das dependências entre os requisitos. Figura 1 4
6 Requisitos não funcionais Nos requisitos não funcionais (figura 3) procuramos perceber o que seria fundamental que a aplicação tivesse tanto a nível de arquitetura física como da arquitetura lógica. De realçar que este tipo de requisitos não depende do utilizador. Figura 3 Tendo em conta os requisitos não funcionais definidos, podemos construir um esquema de forma a entender qual a ligação existente entre os mesmos. Desta forma, conseguimos também perceber qual será a arquitetura sobre a qual a aplicação irá funcionar (figura 4). Figura 4 6
7 Viabilidade técnica Em termos da elaboração da viabilidade técnica, o grupo está limitado uma vez que nos foi apenas atribuído a box da MEO para o desenvolvimento da aplicação. Para além disso, as funcionalidades necessárias para o correcto funcionamento da mesma irão necessitar do mesmo HARDWARE, SOFTWARE e linguagens de programação. Sendo que a plataforma televisão interativa irá ser utilizada mais como um suporte de consulta de informação e não produção e edição, toda a programação irá basear-se na apresentação dessa informação através da correcta comunicação com o servidor. No entanto, apesar de estarmos limitados dessa forma, pensamos que seria importante fazer a comparação entre as várias soluções possíveis. 1) HARDWARE Em termos de hardware, teremos a necessidade de três dispositivos. No primeiro caso, iremos necessitar de um televisor que permita a ligação à Meo box, que pode ser tanto por HDMI ou por ligação SCART, pois a box é que irá ser responsável pelo processamento da informação que irá receber bem como de toda a interação realizada pelo utilizador, sendo o utilizador apenas um dispositivo de output. Em termos da box a utilizar, existem várias opções a que poderíamos recorrer, como é o caso da Meo Box, da set-up box Tru2way ou até mesmo da Zon Box (figura 5 e 6). a) Meo Box A Meo Box tem a essencial vantagem de permitir o suporte de aplicações interactivas na sua box, pois o facto de esta funcionar através de IPTV faz com que seja mais simples a ligação ao servidor de forma a efetuar os necessários pedidos ao servidor para a execução da aplicação. Para além disso, funciona com o sistema operativo Windows CE, sistema utilizado neste tipo de plataforma bem como em Tablet PC ou outros dispositivos móveis. Outra vantagem está no facto de esta box estar disponível nos Laboratórios da Sapo de forma aberta, ou seja, está já preparada para a implementação de aplicações que poderão ser desenvolvidas na própria universidade, sendo então mais acessível por parte do grupo. b) True2way A Tru2way consiste não apenas na box mas também num serviço de televisão interativo, tal como a Meo. Permite também o desenvolvimento de aplicações interactivas, tendo apenas como diferença a utilização do middleware baseado em 7
8 Java. Não utiliza Java na sua totalidade, mas sim uma API do Java (JavaTV) desenvolvida exclusivamente para a criação de aplicações para set-up boxes. Para além disso, o facto de suportar Java, faz com que seja possível o desenvolvimento de aplicações não só por parte dos operadores responsáveis pela ligação, mas também por parte de outros programadores. c) Zon Box A Zon Box é também uma possível hipótese uma vez que esta já suporta um conjunto de widgets que permitem a interatividade do utilizador com o dispositivo e ter acesso a informação que não está relacionada apenas com o conteúdo de programação da televisão. No entanto, tendo em conta a experiência pessoal dos elementos do grupo deste aparelho bem como na opinião de vários internautas espalhados pelos vários blogues portugueses, entendemos que a velocidade de interatividade e os paradigmas utilizados em termos de interface não são muito favoráveis para os requisitos funcionais de que dispomos. Isto poderia levar a um tempo de espera para o utilizador entre os vários ecrãs demasiado excessivo, o que acabaria por tornar esta aplicação algo cuja implementação no mercado não seria do interesse da operadora Zon. Para além da problemática da velocidade, existe também o facto da documentação em relação ao ambiente de desenvolvimento neste dispositivo ser muito reduzida. Figura 5 8
9 Figura 6 d) Base de dados Outra necessidade em termos de hardware será então um servidor MySQL que seja responsável pelo armazenamento da base de dados bem como toda a informação que dela irá fazer parte. Uma vez que iremos recorrer à linguagem C.Sharp que recorre à.net Framework, e sabendo que o sistema operativo da Meo Box é o da Microsoft e a linguagem utilizada no desenvolvimento para esta box é o C.Sharp ou Visual Basic.Net, o ideal seria a utilização de um servidor com MS SQL Server, pois este sistema contém uma componente chamada SQL CLR (Common Languagem Runtime) que possui já incorporada a.net Framework Runtime, ou seja, possui já a framework responsável pelo processamento e execução de programas que recorre ao.net, como é o caso do C.Sharp ou do Visual Basic.NET. No entanto é de frisar o MS SQL Server está apenas disponível para plataforma Windows. A outra hipótese seria então utilizar o sistema de base de dados SQL. Este é um sistema gratuito que, ao contrário do MS SQL Server é possível instalar em qualquer 9
10 plataforma (Windows, Linux ou Mac OS X) e também é um sistema que é utilizado pela maioria dos fornecedores de alojamento na web. Decisão: Uma vez que o equipamento que nos irá ser fornecido em primeira instância será a Meo Box, então este será o dispositivo pelo qual nos iremos basear, uma vez que também o Laboratório da Sapo nos permite utilizar a sua box para o desenvolvimento da aplicação e respetivo teste. Em relação ao servidor, iremos recorrer ao MySQL pois, tal como indicado acima, este é gratuito e é compatível com todas as plataformas que estão associadas a este projeto (Web, Mobile e itv). Fontes consultadas: Wikipedia. "Microsoft SQL Server - Wikipedia, the free encyclopedia." Consultado a , a partir de Microsoft. "Database Management Data Mining & Warehousing Microsoft SQL Server." Consultado a , a partir de Microsoft. "Hardware and Software Requirements for installing SQL Server 2008 R2" Consultado a , a partir de Wikipedia. "Tru2way - Wikipedia, the free encyclopedia." Consultado a , a partir de Tru2way. "tru2way." Consultado a , a partir de Admin. "Meo Box o que é?." Consultado a , a partir de Meo. "Manual de Utilização." Consultado a , a partir de Wikipedia. "Windows CE - Wikipedia, the free encyclopedia." Consultado a , a partir de Vlaskha. "Bugs da ZON BOX HD+/HD+DVR." Consultado a , a partir de 10
11 2) LINGUAGENS E FRAMEWORKS a) C.Sharp e Visual Basic.Net Em termos de linguagens, teremos duas escolhas ao nosso dispor. É necessário ter em conta que ambas terão que suportar a.net Framework, uma vez que esta framework consiste numa livraria que permite a utilização de interfaces de utilizador, acesso a informação localizada numa base de dados, e que permite sobretudo o desenvolvimento de programas para o sistema operativo Windows, como é o caso da Meo Box. Desta forma, poderemos tanto recorrer ao C.Sharp como ao Visual Basic.NET (figura 7). Ambas possuem uma desvantagem para os elementos do grupo, pois a experiência de desenvolvimento com recurso a estas é praticamente nula, o que faz com que seja necessário recorrer a uma fase de aprendizagem em termos do seu funcionamento, sintaxe e mecanismos de segurança. b) Windows Presentation Framework Enquanto C.Sharp e Visual Basic.NET são responsáveis por toda a vertente lógica, irá ser necessário recorrer ao Windows Presentation Framework (WPF) para a vertente gráfica e de interface. Esta Framework consiste na utilização do DirectX que faz a renderização de todo o subsistema gráfico das aplicações criadas para Windows. Mais uma vez, esta recorre à biblioteca.net, pelo que a única escolha em termos de software para a criação de toda a vertente gráfica será este sistema (figura 8). c) XML Uma vez que o nosso serviço irá recorrer a um conjunto de feeds de forma a recolher informação relacionada com ofertas de emprego a partir de várias fontes, é necessário que essa informação seja convertida para XML para depois ser então colocada no servidor, pois os feeds RSS que são fornecidos por parte dos vários websites que estão codificados por código XML (figura 8). 11
14 Decisão: Uma vez que estamos limitados a estas linguagens, e depois de termos contactado um elemento do Laboratório da Sapo, foi-nos aconselhado a utilização do C.Sharp, uma vez que teríamos o apoio por parte do próprio laboratório pois todas as aplicações para o Meo são lá desenvolvidos por esta linguagem. Em relação à vertente gráfica, não temos também nenhuma segunda escolha, uma vez que o Windows Presentation Framework recorre ao.net Framework, tal como o C.Sharp, de forma a que haja alguma correspondência entre ambas. Para além disso, mais uma vez, esta é a framework que o Laboratório também utiliza e em que nos pode dar mais apoio e documentação. Fontes consultadas: Wikipedia. " C Sharp (programming_language) - Wikipedia, the free encyclopedia." Consultado a , a partir de Microsoft. "Getting started with Visual C#." Consultado a , a partir de Wikipedia. " Visual Basic.NET - Wikipedia, the free encyclopedia." Consultado a , a partir de Wikipedia. " Windows Presentation Foundation - Wikipedia, the free encyclopedia." Consultado a , a partir de Microsoft. "Windows Presentation Foundation." Consultado a , a partir de Microsoft. "Introducing Windows Presentation Foundation." Consultado a , a partir de W3Schools. "Introducing to XML." Consultado a , a partir de 14
15 3) SOFTWARE a) Microsoft Visual Studio Como software iremos recorrer ao Microsoft Visual Studio (figura 9). É uma ferramenta IDE (Integrated Development Environment) que permite, para além da programação em C.Sharp ou Visual Basic.NET, a integração do WPF bem como da.net Framework. Desta forma é possível ter a integração de todos os ingredientes necessários para o desenvolvimento da aplicação que pretendemos. Apesar disso, também possui uma versão gratuita, fazendo com que a nível de custos não tenhamos quaisquer limitações, uma vez mais que a própria WPF também é gratuita. Para além disso, é necessário utilizar o Microsoft Mediaroom ADK, ou seja, num plugin que permite a integração também com o Microsoft Visual Studio de forma a que seja possível o desenvolvimento da aplicação juntamente com o WPF. O Microsoft Mediaroom é uma plataforma de edição de software que funciona através de IPTV cujo sistema operativo utilizado é o Windows. Esta é uma plataforma que assegura a interatividade do utilizador com o serviço de televisão, como o serviço on-demand ou a programação televisiva. Desta forma, é necessário a utilização do Application Development Kit do Microsoft Mediaroom de forma a que a aplicação que vamos desenvolver seja compatível com a Meo Box. Para além disso, a integração deste pacote só é possível com o Microsoft Visual Studio, uma vez que todo o software pertence à Microsoft. b) Eclipse Outra escolha possível como ferramenta IDE (Integrated Development Environment) será então o Eclipse (figura 9). Esta é uma ferramenta open-source, gratuita muito intuitiva e que está disponível para várias plataformas (Windows, Linux e Mac OS X). Apesar disso, ela permite utilizar uma extensa quantidade de plugins e frameworks de forma a tornar a programação mais produtiva e simples. Apesar de ser utilizada maioritariamente para desenvolvimento em Java, ela permite a instalação de outros plugins de forma a que seja possível o desenvolvimento em outras linguagens. Esta seria uma excelente ferramenta para o desenvolvimento da aplicação em C.Sharp, uma vez mais que inclui o plugin para utilizar a.net Framework bem como para a Windows Presentation Framework. No entanto, não permite a incorporação com o Microsoft Mediaroom ADK, pacote essencial para o desenvolvimento desta aplicação, uma vez que a Meo Box recorre a este software. 15
16 Figura 9 Decisão: Ao analisar ambas as hipóteses para o desenvolvimento da aplicação, escolheríamos o Eclipse, uma vez que este é gratuito e muito intuitivo. No entanto, o facto de não permitir utilizar o Microsoft Mediaroom ADK, faz com que seja uma opção a descartar. Para além disso, depois de contactar um elemento do Laboratório da Sapo, foi-nos vivamente aconselhado utilizarmos o Microsoft Visual Studio, uma vez que é este o software utilizado pelo Laboratório e que de certa forma nos podem ajudar em qualquer problema que tenhamos. Outra razão para esta escolha é o facto de este IDE permitir a incorporação tanto da Windows Presentation Framework como o Microsoft Mediaroom ADK de forma a termos acesso a ferramentas e opções essenciais para o correto desenvolvimento e funcionamento da aplicação. 16
17 Fontes consultadas: Wikipedia. " Microsoft Visual Studio - Wikipedia, the free encyclopedia." Consultado a , a partir de Microsoft. "Visual Studio Home Microsoft Visual Studio." Consultado a , a partir de Wikipedia. " Microsoft mediaroom - Wikipedia, the free encyclopedia." Consultado a , a partir de Microsoft. "Introducing to WPF." Consultado a , a partir de Microsoft. "Microsoft Mediaroom Presentation Framework Building Differantiated Experiences 2.0." Consultado a , a partir de award.de/fileadmin/user_upload/material/microsoft_mediaroom_presentation_framework_- _white_paper.pdf Microsoft. "Overview of Microsoft Visual Studio 2010 Professional Microsoft Visual Studio." Consultado a , a partir de editions/professional/overview 17
18 4) PROBLEMÁTICA ACTUAL Após uma análise a todas as várias possibilidades, entendemos que a Meo Box coloca-nos algumas limitações. Em primeira instância, gostaríamos de referir que a linguagem de programação utilizada no desenvolvimento de aplicações para esta box é desconhecida pelos elementos do grupo e, dada a necessidade de uma aprendizagem e o curto espaço temporal que temos ao nosso dispor, temos em mente uma segunda hipótese para a criação do protótipo de alta-fidelidade, sendo esta o Adobe Flash. Não só a linguagem a utilizar na Meo Box nos levou a esta hipótese, mas também algumas características que não são favoráveis tendo em conta o número de funcionalidades e a sua exigência ao nível de processamento. Visto que a capacidade de memória RAM da box é muito reduzida (128MB) e o processador também possui uma velocidade de relógio reduzida (266Mhz), concluímos que a velocidade da navegação e de todas as ações de interação seria muito baixa, uma vez que a quantidade de informação a ser disponibilizada, tanto texto, como vídeos e imagens das várias empresas e do utilizador é elevada, afastando assim potenciais utilizadores. Fontes consultadas: Meo. "Manual de Utilização." Consultado a , a partir de 18
19 5) CONCLUSÃO Considerando a plataforma escolhida para este projeto televisão interativa e de acordo com a informação que nos foi dada inicialmente, em que a implementação seria na Meo Box, é de realçar que este seria o cenário ideal mas que pode não se realizar. Tendo em conta as limitações técnicas que este equipamento nos apresenta, surgiu a possibilidade de o protótipo se realizar em Adobe Flash, para que também se cumpram as funcionalidades desejadas e não condicionarmos a ação do utilizador. Caso optemos pelo desenvolvimento na Meo Box será necessário existir uma aprendizagem da linguagem de C.Sharp e a utilização do software como o Microsoft Visual Studio 2010 Profissional, Windows Presentation Framework e Microsoft MediaRoom ADK, uma vez que estas aplicações e linguagens são as utilizadas pelo Laboratório da Sapo e as quais nos foram aconselhadas pelo mesmo. Por outro lado, se optarmos pela prototipagem em Adobe Flash, em termos de linguagem de programação, precisamos dos conhecimentos, já adquiridos, de ActionScript 3. De realçar que foi também importante a consideração do JobFinder nas outras duas plataformas, web e mobile, sendo que o servidor deveria ser compatível com os três serviços, daí optarmos pelo MySQL. Nota: A decisão acerca da opção escolhida será tomada o mais breve possível. 19