Requisitos não funcionais

Transcrição

Requisitos não funcionais
Projecto JobFinder iTV
DeCa - UA 2012
Índice
Introdução ............................................................................................................... 3
Requisitos funcionais ................................................................................................ 4
Requisitos não funcionais ......................................................................................... 6
Viabilidade técnica ................................................................................................... 7
1)
HARDWARE ................................................................................................................7
Decisão ................................................................................................................................ 10
2) LINGUAGENS E FRAMEWORKS ...................................................................................... 11
Decisão ................................................................................................................................ 14
3) SOFTWARE ............................................................................................................... 15
Decisão ................................................................................................................................ 16
4) PROBLEMÁTICA ACTUAL .............................................................................................. 18
5) CONCLUSÃO .............................................................................................................. 19
2
Projecto JobFinder iTV
DeCa - UA 2012
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
Projecto JobFinder iTV
DeCa - UA 2012
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
Projecto JobFinder iTV
DeCa - UA 2012
Figura 2
5
Projecto JobFinder iTV
DeCa - UA 2012
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
Projecto JobFinder iTV
DeCa - UA 2012
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
Projecto JobFinder iTV
DeCa - UA 2012
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
Projecto JobFinder iTV
DeCa - UA 2012
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
Projecto JobFinder iTV
DeCa - UA 2012
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 29-02-2012, a partir
de http://en.wikipedia.org/wiki/Microsoft_SQL_Server
Microsoft. "Database Management | Data Mining & Warehousing | Microsoft SQL Server." Consultado a
29-02-2012, a partir de http://www.microsoft.com/sqlserver/en/us/default.aspx
Microsoft. "Hardware and Software Requirements for installing SQL Server 2008 R2" Consultado a 2902-2012, a partir de http://msdn.microsoft.com/en-us/library/ms143506(SQL.105).aspx
Wikipedia. "Tru2way - Wikipedia, the free encyclopedia." Consultado a 29-02-2012, a partir de
http://en.wikipedia.org/wiki/Tru2way
Tru2way. "tru2way." Consultado a 29-02-2012, a partir de http://www.tru2way.com/
Admin. "Meo Box o que é?." Consultado a 29-02-2012, a partir de http://ocomandoemeo.allforum.net/t5-meo-box-o-que-e
Meo. "Manual de Utilização." Consultado a 29-02-2012, a partir de
http://imgs.sapo.pt/files/meo_v2/pdf/Manual_de_Utilizacao.pdf
Wikipedia. "Windows CE - Wikipedia, the free encyclopedia." Consultado a 29-02-2012, a partir de
http://pt.wikipedia.org/wiki/Windows_CE
Vlaskha . "Bugs da ZON BOX HD+/HD+DVR." Consultado a 01-03-2012, a partir de
http://forum.zwame.pt/archive/index.php/t-523528.html
10
Projecto JobFinder iTV
DeCa - UA 2012
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
Projecto JobFinder iTV
DeCa - UA 2012
Figura 7
12
Projecto JobFinder iTV
DeCa - UA 2012
Figura 8
13
Projecto JobFinder iTV
DeCa - UA 2012
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 29-022012, a partir de http://en.wikipedia.org/wiki/C_Sharp_(programming_language)
Microsoft. "Getting started with Visual C#." Consultado a 29-02-2012, a partir de
http://msdn.microsoft.com/en-US/library/a72418yk(v=vs.80).aspx
Wikipedia. " Visual Basic .NET - Wikipedia, the free encyclopedia." Consultado a 29-02-2012, a partir de
http://en.wikipedia.org/wiki/Visual_Basic_.NET
Wikipedia. " Windows Presentation Foundation - Wikipedia, the free encyclopedia." Consultado a 29-022012, a partir de http://en.wikipedia.org/wiki/Windows_Presentation_Foundation
Microsoft. "Windows Presentation Foundation." Consultado a 29-02-2012, a partir de
http://msdn.microsoft.com/en-us/library/ms754130.aspx
Microsoft. "Introducing Windows Presentation Foundation." Consultado a 29-02-2012, a partir de
http://msdn.microsoft.com/en-us/library/aa663364.aspx
W3Schools. "Introducing to XML." Consultado a 29-02-2012, a partir de
http://www.w3schools.com/xml/xml_whatis.asp
14
Projecto JobFinder iTV
DeCa - UA 2012
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
Projecto JobFinder iTV
DeCa - UA 2012
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
Projecto JobFinder iTV
DeCa - UA 2012
Fontes consultadas:
Wikipedia. " Microsoft Visual Studio - Wikipedia, the free encyclopedia." Consultado a 29-02-2012, a
partir de http://en.wikipedia.org/wiki/Microsoft_Visual_Studio
Microsoft. "Visual Studio Home | Microsoft Visual Studio." Consultado a 29-02-2012, a partir de
http://www.microsoft.com/visualstudio/en-us
Wikipedia. " Microsoft mediaroom - Wikipedia, the free encyclopedia." Consultado a 01-03-2012, a
partir de http://en.wikipedia.org/wiki/Microsoft_Mediaroom
Microsoft. "Introducing to WPF." Consultado a 29-02-2012, a partir de http://msdn.microsoft.com/enus/library/aa970268.aspx
Microsoft. "Microsoft Mediaroom Presentation Framework – Building Differantiated Experiences 2.0."
Consultado a 01-03-2012, a partir de http://www.interactive-tvaward.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 29-02-2012, a partir de http://www.microsoft.com/visualstudio/en-us/products/2010editions/professional/overview
17
Projecto JobFinder iTV
DeCa - UA 2012
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 29-02-2012, a partir de
http://imgs.sapo.pt/files/meo_v2/pdf/Manual_de_Utilizacao.pdf
18
Projecto JobFinder iTV
DeCa - UA 2012
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

Documentos relacionados

Requisitos não funcionais

Requisitos não funcionais Wikipedia. " C Sharp (programming_language) - Wikipedia, the free encyclopedia." Consultado a 29-022012, a partir de http://en.wikipedia.org/wiki/C_Sharp_(programming_language) Microsoft. "Getting ...

Leia mais