Controla4Mobile Ferramenta de apoio gerencial ao processo de desenvolvimento de software para dispositivos móveis



Documentos relacionados
IW10. Rev.: 02. Especificações Técnicas

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Noções de. Microsoft SQL Server. Microsoft SQL Server

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Planejando o aplicativo

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Documento de Arquitetura

Especificação Suplementar

Engenharia de Requisitos Estudo de Caso

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

2 Diagrama de Caso de Uso

Personata Recorder. Manual de Instalação e Configuração

Documento de Análise e Projeto VideoSystem

I N T R O D U Ç Ã O W A P desbloqueio,

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

02 - Usando o SiteMaster - Informações importantes

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

Engenharia de Software III

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

Outlook XML Reader Versão Manual de Instalação e Demonstração UNE Tecnologia

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

Obs: É necessário utilizar um computador com sistema operacional Windows 7.

Introdução à Engenharia de Software

Universidade da Beira Interior

TUTORIAL DE UTILIZAÇÃO. Rua Maestro Cardim, cj. 121 CEP São Paulo - SP (11)

Bem-vindo! O que há de novo no PaperPort 10?

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

TRBOnet MDC Console. Manual de Operação

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Manual do Usuário Android Neocontrol

OneDrive: saiba como usar a nuvem da Microsoft

Manual Integra S_Line

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

1

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

4 Estrutura do Sistema Operacional Kernel

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Programa de Instalação do Lince GPS

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Manual de Usuário Versão 3.0

Fundament n os s da platafo f rm r a. NE N T André Menegassi

Manual do Visualizador NF e KEY BEST

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

18/04/2006 Micropagamento F2b Web Services Web rev 00

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc.

BEM-VINDO AO dhl PROVIEW

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE: SÃO CAETANO DO SUL - SP - CEP

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Itinerários de Ônibus Relatório Final

CAPÍTULO 8 Conexões de banco de dados para programadores ASP.NET

DESENVOLVIMENTO DE SOFTWARE AULA 1

Programa de Atualização de Pontos do Lince GPS

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Ricardo Roberto de Lima UNIPÊ APS-I. Históricos e Modelagem Orientada a Objetos

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

Análise e Projeto Orientados por Objetos

Agregador de feeds RSS para dispositivos móveis

INTERNET HOST CONNECTOR

Manual de padronização para envio de orçamento e pedidos por para CristalTemper.

Infracontrol versão 1.0

Histórico de Revisão Data Versão Descrição Autor

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 9.1

Projeto Arquitetural do IEmbedded

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Automação de Locais Distantes

Sistemas de Produtividade

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

Sistemas Distribuídos

Agenda. A Empresa História Visão Conceito dos produtos. Produto Conceito Benefícios Mobilidade Vantagens. Clientes

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Software Web para: Empresas, Governo, Organizações, Entidades de Classe, Sindicatos, ONG's e Profissionais Liberais

Manual Captura S_Line

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Guia de instalação. Configuração necessária Instalação e ativação

1 Inicie um novo. Guia de Referência Rápida de Gerenciamento de Projeto para o Project projeto

UML - Unified Modeling Language

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

VPAT (Voluntary Product Accessibility Template, Modelo de Acessibilidade de Produto) do eportfolio da Desire2Learn Maio de 2013 Conteúdo

Procedimento para instalação do BLACKBERRY Software de Imagem via Celular

TREINAMENTO. Novo processo de emissão de certificados via applet.

Software. Módulo do GDM que funciona em plataforma Web Gerenciamento de Manutenção

Documentação. Programa de Evolução Contínua Versão 1.76

Transcrição:

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS DEPARTAMENTO DE INFORMÁTICA INF655 Computação Móvel Controla4Mobile Ferramenta de apoio gerencial ao processo de desenvolvimento de software para dispositivos móveis Alunos: Professor: Clayton Vieira Fraga Filho Evaldo de Oliveira da Silva Geraldo Afonso da Cruz Ronney M. de Castro Mauro Nacif Viçosa MG Fevereiro de 2007

Sumário 1. Introdução e Motivação...4 2. Tecnologias usadas...7 2.1. Análise e detalhamento das Tecnologias Usadas...8 2.2. Características dos Dispositivos Móveis para o desenvolvimento de Aplicações Web 8 2.3. Capacidades...9 2.4. A importância da Conectividade...9 2.5. Independência de Dispositivo...9 2.6. Microsoft.Net...10 2.7. Microsoft Smart Device Extension (MSDE)...10 2.8. Microsoft Asp.Net Mobile Controls...10 2.9. Descrição do.net Framework...11 2.10. Projetando Aplicações Web Multiplataforma usando.net...12 2.11. A linguagem de programação ASP.NET Mobile Web Application...13 2.12. Desenvolvimento de Controles em Asp.NET e APIs...14 2.13. Asp.Net Architecture...15 2.14. Soluções existentes para o desenvolvimento de aplicativos Web em dispositivos móveis...15 2.15. Banco de dados Access...16 2.16. Tecnologia Wi-Fi...16 2.17..NET Compact Framework...17 2.18. SQL Server CE...18 3. Descrição do funcionamento do Controla4Mobile...19 3.1. Exemplos de utilização em Emuladores...26 3.2. Consulta Estados dos Requisitos - Motorola SVLR L7...27 3.3. Tela Principal NOKIA 3650...27 3.4. Seleção de Projetos - Nokia 3250...28 3.5. Requisitos Alterados - Siemens SX1...28 3.6. Alterações Propostas Nokia N70...29 3.7. Seleção do Estado do Caso de Uso XDA III...29 3.8. Consulta de Detalhes do Projeto SDA...30 3.9. Consulta do Requisito SHARP GX30...30 3.10. Listagem de Requisitos XDA III...31 4. Documentação do sistema...32 4.1. Objetivos deste documento...32 4.2. Metas do Sistema...32 4.3. Expectativas dos usuários...32 4.4. Limitações...33 4.5. Equipe de desenvolvimento...33 5. Requisitos...33 5.1. Requisitos Funcionais...33 5.1.1. Informações Cadastrais dos Projetos...33 5.1.2. Lista de Requisitos...34 5.1.3. Lista de Casos de Usos...34 5.1.4. Lista de Casos de Testes...34 5.1.5. Os dez últimos requisitos alterados...34 5.1.6. Rastreabilidade...35 5.1.7. Estados dos requisitos...35

5.1.8. Número de alterações propostas por stakeholder...35 5.1.9. Consulta dos Casos de Usos por Estado...36 5.2. Requisitos Não-Funcionais...36 5.2.1. A disponibilidade do Browser no Dispositivo Móvel...36 5.2.2. Acesso aos dados...36 5.2.3. Consulta dos Casos de Usos por Estado...36 6. Casos de Uso...37 6.1. Diagrama de Caso de Uso...37 6.2. Listar Requisitos...38 6.3. Consultar Estados do Caso de Uso...39 6.4. Consultar Estados dos Requisitos...40 6.5. Consultar Requisitos Alterados...41 6.6. Consultar Alterações Propostas...42 6.7. Selecionar Projeto...43 7. Diagramas de Seqüência...44 7.1. Consulta dos Estados dos Requisitos...44 7.2. Consulta Alterações Propostas...45 7.3. Consulta Casos de usos...46 7.4. Consultar Requisitos Alterados...46 7.5. Consultar Requisitos...47 7.6. Lista Requisitos...47 7.7. Selecionar Projeto...48 8. Modelo de Classes...49 8.1. Diagrama de Classes de Trabalho...49 8.2. Diagrama de Classes - Interfaces...49 8.3. Diagrama dos Objetos de Negócios...50 8.4. Diagrama da Camada de Negócios e Interfaces...50 8.5. Diagrama dos Objetos de acesso ao banco de dados...51 9. Projeto da camada de Interface com o Usuário (GUI)...52 9.1. Diagrama de Estados de Navegação...52 10. Camada de Persistência...53 10.1. Modelo de Entidade-Relacionamento do Banco de Dados...53 10.2. Esquema Físico do Banco de Dados...53 11. Protótipo para Palm...54

1. Introdução e Motivação Com a globalização, atualmente os mercados têm se tornado mais competitivos, e a demanda por produtos e serviços de melhor qualidade surgem como fatores decisivos no momento da escolha do parceiro para o crescimento dos negócios. Na área de desenvolvimento de software não é diferente. O cliente, cada vez mais exigente, demanda por um sistema seguro, que atenda suas necessidades e que seja desenvolvido no menor tempo possível. Geralmente a empresas têm buscado não somente colocar no mercado produtos que atendam as demandas dos seus clientes, mas também a otimização da sua produção. Essa otimização se relaciona com as técnicas e o modo de produção referente às empresas produtoras de software. Na indústria em geral, a qualidade de um produto depende diretamente dos processos, materiais e técnicas utilizadas. A realidade do setor de desenvolvimento de software é semelhante, pois este também precisa de processos definidos para o desenvolvimento de seus produtos, como também a utilização de ferramentas adequadas que garanta a qualidade do produto e a satisfação do cliente [KAN 2002]. Segundo [PRESS 2006], o American Heritage Dictionary define qualidade como uma característica ou atributo de alguma coisa. Como atributo de um item, a qualidade se refere a características mensuráveis coisas que nós podemos comparar com padrões conhecidos tais como comprimento, cor, propriedades elétricas e maleabilidade. A qualidade do projeto de software refere-se a características que os projetistas especificam para certo item. Além disso, a qualidade do produto final também pode ser medida de acordo com as especificações seguidas durante a fabricação, atendendo os requisitos levantados e atingindo as expectativas do cliente [PRESS 2006]. Porém, para se obter qualidade nos projetos de software é necessário que se tenha um processo bem definido para seu desenvolvimento. Pode-se considerar como vantagem a adoção de processos e metodologias para o desenvolvimento de software. Como desvantagem o tempo gasto para gerenciar e documentar todo o projeto de acordo com o processo. Mas, um software bem documentado é a garantia de que as manutenções serão feitas com menos impacto, além de permitir a localização dos requisitos e suas dependências, possibilitando o gerenciamento das mudanças e evoluções no funcionamento da aplicação.

5 Grandes empresas produtoras de software têm seus processos definidos e contratos de níveis de serviço estabelecidos com os seus clientes, podendo inclusive mensurar a satisfação e qualidade do produto entregue. No entanto, a implantação ou criação de um processo de desenvolvimento de software em pequenas empresas não é algo comum, pois geralmente o foco está no desenvolvimento para o atendimento imediato do problema do cliente. Sendo assim, o gerenciamento dos requisitos e das mudanças ao longo do projeto torna-se um processo bastante árduo, uma vez que, não há documentação formal e padronizada das necessidades do cliente, quadro esse agravado muitas vezes pela grande rotatividade de mão-de-obra (turnover) [FRAGA FILHO e REIS 2005]. A falta de registro formal e padronizado de requisitos afeta o processo de manutenção adaptativa ou evolutiva do software, dificultando a identificação dos impactos da mudança de algum requisito sobre o restante do sistema. O registro e o gerenciamento das solicitações do cliente e as suas posteriores mudanças ao longo do projeto exigem, da empresa desenvolvedora de software, organização e padronização, para que o produto final apresente qualidade, proporcionando uma fácil manutenção e continuidade. Desta forma, torna-se viável a criação de ferramentas para gerenciamento e/ou registro de requisitos de software que possibilitem flexibilidade aos desenvolvedores de software. Este trabalho apresenta o Controla4Mobile, como uma solução para o registros e consultas de requisitos de software. Esta aplicação se baseia nos princípios da computação móvel, oferecendo ao engenheiro de software, responsável pelo levantamento de requisitos, desenvolver suas atividades de forma flexível. O Controla4Mobile é um módulo do Controla (Figura 1), que é uma ferramenta para gestão de requisitos disponível gratuitamente na Internet [FRAGA FILHO e REIS 2005]. Atualmente, o Controla possui mais de 12000 downloads, e aproximadamente 1500 usuários ativos (universidades, professores e alunos). Através da comunicação do dispositivo móvel (Palmtop s, PDA s, celulares, etc.), o engenheiro de software pode utilizar o Controla4Mobile para se comunicar à base de dados do Controla, realizando consultas no projeto em desenvolvimento. Isto permite acelerar o processo de mudança ou desenvolvimento do software de forma on-line, uma vez que o engenheiro de software pode estar distante da equipe e do gerente de desenvolvimento.

Figura 1 - Tela principal do Controla 6

2. Tecnologias usadas Para o desenvolvimento do Controla4Mobile foram usadas tecnologias de desenvolvimento de software da Microsoft, através do.net Framework, ASP.NET e o banco de dados Microsoft Access. Para a execução do Controla4Mobile, é necessário a existência de um browser no dispositivo móvel. Todas as tecnologias usadas para a construção Controla4Mobile são muito difundidas, devido à facilidade de encontrar tutoriais, livros e grupos de discussão. Outro fator importante na escolha dessas tecnologias é a curva de aprendizagem. O aprendizado em outras tecnologias como Java e Oracle, por exemplo, é mais difícil do que as tecnologias usadas pela Microsoft. Além disso, o uso de tecnologias (arquitetura, linguagem de programação e banco de dados) de uma mesmo fabricante facilita a integração e a implantação do sistema, sem a necessidade de plug-ins entre outros recursos de instalação e implementação. O Controla4Mobile foi desenvolvido em 3 camadas: Camada de Apresentação Camada de Negócios Camada de Banco de dados ou persistência O desenvolvimento em camadas facilita a reutilização e manutenção do código do sistema, Além disso, a documentação fica mais fácil de entender quando ocorrem modificações. Devido à portabilidade dos controles desenvolvimento através da arquitetura oferecida pelo.net Framework, o Controla4Mobile pode ser executado na maioria do dispositivos móveis, como PDAs, celulares e Palmtops. O Controla4Mobile é portável devido à sua plataforma de desenvolvimento, a qual é baseada na linguagem ASP.NET, que oferece recursos para o desenvolvimento para ambiente Web para dispositivos móveis. As próximas seções se baseiam na descrição das tecnologias e metodologias usadas para o desenvolvimento do Controla4Mobile, como forma de embasamento teórico para este trabalho. O referencial teórico para a definição das tecnologias está fundamentado em [MAZHAR 2005], o qual enfatiza o uso do.net Framework como arquitetura para o desenvolvimento de aplicações web voltadas a dispositivos móveis.

8 2.1. Análise e detalhamento das Tecnologias Usadas Muitos dos dispositivos foram inventados de acordo com nossas necessidades de forma muito rápida. Por exemplo, os pagers foram inventados para facilitar a entrega rápida de mensagens personalizadas, telefones móveis foram desenvolvidos rompendo as barreiras geográficas, laptops ganharam mais mobilidade e absorveram muitas características que só eram encontradas nos computadores pessoais, como por exemplo, a recursos de multimídia, capacidade de memória e mais velocidade. Os tópicos a se seguir fazem uma análise das tecnologias de software e hardware existentes para o desenvolvimento de aplicações para dispositivos móveis. 2.2. Características dos Dispositivos Móveis para o desenvolvimento de Aplicações Web Cada dispositivo requer uma plataforma particular, uma arquitetura que permita trabalhar de forma otimizada. Um PC ou computador de mesa pode desempenhar, em seu processamento, várias tarefas dependendo da arquitetura do software. Um telefone móvel pode receber chamadas em qualquer lugar somente por causa da infra-estrutura de rede sem fio que o cerca, e um receptor do GPS pode informar o ponto de origem somente de acordo com a posição dos satélites. A escolha por um desses equipamentos está relacionada à necessidade profissional ou pessoal de cada indivíduo. Seria mais simples se existisse somente um dispositivo com todas essas funcionalidades. Devido ao número grande de dispositivos existentes, muitas plataformas e as arquiteturas devem ser tratadas e codificadas dentro destes equipamentos. Há muitas qualidades e um dispositivo que o difere de outro. As especificações diferem em relação à velocidade da rede (largura de faixa), nos tamanhos de tela, na definição para gráficos, nas potencialidades de entrada do dispositivo, na memória e no poder processamento. Não há nenhuma classificação universal destes dispositivos. Mesmo assim podem ser divididos em duas categorias principais: A classificação homogênea de um dispositivo, tais como o tamanho de tela, capacidade da rede e assim por diante. A classificação híbrida, que pode conter propriedades múltiplas.

2.3. Capacidades 9 Abaixo segue uma comparação sobre as principais classificações para dispositivos móveis de acordo com a capacidade de processamento, comunicação e memória, discutindo as potencialidades entre dispositivos móveis e estáticos (Figura 2). Figura 2. Discussão das Potencialidades dos Dispositivos Móveis. Fonte : [MAZHAR 2005] 2.4. A importância da Conectividade A principal proposta da Internet é aumentar a acessibilidade de aplicações através de vários múltiplos em todo mundo. Cada fabricante de software e de hardware para dispositivos móveis terá que customizar seus produtos a fim de atender melhor o seu cliente, oferecendo flexibilidade no acesso às informações através da Internet. Esta evolução está relacionada à necessidade da conectividade, seja qual for a localização do indivíduo, tornando mais flexível e comum o uso da Internet através de dispositivos móveis. 2.5. Independência de Dispositivo A solução ideal ao problema da acessibilidade seria conseguir a independência do dispositivo, ou seja, permitir o acesso à Internet através de qualquer dispositivo e em qualquer lugar. Há várias maneiras de se conseguir esta independência de dispositivo. Alguma delas são: Usando tradutores: Um tradutor pode ser usado converter o código e os dados ao formato específico compreensível pelo dispositivo. As passagens são usadas para a tradução de uma língua do markup a outra tal como a passagem de WAP que é usada traduzir o pedido de WAP do dispositivo móvel no pedido do HTTP e a resposta do HTTP do Internet à resposta de WAP para o dispositivo móvel.

10 Usando o dispositivo com o conteúdo específico: Por exemplo, um mesmo Web site é escrito no HTML e em WML para adaptar também as necessidades de usuários de ambientes locais - Desktop e de usuários móveis. Tecnologias de XML tais como XSL, XSLT, SVG, e outros são usados executar filtros através do dispositivo. 2.6. Microsoft.Net Esta parte do documento enfatiza o uso das tecnologias da Microsoft pelo fato, de suportar aplicações independente do dispositivo através de diversas plataformas, como segue abaixo: Microsoft Smart Device Extension (MSDE) Microsoft Asp.Net Mobile Controls 2.7. Microsoft Smart Device Extension (MSDE) Microsoft SDE é uma resposta ao J2ME produzido pela Sun MicroSystems. Esta plataforma incorpora um conjunto de APIs (Application Program Interfaces) essenciais para o desenvolvimento de aplicações para diversos dispositivos móveis. O conteúdo de uma aplicação desenvolvida baseada em MSDE é executado pela Linguagem de Execução (CLR - Common Language Runtime). A CLR é uma máquina virtual (VM) ou a camada virtual que é instalada no dispositivo do cliente. O código da aplicação é instalado ou baixado para o dispositivo. A diferença principal entre MSDE e J2ME é que MSDE incorpora melhores recursos para o desenvolvimento de aplicações para Internet. 2.8. Microsoft Asp.Net Mobile Controls Os principais controles disponibilizados pelo.net Framework 2.0 são apresentados na tabela 1 a seguir. Controles Command Form Label, TextBox, TextView Descrição Serve para chamar outros eventos, seja através de botão ou de um link. Utilizado para comportar outros objetos, como uma figura, texto, lista, tabela, gráfico, entre outros Utilizado para apresentar informações textuais

Image List, Combobox, ListBox PictureView Utilizado para apresentar imagens, de preferência JPG, pois ocupa menos espaço no dispositivo Utilizado para exibir uma lista de dispositivos Utilizado para selecionar outros eventos, são ícones. Tabela 1- Principais Controles do.net Framework 11 2.9. Descrição do.net Framework A plataforma de desenvolvimento usada para a construção do Controla4Mobile foi o.net Framework. O.NET Framework é um ambiente para construção, implantação e execução de WebServices e outras aplicações. Consiste de três partes principais: a Linguagem de Execução, a Arquitetura de Classes e o ASP.NET. O.NET Framework foi criado pela Microsoft. É uma plataforma de desenvolvimento que permite o desenvolvimento rápido das aplicações, sendo uma plataforma independente e transparente para a equipe de desenvolvimento. O.NET é uma iniciativa de estratégia da Microsoft para servir de desenvolvimento de aplicações através da Internet ou desktop. De acordo com a Microsoft, o.net inclui muitas tecnologias que são projetadas para facilitar o desenvolvimento rápido de aplicações voltadas para Internet e Intranet. Muitos aspectos usados para o desenvolvimento em.net são os mesmos usados em muitas outras linguagens de programação. Porém, a Microsoft desenvolveu o MSIL (Micrsoft Intermediate Language), que funciona como uma linguagem uma linguagem intermediaria gerada no processo de compilação do código fonte. Desta maneira, ao final da criação dos programas, é possível ter um código intermediário e dependente do runtime do Framework ao invés dos executáveis "independentes", até então gerado pelos compiladores. O.NET Framework também fornece uma biblioteca de classes, a qual é organizada dentro de uma simples árvore hierárquica contendo os namespaces. Na raíz o namespace System, contém objetos que incluem tipos, como também classes e interfaces, que podem ser usados de alguma linguagem suportada pelo Framework. Objetos System estão contidos em um arquivo chamado Mscorlib.dll, e são usados por todas as aplicações construídas na plataforma. O arquitetura de classes do.net Framework também inclui namespaces de classes abstratas e classes derivadas de

12 implementações de classes, incluindo classes usadas para leitura de arquivos, troca de mensagens e segurança de acesso. Bibliotecas de classes são organizadas dentro da hierarquia de namespaces. Os namespaces são armazenados em arquivos executáveis e portáveis (PE Portable Executable). Tipicamente são arquivos com extensão DLL s e arquivos EXE. Um ou mais arquivos PE são combinados para criar uma aplicação, a qual é uma unidade física que pode ser implantada, com numeração de versão, podendo ser reutilizada em outras aplicações, facilitando a construção de aplicações em camadas com componentes reutilizáveis. Em 2005, a Microsoft lançou a versão 2 do.net Framework. Com esta versão veio inovações que permitem o desenvolvimento de aplicações para dispositivos móveis, a qual recebeu o nome de.net Compact Framework 2.0. Com a introdução do.net Compact Framework, a Microsoft trouxe todas as vantagens do desenvolvimento de código gerenciado para os aplicativos móveis. A versão 2.0 do Microsoft.NET Compact Framework torna o desenvolvimento mais fácil com a introdução de novas ferramentas (como o Device Emulator Manager) e uma ampliação de sua cobertura. Em especial, a versão 2.0 adiciona mais classes e métodos para trabalhar com inclusão de gráficos, entre outros aperfeiçoamentos, texto inclinado, canetas personalizadas, manipulação de imagens e interação com uma câmara interna no dispositivo. 2.10. Projetando Aplicações Web Multiplataforma usando.net A maioria dos aparelhos móveis no mundo atualmente, é classificada de acordo com uma potencialidade específica de um dispositivo, como por exemplo, o tipo da rede suportada pelo dispositivo. De acordo com a propriedade de rede existem as seguintes classificações: Os dispositivos que se comunicam baseados em fio, que necessitam de uma rede conectada através dos cabos físicos tais como os computadores de mesa, os leitores de código da barra e a televisão digital (a cabo). Os dispositivos móveis, chamados também dispositivos de rede sem fio, são esses que podem mudar sua posição e são ainda localizados pelo fornecedor de serviço da rede. Alguns exemplos destes dispositivos são telefones móveis, PDA, pagers, receptores do GPS e Laptops.

13 A abordagem de classificação híbirda é baseada em propriedades múltiplas dos dispositivos móveis. De acordo com esta abordagem os dispositivos podem ser classificados em três classes principais: Dispositivos do desempenho elevado, tais como os computadores pessoais e os laptops com tamanhos de tela grande, com o poder de processamento e capacidade de conectividade bem elevados. Dispositivos de desempenho médio, tais como PDA e os telefones móveis que suportam tamanhos de tela médios e com pequena resolução de tela. Dispositivos de baixo desempenho, tais como pagers, receptores do GPS e outros telefones móveis com as mesmas características. 2.11. A linguagem de programação ASP.NET Mobile Web Application O desenvolvimento de páginas ASP.NET para dispositivos móveis não difere da forma de desenvolvimento usado para as páginas de navegadores usados em computadores desktop. Para permitir a criação de aplicativos para dispositivos móveis, o ASP.NET fornece um namespace chamado System.Web.Mobile, usado especificamente para desenvolvimento de aplicativos para dispositivos móveis acessados via web. É possível criar uma página web a partir da classe base MobilePage e adicionar controles a partir do namespace System.Web.Mobile. Este namespace define um conjunto de controles de servidor da Web e adaptadores que são especialmente úteis para criar aplicativos que precisam estar disponíveis para muitos dispositivos móveis diferentes, tais como telefones celulares. O ASP.NET 2.0 também fornece uma arquitetura adaptável de controle que permite que adaptadores de dispositivo personalizados sejam criados para os controles do servidor web ASP.NET 2.0. Os adaptadores possibilitam o processamento personalizado para um controle com base no navegador solicitante. Com a arquitetura adaptável, podese usar páginas ASP.NET que herdam da classe base MobilePage (em vez de páginas escritas especificamente para dispositivos móveis) e criar adaptadores personalizados para controles de servidor web do ASP.NET para processar a saída específica para os dispositivos que acessarem o aplicativo.

14 Em ambos os casos, o desenvolvimento segue o modelo controlado por evento.net padrão em que seu aplicativo responde às requisições de usuários, cliques de botão, e assim por diante. Embora o ASP.NET integre muitas tecnologias para permitir o desenvolvimento de aplicativos móveis voltados para web, a intenção da arquitetura é que sejam criadas somente páginas para dispositivos móveis, descartando a possibilidade de criá-las também em ambientes desktop. O desenvolvedor pode criar adaptadores individuais para ASP.NET, ou para controles móveis de servidor web, permitindo processar as páginas para dois tipos de navegadores, tanto para dispositivo móvel, quanto para o ambiente desktop. Por exemplo, se o desenvolvedor decidir criar uma página web, incluindo um cabeçalho de site, uma barra de navegação na parte superior da página, uma estrutura de navegação secundária ao longo do lado da página, então a página será processada como se estivesse sendo executada em um navegador desktop. Nesse caso, há geralmente amplo espaço para processar todos os controles e ainda fornecer uma área com conteúdo rolável. No entanto, esse layout em muitos navegadores de dispositivo móvel seria impossível. Muitos dispositivos móveis possuem uma área menor da tela que monitores desktop, então até a navegação se torna um processo em vários passos, no qual o usuário deve clicar em vários controles para chegar ao conteúdo da página. 2.12. Desenvolvimento de Controles em Asp.NET e APIs As aplicações móveis desenvolvidas em Microsoft Asp.Net permitem ao desenvolvedores estenderem suas aplicações aos múltiplos dispositivos e às plataformas com menos esforço. Através de um conjunto de APIs, é possível construir componentes de software independente do dispositivo onde funcionará a aplicação. Os componentes são considerados controles, como por exemplo, caixa de texto, controle de tecla, controle de hiperlink ou qualquer outro controle que possa ser desenvolvido para ser portável. Em se tratando de desenvolvimento de software para Internet para o acesso através de dispositivos móveis, a Microsoft disponibiliza as bibliotecas de construção de controles através da linguagem Asp.NET. A seguir este documento descreve as características desta linguagem para o desenvolvimento web para dispositivos móveis.

2.13. Asp.Net Architecture 15 Discutir a arquitetura do ASP.Net não é o foco deste trabalho, mas é importante entender como esta linguagem permite o desenvolvimento de aplicações para Internet em dispositivos móveis. A arquitetura da apresentação dos dados de Asp.Net é baseado do padrão de projeto Model-View-Controller (MVC). Este padrão do projeto consiste em três elementos essenciais: Model (Modelo), a aplicação funciona através de uma camada de negócios. View (Visão), para cada cliente pode ser customizado uma camada de interface. Controller (Controle), é a classe pela qual o modelo de visão manipula toda a entrada e saída que ocorre entre a entrada e saída de informação produzida durante o funcionamento da aplicação. 2.14. Soluções existentes para o desenvolvimento de aplicativos Web em dispositivos móveis Existem muitas soluções desenvolvidas em Asp.NET usando o padrão de projeto MVC, onde o sistema é dividido em n-camadas. Este item do trabalho enfatiza o uso do desenvolvimento de aplicativos móveis em camadas através do ASP.NET (Figura 3). Figura 3. Desenvolvimento em Camadas. Fonte : [MAZHAR 2005] A Figura 2 mostra um esquema onde o sistema está dividido em uma arquitetura de 3 camadas, em que nós temos a camada de apresentação, a camada de negócio e a camada onde há a comunicação com a base de dados para a aplicação. A camada de

16 apresentação controla a eventos que o usuário executa, como por exemplo e entrada de dados no formulário, para a camada de Controle da arquitetura MVC. A camada de negócio encapsula as classes do modelo do negócio contendo métodos que controlam as regras de negócios do sistema. A camada de dados delega o pedido e a resposta entre classes do negócio e a base de dados da organização. 2.15. Banco de dados Access O Microsoft Access é um aplicativo para criação de banco de dados. Devido à sua grande facilidade de uso e de integração com outros bancos de dados, o MS-Access foi muito difundido. Este aplicativo fornece várias formas de criação de banco de dados, além de oferecer assistentes que permitem guiar os usuários na criação de tabelas, consultas, formulários, relatórios, macros e módulos. É possível construir um banco de dados eficaz na medida certa das necessidades da aplicação. Empresas que trabalham com vendas de produtos, por exemplo, podem ter seu próprio sistema de controle de estoque e vendas, utilizando unicamente o Access. O Microsoft Access é um aplicativo, integrante do pacote Office, que gerencia bancos de dados relacionais. Através dele é possível desenvolver aplicativos altamente profissionais, para os mais diversos fins. Através da integração com diversas ferramentas da Microsoft, o poder do Access se torna muito ampliado. Os aplicativos criados com o Access podem ser usados facilmente até pelos usuários mais leigos, pois apresentam interface gráfica e intuitiva, com menus, barras de ferramentas, formulários e uma ampla gama de relatórios. Os bancos de dados gerados no Access podem ser acessados por web-sites, através de linguagens voltadas para esse fim, como o ASP, o Dreamweaver e outras, permitindo seu gerenciamento à distância. 2.16. Tecnologia Wi-Fi O wi-fi 1 ou também conhecida como WLAN, é uma tecnologia de conexão entre redes sem fio, e que se utiliza da família de protocolos IEEE 802.11. Este padrão é muito atraente, pois opera em faixas que não precisam de licença para instalação e/ou operação, mas no Brasil, necessita de autorização da Anatel 2. 1 Marca registrada da WECA Wireless Ethernet Compatibility Alliance 2 Agência Nacional de Telecomunicações

17 Para ter acesso a este tipo de rede, é necessário estar no raio de ação do ponto de acesso, chamado de hotspot, que é até 100 metros, e possuir um dispositivo móvel que tenha uma placa para comunicar-se. Algumas das limitações dos dispositivos que se utilizam da rede wireless é devido a pequena banda de rede, o que acarreta retardo no carregamento dos dados e com isto a performance é prejudicada. Mas isto está sendo resolvido com uma infinidade de procotolos que estão sendo desenvolvidos para atender às necessidades destes dispositivos móveis. Devido às limitações para os dispositivos móveis (Palmtop s, PDA s, celulares, etc...), e também da diversidade dos mesmos, os desenvolvedores são obrigados a desenhar uma aplicação levando em consideração o tamanho da página web, imagens, tamanho do texto, interação com o usuário, banco de dados, segurança, controle de acesso, performance, entre outras características. Para este trabalho, diversas destas características foram observadas, pois foi possível trabalhar com vários dispositivos diferentes. Vários testes (de implementação) em ferramentas de desenvolvimento e banco de dados puderam comprovar estas limitações impostas, na maioria das vezes, pelo dispositivo. 2.17..NET Compact Framework O.NET Compact Framework (.NET CF) é um subset do.net Framework.O benefício é que os programadores tenham a mesma facilidade no desenvolvimento de aplicações para dispositivos móveis utilizando a mesma IDE e qualquer uma das linguagens que o Visual Studio.NET dispõe utilizando toda a tecnologia.net Class Library, entretanto não são todas as classes e métodos que se encontram no.net Framework que são suportadas dentro do.net Compact Framework Class Library. A Figura 4 demonstra a arquitetura.net.

18 Figura 4. Componentes do.net Compact Framework - em marron. A plataforma permite que aplicações nativas Windows CE co-existam com aplicações baseadas em.net.o Aplication Domain Host ( aplicação nativa ) cria uma instância da CLR para executar código gerenciado.aplicações desenvolvidas com o SDE executam no topo da CLR, utilizando o.net Compact Framework Class Library [ROMELLI 2002].` 2.18. SQL Server CE O Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) é uma versão especifica para a plataforma Windows CE-based, um banco de dados robusto, veloz e confiável para SmartDevices, ele é um subset do SQL Server 2000, algumas características não estão presentes na versão Server CE, para quem já usa o SQL Server 2000 o impacto será irrelevante. O.NET Framework fornece um Provider(Provedor) para acesso ao SQL Server CE através do namespace System.Data.SqlServerCe. Você poderá usar todo o poder do DDL(Data Definition Language) para criar um Banco de Dados, alterar tabelas e fazer a definição de valores padrões, poderá usar a DML(Data Manipulation Language) para inserir(insert), deletar(delete) e atualizar(update) os dados, você terá todo o poder de um Banco de Dados Relacional, poderá usar criptografia de 128 Bits para senhas e arquivo. O SQL Server CE suporta Banco de Dados de até 2GB(GigaBytes) e Blobs de até 1GB(GigaByte) [JUNGLAUS 2004].

3. Descrição do funcionamento do Controla4Mobile O Controla4Mobile é um módulo para consulta de informações gerenciais do projeto de desenvolvimento de software. Para exemplificar o funcionamento da aplicação, apresentamos na Figura 5 o diagrama de navegação. cd Nav egação - Aplicativo Initial Principal Casos de Uso Proj eto Detalhes do Projeto Requisitos Listagem de Requisitos Detalhes do Requisito Últimos alterados Estados dos requisitos Nro de Alterações propostas Estados dos Casos de Uso Rastreabilidade: Caso de Teste Rastreabilidade: Caso de Uso Figura 5 Diagrama de navegação O fluxo de funcionamento do Controla4Mobile é apresentado na Tabela 2. 1. Inicialmente o usuário deve selecionar um projeto através do link Selecionar projeto 2. É exibida uma lista de projetos onde o usuário pode selecionar um projeto. 2.1 O usuário pode retornar para a interface principal. 3. Após a seleção do projeto, é exibida uma tela de detalhes, com as informações detalhadas do projeto. 3.1 O usuário pode retornar para a interface principal. 3.2 O usuário pode selecionar o projeto e retornar para a tela principa.

20 4. O usuário retorna para a tela principal após selecionar o projeto. 4.1 O usuário pode selecionar outro projeto, caso desejar. 4.2 O usuário pode consultar a opção de Requisitos. 4.3 O usuário pode selecionar a Consulta de Casos de Uso 5. O usuário selecionou a opção de consulta de requisitos. O usuário pode selecionar as opções: 5.1 Listagem de Requisitos 5.2 Últimos requisitos alterados 5.3 Estados dos Requisitos 5.4 Número de Alterações propostas por requisitos 6. O usuário selecionou a opção para listar todos os requisitos. 6.1 O usuário pode clicar em qualquer requisito e ver seu detalhe 6.2 O usuário pode voltar a tela anterior ou a principal. 7. O usuário selecionou um requisito e o sistema exibe seus detalhes. 7.1 O usuário pode consultar a rastreabilidade para Casos de Uso, Casos de Teste 7.2 O usuário pode voltar a tela anterior ou a principal. 8. O usuário clica para ver a rastreabilidade para os Casos de Uso. 8.1 O usuário pode voltar a tela anterior ou a principal.

21 9.O usuário clica para ver a rastreabilidade para os Casos de Teste. 9.1 O usuário pode voltar a tela anterior ou a principal. 10. O usuário retorna a tela de Consulta de Requisitos e; 10.1 Clica na opção de consulta números de requisitos alterados por data. 10.1 O usuário pode voltar a tela anterior ou a principal. 11. O usuário retorna a tela anterior e 11.1 O usuário clica para consultar os requisitos por Estado. 11.2 O usuário pode voltar a tela anterior ou a principal. 12. O usuário retorna a tela anterior e 12.1 O usuário clica para consultar as alterações propostas por usuário do cliente. 12.2 O usuário pode voltar a tela anterior ou a principal. 13. O usuário retorna a tela principal e 13.1 O usuário clica para consultar informações relativas aos casos de uso. 13.2 O usuário pode voltar a tela anterior ou a principal. 14. O usuário pode selecionar na caixa de seleção um dos estados e confirmar para visualizar quais Casos de Uso estão classificados no estado indicado. Tabela 2 - Fluxo de funcionamento do Controla4Mobile

22 A solução completa do Controla envolve um módulo local, situado na máquina do usuário que realiza a entrada de dados pela ferramenta Controla, apresentada na Figura 6. O banco de dados do Controla (instalado na máquina do cliente), é enviado para a Web utilizando um cliente de FTP. A aplicação Controla4Mobile está instalada no Servidor e a partir de agora passa a ter acesso ao banco de dados copiado da Máquina Local para o Servidor, permitindo acesso via dispositivo móvel. Figura 6 - Tela principal do Controla O diagrama de implantação e componentes do sistema é apresentado na Figura 7. dd Dispositivos e Componentes do Sistema «database» «executable» Máquina do Banco de Dados Local Controla Envia «database» Banco de dados Controla4Mobile Usuário Serv idor Web Remoto Acessa Dispositiv o Figura 7 - Diagrama de implantação e componentes do sistema FTP «mobile» Móvel

A tabela 3 representa a migração das interfaces da ferramenta Controla para o ambiente.net Móbile para dispositivos móveis. 23 Tela de Detalhes do Projeto Listagem dos requisitos

24 Rastreabilidade Requisitos Casos de Uso Estados dos Requisitos

25 Alterações Propostas por usuário Casos de Uso por estado Tabela 3 Interfaces com o usuário

26 3.1. Exemplos de utilização em Emuladores Durante o desenvolvimento do Controla4Mobile, foram feitos vários testes que permitiram comprovar o uso do sistemas em vários dispositivos móveis de diversos fabricantes. Portanto, as seções a seguir mostram os exemplos de utilização da aplicação de acordo com o a funcionalidade do sistema e o modelo do dispositivo, confirmando a portabilidade. Cada funcionalidade do sistema será descrita na seção de documentação do sistema. Foram usados vários emuladores para os exemplos de utilização, através do site http://mobilerunner.wap3.net/. As figuras 8 até 16 a seguir apresentam o resultado da execução de algumas das funcionalidades do Controla4Mobile em diversos aparelhos celular, via emulador, de vários fabricantes. A estrutura da informação apresentada segue o esquema da Figura 7. Tipo de Conteúdo utilizado. Aparelho celular utilizado. Detalhes de Interface do celular. Figura 7 Estrutura da Informação apresentadas na Figuras.

3.2. Consulta Estados dos Requisitos - Motorola SVLR L7 27 Figura 8 Tela de Consulta de Estados dos Requisitos no modelo Motorola SVLR L7. 3.3. Tela Principal NOKIA 3650 Figura 9 Tela Principal modelo Nokia 3650.

28 3.4. Seleção de Projetos - Nokia 3250 Figura 10 Tela de Seleção de Projetos no modelo Nokia 3250. 3.5. Requisitos Alterados - Siemens SX1 Figura 11 Tela de Requisitos Alterados no Siemens SX1.

29 3.6. Alterações Propostas Nokia N70 Figura 12 Tela de Alterações Propostas no Nokia N70. 3.7. Seleção do Estado do Caso de Uso XDA III Figura 13 Tela de Seleção do Estado do Caso de Uso no Palm XDAIII.

30 3.8. Consulta de Detalhes do Projeto SDA Figura 14 Tela de consulta de Detalhes do Projeto no DAS. 3.9. Consulta do Requisito SHARP GX30 Figura 15 Tela de Consulta do Requisito no SHARP GX30.

31 3.10. Listagem de Requisitos XDA III Figura 15 Tela de Listagem de Requisitos no Palm XDA III

4. Documentação do sistema 4.1. Objetivos deste documento Este documento tem o objetivo de apresentar a especificação e as etapas do desenvolvimento do Controla4Mobile. O Controla4Mobile é um módulo do Controla, que é uma ferramenta para gestão de requisitos disponível gratuitamente na Internet. A documentação do sistema foi feita seguindo os princípios da orientação a objetos, utilizando a UML (Unified Modeling Language) como linguagem para modelagem e especificação do software [BOCH, RUMBAUGH e JACOBSON 2000]. O software utilizado para a modelagem foi o Enterprise Architect, através da versão disponível na Internet [EA 2007]. O processo seguido para o desenvolvimento do Controla4Mobile foi o RUP (Rational Unified Process). O RUP é um processo iterativo, onde o desenvolvimento do sistema é feito de forma seqüencial e evolutiva. As atividades do RUP oferecem ênfase à criação e manutenção de modelos no lugar de documentos impressos. Os modelos principalmente aqueles especificados com a utilização da UML [BOCH, RUMBAUGH e JACOBSON 2000] [WAZLAWICK 2004]. 4.2. Metas do Sistema O objetivo Controla4Mobile é gerenciar os requisitos de projetos através de uma solução baseada em computação móvel. Além disso, visa permitir que os requisitos sejam levantados, aprovados ou tenham seus estados modificados de forma on-line, possibilitando agilidade no repasse de informações para a fábrica de software. Diante dessas metas, o Controla4Mobile se caracteriza com uma ferramenta de apoio indispensável quando se trata da integração e rapidez nas informações inerentes à gestão de requisitos, independente da localização geográfica do engenheiro de software. 4.3. Expectativas dos usuários Para utilizar o Controla4Mobile é preciso um dispositivo móvel, além disso é necessário a conexão via Internet a fim de consultar e/ou alterar os requisitos para o projeto sendo construído. A navegabilidade através das opções do Controla4Mobile é simples e versátil, fornecendo listas e gráficos para as consultas.

33 Os usuários esperam obter uma ferramenta que facilite a gestão de requisitos durante o desenvolvimento e as manutenções nos software. É desejável que a ferramenta seja estável e que tenha seu uso facilitado. 4.4. Limitações As limitações do Controla4Mobile envolvem características como dispositivo móvel a ser utilizado para o acesso ao sistema, como também a falta de conexão com a Internet e falta de energia. No que diz respeito ao dispositivo móvel, pode-se considerar como limitações o tamanho do hardware e a funcionalidade de acesso à Internet. Quanto menor os dispositivos, maiores são as dificuldades para manuseio, podendo resultar em erros de digitação [MAZHAR 2005]. A falta de energia é uma limitação para muitos dispositivos móveis quando os recursos de hardware como, por exemplo, as baterias. Outra característica considerada uma limitação para o funcionamento do Controla4Mobile, é o acesso ao banco de dados, que é feito através do Microsoft Access, o qual fica armazenado no módulo Controla existente na fábrica de software. Caso esta base de dados fique indisponível ficaria impossível de obter dados sobre os projetos e informações para serem enviadas às equipes de desenvolvimento. 4.5. Equipe de desenvolvimento Nome Função Custo/Hora Clayton Vieira Fraga Filho Analista/Desenvolvedor R$ 40,00 Geraldo Afonso da Cruz Analista/Desenvolvedor R$ 40,00 Ronney Moreira de Castro Analista/Desenvolvedor R$ 40,00 Evaldo de Oliveira da Silva Analista/Desenvolvedor R$ 40,00 5. Requisitos 5.1. Requisitos Funcionais 5.1.1. Informações Cadastrais dos Projetos F1 Informações Cadastrais dos Projetos Estado: Aprovado Prioridade: Alta Estabilidade: Categoria Funcional: Usabilidade

Alta Descrição: Funcionalidade oferecida pelo sistema, onde o usuário pode escolher o projeto especificado pelo cliente. As informações recuperadas são sobre o projeto de software a ser especificado. Ou seja, o nome do projeto, a equipe e a empresa de desenvolvimento e a mão de obra alocada, como também os usuários-chave do sistema em construção. 34 5.1.2. Lista de Requisitos F2 Lista de Requisitos Estado: Aprovado Prioridade: Alta Estabilidade: Categoria Funcional: Evidente Alta Descrição: Funcionalidade que permite ao usuário consultar a lista dos requisitos relacionada ao projeto selecionado. 5.1.3. Lista de Casos de Usos F3 Lista de Casos de Usos Estado: Aprovado Prioridade: Alta Estabilidade: Categoria Funcional: Evidente Alta Descrição: Funcionalidade disponível para o usuário no momento da escolha do requisito, quando todos os casos de usos relacionados são exibidos. 5.1.4. Lista de Casos de Testes F4 Lista de Casos de Testes Estado: Aprovado Prioridade: Alta Estabilidade: Categoria Funcional: Evidente Alta Descrição: Funcionalidade disponível para o usuário no momento da escolha do requisito, quando todos os casos de testes relacionados são exibidos. 5.1.5. Os dez últimos requisitos alterados F5 Os dez últimos requisitos alterados Estado: Aprovado Prioridade: Alta Estabilidade: Categoria Funcional: Evidente

Alta Descrição: Funcionalidade apresentada quando o projeto é selecionado. Existe uma opção para escolha dos dez últimos requisitos alterados. 35 5.1.6. Rastreabilidade F6 Rastrabilidade Estado: Aprovado Prioridade: Alta Estabilidade: Categoria Funcional: Usabilidade Alta Descrição: O sistema oferece a opção de rastrear os casos de usos e suas relações. Esta funcionalidade permite validar o impacto da mudança do caso de uso, se o mesmo estiver relacionado à Requisitos, Casos de Testes, Casos de Usos, Erros e Liberações. O sistema deve mostrar as seguintes relações de rastreabilidade: Casos de Uso Requisitos Requisitos Casos de Teste 5.1.7. Estados dos requisitos F7 Estados dos Requisitos Estado: Aprovado Prioridade: Alta Estabilidade: Categoria Funcional: Evidente Alta Descrição: Funcionalidade apresentada quando o projeto é selecionado. Existe uma opção para listar os requisitos com o seu respectivo estado ( Aprovado, Cancelado, Suspenso, Rejeitado ). 5.1.8. Número de alterações propostas por stakeholder F8 Número de alterações propostas por solicitante do Estado: Aprovado projeto Prioridade: Alta Estabilidade: Alta Categoria Funcional: Evidente Descrição: O sistema tem a funcionalidade de fornecer o número de alterações propostas por cada stakeholder.

5.1.9. Consulta dos Casos de Usos por Estado 36 F9 Consulta dos Casos de Usos por Estado Estado: Aprovado Prioridade: Alta Estabilidade: Alta Categoria Funcional: Evidente Descrição: O sistema oferece a funcionalidade de consultar os casos de usos por estado. Por exemplo, estados : Aprovado, Cancelado, Suspenso, Rejeitado. 5.2. Requisitos Não-Funcionais 5.2.1. A disponibilidade do Browser no Dispositivo Móvel NF1 A disponibilidade do Estado: Aprovado Obrigatório: Sim ( X ) Não ( ) Browser Prioridade: Alta Estabilidade: Alta Categoria: Interface Descrição: O dispositivo deve ter navegador embutido para acessar as informações, uma vez que a aplicação só é acessada via Internet. 5.2.2. Acesso aos dados NF2 Acesso aos dados Estado: Aprovado Obrigatório: Sim ( X ) Não ( ) Prioridade: Alta Estabilidade: Alta Categoria: Persistência e Usabilidade Descrição: O banco de dados usado como origem para a comunicação e troca de informações deve estar disponível. Ou seja, o Controla4Mobile deve acessar a base de dados MS Access existente no Controla, a qual fica localizada na fábrica de software. 5.2.3. Consulta dos Casos de Usos por Estado NF3 Consulta dos Casos de Usos por Estado Estado: Aprovado Prioridade: Alta Estabilidade: Alta Categoria Funcional: Evidente Descrição: O sistema oferece a funcionalidade de consultar os casos de usos por estado. Por exemplo, estados : Aprovado, Cancelado, Suspenso, Rejeitado.

6. Casos de Uso 6.1. Diagrama de Caso de Uso ud Casos de Uso Selecionar projeto Listar requisitos detalhes do «extend» «extend» rastreabilidade Consultar Consultar requisitos Visualizar detalhes do projeto requisitos alterados Usuário Consultar estados dos requisitos Consultar alterações Consultar estados propostas dos Casos de Uso «include» «extend» «extend» «extend» «extend» Visualizar requisito Figura 17 Diagrama de Casos de Uso Principal Visualizar

38 6.2. Listar Requisitos CU1: Listar Requisitos Atores: Usuário Interessados: Usuários Pré-Condições: O sistema deve estar disponível no browser e disponibilizar os requisitos do projeto. Pós-Condições: Após escolher a listagem de requisitos, uma lista com os requisitos é exibida, e ao escolher um requisito suas informações são mostradas, assim como os casos de uso e casos de teste associados ao mesmo. Requisitos Correlacionados: F2, F6 e (Visualizar detalhes requisito) Variações Tecnológicas: Depende do dispositivo móvel utilizado (PDA, Celular, Smartphone, etc). Fluxo Principal 1 O usuário escolhe a opção Consulta Requisitos Listagem de Requisitos 2 [EV] Ao escolher a opção listagem de requisitos, é exibida uma lista com os requisitos. 3 [EV] O usuário solicita o requisito desejado clicando em cima do mesmo. 4 [RS] O sistema Controla4Mobile mostra todas as informações relacionada ao requisito (Nome, Estado, Autor, Prioridade, Estabilidade, Responsável, Versão atual) 5 [RS] O sistema Controla4Mobile exibe também as opções de rastreabilidade com os casos de uso e com os casos de teste, e também as opções de voltar para tela anterior ou para a tela principal.

6.3. Consultar Estados do Caso de Uso 39 CU2: Consultar Estados do Caso de Uso Atores: Usuário Interessados: Usuários Pré-Condições: O sistema deve estar disponível no browser e disponibilizar os casos de uso do projeto. Pós-Condições: Após escolher o estado do caso de uso, uma uma lista com tipo do estado de caso de uso é exibida. Requisitos Correlacionados: F9 Variações Tecnológicas: Depende do dispositivo móvel utilizado (PDA, Celular, Smartphone, etc). Fluxo Principal 1 O usuário solicita a opção Estados do Caso de Uso. 2 [EV] Ao escolher esta opção, é exibida uma lista com os estados possíveis. 3 [EV] O usuário solicita o estado do caso de uso e seleciona a opção confirma. 4 [RS] O sistema Controla4Mobile mostra todos os casos de uso que se encontram no estado selecionado, caso contrário exibe a mensagem que não foi encontrado nenhum caso de uso neste estado. 5 [RS] O sistema Controla4Mobile exibe também a opção de voltar para tela anterior ou para a tela principal.

40 6.4. Consultar Estados dos Requisitos CU3: Consultar Estados dos Requisitos Atores: Usuário Interessados: Usuários Pré-Condições: O sistema deve estar disponível no browser e disponibilizar os estados dos requisitos do projeto. Pós-Condições: Após escolher a opção estados dos requisitos, uma lista com total de requisitos por estado é exibida. Requisitos Correlacionados: F7 Variações Tecnológicas: Depende do dispositivo móvel utilizado (PDA, Celular, Smartphone, etc). Fluxo Principal 1 O usuário escolhe a opção Consulta Requisitos Estados dos requisitos 2 [EV] O usuário escolhe a opção estados dos requisitos. 3 [RS] O sistema Controla4Mobile mostra uma lista contendo o número de requisitos por tipo de estado. 4 [RS] O sistema Controla4Mobile exibe também as opções de voltar para tela anterior ou para a tela principal.

41 6.5. Consultar Requisitos Alterados CU4: Consultar Requisitos Alterados Atores: Usuário Interessados: Usuários Pré-Condições: O sistema deve estar disponível no browser e disponibilizar os requisitos alterados do projeto. Pós-Condições: Após escolher a opção requisitos alterados, uma lista com os 10 últimos requisitos alterados é exibida. Requisitos Correlacionados: F5 Variações Tecnológicas: Depende do dispositivo móvel utilizado (PDA, Celular, Smartphone, etc). Fluxo Principal 1 O usuário escolhe a opção Consulta Requisitos Últimos alterados 2 [EV] O usuário escolhe a opção últimos alterados. 3 [RS] O sistema Controla4Mobile mostra os 10 últimos requisitos alterados com seus respectivos nomes e data/hora alteração. 4 [RS] O sistema Controla4Mobile exibe também as opções de voltar para tela anterior ou para a tela principal.

42 6.6. Consultar Alterações Propostas CU5: Consultar Alterações Propostas Atores: Usuário Interessados: Usuários Pré-Condições: O sistema deve estar disponível no browser e disponibilizar as alterações de requisitos do projeto que foram propostas pelos usuários. Pós-Condições: Após escolher a opção número alterações propostas, uma lista com contendo o nome e o número de requisitos propostos é exibida. Requisitos Correlacionados: F8 Variações Tecnológicas: Depende do dispositivo móvel utilizado (PDA, Celular, Smartphone, etc). Fluxo Principal 1 O usuário escolhe a opção Consulta Requisitos Nº alterações propostas por usuário 2 [EV] O usuário escolhe a opção nº alterações propostas por usuário. 3 [RS] O sistema Controla4Mobile mostra uma lista contendo o nome do usuário e a quantidade de solicitações de requisitos propostas. 4 [RS] O sistema Controla4Mobile exibe também as opções de voltar para tela anterior ou para a tela principal.